From 1867fe32fbe8b267b8582a24fe952e11aa252b5b Mon Sep 17 00:00:00 2001 From: Joseph Flinn Date: Tue, 19 Jan 2021 20:16:01 -0800 Subject: [PATCH] Updates --- ...f566.css => main.9f15875cff59b5963eea.css} | 2 +- ....map => main.9f15875cff59b5963eea.css.map} | 2 +- app/main.9f15875cff59b5963eea.js | 2 + app/main.9f15875cff59b5963eea.js.map | 1 + app/main.c95e488578c8d271f566.js | 2 - app/main.c95e488578c8d271f566.js.map | 1 - app/polyfills.9f15875cff59b5963eea.js | 152 + app/polyfills.9f15875cff59b5963eea.js.map | 1 + app/polyfills.c95e488578c8d271f566.js | 152 - app/polyfills.c95e488578c8d271f566.js.map | 1 - ...f566.js => vendor.9f15875cff59b5963eea.js} | 120 +- ...map => vendor.9f15875cff59b5963eea.js.map} | 2 +- ...1f566.css => duo.9f15875cff59b5963eea.css} | 2 +- ...s.map => duo.9f15875cff59b5963eea.css.map} | 2 +- connectors/duo.9f15875cff59b5963eea.js | 2 + connectors/duo.9f15875cff59b5963eea.js.map | 1 + connectors/duo.c95e488578c8d271f566.js | 2 - connectors/duo.c95e488578c8d271f566.js.map | 1 - ...1f566.css => sso.9f15875cff59b5963eea.css} | 2 +- ...s.map => sso.9f15875cff59b5963eea.css.map} | 2 +- ...271f566.js => sso.9f15875cff59b5963eea.js} | 4 +- ...js.map => sso.9f15875cff59b5963eea.js.map} | 2 +- ...271f566.js => u2f.9f15875cff59b5963eea.js} | 4 +- ...js.map => u2f.9f15875cff59b5963eea.js.map} | 2 +- duo-connector.html | 4 +- index.html | 4 +- locales/af/messages.json | 279 ++ locales/be/messages.json | 279 ++ locales/bg/messages.json | 279 ++ locales/ca/messages.json | 281 +- locales/cs/messages.json | 279 ++ locales/da/messages.json | 283 +- locales/de/messages.json | 281 +- locales/el/messages.json | 283 +- locales/en/messages.json | 282 ++ locales/en_GB/messages.json | 281 +- locales/en_IN/messages.json | 279 ++ locales/eo/messages.json | 279 ++ locales/es/messages.json | 281 +- locales/et/messages.json | 281 +- locales/fi/messages.json | 1213 +++--- locales/fr/messages.json | 283 +- locales/he/messages.json | 367 +- locales/hr/messages.json | 279 ++ locales/hu/messages.json | 417 +- locales/id/messages.json | 281 +- locales/it/messages.json | 281 +- locales/ja/messages.json | 279 ++ locales/ko/messages.json | 367 +- locales/lv/messages.json | 329 +- locales/ml/messages.json | 283 +- locales/nb/messages.json | 297 +- locales/nl/messages.json | 283 +- locales/pl/messages.json | 289 +- locales/pt_BR/messages.json | 305 +- locales/pt_PT/messages.json | 287 +- locales/ro/messages.json | 1501 ++++--- locales/ru/messages.json | 285 +- locales/si/messages.json | 279 ++ locales/sk/messages.json | 281 +- locales/sl/messages.json | 3632 +++++++++++++++++ locales/sr/messages.json | 319 +- locales/sv/messages.json | 369 +- locales/tr/messages.json | 379 +- locales/uk/messages.json | 299 +- locales/vi/messages.json | 441 +- locales/zh_CN/messages.json | 289 +- locales/zh_TW/messages.json | 281 +- sso-connector.html | 4 +- u2f-connector.html | 2 +- version.json | 2 +- 71 files changed, 16838 insertions(+), 1764 deletions(-) rename app/{main.c95e488578c8d271f566.css => main.9f15875cff59b5963eea.css} (99%) rename app/{main.c95e488578c8d271f566.css.map => main.9f15875cff59b5963eea.css.map} (99%) create mode 100644 app/main.9f15875cff59b5963eea.js create mode 100644 app/main.9f15875cff59b5963eea.js.map delete mode 100644 app/main.c95e488578c8d271f566.js delete mode 100644 app/main.c95e488578c8d271f566.js.map create mode 100644 app/polyfills.9f15875cff59b5963eea.js create mode 100644 app/polyfills.9f15875cff59b5963eea.js.map delete mode 100644 app/polyfills.c95e488578c8d271f566.js delete mode 100644 app/polyfills.c95e488578c8d271f566.js.map rename app/{vendor.c95e488578c8d271f566.js => vendor.9f15875cff59b5963eea.js} (57%) rename app/{vendor.c95e488578c8d271f566.js.map => vendor.9f15875cff59b5963eea.js.map} (53%) rename connectors/{duo.c95e488578c8d271f566.css => duo.9f15875cff59b5963eea.css} (80%) rename connectors/{duo.c95e488578c8d271f566.css.map => duo.9f15875cff59b5963eea.css.map} (65%) create mode 100644 connectors/duo.9f15875cff59b5963eea.js create mode 100644 connectors/duo.9f15875cff59b5963eea.js.map delete mode 100644 connectors/duo.c95e488578c8d271f566.js delete mode 100644 connectors/duo.c95e488578c8d271f566.js.map rename connectors/{sso.c95e488578c8d271f566.css => sso.9f15875cff59b5963eea.css} (99%) rename connectors/{sso.c95e488578c8d271f566.css.map => sso.9f15875cff59b5963eea.css.map} (99%) rename connectors/{sso.c95e488578c8d271f566.js => sso.9f15875cff59b5963eea.js} (89%) rename connectors/{sso.c95e488578c8d271f566.js.map => sso.9f15875cff59b5963eea.js.map} (71%) rename connectors/{u2f.c95e488578c8d271f566.js => u2f.9f15875cff59b5963eea.js} (90%) rename connectors/{u2f.c95e488578c8d271f566.js.map => u2f.9f15875cff59b5963eea.js.map} (64%) create mode 100644 locales/sl/messages.json diff --git a/app/main.c95e488578c8d271f566.css b/app/main.9f15875cff59b5963eea.css similarity index 99% rename from app/main.c95e488578c8d271f566.css rename to app/main.9f15875cff59b5963eea.css index 18043c25..8c3ab3c6 100644 --- a/app/main.c95e488578c8d271f566.css +++ b/app/main.9f15875cff59b5963eea.css @@ -11424,4 +11424,4 @@ img.logo { padding-right: 40px; } -/*# sourceMappingURL=main.c95e488578c8d271f566.css.map*/ \ No newline at end of file +/*# sourceMappingURL=main.9f15875cff59b5963eea.css.map*/ \ No newline at end of file diff --git a/app/main.c95e488578c8d271f566.css.map b/app/main.9f15875cff59b5963eea.css.map similarity index 99% rename from app/main.c95e488578c8d271f566.css.map rename to app/main.9f15875cff59b5963eea.css.map index a5a6fff3..910cb152 100644 --- a/app/main.c95e488578c8d271f566.css.map +++ b/app/main.9f15875cff59b5963eea.css.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///./src/css/webfonts.css","webpack:///./src/scss/styles.scss"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gHAAgH;;AAEhH;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA,gDAAgD;;AAEhD;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA,wBAAwB;;AAExB;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA,wBAAwB;;AAExB;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,iBAAiB;;AAEjB;AACA,mBAAmB;;AAEnB;AACA;AACA,sBAAsB;;AAEtB;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA,iBAAiB;;AAEjB;AACA,aAAa;;AAEb;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA,wBAAwB;AACxB;AACA;AACA,0BAA0B;AAC1B;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,mBAAmB;;AAEnB;AACA;AACA,qBAAqB;;AAErB;AACA;AACA,yBAAyB;;AAEzB;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA,sBAAsB;;AAEtB;AACA;AACA,wBAAwB;;AAExB;AACA,mBAAmB;;AAEnB;AACA;AACA,6CAA6C;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA,uBAAuB;;AAEvB;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA,2BAA2B;;AAE3B;AACA;AACA,eAAe;;AAEf;AACA;AACA,2BAA2B;;AAE3B;AACA,2BAA2B;;AAE3B;AACA;AACA,6BAA6B;;AAE7B;AACA,wBAAwB;;AAExB;AACA;AACA,kBAAkB;;AAElB;AACA,gBAAgB;;AAEhB;AACA,2BAA2B;;AAE3B;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,oBAAoB;;AAEpB;AACA,oBAAoB;;AAEpB;AACA,kBAAkB;;AAElB;AACA,kBAAkB;;AAElB;AACA,kBAAkB;;AAElB;AACA,kBAAkB;;AAElB;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,2CAA2C;;AAE3C;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,wBAAwB;AACxB;AACA,yBAAyB;;AAEzB;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,iBAAiB;AACjB;AACA,wBAAwB;;AAExB;AACA;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;;AAEf;AACA,wBAAwB;;AAExB;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,yBAAyB;AACzB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,wBAAwB,EAAE;;AAE1B;AACA;AACA;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,kBAAkB;;AAElB;AACA,YAAY;;AAEZ;AACA,YAAY;;AAEZ;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,YAAY;;AAEZ;AACA,YAAY;;AAEZ;AACA,YAAY;;AAEZ;AACA,wBAAwB;;AAExB;AACA,yBAAyB;;AAEzB;AACA,mBAAmB;;AAEnB;AACA,yBAAyB;;AAEzB;AACA,yBAAyB;;AAEzB;AACA,mBAAmB;;AAEnB;AACA,yBAAyB;;AAEzB;AACA,yBAAyB;;AAEzB;AACA,mBAAmB;;AAEnB;AACA,yBAAyB;;AAEzB;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,wBAAwB;AACxB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,oBAAoB;AACpB;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,mBAAmB;AACnB;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B,EAAE;;AAE7B;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,wBAAwB;AACxB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,oBAAoB;AACpB;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,mBAAmB;AACnB;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B,EAAE;;AAE7B;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,wBAAwB;AACxB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,oBAAoB;AACpB;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,mBAAmB;AACnB;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B,EAAE;;AAE7B;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,wBAAwB;AACxB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,oBAAoB;AACpB;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,mBAAmB;AACnB;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B,EAAE;;AAE7B;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA,qCAAqC;AACrC;AACA,kCAAkC;;AAElC;AACA;AACA,kBAAkB;;AAElB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,6BAA6B;;AAE7B;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA,wCAAwC;;AAExC;AACA;AACA,wCAAwC;;AAExC;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,wCAAwC;;AAExC;AACA,wCAAwC;AACxC;AACA;AACA,0CAA0C;;AAE1C;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,cAAc;AACd;AACA,gDAAgD;AAChD;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,gBAAgB,EAAE;;AAElB;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,gBAAgB,EAAE;;AAElB;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,gBAAgB,EAAE;;AAElB;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,gBAAgB,EAAE;;AAElB;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA2E;AAC3E;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA,eAAe;AACf;AACA;AACA,eAAe;;AAEf;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,eAAe;;AAEf;AACA,eAAe;;AAEf;AACA,sBAAsB;;AAEtB;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,qFAAqF;;AAErF;AACA;AACA;AACA,mhBAAmhB;AACnhB;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;AACjB;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,4BAA4B;;AAE5B;AACA,kDAAkD;;AAElD;AACA,wBAAwB;;AAExB;AACA,wBAAwB;;AAExB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,kDAAkD;;AAElD;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,qFAAqF;;AAErF;AACA;AACA;AACA,6jBAA6jB;AAC7jB;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;AACjB;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,4BAA4B;;AAE5B;AACA,mDAAmD;;AAEnD;AACA,wBAAwB;;AAExB;AACA,wBAAwB;;AAExB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,mDAAmD;;AAEnD;AACA;AACA;AACA,sBAAsB;AACtB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,4BAA4B;AAC5B;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,8BAA8B;AAC9B;AACA,uBAAuB,EAAE;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wIAAwI;AACxI;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,qDAAqD;AACrD;AACA,kBAAkB;;AAElB;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,qDAAqD;AACrD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,sDAAsD;AACtD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,wDAAwD;;AAExD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,qDAAqD;AACrD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,sDAAsD;AACtD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,wDAAwD;;AAExD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,qDAAqD;AACrD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,qDAAqD;AACrD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,sDAAsD;AACtD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,wDAAwD;;AAExD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,mDAAmD;AACnD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,qDAAqD;;AAErD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,qDAAqD;AACrD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,oDAAoD;AACpD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,sDAAsD;;AAEtD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,oDAAoD;AACpD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,sDAAsD;;AAEtD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,sDAAsD;AACtD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,wDAAwD;;AAExD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,mDAAmD;AACnD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,qDAAqD;;AAErD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,mDAAmD;AACnD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,qDAAqD;;AAErD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,qDAAqD;AACrD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,oDAAoD;AACpD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,sDAAsD;;AAEtD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,sDAAsD;AACtD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,wDAAwD;;AAExD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,mDAAmD;AACnD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,qDAAqD;;AAErD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,oDAAoD;AACpD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,sDAAsD;;AAEtD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,oDAAoD;AACpD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,sDAAsD;;AAEtD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA,cAAc;AACd;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA,cAAc;;AAEd;AACA,mCAAmC;AACnC;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,eAAe;;AAEf;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA,uBAAuB,EAAE;;AAEzB;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA,UAAU;;AAEV;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA,iBAAiB;;AAEjB;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA,cAAc;;AAEd;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;;AAEzC;AACA,iBAAiB;;AAEjB;AACA,oBAAoB;;AAEpB;AACA;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA,kCAAkC;;AAElC;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,gBAAgB;;AAEhB;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,mBAAmB;AACnB;AACA,oBAAoB;;AAEpB;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,eAAe;AACf;AACA,eAAe;AACf;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA,qBAAqB;;AAErB;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,kBAAkB;;AAElB;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,qDAAqD;AACrD;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,mBAAmB;AACnB;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;;AAExC;AACA,yBAAyB;;AAEzB;AACA,gNAAgN;;AAEhN;AACA;AACA,4BAA4B;;AAE5B;AACA,6JAA6J;;AAE7J;AACA,2CAA2C;;AAE3C;AACA,2CAA2C;;AAE3C;AACA,qBAAqB;;AAErB;AACA,0JAA0J;;AAE1J;AACA,2CAA2C;;AAE3C;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8IAA8I;AAC9I;AACA;AACA,yBAAyB,EAAE;AAC3B;AACA;AACA,mCAAmC;AACnC;AACA,6CAA6C;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA,8BAA8B;AAC9B;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,qDAAqD;AACrD;AACA,8BAA8B;AAC9B;AACA,sBAAsB;AACtB;AACA,+BAA+B;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA,kBAAkB;AAClB;AACA,0EAA0E;AAC1E;AACA,0EAA0E;AAC1E;AACA,0EAA0E;AAC1E;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB,EAAE;AAC3B;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB,EAAE;AAC3B;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB,EAAE;AAC3B;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,oBAAoB;AACpB;AACA,8BAA8B;AAC9B;AACA,oBAAoB;AACpB;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,+GAA+G;AAC/G;AACA;AACA;AACA;AACA,uBAAuB,EAAE;;AAEzB;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,uBAAuB;AACvB;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA,mCAAmC;AACnC;AACA,wBAAwB;AACxB;AACA;AACA;AACA,qCAAqC;AACrC;AACA,4CAA4C;AAC5C;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,qBAAqB;;AAErB;AACA,gBAAgB;;AAEhB;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA,oBAAoB;AACpB;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA;AACA;AACA;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA;AACA,gCAAgC;AAChC;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,wBAAwB;AACxB;AACA;AACA,uBAAuB;AACvB;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA;AACA;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA;AACA,gCAAgC;AAChC;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,wBAAwB;AACxB;AACA;AACA,uBAAuB;AACvB;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA;AACA;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA;AACA,gCAAgC;AAChC;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,wBAAwB;AACxB;AACA;AACA,uBAAuB;AACvB;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA;AACA;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA;AACA,gCAAgC;AAChC;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,wBAAwB;AACxB;AACA;AACA,uBAAuB;AACvB;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,oBAAoB;AACpB;AACA,wBAAwB;AACxB;AACA,yBAAyB;AACzB;AACA;AACA,2BAA2B;AAC3B;AACA;AACA,sBAAsB;AACtB;AACA;AACA,qBAAqB;AACrB;AACA,kBAAkB;;AAElB;AACA,4BAA4B;AAC5B;AACA,8BAA8B;;AAE9B;AACA,4BAA4B;AAC5B;AACA,8BAA8B;AAC9B;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA,mCAAmC;;AAEnC;AACA,2PAA2P;;AAE3P;AACA,4BAA4B;AAC5B;AACA,8BAA8B;AAC9B;AACA,gCAAgC;;AAEhC;AACA,cAAc;AACd;AACA,gBAAgB;;AAEhB;AACA,kCAAkC;AAClC;AACA,oCAAoC;AACpC;AACA,qCAAqC;;AAErC;AACA;AACA;AACA;AACA,cAAc;;AAEd;AACA;AACA,yCAAyC;;AAEzC;AACA,iQAAiQ;;AAEjQ;AACA,kCAAkC;AAClC;AACA,gBAAgB;AAChB;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,qCAAqC;AACrC;AACA;AACA,uCAAuC;;AAEvC;AACA;AACA,mBAAmB;;AAEnB;AACA,wBAAwB;;AAExB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,wBAAwB;;AAExB;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA,+DAA+D;AAC/D;AACA,kBAAkB;;AAElB;AACA;AACA;AACA,6CAA6C;AAC7C;AACA,+DAA+D;;AAE/D;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA,+CAA+C;;AAE/C;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA,yBAAyB;AACzB;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,EAAE;;AAE5B;AACA;AACA,yBAAyB;AACzB;AACA,wBAAwB;AACxB;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,wCAAwC;AACxC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,0CAA0C;AAC1C;AACA;AACA,uCAAuC;AACvC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,yCAAyC,EAAE;;AAE3C;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,kBAAkB,EAAE;;AAEpB;AACA,mBAAmB;AACnB;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,+BAA+B;AAC/B;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,6BAA6B;;AAE7B;AACA,wBAAwB;;AAExB;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,qDAAqD;;AAErD;AACA;AACA;AACA,qCAAqC;;AAErC;AACA;AACA,sCAAsC;;AAEtC;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,oCAAoC;;AAEpC;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,oCAAoC;;AAEpC;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wIAAwI;AACxI;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,0BAA0B;AAC1B;AACA,kBAAkB;;AAElB;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,oDAAoD;;AAEpD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,sDAAsD;;AAEtD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,mDAAmD;;AAEnD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,mDAAmD;;AAEnD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,qDAAqD;;AAErD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,oDAAoD;;AAEpD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,sDAAsD;;AAEtD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,mDAAmD;;AAEnD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,oDAAoD;;AAEpD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,oDAAoD;;AAEpD;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,yBAAyB,EAAE;;AAE3B;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA,iBAAiB;;AAEjB;AACA,mBAAmB;;AAEnB;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA,gCAAgC;AAChC;AACA,6BAA6B,EAAE;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,uBAAuB,EAAE;;AAEzB;AACA;AACA,6BAA6B;;AAE7B;AACA,qDAAqD;AACrD;AACA;AACA,sBAAsB,EAAE;;AAExB;AACA;AACA,0BAA0B;;AAE1B;AACA,UAAU;;AAEV;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC;AACA,sBAAsB;AACtB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA,wBAAwB;AACxB;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA,qCAAqC,EAAE;;AAEvC;AACA;AACA,wBAAwB;AACxB;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA,qCAAqC,EAAE;;AAEvC;AACA;AACA,wBAAwB;AACxB;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA,qCAAqC,EAAE;;AAEvC;AACA;AACA,wBAAwB;AACxB;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA,qCAAqC,EAAE;;AAEvC;AACA;AACA;AACA,mBAAmB;AACnB;AACA,wBAAwB;;AAExB;AACA,gBAAgB;;AAEhB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,0BAA0B;AAC1B;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,uBAAuB;;AAEvB;AACA,mBAAmB;AACnB;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA,mCAAmC;AACnC;AACA;AACA,yBAAyB,EAAE;AAC3B;AACA,oBAAoB;;AAEpB;AACA;AACA,gCAAgC;AAChC;AACA;AACA,qBAAqB;AACrB;AACA;AACA,mBAAmB;AACnB;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,iBAAiB;AACjB;AACA,uBAAuB;AACvB;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,eAAe;AACf;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA,wBAAwB;AACxB;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,yBAAyB;AACzB;AACA,oCAAoC;AACpC;AACA,uCAAuC;AACvC;AACA,oCAAoC;AACpC;AACA,mCAAmC;AACnC;AACA,qBAAqB,EAAE;;AAEvB;AACA;AACA;AACA,qBAAqB,EAAE;;AAEvB;AACA;AACA,sBAAsB,EAAE;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA,oBAAoB;AACpB;AACA,cAAc;AACd;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA,oBAAoB;AACpB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA,oBAAoB;AACpB;AACA,WAAW;AACX;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA,oBAAoB;AACpB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA,wBAAwB;AACxB;AACA,sCAAsC;AACtC;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA,qBAAqB;AACrB;AACA,mCAAmC;AACnC;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;;AAErC;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA,kBAAkB;;AAElB;AACA;AACA,iBAAiB;;AAEjB;AACA,qBAAqB;;AAErB;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,uBAAuB,EAAE;;AAEzB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,uBAAuB,EAAE;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,UAAU;;AAEV;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA,wCAAwC;;AAExC;AACA,sMAAsM;;AAEtM;AACA,sMAAsM;;AAEtM;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA,yBAAyB,EAAE;AAC3B;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA,8BAA8B,EAAE;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA,wBAAwB;AACxB;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;;AAE/C;AACA;AACA,eAAe;;AAEf;AACA,sCAAsC;;AAEtC;AACA,iC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;AACA,kCAAkC;;AAElC;AACA;AACA,gCAAgC;;AAEhC;AACA,6BAA6B;;AAE7B;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA,oCAAoC;;AAEpC;AACA;AACA,kCAAkC;;AAElC;AACA,2BAA2B;;AAE3B;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA,kCAAkC;;AAElC;AACA;AACA,gCAAgC;;AAEhC;AACA,0BAA0B;;AAE1B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA,yBAAyB;AACzB;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,8BAA8B;AAC9B;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,mCAAmC;AACnC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC;AACjC;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,mCAAmC;AACnC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC;AACjC;AACA,0BAA0B;AAC1B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,iCAAiC;AACjC;AACA;AACA,+BAA+B;AAC/B;AACA,gCAAgC;AAChC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qCAAqC;AACrC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,gCAAgC;AAChC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qCAAqC;AACrC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC,EAAE;;AAEnC;AACA;AACA,yBAAyB;AACzB;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,8BAA8B;AAC9B;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,mCAAmC;AACnC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC;AACjC;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,mCAAmC;AACnC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC;AACjC;AACA,0BAA0B;AAC1B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,iCAAiC;AACjC;AACA;AACA,+BAA+B;AAC/B;AACA,gCAAgC;AAChC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qCAAqC;AACrC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,gCAAgC;AAChC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qCAAqC;AACrC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC,EAAE;;AAEnC;AACA;AACA,yBAAyB;AACzB;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,8BAA8B;AAC9B;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,mCAAmC;AACnC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC;AACjC;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,mCAAmC;AACnC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC;AACjC;AACA,0BAA0B;AAC1B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,iCAAiC;AACjC;AACA;AACA,+BAA+B;AAC/B;AACA,gCAAgC;AAChC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qCAAqC;AACrC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,gCAAgC;AAChC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qCAAqC;AACrC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC,EAAE;;AAEnC;AACA;AACA,yBAAyB;AACzB;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,8BAA8B;AAC9B;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,mCAAmC;AACnC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC;AACjC;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,mCAAmC;AACnC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC;AACjC;AACA,0BAA0B;AAC1B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,iCAAiC;AACjC;AACA;AACA,+BAA+B;AAC/B;AACA,gCAAgC;AAChC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qCAAqC;AACrC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,gCAAgC;AAChC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qCAAqC;AACrC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC,EAAE;;AAEnC;AACA,+GAA+G;;AAE/G;AACA,iCAAiC;;AAEjC;AACA,iCAAiC;;AAEjC;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA,8BAA8B;;AAE9B;AACA,+BAA+B;;AAE/B;AACA,gCAAgC;;AAEhC;AACA;AACA,gCAAgC;AAChC;AACA,iCAAiC;AACjC;AACA,kCAAkC,EAAE;;AAEpC;AACA;AACA,gCAAgC;AAChC;AACA,iCAAiC;AACjC;AACA,kCAAkC,EAAE;;AAEpC;AACA;AACA,gCAAgC;AAChC;AACA,iCAAiC;AACjC;AACA,kCAAkC,EAAE;;AAEpC;AACA;AACA,gCAAgC;AAChC;AACA,iCAAiC;AACjC;AACA,kCAAkC,EAAE;;AAEpC;AACA,uCAAuC;;AAEvC;AACA,uCAAuC;;AAEvC;AACA,wCAAwC;;AAExC;AACA,8BAA8B;;AAE9B;AACA,kCAAkC;;AAElC;AACA,8BAA8B;;AAE9B;AACA,8BAA8B;;AAE9B;AACA,iCAAiC;;AAEjC;AACA,gCAAgC;;AAEhC;AACA,yBAAyB;;AAEzB;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,uCAAuC;;AAEvC;AACA,6CAA6C;;AAE7C;AACA;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA,mCAAmC;;AAEnC;AACA;AACA,uCAAuC;;AAEvC;AACA,4BAA4B;;AAE5B;AACA,iCAAiC;;AAEjC;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA,+BAA+B;AAC/B;AACA,kCAAkC;AAClC;AACA,qCAAqC;AACrC;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,gCAAgC;AAChC;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,4BAA4B;AAC5B;AACA,aAAa;AACb;AACA,8BAA8B;AAC9B;AACA,8BAA8B;AAC9B;AACA,kBAAkB;AAClB;AACA,2BAA2B;AAC3B;AACA,yCAAyC;AACzC;AACA;AACA,wCAAwC;AACxC;AACA;AACA,yCAAyC;AACzC;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,0BAA0B,EAAE;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;;AAEjB;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA,cAAc;;AAEd;AACA,eAAe;;AAEf;AACA,qBAAqB;;AAErB;AACA,oBAAoB;;AAEpB;AACA;AACA,eAAe;;AAEf;AACA,cAAc;;AAEd;AACA,qBAAqB;;AAErB;AACA,oBAAoB;;AAEpB;AACA;AACA,wCAAwC;;AAExC;AACA;AACA,0CAA0C;;AAE1C;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B,EAAE;;AAEhC;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B,EAAE;;AAEhC;AACA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA,uBAAuB;;AAEvB;AACA,iBAAiB;;AAEjB;AACA,cAAc;;AAEd;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,oBAAoB;;AAEpB;AACA;AACA,wBAAwB;;AAExB;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA,cAAc;;AAEd;AACA;AACA;AACA,cAAc;;AAEd;AACA;AACA,aAAa;;AAEb;AACA,YAAY;;AAEZ;AACA;AACA,cAAc;;AAEd;AACA;AACA,eAAe;;AAEf;AACA,eAAe;;AAEf;AACA;AACA,aAAa;;AAEb;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,ieAAie;;AAEzgB;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,6wBAA6wB;;AAErzB;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,quBAAquB;;AAE7wB;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,qyHAAqyH;;AAE70H;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,qsBAAqsB;;AAE7uB;AACA;AACA;AACA,eAAe;;AAEf;AACA;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA,gBAAgB,EAAE;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA,kBAAkB;AAClB;AACA;AACA,qBAAqB;AACrB;AACA,sBAAsB;AACtB;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA,mBAAmB;AACnB;AACA,oEAAoE;AACpE;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,sBAAsB;AACtB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,uBAAuB;AACvB;AACA,2DAA2D;AAC3D;AACA,4DAA4D;AAC5D;AACA,qCAAqC;AACrC;AACA,8CAA8C;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA,mCAAmC;AACnC;AACA,uCAAuC;AACvC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,8BAA8B;AAC9B;AACA,wBAAwB;AACxB;AACA;AACA,gCAAgC;AAChC;AACA;AACA,8BAA8B;AAC9B;AACA,0BAA0B;AAC1B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,2BAA2B;AAC3B;AACA,0BAA0B;AAC1B;AACA,8BAA8B;AAC9B;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,iBAAiB;AACjB;AACA;AACA,2BAA2B,EAAE;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,kBAAkB;AAClB;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA,gBAAgB;AAChB;AACA,8EAA8E;AAC9E;AACA,8EAA8E;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,kEAAkE;AAClE;AACA,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA,mBAAmB;AACnB;AACA,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;AACnB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA,oBAAoB;AACpB;AACA,oBAAoB;;AAEpB;AACA;AACA,qBAAqB;;AAErB;AACA;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA,iCAAiC;AACjC;AACA;AACA,kCAAkC;AAClC;AACA,8CAA8C;AAC9C;AACA,kDAAkD;AAClD;AACA;AACA,mBAAmB;AACnB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA,qDAAqD;AACrD;AACA,sDAAsD;AACtD;AACA,kEAAkE;;AAElE;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,0BAA0B;AAC1B;AACA;AACA,oBAAoB;AACpB;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,2CAA2C;;AAE3C;AACA,6BAA6B;;AAE7B;AACA,uCAAuC;;AAEvC;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,UAAU;;AAEV;AACA;AACA,aAAa;;AAEb;AACA;AACA,2BAA2B;AAC3B;AACA,kBAAkB,EAAE;;AAEpB;AACA;AACA,2BAA2B;AAC3B;AACA,kBAAkB,EAAE;;AAEpB;AACA;AACA,+CAA+C,EAAE;;AAEjD;AACA;AACA,kDAAkD;AAClD;AACA,4CAA4C;AAC5C;AACA,kDAAkD;AAClD;AACA,2CAA2C,EAAE;;AAE7C;AACA;AACA;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,iBAAiB,EAAE;;AAEnB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,mBAAmB,EAAE;;AAErB;AACA;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,wBAAwB,EAAE;;AAE1B;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA,8BAA8B;AAC9B;AACA,8BAA8B;AAC9B;AACA,+BAA+B;AAC/B;AACA,+BAA+B,EAAE;;AAEjC;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,eAAe,EAAE;;AAEjB;AACA;AACA,4BAA4B;AAC5B;AACA,8BAA8B,EAAE;;AAEhC;AACA,mBAAmB;;AAEnB;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA,4CAA4C;AAC5C;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA,YAAY;AACZ;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA,YAAY;AACZ;AACA;AACA,cAAc;;AAEd;AACA;AACA,kCAAkC;AAClC;AACA,oBAAoB;AACpB;AACA,kCAAkC,EAAE;;AAEpC;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA,eAAe;;AAEf;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA,4BAA4B;AAC5B;AACA;AACA;AACA,mBAAmB;AACnB;AACA,mBAAmB;;AAEnB;AACA,YAAY;;AAEZ;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,kBAAkB;AAClB;AACA,0BAA0B;AAC1B;AACA,uBAAuB;AACvB;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,yBAAyB;AACzB;AACA;AACA,8BAA8B;AAC9B;AACA,uBAAuB;AACvB;AACA;AACA,8BAA8B;AAC9B;AACA,uBAAuB;AACvB;AACA;AACA,8BAA8B;AAC9B;AACA,uBAAuB;;AAEvB;AACA,uCAAuC;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,yBAAyB;AACzB;AACA,0BAA0B;AAC1B;AACA,kCAAkC;;AAElC;AACA,kBAAkB;;AAElB;AACA,oBAAoB;AACpB;AACA,8BAA8B;AAC9B;AACA;AACA,eAAe;;AAEf;AACA;AACA;AACA,wBAAwB;AACxB;AACA,cAAc;;AAEd;AACA,iBAAiB;;AAEjB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,qBAAqB;AACrB;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA,qBAAqB;;AAErB;AACA;AACA,uBAAuB;;AAEvB;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,yBAAyB;;AAEzB;AACA,qBAAqB;;AAErB;AACA,qBAAqB;AACrB;AACA,0BAA0B;AAC1B;AACA,aAAa;AACb;AACA,uBAAuB;AACvB;AACA;AACA,mBAAmB;AACnB;AACA,wBAAwB;;AAExB;AACA,qBAAqB;;AAErB;AACA,eAAe;;AAEf;AACA,eAAe;;AAEf;AACA,eAAe;;AAEf;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,mBAAmB;;AAEnB;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,mBAAmB;;AAEnB;AACA,gDAAgD;;AAEhD;AACA;AACA,4BAA4B;;AAE5B;AACA,iBAAiB;AACjB;AACA,mBAAmB;AACnB;AACA,eAAe;;AAEf;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,kBAAkB;AAClB;AACA,uBAAuB;;AAEvB;AACA,mBAAmB;;AAEnB;AACA,eAAe;;AAEf;AACA,yBAAyB;AACzB;AACA,mBAAmB;AACnB;AACA,qBAAqB;AACrB;AACA,mBAAmB;;AAEnB;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,qBAAqB;AACrB;AACA;AACA,wBAAwB;AACxB;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,qBAAqB;AACrB;AACA,qBAAqB;;AAErB;AACA;AACA,kBAAkB;;AAElB;AACA;AACA,gCAAgC;;AAEhC;AACA,qBAAqB;;AAErB;AACA,gCAAgC;;AAEhC;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,eAAe;;AAEf;AACA,eAAe;;AAEf;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;;AAEjB;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,mBAAmB;;AAEnB;AACA,iBAAiB;AACjB;AACA,8BAA8B;;AAE9B;AACA,gBAAgB;;AAEhB;AACA,kBAAkB;;AAElB;AACA,kBAAkB;;AAElB;AACA;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;;AAEjB;AACA,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oGAAoG;;AAEpG;AACA,iBAAiB;AACjB;AACA,sGAAsG;;AAEtG;AACA,gBAAgB;;AAEhB;AACA,eAAe;AACf;AACA,oBAAoB;;AAEpB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,mBAAmB;;AAEnB;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA,mBAAmB;;AAEnB;AACA,eAAe;;AAEf;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA,sBAAsB;;AAEtB;AACA,iBAAiB;;AAEjB;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA,kBAAkB;AAClB;AACA;AACA,8BAA8B;AAC9B;AACA,+BAA+B;AAC/B;AACA,qBAAqB;AACrB;AACA,+BAA+B;AAC/B;AACA,qBAAqB;AACrB;AACA,+BAA+B;AAC/B;AACA,qBAAqB;AACrB;AACA,+BAA+B;AAC/B;AACA,qBAAqB;AACrB;AACA,+BAA+B;AAC/B;AACA,qBAAqB;;AAErB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;AACnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,wBAAwB;;AAExB;AACA,eAAe;;AAEf;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA,uDAAuD;AACvD;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,iBAAiB;AACjB;AACA,wBAAwB;AACxB;AACA,qBAAqB;AACrB;AACA,kCAAkC;AAClC;AACA;AACA;AACA,wCAAwC;AACxC;AACA,uBAAuB;AACvB;AACA,mBAAmB;AACnB;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,kBAAkB;;AAElB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,oBAAoB;AACpB;AACA;AACA,wBAAwB;AACxB;AACA,mBAAmB;AACnB;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,sBAAsB","file":"app/main.c95e488578c8d271f566.css","sourcesContent":["@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: italic;\n\tfont-weight: 300;\n\tsrc: url(../fonts/Open_Sans-italic-300.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: italic;\n\tfont-weight: 400;\n\tsrc: url(../fonts/Open_Sans-italic-400.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: italic;\n\tfont-weight: 600;\n\tsrc: url(../fonts/Open_Sans-italic-600.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: italic;\n\tfont-weight: 700;\n\tsrc: url(../fonts/Open_Sans-italic-700.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: italic;\n\tfont-weight: 800;\n\tsrc: url(../fonts/Open_Sans-italic-800.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: normal;\n\tfont-weight: 300;\n\tsrc: url(../fonts/Open_Sans-normal-300.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: normal;\n\tfont-weight: 400;\n\tsrc: url(../fonts/Open_Sans-normal-400.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: normal;\n\tfont-weight: 600;\n\tsrc: url(../fonts/Open_Sans-normal-600.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: normal;\n\tfont-weight: 700;\n\tsrc: url(../fonts/Open_Sans-normal-700.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: normal;\n\tfont-weight: 800;\n\tsrc: url(../fonts/Open_Sans-normal-800.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n","@charset \"UTF-8\";\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #175DDC;\n --secondary: #ced4da;\n --success: #00a65a;\n --info: #555555;\n --warning: #bf7e16;\n --danger: #dd4b39;\n --light: #f8f9fa;\n --dark: #343a40;\n --primary-accent: #1252A3;\n --secondary-alt: #1A3B66;\n --breakpoint-xs: 0;\n --breakpoint-sm: 1px;\n --breakpoint-md: 2px;\n --breakpoint-lg: 3px;\n --breakpoint-xl: 4px;\n --font-family-sans-serif: \"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; }\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; }\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block; }\n\nbody {\n margin: 0;\n font-family: \"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #333333;\n text-align: left;\n background-color: #ffffff; }\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important; }\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible; }\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem; }\n\np {\n margin-top: 0;\n margin-bottom: 1rem; }\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none; }\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit; }\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem; }\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0; }\n\ndt {\n font-weight: 700; }\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; }\n\nblockquote {\n margin: 0 0 1rem; }\n\nb,\nstrong {\n font-weight: bolder; }\n\nsmall {\n font-size: 80%; }\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline; }\n\nsub {\n bottom: -.25em; }\n\nsup {\n top: -.5em; }\n\na {\n color: #175DDC;\n text-decoration: none;\n background-color: transparent; }\n a:hover {\n color: #104097;\n text-decoration: underline; }\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none; }\n a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none; }\n a:not([href]):not([tabindex]):focus {\n outline: 0; }\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em; }\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto; }\n\nfigure {\n margin: 0 0 1rem; }\n\nimg {\n vertical-align: middle;\n border-style: none; }\n\nsvg {\n overflow: hidden;\n vertical-align: middle; }\n\ntable {\n border-collapse: collapse; }\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom; }\n\nth {\n text-align: inherit; }\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem; }\n\nbutton {\n border-radius: 0; }\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color; }\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit; }\n\nbutton,\ninput {\n overflow: visible; }\n\nbutton,\nselect {\n text-transform: none; }\n\nselect {\n word-wrap: normal; }\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; }\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer; }\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none; }\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0; }\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox; }\n\ntextarea {\n overflow: auto;\n resize: vertical; }\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0; }\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal; }\n\nprogress {\n vertical-align: baseline; }\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto; }\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none; }\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none; }\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button; }\n\noutput {\n display: inline-block; }\n\nsummary {\n display: list-item;\n cursor: pointer; }\n\ntemplate {\n display: none; }\n\n[hidden] {\n display: none !important; }\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2; }\n\nh1, .h1 {\n font-size: 1.7rem; }\n\nh2, .h2 {\n font-size: 1.3rem; }\n\nh3, .h3 {\n font-size: 1rem; }\n\nh4, .h4 {\n font-size: 1rem; }\n\nh5, .h5 {\n font-size: 1rem; }\n\nh6, .h6 {\n font-size: 1rem; }\n\n.lead {\n font-size: 1.25rem;\n font-weight: normal; }\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2; }\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2; }\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2; }\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2; }\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1); }\n\nsmall,\n.small {\n font-size: 90%;\n font-weight: 400; }\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3; }\n\n.list-unstyled {\n padding-left: 0;\n list-style: none; }\n\n.list-inline {\n padding-left: 0;\n list-style: none; }\n\n.list-inline-item {\n display: inline-block; }\n .list-inline-item:not(:last-child) {\n margin-right: 0.5rem; }\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase; }\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem; }\n\n.blockquote-footer {\n display: block;\n font-size: 90%;\n color: #6c757d; }\n .blockquote-footer::before {\n content: \"\\2014\\A0\"; }\n\n.img-fluid, .table.table-list td.table-list-icon img {\n max-width: 100%;\n height: auto; }\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #ffffff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto; }\n\n.figure {\n display: inline-block; }\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1; }\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d; }\n\ncode {\n font-size: 100%;\n color: #e83e8c;\n word-break: break-word; }\n a > code {\n color: inherit; }\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 100%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem; }\n kbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700; }\n\npre {\n display: block;\n font-size: 100%;\n color: #212529; }\n pre code {\n font-size: inherit;\n color: inherit;\n word-break: normal; }\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll; }\n\n.container {\n width: 100%;\n padding-right: 10px;\n padding-left: 10px;\n margin-right: auto;\n margin-left: auto; }\n @media (min-width: 1px) {\n .container {\n max-width: 540px; } }\n @media (min-width: 2px) {\n .container {\n max-width: 720px; } }\n @media (min-width: 3px) {\n .container {\n max-width: 960px; } }\n @media (min-width: 4px) {\n .container {\n max-width: 1140px; } }\n\n.container-fluid {\n width: 100%;\n padding-right: 10px;\n padding-left: 10px;\n margin-right: auto;\n margin-left: auto; }\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -10px;\n margin-left: -10px; }\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0; }\n .no-gutters > .col,\n .no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0; }\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 10px;\n padding-left: 10px; }\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%; }\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; }\n\n.col-1 {\n flex: 0 0 8.33333%;\n max-width: 8.33333%; }\n\n.col-2 {\n flex: 0 0 16.66667%;\n max-width: 16.66667%; }\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%; }\n\n.col-4 {\n flex: 0 0 33.33333%;\n max-width: 33.33333%; }\n\n.col-5 {\n flex: 0 0 41.66667%;\n max-width: 41.66667%; }\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%; }\n\n.col-7 {\n flex: 0 0 58.33333%;\n max-width: 58.33333%; }\n\n.col-8 {\n flex: 0 0 66.66667%;\n max-width: 66.66667%; }\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%; }\n\n.col-10 {\n flex: 0 0 83.33333%;\n max-width: 83.33333%; }\n\n.col-11 {\n flex: 0 0 91.66667%;\n max-width: 91.66667%; }\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%; }\n\n.order-first {\n order: -1; }\n\n.order-last {\n order: 13; }\n\n.order-0 {\n order: 0; }\n\n.order-1 {\n order: 1; }\n\n.order-2 {\n order: 2; }\n\n.order-3 {\n order: 3; }\n\n.order-4 {\n order: 4; }\n\n.order-5 {\n order: 5; }\n\n.order-6 {\n order: 6; }\n\n.order-7 {\n order: 7; }\n\n.order-8 {\n order: 8; }\n\n.order-9 {\n order: 9; }\n\n.order-10 {\n order: 10; }\n\n.order-11 {\n order: 11; }\n\n.order-12 {\n order: 12; }\n\n.offset-1 {\n margin-left: 8.33333%; }\n\n.offset-2 {\n margin-left: 16.66667%; }\n\n.offset-3 {\n margin-left: 25%; }\n\n.offset-4 {\n margin-left: 33.33333%; }\n\n.offset-5 {\n margin-left: 41.66667%; }\n\n.offset-6 {\n margin-left: 50%; }\n\n.offset-7 {\n margin-left: 58.33333%; }\n\n.offset-8 {\n margin-left: 66.66667%; }\n\n.offset-9 {\n margin-left: 75%; }\n\n.offset-10 {\n margin-left: 83.33333%; }\n\n.offset-11 {\n margin-left: 91.66667%; }\n\n@media (min-width: 1px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%; }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; }\n .col-sm-1 {\n flex: 0 0 8.33333%;\n max-width: 8.33333%; }\n .col-sm-2 {\n flex: 0 0 16.66667%;\n max-width: 16.66667%; }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%; }\n .col-sm-4 {\n flex: 0 0 33.33333%;\n max-width: 33.33333%; }\n .col-sm-5 {\n flex: 0 0 41.66667%;\n max-width: 41.66667%; }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%; }\n .col-sm-7 {\n flex: 0 0 58.33333%;\n max-width: 58.33333%; }\n .col-sm-8 {\n flex: 0 0 66.66667%;\n max-width: 66.66667%; }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%; }\n .col-sm-10 {\n flex: 0 0 83.33333%;\n max-width: 83.33333%; }\n .col-sm-11 {\n flex: 0 0 91.66667%;\n max-width: 91.66667%; }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%; }\n .order-sm-first {\n order: -1; }\n .order-sm-last {\n order: 13; }\n .order-sm-0 {\n order: 0; }\n .order-sm-1 {\n order: 1; }\n .order-sm-2 {\n order: 2; }\n .order-sm-3 {\n order: 3; }\n .order-sm-4 {\n order: 4; }\n .order-sm-5 {\n order: 5; }\n .order-sm-6 {\n order: 6; }\n .order-sm-7 {\n order: 7; }\n .order-sm-8 {\n order: 8; }\n .order-sm-9 {\n order: 9; }\n .order-sm-10 {\n order: 10; }\n .order-sm-11 {\n order: 11; }\n .order-sm-12 {\n order: 12; }\n .offset-sm-0 {\n margin-left: 0; }\n .offset-sm-1 {\n margin-left: 8.33333%; }\n .offset-sm-2 {\n margin-left: 16.66667%; }\n .offset-sm-3 {\n margin-left: 25%; }\n .offset-sm-4 {\n margin-left: 33.33333%; }\n .offset-sm-5 {\n margin-left: 41.66667%; }\n .offset-sm-6 {\n margin-left: 50%; }\n .offset-sm-7 {\n margin-left: 58.33333%; }\n .offset-sm-8 {\n margin-left: 66.66667%; }\n .offset-sm-9 {\n margin-left: 75%; }\n .offset-sm-10 {\n margin-left: 83.33333%; }\n .offset-sm-11 {\n margin-left: 91.66667%; } }\n\n@media (min-width: 2px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%; }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; }\n .col-md-1 {\n flex: 0 0 8.33333%;\n max-width: 8.33333%; }\n .col-md-2 {\n flex: 0 0 16.66667%;\n max-width: 16.66667%; }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%; }\n .col-md-4 {\n flex: 0 0 33.33333%;\n max-width: 33.33333%; }\n .col-md-5 {\n flex: 0 0 41.66667%;\n max-width: 41.66667%; }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%; }\n .col-md-7 {\n flex: 0 0 58.33333%;\n max-width: 58.33333%; }\n .col-md-8 {\n flex: 0 0 66.66667%;\n max-width: 66.66667%; }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%; }\n .col-md-10 {\n flex: 0 0 83.33333%;\n max-width: 83.33333%; }\n .col-md-11 {\n flex: 0 0 91.66667%;\n max-width: 91.66667%; }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%; }\n .order-md-first {\n order: -1; }\n .order-md-last {\n order: 13; }\n .order-md-0 {\n order: 0; }\n .order-md-1 {\n order: 1; }\n .order-md-2 {\n order: 2; }\n .order-md-3 {\n order: 3; }\n .order-md-4 {\n order: 4; }\n .order-md-5 {\n order: 5; }\n .order-md-6 {\n order: 6; }\n .order-md-7 {\n order: 7; }\n .order-md-8 {\n order: 8; }\n .order-md-9 {\n order: 9; }\n .order-md-10 {\n order: 10; }\n .order-md-11 {\n order: 11; }\n .order-md-12 {\n order: 12; }\n .offset-md-0 {\n margin-left: 0; }\n .offset-md-1 {\n margin-left: 8.33333%; }\n .offset-md-2 {\n margin-left: 16.66667%; }\n .offset-md-3 {\n margin-left: 25%; }\n .offset-md-4 {\n margin-left: 33.33333%; }\n .offset-md-5 {\n margin-left: 41.66667%; }\n .offset-md-6 {\n margin-left: 50%; }\n .offset-md-7 {\n margin-left: 58.33333%; }\n .offset-md-8 {\n margin-left: 66.66667%; }\n .offset-md-9 {\n margin-left: 75%; }\n .offset-md-10 {\n margin-left: 83.33333%; }\n .offset-md-11 {\n margin-left: 91.66667%; } }\n\n@media (min-width: 3px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%; }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; }\n .col-lg-1 {\n flex: 0 0 8.33333%;\n max-width: 8.33333%; }\n .col-lg-2 {\n flex: 0 0 16.66667%;\n max-width: 16.66667%; }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%; }\n .col-lg-4 {\n flex: 0 0 33.33333%;\n max-width: 33.33333%; }\n .col-lg-5 {\n flex: 0 0 41.66667%;\n max-width: 41.66667%; }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%; }\n .col-lg-7 {\n flex: 0 0 58.33333%;\n max-width: 58.33333%; }\n .col-lg-8 {\n flex: 0 0 66.66667%;\n max-width: 66.66667%; }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%; }\n .col-lg-10 {\n flex: 0 0 83.33333%;\n max-width: 83.33333%; }\n .col-lg-11 {\n flex: 0 0 91.66667%;\n max-width: 91.66667%; }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%; }\n .order-lg-first {\n order: -1; }\n .order-lg-last {\n order: 13; }\n .order-lg-0 {\n order: 0; }\n .order-lg-1 {\n order: 1; }\n .order-lg-2 {\n order: 2; }\n .order-lg-3 {\n order: 3; }\n .order-lg-4 {\n order: 4; }\n .order-lg-5 {\n order: 5; }\n .order-lg-6 {\n order: 6; }\n .order-lg-7 {\n order: 7; }\n .order-lg-8 {\n order: 8; }\n .order-lg-9 {\n order: 9; }\n .order-lg-10 {\n order: 10; }\n .order-lg-11 {\n order: 11; }\n .order-lg-12 {\n order: 12; }\n .offset-lg-0 {\n margin-left: 0; }\n .offset-lg-1 {\n margin-left: 8.33333%; }\n .offset-lg-2 {\n margin-left: 16.66667%; }\n .offset-lg-3 {\n margin-left: 25%; }\n .offset-lg-4 {\n margin-left: 33.33333%; }\n .offset-lg-5 {\n margin-left: 41.66667%; }\n .offset-lg-6 {\n margin-left: 50%; }\n .offset-lg-7 {\n margin-left: 58.33333%; }\n .offset-lg-8 {\n margin-left: 66.66667%; }\n .offset-lg-9 {\n margin-left: 75%; }\n .offset-lg-10 {\n margin-left: 83.33333%; }\n .offset-lg-11 {\n margin-left: 91.66667%; } }\n\n@media (min-width: 4px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%; }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; }\n .col-xl-1 {\n flex: 0 0 8.33333%;\n max-width: 8.33333%; }\n .col-xl-2 {\n flex: 0 0 16.66667%;\n max-width: 16.66667%; }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%; }\n .col-xl-4 {\n flex: 0 0 33.33333%;\n max-width: 33.33333%; }\n .col-xl-5 {\n flex: 0 0 41.66667%;\n max-width: 41.66667%; }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%; }\n .col-xl-7 {\n flex: 0 0 58.33333%;\n max-width: 58.33333%; }\n .col-xl-8 {\n flex: 0 0 66.66667%;\n max-width: 66.66667%; }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%; }\n .col-xl-10 {\n flex: 0 0 83.33333%;\n max-width: 83.33333%; }\n .col-xl-11 {\n flex: 0 0 91.66667%;\n max-width: 91.66667%; }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%; }\n .order-xl-first {\n order: -1; }\n .order-xl-last {\n order: 13; }\n .order-xl-0 {\n order: 0; }\n .order-xl-1 {\n order: 1; }\n .order-xl-2 {\n order: 2; }\n .order-xl-3 {\n order: 3; }\n .order-xl-4 {\n order: 4; }\n .order-xl-5 {\n order: 5; }\n .order-xl-6 {\n order: 6; }\n .order-xl-7 {\n order: 7; }\n .order-xl-8 {\n order: 8; }\n .order-xl-9 {\n order: 9; }\n .order-xl-10 {\n order: 10; }\n .order-xl-11 {\n order: 11; }\n .order-xl-12 {\n order: 12; }\n .offset-xl-0 {\n margin-left: 0; }\n .offset-xl-1 {\n margin-left: 8.33333%; }\n .offset-xl-2 {\n margin-left: 16.66667%; }\n .offset-xl-3 {\n margin-left: 25%; }\n .offset-xl-4 {\n margin-left: 33.33333%; }\n .offset-xl-5 {\n margin-left: 41.66667%; }\n .offset-xl-6 {\n margin-left: 50%; }\n .offset-xl-7 {\n margin-left: 58.33333%; }\n .offset-xl-8 {\n margin-left: 66.66667%; }\n .offset-xl-9 {\n margin-left: 75%; }\n .offset-xl-10 {\n margin-left: 83.33333%; }\n .offset-xl-11 {\n margin-left: 91.66667%; } }\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #333333; }\n .table th,\n .table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6; }\n .table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6; }\n .table tbody + tbody {\n border-top: 2px solid #dee2e6; }\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem; }\n\n.table-bordered {\n border: 1px solid #dee2e6; }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6; }\n .table-bordered thead th,\n .table-bordered thead td {\n border-bottom-width: 2px; }\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0; }\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.02); }\n\n.table-hover tbody tr:hover {\n color: #333333;\n background-color: rgba(0, 0, 0, 0.03); }\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #bed2f5; }\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #86abed; }\n\n.table-hover .table-primary:hover {\n background-color: #a8c3f2; }\n .table-hover .table-primary:hover > td,\n .table-hover .table-primary:hover > th {\n background-color: #a8c3f2; }\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #f1f3f5; }\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #e6e9ec; }\n\n.table-hover .table-secondary:hover {\n background-color: #e2e6ea; }\n .table-hover .table-secondary:hover > td,\n .table-hover .table-secondary:hover > th {\n background-color: #e2e6ea; }\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #b8e6d1; }\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #7ad1a9; }\n\n.table-hover .table-success:hover {\n background-color: #a5dfc5; }\n .table-hover .table-success:hover > td,\n .table-hover .table-success:hover > th {\n background-color: #a5dfc5; }\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #cfcfcf; }\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #a7a7a7; }\n\n.table-hover .table-info:hover {\n background-color: #c2c2c2; }\n .table-hover .table-info:hover > td,\n .table-hover .table-info:hover > th {\n background-color: #c2c2c2; }\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #eddbbe; }\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #debc86; }\n\n.table-hover .table-warning:hover {\n background-color: #e7d0aa; }\n .table-hover .table-warning:hover > td,\n .table-hover .table-warning:hover > th {\n background-color: #e7d0aa; }\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5cdc8; }\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #eda198; }\n\n.table-hover .table-danger:hover {\n background-color: #f1b9b2; }\n .table-hover .table-danger:hover > td,\n .table-hover .table-danger:hover > th {\n background-color: #f1b9b2; }\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe; }\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc; }\n\n.table-hover .table-light:hover {\n background-color: #ececf6; }\n .table-hover .table-light:hover > td,\n .table-hover .table-light:hover > th {\n background-color: #ececf6; }\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca; }\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c; }\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe; }\n .table-hover .table-dark:hover > td,\n .table-hover .table-dark:hover > th {\n background-color: #b9bbbe; }\n\n.table-primary-accent,\n.table-primary-accent > th,\n.table-primary-accent > td {\n background-color: #bdcfe5; }\n\n.table-primary-accent th,\n.table-primary-accent td,\n.table-primary-accent thead th,\n.table-primary-accent tbody + tbody {\n border-color: #84a5cf; }\n\n.table-hover .table-primary-accent:hover {\n background-color: #abc2de; }\n .table-hover .table-primary-accent:hover > td,\n .table-hover .table-primary-accent:hover > th {\n background-color: #abc2de; }\n\n.table-secondary-alt,\n.table-secondary-alt > th,\n.table-secondary-alt > td {\n background-color: #bfc8d4; }\n\n.table-secondary-alt th,\n.table-secondary-alt td,\n.table-secondary-alt thead th,\n.table-secondary-alt tbody + tbody {\n border-color: #8899af; }\n\n.table-hover .table-secondary-alt:hover {\n background-color: #b0bbca; }\n .table-hover .table-secondary-alt:hover > td,\n .table-hover .table-secondary-alt:hover > th {\n background-color: #b0bbca; }\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.03); }\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.03); }\n .table-hover .table-active:hover > td,\n .table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.03); }\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55; }\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6; }\n\n.table-dark {\n color: #fff;\n background-color: #343a40; }\n .table-dark th,\n .table-dark td,\n .table-dark thead th {\n border-color: #454d55; }\n .table-dark.table-bordered {\n border: 0; }\n .table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05); }\n .table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075); }\n\n@media (max-width: 0.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch; }\n .table-responsive-sm > .table-bordered {\n border: 0; } }\n\n@media (max-width: 1.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch; }\n .table-responsive-md > .table-bordered {\n border: 0; } }\n\n@media (max-width: 2.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch; }\n .table-responsive-lg > .table-bordered {\n border: 0; } }\n\n@media (max-width: 3.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch; }\n .table-responsive-xl > .table-bordered {\n border: 0; } }\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch; }\n .table-responsive > .table-bordered {\n border: 0; }\n\n.form-control {\n display: block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fbfbfb;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }\n @media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none; } }\n .form-control::-ms-expand {\n background-color: transparent;\n border: 0; }\n .form-control:focus {\n color: #495057;\n background-color: #ffffff;\n border-color: #81a9f2;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .form-control::placeholder {\n color: #b4b4b4;\n opacity: 1; }\n .form-control:disabled, .form-control[readonly] {\n background-color: #e0e0e0;\n opacity: 1; }\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fbfbfb; }\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%; }\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5; }\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.15rem;\n line-height: 1.5; }\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5; }\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n margin-bottom: 0;\n line-height: 1.5;\n color: #333333;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0; }\n .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0; }\n\n.form-control-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem; }\n\n.form-control-lg {\n height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.15rem;\n line-height: 1.5;\n border-radius: 0.3rem; }\n\nselect.form-control[size], select.form-control[multiple] {\n height: auto; }\n\ntextarea.form-control {\n height: auto; }\n\n.form-group {\n margin-bottom: 1rem; }\n\n.form-text {\n display: block;\n margin-top: 0.25rem; }\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px; }\n .form-row > .col,\n .form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px; }\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem; }\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem; }\n .form-check-input:disabled ~ .form-check-label {\n color: #6c757d; }\n\n.form-check-label {\n margin-bottom: 0; }\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem; }\n .form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0; }\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 90%;\n color: #00a65a; }\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(0, 166, 90, 0.9);\n border-radius: 0.25rem; }\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #00a65a;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300a65a' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: center right calc(0.375em + 0.1875rem);\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }\n .was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #00a65a;\n box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.25); }\n .was-validated .form-control:valid ~ .valid-feedback,\n .was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,\n .form-control.is-valid ~ .valid-tooltip {\n display: block; }\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); }\n\n.was-validated .custom-select:valid, .custom-select.is-valid {\n border-color: #00a65a;\n padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300a65a' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fbfbfb no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }\n .was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\n border-color: #00a65a;\n box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.25); }\n .was-validated .custom-select:valid ~ .valid-feedback,\n .was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback,\n .custom-select.is-valid ~ .valid-tooltip {\n display: block; }\n\n.was-validated .form-control-file:valid ~ .valid-feedback,\n.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback,\n.form-control-file.is-valid ~ .valid-tooltip {\n display: block; }\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #00a65a; }\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block; }\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #00a65a; }\n .was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n border-color: #00a65a; }\n\n.was-validated .custom-control-input:valid ~ .valid-feedback,\n.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,\n.custom-control-input.is-valid ~ .valid-tooltip {\n display: block; }\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n border-color: #00d976;\n background-color: #00d976; }\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.25); }\n\n.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #00a65a; }\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #00a65a; }\n\n.was-validated .custom-file-input:valid ~ .valid-feedback,\n.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,\n.custom-file-input.is-valid ~ .valid-tooltip {\n display: block; }\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n border-color: #00a65a;\n box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.25); }\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 90%;\n color: #dd4b39; }\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(221, 75, 57, 0.9);\n border-radius: 0.25rem; }\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dd4b39;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dd4b39' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dd4b39' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\");\n background-repeat: no-repeat;\n background-position: center right calc(0.375em + 0.1875rem);\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }\n .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dd4b39;\n box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.25); }\n .was-validated .form-control:invalid ~ .invalid-feedback,\n .was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\n .form-control.is-invalid ~ .invalid-tooltip {\n display: block; }\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); }\n\n.was-validated .custom-select:invalid, .custom-select.is-invalid {\n border-color: #dd4b39;\n padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dd4b39' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dd4b39' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\") #fbfbfb no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }\n .was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\n border-color: #dd4b39;\n box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.25); }\n .was-validated .custom-select:invalid ~ .invalid-feedback,\n .was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback,\n .custom-select.is-invalid ~ .invalid-tooltip {\n display: block; }\n\n.was-validated .form-control-file:invalid ~ .invalid-feedback,\n.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback,\n.form-control-file.is-invalid ~ .invalid-tooltip {\n display: block; }\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dd4b39; }\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block; }\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dd4b39; }\n .was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n border-color: #dd4b39; }\n\n.was-validated .custom-control-input:invalid ~ .invalid-feedback,\n.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,\n.custom-control-input.is-invalid ~ .invalid-tooltip {\n display: block; }\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n border-color: #e47365;\n background-color: #e47365; }\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.25); }\n\n.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #dd4b39; }\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dd4b39; }\n\n.was-validated .custom-file-input:invalid ~ .invalid-feedback,\n.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,\n.custom-file-input.is-invalid ~ .invalid-tooltip {\n display: block; }\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n border-color: #dd4b39;\n box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.25); }\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center; }\n .form-inline .form-check {\n width: 100%; }\n @media (min-width: 1px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0; }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0; }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle; }\n .form-inline .form-control-plaintext {\n display: inline-block; }\n .form-inline .input-group,\n .form-inline .custom-select {\n width: auto; }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0; }\n .form-inline .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0; }\n .form-inline .custom-control {\n align-items: center;\n justify-content: center; }\n .form-inline .custom-control-label {\n margin-bottom: 0; } }\n\n.btn, .swal2-popup .swal2-actions button {\n display: inline-block;\n font-weight: 600;\n color: #333333;\n text-align: center;\n vertical-align: middle;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }\n @media (prefers-reduced-motion: reduce) {\n .btn, .swal2-popup .swal2-actions button {\n transition: none; } }\n .btn:hover, .swal2-popup .swal2-actions button:hover {\n color: #333333;\n text-decoration: none; }\n .btn:focus, .swal2-popup .swal2-actions button:focus, .btn.focus, .swal2-popup .swal2-actions button.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .btn.disabled, .swal2-popup .swal2-actions button.disabled, .btn:disabled, .swal2-popup .swal2-actions button:disabled {\n opacity: 0.65; }\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none; }\n\n.btn-primary, .swal2-popup .swal2-actions button.swal2-confirm {\n color: #fff;\n background-color: #175DDC;\n border-color: #175DDC; }\n .btn-primary:hover, .swal2-popup .swal2-actions button.swal2-confirm:hover {\n color: #fff;\n background-color: #134eb9;\n border-color: #1249ae; }\n .btn-primary:focus, .swal2-popup .swal2-actions button.swal2-confirm:focus, .btn-primary.focus, .swal2-popup .swal2-actions button.focus.swal2-confirm {\n box-shadow: 0 0 0 0.2rem rgba(58, 117, 225, 0.5); }\n .btn-primary.disabled, .swal2-popup .swal2-actions button.disabled.swal2-confirm, .btn-primary:disabled, .swal2-popup .swal2-actions button.swal2-confirm:disabled {\n color: #fff;\n background-color: #175DDC;\n border-color: #175DDC; }\n .btn-primary:not(:disabled):not(.disabled):active, .swal2-popup .swal2-actions button.swal2-confirm:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .swal2-popup .swal2-actions button.swal2-confirm:not(:disabled):not(.disabled).active,\n .show > .btn-primary.dropdown-toggle,\n .swal2-popup .swal2-actions .show > button.dropdown-toggle.swal2-confirm {\n color: #fff;\n background-color: #1249ae;\n border-color: #1145a2; }\n .btn-primary:not(:disabled):not(.disabled):active:focus, .swal2-popup .swal2-actions button.swal2-confirm:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .swal2-popup .swal2-actions button.swal2-confirm:not(:disabled):not(.disabled).active:focus,\n .show > .btn-primary.dropdown-toggle:focus,\n .swal2-popup .swal2-actions .show > button.dropdown-toggle.swal2-confirm:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 117, 225, 0.5); }\n\n.btn-secondary {\n color: #212529;\n background-color: #ced4da;\n border-color: #ced4da; }\n .btn-secondary:hover {\n color: #212529;\n background-color: #b8c1ca;\n border-color: #b1bbc4; }\n .btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(180, 186, 191, 0.5); }\n .btn-secondary.disabled, .btn-secondary:disabled {\n color: #212529;\n background-color: #ced4da;\n border-color: #ced4da; }\n .btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n .show > .btn-secondary.dropdown-toggle {\n color: #212529;\n background-color: #b1bbc4;\n border-color: #aab4bf; }\n .btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n .show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(180, 186, 191, 0.5); }\n\n.btn-success {\n color: #fff;\n background-color: #00a65a;\n border-color: #00a65a; }\n .btn-success:hover {\n color: #fff;\n background-color: #008045;\n border-color: #00733e; }\n .btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 179, 115, 0.5); }\n .btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #00a65a;\n border-color: #00a65a; }\n .btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n .show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #00733e;\n border-color: #006637; }\n .btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n .show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 179, 115, 0.5); }\n\n.btn-info {\n color: #fff;\n background-color: #555555;\n border-color: #555555; }\n .btn-info:hover {\n color: #fff;\n background-color: #424242;\n border-color: #3c3c3c; }\n .btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(111, 111, 111, 0.5); }\n .btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #555555;\n border-color: #555555; }\n .btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n .show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #3c3c3c;\n border-color: #353535; }\n .btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n .show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(111, 111, 111, 0.5); }\n\n.btn-warning {\n color: #fff;\n background-color: #bf7e16;\n border-color: #bf7e16; }\n .btn-warning:hover {\n color: #fff;\n background-color: #9d6712;\n border-color: #916011; }\n .btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(201, 145, 57, 0.5); }\n .btn-warning.disabled, .btn-warning:disabled {\n color: #fff;\n background-color: #bf7e16;\n border-color: #bf7e16; }\n .btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n .show > .btn-warning.dropdown-toggle {\n color: #fff;\n background-color: #916011;\n border-color: #86580f; }\n .btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n .show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(201, 145, 57, 0.5); }\n\n.btn-danger {\n color: #fff;\n background-color: #dd4b39;\n border-color: #dd4b39; }\n .btn-danger:hover {\n color: #fff;\n background-color: #cd3623;\n border-color: #c23321; }\n .btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(226, 102, 87, 0.5); }\n .btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dd4b39;\n border-color: #dd4b39; }\n .btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n .show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #c23321;\n border-color: #b7301f; }\n .btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n .show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(226, 102, 87, 0.5); }\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa; }\n .btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5; }\n .btn-light:focus, .btn-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }\n .btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa; }\n .btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n .show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df; }\n .btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n .show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40; }\n .btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124; }\n .btn-dark:focus, .btn-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }\n .btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40; }\n .btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n .show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d; }\n .btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n .show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }\n\n.btn-primary-accent {\n color: #fff;\n background-color: #1252A3;\n border-color: #1252A3; }\n .btn-primary-accent:hover {\n color: #fff;\n background-color: #0e4181;\n border-color: #0d3b75; }\n .btn-primary-accent:focus, .btn-primary-accent.focus {\n box-shadow: 0 0 0 0.2rem rgba(54, 108, 177, 0.5); }\n .btn-primary-accent.disabled, .btn-primary-accent:disabled {\n color: #fff;\n background-color: #1252A3;\n border-color: #1252A3; }\n .btn-primary-accent:not(:disabled):not(.disabled):active, .btn-primary-accent:not(:disabled):not(.disabled).active,\n .show > .btn-primary-accent.dropdown-toggle {\n color: #fff;\n background-color: #0d3b75;\n border-color: #0c356a; }\n .btn-primary-accent:not(:disabled):not(.disabled):active:focus, .btn-primary-accent:not(:disabled):not(.disabled).active:focus,\n .show > .btn-primary-accent.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(54, 108, 177, 0.5); }\n\n.btn-secondary-alt {\n color: #fff;\n background-color: #1A3B66;\n border-color: #1A3B66; }\n .btn-secondary-alt:hover {\n color: #fff;\n background-color: #122948;\n border-color: #10233d; }\n .btn-secondary-alt:focus, .btn-secondary-alt.focus {\n box-shadow: 0 0 0 0.2rem rgba(60, 88, 125, 0.5); }\n .btn-secondary-alt.disabled, .btn-secondary-alt:disabled {\n color: #fff;\n background-color: #1A3B66;\n border-color: #1A3B66; }\n .btn-secondary-alt:not(:disabled):not(.disabled):active, .btn-secondary-alt:not(:disabled):not(.disabled).active,\n .show > .btn-secondary-alt.dropdown-toggle {\n color: #fff;\n background-color: #10233d;\n border-color: #0d1e33; }\n .btn-secondary-alt:not(:disabled):not(.disabled):active:focus, .btn-secondary-alt:not(:disabled):not(.disabled).active:focus,\n .show > .btn-secondary-alt.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(60, 88, 125, 0.5); }\n\n.btn-outline-primary {\n color: #175DDC;\n border-color: #175DDC; }\n .btn-outline-primary:hover {\n color: #fff;\n background-color: #175DDC;\n border-color: #175DDC; }\n .btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.5); }\n .btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #175DDC;\n background-color: transparent; }\n .btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n .show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #175DDC;\n border-color: #175DDC; }\n .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.5); }\n\n.btn-outline-secondary, .swal2-popup .swal2-actions button.swal2-cancel {\n color: #ced4da;\n border-color: #ced4da; }\n .btn-outline-secondary:hover, .swal2-popup .swal2-actions button.swal2-cancel:hover {\n color: #212529;\n background-color: #ced4da;\n border-color: #ced4da; }\n .btn-outline-secondary:focus, .swal2-popup .swal2-actions button.swal2-cancel:focus, .btn-outline-secondary.focus, .swal2-popup .swal2-actions button.focus.swal2-cancel {\n box-shadow: 0 0 0 0.2rem rgba(206, 212, 218, 0.5); }\n .btn-outline-secondary.disabled, .swal2-popup .swal2-actions button.disabled.swal2-cancel, .btn-outline-secondary:disabled, .swal2-popup .swal2-actions button.swal2-cancel:disabled {\n color: #ced4da;\n background-color: transparent; }\n .btn-outline-secondary:not(:disabled):not(.disabled):active, .swal2-popup .swal2-actions button.swal2-cancel:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, .swal2-popup .swal2-actions button.swal2-cancel:not(:disabled):not(.disabled).active,\n .show > .btn-outline-secondary.dropdown-toggle,\n .swal2-popup .swal2-actions .show > button.dropdown-toggle.swal2-cancel {\n color: #212529;\n background-color: #ced4da;\n border-color: #ced4da; }\n .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .swal2-popup .swal2-actions button.swal2-cancel:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .swal2-popup .swal2-actions button.swal2-cancel:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-secondary.dropdown-toggle:focus,\n .swal2-popup .swal2-actions .show > button.dropdown-toggle.swal2-cancel:focus {\n box-shadow: 0 0 0 0.2rem rgba(206, 212, 218, 0.5); }\n\n.btn-outline-success {\n color: #00a65a;\n border-color: #00a65a; }\n .btn-outline-success:hover {\n color: #fff;\n background-color: #00a65a;\n border-color: #00a65a; }\n .btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.5); }\n .btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #00a65a;\n background-color: transparent; }\n .btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n .show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #00a65a;\n border-color: #00a65a; }\n .btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.5); }\n\n.btn-outline-info {\n color: #555555;\n border-color: #555555; }\n .btn-outline-info:hover {\n color: #fff;\n background-color: #555555;\n border-color: #555555; }\n .btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(85, 85, 85, 0.5); }\n .btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #555555;\n background-color: transparent; }\n .btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n .show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #555555;\n border-color: #555555; }\n .btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(85, 85, 85, 0.5); }\n\n.btn-outline-warning {\n color: #bf7e16;\n border-color: #bf7e16; }\n .btn-outline-warning:hover {\n color: #fff;\n background-color: #bf7e16;\n border-color: #bf7e16; }\n .btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(191, 126, 22, 0.5); }\n .btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #bf7e16;\n background-color: transparent; }\n .btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n .show > .btn-outline-warning.dropdown-toggle {\n color: #fff;\n background-color: #bf7e16;\n border-color: #bf7e16; }\n .btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(191, 126, 22, 0.5); }\n\n.btn-outline-danger {\n color: #dd4b39;\n border-color: #dd4b39; }\n .btn-outline-danger:hover {\n color: #fff;\n background-color: #dd4b39;\n border-color: #dd4b39; }\n .btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.5); }\n .btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dd4b39;\n background-color: transparent; }\n .btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n .show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dd4b39;\n border-color: #dd4b39; }\n .btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.5); }\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa; }\n .btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa; }\n .btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }\n .btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent; }\n .btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n .show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa; }\n .btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40; }\n .btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40; }\n .btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }\n .btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent; }\n .btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n .show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40; }\n .btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }\n\n.btn-outline-primary-accent {\n color: #1252A3;\n border-color: #1252A3; }\n .btn-outline-primary-accent:hover {\n color: #fff;\n background-color: #1252A3;\n border-color: #1252A3; }\n .btn-outline-primary-accent:focus, .btn-outline-primary-accent.focus {\n box-shadow: 0 0 0 0.2rem rgba(18, 82, 163, 0.5); }\n .btn-outline-primary-accent.disabled, .btn-outline-primary-accent:disabled {\n color: #1252A3;\n background-color: transparent; }\n .btn-outline-primary-accent:not(:disabled):not(.disabled):active, .btn-outline-primary-accent:not(:disabled):not(.disabled).active,\n .show > .btn-outline-primary-accent.dropdown-toggle {\n color: #fff;\n background-color: #1252A3;\n border-color: #1252A3; }\n .btn-outline-primary-accent:not(:disabled):not(.disabled):active:focus, .btn-outline-primary-accent:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-primary-accent.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(18, 82, 163, 0.5); }\n\n.btn-outline-secondary-alt {\n color: #1A3B66;\n border-color: #1A3B66; }\n .btn-outline-secondary-alt:hover {\n color: #fff;\n background-color: #1A3B66;\n border-color: #1A3B66; }\n .btn-outline-secondary-alt:focus, .btn-outline-secondary-alt.focus {\n box-shadow: 0 0 0 0.2rem rgba(26, 59, 102, 0.5); }\n .btn-outline-secondary-alt.disabled, .btn-outline-secondary-alt:disabled {\n color: #1A3B66;\n background-color: transparent; }\n .btn-outline-secondary-alt:not(:disabled):not(.disabled):active, .btn-outline-secondary-alt:not(:disabled):not(.disabled).active,\n .show > .btn-outline-secondary-alt.dropdown-toggle {\n color: #fff;\n background-color: #1A3B66;\n border-color: #1A3B66; }\n .btn-outline-secondary-alt:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary-alt:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-secondary-alt.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(26, 59, 102, 0.5); }\n\n.btn-link {\n font-weight: 400;\n color: #175DDC;\n text-decoration: none; }\n .btn-link:hover {\n color: #104097;\n text-decoration: underline; }\n .btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n box-shadow: none; }\n .btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none; }\n\n.btn-lg, .btn-group-lg > .btn, .swal2-popup .swal2-actions .btn-group-lg > button {\n padding: 0.5rem 1rem;\n font-size: 1.15rem;\n line-height: 1.5;\n border-radius: 0.3rem; }\n\n.btn-sm, .btn-group-sm > .btn, .swal2-popup .swal2-actions .btn-group-sm > button {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem; }\n\n.btn-block {\n display: block;\n width: 100%; }\n .btn-block + .btn-block {\n margin-top: 0.5rem; }\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%; }\n\n.fade {\n transition: opacity 0.15s linear; }\n @media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none; } }\n .fade:not(.show) {\n opacity: 0; }\n\n.collapse:not(.show) {\n display: none; }\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease; }\n @media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none; } }\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative; }\n\n.dropdown-toggle {\n white-space: nowrap; }\n .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent; }\n .dropdown-toggle:empty::after {\n margin-left: 0; }\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #333333;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem; }\n\n.dropdown-menu-left {\n right: auto;\n left: 0; }\n\n.dropdown-menu-right {\n right: 0;\n left: auto; }\n\n@media (min-width: 1px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0; }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto; } }\n\n@media (min-width: 2px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0; }\n .dropdown-menu-md-right {\n right: 0;\n left: auto; } }\n\n@media (min-width: 3px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0; }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto; } }\n\n@media (min-width: 4px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0; }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto; } }\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem; }\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent; }\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0; }\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem; }\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid; }\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0; }\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0; }\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem; }\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\"; }\n\n.dropleft .dropdown-toggle::after {\n display: none; }\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent; }\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0; }\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0; }\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto; }\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef; }\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1rem;\n clear: both;\n font-weight: 400;\n color: #333333;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0; }\n .dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: rgba(0, 0, 0, 0.06); }\n .dropdown-item.active, .dropdown-item:active {\n color: #333333;\n text-decoration: none;\n background-color: rgba(0, 0, 0, 0.1); }\n .dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent; }\n\n.dropdown-menu.show {\n display: block; }\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap; }\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1rem;\n color: #333333; }\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; }\n .btn-group > .btn, .swal2-popup .swal2-actions .btn-group > button,\n .btn-group-vertical > .btn,\n .swal2-popup .swal2-actions .btn-group-vertical > button {\n position: relative;\n flex: 1 1 auto; }\n .btn-group > .btn:hover, .swal2-popup .swal2-actions .btn-group > button:hover,\n .btn-group-vertical > .btn:hover,\n .swal2-popup .swal2-actions .btn-group-vertical > button:hover {\n z-index: 1; }\n .btn-group > .btn:focus, .swal2-popup .swal2-actions .btn-group > button:focus, .btn-group > .btn:active, .swal2-popup .swal2-actions .btn-group > button:active, .btn-group > .btn.active, .swal2-popup .swal2-actions .btn-group > button.active,\n .btn-group-vertical > .btn:focus,\n .swal2-popup .swal2-actions .btn-group-vertical > button:focus,\n .btn-group-vertical > .btn:active,\n .swal2-popup .swal2-actions .btn-group-vertical > button:active,\n .btn-group-vertical > .btn.active,\n .swal2-popup .swal2-actions .btn-group-vertical > button.active {\n z-index: 1; }\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start; }\n .btn-toolbar .input-group {\n width: auto; }\n\n.btn-group > .btn:not(:first-child), .swal2-popup .swal2-actions .btn-group > button:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px; }\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle), .swal2-popup .swal2-actions .btn-group > button:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn,\n.swal2-popup .swal2-actions .btn-group > .btn-group:not(:last-child) > button {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n\n.btn-group > .btn:not(:first-child), .swal2-popup .swal2-actions .btn-group > button:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn,\n.swal2-popup .swal2-actions .btn-group > .btn-group:not(:first-child) > button {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0; }\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem; }\n .dropdown-toggle-split::after,\n .dropup .dropdown-toggle-split::after,\n .dropright .dropdown-toggle-split::after {\n margin-left: 0; }\n .dropleft .dropdown-toggle-split::before {\n margin-right: 0; }\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split, .swal2-popup .swal2-actions .btn-group-sm > button + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem; }\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split, .swal2-popup .swal2-actions .btn-group-lg > button + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem; }\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center; }\n \n .btn-group-vertical > .btn,\n .swal2-popup .swal2-actions .btn-group-vertical > button,\n .btn-group-vertical > .btn-group {\n width: 100%; }\n .btn-group-vertical > .btn:not(:first-child), .swal2-popup .swal2-actions .btn-group-vertical > button:not(:first-child),\n .btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px; }\n .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), .swal2-popup .swal2-actions .btn-group-vertical > button:not(:last-child):not(.dropdown-toggle),\n .btn-group-vertical > .btn-group:not(:last-child) > .btn,\n .swal2-popup .swal2-actions .btn-group-vertical > .btn-group:not(:last-child) > button {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0; }\n .btn-group-vertical > .btn:not(:first-child), .swal2-popup .swal2-actions .btn-group-vertical > button:not(:first-child),\n .btn-group-vertical > .btn-group:not(:first-child) > .btn,\n .swal2-popup .swal2-actions .btn-group-vertical > .btn-group:not(:first-child) > button {\n border-top-left-radius: 0;\n border-top-right-radius: 0; }\n\n.btn-group-toggle > .btn, .swal2-popup .swal2-actions .btn-group-toggle > button,\n.btn-group-toggle > .btn-group > .btn,\n.swal2-popup .swal2-actions .btn-group-toggle > .btn-group > button {\n margin-bottom: 0; }\n .btn-group-toggle > .btn input[type=\"radio\"], .swal2-popup .swal2-actions .btn-group-toggle > button input[type=\"radio\"],\n .btn-group-toggle > .btn input[type=\"checkbox\"],\n .swal2-popup .swal2-actions .btn-group-toggle > button input[type=\"checkbox\"],\n .btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n .swal2-popup .swal2-actions .btn-group-toggle > .btn-group > button input[type=\"radio\"],\n .btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"],\n .swal2-popup .swal2-actions .btn-group-toggle > .btn-group > button input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none; }\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%; }\n .input-group > .form-control,\n .input-group > .form-control-plaintext,\n .input-group > .custom-select,\n .input-group > .custom-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0; }\n .input-group > .form-control + .form-control,\n .input-group > .form-control + .custom-select,\n .input-group > .form-control + .custom-file,\n .input-group > .form-control-plaintext + .form-control,\n .input-group > .form-control-plaintext + .custom-select,\n .input-group > .form-control-plaintext + .custom-file,\n .input-group > .custom-select + .form-control,\n .input-group > .custom-select + .custom-select,\n .input-group > .custom-select + .custom-file,\n .input-group > .custom-file + .form-control,\n .input-group > .custom-file + .custom-select,\n .input-group > .custom-file + .custom-file {\n margin-left: -1px; }\n .input-group > .form-control:focus,\n .input-group > .custom-select:focus,\n .input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3; }\n .input-group > .custom-file .custom-file-input:focus {\n z-index: 4; }\n .input-group > .form-control:not(:last-child),\n .input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n .input-group > .form-control:not(:first-child),\n .input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0; }\n .input-group > .custom-file {\n display: flex;\n align-items: center; }\n .input-group > .custom-file:not(:last-child) .custom-file-label,\n .input-group > .custom-file:not(:last-child) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n .input-group > .custom-file:not(:first-child) .custom-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0; }\n\n.input-group-prepend,\n.input-group-append {\n display: flex; }\n .input-group-prepend .btn, .input-group-prepend .swal2-popup .swal2-actions button, .swal2-popup .swal2-actions .input-group-prepend button,\n .input-group-append .btn,\n .input-group-append .swal2-popup .swal2-actions button,\n .swal2-popup .swal2-actions .input-group-append button {\n position: relative;\n z-index: 2; }\n .input-group-prepend .btn:focus, .input-group-prepend .swal2-popup .swal2-actions button:focus, .swal2-popup .swal2-actions .input-group-prepend button:focus,\n .input-group-append .btn:focus,\n .input-group-append .swal2-popup .swal2-actions button:focus,\n .swal2-popup .swal2-actions .input-group-append button:focus {\n z-index: 3; }\n .input-group-prepend .btn + .btn, .input-group-prepend .swal2-popup .swal2-actions button + .btn, .swal2-popup .swal2-actions .input-group-prepend button + .btn, .input-group-prepend .swal2-popup .swal2-actions .btn + button, .swal2-popup .swal2-actions .input-group-prepend .btn + button, .input-group-prepend .swal2-popup .swal2-actions button + button, .swal2-popup .swal2-actions .input-group-prepend button + button,\n .input-group-prepend .btn + .input-group-text,\n .input-group-prepend .swal2-popup .swal2-actions button + .input-group-text,\n .swal2-popup .swal2-actions .input-group-prepend button + .input-group-text,\n .input-group-prepend .input-group-text + .input-group-text,\n .input-group-prepend .input-group-text + .btn,\n .input-group-prepend .swal2-popup .swal2-actions .input-group-text + button,\n .swal2-popup .swal2-actions .input-group-prepend .input-group-text + button,\n .input-group-append .btn + .btn,\n .input-group-append .swal2-popup .swal2-actions button + .btn,\n .swal2-popup .swal2-actions .input-group-append button + .btn,\n .input-group-append .swal2-popup .swal2-actions .btn + button,\n .swal2-popup .swal2-actions .input-group-append .btn + button,\n .input-group-append .swal2-popup .swal2-actions button + button,\n .swal2-popup .swal2-actions .input-group-append button + button,\n .input-group-append .btn + .input-group-text,\n .input-group-append .swal2-popup .swal2-actions button + .input-group-text,\n .swal2-popup .swal2-actions .input-group-append button + .input-group-text,\n .input-group-append .input-group-text + .input-group-text,\n .input-group-append .input-group-text + .btn,\n .input-group-append .swal2-popup .swal2-actions .input-group-text + button,\n .swal2-popup .swal2-actions .input-group-append .input-group-text + button {\n margin-left: -1px; }\n\n.input-group-prepend {\n margin-right: -1px; }\n\n.input-group-append {\n margin-left: -1px; }\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem; }\n .input-group-text input[type=\"radio\"],\n .input-group-text input[type=\"checkbox\"] {\n margin-top: 0; }\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: calc(1.5em + 1rem + 2px); }\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.swal2-popup .swal2-actions .input-group-lg > .input-group-prepend > button,\n.input-group-lg > .input-group-append > .btn,\n.swal2-popup .swal2-actions .input-group-lg > .input-group-append > button {\n padding: 0.5rem 1rem;\n font-size: 1.15rem;\n line-height: 1.5;\n border-radius: 0.3rem; }\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: calc(1.5em + 0.5rem + 2px); }\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.swal2-popup .swal2-actions .input-group-sm > .input-group-prepend > button,\n.input-group-sm > .input-group-append > .btn,\n.swal2-popup .swal2-actions .input-group-sm > .input-group-append > button {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem; }\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: 1.75rem; }\n\n.input-group > .input-group-prepend > .btn, .swal2-popup .swal2-actions .input-group > .input-group-prepend > button,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.swal2-popup .swal2-actions .input-group > .input-group-append:not(:last-child) > button,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.swal2-popup .swal2-actions .input-group > .input-group-append:last-child > button:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n\n.input-group > .input-group-append > .btn, .swal2-popup .swal2-actions .input-group > .input-group-append > button,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.swal2-popup .swal2-actions .input-group > .input-group-prepend:not(:first-child) > button,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.swal2-popup .swal2-actions .input-group > .input-group-prepend:first-child > button:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0; }\n\n.custom-control {\n position: relative;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem; }\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: 1rem; }\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0; }\n .custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n border-color: #175DDC;\n background-color: #175DDC; }\n .custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #81a9f2; }\n .custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n color: #fff;\n background-color: #afc8f7;\n border-color: #afc8f7; }\n .custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d; }\n .custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e0e0e0; }\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n vertical-align: top; }\n .custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n background-color: #fbfbfb;\n border: #adb5bd solid 1px; }\n .custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background: no-repeat 50% / 50% 50%; }\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem; }\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e\"); }\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n border-color: #175DDC;\n background-color: #175DDC; }\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\"); }\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(23, 93, 220, 0.5); }\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(23, 93, 220, 0.5); }\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%; }\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\"); }\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(23, 93, 220, 0.5); }\n\n.custom-switch {\n padding-left: 2.25rem; }\n .custom-switch .custom-control-label::before {\n left: -2.25rem;\n width: 1.75rem;\n pointer-events: all;\n border-radius: 0.5rem; }\n .custom-switch .custom-control-label::after {\n top: calc(0.25rem + 2px);\n left: calc(-2.25rem + 2px);\n width: calc(1rem - 4px);\n height: calc(1rem - 4px);\n background-color: #adb5bd;\n border-radius: 0.5rem;\n transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }\n @media (prefers-reduced-motion: reduce) {\n .custom-switch .custom-control-label::after {\n transition: none; } }\n .custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n background-color: #fbfbfb;\n transform: translateX(0.75rem); }\n .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(23, 93, 220, 0.5); }\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px;\n background-color: #fbfbfb;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none; }\n .custom-select:focus {\n border-color: #81a9f2;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fbfbfb; }\n .custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none; }\n .custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef; }\n .custom-select::-ms-expand {\n display: none; }\n\n.custom-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem; }\n\n.custom-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.15rem; }\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0; }\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n opacity: 0; }\n .custom-file-input:focus ~ .custom-file-label {\n border-color: #81a9f2;\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .custom-file-input:disabled ~ .custom-file-label {\n background-color: #e0e0e0; }\n .custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\"; }\n .custom-file-input ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse); }\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fbfbfb;\n border: 1px solid #ced4da;\n border-radius: 0.25rem; }\n .custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(1.5em + 0.75rem);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: inherit;\n border-radius: 0 0.25rem 0.25rem 0; }\n\n.custom-range {\n width: 100%;\n height: calc(1rem + 0.4rem);\n padding: 0;\n background-color: transparent;\n appearance: none; }\n .custom-range:focus {\n outline: none; }\n .custom-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #ffffff, 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .custom-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #ffffff, 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .custom-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #ffffff, 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .custom-range::-moz-focus-outer {\n border: 0; }\n .custom-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #175DDC;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none; }\n @media (prefers-reduced-motion: reduce) {\n .custom-range::-webkit-slider-thumb {\n transition: none; } }\n .custom-range::-webkit-slider-thumb:active {\n background-color: #afc8f7; }\n .custom-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem; }\n .custom-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #175DDC;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none; }\n @media (prefers-reduced-motion: reduce) {\n .custom-range::-moz-range-thumb {\n transition: none; } }\n .custom-range::-moz-range-thumb:active {\n background-color: #afc8f7; }\n .custom-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem; }\n .custom-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #175DDC;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none; }\n @media (prefers-reduced-motion: reduce) {\n .custom-range::-ms-thumb {\n transition: none; } }\n .custom-range::-ms-thumb:active {\n background-color: #afc8f7; }\n .custom-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem; }\n .custom-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem; }\n .custom-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem; }\n .custom-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd; }\n .custom-range:disabled::-webkit-slider-runnable-track {\n cursor: default; }\n .custom-range:disabled::-moz-range-thumb {\n background-color: #adb5bd; }\n .custom-range:disabled::-moz-range-track {\n cursor: default; }\n .custom-range:disabled::-ms-thumb {\n background-color: #adb5bd; }\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }\n @media (prefers-reduced-motion: reduce) {\n .custom-control-label::before,\n .custom-file-label,\n .custom-select {\n transition: none; } }\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none; }\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem; }\n .nav-link:hover, .nav-link:focus {\n text-decoration: none; }\n .nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default; }\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6; }\n .nav-tabs .nav-item {\n margin-bottom: -1px; }\n .nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem; }\n .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6; }\n .nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent; }\n .nav-tabs .nav-link.active,\n .nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #ffffff;\n border-color: #dee2e6 #dee2e6 #ffffff; }\n .nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0; }\n\n.nav-pills .nav-link {\n border-radius: 0.25rem; }\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #175DDC; }\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center; }\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center; }\n\n.tab-content > .tab-pane {\n display: none; }\n\n.tab-content > .active {\n display: block; }\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.75rem 1rem; }\n .navbar > .container,\n .navbar > .container-fluid {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between; }\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0;\n padding-bottom: 0;\n margin-right: 1rem;\n font-size: 2.1875rem;\n line-height: inherit;\n white-space: nowrap; }\n .navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none; }\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none; }\n .navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0; }\n .navbar-nav .dropdown-menu {\n position: static;\n float: none; }\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem; }\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center; }\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.15rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem; }\n .navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none; }\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%; }\n\n@media (max-width: 0.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n padding-right: 0;\n padding-left: 0; } }\n\n@media (min-width: 1px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start; }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row; }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute; }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.8rem;\n padding-left: 0.8rem; }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n flex-wrap: nowrap; }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto; }\n .navbar-expand-sm .navbar-toggler {\n display: none; } }\n\n@media (max-width: 1.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n padding-right: 0;\n padding-left: 0; } }\n\n@media (min-width: 2px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start; }\n .navbar-expand-md .navbar-nav {\n flex-direction: row; }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute; }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.8rem;\n padding-left: 0.8rem; }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n flex-wrap: nowrap; }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto; }\n .navbar-expand-md .navbar-toggler {\n display: none; } }\n\n@media (max-width: 2.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n padding-right: 0;\n padding-left: 0; } }\n\n@media (min-width: 3px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start; }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row; }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute; }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.8rem;\n padding-left: 0.8rem; }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n flex-wrap: nowrap; }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto; }\n .navbar-expand-lg .navbar-toggler {\n display: none; } }\n\n@media (max-width: 3.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n padding-right: 0;\n padding-left: 0; } }\n\n@media (min-width: 4px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start; }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row; }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute; }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.8rem;\n padding-left: 0.8rem; }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n flex-wrap: nowrap; }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto; }\n .navbar-expand-xl .navbar-toggler {\n display: none; } }\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start; }\n .navbar-expand > .container,\n .navbar-expand > .container-fluid {\n padding-right: 0;\n padding-left: 0; }\n .navbar-expand .navbar-nav {\n flex-direction: row; }\n .navbar-expand .navbar-nav .dropdown-menu {\n position: absolute; }\n .navbar-expand .navbar-nav .nav-link {\n padding-right: 0.8rem;\n padding-left: 0.8rem; }\n .navbar-expand > .container,\n .navbar-expand > .container-fluid {\n flex-wrap: nowrap; }\n .navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto; }\n .navbar-expand .navbar-toggler {\n display: none; }\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9); }\n .navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9); }\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5); }\n .navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7); }\n .navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3); }\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9); }\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1); }\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"); }\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5); }\n .navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9); }\n .navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9); }\n\n.navbar-dark .navbar-brand {\n color: #fff; }\n .navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff; }\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.7); }\n .navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.9); }\n .navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25); }\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff; }\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.7);\n border-color: rgba(255, 255, 255, 0.1); }\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.7)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"); }\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.7); }\n .navbar-dark .navbar-text a {\n color: #fff; }\n .navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff; }\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem; }\n .card > hr {\n margin-right: 0;\n margin-left: 0; }\n .card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem; }\n .card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem; }\n\n.card-body {\n flex: 1 1 auto;\n padding: 1.25rem; }\n\n.card-title {\n margin-bottom: 0.6rem; }\n\n.card-subtitle {\n margin-top: -0.3rem;\n margin-bottom: 0; }\n\n.card-text:last-child {\n margin-bottom: 0; }\n\n.card-link:hover {\n text-decoration: none; }\n\n.card-link + .card-link {\n margin-left: 1.25rem; }\n\n.card-header {\n padding: 0.6rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125); }\n .card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; }\n .card-header + .list-group .list-group-item:first-child {\n border-top: 0; }\n\n.card-footer {\n padding: 0.6rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125); }\n .card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); }\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.6rem;\n margin-left: -0.625rem;\n border-bottom: 0; }\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem; }\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem; }\n\n.card-img {\n width: 100%;\n border-radius: calc(0.25rem - 1px); }\n\n.card-img-top {\n width: 100%;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px); }\n\n.card-img-bottom {\n width: 100%;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px); }\n\n.card-deck {\n display: flex;\n flex-direction: column; }\n .card-deck .card {\n margin-bottom: 10px; }\n @media (min-width: 1px) {\n .card-deck {\n flex-flow: row wrap;\n margin-right: -10px;\n margin-left: -10px; }\n .card-deck .card {\n display: flex;\n flex: 1 0 0%;\n flex-direction: column;\n margin-right: 10px;\n margin-bottom: 0;\n margin-left: 10px; } }\n\n.card-group {\n display: flex;\n flex-direction: column; }\n .card-group > .card {\n margin-bottom: 10px; }\n @media (min-width: 1px) {\n .card-group {\n flex-flow: row wrap; }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0; }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0; }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0; }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0; }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0; }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0; }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0; } }\n\n.card-columns .card {\n margin-bottom: 0.6rem; }\n\n@media (min-width: 1px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1; }\n .card-columns .card {\n display: inline-block;\n width: 100%; } }\n\n.accordion > .card {\n overflow: hidden; }\n .accordion > .card:not(:first-of-type) .card-header:first-child {\n border-radius: 0; }\n .accordion > .card:not(:first-of-type):not(:last-of-type) {\n border-bottom: 0;\n border-radius: 0; }\n .accordion > .card:first-of-type {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0; }\n .accordion > .card:last-of-type {\n border-top-left-radius: 0;\n border-top-right-radius: 0; }\n .accordion > .card .card-header {\n margin-bottom: -1px; }\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem; }\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem; }\n .breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\"; }\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline; }\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none; }\n\n.breadcrumb-item.active {\n color: #6c757d; }\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem; }\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #175DDC;\n background-color: #fff;\n border: 1px solid #dee2e6; }\n .page-link:hover {\n z-index: 2;\n color: #104097;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6; }\n .page-link:focus {\n z-index: 2;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem; }\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem; }\n\n.page-item.active .page-link {\n z-index: 1;\n color: #fff;\n background-color: #175DDC;\n border-color: #175DDC; }\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6; }\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.15rem;\n line-height: 1.5; }\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem; }\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem; }\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5; }\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem; }\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem; }\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }\n @media (prefers-reduced-motion: reduce) {\n .badge {\n transition: none; } }\n a.badge:hover, a.badge:focus {\n text-decoration: none; }\n .badge:empty {\n display: none; }\n\n.btn .badge, .swal2-popup .swal2-actions button .badge {\n position: relative;\n top: -1px; }\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem; }\n\n.badge-primary {\n color: #fff;\n background-color: #175DDC; }\n a.badge-primary:hover, a.badge-primary:focus {\n color: #fff;\n background-color: #1249ae; }\n a.badge-primary:focus, a.badge-primary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.5); }\n\n.badge-secondary {\n color: #212529;\n background-color: #ced4da; }\n a.badge-secondary:hover, a.badge-secondary:focus {\n color: #212529;\n background-color: #b1bbc4; }\n a.badge-secondary:focus, a.badge-secondary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(206, 212, 218, 0.5); }\n\n.badge-success {\n color: #fff;\n background-color: #00a65a; }\n a.badge-success:hover, a.badge-success:focus {\n color: #fff;\n background-color: #00733e; }\n a.badge-success:focus, a.badge-success.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.5); }\n\n.badge-info {\n color: #fff;\n background-color: #555555; }\n a.badge-info:hover, a.badge-info:focus {\n color: #fff;\n background-color: #3c3c3c; }\n a.badge-info:focus, a.badge-info.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(85, 85, 85, 0.5); }\n\n.badge-warning {\n color: #fff;\n background-color: #bf7e16; }\n a.badge-warning:hover, a.badge-warning:focus {\n color: #fff;\n background-color: #916011; }\n a.badge-warning:focus, a.badge-warning.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(191, 126, 22, 0.5); }\n\n.badge-danger {\n color: #fff;\n background-color: #dd4b39; }\n a.badge-danger:hover, a.badge-danger:focus {\n color: #fff;\n background-color: #c23321; }\n a.badge-danger:focus, a.badge-danger.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.5); }\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa; }\n a.badge-light:hover, a.badge-light:focus {\n color: #212529;\n background-color: #dae0e5; }\n a.badge-light:focus, a.badge-light.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }\n\n.badge-dark {\n color: #fff;\n background-color: #343a40; }\n a.badge-dark:hover, a.badge-dark:focus {\n color: #fff;\n background-color: #1d2124; }\n a.badge-dark:focus, a.badge-dark.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }\n\n.badge-primary-accent {\n color: #fff;\n background-color: #1252A3; }\n a.badge-primary-accent:hover, a.badge-primary-accent:focus {\n color: #fff;\n background-color: #0d3b75; }\n a.badge-primary-accent:focus, a.badge-primary-accent.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(18, 82, 163, 0.5); }\n\n.badge-secondary-alt {\n color: #fff;\n background-color: #1A3B66; }\n a.badge-secondary-alt:hover, a.badge-secondary-alt:focus {\n color: #fff;\n background-color: #10233d; }\n a.badge-secondary-alt:focus, a.badge-secondary-alt.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(26, 59, 102, 0.5); }\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem; }\n @media (min-width: 1px) {\n .jumbotron {\n padding: 4rem 2rem; } }\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0; }\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem; }\n\n.alert-heading {\n color: inherit; }\n\n.alert-link {\n font-weight: 700; }\n\n.alert-dismissible {\n padding-right: 4rem; }\n .alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit; }\n\n.alert-primary {\n color: #0c3072;\n background-color: #d1dff8;\n border-color: #bed2f5; }\n .alert-primary hr {\n border-top-color: #a8c3f2; }\n .alert-primary .alert-link {\n color: #071d44; }\n\n.alert-secondary {\n color: #6b6e71;\n background-color: #f5f6f8;\n border-color: #f1f3f5; }\n .alert-secondary hr {\n border-top-color: #e2e6ea; }\n .alert-secondary .alert-link {\n color: #525557; }\n\n.alert-success {\n color: #00562f;\n background-color: #ccedde;\n border-color: #b8e6d1; }\n .alert-success hr {\n border-top-color: #a5dfc5; }\n .alert-success .alert-link {\n color: #002313; }\n\n.alert-info {\n color: #2c2c2c;\n background-color: #dddddd;\n border-color: #cfcfcf; }\n .alert-info hr {\n border-top-color: #c2c2c2; }\n .alert-info .alert-link {\n color: #131313; }\n\n.alert-warning {\n color: #63420b;\n background-color: #f2e5d0;\n border-color: #eddbbe; }\n .alert-warning hr {\n border-top-color: #e7d0aa; }\n .alert-warning .alert-link {\n color: #352306; }\n\n.alert-danger {\n color: #73271e;\n background-color: #f8dbd7;\n border-color: #f5cdc8; }\n .alert-danger hr {\n border-top-color: #f1b9b2; }\n .alert-danger .alert-link {\n color: #4b1913; }\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe; }\n .alert-light hr {\n border-top-color: #ececf6; }\n .alert-light .alert-link {\n color: #686868; }\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca; }\n .alert-dark hr {\n border-top-color: #b9bbbe; }\n .alert-dark .alert-link {\n color: #040505; }\n\n.alert-primary-accent {\n color: #092b55;\n background-color: #d0dced;\n border-color: #bdcfe5; }\n .alert-primary-accent hr {\n border-top-color: #abc2de; }\n .alert-primary-accent .alert-link {\n color: #041427; }\n\n.alert-secondary-alt {\n color: #0e1f35;\n background-color: #d1d8e0;\n border-color: #bfc8d4; }\n .alert-secondary-alt hr {\n border-top-color: #b0bbca; }\n .alert-secondary-alt .alert-link {\n color: #03070d; }\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0; }\n to {\n background-position: 0 0; } }\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem; }\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #175DDC;\n transition: width 0.6s ease; }\n @media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none; } }\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem; }\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite; }\n @media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none; } }\n\n.media {\n display: flex;\n align-items: flex-start; }\n\n.media-body {\n flex: 1; }\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0; }\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit; }\n .list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa; }\n .list-group-item-action:active {\n color: #333333;\n background-color: #e9ecef; }\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.6rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125); }\n .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem; }\n .list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem; }\n .list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff; }\n .list-group-item.active {\n z-index: 2;\n color: #333333;\n background-color: #ffffff;\n border-color: rgba(0, 0, 0, 0.125); }\n\n.list-group-horizontal {\n flex-direction: row; }\n .list-group-horizontal .list-group-item {\n margin-right: -1px;\n margin-bottom: 0; }\n .list-group-horizontal .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0; }\n .list-group-horizontal .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0; }\n\n@media (min-width: 1px) {\n .list-group-horizontal-sm {\n flex-direction: row; }\n .list-group-horizontal-sm .list-group-item {\n margin-right: -1px;\n margin-bottom: 0; }\n .list-group-horizontal-sm .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0; }\n .list-group-horizontal-sm .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0; } }\n\n@media (min-width: 2px) {\n .list-group-horizontal-md {\n flex-direction: row; }\n .list-group-horizontal-md .list-group-item {\n margin-right: -1px;\n margin-bottom: 0; }\n .list-group-horizontal-md .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0; }\n .list-group-horizontal-md .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0; } }\n\n@media (min-width: 3px) {\n .list-group-horizontal-lg {\n flex-direction: row; }\n .list-group-horizontal-lg .list-group-item {\n margin-right: -1px;\n margin-bottom: 0; }\n .list-group-horizontal-lg .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0; }\n .list-group-horizontal-lg .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0; } }\n\n@media (min-width: 4px) {\n .list-group-horizontal-xl {\n flex-direction: row; }\n .list-group-horizontal-xl .list-group-item {\n margin-right: -1px;\n margin-bottom: 0; }\n .list-group-horizontal-xl .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0; }\n .list-group-horizontal-xl .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0; } }\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0; }\n .list-group-flush .list-group-item:last-child {\n margin-bottom: -1px; }\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0; }\n\n.list-group-flush:last-child .list-group-item:last-child {\n margin-bottom: 0;\n border-bottom: 0; }\n\n.list-group-item-primary {\n color: #0c3072;\n background-color: #bed2f5; }\n .list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #0c3072;\n background-color: #a8c3f2; }\n .list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #0c3072;\n border-color: #0c3072; }\n\n.list-group-item-secondary {\n color: #6b6e71;\n background-color: #f1f3f5; }\n .list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #6b6e71;\n background-color: #e2e6ea; }\n .list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #6b6e71;\n border-color: #6b6e71; }\n\n.list-group-item-success {\n color: #00562f;\n background-color: #b8e6d1; }\n .list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #00562f;\n background-color: #a5dfc5; }\n .list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #00562f;\n border-color: #00562f; }\n\n.list-group-item-info {\n color: #2c2c2c;\n background-color: #cfcfcf; }\n .list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #2c2c2c;\n background-color: #c2c2c2; }\n .list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #2c2c2c;\n border-color: #2c2c2c; }\n\n.list-group-item-warning {\n color: #63420b;\n background-color: #eddbbe; }\n .list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #63420b;\n background-color: #e7d0aa; }\n .list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #63420b;\n border-color: #63420b; }\n\n.list-group-item-danger {\n color: #73271e;\n background-color: #f5cdc8; }\n .list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #73271e;\n background-color: #f1b9b2; }\n .list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #73271e;\n border-color: #73271e; }\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe; }\n .list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6; }\n .list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182; }\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca; }\n .list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe; }\n .list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21; }\n\n.list-group-item-primary-accent {\n color: #092b55;\n background-color: #bdcfe5; }\n .list-group-item-primary-accent.list-group-item-action:hover, .list-group-item-primary-accent.list-group-item-action:focus {\n color: #092b55;\n background-color: #abc2de; }\n .list-group-item-primary-accent.list-group-item-action.active {\n color: #fff;\n background-color: #092b55;\n border-color: #092b55; }\n\n.list-group-item-secondary-alt {\n color: #0e1f35;\n background-color: #bfc8d4; }\n .list-group-item-secondary-alt.list-group-item-action:hover, .list-group-item-secondary-alt.list-group-item-action:focus {\n color: #0e1f35;\n background-color: #b0bbca; }\n .list-group-item-secondary-alt.list-group-item-action.active {\n color: #fff;\n background-color: #0e1f35;\n border-color: #0e1f35; }\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5; }\n .close:hover {\n color: #000;\n text-decoration: none; }\n .close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75; }\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n appearance: none; }\n\na.close.disabled {\n pointer-events: none; }\n\n.modal-open {\n overflow: hidden; }\n .modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto; }\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0; }\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none; }\n .modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px); }\n @media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none; } }\n .modal.show .modal-dialog {\n transform: none; }\n\n.modal-dialog-scrollable {\n display: flex;\n max-height: calc(100% - 1rem); }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden; }\n .modal-dialog-scrollable .modal-header,\n .modal-dialog-scrollable .modal-footer {\n flex-shrink: 0; }\n .modal-dialog-scrollable .modal-body {\n overflow-y: auto; }\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem); }\n .modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n content: \"\"; }\n .modal-dialog-centered.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%; }\n .modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none; }\n .modal-dialog-centered.modal-dialog-scrollable::before {\n content: none; }\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0; }\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000; }\n .modal-backdrop.fade {\n opacity: 0; }\n .modal-backdrop.show {\n opacity: 0.3; }\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: 0.3rem;\n border-top-right-radius: 0.3rem; }\n .modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto; }\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5; }\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem; }\n\n.modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 1rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem; }\n .modal-footer > :not(:first-child) {\n margin-left: .25rem; }\n .modal-footer > :not(:last-child) {\n margin-right: .25rem; }\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll; }\n\n@media (min-width: 1px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto; }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem); }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem); }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem); }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem); }\n .modal-sm {\n max-width: 300px; } }\n\n@media (min-width: 3px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px; } }\n\n@media (min-width: 4px) {\n .modal-xl {\n max-width: 1140px; } }\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: \"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0; }\n .tooltip.show {\n opacity: 0.9; }\n .tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem; }\n .tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid; }\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0; }\n .bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0; }\n .bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000; }\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem; }\n .bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem; }\n .bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000; }\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0; }\n .bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0; }\n .bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000; }\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem; }\n .bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem; }\n .bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000; }\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem; }\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: \"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem; }\n .popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem; }\n .popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid; }\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem; }\n .bs-popover-top > .arrow, .bs-popover-auto[x-placement^=\"top\"] > .arrow {\n bottom: calc((0.5rem + 1px) * -1); }\n .bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25); }\n .bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff; }\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem; }\n .bs-popover-right > .arrow, .bs-popover-auto[x-placement^=\"right\"] > .arrow {\n left: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0; }\n .bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25); }\n .bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff; }\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem; }\n .bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow {\n top: calc((0.5rem + 1px) * -1); }\n .bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25); }\n .bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff; }\n .bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7; }\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem; }\n .bs-popover-left > .arrow, .bs-popover-auto[x-placement^=\"left\"] > .arrow {\n right: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0; }\n .bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25); }\n .bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff; }\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px); }\n .popover-header:empty {\n display: none; }\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #333333; }\n\n.carousel {\n position: relative; }\n\n.carousel.pointer-event {\n touch-action: pan-y; }\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden; }\n .carousel-inner::after {\n display: block;\n clear: both;\n content: \"\"; }\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out; }\n @media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none; } }\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block; }\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%); }\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%); }\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none; }\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1; }\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: 0s 0.6s opacity; }\n @media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none; } }\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease; }\n @media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none; } }\n .carousel-control-prev:hover, .carousel-control-prev:focus,\n .carousel-control-next:hover,\n .carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9; }\n\n.carousel-control-prev {\n left: 0; }\n\n.carousel-control-next {\n right: 0; }\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: no-repeat 50% / 100% 100%; }\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e\"); }\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e\"); }\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none; }\n .carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: .5;\n transition: opacity 0.6s ease; }\n @media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none; } }\n .carousel-indicators .active {\n opacity: 1; }\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center; }\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg); } }\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: spinner-border .75s linear infinite; }\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em; }\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0); }\n 50% {\n opacity: 1; } }\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite; }\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem; }\n\n.align-baseline {\n vertical-align: baseline !important; }\n\n.align-top {\n vertical-align: top !important; }\n\n.align-middle {\n vertical-align: middle !important; }\n\n.align-bottom {\n vertical-align: bottom !important; }\n\n.align-text-bottom {\n vertical-align: text-bottom !important; }\n\n.align-text-top {\n vertical-align: text-top !important; }\n\n.bg-primary {\n background-color: #175DDC !important; }\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #1249ae !important; }\n\n.bg-secondary {\n background-color: #ced4da !important; }\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #b1bbc4 !important; }\n\n.bg-success {\n background-color: #00a65a !important; }\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #00733e !important; }\n\n.bg-info {\n background-color: #555555 !important; }\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #3c3c3c !important; }\n\n.bg-warning {\n background-color: #bf7e16 !important; }\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #916011 !important; }\n\n.bg-danger {\n background-color: #dd4b39 !important; }\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #c23321 !important; }\n\n.bg-light {\n background-color: #f8f9fa !important; }\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important; }\n\n.bg-dark {\n background-color: #343a40 !important; }\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important; }\n\n.bg-primary-accent {\n background-color: #1252A3 !important; }\n\na.bg-primary-accent:hover, a.bg-primary-accent:focus,\nbutton.bg-primary-accent:hover,\nbutton.bg-primary-accent:focus {\n background-color: #0d3b75 !important; }\n\n.bg-secondary-alt {\n background-color: #1A3B66 !important; }\n\na.bg-secondary-alt:hover, a.bg-secondary-alt:focus,\nbutton.bg-secondary-alt:hover,\nbutton.bg-secondary-alt:focus {\n background-color: #10233d !important; }\n\n.bg-white {\n background-color: #fff !important; }\n\n.bg-transparent {\n background-color: transparent !important; }\n\n.border {\n border: 1px solid #dee2e6 !important; }\n\n.border-top {\n border-top: 1px solid #dee2e6 !important; }\n\n.border-right {\n border-right: 1px solid #dee2e6 !important; }\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important; }\n\n.border-left {\n border-left: 1px solid #dee2e6 !important; }\n\n.border-0 {\n border: 0 !important; }\n\n.border-top-0 {\n border-top: 0 !important; }\n\n.border-right-0 {\n border-right: 0 !important; }\n\n.border-bottom-0 {\n border-bottom: 0 !important; }\n\n.border-left-0 {\n border-left: 0 !important; }\n\n.border-primary {\n border-color: #175DDC !important; }\n\n.border-secondary {\n border-color: #ced4da !important; }\n\n.border-success {\n border-color: #00a65a !important; }\n\n.border-info {\n border-color: #555555 !important; }\n\n.border-warning {\n border-color: #bf7e16 !important; }\n\n.border-danger {\n border-color: #dd4b39 !important; }\n\n.border-light {\n border-color: #f8f9fa !important; }\n\n.border-dark {\n border-color: #343a40 !important; }\n\n.border-primary-accent {\n border-color: #1252A3 !important; }\n\n.border-secondary-alt {\n border-color: #1A3B66 !important; }\n\n.border-white {\n border-color: #fff !important; }\n\n.rounded-sm {\n border-radius: 0.2rem !important; }\n\n.rounded, .table.table-list td.table-list-icon img, app-avatar img {\n border-radius: 0.25rem !important; }\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important; }\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important; }\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important; }\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important; }\n\n.rounded-lg {\n border-radius: 0.3rem !important; }\n\n.rounded-circle {\n border-radius: 50% !important; }\n\n.rounded-pill {\n border-radius: 50rem !important; }\n\n.rounded-0 {\n border-radius: 0 !important; }\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\"; }\n\n.d-none {\n display: none !important; }\n\n.d-inline {\n display: inline !important; }\n\n.d-inline-block {\n display: inline-block !important; }\n\n.d-block {\n display: block !important; }\n\n.d-table {\n display: table !important; }\n\n.d-table-row {\n display: table-row !important; }\n\n.d-table-cell {\n display: table-cell !important; }\n\n.d-flex {\n display: flex !important; }\n\n.d-inline-flex {\n display: inline-flex !important; }\n\n@media (min-width: 1px) {\n .d-sm-none {\n display: none !important; }\n .d-sm-inline {\n display: inline !important; }\n .d-sm-inline-block {\n display: inline-block !important; }\n .d-sm-block {\n display: block !important; }\n .d-sm-table {\n display: table !important; }\n .d-sm-table-row {\n display: table-row !important; }\n .d-sm-table-cell {\n display: table-cell !important; }\n .d-sm-flex {\n display: flex !important; }\n .d-sm-inline-flex {\n display: inline-flex !important; } }\n\n@media (min-width: 2px) {\n .d-md-none {\n display: none !important; }\n .d-md-inline {\n display: inline !important; }\n .d-md-inline-block {\n display: inline-block !important; }\n .d-md-block {\n display: block !important; }\n .d-md-table {\n display: table !important; }\n .d-md-table-row {\n display: table-row !important; }\n .d-md-table-cell {\n display: table-cell !important; }\n .d-md-flex {\n display: flex !important; }\n .d-md-inline-flex {\n display: inline-flex !important; } }\n\n@media (min-width: 3px) {\n .d-lg-none {\n display: none !important; }\n .d-lg-inline {\n display: inline !important; }\n .d-lg-inline-block {\n display: inline-block !important; }\n .d-lg-block {\n display: block !important; }\n .d-lg-table {\n display: table !important; }\n .d-lg-table-row {\n display: table-row !important; }\n .d-lg-table-cell {\n display: table-cell !important; }\n .d-lg-flex {\n display: flex !important; }\n .d-lg-inline-flex {\n display: inline-flex !important; } }\n\n@media (min-width: 4px) {\n .d-xl-none {\n display: none !important; }\n .d-xl-inline {\n display: inline !important; }\n .d-xl-inline-block {\n display: inline-block !important; }\n .d-xl-block {\n display: block !important; }\n .d-xl-table {\n display: table !important; }\n .d-xl-table-row {\n display: table-row !important; }\n .d-xl-table-cell {\n display: table-cell !important; }\n .d-xl-flex {\n display: flex !important; }\n .d-xl-inline-flex {\n display: inline-flex !important; } }\n\n@media print {\n .d-print-none {\n display: none !important; }\n .d-print-inline {\n display: inline !important; }\n .d-print-inline-block {\n display: inline-block !important; }\n .d-print-block {\n display: block !important; }\n .d-print-table {\n display: table !important; }\n .d-print-table-row {\n display: table-row !important; }\n .d-print-table-cell {\n display: table-cell !important; }\n .d-print-flex {\n display: flex !important; }\n .d-print-inline-flex {\n display: inline-flex !important; } }\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden; }\n .embed-responsive::before {\n display: block;\n content: \"\"; }\n .embed-responsive .embed-responsive-item,\n .embed-responsive iframe,\n .embed-responsive embed,\n .embed-responsive object,\n .embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0; }\n\n.embed-responsive-21by9::before {\n padding-top: 42.85714%; }\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%; }\n\n.embed-responsive-4by3::before {\n padding-top: 75%; }\n\n.embed-responsive-1by1::before {\n padding-top: 100%; }\n\n.flex-row {\n flex-direction: row !important; }\n\n.flex-column {\n flex-direction: column !important; }\n\n.flex-row-reverse {\n flex-direction: row-reverse !important; }\n\n.flex-column-reverse {\n flex-direction: column-reverse !important; }\n\n.flex-wrap {\n flex-wrap: wrap !important; }\n\n.flex-nowrap {\n flex-wrap: nowrap !important; }\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important; }\n\n.flex-fill {\n flex: 1 1 auto !important; }\n\n.flex-grow-0 {\n flex-grow: 0 !important; }\n\n.flex-grow-1 {\n flex-grow: 1 !important; }\n\n.flex-shrink-0 {\n flex-shrink: 0 !important; }\n\n.flex-shrink-1 {\n flex-shrink: 1 !important; }\n\n.justify-content-start {\n justify-content: flex-start !important; }\n\n.justify-content-end {\n justify-content: flex-end !important; }\n\n.justify-content-center {\n justify-content: center !important; }\n\n.justify-content-between {\n justify-content: space-between !important; }\n\n.justify-content-around {\n justify-content: space-around !important; }\n\n.align-items-start {\n align-items: flex-start !important; }\n\n.align-items-end {\n align-items: flex-end !important; }\n\n.align-items-center {\n align-items: center !important; }\n\n.align-items-baseline {\n align-items: baseline !important; }\n\n.align-items-stretch {\n align-items: stretch !important; }\n\n.align-content-start {\n align-content: flex-start !important; }\n\n.align-content-end {\n align-content: flex-end !important; }\n\n.align-content-center {\n align-content: center !important; }\n\n.align-content-between {\n align-content: space-between !important; }\n\n.align-content-around {\n align-content: space-around !important; }\n\n.align-content-stretch {\n align-content: stretch !important; }\n\n.align-self-auto {\n align-self: auto !important; }\n\n.align-self-start {\n align-self: flex-start !important; }\n\n.align-self-end {\n align-self: flex-end !important; }\n\n.align-self-center {\n align-self: center !important; }\n\n.align-self-baseline {\n align-self: baseline !important; }\n\n.align-self-stretch {\n align-self: stretch !important; }\n\n@media (min-width: 1px) {\n .flex-sm-row {\n flex-direction: row !important; }\n .flex-sm-column {\n flex-direction: column !important; }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important; }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important; }\n .flex-sm-wrap {\n flex-wrap: wrap !important; }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important; }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important; }\n .flex-sm-fill {\n flex: 1 1 auto !important; }\n .flex-sm-grow-0 {\n flex-grow: 0 !important; }\n .flex-sm-grow-1 {\n flex-grow: 1 !important; }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important; }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important; }\n .justify-content-sm-start {\n justify-content: flex-start !important; }\n .justify-content-sm-end {\n justify-content: flex-end !important; }\n .justify-content-sm-center {\n justify-content: center !important; }\n .justify-content-sm-between {\n justify-content: space-between !important; }\n .justify-content-sm-around {\n justify-content: space-around !important; }\n .align-items-sm-start {\n align-items: flex-start !important; }\n .align-items-sm-end {\n align-items: flex-end !important; }\n .align-items-sm-center {\n align-items: center !important; }\n .align-items-sm-baseline {\n align-items: baseline !important; }\n .align-items-sm-stretch {\n align-items: stretch !important; }\n .align-content-sm-start {\n align-content: flex-start !important; }\n .align-content-sm-end {\n align-content: flex-end !important; }\n .align-content-sm-center {\n align-content: center !important; }\n .align-content-sm-between {\n align-content: space-between !important; }\n .align-content-sm-around {\n align-content: space-around !important; }\n .align-content-sm-stretch {\n align-content: stretch !important; }\n .align-self-sm-auto {\n align-self: auto !important; }\n .align-self-sm-start {\n align-self: flex-start !important; }\n .align-self-sm-end {\n align-self: flex-end !important; }\n .align-self-sm-center {\n align-self: center !important; }\n .align-self-sm-baseline {\n align-self: baseline !important; }\n .align-self-sm-stretch {\n align-self: stretch !important; } }\n\n@media (min-width: 2px) {\n .flex-md-row {\n flex-direction: row !important; }\n .flex-md-column {\n flex-direction: column !important; }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important; }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important; }\n .flex-md-wrap {\n flex-wrap: wrap !important; }\n .flex-md-nowrap {\n flex-wrap: nowrap !important; }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important; }\n .flex-md-fill {\n flex: 1 1 auto !important; }\n .flex-md-grow-0 {\n flex-grow: 0 !important; }\n .flex-md-grow-1 {\n flex-grow: 1 !important; }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important; }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important; }\n .justify-content-md-start {\n justify-content: flex-start !important; }\n .justify-content-md-end {\n justify-content: flex-end !important; }\n .justify-content-md-center {\n justify-content: center !important; }\n .justify-content-md-between {\n justify-content: space-between !important; }\n .justify-content-md-around {\n justify-content: space-around !important; }\n .align-items-md-start {\n align-items: flex-start !important; }\n .align-items-md-end {\n align-items: flex-end !important; }\n .align-items-md-center {\n align-items: center !important; }\n .align-items-md-baseline {\n align-items: baseline !important; }\n .align-items-md-stretch {\n align-items: stretch !important; }\n .align-content-md-start {\n align-content: flex-start !important; }\n .align-content-md-end {\n align-content: flex-end !important; }\n .align-content-md-center {\n align-content: center !important; }\n .align-content-md-between {\n align-content: space-between !important; }\n .align-content-md-around {\n align-content: space-around !important; }\n .align-content-md-stretch {\n align-content: stretch !important; }\n .align-self-md-auto {\n align-self: auto !important; }\n .align-self-md-start {\n align-self: flex-start !important; }\n .align-self-md-end {\n align-self: flex-end !important; }\n .align-self-md-center {\n align-self: center !important; }\n .align-self-md-baseline {\n align-self: baseline !important; }\n .align-self-md-stretch {\n align-self: stretch !important; } }\n\n@media (min-width: 3px) {\n .flex-lg-row {\n flex-direction: row !important; }\n .flex-lg-column {\n flex-direction: column !important; }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important; }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important; }\n .flex-lg-wrap {\n flex-wrap: wrap !important; }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important; }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important; }\n .flex-lg-fill {\n flex: 1 1 auto !important; }\n .flex-lg-grow-0 {\n flex-grow: 0 !important; }\n .flex-lg-grow-1 {\n flex-grow: 1 !important; }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important; }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important; }\n .justify-content-lg-start {\n justify-content: flex-start !important; }\n .justify-content-lg-end {\n justify-content: flex-end !important; }\n .justify-content-lg-center {\n justify-content: center !important; }\n .justify-content-lg-between {\n justify-content: space-between !important; }\n .justify-content-lg-around {\n justify-content: space-around !important; }\n .align-items-lg-start {\n align-items: flex-start !important; }\n .align-items-lg-end {\n align-items: flex-end !important; }\n .align-items-lg-center {\n align-items: center !important; }\n .align-items-lg-baseline {\n align-items: baseline !important; }\n .align-items-lg-stretch {\n align-items: stretch !important; }\n .align-content-lg-start {\n align-content: flex-start !important; }\n .align-content-lg-end {\n align-content: flex-end !important; }\n .align-content-lg-center {\n align-content: center !important; }\n .align-content-lg-between {\n align-content: space-between !important; }\n .align-content-lg-around {\n align-content: space-around !important; }\n .align-content-lg-stretch {\n align-content: stretch !important; }\n .align-self-lg-auto {\n align-self: auto !important; }\n .align-self-lg-start {\n align-self: flex-start !important; }\n .align-self-lg-end {\n align-self: flex-end !important; }\n .align-self-lg-center {\n align-self: center !important; }\n .align-self-lg-baseline {\n align-self: baseline !important; }\n .align-self-lg-stretch {\n align-self: stretch !important; } }\n\n@media (min-width: 4px) {\n .flex-xl-row {\n flex-direction: row !important; }\n .flex-xl-column {\n flex-direction: column !important; }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important; }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important; }\n .flex-xl-wrap {\n flex-wrap: wrap !important; }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important; }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important; }\n .flex-xl-fill {\n flex: 1 1 auto !important; }\n .flex-xl-grow-0 {\n flex-grow: 0 !important; }\n .flex-xl-grow-1 {\n flex-grow: 1 !important; }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important; }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important; }\n .justify-content-xl-start {\n justify-content: flex-start !important; }\n .justify-content-xl-end {\n justify-content: flex-end !important; }\n .justify-content-xl-center {\n justify-content: center !important; }\n .justify-content-xl-between {\n justify-content: space-between !important; }\n .justify-content-xl-around {\n justify-content: space-around !important; }\n .align-items-xl-start {\n align-items: flex-start !important; }\n .align-items-xl-end {\n align-items: flex-end !important; }\n .align-items-xl-center {\n align-items: center !important; }\n .align-items-xl-baseline {\n align-items: baseline !important; }\n .align-items-xl-stretch {\n align-items: stretch !important; }\n .align-content-xl-start {\n align-content: flex-start !important; }\n .align-content-xl-end {\n align-content: flex-end !important; }\n .align-content-xl-center {\n align-content: center !important; }\n .align-content-xl-between {\n align-content: space-between !important; }\n .align-content-xl-around {\n align-content: space-around !important; }\n .align-content-xl-stretch {\n align-content: stretch !important; }\n .align-self-xl-auto {\n align-self: auto !important; }\n .align-self-xl-start {\n align-self: flex-start !important; }\n .align-self-xl-end {\n align-self: flex-end !important; }\n .align-self-xl-center {\n align-self: center !important; }\n .align-self-xl-baseline {\n align-self: baseline !important; }\n .align-self-xl-stretch {\n align-self: stretch !important; } }\n\n.float-left {\n float: left !important; }\n\n.float-right {\n float: right !important; }\n\n.float-none {\n float: none !important; }\n\n@media (min-width: 1px) {\n .float-sm-left {\n float: left !important; }\n .float-sm-right {\n float: right !important; }\n .float-sm-none {\n float: none !important; } }\n\n@media (min-width: 2px) {\n .float-md-left {\n float: left !important; }\n .float-md-right {\n float: right !important; }\n .float-md-none {\n float: none !important; } }\n\n@media (min-width: 3px) {\n .float-lg-left {\n float: left !important; }\n .float-lg-right {\n float: right !important; }\n .float-lg-none {\n float: none !important; } }\n\n@media (min-width: 4px) {\n .float-xl-left {\n float: left !important; }\n .float-xl-right {\n float: right !important; }\n .float-xl-none {\n float: none !important; } }\n\n.overflow-auto {\n overflow: auto !important; }\n\n.overflow-hidden {\n overflow: hidden !important; }\n\n.position-static {\n position: static !important; }\n\n.position-relative {\n position: relative !important; }\n\n.position-absolute {\n position: absolute !important; }\n\n.position-fixed {\n position: fixed !important; }\n\n.position-sticky {\n position: sticky !important; }\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030; }\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030; }\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020; } }\n\n.sr-only, .table.table-list tr:not(:hover) td.table-list-options > .dropdown:not(.show) button:not(:focus):not(:active), .table.table-list tr:not(:hover) td.table-list-options > button:not(:focus):not(:active) {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0; }\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal; }\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; }\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; }\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; }\n\n.shadow-none {\n box-shadow: none !important; }\n\n.w-25 {\n width: 25% !important; }\n\n.w-50 {\n width: 50% !important; }\n\n.w-75 {\n width: 75% !important; }\n\n.w-100 {\n width: 100% !important; }\n\n.w-auto {\n width: auto !important; }\n\n.h-25 {\n height: 25% !important; }\n\n.h-50 {\n height: 50% !important; }\n\n.h-75 {\n height: 75% !important; }\n\n.h-100 {\n height: 100% !important; }\n\n.h-auto {\n height: auto !important; }\n\n.mw-100 {\n max-width: 100% !important; }\n\n.mh-100 {\n max-height: 100% !important; }\n\n.min-vw-100 {\n min-width: 100vw !important; }\n\n.min-vh-100 {\n min-height: 100vh !important; }\n\n.vw-100 {\n width: 100vw !important; }\n\n.vh-100 {\n height: 100vh !important; }\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n pointer-events: auto;\n content: \"\";\n background-color: rgba(0, 0, 0, 0); }\n\n.m-0 {\n margin: 0 !important; }\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important; }\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important; }\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important; }\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important; }\n\n.m-1 {\n margin: 0.25rem !important; }\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important; }\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important; }\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important; }\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important; }\n\n.m-2 {\n margin: 0.5rem !important; }\n\n.mt-2, .form-check-block .form-check-label > span,\n.my-2 {\n margin-top: 0.5rem !important; }\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important; }\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important; }\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important; }\n\n.m-3 {\n margin: 1rem !important; }\n\n.mt-3, .form-check-block + .form-check-block:not(.mt-2),\n.my-3 {\n margin-top: 1rem !important; }\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important; }\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important; }\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important; }\n\n.m-4 {\n margin: 1.5rem !important; }\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important; }\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important; }\n\n.mb-4, .card-body-header,\n.my-4 {\n margin-bottom: 1.5rem !important; }\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important; }\n\n.m-5 {\n margin: 3rem !important; }\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important; }\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important; }\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important; }\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important; }\n\n.p-0 {\n padding: 0 !important; }\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important; }\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important; }\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important; }\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important; }\n\n.p-1 {\n padding: 0.25rem !important; }\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important; }\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important; }\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important; }\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important; }\n\n.p-2 {\n padding: 0.5rem !important; }\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important; }\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important; }\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important; }\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important; }\n\n.p-3 {\n padding: 1rem !important; }\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important; }\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important; }\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important; }\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important; }\n\n.p-4 {\n padding: 1.5rem !important; }\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important; }\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important; }\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important; }\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important; }\n\n.p-5 {\n padding: 3rem !important; }\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important; }\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important; }\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important; }\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important; }\n\n.m-n1 {\n margin: -0.25rem !important; }\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important; }\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important; }\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important; }\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important; }\n\n.m-n2 {\n margin: -0.5rem !important; }\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important; }\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important; }\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important; }\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important; }\n\n.m-n3 {\n margin: -1rem !important; }\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important; }\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important; }\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important; }\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important; }\n\n.m-n4 {\n margin: -1.5rem !important; }\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important; }\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important; }\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important; }\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important; }\n\n.m-n5 {\n margin: -3rem !important; }\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important; }\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important; }\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important; }\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important; }\n\n.m-auto {\n margin: auto !important; }\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important; }\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important; }\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important; }\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important; }\n\n@media (min-width: 1px) {\n .m-sm-0 {\n margin: 0 !important; }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important; }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important; }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important; }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important; }\n .m-sm-1 {\n margin: 0.25rem !important; }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important; }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important; }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important; }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important; }\n .m-sm-2 {\n margin: 0.5rem !important; }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important; }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important; }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important; }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important; }\n .m-sm-3 {\n margin: 1rem !important; }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important; }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important; }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important; }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important; }\n .m-sm-4 {\n margin: 1.5rem !important; }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important; }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important; }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important; }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important; }\n .m-sm-5 {\n margin: 3rem !important; }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important; }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important; }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important; }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important; }\n .p-sm-0 {\n padding: 0 !important; }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important; }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important; }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important; }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important; }\n .p-sm-1 {\n padding: 0.25rem !important; }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important; }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important; }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important; }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important; }\n .p-sm-2 {\n padding: 0.5rem !important; }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important; }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important; }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important; }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important; }\n .p-sm-3 {\n padding: 1rem !important; }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important; }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important; }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important; }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important; }\n .p-sm-4 {\n padding: 1.5rem !important; }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important; }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important; }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important; }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important; }\n .p-sm-5 {\n padding: 3rem !important; }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important; }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important; }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important; }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important; }\n .m-sm-n1 {\n margin: -0.25rem !important; }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important; }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important; }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important; }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important; }\n .m-sm-n2 {\n margin: -0.5rem !important; }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important; }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important; }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important; }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important; }\n .m-sm-n3 {\n margin: -1rem !important; }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important; }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important; }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important; }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important; }\n .m-sm-n4 {\n margin: -1.5rem !important; }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important; }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important; }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important; }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important; }\n .m-sm-n5 {\n margin: -3rem !important; }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important; }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important; }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important; }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important; }\n .m-sm-auto {\n margin: auto !important; }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important; }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important; }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important; }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important; } }\n\n@media (min-width: 2px) {\n .m-md-0 {\n margin: 0 !important; }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important; }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important; }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important; }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important; }\n .m-md-1 {\n margin: 0.25rem !important; }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important; }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important; }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important; }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important; }\n .m-md-2 {\n margin: 0.5rem !important; }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important; }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important; }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important; }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important; }\n .m-md-3 {\n margin: 1rem !important; }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important; }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important; }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important; }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important; }\n .m-md-4 {\n margin: 1.5rem !important; }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important; }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important; }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important; }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important; }\n .m-md-5 {\n margin: 3rem !important; }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important; }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important; }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important; }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important; }\n .p-md-0 {\n padding: 0 !important; }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important; }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important; }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important; }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important; }\n .p-md-1 {\n padding: 0.25rem !important; }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important; }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important; }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important; }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important; }\n .p-md-2 {\n padding: 0.5rem !important; }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important; }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important; }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important; }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important; }\n .p-md-3 {\n padding: 1rem !important; }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important; }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important; }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important; }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important; }\n .p-md-4 {\n padding: 1.5rem !important; }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important; }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important; }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important; }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important; }\n .p-md-5 {\n padding: 3rem !important; }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important; }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important; }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important; }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important; }\n .m-md-n1 {\n margin: -0.25rem !important; }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important; }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important; }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important; }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important; }\n .m-md-n2 {\n margin: -0.5rem !important; }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important; }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important; }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important; }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important; }\n .m-md-n3 {\n margin: -1rem !important; }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important; }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important; }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important; }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important; }\n .m-md-n4 {\n margin: -1.5rem !important; }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important; }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important; }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important; }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important; }\n .m-md-n5 {\n margin: -3rem !important; }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important; }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important; }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important; }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important; }\n .m-md-auto {\n margin: auto !important; }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important; }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important; }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important; }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important; } }\n\n@media (min-width: 3px) {\n .m-lg-0 {\n margin: 0 !important; }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important; }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important; }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important; }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important; }\n .m-lg-1 {\n margin: 0.25rem !important; }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important; }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important; }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important; }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important; }\n .m-lg-2 {\n margin: 0.5rem !important; }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important; }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important; }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important; }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important; }\n .m-lg-3 {\n margin: 1rem !important; }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important; }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important; }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important; }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important; }\n .m-lg-4 {\n margin: 1.5rem !important; }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important; }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important; }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important; }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important; }\n .m-lg-5 {\n margin: 3rem !important; }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important; }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important; }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important; }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important; }\n .p-lg-0 {\n padding: 0 !important; }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important; }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important; }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important; }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important; }\n .p-lg-1 {\n padding: 0.25rem !important; }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important; }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important; }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important; }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important; }\n .p-lg-2 {\n padding: 0.5rem !important; }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important; }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important; }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important; }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important; }\n .p-lg-3 {\n padding: 1rem !important; }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important; }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important; }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important; }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important; }\n .p-lg-4 {\n padding: 1.5rem !important; }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important; }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important; }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important; }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important; }\n .p-lg-5 {\n padding: 3rem !important; }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important; }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important; }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important; }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important; }\n .m-lg-n1 {\n margin: -0.25rem !important; }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important; }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important; }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important; }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important; }\n .m-lg-n2 {\n margin: -0.5rem !important; }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important; }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important; }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important; }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important; }\n .m-lg-n3 {\n margin: -1rem !important; }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important; }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important; }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important; }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important; }\n .m-lg-n4 {\n margin: -1.5rem !important; }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important; }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important; }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important; }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important; }\n .m-lg-n5 {\n margin: -3rem !important; }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important; }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important; }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important; }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important; }\n .m-lg-auto {\n margin: auto !important; }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important; }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important; }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important; }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important; } }\n\n@media (min-width: 4px) {\n .m-xl-0 {\n margin: 0 !important; }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important; }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important; }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important; }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important; }\n .m-xl-1 {\n margin: 0.25rem !important; }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important; }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important; }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important; }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important; }\n .m-xl-2 {\n margin: 0.5rem !important; }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important; }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important; }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important; }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important; }\n .m-xl-3 {\n margin: 1rem !important; }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important; }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important; }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important; }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important; }\n .m-xl-4 {\n margin: 1.5rem !important; }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important; }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important; }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important; }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important; }\n .m-xl-5 {\n margin: 3rem !important; }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important; }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important; }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important; }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important; }\n .p-xl-0 {\n padding: 0 !important; }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important; }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important; }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important; }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important; }\n .p-xl-1 {\n padding: 0.25rem !important; }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important; }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important; }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important; }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important; }\n .p-xl-2 {\n padding: 0.5rem !important; }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important; }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important; }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important; }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important; }\n .p-xl-3 {\n padding: 1rem !important; }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important; }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important; }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important; }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important; }\n .p-xl-4 {\n padding: 1.5rem !important; }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important; }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important; }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important; }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important; }\n .p-xl-5 {\n padding: 3rem !important; }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important; }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important; }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important; }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important; }\n .m-xl-n1 {\n margin: -0.25rem !important; }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important; }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important; }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important; }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important; }\n .m-xl-n2 {\n margin: -0.5rem !important; }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important; }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important; }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important; }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important; }\n .m-xl-n3 {\n margin: -1rem !important; }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important; }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important; }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important; }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important; }\n .m-xl-n4 {\n margin: -1.5rem !important; }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important; }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important; }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important; }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important; }\n .m-xl-n5 {\n margin: -3rem !important; }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important; }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important; }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important; }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important; }\n .m-xl-auto {\n margin: auto !important; }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important; }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important; }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important; }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important; } }\n\n.text-monospace, .totp .totp-code {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important; }\n\n.text-justify {\n text-align: justify !important; }\n\n.text-wrap {\n white-space: normal !important; }\n\n.text-nowrap {\n white-space: nowrap !important; }\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap; }\n\n.text-left {\n text-align: left !important; }\n\n.text-right {\n text-align: right !important; }\n\n.text-center {\n text-align: center !important; }\n\n@media (min-width: 1px) {\n .text-sm-left {\n text-align: left !important; }\n .text-sm-right {\n text-align: right !important; }\n .text-sm-center {\n text-align: center !important; } }\n\n@media (min-width: 2px) {\n .text-md-left {\n text-align: left !important; }\n .text-md-right {\n text-align: right !important; }\n .text-md-center {\n text-align: center !important; } }\n\n@media (min-width: 3px) {\n .text-lg-left {\n text-align: left !important; }\n .text-lg-right {\n text-align: right !important; }\n .text-lg-center {\n text-align: center !important; } }\n\n@media (min-width: 4px) {\n .text-xl-left {\n text-align: left !important; }\n .text-xl-right {\n text-align: right !important; }\n .text-xl-center {\n text-align: center !important; } }\n\n.text-lowercase {\n text-transform: lowercase !important; }\n\n.text-uppercase {\n text-transform: uppercase !important; }\n\n.text-capitalize {\n text-transform: capitalize !important; }\n\n.font-weight-light {\n font-weight: 300 !important; }\n\n.font-weight-lighter {\n font-weight: lighter !important; }\n\n.font-weight-normal {\n font-weight: 400 !important; }\n\n.font-weight-bold {\n font-weight: 700 !important; }\n\n.font-weight-bolder {\n font-weight: bolder !important; }\n\n.font-italic {\n font-style: italic !important; }\n\n.text-white {\n color: #fff !important; }\n\n.text-primary {\n color: #175DDC !important; }\n\na.text-primary:hover, a.text-primary:focus {\n color: #104097 !important; }\n\n.text-secondary {\n color: #ced4da !important; }\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #a2aeb9 !important; }\n\n.text-success {\n color: #00a65a !important; }\n\na.text-success:hover, a.text-success:focus {\n color: #005a31 !important; }\n\n.text-info {\n color: #555555 !important; }\n\na.text-info:hover, a.text-info:focus {\n color: #2f2f2f !important; }\n\n.text-warning {\n color: #bf7e16 !important; }\n\na.text-warning:hover, a.text-warning:focus {\n color: #7a510e !important; }\n\n.text-danger {\n color: #dd4b39 !important; }\n\na.text-danger:hover, a.text-danger:focus {\n color: #ac2d1e !important; }\n\n.text-light {\n color: #f8f9fa !important; }\n\na.text-light:hover, a.text-light:focus {\n color: #cbd3da !important; }\n\n.text-dark {\n color: #343a40 !important; }\n\na.text-dark:hover, a.text-dark:focus {\n color: #121416 !important; }\n\n.text-primary-accent {\n color: #1252A3 !important; }\n\na.text-primary-accent:hover, a.text-primary-accent:focus {\n color: #0a2f5e !important; }\n\n.text-secondary-alt {\n color: #1A3B66 !important; }\n\na.text-secondary-alt:hover, a.text-secondary-alt:focus {\n color: #0a1829 !important; }\n\n.text-body {\n color: #333333 !important; }\n\n.text-muted, .card-header small, .modal-header small {\n color: #6c757d !important; }\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important; }\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important; }\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0; }\n\n.text-decoration-none {\n text-decoration: none !important; }\n\n.text-break {\n word-break: break-word !important;\n overflow-wrap: break-word !important; }\n\n.text-reset {\n color: inherit !important; }\n\n.visible {\n visibility: visible !important; }\n\n.invisible {\n visibility: hidden !important; }\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important; }\n a:not(.btn) {\n text-decoration: underline; }\n abbr[title]::after {\n content: \" (\" attr(title) \")\"; }\n pre {\n white-space: pre-wrap !important; }\n pre,\n blockquote {\n border: 1px solid #adb5bd;\n page-break-inside: avoid; }\n thead {\n display: table-header-group; }\n tr,\n img {\n page-break-inside: avoid; }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3; }\n h2,\n h3 {\n page-break-after: avoid; }\n @page {\n size: a3; }\n body {\n min-width: 3px !important; }\n .container {\n min-width: 3px !important; }\n .navbar {\n display: none; }\n .badge {\n border: 1px solid #000; }\n .table {\n border-collapse: collapse !important; }\n .table td,\n .table th {\n background-color: #fff !important; }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6 !important; }\n .table-dark {\n color: inherit; }\n .table-dark th,\n .table-dark td,\n .table-dark thead th,\n .table-dark tbody + tbody {\n border-color: #dee2e6; }\n .table .thead-dark th {\n color: inherit;\n border-color: #dee2e6; } }\n\n/*!\n * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n/* FONT PATH\n * -------------------------- */\n@font-face {\n font-family: 'FontAwesome';\n src: url(../fonts/fontawesome-webfont.eot);\n src: url(../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0) format(\"embedded-opentype\"), url(../fonts/fontawesome-webfont.woff2) format(\"woff2\"), url(../fonts/fontawesome-webfont.woff) format(\"woff\"), url(../fonts/fontawesome-webfont.ttf) format(\"truetype\"), url(../fonts/fontawesome-webfont.svg#fontawesomeregular) format(\"svg\");\n font-weight: normal;\n font-style: normal; }\n\n.fa {\n display: inline-block;\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale; }\n\n/* makes the font 33% larger relative to the icon container */\n.fa-lg {\n font-size: 1.33333em;\n line-height: 0.75em;\n vertical-align: -15%; }\n\n.fa-2x {\n font-size: 2em; }\n\n.fa-3x {\n font-size: 3em; }\n\n.fa-4x {\n font-size: 4em; }\n\n.fa-5x {\n font-size: 5em; }\n\n.fa-fw {\n width: 1.28571em;\n text-align: center; }\n\n.fa-ul {\n padding-left: 0;\n margin-left: 2.14286em;\n list-style-type: none; }\n .fa-ul > li {\n position: relative; }\n\n.fa-li {\n position: absolute;\n left: -2.14286em;\n width: 2.14286em;\n top: 0.14286em;\n text-align: center; }\n .fa-li.fa-lg {\n left: -1.85714em; }\n\n.fa-border {\n padding: .2em .25em .15em;\n border: solid 0.08em #eee;\n border-radius: .1em; }\n\n.fa-pull-left {\n float: left; }\n\n.fa-pull-right {\n float: right; }\n\n.fa.fa-pull-left {\n margin-right: .3em; }\n\n.fa.fa-pull-right {\n margin-left: .3em; }\n\n/* Deprecated as of 4.4.0 */\n.pull-right {\n float: right; }\n\n.pull-left {\n float: left; }\n\n.fa.pull-left {\n margin-right: .3em; }\n\n.fa.pull-right {\n margin-left: .3em; }\n\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear; }\n\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8); }\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg); } }\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg); } }\n\n.fa-rotate-90 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\";\n -webkit-transform: rotate(90deg);\n -ms-transform: rotate(90deg);\n transform: rotate(90deg); }\n\n.fa-rotate-180 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\";\n -webkit-transform: rotate(180deg);\n -ms-transform: rotate(180deg);\n transform: rotate(180deg); }\n\n.fa-rotate-270 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\";\n -webkit-transform: rotate(270deg);\n -ms-transform: rotate(270deg);\n transform: rotate(270deg); }\n\n.fa-flip-horizontal {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\";\n -webkit-transform: scale(-1, 1);\n -ms-transform: scale(-1, 1);\n transform: scale(-1, 1); }\n\n.fa-flip-vertical {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";\n -webkit-transform: scale(1, -1);\n -ms-transform: scale(1, -1);\n transform: scale(1, -1); }\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical {\n filter: none; }\n\n.fa-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle; }\n\n.fa-stack-1x, .fa-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center; }\n\n.fa-stack-1x {\n line-height: inherit; }\n\n.fa-stack-2x {\n font-size: 2em; }\n\n.fa-inverse {\n color: #fff; }\n\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n readers do not read off random characters that represent icons */\n.fa-glass:before {\n content: \"\\F000\"; }\n\n.fa-music:before {\n content: \"\\F001\"; }\n\n.fa-search:before {\n content: \"\\F002\"; }\n\n.fa-envelope-o:before {\n content: \"\\F003\"; }\n\n.fa-heart:before {\n content: \"\\F004\"; }\n\n.fa-star:before {\n content: \"\\F005\"; }\n\n.fa-star-o:before {\n content: \"\\F006\"; }\n\n.fa-user:before {\n content: \"\\F007\"; }\n\n.fa-film:before {\n content: \"\\F008\"; }\n\n.fa-th-large:before {\n content: \"\\F009\"; }\n\n.fa-th:before {\n content: \"\\F00A\"; }\n\n.fa-th-list:before {\n content: \"\\F00B\"; }\n\n.fa-check:before {\n content: \"\\F00C\"; }\n\n.fa-remove:before,\n.fa-close:before,\n.fa-times:before {\n content: \"\\F00D\"; }\n\n.fa-search-plus:before {\n content: \"\\F00E\"; }\n\n.fa-search-minus:before {\n content: \"\\F010\"; }\n\n.fa-power-off:before {\n content: \"\\F011\"; }\n\n.fa-signal:before {\n content: \"\\F012\"; }\n\n.fa-gear:before,\n.fa-cog:before {\n content: \"\\F013\"; }\n\n.fa-trash-o:before {\n content: \"\\F014\"; }\n\n.fa-home:before {\n content: \"\\F015\"; }\n\n.fa-file-o:before {\n content: \"\\F016\"; }\n\n.fa-clock-o:before {\n content: \"\\F017\"; }\n\n.fa-road:before {\n content: \"\\F018\"; }\n\n.fa-download:before {\n content: \"\\F019\"; }\n\n.fa-arrow-circle-o-down:before {\n content: \"\\F01A\"; }\n\n.fa-arrow-circle-o-up:before {\n content: \"\\F01B\"; }\n\n.fa-inbox:before {\n content: \"\\F01C\"; }\n\n.fa-play-circle-o:before {\n content: \"\\F01D\"; }\n\n.fa-rotate-right:before,\n.fa-repeat:before {\n content: \"\\F01E\"; }\n\n.fa-refresh:before {\n content: \"\\F021\"; }\n\n.fa-list-alt:before {\n content: \"\\F022\"; }\n\n.fa-lock:before {\n content: \"\\F023\"; }\n\n.fa-flag:before {\n content: \"\\F024\"; }\n\n.fa-headphones:before {\n content: \"\\F025\"; }\n\n.fa-volume-off:before {\n content: \"\\F026\"; }\n\n.fa-volume-down:before {\n content: \"\\F027\"; }\n\n.fa-volume-up:before {\n content: \"\\F028\"; }\n\n.fa-qrcode:before {\n content: \"\\F029\"; }\n\n.fa-barcode:before {\n content: \"\\F02A\"; }\n\n.fa-tag:before {\n content: \"\\F02B\"; }\n\n.fa-tags:before {\n content: \"\\F02C\"; }\n\n.fa-book:before {\n content: \"\\F02D\"; }\n\n.fa-bookmark:before {\n content: \"\\F02E\"; }\n\n.fa-print:before {\n content: \"\\F02F\"; }\n\n.fa-camera:before {\n content: \"\\F030\"; }\n\n.fa-font:before {\n content: \"\\F031\"; }\n\n.fa-bold:before {\n content: \"\\F032\"; }\n\n.fa-italic:before {\n content: \"\\F033\"; }\n\n.fa-text-height:before {\n content: \"\\F034\"; }\n\n.fa-text-width:before {\n content: \"\\F035\"; }\n\n.fa-align-left:before {\n content: \"\\F036\"; }\n\n.fa-align-center:before {\n content: \"\\F037\"; }\n\n.fa-align-right:before {\n content: \"\\F038\"; }\n\n.fa-align-justify:before {\n content: \"\\F039\"; }\n\n.fa-list:before {\n content: \"\\F03A\"; }\n\n.fa-dedent:before,\n.fa-outdent:before {\n content: \"\\F03B\"; }\n\n.fa-indent:before {\n content: \"\\F03C\"; }\n\n.fa-video-camera:before {\n content: \"\\F03D\"; }\n\n.fa-photo:before,\n.fa-image:before,\n.fa-picture-o:before {\n content: \"\\F03E\"; }\n\n.fa-pencil:before {\n content: \"\\F040\"; }\n\n.fa-map-marker:before {\n content: \"\\F041\"; }\n\n.fa-adjust:before {\n content: \"\\F042\"; }\n\n.fa-tint:before {\n content: \"\\F043\"; }\n\n.fa-edit:before,\n.fa-pencil-square-o:before {\n content: \"\\F044\"; }\n\n.fa-share-square-o:before {\n content: \"\\F045\"; }\n\n.fa-check-square-o:before {\n content: \"\\F046\"; }\n\n.fa-arrows:before {\n content: \"\\F047\"; }\n\n.fa-step-backward:before {\n content: \"\\F048\"; }\n\n.fa-fast-backward:before {\n content: \"\\F049\"; }\n\n.fa-backward:before {\n content: \"\\F04A\"; }\n\n.fa-play:before {\n content: \"\\F04B\"; }\n\n.fa-pause:before {\n content: \"\\F04C\"; }\n\n.fa-stop:before {\n content: \"\\F04D\"; }\n\n.fa-forward:before {\n content: \"\\F04E\"; }\n\n.fa-fast-forward:before {\n content: \"\\F050\"; }\n\n.fa-step-forward:before {\n content: \"\\F051\"; }\n\n.fa-eject:before {\n content: \"\\F052\"; }\n\n.fa-chevron-left:before {\n content: \"\\F053\"; }\n\n.fa-chevron-right:before {\n content: \"\\F054\"; }\n\n.fa-plus-circle:before {\n content: \"\\F055\"; }\n\n.fa-minus-circle:before {\n content: \"\\F056\"; }\n\n.fa-times-circle:before {\n content: \"\\F057\"; }\n\n.fa-check-circle:before {\n content: \"\\F058\"; }\n\n.fa-question-circle:before {\n content: \"\\F059\"; }\n\n.fa-info-circle:before {\n content: \"\\F05A\"; }\n\n.fa-crosshairs:before {\n content: \"\\F05B\"; }\n\n.fa-times-circle-o:before {\n content: \"\\F05C\"; }\n\n.fa-check-circle-o:before {\n content: \"\\F05D\"; }\n\n.fa-ban:before {\n content: \"\\F05E\"; }\n\n.fa-arrow-left:before {\n content: \"\\F060\"; }\n\n.fa-arrow-right:before {\n content: \"\\F061\"; }\n\n.fa-arrow-up:before {\n content: \"\\F062\"; }\n\n.fa-arrow-down:before {\n content: \"\\F063\"; }\n\n.fa-mail-forward:before,\n.fa-share:before {\n content: \"\\F064\"; }\n\n.fa-expand:before {\n content: \"\\F065\"; }\n\n.fa-compress:before {\n content: \"\\F066\"; }\n\n.fa-plus:before {\n content: \"\\F067\"; }\n\n.fa-minus:before {\n content: \"\\F068\"; }\n\n.fa-asterisk:before {\n content: \"\\F069\"; }\n\n.fa-exclamation-circle:before {\n content: \"\\F06A\"; }\n\n.fa-gift:before {\n content: \"\\F06B\"; }\n\n.fa-leaf:before {\n content: \"\\F06C\"; }\n\n.fa-fire:before {\n content: \"\\F06D\"; }\n\n.fa-eye:before {\n content: \"\\F06E\"; }\n\n.fa-eye-slash:before {\n content: \"\\F070\"; }\n\n.fa-warning:before,\n.fa-exclamation-triangle:before {\n content: \"\\F071\"; }\n\n.fa-plane:before {\n content: \"\\F072\"; }\n\n.fa-calendar:before {\n content: \"\\F073\"; }\n\n.fa-random:before {\n content: \"\\F074\"; }\n\n.fa-comment:before {\n content: \"\\F075\"; }\n\n.fa-magnet:before {\n content: \"\\F076\"; }\n\n.fa-chevron-up:before {\n content: \"\\F077\"; }\n\n.fa-chevron-down:before {\n content: \"\\F078\"; }\n\n.fa-retweet:before {\n content: \"\\F079\"; }\n\n.fa-shopping-cart:before {\n content: \"\\F07A\"; }\n\n.fa-folder:before {\n content: \"\\F07B\"; }\n\n.fa-folder-open:before {\n content: \"\\F07C\"; }\n\n.fa-arrows-v:before {\n content: \"\\F07D\"; }\n\n.fa-arrows-h:before {\n content: \"\\F07E\"; }\n\n.fa-bar-chart-o:before,\n.fa-bar-chart:before {\n content: \"\\F080\"; }\n\n.fa-twitter-square:before {\n content: \"\\F081\"; }\n\n.fa-facebook-square:before {\n content: \"\\F082\"; }\n\n.fa-camera-retro:before {\n content: \"\\F083\"; }\n\n.fa-key:before {\n content: \"\\F084\"; }\n\n.fa-gears:before,\n.fa-cogs:before {\n content: \"\\F085\"; }\n\n.fa-comments:before {\n content: \"\\F086\"; }\n\n.fa-thumbs-o-up:before {\n content: \"\\F087\"; }\n\n.fa-thumbs-o-down:before {\n content: \"\\F088\"; }\n\n.fa-star-half:before {\n content: \"\\F089\"; }\n\n.fa-heart-o:before {\n content: \"\\F08A\"; }\n\n.fa-sign-out:before {\n content: \"\\F08B\"; }\n\n.fa-linkedin-square:before {\n content: \"\\F08C\"; }\n\n.fa-thumb-tack:before {\n content: \"\\F08D\"; }\n\n.fa-external-link:before {\n content: \"\\F08E\"; }\n\n.fa-sign-in:before {\n content: \"\\F090\"; }\n\n.fa-trophy:before {\n content: \"\\F091\"; }\n\n.fa-github-square:before {\n content: \"\\F092\"; }\n\n.fa-upload:before {\n content: \"\\F093\"; }\n\n.fa-lemon-o:before {\n content: \"\\F094\"; }\n\n.fa-phone:before {\n content: \"\\F095\"; }\n\n.fa-square-o:before {\n content: \"\\F096\"; }\n\n.fa-bookmark-o:before {\n content: \"\\F097\"; }\n\n.fa-phone-square:before {\n content: \"\\F098\"; }\n\n.fa-twitter:before {\n content: \"\\F099\"; }\n\n.fa-facebook-f:before,\n.fa-facebook:before {\n content: \"\\F09A\"; }\n\n.fa-github:before {\n content: \"\\F09B\"; }\n\n.fa-unlock:before {\n content: \"\\F09C\"; }\n\n.fa-credit-card:before {\n content: \"\\F09D\"; }\n\n.fa-feed:before,\n.fa-rss:before {\n content: \"\\F09E\"; }\n\n.fa-hdd-o:before {\n content: \"\\F0A0\"; }\n\n.fa-bullhorn:before {\n content: \"\\F0A1\"; }\n\n.fa-bell:before {\n content: \"\\F0F3\"; }\n\n.fa-certificate:before {\n content: \"\\F0A3\"; }\n\n.fa-hand-o-right:before {\n content: \"\\F0A4\"; }\n\n.fa-hand-o-left:before {\n content: \"\\F0A5\"; }\n\n.fa-hand-o-up:before {\n content: \"\\F0A6\"; }\n\n.fa-hand-o-down:before {\n content: \"\\F0A7\"; }\n\n.fa-arrow-circle-left:before {\n content: \"\\F0A8\"; }\n\n.fa-arrow-circle-right:before {\n content: \"\\F0A9\"; }\n\n.fa-arrow-circle-up:before {\n content: \"\\F0AA\"; }\n\n.fa-arrow-circle-down:before {\n content: \"\\F0AB\"; }\n\n.fa-globe:before {\n content: \"\\F0AC\"; }\n\n.fa-wrench:before {\n content: \"\\F0AD\"; }\n\n.fa-tasks:before {\n content: \"\\F0AE\"; }\n\n.fa-filter:before {\n content: \"\\F0B0\"; }\n\n.fa-briefcase:before {\n content: \"\\F0B1\"; }\n\n.fa-arrows-alt:before {\n content: \"\\F0B2\"; }\n\n.fa-group:before,\n.fa-users:before {\n content: \"\\F0C0\"; }\n\n.fa-chain:before,\n.fa-link:before {\n content: \"\\F0C1\"; }\n\n.fa-cloud:before {\n content: \"\\F0C2\"; }\n\n.fa-flask:before {\n content: \"\\F0C3\"; }\n\n.fa-cut:before,\n.fa-scissors:before {\n content: \"\\F0C4\"; }\n\n.fa-copy:before,\n.fa-files-o:before {\n content: \"\\F0C5\"; }\n\n.fa-paperclip:before {\n content: \"\\F0C6\"; }\n\n.fa-save:before,\n.fa-floppy-o:before {\n content: \"\\F0C7\"; }\n\n.fa-square:before {\n content: \"\\F0C8\"; }\n\n.fa-navicon:before,\n.fa-reorder:before,\n.fa-bars:before {\n content: \"\\F0C9\"; }\n\n.fa-list-ul:before {\n content: \"\\F0CA\"; }\n\n.fa-list-ol:before {\n content: \"\\F0CB\"; }\n\n.fa-strikethrough:before {\n content: \"\\F0CC\"; }\n\n.fa-underline:before {\n content: \"\\F0CD\"; }\n\n.fa-table:before {\n content: \"\\F0CE\"; }\n\n.fa-magic:before {\n content: \"\\F0D0\"; }\n\n.fa-truck:before {\n content: \"\\F0D1\"; }\n\n.fa-pinterest:before {\n content: \"\\F0D2\"; }\n\n.fa-pinterest-square:before {\n content: \"\\F0D3\"; }\n\n.fa-google-plus-square:before {\n content: \"\\F0D4\"; }\n\n.fa-google-plus:before {\n content: \"\\F0D5\"; }\n\n.fa-money:before {\n content: \"\\F0D6\"; }\n\n.fa-caret-down:before {\n content: \"\\F0D7\"; }\n\n.fa-caret-up:before {\n content: \"\\F0D8\"; }\n\n.fa-caret-left:before {\n content: \"\\F0D9\"; }\n\n.fa-caret-right:before {\n content: \"\\F0DA\"; }\n\n.fa-columns:before {\n content: \"\\F0DB\"; }\n\n.fa-unsorted:before,\n.fa-sort:before {\n content: \"\\F0DC\"; }\n\n.fa-sort-down:before,\n.fa-sort-desc:before {\n content: \"\\F0DD\"; }\n\n.fa-sort-up:before,\n.fa-sort-asc:before {\n content: \"\\F0DE\"; }\n\n.fa-envelope:before {\n content: \"\\F0E0\"; }\n\n.fa-linkedin:before {\n content: \"\\F0E1\"; }\n\n.fa-rotate-left:before,\n.fa-undo:before {\n content: \"\\F0E2\"; }\n\n.fa-legal:before,\n.fa-gavel:before {\n content: \"\\F0E3\"; }\n\n.fa-dashboard:before,\n.fa-tachometer:before {\n content: \"\\F0E4\"; }\n\n.fa-comment-o:before {\n content: \"\\F0E5\"; }\n\n.fa-comments-o:before {\n content: \"\\F0E6\"; }\n\n.fa-flash:before,\n.fa-bolt:before {\n content: \"\\F0E7\"; }\n\n.fa-sitemap:before {\n content: \"\\F0E8\"; }\n\n.fa-umbrella:before {\n content: \"\\F0E9\"; }\n\n.fa-paste:before,\n.fa-clipboard:before {\n content: \"\\F0EA\"; }\n\n.fa-lightbulb-o:before {\n content: \"\\F0EB\"; }\n\n.fa-exchange:before {\n content: \"\\F0EC\"; }\n\n.fa-cloud-download:before {\n content: \"\\F0ED\"; }\n\n.fa-cloud-upload:before {\n content: \"\\F0EE\"; }\n\n.fa-user-md:before {\n content: \"\\F0F0\"; }\n\n.fa-stethoscope:before {\n content: \"\\F0F1\"; }\n\n.fa-suitcase:before {\n content: \"\\F0F2\"; }\n\n.fa-bell-o:before {\n content: \"\\F0A2\"; }\n\n.fa-coffee:before {\n content: \"\\F0F4\"; }\n\n.fa-cutlery:before {\n content: \"\\F0F5\"; }\n\n.fa-file-text-o:before {\n content: \"\\F0F6\"; }\n\n.fa-building-o:before {\n content: \"\\F0F7\"; }\n\n.fa-hospital-o:before {\n content: \"\\F0F8\"; }\n\n.fa-ambulance:before {\n content: \"\\F0F9\"; }\n\n.fa-medkit:before {\n content: \"\\F0FA\"; }\n\n.fa-fighter-jet:before {\n content: \"\\F0FB\"; }\n\n.fa-beer:before {\n content: \"\\F0FC\"; }\n\n.fa-h-square:before {\n content: \"\\F0FD\"; }\n\n.fa-plus-square:before {\n content: \"\\F0FE\"; }\n\n.fa-angle-double-left:before {\n content: \"\\F100\"; }\n\n.fa-angle-double-right:before {\n content: \"\\F101\"; }\n\n.fa-angle-double-up:before {\n content: \"\\F102\"; }\n\n.fa-angle-double-down:before {\n content: \"\\F103\"; }\n\n.fa-angle-left:before {\n content: \"\\F104\"; }\n\n.fa-angle-right:before {\n content: \"\\F105\"; }\n\n.fa-angle-up:before {\n content: \"\\F106\"; }\n\n.fa-angle-down:before {\n content: \"\\F107\"; }\n\n.fa-desktop:before {\n content: \"\\F108\"; }\n\n.fa-laptop:before {\n content: \"\\F109\"; }\n\n.fa-tablet:before {\n content: \"\\F10A\"; }\n\n.fa-mobile-phone:before,\n.fa-mobile:before {\n content: \"\\F10B\"; }\n\n.fa-circle-o:before {\n content: \"\\F10C\"; }\n\n.fa-quote-left:before {\n content: \"\\F10D\"; }\n\n.fa-quote-right:before {\n content: \"\\F10E\"; }\n\n.fa-spinner:before {\n content: \"\\F110\"; }\n\n.fa-circle:before {\n content: \"\\F111\"; }\n\n.fa-mail-reply:before,\n.fa-reply:before {\n content: \"\\F112\"; }\n\n.fa-github-alt:before {\n content: \"\\F113\"; }\n\n.fa-folder-o:before {\n content: \"\\F114\"; }\n\n.fa-folder-open-o:before {\n content: \"\\F115\"; }\n\n.fa-smile-o:before {\n content: \"\\F118\"; }\n\n.fa-frown-o:before {\n content: \"\\F119\"; }\n\n.fa-meh-o:before {\n content: \"\\F11A\"; }\n\n.fa-gamepad:before {\n content: \"\\F11B\"; }\n\n.fa-keyboard-o:before {\n content: \"\\F11C\"; }\n\n.fa-flag-o:before {\n content: \"\\F11D\"; }\n\n.fa-flag-checkered:before {\n content: \"\\F11E\"; }\n\n.fa-terminal:before {\n content: \"\\F120\"; }\n\n.fa-code:before {\n content: \"\\F121\"; }\n\n.fa-mail-reply-all:before,\n.fa-reply-all:before {\n content: \"\\F122\"; }\n\n.fa-star-half-empty:before,\n.fa-star-half-full:before,\n.fa-star-half-o:before {\n content: \"\\F123\"; }\n\n.fa-location-arrow:before {\n content: \"\\F124\"; }\n\n.fa-crop:before {\n content: \"\\F125\"; }\n\n.fa-code-fork:before {\n content: \"\\F126\"; }\n\n.fa-unlink:before,\n.fa-chain-broken:before {\n content: \"\\F127\"; }\n\n.fa-question:before {\n content: \"\\F128\"; }\n\n.fa-info:before {\n content: \"\\F129\"; }\n\n.fa-exclamation:before {\n content: \"\\F12A\"; }\n\n.fa-superscript:before {\n content: \"\\F12B\"; }\n\n.fa-subscript:before {\n content: \"\\F12C\"; }\n\n.fa-eraser:before {\n content: \"\\F12D\"; }\n\n.fa-puzzle-piece:before {\n content: \"\\F12E\"; }\n\n.fa-microphone:before {\n content: \"\\F130\"; }\n\n.fa-microphone-slash:before {\n content: \"\\F131\"; }\n\n.fa-shield:before {\n content: \"\\F132\"; }\n\n.fa-calendar-o:before {\n content: \"\\F133\"; }\n\n.fa-fire-extinguisher:before {\n content: \"\\F134\"; }\n\n.fa-rocket:before {\n content: \"\\F135\"; }\n\n.fa-maxcdn:before {\n content: \"\\F136\"; }\n\n.fa-chevron-circle-left:before {\n content: \"\\F137\"; }\n\n.fa-chevron-circle-right:before {\n content: \"\\F138\"; }\n\n.fa-chevron-circle-up:before {\n content: \"\\F139\"; }\n\n.fa-chevron-circle-down:before {\n content: \"\\F13A\"; }\n\n.fa-html5:before {\n content: \"\\F13B\"; }\n\n.fa-css3:before {\n content: \"\\F13C\"; }\n\n.fa-anchor:before {\n content: \"\\F13D\"; }\n\n.fa-unlock-alt:before {\n content: \"\\F13E\"; }\n\n.fa-bullseye:before {\n content: \"\\F140\"; }\n\n.fa-ellipsis-h:before {\n content: \"\\F141\"; }\n\n.fa-ellipsis-v:before {\n content: \"\\F142\"; }\n\n.fa-rss-square:before {\n content: \"\\F143\"; }\n\n.fa-play-circle:before {\n content: \"\\F144\"; }\n\n.fa-ticket:before {\n content: \"\\F145\"; }\n\n.fa-minus-square:before {\n content: \"\\F146\"; }\n\n.fa-minus-square-o:before {\n content: \"\\F147\"; }\n\n.fa-level-up:before {\n content: \"\\F148\"; }\n\n.fa-level-down:before {\n content: \"\\F149\"; }\n\n.fa-check-square:before {\n content: \"\\F14A\"; }\n\n.fa-pencil-square:before {\n content: \"\\F14B\"; }\n\n.fa-external-link-square:before {\n content: \"\\F14C\"; }\n\n.fa-share-square:before {\n content: \"\\F14D\"; }\n\n.fa-compass:before {\n content: \"\\F14E\"; }\n\n.fa-toggle-down:before,\n.fa-caret-square-o-down:before {\n content: \"\\F150\"; }\n\n.fa-toggle-up:before,\n.fa-caret-square-o-up:before {\n content: \"\\F151\"; }\n\n.fa-toggle-right:before,\n.fa-caret-square-o-right:before {\n content: \"\\F152\"; }\n\n.fa-euro:before,\n.fa-eur:before {\n content: \"\\F153\"; }\n\n.fa-gbp:before {\n content: \"\\F154\"; }\n\n.fa-dollar:before,\n.fa-usd:before {\n content: \"\\F155\"; }\n\n.fa-rupee:before,\n.fa-inr:before {\n content: \"\\F156\"; }\n\n.fa-cny:before,\n.fa-rmb:before,\n.fa-yen:before,\n.fa-jpy:before {\n content: \"\\F157\"; }\n\n.fa-ruble:before,\n.fa-rouble:before,\n.fa-rub:before {\n content: \"\\F158\"; }\n\n.fa-won:before,\n.fa-krw:before {\n content: \"\\F159\"; }\n\n.fa-bitcoin:before,\n.fa-btc:before {\n content: \"\\F15A\"; }\n\n.fa-file:before {\n content: \"\\F15B\"; }\n\n.fa-file-text:before {\n content: \"\\F15C\"; }\n\n.fa-sort-alpha-asc:before {\n content: \"\\F15D\"; }\n\n.fa-sort-alpha-desc:before {\n content: \"\\F15E\"; }\n\n.fa-sort-amount-asc:before {\n content: \"\\F160\"; }\n\n.fa-sort-amount-desc:before {\n content: \"\\F161\"; }\n\n.fa-sort-numeric-asc:before {\n content: \"\\F162\"; }\n\n.fa-sort-numeric-desc:before {\n content: \"\\F163\"; }\n\n.fa-thumbs-up:before {\n content: \"\\F164\"; }\n\n.fa-thumbs-down:before {\n content: \"\\F165\"; }\n\n.fa-youtube-square:before {\n content: \"\\F166\"; }\n\n.fa-youtube:before {\n content: \"\\F167\"; }\n\n.fa-xing:before {\n content: \"\\F168\"; }\n\n.fa-xing-square:before {\n content: \"\\F169\"; }\n\n.fa-youtube-play:before {\n content: \"\\F16A\"; }\n\n.fa-dropbox:before {\n content: \"\\F16B\"; }\n\n.fa-stack-overflow:before {\n content: \"\\F16C\"; }\n\n.fa-instagram:before {\n content: \"\\F16D\"; }\n\n.fa-flickr:before {\n content: \"\\F16E\"; }\n\n.fa-adn:before {\n content: \"\\F170\"; }\n\n.fa-bitbucket:before {\n content: \"\\F171\"; }\n\n.fa-bitbucket-square:before {\n content: \"\\F172\"; }\n\n.fa-tumblr:before {\n content: \"\\F173\"; }\n\n.fa-tumblr-square:before {\n content: \"\\F174\"; }\n\n.fa-long-arrow-down:before {\n content: \"\\F175\"; }\n\n.fa-long-arrow-up:before {\n content: \"\\F176\"; }\n\n.fa-long-arrow-left:before {\n content: \"\\F177\"; }\n\n.fa-long-arrow-right:before {\n content: \"\\F178\"; }\n\n.fa-apple:before {\n content: \"\\F179\"; }\n\n.fa-windows:before {\n content: \"\\F17A\"; }\n\n.fa-android:before {\n content: \"\\F17B\"; }\n\n.fa-linux:before {\n content: \"\\F17C\"; }\n\n.fa-dribbble:before {\n content: \"\\F17D\"; }\n\n.fa-skype:before {\n content: \"\\F17E\"; }\n\n.fa-foursquare:before {\n content: \"\\F180\"; }\n\n.fa-trello:before {\n content: \"\\F181\"; }\n\n.fa-female:before {\n content: \"\\F182\"; }\n\n.fa-male:before {\n content: \"\\F183\"; }\n\n.fa-gittip:before,\n.fa-gratipay:before {\n content: \"\\F184\"; }\n\n.fa-sun-o:before {\n content: \"\\F185\"; }\n\n.fa-moon-o:before {\n content: \"\\F186\"; }\n\n.fa-archive:before {\n content: \"\\F187\"; }\n\n.fa-bug:before {\n content: \"\\F188\"; }\n\n.fa-vk:before {\n content: \"\\F189\"; }\n\n.fa-weibo:before {\n content: \"\\F18A\"; }\n\n.fa-renren:before {\n content: \"\\F18B\"; }\n\n.fa-pagelines:before {\n content: \"\\F18C\"; }\n\n.fa-stack-exchange:before {\n content: \"\\F18D\"; }\n\n.fa-arrow-circle-o-right:before {\n content: \"\\F18E\"; }\n\n.fa-arrow-circle-o-left:before {\n content: \"\\F190\"; }\n\n.fa-toggle-left:before,\n.fa-caret-square-o-left:before {\n content: \"\\F191\"; }\n\n.fa-dot-circle-o:before {\n content: \"\\F192\"; }\n\n.fa-wheelchair:before {\n content: \"\\F193\"; }\n\n.fa-vimeo-square:before {\n content: \"\\F194\"; }\n\n.fa-turkish-lira:before,\n.fa-try:before {\n content: \"\\F195\"; }\n\n.fa-plus-square-o:before {\n content: \"\\F196\"; }\n\n.fa-space-shuttle:before {\n content: \"\\F197\"; }\n\n.fa-slack:before {\n content: \"\\F198\"; }\n\n.fa-envelope-square:before {\n content: \"\\F199\"; }\n\n.fa-wordpress:before {\n content: \"\\F19A\"; }\n\n.fa-openid:before {\n content: \"\\F19B\"; }\n\n.fa-institution:before,\n.fa-bank:before,\n.fa-university:before {\n content: \"\\F19C\"; }\n\n.fa-mortar-board:before,\n.fa-graduation-cap:before {\n content: \"\\F19D\"; }\n\n.fa-yahoo:before {\n content: \"\\F19E\"; }\n\n.fa-google:before {\n content: \"\\F1A0\"; }\n\n.fa-reddit:before {\n content: \"\\F1A1\"; }\n\n.fa-reddit-square:before {\n content: \"\\F1A2\"; }\n\n.fa-stumbleupon-circle:before {\n content: \"\\F1A3\"; }\n\n.fa-stumbleupon:before {\n content: \"\\F1A4\"; }\n\n.fa-delicious:before {\n content: \"\\F1A5\"; }\n\n.fa-digg:before {\n content: \"\\F1A6\"; }\n\n.fa-pied-piper-pp:before {\n content: \"\\F1A7\"; }\n\n.fa-pied-piper-alt:before {\n content: \"\\F1A8\"; }\n\n.fa-drupal:before {\n content: \"\\F1A9\"; }\n\n.fa-joomla:before {\n content: \"\\F1AA\"; }\n\n.fa-language:before {\n content: \"\\F1AB\"; }\n\n.fa-fax:before {\n content: \"\\F1AC\"; }\n\n.fa-building:before {\n content: \"\\F1AD\"; }\n\n.fa-child:before {\n content: \"\\F1AE\"; }\n\n.fa-paw:before {\n content: \"\\F1B0\"; }\n\n.fa-spoon:before {\n content: \"\\F1B1\"; }\n\n.fa-cube:before {\n content: \"\\F1B2\"; }\n\n.fa-cubes:before {\n content: \"\\F1B3\"; }\n\n.fa-behance:before {\n content: \"\\F1B4\"; }\n\n.fa-behance-square:before {\n content: \"\\F1B5\"; }\n\n.fa-steam:before {\n content: \"\\F1B6\"; }\n\n.fa-steam-square:before {\n content: \"\\F1B7\"; }\n\n.fa-recycle:before {\n content: \"\\F1B8\"; }\n\n.fa-automobile:before,\n.fa-car:before {\n content: \"\\F1B9\"; }\n\n.fa-cab:before,\n.fa-taxi:before {\n content: \"\\F1BA\"; }\n\n.fa-tree:before {\n content: \"\\F1BB\"; }\n\n.fa-spotify:before {\n content: \"\\F1BC\"; }\n\n.fa-deviantart:before {\n content: \"\\F1BD\"; }\n\n.fa-soundcloud:before {\n content: \"\\F1BE\"; }\n\n.fa-database:before {\n content: \"\\F1C0\"; }\n\n.fa-file-pdf-o:before {\n content: \"\\F1C1\"; }\n\n.fa-file-word-o:before {\n content: \"\\F1C2\"; }\n\n.fa-file-excel-o:before {\n content: \"\\F1C3\"; }\n\n.fa-file-powerpoint-o:before {\n content: \"\\F1C4\"; }\n\n.fa-file-photo-o:before,\n.fa-file-picture-o:before,\n.fa-file-image-o:before {\n content: \"\\F1C5\"; }\n\n.fa-file-zip-o:before,\n.fa-file-archive-o:before {\n content: \"\\F1C6\"; }\n\n.fa-file-sound-o:before,\n.fa-file-audio-o:before {\n content: \"\\F1C7\"; }\n\n.fa-file-movie-o:before,\n.fa-file-video-o:before {\n content: \"\\F1C8\"; }\n\n.fa-file-code-o:before {\n content: \"\\F1C9\"; }\n\n.fa-vine:before {\n content: \"\\F1CA\"; }\n\n.fa-codepen:before {\n content: \"\\F1CB\"; }\n\n.fa-jsfiddle:before {\n content: \"\\F1CC\"; }\n\n.fa-life-bouy:before,\n.fa-life-buoy:before,\n.fa-life-saver:before,\n.fa-support:before,\n.fa-life-ring:before {\n content: \"\\F1CD\"; }\n\n.fa-circle-o-notch:before {\n content: \"\\F1CE\"; }\n\n.fa-ra:before,\n.fa-resistance:before,\n.fa-rebel:before {\n content: \"\\F1D0\"; }\n\n.fa-ge:before,\n.fa-empire:before {\n content: \"\\F1D1\"; }\n\n.fa-git-square:before {\n content: \"\\F1D2\"; }\n\n.fa-git:before {\n content: \"\\F1D3\"; }\n\n.fa-y-combinator-square:before,\n.fa-yc-square:before,\n.fa-hacker-news:before {\n content: \"\\F1D4\"; }\n\n.fa-tencent-weibo:before {\n content: \"\\F1D5\"; }\n\n.fa-qq:before {\n content: \"\\F1D6\"; }\n\n.fa-wechat:before,\n.fa-weixin:before {\n content: \"\\F1D7\"; }\n\n.fa-send:before,\n.fa-paper-plane:before {\n content: \"\\F1D8\"; }\n\n.fa-send-o:before,\n.fa-paper-plane-o:before {\n content: \"\\F1D9\"; }\n\n.fa-history:before {\n content: \"\\F1DA\"; }\n\n.fa-circle-thin:before {\n content: \"\\F1DB\"; }\n\n.fa-header:before {\n content: \"\\F1DC\"; }\n\n.fa-paragraph:before {\n content: \"\\F1DD\"; }\n\n.fa-sliders:before {\n content: \"\\F1DE\"; }\n\n.fa-share-alt:before {\n content: \"\\F1E0\"; }\n\n.fa-share-alt-square:before {\n content: \"\\F1E1\"; }\n\n.fa-bomb:before {\n content: \"\\F1E2\"; }\n\n.fa-soccer-ball-o:before,\n.fa-futbol-o:before {\n content: \"\\F1E3\"; }\n\n.fa-tty:before {\n content: \"\\F1E4\"; }\n\n.fa-binoculars:before {\n content: \"\\F1E5\"; }\n\n.fa-plug:before {\n content: \"\\F1E6\"; }\n\n.fa-slideshare:before {\n content: \"\\F1E7\"; }\n\n.fa-twitch:before {\n content: \"\\F1E8\"; }\n\n.fa-yelp:before {\n content: \"\\F1E9\"; }\n\n.fa-newspaper-o:before {\n content: \"\\F1EA\"; }\n\n.fa-wifi:before {\n content: \"\\F1EB\"; }\n\n.fa-calculator:before {\n content: \"\\F1EC\"; }\n\n.fa-paypal:before {\n content: \"\\F1ED\"; }\n\n.fa-google-wallet:before {\n content: \"\\F1EE\"; }\n\n.fa-cc-visa:before {\n content: \"\\F1F0\"; }\n\n.fa-cc-mastercard:before {\n content: \"\\F1F1\"; }\n\n.fa-cc-discover:before {\n content: \"\\F1F2\"; }\n\n.fa-cc-amex:before {\n content: \"\\F1F3\"; }\n\n.fa-cc-paypal:before {\n content: \"\\F1F4\"; }\n\n.fa-cc-stripe:before {\n content: \"\\F1F5\"; }\n\n.fa-bell-slash:before {\n content: \"\\F1F6\"; }\n\n.fa-bell-slash-o:before {\n content: \"\\F1F7\"; }\n\n.fa-trash:before {\n content: \"\\F1F8\"; }\n\n.fa-copyright:before {\n content: \"\\F1F9\"; }\n\n.fa-at:before {\n content: \"\\F1FA\"; }\n\n.fa-eyedropper:before {\n content: \"\\F1FB\"; }\n\n.fa-paint-brush:before {\n content: \"\\F1FC\"; }\n\n.fa-birthday-cake:before {\n content: \"\\F1FD\"; }\n\n.fa-area-chart:before {\n content: \"\\F1FE\"; }\n\n.fa-pie-chart:before {\n content: \"\\F200\"; }\n\n.fa-line-chart:before {\n content: \"\\F201\"; }\n\n.fa-lastfm:before {\n content: \"\\F202\"; }\n\n.fa-lastfm-square:before {\n content: \"\\F203\"; }\n\n.fa-toggle-off:before {\n content: \"\\F204\"; }\n\n.fa-toggle-on:before {\n content: \"\\F205\"; }\n\n.fa-bicycle:before {\n content: \"\\F206\"; }\n\n.fa-bus:before {\n content: \"\\F207\"; }\n\n.fa-ioxhost:before {\n content: \"\\F208\"; }\n\n.fa-angellist:before {\n content: \"\\F209\"; }\n\n.fa-cc:before {\n content: \"\\F20A\"; }\n\n.fa-shekel:before,\n.fa-sheqel:before,\n.fa-ils:before {\n content: \"\\F20B\"; }\n\n.fa-meanpath:before {\n content: \"\\F20C\"; }\n\n.fa-buysellads:before {\n content: \"\\F20D\"; }\n\n.fa-connectdevelop:before {\n content: \"\\F20E\"; }\n\n.fa-dashcube:before {\n content: \"\\F210\"; }\n\n.fa-forumbee:before {\n content: \"\\F211\"; }\n\n.fa-leanpub:before {\n content: \"\\F212\"; }\n\n.fa-sellsy:before {\n content: \"\\F213\"; }\n\n.fa-shirtsinbulk:before {\n content: \"\\F214\"; }\n\n.fa-simplybuilt:before {\n content: \"\\F215\"; }\n\n.fa-skyatlas:before {\n content: \"\\F216\"; }\n\n.fa-cart-plus:before {\n content: \"\\F217\"; }\n\n.fa-cart-arrow-down:before {\n content: \"\\F218\"; }\n\n.fa-diamond:before {\n content: \"\\F219\"; }\n\n.fa-ship:before {\n content: \"\\F21A\"; }\n\n.fa-user-secret:before {\n content: \"\\F21B\"; }\n\n.fa-motorcycle:before {\n content: \"\\F21C\"; }\n\n.fa-street-view:before {\n content: \"\\F21D\"; }\n\n.fa-heartbeat:before {\n content: \"\\F21E\"; }\n\n.fa-venus:before {\n content: \"\\F221\"; }\n\n.fa-mars:before {\n content: \"\\F222\"; }\n\n.fa-mercury:before {\n content: \"\\F223\"; }\n\n.fa-intersex:before,\n.fa-transgender:before {\n content: \"\\F224\"; }\n\n.fa-transgender-alt:before {\n content: \"\\F225\"; }\n\n.fa-venus-double:before {\n content: \"\\F226\"; }\n\n.fa-mars-double:before {\n content: \"\\F227\"; }\n\n.fa-venus-mars:before {\n content: \"\\F228\"; }\n\n.fa-mars-stroke:before {\n content: \"\\F229\"; }\n\n.fa-mars-stroke-v:before {\n content: \"\\F22A\"; }\n\n.fa-mars-stroke-h:before {\n content: \"\\F22B\"; }\n\n.fa-neuter:before {\n content: \"\\F22C\"; }\n\n.fa-genderless:before {\n content: \"\\F22D\"; }\n\n.fa-facebook-official:before {\n content: \"\\F230\"; }\n\n.fa-pinterest-p:before {\n content: \"\\F231\"; }\n\n.fa-whatsapp:before {\n content: \"\\F232\"; }\n\n.fa-server:before {\n content: \"\\F233\"; }\n\n.fa-user-plus:before {\n content: \"\\F234\"; }\n\n.fa-user-times:before {\n content: \"\\F235\"; }\n\n.fa-hotel:before,\n.fa-bed:before {\n content: \"\\F236\"; }\n\n.fa-viacoin:before {\n content: \"\\F237\"; }\n\n.fa-train:before {\n content: \"\\F238\"; }\n\n.fa-subway:before {\n content: \"\\F239\"; }\n\n.fa-medium:before {\n content: \"\\F23A\"; }\n\n.fa-yc:before,\n.fa-y-combinator:before {\n content: \"\\F23B\"; }\n\n.fa-optin-monster:before {\n content: \"\\F23C\"; }\n\n.fa-opencart:before {\n content: \"\\F23D\"; }\n\n.fa-expeditedssl:before {\n content: \"\\F23E\"; }\n\n.fa-battery-4:before,\n.fa-battery:before,\n.fa-battery-full:before {\n content: \"\\F240\"; }\n\n.fa-battery-3:before,\n.fa-battery-three-quarters:before {\n content: \"\\F241\"; }\n\n.fa-battery-2:before,\n.fa-battery-half:before {\n content: \"\\F242\"; }\n\n.fa-battery-1:before,\n.fa-battery-quarter:before {\n content: \"\\F243\"; }\n\n.fa-battery-0:before,\n.fa-battery-empty:before {\n content: \"\\F244\"; }\n\n.fa-mouse-pointer:before {\n content: \"\\F245\"; }\n\n.fa-i-cursor:before {\n content: \"\\F246\"; }\n\n.fa-object-group:before {\n content: \"\\F247\"; }\n\n.fa-object-ungroup:before {\n content: \"\\F248\"; }\n\n.fa-sticky-note:before {\n content: \"\\F249\"; }\n\n.fa-sticky-note-o:before {\n content: \"\\F24A\"; }\n\n.fa-cc-jcb:before {\n content: \"\\F24B\"; }\n\n.fa-cc-diners-club:before {\n content: \"\\F24C\"; }\n\n.fa-clone:before {\n content: \"\\F24D\"; }\n\n.fa-balance-scale:before {\n content: \"\\F24E\"; }\n\n.fa-hourglass-o:before {\n content: \"\\F250\"; }\n\n.fa-hourglass-1:before,\n.fa-hourglass-start:before {\n content: \"\\F251\"; }\n\n.fa-hourglass-2:before,\n.fa-hourglass-half:before {\n content: \"\\F252\"; }\n\n.fa-hourglass-3:before,\n.fa-hourglass-end:before {\n content: \"\\F253\"; }\n\n.fa-hourglass:before {\n content: \"\\F254\"; }\n\n.fa-hand-grab-o:before,\n.fa-hand-rock-o:before {\n content: \"\\F255\"; }\n\n.fa-hand-stop-o:before,\n.fa-hand-paper-o:before {\n content: \"\\F256\"; }\n\n.fa-hand-scissors-o:before {\n content: \"\\F257\"; }\n\n.fa-hand-lizard-o:before {\n content: \"\\F258\"; }\n\n.fa-hand-spock-o:before {\n content: \"\\F259\"; }\n\n.fa-hand-pointer-o:before {\n content: \"\\F25A\"; }\n\n.fa-hand-peace-o:before {\n content: \"\\F25B\"; }\n\n.fa-trademark:before {\n content: \"\\F25C\"; }\n\n.fa-registered:before {\n content: \"\\F25D\"; }\n\n.fa-creative-commons:before {\n content: \"\\F25E\"; }\n\n.fa-gg:before {\n content: \"\\F260\"; }\n\n.fa-gg-circle:before {\n content: \"\\F261\"; }\n\n.fa-tripadvisor:before {\n content: \"\\F262\"; }\n\n.fa-odnoklassniki:before {\n content: \"\\F263\"; }\n\n.fa-odnoklassniki-square:before {\n content: \"\\F264\"; }\n\n.fa-get-pocket:before {\n content: \"\\F265\"; }\n\n.fa-wikipedia-w:before {\n content: \"\\F266\"; }\n\n.fa-safari:before {\n content: \"\\F267\"; }\n\n.fa-chrome:before {\n content: \"\\F268\"; }\n\n.fa-firefox:before {\n content: \"\\F269\"; }\n\n.fa-opera:before {\n content: \"\\F26A\"; }\n\n.fa-internet-explorer:before {\n content: \"\\F26B\"; }\n\n.fa-tv:before,\n.fa-television:before {\n content: \"\\F26C\"; }\n\n.fa-contao:before {\n content: \"\\F26D\"; }\n\n.fa-500px:before {\n content: \"\\F26E\"; }\n\n.fa-amazon:before {\n content: \"\\F270\"; }\n\n.fa-calendar-plus-o:before {\n content: \"\\F271\"; }\n\n.fa-calendar-minus-o:before {\n content: \"\\F272\"; }\n\n.fa-calendar-times-o:before {\n content: \"\\F273\"; }\n\n.fa-calendar-check-o:before {\n content: \"\\F274\"; }\n\n.fa-industry:before {\n content: \"\\F275\"; }\n\n.fa-map-pin:before {\n content: \"\\F276\"; }\n\n.fa-map-signs:before {\n content: \"\\F277\"; }\n\n.fa-map-o:before {\n content: \"\\F278\"; }\n\n.fa-map:before {\n content: \"\\F279\"; }\n\n.fa-commenting:before {\n content: \"\\F27A\"; }\n\n.fa-commenting-o:before {\n content: \"\\F27B\"; }\n\n.fa-houzz:before {\n content: \"\\F27C\"; }\n\n.fa-vimeo:before {\n content: \"\\F27D\"; }\n\n.fa-black-tie:before {\n content: \"\\F27E\"; }\n\n.fa-fonticons:before {\n content: \"\\F280\"; }\n\n.fa-reddit-alien:before {\n content: \"\\F281\"; }\n\n.fa-edge:before {\n content: \"\\F282\"; }\n\n.fa-credit-card-alt:before {\n content: \"\\F283\"; }\n\n.fa-codiepie:before {\n content: \"\\F284\"; }\n\n.fa-modx:before {\n content: \"\\F285\"; }\n\n.fa-fort-awesome:before {\n content: \"\\F286\"; }\n\n.fa-usb:before {\n content: \"\\F287\"; }\n\n.fa-product-hunt:before {\n content: \"\\F288\"; }\n\n.fa-mixcloud:before {\n content: \"\\F289\"; }\n\n.fa-scribd:before {\n content: \"\\F28A\"; }\n\n.fa-pause-circle:before {\n content: \"\\F28B\"; }\n\n.fa-pause-circle-o:before {\n content: \"\\F28C\"; }\n\n.fa-stop-circle:before {\n content: \"\\F28D\"; }\n\n.fa-stop-circle-o:before {\n content: \"\\F28E\"; }\n\n.fa-shopping-bag:before {\n content: \"\\F290\"; }\n\n.fa-shopping-basket:before {\n content: \"\\F291\"; }\n\n.fa-hashtag:before {\n content: \"\\F292\"; }\n\n.fa-bluetooth:before {\n content: \"\\F293\"; }\n\n.fa-bluetooth-b:before {\n content: \"\\F294\"; }\n\n.fa-percent:before {\n content: \"\\F295\"; }\n\n.fa-gitlab:before {\n content: \"\\F296\"; }\n\n.fa-wpbeginner:before {\n content: \"\\F297\"; }\n\n.fa-wpforms:before {\n content: \"\\F298\"; }\n\n.fa-envira:before {\n content: \"\\F299\"; }\n\n.fa-universal-access:before {\n content: \"\\F29A\"; }\n\n.fa-wheelchair-alt:before {\n content: \"\\F29B\"; }\n\n.fa-question-circle-o:before {\n content: \"\\F29C\"; }\n\n.fa-blind:before {\n content: \"\\F29D\"; }\n\n.fa-audio-description:before {\n content: \"\\F29E\"; }\n\n.fa-volume-control-phone:before {\n content: \"\\F2A0\"; }\n\n.fa-braille:before {\n content: \"\\F2A1\"; }\n\n.fa-assistive-listening-systems:before {\n content: \"\\F2A2\"; }\n\n.fa-asl-interpreting:before,\n.fa-american-sign-language-interpreting:before {\n content: \"\\F2A3\"; }\n\n.fa-deafness:before,\n.fa-hard-of-hearing:before,\n.fa-deaf:before {\n content: \"\\F2A4\"; }\n\n.fa-glide:before {\n content: \"\\F2A5\"; }\n\n.fa-glide-g:before {\n content: \"\\F2A6\"; }\n\n.fa-signing:before,\n.fa-sign-language:before {\n content: \"\\F2A7\"; }\n\n.fa-low-vision:before {\n content: \"\\F2A8\"; }\n\n.fa-viadeo:before {\n content: \"\\F2A9\"; }\n\n.fa-viadeo-square:before {\n content: \"\\F2AA\"; }\n\n.fa-snapchat:before {\n content: \"\\F2AB\"; }\n\n.fa-snapchat-ghost:before {\n content: \"\\F2AC\"; }\n\n.fa-snapchat-square:before {\n content: \"\\F2AD\"; }\n\n.fa-pied-piper:before {\n content: \"\\F2AE\"; }\n\n.fa-first-order:before {\n content: \"\\F2B0\"; }\n\n.fa-yoast:before {\n content: \"\\F2B1\"; }\n\n.fa-themeisle:before {\n content: \"\\F2B2\"; }\n\n.fa-google-plus-circle:before,\n.fa-google-plus-official:before {\n content: \"\\F2B3\"; }\n\n.fa-fa:before,\n.fa-font-awesome:before {\n content: \"\\F2B4\"; }\n\n.fa-handshake-o:before {\n content: \"\\F2B5\"; }\n\n.fa-envelope-open:before {\n content: \"\\F2B6\"; }\n\n.fa-envelope-open-o:before {\n content: \"\\F2B7\"; }\n\n.fa-linode:before {\n content: \"\\F2B8\"; }\n\n.fa-address-book:before {\n content: \"\\F2B9\"; }\n\n.fa-address-book-o:before {\n content: \"\\F2BA\"; }\n\n.fa-vcard:before,\n.fa-address-card:before {\n content: \"\\F2BB\"; }\n\n.fa-vcard-o:before,\n.fa-address-card-o:before {\n content: \"\\F2BC\"; }\n\n.fa-user-circle:before {\n content: \"\\F2BD\"; }\n\n.fa-user-circle-o:before {\n content: \"\\F2BE\"; }\n\n.fa-user-o:before {\n content: \"\\F2C0\"; }\n\n.fa-id-badge:before {\n content: \"\\F2C1\"; }\n\n.fa-drivers-license:before,\n.fa-id-card:before {\n content: \"\\F2C2\"; }\n\n.fa-drivers-license-o:before,\n.fa-id-card-o:before {\n content: \"\\F2C3\"; }\n\n.fa-quora:before {\n content: \"\\F2C4\"; }\n\n.fa-free-code-camp:before {\n content: \"\\F2C5\"; }\n\n.fa-telegram:before {\n content: \"\\F2C6\"; }\n\n.fa-thermometer-4:before,\n.fa-thermometer:before,\n.fa-thermometer-full:before {\n content: \"\\F2C7\"; }\n\n.fa-thermometer-3:before,\n.fa-thermometer-three-quarters:before {\n content: \"\\F2C8\"; }\n\n.fa-thermometer-2:before,\n.fa-thermometer-half:before {\n content: \"\\F2C9\"; }\n\n.fa-thermometer-1:before,\n.fa-thermometer-quarter:before {\n content: \"\\F2CA\"; }\n\n.fa-thermometer-0:before,\n.fa-thermometer-empty:before {\n content: \"\\F2CB\"; }\n\n.fa-shower:before {\n content: \"\\F2CC\"; }\n\n.fa-bathtub:before,\n.fa-s15:before,\n.fa-bath:before {\n content: \"\\F2CD\"; }\n\n.fa-podcast:before {\n content: \"\\F2CE\"; }\n\n.fa-window-maximize:before {\n content: \"\\F2D0\"; }\n\n.fa-window-minimize:before {\n content: \"\\F2D1\"; }\n\n.fa-window-restore:before {\n content: \"\\F2D2\"; }\n\n.fa-times-rectangle:before,\n.fa-window-close:before {\n content: \"\\F2D3\"; }\n\n.fa-times-rectangle-o:before,\n.fa-window-close-o:before {\n content: \"\\F2D4\"; }\n\n.fa-bandcamp:before {\n content: \"\\F2D5\"; }\n\n.fa-grav:before {\n content: \"\\F2D6\"; }\n\n.fa-etsy:before {\n content: \"\\F2D7\"; }\n\n.fa-imdb:before {\n content: \"\\F2D8\"; }\n\n.fa-ravelry:before {\n content: \"\\F2D9\"; }\n\n.fa-eercast:before {\n content: \"\\F2DA\"; }\n\n.fa-microchip:before {\n content: \"\\F2DB\"; }\n\n.fa-snowflake-o:before {\n content: \"\\F2DC\"; }\n\n.fa-superpowers:before {\n content: \"\\F2DD\"; }\n\n.fa-wpexplorer:before {\n content: \"\\F2DE\"; }\n\n.fa-meetup:before {\n content: \"\\F2E0\"; }\n\n.sr-only, .table.table-list tr:not(:hover) td.table-list-options > .dropdown:not(.show) button:not(:focus):not(:active), .table.table-list tr:not(:hover) td.table-list-options > button:not(:focus):not(:active) {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0; }\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto; }\n\n.toaster-icon {\n position: absolute;\n left: 0.0em;\n top: 0.0em;\n font-weight: normal;\n color: #ffffff; }\n\n.toast-title {\n font-weight: bold; }\n\n.toast-message {\n -ms-word-wrap: break-word;\n word-wrap: break-word; }\n\n.toast-message a,\n.toast-message label {\n color: #ffffff; }\n\n.toast-message a:hover {\n color: #cccccc;\n text-decoration: none; }\n\n.toast-close-button {\n position: relative;\n right: -0.3em;\n top: -0.3em;\n float: right;\n font-size: 20px;\n font-weight: bold;\n color: #ffffff;\n -webkit-text-shadow: 0 1px 0 #ffffff;\n text-shadow: 0 1px 0 #ffffff;\n opacity: 0.8;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);\n filter: alpha(opacity=80);\n z-index: 999; }\n\n.toast-close-button:hover, .toast-close-button:focus {\n color: #000000;\n text-decoration: none;\n cursor: pointer;\n opacity: 0.4;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);\n filter: alpha(opacity=40); }\n\n/*Additional properties for button version\n iOS requires the button element instead of an anchor tag.\n If you want the anchor version, it requires `href=\"#\"`.*/\nbutton.toast-close-button {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none; }\n\n.toast-content {\n display: inline-block;\n width: 95%; }\n\n.toast-top-full-width {\n top: 0;\n right: 0;\n width: 100%; }\n\n.toast-bottom-full-width {\n bottom: 0;\n right: 0;\n width: 100%; }\n\n.toast-top-left {\n top: 12px;\n left: 12px; }\n\n.toast-top-center {\n top: 12px; }\n\n.toast-top-right {\n top: 12px;\n right: 12px; }\n\n.toast-bottom-right {\n right: 12px;\n bottom: 12px; }\n\n.toast-bottom-center {\n bottom: 12px; }\n\n.toast-bottom-left {\n bottom: 12px;\n left: 12px; }\n\n.toast-center {\n top: 45%; }\n\n#toast-container {\n position: fixed;\n z-index: 999999;\n /*overrides*/\n pointer-events: auto; }\n\n#toast-container.toast-center,\n#toast-container.toast-top-center,\n#toast-container.toast-bottom-center {\n width: 100%;\n pointer-events: none;\n left: 0;\n right: 0; }\n\n#toast-container.toast-center > div,\n#toast-container.toast-top-center > div,\n#toast-container.toast-bottom-center > div {\n margin: 6px auto;\n pointer-events: auto; }\n\n#toast-container.toast-center > button,\n#toast-container.toast-top-center > button,\n#toast-container.toast-bottom-center > button {\n pointer-events: auto; }\n\n#toast-container * {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box; }\n\n#toast-container > div {\n margin: 0 0 6px;\n padding: 15px 15px 15px 50px;\n width: 300px;\n -moz-border-radius: 3px 3px 3px 3px;\n -webkit-border-radius: 3px 3px 3px 3px;\n border-radius: 3px 3px 3px 3px;\n background-position: 15px center;\n background-repeat: no-repeat;\n -moz-box-shadow: 0 0 12px #999999;\n -webkit-box-shadow: 0 0 12px #999999;\n box-shadow: 0 0 12px #999999;\n color: #ffffff;\n opacity: 0.8;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);\n filter: alpha(opacity=80); }\n\n#toast-container > :hover {\n -moz-box-shadow: 0 0 12px #000000;\n -webkit-box-shadow: 0 0 12px #000000;\n box-shadow: 0 0 12px #000000;\n opacity: 1;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);\n filter: alpha(opacity=100);\n cursor: pointer; }\n\n.icon-success {\n width: 35px;\n height: 100%;\n display: inline-block;\n background-repeat: no-repeat;\n background-position: 100% 50%;\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==\") !important; }\n\n.icon-error {\n width: 35px;\n height: 100%;\n display: inline-block;\n background-repeat: no-repeat;\n background-position: 100% 50%;\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=\") !important; }\n\n.icon-info {\n width: 35px;\n height: 100%;\n display: inline-block;\n background-repeat: no-repeat;\n background-position: 100% 50%;\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=\") !important; }\n\n.icon-wait {\n width: 35px;\n height: 100%;\n display: inline-block;\n background-repeat: no-repeat;\n background-position: 100% 50%;\n background-image: url(\"data:image/gif;base64,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\") !important; }\n\n.icon-warning {\n width: 35px;\n height: 100%;\n display: inline-block;\n background-repeat: no-repeat;\n background-position: 100% 50%;\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=\") !important; }\n\n#toast-container.toast-top-full-width > div,\n#toast-container.toast-bottom-full-width > div {\n width: 96%;\n margin: auto; }\n\n.toast {\n position: relative;\n background-color: #030303; }\n\n.toast-success {\n background-color: #51a351; }\n\n.toast-error {\n background-color: #bd362f; }\n\n.toast-info {\n background-color: #2f96b4; }\n\n.toast-wait {\n background-color: #2f96b4; }\n\n.toast-warning {\n background-color: #f89406; }\n\n/*Responsive Design*/\n@media all and (max-width: 240px) {\n #toast-container > div {\n padding: 8px 8px 8px 50px;\n width: 11em; }\n #toast-container .toast-close-button {\n right: -0.1em;\n top: -0.2em; }\n .toast-content {\n width: 94%; } }\n\n@media all and (min-width: 241px) and (max-width: 480px) {\n #toast-container > div {\n padding: 8px 8px 8px 50px;\n width: 18em; }\n #toast-container .toast-close-button {\n right: -0.1em;\n top: -0.2em; }\n .toast-content {\n width: 94%; } }\n\n@media all and (min-width: 481px) and (max-width: 768px) {\n #toast-container > div {\n padding: 15px 15px 15px 50px;\n width: 25em; } }\n\n.swal2-popup.swal2-toast {\n flex-direction: row;\n align-items: center;\n width: auto;\n padding: 0.625em;\n overflow-y: hidden;\n background: #fff;\n box-shadow: 0 0 0.625em #d9d9d9; }\n .swal2-popup.swal2-toast .swal2-header {\n flex-direction: row; }\n .swal2-popup.swal2-toast .swal2-title {\n flex-grow: 1;\n justify-content: flex-start;\n margin: 0 0.6em;\n font-size: 1em; }\n .swal2-popup.swal2-toast .swal2-footer {\n margin: 0.5em 0 0;\n padding: 0.5em 0 0;\n font-size: 0.8em; }\n .swal2-popup.swal2-toast .swal2-close {\n position: static;\n width: 0.8em;\n height: 0.8em;\n line-height: 0.8; }\n .swal2-popup.swal2-toast .swal2-content {\n justify-content: flex-start;\n font-size: 1em; }\n .swal2-popup.swal2-toast .swal2-icon {\n width: 2em;\n min-width: 2em;\n height: 2em;\n margin: 0; }\n .swal2-popup.swal2-toast .swal2-icon .swal2-icon-content {\n display: flex;\n align-items: center;\n font-size: 1.8em;\n font-weight: bold; }\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .swal2-popup.swal2-toast .swal2-icon .swal2-icon-content {\n font-size: .25em; } }\n .swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring {\n width: 2em;\n height: 2em; }\n .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'] {\n top: .875em;\n width: 1.375em; }\n .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='left'] {\n left: .3125em; }\n .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='right'] {\n right: .3125em; }\n .swal2-popup.swal2-toast .swal2-actions {\n flex-basis: auto !important;\n width: auto;\n height: auto;\n margin: 0 .3125em; }\n .swal2-popup.swal2-toast .swal2-styled {\n margin: 0 .3125em;\n padding: .3125em .625em;\n font-size: 1em; }\n .swal2-popup.swal2-toast .swal2-styled:focus {\n box-shadow: 0 0 0 1px #fff, 0 0 0 3px rgba(50, 100, 150, 0.4); }\n .swal2-popup.swal2-toast .swal2-success {\n border-color: #a5dc86; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'] {\n position: absolute;\n width: 1.6em;\n height: 3em;\n transform: rotate(45deg);\n border-radius: 50%; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'][class$='left'] {\n top: -.8em;\n left: -.5em;\n transform: rotate(-45deg);\n transform-origin: 2em 2em;\n border-radius: 4em 0 0 4em; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'][class$='right'] {\n top: -.25em;\n left: .9375em;\n transform-origin: 0 1.5em;\n border-radius: 0 4em 4em 0; }\n .swal2-popup.swal2-toast .swal2-success .swal2-success-ring {\n width: 2em;\n height: 2em; }\n .swal2-popup.swal2-toast .swal2-success .swal2-success-fix {\n top: 0;\n left: .4375em;\n width: .4375em;\n height: 2.6875em; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'] {\n height: .3125em; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'][class$='tip'] {\n top: 1.125em;\n left: .1875em;\n width: .75em; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'][class$='long'] {\n top: .9375em;\n right: .1875em;\n width: 1.375em; }\n .swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip {\n animation: swal2-toast-animate-success-line-tip .75s; }\n .swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long {\n animation: swal2-toast-animate-success-line-long .75s; }\n .swal2-popup.swal2-toast.swal2-show {\n animation: swal2-toast-show 0.5s; }\n .swal2-popup.swal2-toast.swal2-hide {\n animation: swal2-toast-hide 0.1s forwards; }\n\n.swal2-container {\n display: flex;\n position: fixed;\n z-index: 1060;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n padding: 0.625em;\n overflow-x: hidden;\n transition: background-color 0.1s;\n -webkit-overflow-scrolling: touch; }\n .swal2-container.swal2-backdrop-show {\n background: rgba(0, 0, 0, 0.4); }\n .swal2-container.swal2-backdrop-hide {\n background: transparent !important; }\n .swal2-container.swal2-top {\n align-items: flex-start; }\n .swal2-container.swal2-top-start, .swal2-container.swal2-top-left {\n align-items: flex-start;\n justify-content: flex-start; }\n .swal2-container.swal2-top-end, .swal2-container.swal2-top-right {\n align-items: flex-start;\n justify-content: flex-end; }\n .swal2-container.swal2-center {\n align-items: center; }\n .swal2-container.swal2-center-start, .swal2-container.swal2-center-left {\n align-items: center;\n justify-content: flex-start; }\n .swal2-container.swal2-center-end, .swal2-container.swal2-center-right {\n align-items: center;\n justify-content: flex-end; }\n .swal2-container.swal2-bottom {\n align-items: flex-end; }\n .swal2-container.swal2-bottom-start, .swal2-container.swal2-bottom-left {\n align-items: flex-end;\n justify-content: flex-start; }\n .swal2-container.swal2-bottom-end, .swal2-container.swal2-bottom-right {\n align-items: flex-end;\n justify-content: flex-end; }\n .swal2-container.swal2-bottom > :first-child,\n .swal2-container.swal2-bottom-start > :first-child,\n .swal2-container.swal2-bottom-left > :first-child,\n .swal2-container.swal2-bottom-end > :first-child,\n .swal2-container.swal2-bottom-right > :first-child {\n margin-top: auto; }\n .swal2-container.swal2-grow-fullscreen > .swal2-modal {\n display: flex !important;\n flex: 1;\n align-self: stretch;\n justify-content: center; }\n .swal2-container.swal2-grow-row > .swal2-modal {\n display: flex !important;\n flex: 1;\n align-content: center;\n justify-content: center; }\n .swal2-container.swal2-grow-column {\n flex: 1;\n flex-direction: column; }\n .swal2-container.swal2-grow-column.swal2-top, .swal2-container.swal2-grow-column.swal2-center, .swal2-container.swal2-grow-column.swal2-bottom {\n align-items: center; }\n .swal2-container.swal2-grow-column.swal2-top-start, .swal2-container.swal2-grow-column.swal2-center-start, .swal2-container.swal2-grow-column.swal2-bottom-start, .swal2-container.swal2-grow-column.swal2-top-left, .swal2-container.swal2-grow-column.swal2-center-left, .swal2-container.swal2-grow-column.swal2-bottom-left {\n align-items: flex-start; }\n .swal2-container.swal2-grow-column.swal2-top-end, .swal2-container.swal2-grow-column.swal2-center-end, .swal2-container.swal2-grow-column.swal2-bottom-end, .swal2-container.swal2-grow-column.swal2-top-right, .swal2-container.swal2-grow-column.swal2-center-right, .swal2-container.swal2-grow-column.swal2-bottom-right {\n align-items: flex-end; }\n .swal2-container.swal2-grow-column > .swal2-modal {\n display: flex !important;\n flex: 1;\n align-content: center;\n justify-content: center; }\n .swal2-container:not(.swal2-top):not(.swal2-top-start):not(.swal2-top-end):not(.swal2-top-left):not(.swal2-top-right):not(.swal2-center-start):not(.swal2-center-end):not(.swal2-center-left):not(.swal2-center-right):not(.swal2-bottom):not(.swal2-bottom-start):not(.swal2-bottom-end):not(.swal2-bottom-left):not(.swal2-bottom-right):not(.swal2-grow-fullscreen) > .swal2-modal {\n margin: auto; }\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .swal2-container .swal2-modal {\n margin: 0 !important; } }\n\n.swal2-popup {\n display: none;\n position: relative;\n box-sizing: border-box;\n flex-direction: column;\n justify-content: center;\n width: 32em;\n max-width: 100%;\n padding: 1.25em;\n border: none;\n border-radius: 0.3125em;\n background: #fff;\n font-family: inherit;\n font-size: 1rem; }\n .swal2-popup:focus {\n outline: none; }\n .swal2-popup.swal2-loading {\n overflow-y: hidden; }\n\n.swal2-header {\n display: flex;\n flex-direction: column;\n align-items: center; }\n\n.swal2-title {\n position: relative;\n max-width: 100%;\n margin: 0 0 0.4em;\n padding: 0;\n color: #595959;\n font-size: 1.875em;\n font-weight: 600;\n text-align: center;\n text-transform: none;\n word-wrap: break-word; }\n\n.swal2-actions {\n display: flex;\n z-index: 1;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n width: 100%;\n margin: 1.25em auto 0; }\n .swal2-actions:not(.swal2-loading) .swal2-styled[disabled] {\n opacity: .4; }\n .swal2-actions:not(.swal2-loading) .swal2-styled:hover {\n background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1)); }\n .swal2-actions:not(.swal2-loading) .swal2-styled:active {\n background-image: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)); }\n .swal2-actions.swal2-loading .swal2-styled.swal2-confirm {\n box-sizing: border-box;\n width: 2.5em;\n height: 2.5em;\n margin: .46875em;\n padding: 0;\n animation: swal2-rotate-loading 1.5s linear 0s infinite normal;\n border: .25em solid transparent;\n border-radius: 100%;\n border-color: transparent;\n background-color: transparent !important;\n color: transparent;\n cursor: default;\n user-select: none; }\n .swal2-actions.swal2-loading .swal2-styled.swal2-cancel {\n margin-right: 30px;\n margin-left: 30px; }\n .swal2-actions.swal2-loading :not(.swal2-styled).swal2-confirm::after {\n content: '';\n display: inline-block;\n width: 15px;\n height: 15px;\n margin-left: 5px;\n animation: swal2-rotate-loading 1.5s linear 0s infinite normal;\n border: 3px solid #999999;\n border-radius: 50%;\n border-right-color: transparent;\n box-shadow: 1px 1px 1px #fff; }\n\n.swal2-styled {\n margin: .3125em;\n padding: .625em 2em;\n box-shadow: none;\n font-weight: 500; }\n .swal2-styled:not([disabled]) {\n cursor: pointer; }\n .swal2-styled.swal2-confirm {\n border: 0;\n border-radius: 0.25em;\n background: initial;\n background-color: #3085d6;\n color: #fff;\n font-size: 1.0625em; }\n .swal2-styled.swal2-cancel {\n border: 0;\n border-radius: 0.25em;\n background: initial;\n background-color: #aaa;\n color: #fff;\n font-size: 1.0625em; }\n .swal2-styled:focus {\n outline: none;\n box-shadow: 0 0 0 1px #fff, 0 0 0 3px rgba(50, 100, 150, 0.4); }\n .swal2-styled::-moz-focus-inner {\n border: 0; }\n\n.swal2-footer {\n justify-content: center;\n margin: 1.25em 0 0;\n padding: 1em 0 0;\n border-top: 1px solid #eee;\n color: #545454;\n font-size: 1em; }\n\n.swal2-timer-progress-bar {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 0.25em;\n background: rgba(0, 0, 0, 0.2); }\n\n.swal2-image {\n max-width: 100%;\n margin: 1.25em auto; }\n\n.swal2-close {\n position: absolute;\n z-index: 2;\n /* 1617 */\n top: 0;\n right: 0;\n justify-content: center;\n width: 1.2em;\n height: 1.2em;\n padding: 0;\n overflow: hidden;\n transition: color 0.1s ease-out;\n border: none;\n border-radius: 0;\n outline: initial;\n background: transparent;\n color: #cccccc;\n font-family: serif;\n font-size: 2.5em;\n line-height: 1.2;\n cursor: pointer; }\n .swal2-close:hover {\n transform: none;\n background: transparent;\n color: #f27474; }\n .swal2-close::-moz-focus-inner {\n border: 0; }\n\n.swal2-content {\n z-index: 1;\n justify-content: center;\n margin: 0;\n padding: 0;\n color: #545454;\n font-size: 1.125em;\n font-weight: normal;\n line-height: normal;\n text-align: center;\n word-wrap: break-word; }\n\n.swal2-input,\n.swal2-file,\n.swal2-textarea,\n.swal2-select,\n.swal2-radio,\n.swal2-checkbox {\n margin: 1em auto; }\n\n.swal2-input,\n.swal2-file,\n.swal2-textarea {\n box-sizing: border-box;\n width: 100%;\n transition: border-color 0.3s, box-shadow 0.3s;\n border: 1px solid #d9d9d9;\n border-radius: 0.1875em;\n background: inherit;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06);\n color: inherit;\n font-size: 1.125em; }\n .swal2-input.swal2-inputerror,\n .swal2-file.swal2-inputerror,\n .swal2-textarea.swal2-inputerror {\n border-color: #f27474 !important;\n box-shadow: 0 0 2px #f27474 !important; }\n .swal2-input:focus,\n .swal2-file:focus,\n .swal2-textarea:focus {\n border: 1px solid #b4dbed;\n outline: none;\n box-shadow: 0 0 3px #c4e6f5; }\n .swal2-input::placeholder,\n .swal2-file::placeholder,\n .swal2-textarea::placeholder {\n color: #cccccc; }\n\n.swal2-range {\n margin: 1em auto;\n background: #fff; }\n .swal2-range input {\n width: 80%; }\n .swal2-range output {\n width: 20%;\n color: inherit;\n font-weight: 600;\n text-align: center; }\n .swal2-range input,\n .swal2-range output {\n height: 2.625em;\n padding: 0;\n font-size: 1.125em;\n line-height: 2.625em; }\n\n.swal2-input {\n height: 2.625em;\n padding: 0 0.75em; }\n .swal2-input[type='number'] {\n max-width: 10em; }\n\n.swal2-file {\n background: inherit;\n font-size: 1.125em; }\n\n.swal2-textarea {\n height: 6.75em;\n padding: 0.75em; }\n\n.swal2-select {\n min-width: 50%;\n max-width: 100%;\n padding: .375em .625em;\n background: inherit;\n color: inherit;\n font-size: 1.125em; }\n\n.swal2-radio,\n.swal2-checkbox {\n align-items: center;\n justify-content: center;\n background: #fff;\n color: inherit; }\n .swal2-radio label,\n .swal2-checkbox label {\n margin: 0 .6em;\n font-size: 1.125em; }\n .swal2-radio input,\n .swal2-checkbox input {\n margin: 0 .4em; }\n\n.swal2-validation-message {\n display: none;\n align-items: center;\n justify-content: center;\n padding: 0.625em;\n overflow: hidden;\n background: #f0f0f0;\n color: #666666;\n font-size: 1em;\n font-weight: 300; }\n .swal2-validation-message::before {\n content: '!';\n display: inline-block;\n width: 1.5em;\n min-width: 1.5em;\n height: 1.5em;\n margin: 0 .625em;\n border-radius: 50%;\n background-color: #f27474;\n color: #fff;\n font-weight: 600;\n line-height: 1.5em;\n text-align: center; }\n\n.swal2-icon {\n position: relative;\n box-sizing: content-box;\n justify-content: center;\n width: 5em;\n height: 5em;\n margin: 1.25em auto 1.875em;\n border: .25em solid transparent;\n border-radius: 50%;\n font-family: inherit;\n line-height: 5em;\n cursor: default;\n user-select: none; }\n .swal2-icon .swal2-icon-content {\n display: flex;\n align-items: center;\n font-size: 3.75em; }\n .swal2-icon.swal2-error {\n border-color: #f27474;\n color: #f27474; }\n .swal2-icon.swal2-error .swal2-x-mark {\n position: relative;\n flex-grow: 1; }\n .swal2-icon.swal2-error [class^='swal2-x-mark-line'] {\n display: block;\n position: absolute;\n top: 2.3125em;\n width: 2.9375em;\n height: .3125em;\n border-radius: .125em;\n background-color: #f27474; }\n .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='left'] {\n left: 1.0625em;\n transform: rotate(45deg); }\n .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='right'] {\n right: 1em;\n transform: rotate(-45deg); }\n .swal2-icon.swal2-error.swal2-icon-show {\n animation: swal2-animate-error-icon .5s; }\n .swal2-icon.swal2-error.swal2-icon-show .swal2-x-mark {\n animation: swal2-animate-error-x-mark .5s; }\n .swal2-icon.swal2-warning {\n border-color: #facea8;\n color: #f8bb86; }\n .swal2-icon.swal2-info {\n border-color: #9de0f6;\n color: #3fc3ee; }\n .swal2-icon.swal2-question {\n border-color: #c9dae1;\n color: #87adbd; }\n .swal2-icon.swal2-success {\n border-color: #a5dc86;\n color: #a5dc86; }\n .swal2-icon.swal2-success [class^='swal2-success-circular-line'] {\n position: absolute;\n width: 3.75em;\n height: 7.5em;\n transform: rotate(45deg);\n border-radius: 50%; }\n .swal2-icon.swal2-success [class^='swal2-success-circular-line'][class$='left'] {\n top: -.4375em;\n left: -2.0635em;\n transform: rotate(-45deg);\n transform-origin: 3.75em 3.75em;\n border-radius: 7.5em 0 0 7.5em; }\n .swal2-icon.swal2-success [class^='swal2-success-circular-line'][class$='right'] {\n top: -.6875em;\n left: 1.875em;\n transform: rotate(-45deg);\n transform-origin: 0 3.75em;\n border-radius: 0 7.5em 7.5em 0; }\n .swal2-icon.swal2-success .swal2-success-ring {\n position: absolute;\n z-index: 2;\n top: -.25em;\n left: -.25em;\n box-sizing: content-box;\n width: 100%;\n height: 100%;\n border: 0.25em solid rgba(165, 220, 134, 0.3);\n border-radius: 50%; }\n .swal2-icon.swal2-success .swal2-success-fix {\n position: absolute;\n z-index: 1;\n top: .5em;\n left: 1.625em;\n width: .4375em;\n height: 5.625em;\n transform: rotate(-45deg); }\n .swal2-icon.swal2-success [class^='swal2-success-line'] {\n display: block;\n position: absolute;\n z-index: 2;\n height: .3125em;\n border-radius: .125em;\n background-color: #a5dc86; }\n .swal2-icon.swal2-success [class^='swal2-success-line'][class$='tip'] {\n top: 2.875em;\n left: .8125em;\n width: 1.5625em;\n transform: rotate(45deg); }\n .swal2-icon.swal2-success [class^='swal2-success-line'][class$='long'] {\n top: 2.375em;\n right: .5em;\n width: 2.9375em;\n transform: rotate(-45deg); }\n .swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-tip {\n animation: swal2-animate-success-line-tip .75s; }\n .swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-long {\n animation: swal2-animate-success-line-long .75s; }\n .swal2-icon.swal2-success.swal2-icon-show .swal2-success-circular-line-right {\n animation: swal2-rotate-success-circular-line 4.25s ease-in; }\n\n.swal2-progress-steps {\n align-items: center;\n margin: 0 0 1.25em;\n padding: 0;\n background: inherit;\n font-weight: 600; }\n .swal2-progress-steps li {\n display: inline-block;\n position: relative; }\n .swal2-progress-steps .swal2-progress-step {\n z-index: 20;\n width: 2em;\n height: 2em;\n border-radius: 2em;\n background: #3085d6;\n color: #fff;\n line-height: 2em;\n text-align: center; }\n .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step {\n background: #3085d6; }\n .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step {\n background: #add8e6;\n color: #fff; }\n .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step-line {\n background: #add8e6; }\n .swal2-progress-steps .swal2-progress-step-line {\n z-index: 10;\n width: 2.5em;\n height: .4em;\n margin: 0 -1px;\n background: #3085d6; }\n\n[class^='swal2'] {\n -webkit-tap-highlight-color: transparent; }\n\n.swal2-show {\n animation: swal2-show 0.3s; }\n\n.swal2-hide {\n animation: swal2-hide 0.15s forwards; }\n\n.swal2-noanimation {\n transition: none; }\n\n.swal2-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll; }\n\n.swal2-rtl .swal2-close {\n right: auto;\n left: 0; }\n\n.swal2-rtl .swal2-timer-progress-bar {\n right: 0;\n left: auto; }\n\n@supports (-ms-accelerator: true) {\n .swal2-range input {\n width: 100% !important; }\n .swal2-range output {\n display: none; } }\n\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .swal2-range input {\n width: 100% !important; }\n .swal2-range output {\n display: none; } }\n\n@-moz-document url-prefix() {\n .swal2-close:focus {\n outline: 2px solid rgba(50, 100, 150, 0.4); } }\n\n@keyframes swal2-toast-show {\n 0% {\n transform: translateY(-0.625em) rotateZ(2deg); }\n 33% {\n transform: translateY(0) rotateZ(-2deg); }\n 66% {\n transform: translateY(0.3125em) rotateZ(2deg); }\n 100% {\n transform: translateY(0) rotateZ(0deg); } }\n\n@keyframes swal2-toast-hide {\n 100% {\n transform: rotateZ(1deg);\n opacity: 0; } }\n\n@keyframes swal2-toast-animate-success-line-tip {\n 0% {\n top: .5625em;\n left: .0625em;\n width: 0; }\n 54% {\n top: .125em;\n left: .125em;\n width: 0; }\n 70% {\n top: .625em;\n left: -.25em;\n width: 1.625em; }\n 84% {\n top: 1.0625em;\n left: .75em;\n width: .5em; }\n 100% {\n top: 1.125em;\n left: .1875em;\n width: .75em; } }\n\n@keyframes swal2-toast-animate-success-line-long {\n 0% {\n top: 1.625em;\n right: 1.375em;\n width: 0; }\n 65% {\n top: 1.25em;\n right: .9375em;\n width: 0; }\n 84% {\n top: .9375em;\n right: 0;\n width: 1.125em; }\n 100% {\n top: .9375em;\n right: .1875em;\n width: 1.375em; } }\n\n@keyframes swal2-show {\n 0% {\n transform: scale(0.7); }\n 45% {\n transform: scale(1.05); }\n 80% {\n transform: scale(0.95); }\n 100% {\n transform: scale(1); } }\n\n@keyframes swal2-hide {\n 0% {\n transform: scale(1);\n opacity: 1; }\n 100% {\n transform: scale(0.5);\n opacity: 0; } }\n\n@keyframes swal2-animate-success-line-tip {\n 0% {\n top: 1.1875em;\n left: .0625em;\n width: 0; }\n 54% {\n top: 1.0625em;\n left: .125em;\n width: 0; }\n 70% {\n top: 2.1875em;\n left: -.375em;\n width: 3.125em; }\n 84% {\n top: 3em;\n left: 1.3125em;\n width: 1.0625em; }\n 100% {\n top: 2.8125em;\n left: .8125em;\n width: 1.5625em; } }\n\n@keyframes swal2-animate-success-line-long {\n 0% {\n top: 3.375em;\n right: 2.875em;\n width: 0; }\n 65% {\n top: 3.375em;\n right: 2.875em;\n width: 0; }\n 84% {\n top: 2.1875em;\n right: 0;\n width: 3.4375em; }\n 100% {\n top: 2.375em;\n right: .5em;\n width: 2.9375em; } }\n\n@keyframes swal2-rotate-success-circular-line {\n 0% {\n transform: rotate(-45deg); }\n 5% {\n transform: rotate(-45deg); }\n 12% {\n transform: rotate(-405deg); }\n 100% {\n transform: rotate(-405deg); } }\n\n@keyframes swal2-animate-error-x-mark {\n 0% {\n margin-top: 1.625em;\n transform: scale(0.4);\n opacity: 0; }\n 50% {\n margin-top: 1.625em;\n transform: scale(0.4);\n opacity: 0; }\n 80% {\n margin-top: -.375em;\n transform: scale(1.15); }\n 100% {\n margin-top: 0;\n transform: scale(1);\n opacity: 1; } }\n\n@keyframes swal2-animate-error-icon {\n 0% {\n transform: rotateX(100deg);\n opacity: 0; }\n 100% {\n transform: rotateX(0deg);\n opacity: 1; } }\n\n@keyframes swal2-rotate-loading {\n 0% {\n transform: rotate(0deg); }\n 100% {\n transform: rotate(360deg); } }\n\nbody.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {\n overflow: hidden; }\n\nbody.swal2-height-auto {\n height: auto !important; }\n\nbody.swal2-no-backdrop .swal2-container {\n top: auto;\n right: auto;\n bottom: auto;\n left: auto;\n max-width: calc(100% - 0.625em * 2);\n background-color: transparent !important; }\n body.swal2-no-backdrop .swal2-container > .swal2-modal {\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); }\n body.swal2-no-backdrop .swal2-container.swal2-top {\n top: 0;\n left: 50%;\n transform: translateX(-50%); }\n body.swal2-no-backdrop .swal2-container.swal2-top-start, body.swal2-no-backdrop .swal2-container.swal2-top-left {\n top: 0;\n left: 0; }\n body.swal2-no-backdrop .swal2-container.swal2-top-end, body.swal2-no-backdrop .swal2-container.swal2-top-right {\n top: 0;\n right: 0; }\n body.swal2-no-backdrop .swal2-container.swal2-center {\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%); }\n body.swal2-no-backdrop .swal2-container.swal2-center-start, body.swal2-no-backdrop .swal2-container.swal2-center-left {\n top: 50%;\n left: 0;\n transform: translateY(-50%); }\n body.swal2-no-backdrop .swal2-container.swal2-center-end, body.swal2-no-backdrop .swal2-container.swal2-center-right {\n top: 50%;\n right: 0;\n transform: translateY(-50%); }\n body.swal2-no-backdrop .swal2-container.swal2-bottom {\n bottom: 0;\n left: 50%;\n transform: translateX(-50%); }\n body.swal2-no-backdrop .swal2-container.swal2-bottom-start, body.swal2-no-backdrop .swal2-container.swal2-bottom-left {\n bottom: 0;\n left: 0; }\n body.swal2-no-backdrop .swal2-container.swal2-bottom-end, body.swal2-no-backdrop .swal2-container.swal2-bottom-right {\n right: 0;\n bottom: 0; }\n\n@media print {\n body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {\n overflow-y: scroll !important; }\n body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) > [aria-hidden='true'] {\n display: none; }\n body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) .swal2-container {\n position: static !important; } }\n\nbody.swal2-toast-shown .swal2-container {\n background-color: transparent; }\n body.swal2-toast-shown .swal2-container.swal2-top {\n top: 0;\n right: auto;\n bottom: auto;\n left: 50%;\n transform: translateX(-50%); }\n body.swal2-toast-shown .swal2-container.swal2-top-end, body.swal2-toast-shown .swal2-container.swal2-top-right {\n top: 0;\n right: 0;\n bottom: auto;\n left: auto; }\n body.swal2-toast-shown .swal2-container.swal2-top-start, body.swal2-toast-shown .swal2-container.swal2-top-left {\n top: 0;\n right: auto;\n bottom: auto;\n left: 0; }\n body.swal2-toast-shown .swal2-container.swal2-center-start, body.swal2-toast-shown .swal2-container.swal2-center-left {\n top: 50%;\n right: auto;\n bottom: auto;\n left: 0;\n transform: translateY(-50%); }\n body.swal2-toast-shown .swal2-container.swal2-center {\n top: 50%;\n right: auto;\n bottom: auto;\n left: 50%;\n transform: translate(-50%, -50%); }\n body.swal2-toast-shown .swal2-container.swal2-center-end, body.swal2-toast-shown .swal2-container.swal2-center-right {\n top: 50%;\n right: 0;\n bottom: auto;\n left: auto;\n transform: translateY(-50%); }\n body.swal2-toast-shown .swal2-container.swal2-bottom-start, body.swal2-toast-shown .swal2-container.swal2-bottom-left {\n top: auto;\n right: auto;\n bottom: 0;\n left: 0; }\n body.swal2-toast-shown .swal2-container.swal2-bottom {\n top: auto;\n right: auto;\n bottom: 0;\n left: 50%;\n transform: translateX(-50%); }\n body.swal2-toast-shown .swal2-container.swal2-bottom-end, body.swal2-toast-shown .swal2-container.swal2-bottom-right {\n top: auto;\n right: 0;\n bottom: 0;\n left: auto; }\n\nbody.swal2-toast-column .swal2-toast {\n flex-direction: column;\n align-items: stretch; }\n body.swal2-toast-column .swal2-toast .swal2-actions {\n flex: 1;\n align-self: stretch;\n height: 2.2em;\n margin-top: .3125em; }\n body.swal2-toast-column .swal2-toast .swal2-loading {\n justify-content: center; }\n body.swal2-toast-column .swal2-toast .swal2-input {\n height: 2em;\n margin: .3125em auto;\n font-size: 1em; }\n body.swal2-toast-column .swal2-toast .swal2-validation-message {\n font-size: 1em; }\n\n#toast-container.toast-top-right {\n top: 76px; }\n\n#toast-container .toast-close-button {\n right: -0.15em; }\n\n#toast-container .toast {\n opacity: 1 !important;\n background-image: none !important;\n border-radius: 0.25rem;\n box-shadow: 0 0 8px rgba(0, 0, 0, 0.35);\n display: flex;\n align-items: center; }\n #toast-container .toast:hover {\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.6); }\n #toast-container .toast:before {\n font-family: FontAwesome;\n font-size: 25px;\n line-height: 20px;\n float: left;\n color: #ffffff;\n padding-right: 10px;\n margin: auto 0 auto -36px; }\n #toast-container .toast .toaster-icon {\n display: none; }\n #toast-container .toast .toast-message p {\n margin-bottom: 0.5rem; }\n #toast-container .toast .toast-message p:last-child {\n margin-bottom: 0; }\n #toast-container .toast.toast-danger, #toast-container .toast.toast-error {\n background-image: none !important;\n background-color: #dd4b39; }\n #toast-container .toast.toast-danger:before, #toast-container .toast.toast-error:before {\n content: \"\\F0E7\";\n margin-left: -30px; }\n #toast-container .toast.toast-warning {\n background-image: none !important;\n background-color: #bf7e16; }\n #toast-container .toast.toast-warning:before {\n content: \"\\F071\"; }\n #toast-container .toast.toast-info {\n background-image: none !important;\n background-color: #555555; }\n #toast-container .toast.toast-info:before {\n content: \"\\F05A\"; }\n #toast-container .toast.toast-success {\n background-image: none !important;\n background-color: #00a65a; }\n #toast-container .toast.toast-success:before {\n content: \"\\F00C\"; }\n\n.swal2-container {\n background-color: rgba(0, 0, 0, 0.3); }\n\n.swal2-popup {\n padding: 15px 0 0;\n background-color: #fff;\n color: #333333;\n border: 1px solid #9a9a9a;\n border-radius: 0.3rem;\n width: 34em; }\n .swal2-popup .swal2-header {\n padding: 0 15px; }\n .swal2-popup .swal2-icon {\n margin: 0 auto;\n width: auto;\n height: auto;\n border: none; }\n .swal2-popup .swal2-content {\n padding-bottom: 15px;\n font-size: 1rem;\n border-bottom: 1px solid #dee2e6; }\n .swal2-popup i.swal-custom-icon {\n display: block;\n margin: 0 auto;\n font-size: 35px; }\n .swal2-popup .swal2-title {\n padding: 10px 0 15px;\n margin: 0;\n font-size: 1.15rem;\n color: #333333; }\n .swal2-popup .swal2-content {\n font-size: 1rem;\n color: #333333;\n padding: 0 15px 15px; }\n .swal2-popup .swal2-actions {\n padding: 15px;\n margin: 0;\n background-color: #fbfbfb;\n border-radius: 0.3rem;\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n font-size: 1rem; }\n .swal2-popup .swal2-actions button {\n margin-right: 10px; }\n .swal2-popup .swal2-actions button.swal2-confirm {\n font-weight: bold; }\n .swal2-popup .swal2-actions button.swal2-cancel {\n background-color: #ffffff; }\n\nhtml {\n font-size: 14px; }\n\nbody {\n min-width: 1010px; }\n body.layout_frontend {\n background-color: #ecf0f5; }\n body.full-width:not(.layout_frontend) .container {\n min-width: 980px;\n width: 90%; }\n\n.page-header, .secondary-header {\n border-bottom: 1px solid #dee2e6;\n padding-bottom: 0.6rem;\n margin-bottom: 0.5rem; }\n .page-header h1, .page-header h2, .page-header h3, .page-header h4, .secondary-header h1, .secondary-header h2, .secondary-header h3, .secondary-header h4 {\n margin: 0; }\n\nh1 small, h2 small, h3 small, h4 small, h5 small {\n font-size: 80%; }\n\ninput:required, select:required, textarea:required {\n box-shadow: none; }\n\n.secondary-header, .spaced-header {\n margin-top: 4rem; }\n\n.navbar {\n padding-left: 0;\n padding-right: 0; }\n .navbar .dropdown-menu {\n min-width: 200px;\n max-width: 300px; }\n .navbar .dropdown-menu .dropdown-item-text {\n line-height: 1.3; }\n .navbar .dropdown-menu .dropdown-item-text span, .navbar .dropdown-menu .dropdown-item-text small {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis; }\n .navbar .nav-link {\n font-weight: 600; }\n\n.navbar-brand {\n margin-top: -20px;\n margin-bottom: -20px; }\n\n.dropdown-menu button {\n cursor: pointer; }\n\n.container {\n width: 980px;\n max-width: none !important;\n margin: 0 auto;\n padding: 0; }\n\n.page-content {\n margin-top: 20px; }\n\n.footer {\n margin-top: 40px;\n padding: 40px 0 40px 0;\n border-top: 1px solid #dee2e6; }\n\n.list-group-item.active {\n border-left: 3px solid #175DDC;\n font-weight: bold;\n padding-left: calc(1.25rem - 3px); }\n\n.card-header, .modal-header {\n font-weight: bold;\n text-transform: uppercase; }\n .card-header small, .modal-header small {\n font-weight: normal;\n text-transform: none; }\n\n.card-body-header {\n font-size: 1.15rem; }\n\n.card ul.fa-ul.card-ul {\n margin-left: 1.9em; }\n .card ul.fa-ul.card-ul li {\n word-break: break-all; }\n .card ul.fa-ul.card-ul .fa-li {\n top: 4px; }\n .card ul.fa-ul.card-ul.carets {\n margin-left: 1.1em; }\n .card ul.fa-ul.card-ul.carets .fa-li {\n left: -17px;\n width: 1.1em; }\n .card ul.fa-ul.card-ul ul.carets {\n margin-left: 0.85em; }\n\n.card-org-plans h2 {\n font-size: 1.15rem; }\n\n.modal-dialog {\n width: 500px; }\n\n.modal-sm {\n width: 300px; }\n\n.modal-lg {\n width: 800px; }\n\n.modal-body h3 {\n font-weight: normal;\n text-transform: uppercase;\n color: #6c757d; }\n\n.modal .list-group-flush :first-child {\n border-top: none; }\n\n.modal .list-group-flush :last-child {\n border-bottom: none; }\n\n.modal-footer {\n justify-content: flex-start;\n background-color: #fbfbfb;\n border-radius: 0.3rem; }\n\nlabel:not(.form-check-label):not(.btn), label.bold {\n font-weight: 600; }\n\ninput[type=\"search\"]::-webkit-search-cancel-button {\n -webkit-appearance: searchfield-cancel-button; }\n\n.btn[class*=\"btn-outline-\"]:not(:hover), .swal2-popup .swal2-actions button[class*=\"btn-outline-\"]:not(:hover) {\n border-color: #ced4da;\n background-color: #fbfbfb; }\n\n.btn-outline-secondary, .swal2-popup .swal2-actions button.swal2-cancel {\n color: #6c757d; }\n .btn-outline-secondary:hover:not(:disabled), .swal2-popup .swal2-actions button.swal2-cancel:hover:not(:disabled) {\n color: #333333; }\n .btn-outline-secondary:disabled, .swal2-popup .swal2-actions button.swal2-cancel:disabled {\n opacity: 1; }\n\n.btn-submit {\n position: relative; }\n .btn-submit .fa-spinner {\n position: absolute;\n display: none;\n align-items: center;\n justify-content: center;\n bottom: 0;\n top: 0;\n left: 0;\n right: 0; }\n .btn-submit:disabled:not(.manual) .fa-spinner, .btn-submit.loading .fa-spinner {\n display: flex; }\n .btn-submit:disabled:not(.manual) span, .btn-submit.loading span {\n visibility: hidden; }\n\n.table.table-list thead th {\n border-top: none; }\n\n.table.table-list tr:first-child td {\n border: none; }\n\n.table.table-list td {\n vertical-align: middle; }\n .table.table-list td.reduced-lh {\n line-height: 1; }\n .table.table-list td.reduced-lh small {\n font-size: 80%; }\n .table.table-list td small, .table.table-list td > .fa, .table.table-list td .icon {\n color: #6c757d; }\n\n.table.table-list td.wrap {\n word-break: break-all; }\n\n.table.table-list td.table-list-options {\n width: 76px;\n max-width: 76px;\n text-align: right;\n height: 50px; }\n .table.table-list td.table-list-options.wider {\n width: 100px;\n max-width: 100px; }\n .table.table-list td.table-list-options .btn, .table.table-list td.table-list-options .swal2-popup .swal2-actions button, .swal2-popup .swal2-actions .table.table-list td.table-list-options button {\n line-height: 1;\n transition: initial; }\n .table.table-list td.table-list-options .dropdown-menu {\n line-height: 1.5; }\n\n.table.table-list td.table-list-icon {\n width: 45px;\n max-width: 45px;\n text-align: center; }\n .table.table-list td.table-list-icon img {\n max-height: 24px; }\n\n.table.table-list td.table-list-checkbox {\n width: 35px;\n max-width: 35px; }\n\n.table.table-list td.table-list-strike {\n color: #6c757d;\n text-decoration: line-through; }\n\n.text-lg {\n font-size: 1.15rem; }\n\n.text-strike {\n text-decoration: line-through; }\n\n.font-weight-semibold {\n font-weight: 600; }\n\n.password-wrapper {\n word-break: break-all;\n white-space: pre-wrap;\n min-width: 0; }\n\n.password-row {\n min-width: 0; }\n\n.password-number {\n color: #007fde; }\n\n.password-special {\n color: #c40800; }\n\napp-vault-groupings .card #search, app-org-vault-groupings .card #search, .groupings .card #search {\n margin-bottom: 1rem; }\n\napp-vault-groupings .card h3, app-org-vault-groupings .card h3, .groupings .card h3 {\n font-weight: normal;\n text-transform: uppercase;\n color: #6c757d; }\n\napp-vault-groupings .card ul:last-child, app-org-vault-groupings .card ul:last-child, .groupings .card ul:last-child {\n margin-bottom: 0; }\n\napp-vault-groupings .card .card-body a, app-org-vault-groupings .card .card-body a, .groupings .card .card-body a {\n color: #333333; }\n app-vault-groupings .card .card-body a:hover.text-muted, app-org-vault-groupings .card .card-body a:hover.text-muted, .groupings .card .card-body a:hover.text-muted {\n color: #333333 !important; }\n\napp-vault-groupings .card .show-active, app-org-vault-groupings .card .show-active, .groupings .card .show-active {\n display: none; }\n\napp-vault-groupings .card li > .fa, app-vault-groupings .card li > div > .fa, app-org-vault-groupings .card li > .fa, app-org-vault-groupings .card li > div > .fa, .groupings .card li > .fa, .groupings .card li > div > .fa {\n cursor: pointer; }\n\napp-vault-groupings .card li.active > .show-active, app-vault-groupings .card li.active > div .show-active, app-org-vault-groupings .card li.active > .show-active, app-org-vault-groupings .card li.active > div .show-active, .groupings .card li.active > .show-active, .groupings .card li.active > div .show-active {\n display: inline; }\n\napp-vault-groupings .card li.active > a:first-of-type, app-vault-groupings .card li.active > div a:first-of-type, app-org-vault-groupings .card li.active > a:first-of-type, app-org-vault-groupings .card li.active > div a:first-of-type, .groupings .card li.active > a:first-of-type, .groupings .card li.active > div a:first-of-type {\n font-weight: bold;\n color: #175DDC; }\n\napp-vault-groupings .card li.active > .fa, app-vault-groupings .card li.active > div > .fa, app-org-vault-groupings .card li.active > .fa, app-org-vault-groupings .card li.active > div > .fa, .groupings .card li.active > .fa, .groupings .card li.active > div > .fa {\n color: #175DDC; }\n\napp-password-generator #lengthRange {\n width: 100%; }\n\napp-password-generator .card-password .card-body {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n text-align: center;\n font-size: 1.15rem;\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; }\n\napp-password-generator-history .list-group-item {\n line-height: 1; }\n app-password-generator-history .list-group-item .password {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; }\n\napp-import textarea {\n height: 150px; }\n\napp-user-billing .progress {\n height: 20px; }\n app-user-billing .progress .progress-bar {\n min-width: 50px; }\n\n#duo-frame {\n background: url(../images/loading.svg) 0 0 no-repeat;\n height: 330px; }\n #duo-frame iframe {\n width: 100%;\n height: 100%;\n border: none; }\n\n#bt-dropin-container {\n background: url(../images/loading.svg) 0 0 no-repeat;\n min-height: 50px; }\n\n.braintree-placeholder, .braintree-sheet__header {\n display: none; }\n\n.braintree-sheet__content--button {\n text-align: left;\n padding: 0;\n min-height: 0; }\n\n.braintree-sheet__container {\n margin-bottom: 0; }\n\n.braintree-sheet {\n border: none; }\n\n.totp .totp-code {\n font-size: 1.2rem; }\n\n.totp .totp-countdown {\n margin: 3px 3px 0 0;\n display: block;\n user-select: none; }\n .totp .totp-countdown .totp-sec {\n font-size: 0.85em;\n position: absolute;\n line-height: 32px;\n width: 32px;\n text-align: center; }\n .totp .totp-countdown svg {\n width: 32px;\n height: 32px;\n transform: rotate(-90deg); }\n .totp .totp-countdown .totp-circle {\n fill: none;\n stroke: #175DDC; }\n .totp .totp-countdown .totp-circle.inner {\n stroke-width: 3;\n stroke-dasharray: 78.6;\n stroke-dashoffset: 0; }\n .totp .totp-countdown .totp-circle.outer {\n stroke-width: 2;\n stroke-dasharray: 88;\n stroke-dashoffset: 0; }\n\n.totp > .align-items-center {\n margin-bottom: -5px; }\n\n.totp.low .totp-sec, .totp.low .totp-code {\n color: #dd4b39; }\n\n.totp.low .totp-circle {\n stroke: #dd4b39; }\n\n.callout {\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-left-width: 5px;\n border-radius: calc(0.25rem - 1px);\n background-color: #fafafa; }\n .callout .callout-heading {\n margin-top: 0; }\n .callout h3.callout-heading {\n font-weight: bold;\n text-transform: uppercase; }\n .callout.callout-primary {\n border-left-color: #175DDC; }\n .callout.callout-primary .callout-heading {\n color: #175DDC; }\n .callout.callout-info {\n border-left-color: #343a40; }\n .callout.callout-info .callout-heading {\n color: #343a40; }\n .callout.callout-danger {\n border-left-color: #dd4b39; }\n .callout.callout-danger .callout-heading {\n color: #dd4b39; }\n .callout.callout-success {\n border-left-color: #00a65a; }\n .callout.callout-success .callout-heading {\n color: #00a65a; }\n .callout.callout-warning {\n border-left-color: #bf7e16; }\n .callout.callout-warning .callout-heading {\n color: #bf7e16; }\n\n.list-group-2fa .logo-2fa {\n min-width: 100px; }\n\n.form-check-block .form-check-label {\n font-weight: 600; }\n .form-check-block .form-check-label > small {\n display: block;\n color: #6c757d;\n font-weight: normal; }\n .form-check-block .form-check-label > span {\n display: block;\n font-weight: normal; }\n\n.form-inline input[type='datetime-local'] {\n width: 200px; }\n\n.form-control.stripe-form-control {\n padding-top: 0.55rem; }\n .form-control.stripe-form-control.is-focused {\n color: #495057;\n background-color: #ffffff;\n border-color: #81a9f2;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .form-control.stripe-form-control.is-focused.is-invalid {\n box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.25); }\n .form-control.stripe-form-control.is-invalid {\n border-color: #dd4b39; }\n\n.org-nav {\n background-color: #fbfbfb;\n border-bottom: 1px solid #dee2e6;\n height: 100px;\n min-height: 100px; }\n .org-nav .container {\n height: 100%; }\n .org-nav .nav-tabs {\n border-bottom: none; }\n .org-nav .nav-tabs a {\n color: #333333; }\n .org-nav .nav-tabs a:not(.active) {\n border-color: transparent; }\n .org-nav .nav-tabs a.active {\n border-top: 3px solid #175DDC;\n font-weight: bold;\n padding-top: calc(0.5rem - 2px); }\n .org-nav .nav-tabs a.disabled {\n color: #b4b4b4; }\n .org-nav .org-name {\n line-height: 1; }\n .org-nav .org-name span {\n font-size: 1.15rem;\n display: block; }\n\nimg.logo {\n width: 284px;\n height: 43px;\n margin: 0 auto;\n display: block; }\n\n.min-height-fix {\n min-height: 1px; }\n\n.overflow-hidden {\n overflow: hidden; }\n\n.cdk-drag-preview {\n z-index: 1070 !important;\n opacity: 0.8;\n background-color: #fff;\n border-radius: 0.25rem; }\n\n.cursor-move {\n cursor: move !important; }\n\n.layout.enterprise2 header {\n color: #ced4da;\n background-color: #175DDC; }\n .layout.enterprise2 header:before {\n content: \"\";\n position: absolute;\n z-index: -1;\n width: 100%;\n height: 340px;\n left: 0;\n transform: skewY(-3deg);\n background: #175DDC; }\n .layout.enterprise2 header img.logo {\n margin: 12px 0 0;\n width: 284px;\n max-width: 284px;\n height: auto; }\n\n.layout.enterprise2 h2 {\n color: #ffffff;\n font-size: 1.8rem;\n margin: 100px 0 150px 0; }\n\n.layout.enterprise2 p {\n margin: 20px 0 40px 0;\n font-size: 1.4rem; }\n .layout.enterprise2 p:before {\n content: \"/\";\n padding-right: 12px; }\n .layout.enterprise2 p:not(.highlight):before {\n color: #1252A3; }\n .layout.enterprise2 p b:after {\n content: \"\\27F6\";\n font-size: 2rem;\n padding-left: 6px; }\n\n.layout.enterprise2 blockquote {\n margin: 20px 0 0 0;\n font-size: 1.4rem;\n padding-right: 40px; }\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///./src/css/webfonts.css","webpack:///./src/scss/styles.scss"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gHAAgH;;AAEhH;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA,gDAAgD;;AAEhD;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA,wBAAwB;;AAExB;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA,wBAAwB;;AAExB;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,iBAAiB;;AAEjB;AACA,mBAAmB;;AAEnB;AACA;AACA,sBAAsB;;AAEtB;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA,iBAAiB;;AAEjB;AACA,aAAa;;AAEb;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA,wBAAwB;AACxB;AACA;AACA,0BAA0B;AAC1B;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,mBAAmB;;AAEnB;AACA;AACA,qBAAqB;;AAErB;AACA;AACA,yBAAyB;;AAEzB;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA,sBAAsB;;AAEtB;AACA;AACA,wBAAwB;;AAExB;AACA,mBAAmB;;AAEnB;AACA;AACA,6CAA6C;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA,uBAAuB;;AAEvB;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA,2BAA2B;;AAE3B;AACA;AACA,eAAe;;AAEf;AACA;AACA,2BAA2B;;AAE3B;AACA,2BAA2B;;AAE3B;AACA;AACA,6BAA6B;;AAE7B;AACA,wBAAwB;;AAExB;AACA;AACA,kBAAkB;;AAElB;AACA,gBAAgB;;AAEhB;AACA,2BAA2B;;AAE3B;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,oBAAoB;;AAEpB;AACA,oBAAoB;;AAEpB;AACA,kBAAkB;;AAElB;AACA,kBAAkB;;AAElB;AACA,kBAAkB;;AAElB;AACA,kBAAkB;;AAElB;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,2CAA2C;;AAE3C;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,wBAAwB;AACxB;AACA,yBAAyB;;AAEzB;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,iBAAiB;AACjB;AACA,wBAAwB;;AAExB;AACA;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;;AAEf;AACA,wBAAwB;;AAExB;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,yBAAyB;AACzB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,wBAAwB,EAAE;;AAE1B;AACA;AACA;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,kBAAkB;;AAElB;AACA,YAAY;;AAEZ;AACA,YAAY;;AAEZ;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,WAAW;;AAEX;AACA,YAAY;;AAEZ;AACA,YAAY;;AAEZ;AACA,YAAY;;AAEZ;AACA,wBAAwB;;AAExB;AACA,yBAAyB;;AAEzB;AACA,mBAAmB;;AAEnB;AACA,yBAAyB;;AAEzB;AACA,yBAAyB;;AAEzB;AACA,mBAAmB;;AAEnB;AACA,yBAAyB;;AAEzB;AACA,yBAAyB;;AAEzB;AACA,mBAAmB;;AAEnB;AACA,yBAAyB;;AAEzB;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,wBAAwB;AACxB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,oBAAoB;AACpB;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,mBAAmB;AACnB;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B,EAAE;;AAE7B;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,wBAAwB;AACxB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,oBAAoB;AACpB;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,mBAAmB;AACnB;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B,EAAE;;AAE7B;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,wBAAwB;AACxB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,oBAAoB;AACpB;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,mBAAmB;AACnB;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B,EAAE;;AAE7B;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,wBAAwB;AACxB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,oBAAoB;AACpB;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,mBAAmB;AACnB;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,qBAAqB;AACrB;AACA,2BAA2B;AAC3B;AACA,2BAA2B,EAAE;;AAE7B;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA,qCAAqC;AACrC;AACA,kCAAkC;;AAElC;AACA;AACA,kBAAkB;;AAElB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,6BAA6B;;AAE7B;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA,wCAAwC;;AAExC;AACA;AACA,wCAAwC;;AAExC;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,wCAAwC;;AAExC;AACA,wCAAwC;AACxC;AACA;AACA,0CAA0C;;AAE1C;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,cAAc;AACd;AACA,gDAAgD;AAChD;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,gBAAgB,EAAE;;AAElB;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,gBAAgB,EAAE;;AAElB;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,gBAAgB,EAAE;;AAElB;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,gBAAgB,EAAE;;AAElB;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA2E;AAC3E;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA,eAAe;AACf;AACA;AACA,eAAe;;AAEf;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,eAAe;;AAEf;AACA,eAAe;;AAEf;AACA,sBAAsB;;AAEtB;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,qFAAqF;;AAErF;AACA;AACA;AACA,mhBAAmhB;AACnhB;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;AACjB;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,4BAA4B;;AAE5B;AACA,kDAAkD;;AAElD;AACA,wBAAwB;;AAExB;AACA,wBAAwB;;AAExB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,kDAAkD;;AAElD;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,qFAAqF;;AAErF;AACA;AACA;AACA,6jBAA6jB;AAC7jB;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;AACjB;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,4BAA4B;;AAE5B;AACA,mDAAmD;;AAEnD;AACA,wBAAwB;;AAExB;AACA,wBAAwB;;AAExB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,mDAAmD;;AAEnD;AACA;AACA;AACA,sBAAsB;AACtB;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,4BAA4B;AAC5B;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,8BAA8B;AAC9B;AACA,uBAAuB,EAAE;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wIAAwI;AACxI;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,qDAAqD;AACrD;AACA,kBAAkB;;AAElB;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,qDAAqD;AACrD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,sDAAsD;AACtD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,wDAAwD;;AAExD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,qDAAqD;AACrD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,sDAAsD;AACtD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,wDAAwD;;AAExD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,qDAAqD;AACrD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,qDAAqD;AACrD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,sDAAsD;AACtD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,wDAAwD;;AAExD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,mDAAmD;AACnD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,qDAAqD;;AAErD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,qDAAqD;AACrD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,oDAAoD;AACpD;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,sDAAsD;;AAEtD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,oDAAoD;AACpD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,sDAAsD;;AAEtD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,sDAAsD;AACtD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,wDAAwD;;AAExD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,mDAAmD;AACnD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,qDAAqD;;AAErD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,mDAAmD;AACnD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,qDAAqD;;AAErD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,qDAAqD;AACrD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,oDAAoD;AACpD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,sDAAsD;;AAEtD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,sDAAsD;AACtD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,wDAAwD;;AAExD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,mDAAmD;AACnD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,qDAAqD;;AAErD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,oDAAoD;AACpD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,sDAAsD;;AAEtD;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,oDAAoD;AACpD;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,sDAAsD;;AAEtD;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA,cAAc;AACd;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA,cAAc;;AAEd;AACA,mCAAmC;AACnC;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,eAAe;;AAEf;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA,uBAAuB,EAAE;;AAEzB;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA,UAAU;;AAEV;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA,iBAAiB;;AAEjB;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA,cAAc;;AAEd;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;;AAEzC;AACA,iBAAiB;;AAEjB;AACA,oBAAoB;;AAEpB;AACA;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA,kCAAkC;;AAElC;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,gBAAgB;;AAEhB;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,mBAAmB;AACnB;AACA,oBAAoB;;AAEpB;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,eAAe;AACf;AACA,eAAe;AACf;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA,qBAAqB;;AAErB;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,kBAAkB;;AAElB;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,qDAAqD;AACrD;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,0BAA0B;AAC1B;AACA,mBAAmB;AACnB;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;;AAExC;AACA,yBAAyB;;AAEzB;AACA,gNAAgN;;AAEhN;AACA;AACA,4BAA4B;;AAE5B;AACA,6JAA6J;;AAE7J;AACA,2CAA2C;;AAE3C;AACA,2CAA2C;;AAE3C;AACA,qBAAqB;;AAErB;AACA,0JAA0J;;AAE1J;AACA,2CAA2C;;AAE3C;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8IAA8I;AAC9I;AACA;AACA,yBAAyB,EAAE;AAC3B;AACA;AACA,mCAAmC;AACnC;AACA,6CAA6C;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,qDAAqD;AACrD;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA,8BAA8B;AAC9B;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,qDAAqD;AACrD;AACA,8BAA8B;AAC9B;AACA,sBAAsB;AACtB;AACA,+BAA+B;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA,kBAAkB;AAClB;AACA,0EAA0E;AAC1E;AACA,0EAA0E;AAC1E;AACA,0EAA0E;AAC1E;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB,EAAE;AAC3B;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB,EAAE;AAC3B;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB,EAAE;AAC3B;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,oBAAoB;AACpB;AACA,8BAA8B;AAC9B;AACA,oBAAoB;AACpB;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA,+GAA+G;AAC/G;AACA;AACA;AACA;AACA,uBAAuB,EAAE;;AAEzB;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,uBAAuB;AACvB;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA,mCAAmC;AACnC;AACA,wBAAwB;AACxB;AACA;AACA;AACA,qCAAqC;AACrC;AACA,4CAA4C;AAC5C;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,qBAAqB;;AAErB;AACA,gBAAgB;;AAEhB;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA,oBAAoB;AACpB;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA;AACA;AACA;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA;AACA,gCAAgC;AAChC;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,wBAAwB;AACxB;AACA;AACA,uBAAuB;AACvB;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA;AACA;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA;AACA,gCAAgC;AAChC;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,wBAAwB;AACxB;AACA;AACA,uBAAuB;AACvB;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA;AACA;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA;AACA,gCAAgC;AAChC;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,wBAAwB;AACxB;AACA;AACA,uBAAuB;AACvB;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA;AACA;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA;AACA,gCAAgC;AAChC;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,wBAAwB;AACxB;AACA;AACA,uBAAuB;AACvB;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,oBAAoB;AACpB;AACA,wBAAwB;AACxB;AACA,yBAAyB;AACzB;AACA;AACA,2BAA2B;AAC3B;AACA;AACA,sBAAsB;AACtB;AACA;AACA,qBAAqB;AACrB;AACA,kBAAkB;;AAElB;AACA,4BAA4B;AAC5B;AACA,8BAA8B;;AAE9B;AACA,4BAA4B;AAC5B;AACA,8BAA8B;AAC9B;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA,mCAAmC;;AAEnC;AACA,2PAA2P;;AAE3P;AACA,4BAA4B;AAC5B;AACA,8BAA8B;AAC9B;AACA,gCAAgC;;AAEhC;AACA,cAAc;AACd;AACA,gBAAgB;;AAEhB;AACA,kCAAkC;AAClC;AACA,oCAAoC;AACpC;AACA,qCAAqC;;AAErC;AACA;AACA;AACA;AACA,cAAc;;AAEd;AACA;AACA,yCAAyC;;AAEzC;AACA,iQAAiQ;;AAEjQ;AACA,kCAAkC;AAClC;AACA,gBAAgB;AAChB;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,qCAAqC;AACrC;AACA;AACA,uCAAuC;;AAEvC;AACA;AACA,mBAAmB;;AAEnB;AACA,wBAAwB;;AAExB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,wBAAwB;;AAExB;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA,+DAA+D;AAC/D;AACA,kBAAkB;;AAElB;AACA;AACA;AACA,6CAA6C;AAC7C;AACA,+DAA+D;;AAE/D;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA,+CAA+C;;AAE/C;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA,yBAAyB;AACzB;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,EAAE;;AAE5B;AACA;AACA,yBAAyB;AACzB;AACA,wBAAwB;AACxB;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,wCAAwC;AACxC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,0CAA0C;AAC1C;AACA;AACA,uCAAuC;AACvC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,yCAAyC,EAAE;;AAE3C;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,kBAAkB,EAAE;;AAEpB;AACA,mBAAmB;AACnB;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,+BAA+B;AAC/B;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,6BAA6B;;AAE7B;AACA,wBAAwB;;AAExB;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,qDAAqD;;AAErD;AACA;AACA;AACA,qCAAqC;;AAErC;AACA;AACA,sCAAsC;;AAEtC;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,oCAAoC;;AAEpC;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,oCAAoC;;AAEpC;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wIAAwI;AACxI;AACA;AACA,uBAAuB,EAAE;AACzB;AACA,0BAA0B;AAC1B;AACA,kBAAkB;;AAElB;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,oDAAoD;;AAEpD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,sDAAsD;;AAEtD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,mDAAmD;;AAEnD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,mDAAmD;;AAEnD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,qDAAqD;;AAErD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,oDAAoD;;AAEpD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,sDAAsD;;AAEtD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,mDAAmD;;AAEnD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,oDAAoD;;AAEpD;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,oDAAoD;;AAEpD;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,yBAAyB,EAAE;;AAE3B;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA,iBAAiB;;AAEjB;AACA,mBAAmB;;AAEnB;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,8BAA8B;AAC9B;AACA,mBAAmB;;AAEnB;AACA;AACA,gCAAgC;AAChC;AACA,6BAA6B,EAAE;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,uBAAuB,EAAE;;AAEzB;AACA;AACA,6BAA6B;;AAE7B;AACA,qDAAqD;AACrD;AACA;AACA,sBAAsB,EAAE;;AAExB;AACA;AACA,0BAA0B;;AAE1B;AACA,UAAU;;AAEV;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC;AACA,sBAAsB;AACtB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA,wBAAwB;AACxB;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA,qCAAqC,EAAE;;AAEvC;AACA;AACA,wBAAwB;AACxB;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA,qCAAqC,EAAE;;AAEvC;AACA;AACA,wBAAwB;AACxB;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA,qCAAqC,EAAE;;AAEvC;AACA;AACA,wBAAwB;AACxB;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA,qCAAqC,EAAE;;AAEvC;AACA;AACA;AACA,mBAAmB;AACnB;AACA,wBAAwB;;AAExB;AACA,gBAAgB;;AAEhB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,0BAA0B;AAC1B;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,uBAAuB;;AAEvB;AACA,mBAAmB;AACnB;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA,mCAAmC;AACnC;AACA;AACA,yBAAyB,EAAE;AAC3B;AACA,oBAAoB;;AAEpB;AACA;AACA,gCAAgC;AAChC;AACA;AACA,qBAAqB;AACrB;AACA;AACA,mBAAmB;AACnB;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,iBAAiB;AACjB;AACA,uBAAuB;AACvB;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,eAAe;AACf;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA,wBAAwB;AACxB;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,yBAAyB;AACzB;AACA,oCAAoC;AACpC;AACA,uCAAuC;AACvC;AACA,oCAAoC;AACpC;AACA,mCAAmC;AACnC;AACA,qBAAqB,EAAE;;AAEvB;AACA;AACA;AACA,qBAAqB,EAAE;;AAEvB;AACA;AACA,sBAAsB,EAAE;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA,oBAAoB;AACpB;AACA,cAAc;AACd;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA,oBAAoB;AACpB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA,oBAAoB;AACpB;AACA,WAAW;AACX;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA,oBAAoB;AACpB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA,wBAAwB;AACxB;AACA,sCAAsC;AACtC;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA,6BAA6B;;AAE7B;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA,+BAA+B;;AAE/B;AACA,qBAAqB;AACrB;AACA,mCAAmC;AACnC;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;;AAErC;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA,kBAAkB;;AAElB;AACA;AACA,iBAAiB;;AAEjB;AACA,qBAAqB;;AAErB;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,uBAAuB,EAAE;;AAEzB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,uBAAuB,EAAE;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA,uBAAuB,EAAE;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,UAAU;;AAEV;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA,wCAAwC;;AAExC;AACA,sMAAsM;;AAEtM;AACA,sMAAsM;;AAEtM;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA,yBAAyB,EAAE;AAC3B;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA,8BAA8B,EAAE;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA,wBAAwB;AACxB;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;;AAE/C;AACA;AACA,eAAe;;AAEf;AACA,sCAAsC;;AAEtC;AACA,iC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;AACA,kCAAkC;;AAElC;AACA;AACA,gCAAgC;;AAEhC;AACA,6BAA6B;;AAE7B;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA,mCAAmC;;AAEnC;AACA;AACA,oCAAoC;;AAEpC;AACA;AACA,kCAAkC;;AAElC;AACA,2BAA2B;;AAE3B;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA,kCAAkC;;AAElC;AACA;AACA,gCAAgC;;AAEhC;AACA,0BAA0B;;AAE1B;AACA;AACA,8BAA8B;;AAE9B;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA,+BAA+B;;AAE/B;AACA;AACA,yBAAyB;AACzB;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,8BAA8B;AAC9B;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,mCAAmC;AACnC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC;AACjC;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,mCAAmC;AACnC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC;AACjC;AACA,0BAA0B;AAC1B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,iCAAiC;AACjC;AACA;AACA,+BAA+B;AAC/B;AACA,gCAAgC;AAChC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qCAAqC;AACrC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,gCAAgC;AAChC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qCAAqC;AACrC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC,EAAE;;AAEnC;AACA;AACA,yBAAyB;AACzB;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,8BAA8B;AAC9B;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,mCAAmC;AACnC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC;AACjC;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,mCAAmC;AACnC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC;AACjC;AACA,0BAA0B;AAC1B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,iCAAiC;AACjC;AACA;AACA,+BAA+B;AAC/B;AACA,gCAAgC;AAChC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qCAAqC;AACrC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,gCAAgC;AAChC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qCAAqC;AACrC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC,EAAE;;AAEnC;AACA;AACA,yBAAyB;AACzB;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,8BAA8B;AAC9B;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,mCAAmC;AACnC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC;AACjC;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,mCAAmC;AACnC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC;AACjC;AACA,0BAA0B;AAC1B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,iCAAiC;AACjC;AACA;AACA,+BAA+B;AAC/B;AACA,gCAAgC;AAChC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qCAAqC;AACrC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,gCAAgC;AAChC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qCAAqC;AACrC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC,EAAE;;AAEnC;AACA;AACA,yBAAyB;AACzB;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,8BAA8B;AAC9B;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,mCAAmC;AACnC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC;AACjC;AACA,8BAA8B;AAC9B;AACA;AACA,kCAAkC;AAClC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,mCAAmC;AACnC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC;AACjC;AACA,0BAA0B;AAC1B;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,iCAAiC;AACjC;AACA;AACA,+BAA+B;AAC/B;AACA,gCAAgC;AAChC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qCAAqC;AACrC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,gCAAgC;AAChC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,uCAAuC;AACvC;AACA;AACA,qCAAqC;AACrC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,+BAA+B;AAC/B;AACA;AACA,mCAAmC;AACnC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,sCAAsC;AACtC;AACA;AACA,oCAAoC;AACpC;AACA,6BAA6B;AAC7B;AACA;AACA,iCAAiC;AACjC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,oCAAoC;AACpC;AACA;AACA,kCAAkC;AAClC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,kCAAkC;AAClC;AACA;AACA,mCAAmC;AACnC;AACA;AACA,iCAAiC,EAAE;;AAEnC;AACA,+GAA+G;;AAE/G;AACA,iCAAiC;;AAEjC;AACA,iCAAiC;;AAEjC;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA,8BAA8B;;AAE9B;AACA,+BAA+B;;AAE/B;AACA,gCAAgC;;AAEhC;AACA;AACA,gCAAgC;AAChC;AACA,iCAAiC;AACjC;AACA,kCAAkC,EAAE;;AAEpC;AACA;AACA,gCAAgC;AAChC;AACA,iCAAiC;AACjC;AACA,kCAAkC,EAAE;;AAEpC;AACA;AACA,gCAAgC;AAChC;AACA,iCAAiC;AACjC;AACA,kCAAkC,EAAE;;AAEpC;AACA;AACA,gCAAgC;AAChC;AACA,iCAAiC;AACjC;AACA,kCAAkC,EAAE;;AAEpC;AACA,uCAAuC;;AAEvC;AACA,uCAAuC;;AAEvC;AACA,wCAAwC;;AAExC;AACA,8BAA8B;;AAE9B;AACA,kCAAkC;;AAElC;AACA,8BAA8B;;AAE9B;AACA,8BAA8B;;AAE9B;AACA,iCAAiC;;AAEjC;AACA,gCAAgC;;AAEhC;AACA,yBAAyB;;AAEzB;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,uCAAuC;;AAEvC;AACA,6CAA6C;;AAE7C;AACA;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA,mCAAmC;;AAEnC;AACA;AACA,uCAAuC;;AAEvC;AACA,4BAA4B;;AAE5B;AACA,iCAAiC;;AAEjC;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA,+BAA+B;AAC/B;AACA,kCAAkC;AAClC;AACA,qCAAqC;AACrC;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,gCAAgC;AAChC;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,4BAA4B;AAC5B;AACA,aAAa;AACb;AACA,8BAA8B;AAC9B;AACA,8BAA8B;AAC9B;AACA,kBAAkB;AAClB;AACA,2BAA2B;AAC3B;AACA,yCAAyC;AACzC;AACA;AACA,wCAAwC;AACxC;AACA;AACA,yCAAyC;AACzC;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,0BAA0B,EAAE;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;;AAErC;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;;AAEjB;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA,cAAc;;AAEd;AACA,eAAe;;AAEf;AACA,qBAAqB;;AAErB;AACA,oBAAoB;;AAEpB;AACA;AACA,eAAe;;AAEf;AACA,cAAc;;AAEd;AACA,qBAAqB;;AAErB;AACA,oBAAoB;;AAEpB;AACA;AACA,wCAAwC;;AAExC;AACA;AACA,0CAA0C;;AAE1C;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B,EAAE;;AAEhC;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,8BAA8B,EAAE;;AAEhC;AACA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA,uBAAuB;;AAEvB;AACA,iBAAiB;;AAEjB;AACA,cAAc;;AAEd;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,oBAAoB;;AAEpB;AACA;AACA,wBAAwB;;AAExB;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;;AAEf;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA,cAAc;;AAEd;AACA;AACA;AACA,cAAc;;AAEd;AACA;AACA,aAAa;;AAEb;AACA,YAAY;;AAEZ;AACA;AACA,cAAc;;AAEd;AACA;AACA,eAAe;;AAEf;AACA,eAAe;;AAEf;AACA;AACA,aAAa;;AAEb;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,ieAAie;;AAEzgB;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,6wBAA6wB;;AAErzB;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,quBAAquB;;AAE7wB;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,qyHAAqyH;;AAE70H;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,qsBAAqsB;;AAE7uB;AACA;AACA;AACA,eAAe;;AAEf;AACA;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA,4BAA4B;;AAE5B;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA,gBAAgB,EAAE;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,2BAA2B,EAAE;AAC7B;AACA;AACA,kBAAkB;AAClB;AACA;AACA,qBAAqB;AACrB;AACA,sBAAsB;AACtB;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA,mBAAmB;AACnB;AACA,oEAAoE;AACpE;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,sBAAsB;AACtB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,uBAAuB;AACvB;AACA,2DAA2D;AAC3D;AACA,4DAA4D;AAC5D;AACA,qCAAqC;AACrC;AACA,8CAA8C;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA,mCAAmC;AACnC;AACA,uCAAuC;AACvC;AACA,4BAA4B;AAC5B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,8BAA8B;AAC9B;AACA,wBAAwB;AACxB;AACA;AACA,gCAAgC;AAChC;AACA;AACA,8BAA8B;AAC9B;AACA,0BAA0B;AAC1B;AACA;AACA,gCAAgC;AAChC;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,2BAA2B;AAC3B;AACA,0BAA0B;AAC1B;AACA,8BAA8B;AAC9B;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,iBAAiB;AACjB;AACA;AACA,2BAA2B,EAAE;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA,kBAAkB;AAClB;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA,gBAAgB;AAChB;AACA,8EAA8E;AAC9E;AACA,8EAA8E;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,kEAAkE;AAClE;AACA,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA,mBAAmB;AACnB;AACA,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;AACnB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA;AACA,oBAAoB;AACpB;AACA,oBAAoB;;AAEpB;AACA;AACA,qBAAqB;;AAErB;AACA;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA,iCAAiC;AACjC;AACA;AACA,kCAAkC;AAClC;AACA,8CAA8C;AAC9C;AACA,kDAAkD;AAClD;AACA;AACA,mBAAmB;AACnB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA,qDAAqD;AACrD;AACA,sDAAsD;AACtD;AACA,kEAAkE;;AAElE;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA,0BAA0B;AAC1B;AACA;AACA,oBAAoB;AACpB;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,2CAA2C;;AAE3C;AACA,6BAA6B;;AAE7B;AACA,uCAAuC;;AAEvC;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA,UAAU;;AAEV;AACA;AACA,aAAa;;AAEb;AACA;AACA,2BAA2B;AAC3B;AACA,kBAAkB,EAAE;;AAEpB;AACA;AACA,2BAA2B;AAC3B;AACA,kBAAkB,EAAE;;AAEpB;AACA;AACA,+CAA+C,EAAE;;AAEjD;AACA;AACA,kDAAkD;AAClD;AACA,4CAA4C;AAC5C;AACA,kDAAkD;AAClD;AACA,2CAA2C,EAAE;;AAE7C;AACA;AACA;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,iBAAiB,EAAE;;AAEnB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,mBAAmB,EAAE;;AAErB;AACA;AACA,0BAA0B;AAC1B;AACA,2BAA2B;AAC3B;AACA,2BAA2B;AAC3B;AACA,wBAAwB,EAAE;;AAE1B;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,oBAAoB,EAAE;;AAEtB;AACA;AACA,8BAA8B;AAC9B;AACA,8BAA8B;AAC9B;AACA,+BAA+B;AAC/B;AACA,+BAA+B,EAAE;;AAEjC;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,eAAe,EAAE;;AAEjB;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,eAAe,EAAE;;AAEjB;AACA;AACA,4BAA4B;AAC5B;AACA,8BAA8B,EAAE;;AAEhC;AACA,mBAAmB;;AAEnB;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA,4CAA4C;AAC5C;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA,YAAY;AACZ;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA,YAAY;AACZ;AACA;AACA,cAAc;;AAEd;AACA;AACA,kCAAkC;AAClC;AACA,oBAAoB;AACpB;AACA,kCAAkC,EAAE;;AAEpC;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;AACA,eAAe;;AAEf;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA,4BAA4B;AAC5B;AACA;AACA;AACA,mBAAmB;AACnB;AACA,mBAAmB;;AAEnB;AACA,YAAY;;AAEZ;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,kBAAkB;AAClB;AACA,0BAA0B;AAC1B;AACA,uBAAuB;AACvB;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,yBAAyB;AACzB;AACA;AACA,8BAA8B;AAC9B;AACA,uBAAuB;AACvB;AACA;AACA,8BAA8B;AAC9B;AACA,uBAAuB;AACvB;AACA;AACA,8BAA8B;AAC9B;AACA,uBAAuB;;AAEvB;AACA,uCAAuC;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,yBAAyB;AACzB;AACA,0BAA0B;AAC1B;AACA,kCAAkC;;AAElC;AACA,kBAAkB;;AAElB;AACA,oBAAoB;AACpB;AACA,8BAA8B;AAC9B;AACA;AACA,eAAe;;AAEf;AACA;AACA;AACA,wBAAwB;AACxB;AACA,cAAc;;AAEd;AACA,iBAAiB;;AAEjB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;;AAEnB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,qBAAqB;AACrB;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA,qBAAqB;;AAErB;AACA;AACA,uBAAuB;;AAEvB;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,yBAAyB;;AAEzB;AACA,qBAAqB;;AAErB;AACA,qBAAqB;AACrB;AACA,0BAA0B;AAC1B;AACA,aAAa;AACb;AACA,uBAAuB;AACvB;AACA;AACA,mBAAmB;AACnB;AACA,wBAAwB;;AAExB;AACA,qBAAqB;;AAErB;AACA,eAAe;;AAEf;AACA,eAAe;;AAEf;AACA,eAAe;;AAEf;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,mBAAmB;;AAEnB;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,wBAAwB;;AAExB;AACA,mBAAmB;;AAEnB;AACA,gDAAgD;;AAEhD;AACA;AACA,4BAA4B;;AAE5B;AACA,iBAAiB;AACjB;AACA,mBAAmB;AACnB;AACA,eAAe;;AAEf;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,kBAAkB;AAClB;AACA,uBAAuB;;AAEvB;AACA,mBAAmB;;AAEnB;AACA,eAAe;;AAEf;AACA,yBAAyB;AACzB;AACA,mBAAmB;AACnB;AACA,qBAAqB;AACrB;AACA,mBAAmB;;AAEnB;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,qBAAqB;AACrB;AACA;AACA,wBAAwB;AACxB;AACA,qBAAqB;;AAErB;AACA;AACA;AACA,qBAAqB;AACrB;AACA,qBAAqB;;AAErB;AACA;AACA,kBAAkB;;AAElB;AACA;AACA,gCAAgC;;AAEhC;AACA,qBAAqB;;AAErB;AACA,gCAAgC;;AAEhC;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA,eAAe;;AAEf;AACA,eAAe;;AAEf;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;;AAEjB;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,mBAAmB;;AAEnB;AACA,iBAAiB;AACjB;AACA,8BAA8B;;AAE9B;AACA,gBAAgB;;AAEhB;AACA,kBAAkB;;AAElB;AACA,kBAAkB;;AAElB;AACA;AACA,iBAAiB;;AAEjB;AACA,iBAAiB;;AAEjB;AACA,cAAc;;AAEd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oGAAoG;;AAEpG;AACA,iBAAiB;AACjB;AACA,sGAAsG;;AAEtG;AACA,gBAAgB;;AAEhB;AACA,eAAe;AACf;AACA,oBAAoB;;AAEpB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,mBAAmB;;AAEnB;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA,mBAAmB;;AAEnB;AACA,eAAe;;AAEf;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA,sBAAsB;;AAEtB;AACA,iBAAiB;;AAEjB;AACA,kBAAkB;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA,kBAAkB;AAClB;AACA;AACA,8BAA8B;AAC9B;AACA,+BAA+B;AAC/B;AACA,qBAAqB;AACrB;AACA,+BAA+B;AAC/B;AACA,qBAAqB;AACrB;AACA,+BAA+B;AAC/B;AACA,qBAAqB;AACrB;AACA,+BAA+B;AAC/B;AACA,qBAAqB;AACrB;AACA,+BAA+B;AAC/B;AACA,qBAAqB;;AAErB;AACA,mBAAmB;;AAEnB;AACA,mBAAmB;AACnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,wBAAwB;;AAExB;AACA,eAAe;;AAEf;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD;AACA,uDAAuD;AACvD;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,iBAAiB;AACjB;AACA,wBAAwB;AACxB;AACA,qBAAqB;AACrB;AACA,kCAAkC;AAClC;AACA;AACA;AACA,wCAAwC;AACxC;AACA,uBAAuB;AACvB;AACA,mBAAmB;AACnB;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,kBAAkB;;AAElB;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA,yBAAyB;;AAEzB;AACA,0BAA0B;;AAE1B;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA,oBAAoB;AACpB;AACA;AACA,wBAAwB;AACxB;AACA,mBAAmB;AACnB;AACA;AACA;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA,sBAAsB","file":"app/main.9f15875cff59b5963eea.css","sourcesContent":["@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: italic;\n\tfont-weight: 300;\n\tsrc: url(../fonts/Open_Sans-italic-300.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: italic;\n\tfont-weight: 400;\n\tsrc: url(../fonts/Open_Sans-italic-400.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: italic;\n\tfont-weight: 600;\n\tsrc: url(../fonts/Open_Sans-italic-600.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: italic;\n\tfont-weight: 700;\n\tsrc: url(../fonts/Open_Sans-italic-700.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: italic;\n\tfont-weight: 800;\n\tsrc: url(../fonts/Open_Sans-italic-800.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: normal;\n\tfont-weight: 300;\n\tsrc: url(../fonts/Open_Sans-normal-300.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: normal;\n\tfont-weight: 400;\n\tsrc: url(../fonts/Open_Sans-normal-400.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: normal;\n\tfont-weight: 600;\n\tsrc: url(../fonts/Open_Sans-normal-600.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: normal;\n\tfont-weight: 700;\n\tsrc: url(../fonts/Open_Sans-normal-700.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n@font-face {\n\tfont-family: 'Open Sans';\n\tfont-style: normal;\n\tfont-weight: 800;\n\tsrc: url(../fonts/Open_Sans-normal-800.woff) format('woff');\n\tunicode-range: U+0-10FFFF;\n}\n\n","@charset \"UTF-8\";\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #175DDC;\n --secondary: #ced4da;\n --success: #00a65a;\n --info: #555555;\n --warning: #bf7e16;\n --danger: #dd4b39;\n --light: #f8f9fa;\n --dark: #343a40;\n --primary-accent: #1252A3;\n --secondary-alt: #1A3B66;\n --breakpoint-xs: 0;\n --breakpoint-sm: 1px;\n --breakpoint-md: 2px;\n --breakpoint-lg: 3px;\n --breakpoint-xl: 4px;\n --font-family-sans-serif: \"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; }\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; }\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block; }\n\nbody {\n margin: 0;\n font-family: \"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #333333;\n text-align: left;\n background-color: #ffffff; }\n\n[tabindex=\"-1\"]:focus {\n outline: 0 !important; }\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible; }\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem; }\n\np {\n margin-top: 0;\n margin-bottom: 1rem; }\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none; }\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit; }\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem; }\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0; }\n\ndt {\n font-weight: 700; }\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; }\n\nblockquote {\n margin: 0 0 1rem; }\n\nb,\nstrong {\n font-weight: bolder; }\n\nsmall {\n font-size: 80%; }\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline; }\n\nsub {\n bottom: -.25em; }\n\nsup {\n top: -.5em; }\n\na {\n color: #175DDC;\n text-decoration: none;\n background-color: transparent; }\n a:hover {\n color: #104097;\n text-decoration: underline; }\n\na:not([href]):not([tabindex]) {\n color: inherit;\n text-decoration: none; }\n a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {\n color: inherit;\n text-decoration: none; }\n a:not([href]):not([tabindex]):focus {\n outline: 0; }\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em; }\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto; }\n\nfigure {\n margin: 0 0 1rem; }\n\nimg {\n vertical-align: middle;\n border-style: none; }\n\nsvg {\n overflow: hidden;\n vertical-align: middle; }\n\ntable {\n border-collapse: collapse; }\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom; }\n\nth {\n text-align: inherit; }\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem; }\n\nbutton {\n border-radius: 0; }\n\nbutton:focus {\n outline: 1px dotted;\n outline: 5px auto -webkit-focus-ring-color; }\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit; }\n\nbutton,\ninput {\n overflow: visible; }\n\nbutton,\nselect {\n text-transform: none; }\n\nselect {\n word-wrap: normal; }\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button; }\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer; }\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none; }\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0; }\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n -webkit-appearance: listbox; }\n\ntextarea {\n overflow: auto;\n resize: vertical; }\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0; }\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal; }\n\nprogress {\n vertical-align: baseline; }\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto; }\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none; }\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none; }\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button; }\n\noutput {\n display: inline-block; }\n\nsummary {\n display: list-item;\n cursor: pointer; }\n\ntemplate {\n display: none; }\n\n[hidden] {\n display: none !important; }\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2; }\n\nh1, .h1 {\n font-size: 1.7rem; }\n\nh2, .h2 {\n font-size: 1.3rem; }\n\nh3, .h3 {\n font-size: 1rem; }\n\nh4, .h4 {\n font-size: 1rem; }\n\nh5, .h5 {\n font-size: 1rem; }\n\nh6, .h6 {\n font-size: 1rem; }\n\n.lead {\n font-size: 1.25rem;\n font-weight: normal; }\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2; }\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2; }\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2; }\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2; }\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1); }\n\nsmall,\n.small {\n font-size: 90%;\n font-weight: 400; }\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3; }\n\n.list-unstyled {\n padding-left: 0;\n list-style: none; }\n\n.list-inline {\n padding-left: 0;\n list-style: none; }\n\n.list-inline-item {\n display: inline-block; }\n .list-inline-item:not(:last-child) {\n margin-right: 0.5rem; }\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase; }\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem; }\n\n.blockquote-footer {\n display: block;\n font-size: 90%;\n color: #6c757d; }\n .blockquote-footer::before {\n content: \"\\2014\\A0\"; }\n\n.img-fluid, .table.table-list td.table-list-icon img {\n max-width: 100%;\n height: auto; }\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #ffffff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto; }\n\n.figure {\n display: inline-block; }\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1; }\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d; }\n\ncode {\n font-size: 100%;\n color: #e83e8c;\n word-break: break-word; }\n a > code {\n color: inherit; }\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 100%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem; }\n kbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700; }\n\npre {\n display: block;\n font-size: 100%;\n color: #212529; }\n pre code {\n font-size: inherit;\n color: inherit;\n word-break: normal; }\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll; }\n\n.container {\n width: 100%;\n padding-right: 10px;\n padding-left: 10px;\n margin-right: auto;\n margin-left: auto; }\n @media (min-width: 1px) {\n .container {\n max-width: 540px; } }\n @media (min-width: 2px) {\n .container {\n max-width: 720px; } }\n @media (min-width: 3px) {\n .container {\n max-width: 960px; } }\n @media (min-width: 4px) {\n .container {\n max-width: 1140px; } }\n\n.container-fluid {\n width: 100%;\n padding-right: 10px;\n padding-left: 10px;\n margin-right: auto;\n margin-left: auto; }\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -10px;\n margin-left: -10px; }\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0; }\n .no-gutters > .col,\n .no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0; }\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 10px;\n padding-left: 10px; }\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%; }\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; }\n\n.col-1 {\n flex: 0 0 8.33333%;\n max-width: 8.33333%; }\n\n.col-2 {\n flex: 0 0 16.66667%;\n max-width: 16.66667%; }\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%; }\n\n.col-4 {\n flex: 0 0 33.33333%;\n max-width: 33.33333%; }\n\n.col-5 {\n flex: 0 0 41.66667%;\n max-width: 41.66667%; }\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%; }\n\n.col-7 {\n flex: 0 0 58.33333%;\n max-width: 58.33333%; }\n\n.col-8 {\n flex: 0 0 66.66667%;\n max-width: 66.66667%; }\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%; }\n\n.col-10 {\n flex: 0 0 83.33333%;\n max-width: 83.33333%; }\n\n.col-11 {\n flex: 0 0 91.66667%;\n max-width: 91.66667%; }\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%; }\n\n.order-first {\n order: -1; }\n\n.order-last {\n order: 13; }\n\n.order-0 {\n order: 0; }\n\n.order-1 {\n order: 1; }\n\n.order-2 {\n order: 2; }\n\n.order-3 {\n order: 3; }\n\n.order-4 {\n order: 4; }\n\n.order-5 {\n order: 5; }\n\n.order-6 {\n order: 6; }\n\n.order-7 {\n order: 7; }\n\n.order-8 {\n order: 8; }\n\n.order-9 {\n order: 9; }\n\n.order-10 {\n order: 10; }\n\n.order-11 {\n order: 11; }\n\n.order-12 {\n order: 12; }\n\n.offset-1 {\n margin-left: 8.33333%; }\n\n.offset-2 {\n margin-left: 16.66667%; }\n\n.offset-3 {\n margin-left: 25%; }\n\n.offset-4 {\n margin-left: 33.33333%; }\n\n.offset-5 {\n margin-left: 41.66667%; }\n\n.offset-6 {\n margin-left: 50%; }\n\n.offset-7 {\n margin-left: 58.33333%; }\n\n.offset-8 {\n margin-left: 66.66667%; }\n\n.offset-9 {\n margin-left: 75%; }\n\n.offset-10 {\n margin-left: 83.33333%; }\n\n.offset-11 {\n margin-left: 91.66667%; }\n\n@media (min-width: 1px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%; }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; }\n .col-sm-1 {\n flex: 0 0 8.33333%;\n max-width: 8.33333%; }\n .col-sm-2 {\n flex: 0 0 16.66667%;\n max-width: 16.66667%; }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%; }\n .col-sm-4 {\n flex: 0 0 33.33333%;\n max-width: 33.33333%; }\n .col-sm-5 {\n flex: 0 0 41.66667%;\n max-width: 41.66667%; }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%; }\n .col-sm-7 {\n flex: 0 0 58.33333%;\n max-width: 58.33333%; }\n .col-sm-8 {\n flex: 0 0 66.66667%;\n max-width: 66.66667%; }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%; }\n .col-sm-10 {\n flex: 0 0 83.33333%;\n max-width: 83.33333%; }\n .col-sm-11 {\n flex: 0 0 91.66667%;\n max-width: 91.66667%; }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%; }\n .order-sm-first {\n order: -1; }\n .order-sm-last {\n order: 13; }\n .order-sm-0 {\n order: 0; }\n .order-sm-1 {\n order: 1; }\n .order-sm-2 {\n order: 2; }\n .order-sm-3 {\n order: 3; }\n .order-sm-4 {\n order: 4; }\n .order-sm-5 {\n order: 5; }\n .order-sm-6 {\n order: 6; }\n .order-sm-7 {\n order: 7; }\n .order-sm-8 {\n order: 8; }\n .order-sm-9 {\n order: 9; }\n .order-sm-10 {\n order: 10; }\n .order-sm-11 {\n order: 11; }\n .order-sm-12 {\n order: 12; }\n .offset-sm-0 {\n margin-left: 0; }\n .offset-sm-1 {\n margin-left: 8.33333%; }\n .offset-sm-2 {\n margin-left: 16.66667%; }\n .offset-sm-3 {\n margin-left: 25%; }\n .offset-sm-4 {\n margin-left: 33.33333%; }\n .offset-sm-5 {\n margin-left: 41.66667%; }\n .offset-sm-6 {\n margin-left: 50%; }\n .offset-sm-7 {\n margin-left: 58.33333%; }\n .offset-sm-8 {\n margin-left: 66.66667%; }\n .offset-sm-9 {\n margin-left: 75%; }\n .offset-sm-10 {\n margin-left: 83.33333%; }\n .offset-sm-11 {\n margin-left: 91.66667%; } }\n\n@media (min-width: 2px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%; }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; }\n .col-md-1 {\n flex: 0 0 8.33333%;\n max-width: 8.33333%; }\n .col-md-2 {\n flex: 0 0 16.66667%;\n max-width: 16.66667%; }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%; }\n .col-md-4 {\n flex: 0 0 33.33333%;\n max-width: 33.33333%; }\n .col-md-5 {\n flex: 0 0 41.66667%;\n max-width: 41.66667%; }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%; }\n .col-md-7 {\n flex: 0 0 58.33333%;\n max-width: 58.33333%; }\n .col-md-8 {\n flex: 0 0 66.66667%;\n max-width: 66.66667%; }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%; }\n .col-md-10 {\n flex: 0 0 83.33333%;\n max-width: 83.33333%; }\n .col-md-11 {\n flex: 0 0 91.66667%;\n max-width: 91.66667%; }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%; }\n .order-md-first {\n order: -1; }\n .order-md-last {\n order: 13; }\n .order-md-0 {\n order: 0; }\n .order-md-1 {\n order: 1; }\n .order-md-2 {\n order: 2; }\n .order-md-3 {\n order: 3; }\n .order-md-4 {\n order: 4; }\n .order-md-5 {\n order: 5; }\n .order-md-6 {\n order: 6; }\n .order-md-7 {\n order: 7; }\n .order-md-8 {\n order: 8; }\n .order-md-9 {\n order: 9; }\n .order-md-10 {\n order: 10; }\n .order-md-11 {\n order: 11; }\n .order-md-12 {\n order: 12; }\n .offset-md-0 {\n margin-left: 0; }\n .offset-md-1 {\n margin-left: 8.33333%; }\n .offset-md-2 {\n margin-left: 16.66667%; }\n .offset-md-3 {\n margin-left: 25%; }\n .offset-md-4 {\n margin-left: 33.33333%; }\n .offset-md-5 {\n margin-left: 41.66667%; }\n .offset-md-6 {\n margin-left: 50%; }\n .offset-md-7 {\n margin-left: 58.33333%; }\n .offset-md-8 {\n margin-left: 66.66667%; }\n .offset-md-9 {\n margin-left: 75%; }\n .offset-md-10 {\n margin-left: 83.33333%; }\n .offset-md-11 {\n margin-left: 91.66667%; } }\n\n@media (min-width: 3px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%; }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; }\n .col-lg-1 {\n flex: 0 0 8.33333%;\n max-width: 8.33333%; }\n .col-lg-2 {\n flex: 0 0 16.66667%;\n max-width: 16.66667%; }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%; }\n .col-lg-4 {\n flex: 0 0 33.33333%;\n max-width: 33.33333%; }\n .col-lg-5 {\n flex: 0 0 41.66667%;\n max-width: 41.66667%; }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%; }\n .col-lg-7 {\n flex: 0 0 58.33333%;\n max-width: 58.33333%; }\n .col-lg-8 {\n flex: 0 0 66.66667%;\n max-width: 66.66667%; }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%; }\n .col-lg-10 {\n flex: 0 0 83.33333%;\n max-width: 83.33333%; }\n .col-lg-11 {\n flex: 0 0 91.66667%;\n max-width: 91.66667%; }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%; }\n .order-lg-first {\n order: -1; }\n .order-lg-last {\n order: 13; }\n .order-lg-0 {\n order: 0; }\n .order-lg-1 {\n order: 1; }\n .order-lg-2 {\n order: 2; }\n .order-lg-3 {\n order: 3; }\n .order-lg-4 {\n order: 4; }\n .order-lg-5 {\n order: 5; }\n .order-lg-6 {\n order: 6; }\n .order-lg-7 {\n order: 7; }\n .order-lg-8 {\n order: 8; }\n .order-lg-9 {\n order: 9; }\n .order-lg-10 {\n order: 10; }\n .order-lg-11 {\n order: 11; }\n .order-lg-12 {\n order: 12; }\n .offset-lg-0 {\n margin-left: 0; }\n .offset-lg-1 {\n margin-left: 8.33333%; }\n .offset-lg-2 {\n margin-left: 16.66667%; }\n .offset-lg-3 {\n margin-left: 25%; }\n .offset-lg-4 {\n margin-left: 33.33333%; }\n .offset-lg-5 {\n margin-left: 41.66667%; }\n .offset-lg-6 {\n margin-left: 50%; }\n .offset-lg-7 {\n margin-left: 58.33333%; }\n .offset-lg-8 {\n margin-left: 66.66667%; }\n .offset-lg-9 {\n margin-left: 75%; }\n .offset-lg-10 {\n margin-left: 83.33333%; }\n .offset-lg-11 {\n margin-left: 91.66667%; } }\n\n@media (min-width: 4px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%; }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%; }\n .col-xl-1 {\n flex: 0 0 8.33333%;\n max-width: 8.33333%; }\n .col-xl-2 {\n flex: 0 0 16.66667%;\n max-width: 16.66667%; }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%; }\n .col-xl-4 {\n flex: 0 0 33.33333%;\n max-width: 33.33333%; }\n .col-xl-5 {\n flex: 0 0 41.66667%;\n max-width: 41.66667%; }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%; }\n .col-xl-7 {\n flex: 0 0 58.33333%;\n max-width: 58.33333%; }\n .col-xl-8 {\n flex: 0 0 66.66667%;\n max-width: 66.66667%; }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%; }\n .col-xl-10 {\n flex: 0 0 83.33333%;\n max-width: 83.33333%; }\n .col-xl-11 {\n flex: 0 0 91.66667%;\n max-width: 91.66667%; }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%; }\n .order-xl-first {\n order: -1; }\n .order-xl-last {\n order: 13; }\n .order-xl-0 {\n order: 0; }\n .order-xl-1 {\n order: 1; }\n .order-xl-2 {\n order: 2; }\n .order-xl-3 {\n order: 3; }\n .order-xl-4 {\n order: 4; }\n .order-xl-5 {\n order: 5; }\n .order-xl-6 {\n order: 6; }\n .order-xl-7 {\n order: 7; }\n .order-xl-8 {\n order: 8; }\n .order-xl-9 {\n order: 9; }\n .order-xl-10 {\n order: 10; }\n .order-xl-11 {\n order: 11; }\n .order-xl-12 {\n order: 12; }\n .offset-xl-0 {\n margin-left: 0; }\n .offset-xl-1 {\n margin-left: 8.33333%; }\n .offset-xl-2 {\n margin-left: 16.66667%; }\n .offset-xl-3 {\n margin-left: 25%; }\n .offset-xl-4 {\n margin-left: 33.33333%; }\n .offset-xl-5 {\n margin-left: 41.66667%; }\n .offset-xl-6 {\n margin-left: 50%; }\n .offset-xl-7 {\n margin-left: 58.33333%; }\n .offset-xl-8 {\n margin-left: 66.66667%; }\n .offset-xl-9 {\n margin-left: 75%; }\n .offset-xl-10 {\n margin-left: 83.33333%; }\n .offset-xl-11 {\n margin-left: 91.66667%; } }\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #333333; }\n .table th,\n .table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6; }\n .table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6; }\n .table tbody + tbody {\n border-top: 2px solid #dee2e6; }\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem; }\n\n.table-bordered {\n border: 1px solid #dee2e6; }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6; }\n .table-bordered thead th,\n .table-bordered thead td {\n border-bottom-width: 2px; }\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0; }\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.02); }\n\n.table-hover tbody tr:hover {\n color: #333333;\n background-color: rgba(0, 0, 0, 0.03); }\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #bed2f5; }\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #86abed; }\n\n.table-hover .table-primary:hover {\n background-color: #a8c3f2; }\n .table-hover .table-primary:hover > td,\n .table-hover .table-primary:hover > th {\n background-color: #a8c3f2; }\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #f1f3f5; }\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #e6e9ec; }\n\n.table-hover .table-secondary:hover {\n background-color: #e2e6ea; }\n .table-hover .table-secondary:hover > td,\n .table-hover .table-secondary:hover > th {\n background-color: #e2e6ea; }\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #b8e6d1; }\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #7ad1a9; }\n\n.table-hover .table-success:hover {\n background-color: #a5dfc5; }\n .table-hover .table-success:hover > td,\n .table-hover .table-success:hover > th {\n background-color: #a5dfc5; }\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #cfcfcf; }\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #a7a7a7; }\n\n.table-hover .table-info:hover {\n background-color: #c2c2c2; }\n .table-hover .table-info:hover > td,\n .table-hover .table-info:hover > th {\n background-color: #c2c2c2; }\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #eddbbe; }\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #debc86; }\n\n.table-hover .table-warning:hover {\n background-color: #e7d0aa; }\n .table-hover .table-warning:hover > td,\n .table-hover .table-warning:hover > th {\n background-color: #e7d0aa; }\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5cdc8; }\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #eda198; }\n\n.table-hover .table-danger:hover {\n background-color: #f1b9b2; }\n .table-hover .table-danger:hover > td,\n .table-hover .table-danger:hover > th {\n background-color: #f1b9b2; }\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe; }\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc; }\n\n.table-hover .table-light:hover {\n background-color: #ececf6; }\n .table-hover .table-light:hover > td,\n .table-hover .table-light:hover > th {\n background-color: #ececf6; }\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca; }\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c; }\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe; }\n .table-hover .table-dark:hover > td,\n .table-hover .table-dark:hover > th {\n background-color: #b9bbbe; }\n\n.table-primary-accent,\n.table-primary-accent > th,\n.table-primary-accent > td {\n background-color: #bdcfe5; }\n\n.table-primary-accent th,\n.table-primary-accent td,\n.table-primary-accent thead th,\n.table-primary-accent tbody + tbody {\n border-color: #84a5cf; }\n\n.table-hover .table-primary-accent:hover {\n background-color: #abc2de; }\n .table-hover .table-primary-accent:hover > td,\n .table-hover .table-primary-accent:hover > th {\n background-color: #abc2de; }\n\n.table-secondary-alt,\n.table-secondary-alt > th,\n.table-secondary-alt > td {\n background-color: #bfc8d4; }\n\n.table-secondary-alt th,\n.table-secondary-alt td,\n.table-secondary-alt thead th,\n.table-secondary-alt tbody + tbody {\n border-color: #8899af; }\n\n.table-hover .table-secondary-alt:hover {\n background-color: #b0bbca; }\n .table-hover .table-secondary-alt:hover > td,\n .table-hover .table-secondary-alt:hover > th {\n background-color: #b0bbca; }\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.03); }\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.03); }\n .table-hover .table-active:hover > td,\n .table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.03); }\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55; }\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6; }\n\n.table-dark {\n color: #fff;\n background-color: #343a40; }\n .table-dark th,\n .table-dark td,\n .table-dark thead th {\n border-color: #454d55; }\n .table-dark.table-bordered {\n border: 0; }\n .table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05); }\n .table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075); }\n\n@media (max-width: 0.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch; }\n .table-responsive-sm > .table-bordered {\n border: 0; } }\n\n@media (max-width: 1.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch; }\n .table-responsive-md > .table-bordered {\n border: 0; } }\n\n@media (max-width: 2.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch; }\n .table-responsive-lg > .table-bordered {\n border: 0; } }\n\n@media (max-width: 3.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch; }\n .table-responsive-xl > .table-bordered {\n border: 0; } }\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch; }\n .table-responsive > .table-bordered {\n border: 0; }\n\n.form-control {\n display: block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fbfbfb;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }\n @media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none; } }\n .form-control::-ms-expand {\n background-color: transparent;\n border: 0; }\n .form-control:focus {\n color: #495057;\n background-color: #ffffff;\n border-color: #81a9f2;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .form-control::placeholder {\n color: #b4b4b4;\n opacity: 1; }\n .form-control:disabled, .form-control[readonly] {\n background-color: #e0e0e0;\n opacity: 1; }\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fbfbfb; }\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%; }\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5; }\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.15rem;\n line-height: 1.5; }\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5; }\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n margin-bottom: 0;\n line-height: 1.5;\n color: #333333;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0; }\n .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0; }\n\n.form-control-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem; }\n\n.form-control-lg {\n height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.15rem;\n line-height: 1.5;\n border-radius: 0.3rem; }\n\nselect.form-control[size], select.form-control[multiple] {\n height: auto; }\n\ntextarea.form-control {\n height: auto; }\n\n.form-group {\n margin-bottom: 1rem; }\n\n.form-text {\n display: block;\n margin-top: 0.25rem; }\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px; }\n .form-row > .col,\n .form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px; }\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem; }\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem; }\n .form-check-input:disabled ~ .form-check-label {\n color: #6c757d; }\n\n.form-check-label {\n margin-bottom: 0; }\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem; }\n .form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0; }\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 90%;\n color: #00a65a; }\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(0, 166, 90, 0.9);\n border-radius: 0.25rem; }\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #00a65a;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300a65a' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: center right calc(0.375em + 0.1875rem);\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }\n .was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #00a65a;\n box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.25); }\n .was-validated .form-control:valid ~ .valid-feedback,\n .was-validated .form-control:valid ~ .valid-tooltip, .form-control.is-valid ~ .valid-feedback,\n .form-control.is-valid ~ .valid-tooltip {\n display: block; }\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); }\n\n.was-validated .custom-select:valid, .custom-select.is-valid {\n border-color: #00a65a;\n padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2300a65a' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fbfbfb no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }\n .was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\n border-color: #00a65a;\n box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.25); }\n .was-validated .custom-select:valid ~ .valid-feedback,\n .was-validated .custom-select:valid ~ .valid-tooltip, .custom-select.is-valid ~ .valid-feedback,\n .custom-select.is-valid ~ .valid-tooltip {\n display: block; }\n\n.was-validated .form-control-file:valid ~ .valid-feedback,\n.was-validated .form-control-file:valid ~ .valid-tooltip, .form-control-file.is-valid ~ .valid-feedback,\n.form-control-file.is-valid ~ .valid-tooltip {\n display: block; }\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #00a65a; }\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block; }\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #00a65a; }\n .was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n border-color: #00a65a; }\n\n.was-validated .custom-control-input:valid ~ .valid-feedback,\n.was-validated .custom-control-input:valid ~ .valid-tooltip, .custom-control-input.is-valid ~ .valid-feedback,\n.custom-control-input.is-valid ~ .valid-tooltip {\n display: block; }\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n border-color: #00d976;\n background-color: #00d976; }\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.25); }\n\n.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #00a65a; }\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #00a65a; }\n\n.was-validated .custom-file-input:valid ~ .valid-feedback,\n.was-validated .custom-file-input:valid ~ .valid-tooltip, .custom-file-input.is-valid ~ .valid-feedback,\n.custom-file-input.is-valid ~ .valid-tooltip {\n display: block; }\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n border-color: #00a65a;\n box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.25); }\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 90%;\n color: #dd4b39; }\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(221, 75, 57, 0.9);\n border-radius: 0.25rem; }\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dd4b39;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dd4b39' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dd4b39' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\");\n background-repeat: no-repeat;\n background-position: center right calc(0.375em + 0.1875rem);\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }\n .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dd4b39;\n box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.25); }\n .was-validated .form-control:invalid ~ .invalid-feedback,\n .was-validated .form-control:invalid ~ .invalid-tooltip, .form-control.is-invalid ~ .invalid-feedback,\n .form-control.is-invalid ~ .invalid-tooltip {\n display: block; }\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); }\n\n.was-validated .custom-select:invalid, .custom-select.is-invalid {\n border-color: #dd4b39;\n padding-right: calc((1em + 0.75rem) * 3 / 4 + 1.75rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dd4b39' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dd4b39' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E\") #fbfbfb no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); }\n .was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\n border-color: #dd4b39;\n box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.25); }\n .was-validated .custom-select:invalid ~ .invalid-feedback,\n .was-validated .custom-select:invalid ~ .invalid-tooltip, .custom-select.is-invalid ~ .invalid-feedback,\n .custom-select.is-invalid ~ .invalid-tooltip {\n display: block; }\n\n.was-validated .form-control-file:invalid ~ .invalid-feedback,\n.was-validated .form-control-file:invalid ~ .invalid-tooltip, .form-control-file.is-invalid ~ .invalid-feedback,\n.form-control-file.is-invalid ~ .invalid-tooltip {\n display: block; }\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dd4b39; }\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block; }\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dd4b39; }\n .was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n border-color: #dd4b39; }\n\n.was-validated .custom-control-input:invalid ~ .invalid-feedback,\n.was-validated .custom-control-input:invalid ~ .invalid-tooltip, .custom-control-input.is-invalid ~ .invalid-feedback,\n.custom-control-input.is-invalid ~ .invalid-tooltip {\n display: block; }\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n border-color: #e47365;\n background-color: #e47365; }\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.25); }\n\n.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #dd4b39; }\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dd4b39; }\n\n.was-validated .custom-file-input:invalid ~ .invalid-feedback,\n.was-validated .custom-file-input:invalid ~ .invalid-tooltip, .custom-file-input.is-invalid ~ .invalid-feedback,\n.custom-file-input.is-invalid ~ .invalid-tooltip {\n display: block; }\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n border-color: #dd4b39;\n box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.25); }\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center; }\n .form-inline .form-check {\n width: 100%; }\n @media (min-width: 1px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0; }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0; }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle; }\n .form-inline .form-control-plaintext {\n display: inline-block; }\n .form-inline .input-group,\n .form-inline .custom-select {\n width: auto; }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0; }\n .form-inline .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0; }\n .form-inline .custom-control {\n align-items: center;\n justify-content: center; }\n .form-inline .custom-control-label {\n margin-bottom: 0; } }\n\n.btn, .swal2-popup .swal2-actions button {\n display: inline-block;\n font-weight: 600;\n color: #333333;\n text-align: center;\n vertical-align: middle;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }\n @media (prefers-reduced-motion: reduce) {\n .btn, .swal2-popup .swal2-actions button {\n transition: none; } }\n .btn:hover, .swal2-popup .swal2-actions button:hover {\n color: #333333;\n text-decoration: none; }\n .btn:focus, .swal2-popup .swal2-actions button:focus, .btn.focus, .swal2-popup .swal2-actions button.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .btn.disabled, .swal2-popup .swal2-actions button.disabled, .btn:disabled, .swal2-popup .swal2-actions button:disabled {\n opacity: 0.65; }\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none; }\n\n.btn-primary, .swal2-popup .swal2-actions button.swal2-confirm {\n color: #fff;\n background-color: #175DDC;\n border-color: #175DDC; }\n .btn-primary:hover, .swal2-popup .swal2-actions button.swal2-confirm:hover {\n color: #fff;\n background-color: #134eb9;\n border-color: #1249ae; }\n .btn-primary:focus, .swal2-popup .swal2-actions button.swal2-confirm:focus, .btn-primary.focus, .swal2-popup .swal2-actions button.focus.swal2-confirm {\n box-shadow: 0 0 0 0.2rem rgba(58, 117, 225, 0.5); }\n .btn-primary.disabled, .swal2-popup .swal2-actions button.disabled.swal2-confirm, .btn-primary:disabled, .swal2-popup .swal2-actions button.swal2-confirm:disabled {\n color: #fff;\n background-color: #175DDC;\n border-color: #175DDC; }\n .btn-primary:not(:disabled):not(.disabled):active, .swal2-popup .swal2-actions button.swal2-confirm:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .swal2-popup .swal2-actions button.swal2-confirm:not(:disabled):not(.disabled).active,\n .show > .btn-primary.dropdown-toggle,\n .swal2-popup .swal2-actions .show > button.dropdown-toggle.swal2-confirm {\n color: #fff;\n background-color: #1249ae;\n border-color: #1145a2; }\n .btn-primary:not(:disabled):not(.disabled):active:focus, .swal2-popup .swal2-actions button.swal2-confirm:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .swal2-popup .swal2-actions button.swal2-confirm:not(:disabled):not(.disabled).active:focus,\n .show > .btn-primary.dropdown-toggle:focus,\n .swal2-popup .swal2-actions .show > button.dropdown-toggle.swal2-confirm:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 117, 225, 0.5); }\n\n.btn-secondary {\n color: #212529;\n background-color: #ced4da;\n border-color: #ced4da; }\n .btn-secondary:hover {\n color: #212529;\n background-color: #b8c1ca;\n border-color: #b1bbc4; }\n .btn-secondary:focus, .btn-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(180, 186, 191, 0.5); }\n .btn-secondary.disabled, .btn-secondary:disabled {\n color: #212529;\n background-color: #ced4da;\n border-color: #ced4da; }\n .btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n .show > .btn-secondary.dropdown-toggle {\n color: #212529;\n background-color: #b1bbc4;\n border-color: #aab4bf; }\n .btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n .show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(180, 186, 191, 0.5); }\n\n.btn-success {\n color: #fff;\n background-color: #00a65a;\n border-color: #00a65a; }\n .btn-success:hover {\n color: #fff;\n background-color: #008045;\n border-color: #00733e; }\n .btn-success:focus, .btn-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 179, 115, 0.5); }\n .btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #00a65a;\n border-color: #00a65a; }\n .btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n .show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #00733e;\n border-color: #006637; }\n .btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n .show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 179, 115, 0.5); }\n\n.btn-info {\n color: #fff;\n background-color: #555555;\n border-color: #555555; }\n .btn-info:hover {\n color: #fff;\n background-color: #424242;\n border-color: #3c3c3c; }\n .btn-info:focus, .btn-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(111, 111, 111, 0.5); }\n .btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #555555;\n border-color: #555555; }\n .btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n .show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #3c3c3c;\n border-color: #353535; }\n .btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n .show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(111, 111, 111, 0.5); }\n\n.btn-warning {\n color: #fff;\n background-color: #bf7e16;\n border-color: #bf7e16; }\n .btn-warning:hover {\n color: #fff;\n background-color: #9d6712;\n border-color: #916011; }\n .btn-warning:focus, .btn-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(201, 145, 57, 0.5); }\n .btn-warning.disabled, .btn-warning:disabled {\n color: #fff;\n background-color: #bf7e16;\n border-color: #bf7e16; }\n .btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n .show > .btn-warning.dropdown-toggle {\n color: #fff;\n background-color: #916011;\n border-color: #86580f; }\n .btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n .show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(201, 145, 57, 0.5); }\n\n.btn-danger {\n color: #fff;\n background-color: #dd4b39;\n border-color: #dd4b39; }\n .btn-danger:hover {\n color: #fff;\n background-color: #cd3623;\n border-color: #c23321; }\n .btn-danger:focus, .btn-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(226, 102, 87, 0.5); }\n .btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dd4b39;\n border-color: #dd4b39; }\n .btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n .show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #c23321;\n border-color: #b7301f; }\n .btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n .show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(226, 102, 87, 0.5); }\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa; }\n .btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5; }\n .btn-light:focus, .btn-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }\n .btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa; }\n .btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n .show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df; }\n .btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n .show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); }\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40; }\n .btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124; }\n .btn-dark:focus, .btn-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }\n .btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40; }\n .btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n .show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d; }\n .btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n .show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); }\n\n.btn-primary-accent {\n color: #fff;\n background-color: #1252A3;\n border-color: #1252A3; }\n .btn-primary-accent:hover {\n color: #fff;\n background-color: #0e4181;\n border-color: #0d3b75; }\n .btn-primary-accent:focus, .btn-primary-accent.focus {\n box-shadow: 0 0 0 0.2rem rgba(54, 108, 177, 0.5); }\n .btn-primary-accent.disabled, .btn-primary-accent:disabled {\n color: #fff;\n background-color: #1252A3;\n border-color: #1252A3; }\n .btn-primary-accent:not(:disabled):not(.disabled):active, .btn-primary-accent:not(:disabled):not(.disabled).active,\n .show > .btn-primary-accent.dropdown-toggle {\n color: #fff;\n background-color: #0d3b75;\n border-color: #0c356a; }\n .btn-primary-accent:not(:disabled):not(.disabled):active:focus, .btn-primary-accent:not(:disabled):not(.disabled).active:focus,\n .show > .btn-primary-accent.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(54, 108, 177, 0.5); }\n\n.btn-secondary-alt {\n color: #fff;\n background-color: #1A3B66;\n border-color: #1A3B66; }\n .btn-secondary-alt:hover {\n color: #fff;\n background-color: #122948;\n border-color: #10233d; }\n .btn-secondary-alt:focus, .btn-secondary-alt.focus {\n box-shadow: 0 0 0 0.2rem rgba(60, 88, 125, 0.5); }\n .btn-secondary-alt.disabled, .btn-secondary-alt:disabled {\n color: #fff;\n background-color: #1A3B66;\n border-color: #1A3B66; }\n .btn-secondary-alt:not(:disabled):not(.disabled):active, .btn-secondary-alt:not(:disabled):not(.disabled).active,\n .show > .btn-secondary-alt.dropdown-toggle {\n color: #fff;\n background-color: #10233d;\n border-color: #0d1e33; }\n .btn-secondary-alt:not(:disabled):not(.disabled):active:focus, .btn-secondary-alt:not(:disabled):not(.disabled).active:focus,\n .show > .btn-secondary-alt.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(60, 88, 125, 0.5); }\n\n.btn-outline-primary {\n color: #175DDC;\n border-color: #175DDC; }\n .btn-outline-primary:hover {\n color: #fff;\n background-color: #175DDC;\n border-color: #175DDC; }\n .btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.5); }\n .btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #175DDC;\n background-color: transparent; }\n .btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n .show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #175DDC;\n border-color: #175DDC; }\n .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.5); }\n\n.btn-outline-secondary, .swal2-popup .swal2-actions button.swal2-cancel {\n color: #ced4da;\n border-color: #ced4da; }\n .btn-outline-secondary:hover, .swal2-popup .swal2-actions button.swal2-cancel:hover {\n color: #212529;\n background-color: #ced4da;\n border-color: #ced4da; }\n .btn-outline-secondary:focus, .swal2-popup .swal2-actions button.swal2-cancel:focus, .btn-outline-secondary.focus, .swal2-popup .swal2-actions button.focus.swal2-cancel {\n box-shadow: 0 0 0 0.2rem rgba(206, 212, 218, 0.5); }\n .btn-outline-secondary.disabled, .swal2-popup .swal2-actions button.disabled.swal2-cancel, .btn-outline-secondary:disabled, .swal2-popup .swal2-actions button.swal2-cancel:disabled {\n color: #ced4da;\n background-color: transparent; }\n .btn-outline-secondary:not(:disabled):not(.disabled):active, .swal2-popup .swal2-actions button.swal2-cancel:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, .swal2-popup .swal2-actions button.swal2-cancel:not(:disabled):not(.disabled).active,\n .show > .btn-outline-secondary.dropdown-toggle,\n .swal2-popup .swal2-actions .show > button.dropdown-toggle.swal2-cancel {\n color: #212529;\n background-color: #ced4da;\n border-color: #ced4da; }\n .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .swal2-popup .swal2-actions button.swal2-cancel:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .swal2-popup .swal2-actions button.swal2-cancel:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-secondary.dropdown-toggle:focus,\n .swal2-popup .swal2-actions .show > button.dropdown-toggle.swal2-cancel:focus {\n box-shadow: 0 0 0 0.2rem rgba(206, 212, 218, 0.5); }\n\n.btn-outline-success {\n color: #00a65a;\n border-color: #00a65a; }\n .btn-outline-success:hover {\n color: #fff;\n background-color: #00a65a;\n border-color: #00a65a; }\n .btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.5); }\n .btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #00a65a;\n background-color: transparent; }\n .btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n .show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #00a65a;\n border-color: #00a65a; }\n .btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.5); }\n\n.btn-outline-info {\n color: #555555;\n border-color: #555555; }\n .btn-outline-info:hover {\n color: #fff;\n background-color: #555555;\n border-color: #555555; }\n .btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(85, 85, 85, 0.5); }\n .btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #555555;\n background-color: transparent; }\n .btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n .show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #555555;\n border-color: #555555; }\n .btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(85, 85, 85, 0.5); }\n\n.btn-outline-warning {\n color: #bf7e16;\n border-color: #bf7e16; }\n .btn-outline-warning:hover {\n color: #fff;\n background-color: #bf7e16;\n border-color: #bf7e16; }\n .btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(191, 126, 22, 0.5); }\n .btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #bf7e16;\n background-color: transparent; }\n .btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n .show > .btn-outline-warning.dropdown-toggle {\n color: #fff;\n background-color: #bf7e16;\n border-color: #bf7e16; }\n .btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(191, 126, 22, 0.5); }\n\n.btn-outline-danger {\n color: #dd4b39;\n border-color: #dd4b39; }\n .btn-outline-danger:hover {\n color: #fff;\n background-color: #dd4b39;\n border-color: #dd4b39; }\n .btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.5); }\n .btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dd4b39;\n background-color: transparent; }\n .btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n .show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dd4b39;\n border-color: #dd4b39; }\n .btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.5); }\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa; }\n .btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa; }\n .btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }\n .btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent; }\n .btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n .show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa; }\n .btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40; }\n .btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40; }\n .btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }\n .btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent; }\n .btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n .show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40; }\n .btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }\n\n.btn-outline-primary-accent {\n color: #1252A3;\n border-color: #1252A3; }\n .btn-outline-primary-accent:hover {\n color: #fff;\n background-color: #1252A3;\n border-color: #1252A3; }\n .btn-outline-primary-accent:focus, .btn-outline-primary-accent.focus {\n box-shadow: 0 0 0 0.2rem rgba(18, 82, 163, 0.5); }\n .btn-outline-primary-accent.disabled, .btn-outline-primary-accent:disabled {\n color: #1252A3;\n background-color: transparent; }\n .btn-outline-primary-accent:not(:disabled):not(.disabled):active, .btn-outline-primary-accent:not(:disabled):not(.disabled).active,\n .show > .btn-outline-primary-accent.dropdown-toggle {\n color: #fff;\n background-color: #1252A3;\n border-color: #1252A3; }\n .btn-outline-primary-accent:not(:disabled):not(.disabled):active:focus, .btn-outline-primary-accent:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-primary-accent.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(18, 82, 163, 0.5); }\n\n.btn-outline-secondary-alt {\n color: #1A3B66;\n border-color: #1A3B66; }\n .btn-outline-secondary-alt:hover {\n color: #fff;\n background-color: #1A3B66;\n border-color: #1A3B66; }\n .btn-outline-secondary-alt:focus, .btn-outline-secondary-alt.focus {\n box-shadow: 0 0 0 0.2rem rgba(26, 59, 102, 0.5); }\n .btn-outline-secondary-alt.disabled, .btn-outline-secondary-alt:disabled {\n color: #1A3B66;\n background-color: transparent; }\n .btn-outline-secondary-alt:not(:disabled):not(.disabled):active, .btn-outline-secondary-alt:not(:disabled):not(.disabled).active,\n .show > .btn-outline-secondary-alt.dropdown-toggle {\n color: #fff;\n background-color: #1A3B66;\n border-color: #1A3B66; }\n .btn-outline-secondary-alt:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary-alt:not(:disabled):not(.disabled).active:focus,\n .show > .btn-outline-secondary-alt.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(26, 59, 102, 0.5); }\n\n.btn-link {\n font-weight: 400;\n color: #175DDC;\n text-decoration: none; }\n .btn-link:hover {\n color: #104097;\n text-decoration: underline; }\n .btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n box-shadow: none; }\n .btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none; }\n\n.btn-lg, .btn-group-lg > .btn, .swal2-popup .swal2-actions .btn-group-lg > button {\n padding: 0.5rem 1rem;\n font-size: 1.15rem;\n line-height: 1.5;\n border-radius: 0.3rem; }\n\n.btn-sm, .btn-group-sm > .btn, .swal2-popup .swal2-actions .btn-group-sm > button {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem; }\n\n.btn-block {\n display: block;\n width: 100%; }\n .btn-block + .btn-block {\n margin-top: 0.5rem; }\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%; }\n\n.fade {\n transition: opacity 0.15s linear; }\n @media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none; } }\n .fade:not(.show) {\n opacity: 0; }\n\n.collapse:not(.show) {\n display: none; }\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease; }\n @media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none; } }\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative; }\n\n.dropdown-toggle {\n white-space: nowrap; }\n .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent; }\n .dropdown-toggle:empty::after {\n margin-left: 0; }\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #333333;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem; }\n\n.dropdown-menu-left {\n right: auto;\n left: 0; }\n\n.dropdown-menu-right {\n right: 0;\n left: auto; }\n\n@media (min-width: 1px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0; }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto; } }\n\n@media (min-width: 2px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0; }\n .dropdown-menu-md-right {\n right: 0;\n left: auto; } }\n\n@media (min-width: 3px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0; }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto; } }\n\n@media (min-width: 4px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0; }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto; } }\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem; }\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent; }\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0; }\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem; }\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid; }\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0; }\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0; }\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem; }\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\"; }\n\n.dropleft .dropdown-toggle::after {\n display: none; }\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent; }\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0; }\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0; }\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto; }\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef; }\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1rem;\n clear: both;\n font-weight: 400;\n color: #333333;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0; }\n .dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: rgba(0, 0, 0, 0.06); }\n .dropdown-item.active, .dropdown-item:active {\n color: #333333;\n text-decoration: none;\n background-color: rgba(0, 0, 0, 0.1); }\n .dropdown-item.disabled, .dropdown-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: transparent; }\n\n.dropdown-menu.show {\n display: block; }\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap; }\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1rem;\n color: #333333; }\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle; }\n .btn-group > .btn, .swal2-popup .swal2-actions .btn-group > button,\n .btn-group-vertical > .btn,\n .swal2-popup .swal2-actions .btn-group-vertical > button {\n position: relative;\n flex: 1 1 auto; }\n .btn-group > .btn:hover, .swal2-popup .swal2-actions .btn-group > button:hover,\n .btn-group-vertical > .btn:hover,\n .swal2-popup .swal2-actions .btn-group-vertical > button:hover {\n z-index: 1; }\n .btn-group > .btn:focus, .swal2-popup .swal2-actions .btn-group > button:focus, .btn-group > .btn:active, .swal2-popup .swal2-actions .btn-group > button:active, .btn-group > .btn.active, .swal2-popup .swal2-actions .btn-group > button.active,\n .btn-group-vertical > .btn:focus,\n .swal2-popup .swal2-actions .btn-group-vertical > button:focus,\n .btn-group-vertical > .btn:active,\n .swal2-popup .swal2-actions .btn-group-vertical > button:active,\n .btn-group-vertical > .btn.active,\n .swal2-popup .swal2-actions .btn-group-vertical > button.active {\n z-index: 1; }\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start; }\n .btn-toolbar .input-group {\n width: auto; }\n\n.btn-group > .btn:not(:first-child), .swal2-popup .swal2-actions .btn-group > button:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px; }\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle), .swal2-popup .swal2-actions .btn-group > button:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn,\n.swal2-popup .swal2-actions .btn-group > .btn-group:not(:last-child) > button {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n\n.btn-group > .btn:not(:first-child), .swal2-popup .swal2-actions .btn-group > button:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn,\n.swal2-popup .swal2-actions .btn-group > .btn-group:not(:first-child) > button {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0; }\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem; }\n .dropdown-toggle-split::after,\n .dropup .dropdown-toggle-split::after,\n .dropright .dropdown-toggle-split::after {\n margin-left: 0; }\n .dropleft .dropdown-toggle-split::before {\n margin-right: 0; }\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split, .swal2-popup .swal2-actions .btn-group-sm > button + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem; }\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split, .swal2-popup .swal2-actions .btn-group-lg > button + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem; }\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center; }\n \n .btn-group-vertical > .btn,\n .swal2-popup .swal2-actions .btn-group-vertical > button,\n .btn-group-vertical > .btn-group {\n width: 100%; }\n .btn-group-vertical > .btn:not(:first-child), .swal2-popup .swal2-actions .btn-group-vertical > button:not(:first-child),\n .btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px; }\n .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), .swal2-popup .swal2-actions .btn-group-vertical > button:not(:last-child):not(.dropdown-toggle),\n .btn-group-vertical > .btn-group:not(:last-child) > .btn,\n .swal2-popup .swal2-actions .btn-group-vertical > .btn-group:not(:last-child) > button {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0; }\n .btn-group-vertical > .btn:not(:first-child), .swal2-popup .swal2-actions .btn-group-vertical > button:not(:first-child),\n .btn-group-vertical > .btn-group:not(:first-child) > .btn,\n .swal2-popup .swal2-actions .btn-group-vertical > .btn-group:not(:first-child) > button {\n border-top-left-radius: 0;\n border-top-right-radius: 0; }\n\n.btn-group-toggle > .btn, .swal2-popup .swal2-actions .btn-group-toggle > button,\n.btn-group-toggle > .btn-group > .btn,\n.swal2-popup .swal2-actions .btn-group-toggle > .btn-group > button {\n margin-bottom: 0; }\n .btn-group-toggle > .btn input[type=\"radio\"], .swal2-popup .swal2-actions .btn-group-toggle > button input[type=\"radio\"],\n .btn-group-toggle > .btn input[type=\"checkbox\"],\n .swal2-popup .swal2-actions .btn-group-toggle > button input[type=\"checkbox\"],\n .btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n .swal2-popup .swal2-actions .btn-group-toggle > .btn-group > button input[type=\"radio\"],\n .btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"],\n .swal2-popup .swal2-actions .btn-group-toggle > .btn-group > button input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none; }\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%; }\n .input-group > .form-control,\n .input-group > .form-control-plaintext,\n .input-group > .custom-select,\n .input-group > .custom-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n margin-bottom: 0; }\n .input-group > .form-control + .form-control,\n .input-group > .form-control + .custom-select,\n .input-group > .form-control + .custom-file,\n .input-group > .form-control-plaintext + .form-control,\n .input-group > .form-control-plaintext + .custom-select,\n .input-group > .form-control-plaintext + .custom-file,\n .input-group > .custom-select + .form-control,\n .input-group > .custom-select + .custom-select,\n .input-group > .custom-select + .custom-file,\n .input-group > .custom-file + .form-control,\n .input-group > .custom-file + .custom-select,\n .input-group > .custom-file + .custom-file {\n margin-left: -1px; }\n .input-group > .form-control:focus,\n .input-group > .custom-select:focus,\n .input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3; }\n .input-group > .custom-file .custom-file-input:focus {\n z-index: 4; }\n .input-group > .form-control:not(:last-child),\n .input-group > .custom-select:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n .input-group > .form-control:not(:first-child),\n .input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0; }\n .input-group > .custom-file {\n display: flex;\n align-items: center; }\n .input-group > .custom-file:not(:last-child) .custom-file-label,\n .input-group > .custom-file:not(:last-child) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n .input-group > .custom-file:not(:first-child) .custom-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0; }\n\n.input-group-prepend,\n.input-group-append {\n display: flex; }\n .input-group-prepend .btn, .input-group-prepend .swal2-popup .swal2-actions button, .swal2-popup .swal2-actions .input-group-prepend button,\n .input-group-append .btn,\n .input-group-append .swal2-popup .swal2-actions button,\n .swal2-popup .swal2-actions .input-group-append button {\n position: relative;\n z-index: 2; }\n .input-group-prepend .btn:focus, .input-group-prepend .swal2-popup .swal2-actions button:focus, .swal2-popup .swal2-actions .input-group-prepend button:focus,\n .input-group-append .btn:focus,\n .input-group-append .swal2-popup .swal2-actions button:focus,\n .swal2-popup .swal2-actions .input-group-append button:focus {\n z-index: 3; }\n .input-group-prepend .btn + .btn, .input-group-prepend .swal2-popup .swal2-actions button + .btn, .swal2-popup .swal2-actions .input-group-prepend button + .btn, .input-group-prepend .swal2-popup .swal2-actions .btn + button, .swal2-popup .swal2-actions .input-group-prepend .btn + button, .input-group-prepend .swal2-popup .swal2-actions button + button, .swal2-popup .swal2-actions .input-group-prepend button + button,\n .input-group-prepend .btn + .input-group-text,\n .input-group-prepend .swal2-popup .swal2-actions button + .input-group-text,\n .swal2-popup .swal2-actions .input-group-prepend button + .input-group-text,\n .input-group-prepend .input-group-text + .input-group-text,\n .input-group-prepend .input-group-text + .btn,\n .input-group-prepend .swal2-popup .swal2-actions .input-group-text + button,\n .swal2-popup .swal2-actions .input-group-prepend .input-group-text + button,\n .input-group-append .btn + .btn,\n .input-group-append .swal2-popup .swal2-actions button + .btn,\n .swal2-popup .swal2-actions .input-group-append button + .btn,\n .input-group-append .swal2-popup .swal2-actions .btn + button,\n .swal2-popup .swal2-actions .input-group-append .btn + button,\n .input-group-append .swal2-popup .swal2-actions button + button,\n .swal2-popup .swal2-actions .input-group-append button + button,\n .input-group-append .btn + .input-group-text,\n .input-group-append .swal2-popup .swal2-actions button + .input-group-text,\n .swal2-popup .swal2-actions .input-group-append button + .input-group-text,\n .input-group-append .input-group-text + .input-group-text,\n .input-group-append .input-group-text + .btn,\n .input-group-append .swal2-popup .swal2-actions .input-group-text + button,\n .swal2-popup .swal2-actions .input-group-append .input-group-text + button {\n margin-left: -1px; }\n\n.input-group-prepend {\n margin-right: -1px; }\n\n.input-group-append {\n margin-left: -1px; }\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem; }\n .input-group-text input[type=\"radio\"],\n .input-group-text input[type=\"checkbox\"] {\n margin-top: 0; }\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: calc(1.5em + 1rem + 2px); }\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.swal2-popup .swal2-actions .input-group-lg > .input-group-prepend > button,\n.input-group-lg > .input-group-append > .btn,\n.swal2-popup .swal2-actions .input-group-lg > .input-group-append > button {\n padding: 0.5rem 1rem;\n font-size: 1.15rem;\n line-height: 1.5;\n border-radius: 0.3rem; }\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: calc(1.5em + 0.5rem + 2px); }\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.swal2-popup .swal2-actions .input-group-sm > .input-group-prepend > button,\n.input-group-sm > .input-group-append > .btn,\n.swal2-popup .swal2-actions .input-group-sm > .input-group-append > button {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem; }\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: 1.75rem; }\n\n.input-group > .input-group-prepend > .btn, .swal2-popup .swal2-actions .input-group > .input-group-prepend > button,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.swal2-popup .swal2-actions .input-group > .input-group-append:not(:last-child) > button,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.swal2-popup .swal2-actions .input-group > .input-group-append:last-child > button:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n\n.input-group > .input-group-append > .btn, .swal2-popup .swal2-actions .input-group > .input-group-append > button,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.swal2-popup .swal2-actions .input-group > .input-group-prepend:not(:first-child) > button,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.swal2-popup .swal2-actions .input-group > .input-group-prepend:first-child > button:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0; }\n\n.custom-control {\n position: relative;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem; }\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: 1rem; }\n\n.custom-control-input {\n position: absolute;\n z-index: -1;\n opacity: 0; }\n .custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n border-color: #175DDC;\n background-color: #175DDC; }\n .custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #81a9f2; }\n .custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n color: #fff;\n background-color: #afc8f7;\n border-color: #afc8f7; }\n .custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d; }\n .custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e0e0e0; }\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n vertical-align: top; }\n .custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n background-color: #fbfbfb;\n border: #adb5bd solid 1px; }\n .custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background: no-repeat 50% / 50% 50%; }\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem; }\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e\"); }\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n border-color: #175DDC;\n background-color: #175DDC; }\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\"); }\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(23, 93, 220, 0.5); }\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(23, 93, 220, 0.5); }\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%; }\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\"); }\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(23, 93, 220, 0.5); }\n\n.custom-switch {\n padding-left: 2.25rem; }\n .custom-switch .custom-control-label::before {\n left: -2.25rem;\n width: 1.75rem;\n pointer-events: all;\n border-radius: 0.5rem; }\n .custom-switch .custom-control-label::after {\n top: calc(0.25rem + 2px);\n left: calc(-2.25rem + 2px);\n width: calc(1rem - 4px);\n height: calc(1rem - 4px);\n background-color: #adb5bd;\n border-radius: 0.5rem;\n transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }\n @media (prefers-reduced-motion: reduce) {\n .custom-switch .custom-control-label::after {\n transition: none; } }\n .custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n background-color: #fbfbfb;\n transform: translateX(0.75rem); }\n .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(23, 93, 220, 0.5); }\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px;\n background-color: #fbfbfb;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none; }\n .custom-select:focus {\n border-color: #81a9f2;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fbfbfb; }\n .custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none; }\n .custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef; }\n .custom-select::-ms-expand {\n display: none; }\n\n.custom-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem; }\n\n.custom-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.15rem; }\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0; }\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n opacity: 0; }\n .custom-file-input:focus ~ .custom-file-label {\n border-color: #81a9f2;\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .custom-file-input:disabled ~ .custom-file-label {\n background-color: #e0e0e0; }\n .custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\"; }\n .custom-file-input ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse); }\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fbfbfb;\n border: 1px solid #ced4da;\n border-radius: 0.25rem; }\n .custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(1.5em + 0.75rem);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: inherit;\n border-radius: 0 0.25rem 0.25rem 0; }\n\n.custom-range {\n width: 100%;\n height: calc(1rem + 0.4rem);\n padding: 0;\n background-color: transparent;\n appearance: none; }\n .custom-range:focus {\n outline: none; }\n .custom-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #ffffff, 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .custom-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #ffffff, 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .custom-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #ffffff, 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .custom-range::-moz-focus-outer {\n border: 0; }\n .custom-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #175DDC;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none; }\n @media (prefers-reduced-motion: reduce) {\n .custom-range::-webkit-slider-thumb {\n transition: none; } }\n .custom-range::-webkit-slider-thumb:active {\n background-color: #afc8f7; }\n .custom-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem; }\n .custom-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #175DDC;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none; }\n @media (prefers-reduced-motion: reduce) {\n .custom-range::-moz-range-thumb {\n transition: none; } }\n .custom-range::-moz-range-thumb:active {\n background-color: #afc8f7; }\n .custom-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem; }\n .custom-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #175DDC;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none; }\n @media (prefers-reduced-motion: reduce) {\n .custom-range::-ms-thumb {\n transition: none; } }\n .custom-range::-ms-thumb:active {\n background-color: #afc8f7; }\n .custom-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem; }\n .custom-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem; }\n .custom-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem; }\n .custom-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd; }\n .custom-range:disabled::-webkit-slider-runnable-track {\n cursor: default; }\n .custom-range:disabled::-moz-range-thumb {\n background-color: #adb5bd; }\n .custom-range:disabled::-moz-range-track {\n cursor: default; }\n .custom-range:disabled::-ms-thumb {\n background-color: #adb5bd; }\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }\n @media (prefers-reduced-motion: reduce) {\n .custom-control-label::before,\n .custom-file-label,\n .custom-select {\n transition: none; } }\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none; }\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem; }\n .nav-link:hover, .nav-link:focus {\n text-decoration: none; }\n .nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default; }\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6; }\n .nav-tabs .nav-item {\n margin-bottom: -1px; }\n .nav-tabs .nav-link {\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem; }\n .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6; }\n .nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent; }\n .nav-tabs .nav-link.active,\n .nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #ffffff;\n border-color: #dee2e6 #dee2e6 #ffffff; }\n .nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0; }\n\n.nav-pills .nav-link {\n border-radius: 0.25rem; }\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #175DDC; }\n\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center; }\n\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center; }\n\n.tab-content > .tab-pane {\n display: none; }\n\n.tab-content > .active {\n display: block; }\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.75rem 1rem; }\n .navbar > .container,\n .navbar > .container-fluid {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between; }\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0;\n padding-bottom: 0;\n margin-right: 1rem;\n font-size: 2.1875rem;\n line-height: inherit;\n white-space: nowrap; }\n .navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none; }\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none; }\n .navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0; }\n .navbar-nav .dropdown-menu {\n position: static;\n float: none; }\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem; }\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center; }\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.15rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem; }\n .navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none; }\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: no-repeat center center;\n background-size: 100% 100%; }\n\n@media (max-width: 0.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n padding-right: 0;\n padding-left: 0; } }\n\n@media (min-width: 1px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start; }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row; }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute; }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.8rem;\n padding-left: 0.8rem; }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid {\n flex-wrap: nowrap; }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto; }\n .navbar-expand-sm .navbar-toggler {\n display: none; } }\n\n@media (max-width: 1.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n padding-right: 0;\n padding-left: 0; } }\n\n@media (min-width: 2px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start; }\n .navbar-expand-md .navbar-nav {\n flex-direction: row; }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute; }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.8rem;\n padding-left: 0.8rem; }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid {\n flex-wrap: nowrap; }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto; }\n .navbar-expand-md .navbar-toggler {\n display: none; } }\n\n@media (max-width: 2.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n padding-right: 0;\n padding-left: 0; } }\n\n@media (min-width: 3px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start; }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row; }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute; }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.8rem;\n padding-left: 0.8rem; }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid {\n flex-wrap: nowrap; }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto; }\n .navbar-expand-lg .navbar-toggler {\n display: none; } }\n\n@media (max-width: 3.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n padding-right: 0;\n padding-left: 0; } }\n\n@media (min-width: 4px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start; }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row; }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute; }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.8rem;\n padding-left: 0.8rem; }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid {\n flex-wrap: nowrap; }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto; }\n .navbar-expand-xl .navbar-toggler {\n display: none; } }\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start; }\n .navbar-expand > .container,\n .navbar-expand > .container-fluid {\n padding-right: 0;\n padding-left: 0; }\n .navbar-expand .navbar-nav {\n flex-direction: row; }\n .navbar-expand .navbar-nav .dropdown-menu {\n position: absolute; }\n .navbar-expand .navbar-nav .nav-link {\n padding-right: 0.8rem;\n padding-left: 0.8rem; }\n .navbar-expand > .container,\n .navbar-expand > .container-fluid {\n flex-wrap: nowrap; }\n .navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto; }\n .navbar-expand .navbar-toggler {\n display: none; }\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9); }\n .navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9); }\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5); }\n .navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7); }\n .navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3); }\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9); }\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1); }\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"); }\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5); }\n .navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9); }\n .navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9); }\n\n.navbar-dark .navbar-brand {\n color: #fff; }\n .navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff; }\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.7); }\n .navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.9); }\n .navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25); }\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff; }\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.7);\n border-color: rgba(255, 255, 255, 0.1); }\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.7)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\"); }\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.7); }\n .navbar-dark .navbar-text a {\n color: #fff; }\n .navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff; }\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem; }\n .card > hr {\n margin-right: 0;\n margin-left: 0; }\n .card > .list-group:first-child .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem; }\n .card > .list-group:last-child .list-group-item:last-child {\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem; }\n\n.card-body {\n flex: 1 1 auto;\n padding: 1.25rem; }\n\n.card-title {\n margin-bottom: 0.6rem; }\n\n.card-subtitle {\n margin-top: -0.3rem;\n margin-bottom: 0; }\n\n.card-text:last-child {\n margin-bottom: 0; }\n\n.card-link:hover {\n text-decoration: none; }\n\n.card-link + .card-link {\n margin-left: 1.25rem; }\n\n.card-header {\n padding: 0.6rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125); }\n .card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; }\n .card-header + .list-group .list-group-item:first-child {\n border-top: 0; }\n\n.card-footer {\n padding: 0.6rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125); }\n .card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); }\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.6rem;\n margin-left: -0.625rem;\n border-bottom: 0; }\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem; }\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem; }\n\n.card-img {\n width: 100%;\n border-radius: calc(0.25rem - 1px); }\n\n.card-img-top {\n width: 100%;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px); }\n\n.card-img-bottom {\n width: 100%;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px); }\n\n.card-deck {\n display: flex;\n flex-direction: column; }\n .card-deck .card {\n margin-bottom: 10px; }\n @media (min-width: 1px) {\n .card-deck {\n flex-flow: row wrap;\n margin-right: -10px;\n margin-left: -10px; }\n .card-deck .card {\n display: flex;\n flex: 1 0 0%;\n flex-direction: column;\n margin-right: 10px;\n margin-bottom: 0;\n margin-left: 10px; } }\n\n.card-group {\n display: flex;\n flex-direction: column; }\n .card-group > .card {\n margin-bottom: 10px; }\n @media (min-width: 1px) {\n .card-group {\n flex-flow: row wrap; }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0; }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0; }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0; }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0; }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0; }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0; }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0; } }\n\n.card-columns .card {\n margin-bottom: 0.6rem; }\n\n@media (min-width: 1px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1; }\n .card-columns .card {\n display: inline-block;\n width: 100%; } }\n\n.accordion > .card {\n overflow: hidden; }\n .accordion > .card:not(:first-of-type) .card-header:first-child {\n border-radius: 0; }\n .accordion > .card:not(:first-of-type):not(:last-of-type) {\n border-bottom: 0;\n border-radius: 0; }\n .accordion > .card:first-of-type {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0; }\n .accordion > .card:last-of-type {\n border-top-left-radius: 0;\n border-top-right-radius: 0; }\n .accordion > .card .card-header {\n margin-bottom: -1px; }\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem; }\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem; }\n .breadcrumb-item + .breadcrumb-item::before {\n display: inline-block;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\"; }\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline; }\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none; }\n\n.breadcrumb-item.active {\n color: #6c757d; }\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem; }\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #175DDC;\n background-color: #fff;\n border: 1px solid #dee2e6; }\n .page-link:hover {\n z-index: 2;\n color: #104097;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6; }\n .page-link:focus {\n z-index: 2;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem; }\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem; }\n\n.page-item.active .page-link {\n z-index: 1;\n color: #fff;\n background-color: #175DDC;\n border-color: #175DDC; }\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6; }\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.15rem;\n line-height: 1.5; }\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem; }\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem; }\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5; }\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem; }\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem; }\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }\n @media (prefers-reduced-motion: reduce) {\n .badge {\n transition: none; } }\n a.badge:hover, a.badge:focus {\n text-decoration: none; }\n .badge:empty {\n display: none; }\n\n.btn .badge, .swal2-popup .swal2-actions button .badge {\n position: relative;\n top: -1px; }\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem; }\n\n.badge-primary {\n color: #fff;\n background-color: #175DDC; }\n a.badge-primary:hover, a.badge-primary:focus {\n color: #fff;\n background-color: #1249ae; }\n a.badge-primary:focus, a.badge-primary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.5); }\n\n.badge-secondary {\n color: #212529;\n background-color: #ced4da; }\n a.badge-secondary:hover, a.badge-secondary:focus {\n color: #212529;\n background-color: #b1bbc4; }\n a.badge-secondary:focus, a.badge-secondary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(206, 212, 218, 0.5); }\n\n.badge-success {\n color: #fff;\n background-color: #00a65a; }\n a.badge-success:hover, a.badge-success:focus {\n color: #fff;\n background-color: #00733e; }\n a.badge-success:focus, a.badge-success.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 166, 90, 0.5); }\n\n.badge-info {\n color: #fff;\n background-color: #555555; }\n a.badge-info:hover, a.badge-info:focus {\n color: #fff;\n background-color: #3c3c3c; }\n a.badge-info:focus, a.badge-info.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(85, 85, 85, 0.5); }\n\n.badge-warning {\n color: #fff;\n background-color: #bf7e16; }\n a.badge-warning:hover, a.badge-warning:focus {\n color: #fff;\n background-color: #916011; }\n a.badge-warning:focus, a.badge-warning.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(191, 126, 22, 0.5); }\n\n.badge-danger {\n color: #fff;\n background-color: #dd4b39; }\n a.badge-danger:hover, a.badge-danger:focus {\n color: #fff;\n background-color: #c23321; }\n a.badge-danger:focus, a.badge-danger.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.5); }\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa; }\n a.badge-light:hover, a.badge-light:focus {\n color: #212529;\n background-color: #dae0e5; }\n a.badge-light:focus, a.badge-light.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }\n\n.badge-dark {\n color: #fff;\n background-color: #343a40; }\n a.badge-dark:hover, a.badge-dark:focus {\n color: #fff;\n background-color: #1d2124; }\n a.badge-dark:focus, a.badge-dark.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }\n\n.badge-primary-accent {\n color: #fff;\n background-color: #1252A3; }\n a.badge-primary-accent:hover, a.badge-primary-accent:focus {\n color: #fff;\n background-color: #0d3b75; }\n a.badge-primary-accent:focus, a.badge-primary-accent.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(18, 82, 163, 0.5); }\n\n.badge-secondary-alt {\n color: #fff;\n background-color: #1A3B66; }\n a.badge-secondary-alt:hover, a.badge-secondary-alt:focus {\n color: #fff;\n background-color: #10233d; }\n a.badge-secondary-alt:focus, a.badge-secondary-alt.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(26, 59, 102, 0.5); }\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem; }\n @media (min-width: 1px) {\n .jumbotron {\n padding: 4rem 2rem; } }\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0; }\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem; }\n\n.alert-heading {\n color: inherit; }\n\n.alert-link {\n font-weight: 700; }\n\n.alert-dismissible {\n padding-right: 4rem; }\n .alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 0.75rem 1.25rem;\n color: inherit; }\n\n.alert-primary {\n color: #0c3072;\n background-color: #d1dff8;\n border-color: #bed2f5; }\n .alert-primary hr {\n border-top-color: #a8c3f2; }\n .alert-primary .alert-link {\n color: #071d44; }\n\n.alert-secondary {\n color: #6b6e71;\n background-color: #f5f6f8;\n border-color: #f1f3f5; }\n .alert-secondary hr {\n border-top-color: #e2e6ea; }\n .alert-secondary .alert-link {\n color: #525557; }\n\n.alert-success {\n color: #00562f;\n background-color: #ccedde;\n border-color: #b8e6d1; }\n .alert-success hr {\n border-top-color: #a5dfc5; }\n .alert-success .alert-link {\n color: #002313; }\n\n.alert-info {\n color: #2c2c2c;\n background-color: #dddddd;\n border-color: #cfcfcf; }\n .alert-info hr {\n border-top-color: #c2c2c2; }\n .alert-info .alert-link {\n color: #131313; }\n\n.alert-warning {\n color: #63420b;\n background-color: #f2e5d0;\n border-color: #eddbbe; }\n .alert-warning hr {\n border-top-color: #e7d0aa; }\n .alert-warning .alert-link {\n color: #352306; }\n\n.alert-danger {\n color: #73271e;\n background-color: #f8dbd7;\n border-color: #f5cdc8; }\n .alert-danger hr {\n border-top-color: #f1b9b2; }\n .alert-danger .alert-link {\n color: #4b1913; }\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe; }\n .alert-light hr {\n border-top-color: #ececf6; }\n .alert-light .alert-link {\n color: #686868; }\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca; }\n .alert-dark hr {\n border-top-color: #b9bbbe; }\n .alert-dark .alert-link {\n color: #040505; }\n\n.alert-primary-accent {\n color: #092b55;\n background-color: #d0dced;\n border-color: #bdcfe5; }\n .alert-primary-accent hr {\n border-top-color: #abc2de; }\n .alert-primary-accent .alert-link {\n color: #041427; }\n\n.alert-secondary-alt {\n color: #0e1f35;\n background-color: #d1d8e0;\n border-color: #bfc8d4; }\n .alert-secondary-alt hr {\n border-top-color: #b0bbca; }\n .alert-secondary-alt .alert-link {\n color: #03070d; }\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0; }\n to {\n background-position: 0 0; } }\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem; }\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #175DDC;\n transition: width 0.6s ease; }\n @media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none; } }\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem; }\n\n.progress-bar-animated {\n animation: progress-bar-stripes 1s linear infinite; }\n @media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none; } }\n\n.media {\n display: flex;\n align-items: flex-start; }\n\n.media-body {\n flex: 1; }\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0; }\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit; }\n .list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa; }\n .list-group-item-action:active {\n color: #333333;\n background-color: #e9ecef; }\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.6rem 1.25rem;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125); }\n .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem; }\n .list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem; }\n .list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff; }\n .list-group-item.active {\n z-index: 2;\n color: #333333;\n background-color: #ffffff;\n border-color: rgba(0, 0, 0, 0.125); }\n\n.list-group-horizontal {\n flex-direction: row; }\n .list-group-horizontal .list-group-item {\n margin-right: -1px;\n margin-bottom: 0; }\n .list-group-horizontal .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0; }\n .list-group-horizontal .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0; }\n\n@media (min-width: 1px) {\n .list-group-horizontal-sm {\n flex-direction: row; }\n .list-group-horizontal-sm .list-group-item {\n margin-right: -1px;\n margin-bottom: 0; }\n .list-group-horizontal-sm .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0; }\n .list-group-horizontal-sm .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0; } }\n\n@media (min-width: 2px) {\n .list-group-horizontal-md {\n flex-direction: row; }\n .list-group-horizontal-md .list-group-item {\n margin-right: -1px;\n margin-bottom: 0; }\n .list-group-horizontal-md .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0; }\n .list-group-horizontal-md .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0; } }\n\n@media (min-width: 3px) {\n .list-group-horizontal-lg {\n flex-direction: row; }\n .list-group-horizontal-lg .list-group-item {\n margin-right: -1px;\n margin-bottom: 0; }\n .list-group-horizontal-lg .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0; }\n .list-group-horizontal-lg .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0; } }\n\n@media (min-width: 4px) {\n .list-group-horizontal-xl {\n flex-direction: row; }\n .list-group-horizontal-xl .list-group-item {\n margin-right: -1px;\n margin-bottom: 0; }\n .list-group-horizontal-xl .list-group-item:first-child {\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0; }\n .list-group-horizontal-xl .list-group-item:last-child {\n margin-right: 0;\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-bottom-left-radius: 0; } }\n\n.list-group-flush .list-group-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0; }\n .list-group-flush .list-group-item:last-child {\n margin-bottom: -1px; }\n\n.list-group-flush:first-child .list-group-item:first-child {\n border-top: 0; }\n\n.list-group-flush:last-child .list-group-item:last-child {\n margin-bottom: 0;\n border-bottom: 0; }\n\n.list-group-item-primary {\n color: #0c3072;\n background-color: #bed2f5; }\n .list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #0c3072;\n background-color: #a8c3f2; }\n .list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #0c3072;\n border-color: #0c3072; }\n\n.list-group-item-secondary {\n color: #6b6e71;\n background-color: #f1f3f5; }\n .list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #6b6e71;\n background-color: #e2e6ea; }\n .list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #6b6e71;\n border-color: #6b6e71; }\n\n.list-group-item-success {\n color: #00562f;\n background-color: #b8e6d1; }\n .list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #00562f;\n background-color: #a5dfc5; }\n .list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #00562f;\n border-color: #00562f; }\n\n.list-group-item-info {\n color: #2c2c2c;\n background-color: #cfcfcf; }\n .list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #2c2c2c;\n background-color: #c2c2c2; }\n .list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #2c2c2c;\n border-color: #2c2c2c; }\n\n.list-group-item-warning {\n color: #63420b;\n background-color: #eddbbe; }\n .list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #63420b;\n background-color: #e7d0aa; }\n .list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #63420b;\n border-color: #63420b; }\n\n.list-group-item-danger {\n color: #73271e;\n background-color: #f5cdc8; }\n .list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #73271e;\n background-color: #f1b9b2; }\n .list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #73271e;\n border-color: #73271e; }\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe; }\n .list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6; }\n .list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182; }\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca; }\n .list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe; }\n .list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21; }\n\n.list-group-item-primary-accent {\n color: #092b55;\n background-color: #bdcfe5; }\n .list-group-item-primary-accent.list-group-item-action:hover, .list-group-item-primary-accent.list-group-item-action:focus {\n color: #092b55;\n background-color: #abc2de; }\n .list-group-item-primary-accent.list-group-item-action.active {\n color: #fff;\n background-color: #092b55;\n border-color: #092b55; }\n\n.list-group-item-secondary-alt {\n color: #0e1f35;\n background-color: #bfc8d4; }\n .list-group-item-secondary-alt.list-group-item-action:hover, .list-group-item-secondary-alt.list-group-item-action:focus {\n color: #0e1f35;\n background-color: #b0bbca; }\n .list-group-item-secondary-alt.list-group-item-action.active {\n color: #fff;\n background-color: #0e1f35;\n border-color: #0e1f35; }\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5; }\n .close:hover {\n color: #000;\n text-decoration: none; }\n .close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75; }\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n appearance: none; }\n\na.close.disabled {\n pointer-events: none; }\n\n.modal-open {\n overflow: hidden; }\n .modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto; }\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0; }\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none; }\n .modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px); }\n @media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none; } }\n .modal.show .modal-dialog {\n transform: none; }\n\n.modal-dialog-scrollable {\n display: flex;\n max-height: calc(100% - 1rem); }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden; }\n .modal-dialog-scrollable .modal-header,\n .modal-dialog-scrollable .modal-footer {\n flex-shrink: 0; }\n .modal-dialog-scrollable .modal-body {\n overflow-y: auto; }\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem); }\n .modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n content: \"\"; }\n .modal-dialog-centered.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%; }\n .modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none; }\n .modal-dialog-centered.modal-dialog-scrollable::before {\n content: none; }\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0; }\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000; }\n .modal-backdrop.fade {\n opacity: 0; }\n .modal-backdrop.show {\n opacity: 0.3; }\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: 0.3rem;\n border-top-right-radius: 0.3rem; }\n .modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto; }\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5; }\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem; }\n\n.modal-footer {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n padding: 1rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem; }\n .modal-footer > :not(:first-child) {\n margin-left: .25rem; }\n .modal-footer > :not(:last-child) {\n margin-right: .25rem; }\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll; }\n\n@media (min-width: 1px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto; }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem); }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem); }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem); }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem); }\n .modal-sm {\n max-width: 300px; } }\n\n@media (min-width: 3px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px; } }\n\n@media (min-width: 4px) {\n .modal-xl {\n max-width: 1140px; } }\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: \"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0; }\n .tooltip.show {\n opacity: 0.9; }\n .tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem; }\n .tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid; }\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0; }\n .bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0; }\n .bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000; }\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem; }\n .bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem; }\n .bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000; }\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0; }\n .bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0; }\n .bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000; }\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem; }\n .bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem; }\n .bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000; }\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem; }\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: \"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem; }\n .popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem; }\n .popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid; }\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem; }\n .bs-popover-top > .arrow, .bs-popover-auto[x-placement^=\"top\"] > .arrow {\n bottom: calc((0.5rem + 1px) * -1); }\n .bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25); }\n .bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff; }\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem; }\n .bs-popover-right > .arrow, .bs-popover-auto[x-placement^=\"right\"] > .arrow {\n left: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0; }\n .bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25); }\n .bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff; }\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem; }\n .bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow {\n top: calc((0.5rem + 1px) * -1); }\n .bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25); }\n .bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff; }\n .bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7; }\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem; }\n .bs-popover-left > .arrow, .bs-popover-auto[x-placement^=\"left\"] > .arrow {\n right: calc((0.5rem + 1px) * -1);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0; }\n .bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25); }\n .bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff; }\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px); }\n .popover-header:empty {\n display: none; }\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #333333; }\n\n.carousel {\n position: relative; }\n\n.carousel.pointer-event {\n touch-action: pan-y; }\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden; }\n .carousel-inner::after {\n display: block;\n clear: both;\n content: \"\"; }\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out; }\n @media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none; } }\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block; }\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%); }\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%); }\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none; }\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1; }\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: 0s 0.6s opacity; }\n @media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none; } }\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease; }\n @media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none; } }\n .carousel-control-prev:hover, .carousel-control-prev:focus,\n .carousel-control-next:hover,\n .carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9; }\n\n.carousel-control-prev {\n left: 0; }\n\n.carousel-control-next {\n right: 0; }\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: no-repeat 50% / 100% 100%; }\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e\"); }\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e\"); }\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none; }\n .carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: .5;\n transition: opacity 0.6s ease; }\n @media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none; } }\n .carousel-indicators .active {\n opacity: 1; }\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center; }\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg); } }\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: spinner-border .75s linear infinite; }\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em; }\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0); }\n 50% {\n opacity: 1; } }\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: spinner-grow .75s linear infinite; }\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem; }\n\n.align-baseline {\n vertical-align: baseline !important; }\n\n.align-top {\n vertical-align: top !important; }\n\n.align-middle {\n vertical-align: middle !important; }\n\n.align-bottom {\n vertical-align: bottom !important; }\n\n.align-text-bottom {\n vertical-align: text-bottom !important; }\n\n.align-text-top {\n vertical-align: text-top !important; }\n\n.bg-primary {\n background-color: #175DDC !important; }\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #1249ae !important; }\n\n.bg-secondary {\n background-color: #ced4da !important; }\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #b1bbc4 !important; }\n\n.bg-success {\n background-color: #00a65a !important; }\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #00733e !important; }\n\n.bg-info {\n background-color: #555555 !important; }\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #3c3c3c !important; }\n\n.bg-warning {\n background-color: #bf7e16 !important; }\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #916011 !important; }\n\n.bg-danger {\n background-color: #dd4b39 !important; }\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #c23321 !important; }\n\n.bg-light {\n background-color: #f8f9fa !important; }\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important; }\n\n.bg-dark {\n background-color: #343a40 !important; }\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important; }\n\n.bg-primary-accent {\n background-color: #1252A3 !important; }\n\na.bg-primary-accent:hover, a.bg-primary-accent:focus,\nbutton.bg-primary-accent:hover,\nbutton.bg-primary-accent:focus {\n background-color: #0d3b75 !important; }\n\n.bg-secondary-alt {\n background-color: #1A3B66 !important; }\n\na.bg-secondary-alt:hover, a.bg-secondary-alt:focus,\nbutton.bg-secondary-alt:hover,\nbutton.bg-secondary-alt:focus {\n background-color: #10233d !important; }\n\n.bg-white {\n background-color: #fff !important; }\n\n.bg-transparent {\n background-color: transparent !important; }\n\n.border {\n border: 1px solid #dee2e6 !important; }\n\n.border-top {\n border-top: 1px solid #dee2e6 !important; }\n\n.border-right {\n border-right: 1px solid #dee2e6 !important; }\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important; }\n\n.border-left {\n border-left: 1px solid #dee2e6 !important; }\n\n.border-0 {\n border: 0 !important; }\n\n.border-top-0 {\n border-top: 0 !important; }\n\n.border-right-0 {\n border-right: 0 !important; }\n\n.border-bottom-0 {\n border-bottom: 0 !important; }\n\n.border-left-0 {\n border-left: 0 !important; }\n\n.border-primary {\n border-color: #175DDC !important; }\n\n.border-secondary {\n border-color: #ced4da !important; }\n\n.border-success {\n border-color: #00a65a !important; }\n\n.border-info {\n border-color: #555555 !important; }\n\n.border-warning {\n border-color: #bf7e16 !important; }\n\n.border-danger {\n border-color: #dd4b39 !important; }\n\n.border-light {\n border-color: #f8f9fa !important; }\n\n.border-dark {\n border-color: #343a40 !important; }\n\n.border-primary-accent {\n border-color: #1252A3 !important; }\n\n.border-secondary-alt {\n border-color: #1A3B66 !important; }\n\n.border-white {\n border-color: #fff !important; }\n\n.rounded-sm {\n border-radius: 0.2rem !important; }\n\n.rounded, .table.table-list td.table-list-icon img, app-avatar img {\n border-radius: 0.25rem !important; }\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important; }\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important; }\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important; }\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important; }\n\n.rounded-lg {\n border-radius: 0.3rem !important; }\n\n.rounded-circle {\n border-radius: 50% !important; }\n\n.rounded-pill {\n border-radius: 50rem !important; }\n\n.rounded-0 {\n border-radius: 0 !important; }\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\"; }\n\n.d-none {\n display: none !important; }\n\n.d-inline {\n display: inline !important; }\n\n.d-inline-block {\n display: inline-block !important; }\n\n.d-block {\n display: block !important; }\n\n.d-table {\n display: table !important; }\n\n.d-table-row {\n display: table-row !important; }\n\n.d-table-cell {\n display: table-cell !important; }\n\n.d-flex {\n display: flex !important; }\n\n.d-inline-flex {\n display: inline-flex !important; }\n\n@media (min-width: 1px) {\n .d-sm-none {\n display: none !important; }\n .d-sm-inline {\n display: inline !important; }\n .d-sm-inline-block {\n display: inline-block !important; }\n .d-sm-block {\n display: block !important; }\n .d-sm-table {\n display: table !important; }\n .d-sm-table-row {\n display: table-row !important; }\n .d-sm-table-cell {\n display: table-cell !important; }\n .d-sm-flex {\n display: flex !important; }\n .d-sm-inline-flex {\n display: inline-flex !important; } }\n\n@media (min-width: 2px) {\n .d-md-none {\n display: none !important; }\n .d-md-inline {\n display: inline !important; }\n .d-md-inline-block {\n display: inline-block !important; }\n .d-md-block {\n display: block !important; }\n .d-md-table {\n display: table !important; }\n .d-md-table-row {\n display: table-row !important; }\n .d-md-table-cell {\n display: table-cell !important; }\n .d-md-flex {\n display: flex !important; }\n .d-md-inline-flex {\n display: inline-flex !important; } }\n\n@media (min-width: 3px) {\n .d-lg-none {\n display: none !important; }\n .d-lg-inline {\n display: inline !important; }\n .d-lg-inline-block {\n display: inline-block !important; }\n .d-lg-block {\n display: block !important; }\n .d-lg-table {\n display: table !important; }\n .d-lg-table-row {\n display: table-row !important; }\n .d-lg-table-cell {\n display: table-cell !important; }\n .d-lg-flex {\n display: flex !important; }\n .d-lg-inline-flex {\n display: inline-flex !important; } }\n\n@media (min-width: 4px) {\n .d-xl-none {\n display: none !important; }\n .d-xl-inline {\n display: inline !important; }\n .d-xl-inline-block {\n display: inline-block !important; }\n .d-xl-block {\n display: block !important; }\n .d-xl-table {\n display: table !important; }\n .d-xl-table-row {\n display: table-row !important; }\n .d-xl-table-cell {\n display: table-cell !important; }\n .d-xl-flex {\n display: flex !important; }\n .d-xl-inline-flex {\n display: inline-flex !important; } }\n\n@media print {\n .d-print-none {\n display: none !important; }\n .d-print-inline {\n display: inline !important; }\n .d-print-inline-block {\n display: inline-block !important; }\n .d-print-block {\n display: block !important; }\n .d-print-table {\n display: table !important; }\n .d-print-table-row {\n display: table-row !important; }\n .d-print-table-cell {\n display: table-cell !important; }\n .d-print-flex {\n display: flex !important; }\n .d-print-inline-flex {\n display: inline-flex !important; } }\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden; }\n .embed-responsive::before {\n display: block;\n content: \"\"; }\n .embed-responsive .embed-responsive-item,\n .embed-responsive iframe,\n .embed-responsive embed,\n .embed-responsive object,\n .embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0; }\n\n.embed-responsive-21by9::before {\n padding-top: 42.85714%; }\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%; }\n\n.embed-responsive-4by3::before {\n padding-top: 75%; }\n\n.embed-responsive-1by1::before {\n padding-top: 100%; }\n\n.flex-row {\n flex-direction: row !important; }\n\n.flex-column {\n flex-direction: column !important; }\n\n.flex-row-reverse {\n flex-direction: row-reverse !important; }\n\n.flex-column-reverse {\n flex-direction: column-reverse !important; }\n\n.flex-wrap {\n flex-wrap: wrap !important; }\n\n.flex-nowrap {\n flex-wrap: nowrap !important; }\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important; }\n\n.flex-fill {\n flex: 1 1 auto !important; }\n\n.flex-grow-0 {\n flex-grow: 0 !important; }\n\n.flex-grow-1 {\n flex-grow: 1 !important; }\n\n.flex-shrink-0 {\n flex-shrink: 0 !important; }\n\n.flex-shrink-1 {\n flex-shrink: 1 !important; }\n\n.justify-content-start {\n justify-content: flex-start !important; }\n\n.justify-content-end {\n justify-content: flex-end !important; }\n\n.justify-content-center {\n justify-content: center !important; }\n\n.justify-content-between {\n justify-content: space-between !important; }\n\n.justify-content-around {\n justify-content: space-around !important; }\n\n.align-items-start {\n align-items: flex-start !important; }\n\n.align-items-end {\n align-items: flex-end !important; }\n\n.align-items-center {\n align-items: center !important; }\n\n.align-items-baseline {\n align-items: baseline !important; }\n\n.align-items-stretch {\n align-items: stretch !important; }\n\n.align-content-start {\n align-content: flex-start !important; }\n\n.align-content-end {\n align-content: flex-end !important; }\n\n.align-content-center {\n align-content: center !important; }\n\n.align-content-between {\n align-content: space-between !important; }\n\n.align-content-around {\n align-content: space-around !important; }\n\n.align-content-stretch {\n align-content: stretch !important; }\n\n.align-self-auto {\n align-self: auto !important; }\n\n.align-self-start {\n align-self: flex-start !important; }\n\n.align-self-end {\n align-self: flex-end !important; }\n\n.align-self-center {\n align-self: center !important; }\n\n.align-self-baseline {\n align-self: baseline !important; }\n\n.align-self-stretch {\n align-self: stretch !important; }\n\n@media (min-width: 1px) {\n .flex-sm-row {\n flex-direction: row !important; }\n .flex-sm-column {\n flex-direction: column !important; }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important; }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important; }\n .flex-sm-wrap {\n flex-wrap: wrap !important; }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important; }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important; }\n .flex-sm-fill {\n flex: 1 1 auto !important; }\n .flex-sm-grow-0 {\n flex-grow: 0 !important; }\n .flex-sm-grow-1 {\n flex-grow: 1 !important; }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important; }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important; }\n .justify-content-sm-start {\n justify-content: flex-start !important; }\n .justify-content-sm-end {\n justify-content: flex-end !important; }\n .justify-content-sm-center {\n justify-content: center !important; }\n .justify-content-sm-between {\n justify-content: space-between !important; }\n .justify-content-sm-around {\n justify-content: space-around !important; }\n .align-items-sm-start {\n align-items: flex-start !important; }\n .align-items-sm-end {\n align-items: flex-end !important; }\n .align-items-sm-center {\n align-items: center !important; }\n .align-items-sm-baseline {\n align-items: baseline !important; }\n .align-items-sm-stretch {\n align-items: stretch !important; }\n .align-content-sm-start {\n align-content: flex-start !important; }\n .align-content-sm-end {\n align-content: flex-end !important; }\n .align-content-sm-center {\n align-content: center !important; }\n .align-content-sm-between {\n align-content: space-between !important; }\n .align-content-sm-around {\n align-content: space-around !important; }\n .align-content-sm-stretch {\n align-content: stretch !important; }\n .align-self-sm-auto {\n align-self: auto !important; }\n .align-self-sm-start {\n align-self: flex-start !important; }\n .align-self-sm-end {\n align-self: flex-end !important; }\n .align-self-sm-center {\n align-self: center !important; }\n .align-self-sm-baseline {\n align-self: baseline !important; }\n .align-self-sm-stretch {\n align-self: stretch !important; } }\n\n@media (min-width: 2px) {\n .flex-md-row {\n flex-direction: row !important; }\n .flex-md-column {\n flex-direction: column !important; }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important; }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important; }\n .flex-md-wrap {\n flex-wrap: wrap !important; }\n .flex-md-nowrap {\n flex-wrap: nowrap !important; }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important; }\n .flex-md-fill {\n flex: 1 1 auto !important; }\n .flex-md-grow-0 {\n flex-grow: 0 !important; }\n .flex-md-grow-1 {\n flex-grow: 1 !important; }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important; }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important; }\n .justify-content-md-start {\n justify-content: flex-start !important; }\n .justify-content-md-end {\n justify-content: flex-end !important; }\n .justify-content-md-center {\n justify-content: center !important; }\n .justify-content-md-between {\n justify-content: space-between !important; }\n .justify-content-md-around {\n justify-content: space-around !important; }\n .align-items-md-start {\n align-items: flex-start !important; }\n .align-items-md-end {\n align-items: flex-end !important; }\n .align-items-md-center {\n align-items: center !important; }\n .align-items-md-baseline {\n align-items: baseline !important; }\n .align-items-md-stretch {\n align-items: stretch !important; }\n .align-content-md-start {\n align-content: flex-start !important; }\n .align-content-md-end {\n align-content: flex-end !important; }\n .align-content-md-center {\n align-content: center !important; }\n .align-content-md-between {\n align-content: space-between !important; }\n .align-content-md-around {\n align-content: space-around !important; }\n .align-content-md-stretch {\n align-content: stretch !important; }\n .align-self-md-auto {\n align-self: auto !important; }\n .align-self-md-start {\n align-self: flex-start !important; }\n .align-self-md-end {\n align-self: flex-end !important; }\n .align-self-md-center {\n align-self: center !important; }\n .align-self-md-baseline {\n align-self: baseline !important; }\n .align-self-md-stretch {\n align-self: stretch !important; } }\n\n@media (min-width: 3px) {\n .flex-lg-row {\n flex-direction: row !important; }\n .flex-lg-column {\n flex-direction: column !important; }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important; }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important; }\n .flex-lg-wrap {\n flex-wrap: wrap !important; }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important; }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important; }\n .flex-lg-fill {\n flex: 1 1 auto !important; }\n .flex-lg-grow-0 {\n flex-grow: 0 !important; }\n .flex-lg-grow-1 {\n flex-grow: 1 !important; }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important; }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important; }\n .justify-content-lg-start {\n justify-content: flex-start !important; }\n .justify-content-lg-end {\n justify-content: flex-end !important; }\n .justify-content-lg-center {\n justify-content: center !important; }\n .justify-content-lg-between {\n justify-content: space-between !important; }\n .justify-content-lg-around {\n justify-content: space-around !important; }\n .align-items-lg-start {\n align-items: flex-start !important; }\n .align-items-lg-end {\n align-items: flex-end !important; }\n .align-items-lg-center {\n align-items: center !important; }\n .align-items-lg-baseline {\n align-items: baseline !important; }\n .align-items-lg-stretch {\n align-items: stretch !important; }\n .align-content-lg-start {\n align-content: flex-start !important; }\n .align-content-lg-end {\n align-content: flex-end !important; }\n .align-content-lg-center {\n align-content: center !important; }\n .align-content-lg-between {\n align-content: space-between !important; }\n .align-content-lg-around {\n align-content: space-around !important; }\n .align-content-lg-stretch {\n align-content: stretch !important; }\n .align-self-lg-auto {\n align-self: auto !important; }\n .align-self-lg-start {\n align-self: flex-start !important; }\n .align-self-lg-end {\n align-self: flex-end !important; }\n .align-self-lg-center {\n align-self: center !important; }\n .align-self-lg-baseline {\n align-self: baseline !important; }\n .align-self-lg-stretch {\n align-self: stretch !important; } }\n\n@media (min-width: 4px) {\n .flex-xl-row {\n flex-direction: row !important; }\n .flex-xl-column {\n flex-direction: column !important; }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important; }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important; }\n .flex-xl-wrap {\n flex-wrap: wrap !important; }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important; }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important; }\n .flex-xl-fill {\n flex: 1 1 auto !important; }\n .flex-xl-grow-0 {\n flex-grow: 0 !important; }\n .flex-xl-grow-1 {\n flex-grow: 1 !important; }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important; }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important; }\n .justify-content-xl-start {\n justify-content: flex-start !important; }\n .justify-content-xl-end {\n justify-content: flex-end !important; }\n .justify-content-xl-center {\n justify-content: center !important; }\n .justify-content-xl-between {\n justify-content: space-between !important; }\n .justify-content-xl-around {\n justify-content: space-around !important; }\n .align-items-xl-start {\n align-items: flex-start !important; }\n .align-items-xl-end {\n align-items: flex-end !important; }\n .align-items-xl-center {\n align-items: center !important; }\n .align-items-xl-baseline {\n align-items: baseline !important; }\n .align-items-xl-stretch {\n align-items: stretch !important; }\n .align-content-xl-start {\n align-content: flex-start !important; }\n .align-content-xl-end {\n align-content: flex-end !important; }\n .align-content-xl-center {\n align-content: center !important; }\n .align-content-xl-between {\n align-content: space-between !important; }\n .align-content-xl-around {\n align-content: space-around !important; }\n .align-content-xl-stretch {\n align-content: stretch !important; }\n .align-self-xl-auto {\n align-self: auto !important; }\n .align-self-xl-start {\n align-self: flex-start !important; }\n .align-self-xl-end {\n align-self: flex-end !important; }\n .align-self-xl-center {\n align-self: center !important; }\n .align-self-xl-baseline {\n align-self: baseline !important; }\n .align-self-xl-stretch {\n align-self: stretch !important; } }\n\n.float-left {\n float: left !important; }\n\n.float-right {\n float: right !important; }\n\n.float-none {\n float: none !important; }\n\n@media (min-width: 1px) {\n .float-sm-left {\n float: left !important; }\n .float-sm-right {\n float: right !important; }\n .float-sm-none {\n float: none !important; } }\n\n@media (min-width: 2px) {\n .float-md-left {\n float: left !important; }\n .float-md-right {\n float: right !important; }\n .float-md-none {\n float: none !important; } }\n\n@media (min-width: 3px) {\n .float-lg-left {\n float: left !important; }\n .float-lg-right {\n float: right !important; }\n .float-lg-none {\n float: none !important; } }\n\n@media (min-width: 4px) {\n .float-xl-left {\n float: left !important; }\n .float-xl-right {\n float: right !important; }\n .float-xl-none {\n float: none !important; } }\n\n.overflow-auto {\n overflow: auto !important; }\n\n.overflow-hidden {\n overflow: hidden !important; }\n\n.position-static {\n position: static !important; }\n\n.position-relative {\n position: relative !important; }\n\n.position-absolute {\n position: absolute !important; }\n\n.position-fixed {\n position: fixed !important; }\n\n.position-sticky {\n position: sticky !important; }\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030; }\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030; }\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020; } }\n\n.sr-only, .table.table-list tr:not(:hover) td.table-list-options > .dropdown:not(.show) button:not(:focus):not(:active), .table.table-list tr:not(:hover) td.table-list-options > button:not(:focus):not(:active) {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0; }\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal; }\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; }\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; }\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; }\n\n.shadow-none {\n box-shadow: none !important; }\n\n.w-25 {\n width: 25% !important; }\n\n.w-50 {\n width: 50% !important; }\n\n.w-75 {\n width: 75% !important; }\n\n.w-100 {\n width: 100% !important; }\n\n.w-auto {\n width: auto !important; }\n\n.h-25 {\n height: 25% !important; }\n\n.h-50 {\n height: 50% !important; }\n\n.h-75 {\n height: 75% !important; }\n\n.h-100 {\n height: 100% !important; }\n\n.h-auto {\n height: auto !important; }\n\n.mw-100 {\n max-width: 100% !important; }\n\n.mh-100 {\n max-height: 100% !important; }\n\n.min-vw-100 {\n min-width: 100vw !important; }\n\n.min-vh-100 {\n min-height: 100vh !important; }\n\n.vw-100 {\n width: 100vw !important; }\n\n.vh-100 {\n height: 100vh !important; }\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n pointer-events: auto;\n content: \"\";\n background-color: rgba(0, 0, 0, 0); }\n\n.m-0 {\n margin: 0 !important; }\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important; }\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important; }\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important; }\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important; }\n\n.m-1 {\n margin: 0.25rem !important; }\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important; }\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important; }\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important; }\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important; }\n\n.m-2 {\n margin: 0.5rem !important; }\n\n.mt-2, .form-check-block .form-check-label > span,\n.my-2 {\n margin-top: 0.5rem !important; }\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important; }\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important; }\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important; }\n\n.m-3 {\n margin: 1rem !important; }\n\n.mt-3, .form-check-block + .form-check-block:not(.mt-2),\n.my-3 {\n margin-top: 1rem !important; }\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important; }\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important; }\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important; }\n\n.m-4 {\n margin: 1.5rem !important; }\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important; }\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important; }\n\n.mb-4, .card-body-header,\n.my-4 {\n margin-bottom: 1.5rem !important; }\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important; }\n\n.m-5 {\n margin: 3rem !important; }\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important; }\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important; }\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important; }\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important; }\n\n.p-0 {\n padding: 0 !important; }\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important; }\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important; }\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important; }\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important; }\n\n.p-1 {\n padding: 0.25rem !important; }\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important; }\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important; }\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important; }\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important; }\n\n.p-2 {\n padding: 0.5rem !important; }\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important; }\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important; }\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important; }\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important; }\n\n.p-3 {\n padding: 1rem !important; }\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important; }\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important; }\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important; }\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important; }\n\n.p-4 {\n padding: 1.5rem !important; }\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important; }\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important; }\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important; }\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important; }\n\n.p-5 {\n padding: 3rem !important; }\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important; }\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important; }\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important; }\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important; }\n\n.m-n1 {\n margin: -0.25rem !important; }\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important; }\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important; }\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important; }\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important; }\n\n.m-n2 {\n margin: -0.5rem !important; }\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important; }\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important; }\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important; }\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important; }\n\n.m-n3 {\n margin: -1rem !important; }\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important; }\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important; }\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important; }\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important; }\n\n.m-n4 {\n margin: -1.5rem !important; }\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important; }\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important; }\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important; }\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important; }\n\n.m-n5 {\n margin: -3rem !important; }\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important; }\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important; }\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important; }\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important; }\n\n.m-auto {\n margin: auto !important; }\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important; }\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important; }\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important; }\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important; }\n\n@media (min-width: 1px) {\n .m-sm-0 {\n margin: 0 !important; }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important; }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important; }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important; }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important; }\n .m-sm-1 {\n margin: 0.25rem !important; }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important; }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important; }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important; }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important; }\n .m-sm-2 {\n margin: 0.5rem !important; }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important; }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important; }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important; }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important; }\n .m-sm-3 {\n margin: 1rem !important; }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important; }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important; }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important; }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important; }\n .m-sm-4 {\n margin: 1.5rem !important; }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important; }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important; }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important; }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important; }\n .m-sm-5 {\n margin: 3rem !important; }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important; }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important; }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important; }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important; }\n .p-sm-0 {\n padding: 0 !important; }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important; }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important; }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important; }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important; }\n .p-sm-1 {\n padding: 0.25rem !important; }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important; }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important; }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important; }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important; }\n .p-sm-2 {\n padding: 0.5rem !important; }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important; }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important; }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important; }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important; }\n .p-sm-3 {\n padding: 1rem !important; }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important; }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important; }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important; }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important; }\n .p-sm-4 {\n padding: 1.5rem !important; }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important; }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important; }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important; }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important; }\n .p-sm-5 {\n padding: 3rem !important; }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important; }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important; }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important; }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important; }\n .m-sm-n1 {\n margin: -0.25rem !important; }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important; }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important; }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important; }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important; }\n .m-sm-n2 {\n margin: -0.5rem !important; }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important; }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important; }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important; }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important; }\n .m-sm-n3 {\n margin: -1rem !important; }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important; }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important; }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important; }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important; }\n .m-sm-n4 {\n margin: -1.5rem !important; }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important; }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important; }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important; }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important; }\n .m-sm-n5 {\n margin: -3rem !important; }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important; }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important; }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important; }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important; }\n .m-sm-auto {\n margin: auto !important; }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important; }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important; }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important; }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important; } }\n\n@media (min-width: 2px) {\n .m-md-0 {\n margin: 0 !important; }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important; }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important; }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important; }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important; }\n .m-md-1 {\n margin: 0.25rem !important; }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important; }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important; }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important; }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important; }\n .m-md-2 {\n margin: 0.5rem !important; }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important; }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important; }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important; }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important; }\n .m-md-3 {\n margin: 1rem !important; }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important; }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important; }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important; }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important; }\n .m-md-4 {\n margin: 1.5rem !important; }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important; }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important; }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important; }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important; }\n .m-md-5 {\n margin: 3rem !important; }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important; }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important; }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important; }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important; }\n .p-md-0 {\n padding: 0 !important; }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important; }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important; }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important; }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important; }\n .p-md-1 {\n padding: 0.25rem !important; }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important; }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important; }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important; }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important; }\n .p-md-2 {\n padding: 0.5rem !important; }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important; }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important; }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important; }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important; }\n .p-md-3 {\n padding: 1rem !important; }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important; }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important; }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important; }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important; }\n .p-md-4 {\n padding: 1.5rem !important; }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important; }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important; }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important; }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important; }\n .p-md-5 {\n padding: 3rem !important; }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important; }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important; }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important; }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important; }\n .m-md-n1 {\n margin: -0.25rem !important; }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important; }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important; }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important; }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important; }\n .m-md-n2 {\n margin: -0.5rem !important; }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important; }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important; }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important; }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important; }\n .m-md-n3 {\n margin: -1rem !important; }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important; }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important; }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important; }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important; }\n .m-md-n4 {\n margin: -1.5rem !important; }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important; }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important; }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important; }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important; }\n .m-md-n5 {\n margin: -3rem !important; }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important; }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important; }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important; }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important; }\n .m-md-auto {\n margin: auto !important; }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important; }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important; }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important; }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important; } }\n\n@media (min-width: 3px) {\n .m-lg-0 {\n margin: 0 !important; }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important; }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important; }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important; }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important; }\n .m-lg-1 {\n margin: 0.25rem !important; }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important; }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important; }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important; }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important; }\n .m-lg-2 {\n margin: 0.5rem !important; }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important; }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important; }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important; }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important; }\n .m-lg-3 {\n margin: 1rem !important; }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important; }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important; }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important; }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important; }\n .m-lg-4 {\n margin: 1.5rem !important; }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important; }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important; }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important; }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important; }\n .m-lg-5 {\n margin: 3rem !important; }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important; }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important; }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important; }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important; }\n .p-lg-0 {\n padding: 0 !important; }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important; }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important; }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important; }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important; }\n .p-lg-1 {\n padding: 0.25rem !important; }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important; }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important; }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important; }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important; }\n .p-lg-2 {\n padding: 0.5rem !important; }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important; }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important; }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important; }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important; }\n .p-lg-3 {\n padding: 1rem !important; }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important; }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important; }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important; }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important; }\n .p-lg-4 {\n padding: 1.5rem !important; }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important; }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important; }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important; }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important; }\n .p-lg-5 {\n padding: 3rem !important; }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important; }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important; }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important; }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important; }\n .m-lg-n1 {\n margin: -0.25rem !important; }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important; }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important; }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important; }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important; }\n .m-lg-n2 {\n margin: -0.5rem !important; }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important; }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important; }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important; }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important; }\n .m-lg-n3 {\n margin: -1rem !important; }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important; }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important; }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important; }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important; }\n .m-lg-n4 {\n margin: -1.5rem !important; }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important; }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important; }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important; }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important; }\n .m-lg-n5 {\n margin: -3rem !important; }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important; }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important; }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important; }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important; }\n .m-lg-auto {\n margin: auto !important; }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important; }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important; }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important; }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important; } }\n\n@media (min-width: 4px) {\n .m-xl-0 {\n margin: 0 !important; }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important; }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important; }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important; }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important; }\n .m-xl-1 {\n margin: 0.25rem !important; }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important; }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important; }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important; }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important; }\n .m-xl-2 {\n margin: 0.5rem !important; }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important; }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important; }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important; }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important; }\n .m-xl-3 {\n margin: 1rem !important; }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important; }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important; }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important; }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important; }\n .m-xl-4 {\n margin: 1.5rem !important; }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important; }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important; }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important; }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important; }\n .m-xl-5 {\n margin: 3rem !important; }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important; }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important; }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important; }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important; }\n .p-xl-0 {\n padding: 0 !important; }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important; }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important; }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important; }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important; }\n .p-xl-1 {\n padding: 0.25rem !important; }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important; }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important; }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important; }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important; }\n .p-xl-2 {\n padding: 0.5rem !important; }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important; }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important; }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important; }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important; }\n .p-xl-3 {\n padding: 1rem !important; }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important; }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important; }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important; }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important; }\n .p-xl-4 {\n padding: 1.5rem !important; }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important; }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important; }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important; }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important; }\n .p-xl-5 {\n padding: 3rem !important; }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important; }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important; }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important; }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important; }\n .m-xl-n1 {\n margin: -0.25rem !important; }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important; }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important; }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important; }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important; }\n .m-xl-n2 {\n margin: -0.5rem !important; }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important; }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important; }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important; }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important; }\n .m-xl-n3 {\n margin: -1rem !important; }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important; }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important; }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important; }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important; }\n .m-xl-n4 {\n margin: -1.5rem !important; }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important; }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important; }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important; }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important; }\n .m-xl-n5 {\n margin: -3rem !important; }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important; }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important; }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important; }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important; }\n .m-xl-auto {\n margin: auto !important; }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important; }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important; }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important; }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important; } }\n\n.text-monospace, .totp .totp-code {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important; }\n\n.text-justify {\n text-align: justify !important; }\n\n.text-wrap {\n white-space: normal !important; }\n\n.text-nowrap {\n white-space: nowrap !important; }\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap; }\n\n.text-left {\n text-align: left !important; }\n\n.text-right {\n text-align: right !important; }\n\n.text-center {\n text-align: center !important; }\n\n@media (min-width: 1px) {\n .text-sm-left {\n text-align: left !important; }\n .text-sm-right {\n text-align: right !important; }\n .text-sm-center {\n text-align: center !important; } }\n\n@media (min-width: 2px) {\n .text-md-left {\n text-align: left !important; }\n .text-md-right {\n text-align: right !important; }\n .text-md-center {\n text-align: center !important; } }\n\n@media (min-width: 3px) {\n .text-lg-left {\n text-align: left !important; }\n .text-lg-right {\n text-align: right !important; }\n .text-lg-center {\n text-align: center !important; } }\n\n@media (min-width: 4px) {\n .text-xl-left {\n text-align: left !important; }\n .text-xl-right {\n text-align: right !important; }\n .text-xl-center {\n text-align: center !important; } }\n\n.text-lowercase {\n text-transform: lowercase !important; }\n\n.text-uppercase {\n text-transform: uppercase !important; }\n\n.text-capitalize {\n text-transform: capitalize !important; }\n\n.font-weight-light {\n font-weight: 300 !important; }\n\n.font-weight-lighter {\n font-weight: lighter !important; }\n\n.font-weight-normal {\n font-weight: 400 !important; }\n\n.font-weight-bold {\n font-weight: 700 !important; }\n\n.font-weight-bolder {\n font-weight: bolder !important; }\n\n.font-italic {\n font-style: italic !important; }\n\n.text-white {\n color: #fff !important; }\n\n.text-primary {\n color: #175DDC !important; }\n\na.text-primary:hover, a.text-primary:focus {\n color: #104097 !important; }\n\n.text-secondary {\n color: #ced4da !important; }\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #a2aeb9 !important; }\n\n.text-success {\n color: #00a65a !important; }\n\na.text-success:hover, a.text-success:focus {\n color: #005a31 !important; }\n\n.text-info {\n color: #555555 !important; }\n\na.text-info:hover, a.text-info:focus {\n color: #2f2f2f !important; }\n\n.text-warning {\n color: #bf7e16 !important; }\n\na.text-warning:hover, a.text-warning:focus {\n color: #7a510e !important; }\n\n.text-danger {\n color: #dd4b39 !important; }\n\na.text-danger:hover, a.text-danger:focus {\n color: #ac2d1e !important; }\n\n.text-light {\n color: #f8f9fa !important; }\n\na.text-light:hover, a.text-light:focus {\n color: #cbd3da !important; }\n\n.text-dark {\n color: #343a40 !important; }\n\na.text-dark:hover, a.text-dark:focus {\n color: #121416 !important; }\n\n.text-primary-accent {\n color: #1252A3 !important; }\n\na.text-primary-accent:hover, a.text-primary-accent:focus {\n color: #0a2f5e !important; }\n\n.text-secondary-alt {\n color: #1A3B66 !important; }\n\na.text-secondary-alt:hover, a.text-secondary-alt:focus {\n color: #0a1829 !important; }\n\n.text-body {\n color: #333333 !important; }\n\n.text-muted, .card-header small, .modal-header small {\n color: #6c757d !important; }\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important; }\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important; }\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0; }\n\n.text-decoration-none {\n text-decoration: none !important; }\n\n.text-break {\n word-break: break-word !important;\n overflow-wrap: break-word !important; }\n\n.text-reset {\n color: inherit !important; }\n\n.visible {\n visibility: visible !important; }\n\n.invisible {\n visibility: hidden !important; }\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important; }\n a:not(.btn) {\n text-decoration: underline; }\n abbr[title]::after {\n content: \" (\" attr(title) \")\"; }\n pre {\n white-space: pre-wrap !important; }\n pre,\n blockquote {\n border: 1px solid #adb5bd;\n page-break-inside: avoid; }\n thead {\n display: table-header-group; }\n tr,\n img {\n page-break-inside: avoid; }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3; }\n h2,\n h3 {\n page-break-after: avoid; }\n @page {\n size: a3; }\n body {\n min-width: 3px !important; }\n .container {\n min-width: 3px !important; }\n .navbar {\n display: none; }\n .badge {\n border: 1px solid #000; }\n .table {\n border-collapse: collapse !important; }\n .table td,\n .table th {\n background-color: #fff !important; }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6 !important; }\n .table-dark {\n color: inherit; }\n .table-dark th,\n .table-dark td,\n .table-dark thead th,\n .table-dark tbody + tbody {\n border-color: #dee2e6; }\n .table .thead-dark th {\n color: inherit;\n border-color: #dee2e6; } }\n\n/*!\n * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n/* FONT PATH\n * -------------------------- */\n@font-face {\n font-family: 'FontAwesome';\n src: url(../fonts/fontawesome-webfont.eot);\n src: url(../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0) format(\"embedded-opentype\"), url(../fonts/fontawesome-webfont.woff2) format(\"woff2\"), url(../fonts/fontawesome-webfont.woff) format(\"woff\"), url(../fonts/fontawesome-webfont.ttf) format(\"truetype\"), url(../fonts/fontawesome-webfont.svg#fontawesomeregular) format(\"svg\");\n font-weight: normal;\n font-style: normal; }\n\n.fa {\n display: inline-block;\n font: normal normal normal 14px/1 FontAwesome;\n font-size: inherit;\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale; }\n\n/* makes the font 33% larger relative to the icon container */\n.fa-lg {\n font-size: 1.33333em;\n line-height: 0.75em;\n vertical-align: -15%; }\n\n.fa-2x {\n font-size: 2em; }\n\n.fa-3x {\n font-size: 3em; }\n\n.fa-4x {\n font-size: 4em; }\n\n.fa-5x {\n font-size: 5em; }\n\n.fa-fw {\n width: 1.28571em;\n text-align: center; }\n\n.fa-ul {\n padding-left: 0;\n margin-left: 2.14286em;\n list-style-type: none; }\n .fa-ul > li {\n position: relative; }\n\n.fa-li {\n position: absolute;\n left: -2.14286em;\n width: 2.14286em;\n top: 0.14286em;\n text-align: center; }\n .fa-li.fa-lg {\n left: -1.85714em; }\n\n.fa-border {\n padding: .2em .25em .15em;\n border: solid 0.08em #eee;\n border-radius: .1em; }\n\n.fa-pull-left {\n float: left; }\n\n.fa-pull-right {\n float: right; }\n\n.fa.fa-pull-left {\n margin-right: .3em; }\n\n.fa.fa-pull-right {\n margin-left: .3em; }\n\n/* Deprecated as of 4.4.0 */\n.pull-right {\n float: right; }\n\n.pull-left {\n float: left; }\n\n.fa.pull-left {\n margin-right: .3em; }\n\n.fa.pull-right {\n margin-left: .3em; }\n\n.fa-spin {\n -webkit-animation: fa-spin 2s infinite linear;\n animation: fa-spin 2s infinite linear; }\n\n.fa-pulse {\n -webkit-animation: fa-spin 1s infinite steps(8);\n animation: fa-spin 1s infinite steps(8); }\n\n@-webkit-keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg); } }\n\n@keyframes fa-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg); }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg); } }\n\n.fa-rotate-90 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\";\n -webkit-transform: rotate(90deg);\n -ms-transform: rotate(90deg);\n transform: rotate(90deg); }\n\n.fa-rotate-180 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\";\n -webkit-transform: rotate(180deg);\n -ms-transform: rotate(180deg);\n transform: rotate(180deg); }\n\n.fa-rotate-270 {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\";\n -webkit-transform: rotate(270deg);\n -ms-transform: rotate(270deg);\n transform: rotate(270deg); }\n\n.fa-flip-horizontal {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\";\n -webkit-transform: scale(-1, 1);\n -ms-transform: scale(-1, 1);\n transform: scale(-1, 1); }\n\n.fa-flip-vertical {\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";\n -webkit-transform: scale(1, -1);\n -ms-transform: scale(1, -1);\n transform: scale(1, -1); }\n\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical {\n filter: none; }\n\n.fa-stack {\n position: relative;\n display: inline-block;\n width: 2em;\n height: 2em;\n line-height: 2em;\n vertical-align: middle; }\n\n.fa-stack-1x, .fa-stack-2x {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center; }\n\n.fa-stack-1x {\n line-height: inherit; }\n\n.fa-stack-2x {\n font-size: 2em; }\n\n.fa-inverse {\n color: #fff; }\n\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n readers do not read off random characters that represent icons */\n.fa-glass:before {\n content: \"\\F000\"; }\n\n.fa-music:before {\n content: \"\\F001\"; }\n\n.fa-search:before {\n content: \"\\F002\"; }\n\n.fa-envelope-o:before {\n content: \"\\F003\"; }\n\n.fa-heart:before {\n content: \"\\F004\"; }\n\n.fa-star:before {\n content: \"\\F005\"; }\n\n.fa-star-o:before {\n content: \"\\F006\"; }\n\n.fa-user:before {\n content: \"\\F007\"; }\n\n.fa-film:before {\n content: \"\\F008\"; }\n\n.fa-th-large:before {\n content: \"\\F009\"; }\n\n.fa-th:before {\n content: \"\\F00A\"; }\n\n.fa-th-list:before {\n content: \"\\F00B\"; }\n\n.fa-check:before {\n content: \"\\F00C\"; }\n\n.fa-remove:before,\n.fa-close:before,\n.fa-times:before {\n content: \"\\F00D\"; }\n\n.fa-search-plus:before {\n content: \"\\F00E\"; }\n\n.fa-search-minus:before {\n content: \"\\F010\"; }\n\n.fa-power-off:before {\n content: \"\\F011\"; }\n\n.fa-signal:before {\n content: \"\\F012\"; }\n\n.fa-gear:before,\n.fa-cog:before {\n content: \"\\F013\"; }\n\n.fa-trash-o:before {\n content: \"\\F014\"; }\n\n.fa-home:before {\n content: \"\\F015\"; }\n\n.fa-file-o:before {\n content: \"\\F016\"; }\n\n.fa-clock-o:before {\n content: \"\\F017\"; }\n\n.fa-road:before {\n content: \"\\F018\"; }\n\n.fa-download:before {\n content: \"\\F019\"; }\n\n.fa-arrow-circle-o-down:before {\n content: \"\\F01A\"; }\n\n.fa-arrow-circle-o-up:before {\n content: \"\\F01B\"; }\n\n.fa-inbox:before {\n content: \"\\F01C\"; }\n\n.fa-play-circle-o:before {\n content: \"\\F01D\"; }\n\n.fa-rotate-right:before,\n.fa-repeat:before {\n content: \"\\F01E\"; }\n\n.fa-refresh:before {\n content: \"\\F021\"; }\n\n.fa-list-alt:before {\n content: \"\\F022\"; }\n\n.fa-lock:before {\n content: \"\\F023\"; }\n\n.fa-flag:before {\n content: \"\\F024\"; }\n\n.fa-headphones:before {\n content: \"\\F025\"; }\n\n.fa-volume-off:before {\n content: \"\\F026\"; }\n\n.fa-volume-down:before {\n content: \"\\F027\"; }\n\n.fa-volume-up:before {\n content: \"\\F028\"; }\n\n.fa-qrcode:before {\n content: \"\\F029\"; }\n\n.fa-barcode:before {\n content: \"\\F02A\"; }\n\n.fa-tag:before {\n content: \"\\F02B\"; }\n\n.fa-tags:before {\n content: \"\\F02C\"; }\n\n.fa-book:before {\n content: \"\\F02D\"; }\n\n.fa-bookmark:before {\n content: \"\\F02E\"; }\n\n.fa-print:before {\n content: \"\\F02F\"; }\n\n.fa-camera:before {\n content: \"\\F030\"; }\n\n.fa-font:before {\n content: \"\\F031\"; }\n\n.fa-bold:before {\n content: \"\\F032\"; }\n\n.fa-italic:before {\n content: \"\\F033\"; }\n\n.fa-text-height:before {\n content: \"\\F034\"; }\n\n.fa-text-width:before {\n content: \"\\F035\"; }\n\n.fa-align-left:before {\n content: \"\\F036\"; }\n\n.fa-align-center:before {\n content: \"\\F037\"; }\n\n.fa-align-right:before {\n content: \"\\F038\"; }\n\n.fa-align-justify:before {\n content: \"\\F039\"; }\n\n.fa-list:before {\n content: \"\\F03A\"; }\n\n.fa-dedent:before,\n.fa-outdent:before {\n content: \"\\F03B\"; }\n\n.fa-indent:before {\n content: \"\\F03C\"; }\n\n.fa-video-camera:before {\n content: \"\\F03D\"; }\n\n.fa-photo:before,\n.fa-image:before,\n.fa-picture-o:before {\n content: \"\\F03E\"; }\n\n.fa-pencil:before {\n content: \"\\F040\"; }\n\n.fa-map-marker:before {\n content: \"\\F041\"; }\n\n.fa-adjust:before {\n content: \"\\F042\"; }\n\n.fa-tint:before {\n content: \"\\F043\"; }\n\n.fa-edit:before,\n.fa-pencil-square-o:before {\n content: \"\\F044\"; }\n\n.fa-share-square-o:before {\n content: \"\\F045\"; }\n\n.fa-check-square-o:before {\n content: \"\\F046\"; }\n\n.fa-arrows:before {\n content: \"\\F047\"; }\n\n.fa-step-backward:before {\n content: \"\\F048\"; }\n\n.fa-fast-backward:before {\n content: \"\\F049\"; }\n\n.fa-backward:before {\n content: \"\\F04A\"; }\n\n.fa-play:before {\n content: \"\\F04B\"; }\n\n.fa-pause:before {\n content: \"\\F04C\"; }\n\n.fa-stop:before {\n content: \"\\F04D\"; }\n\n.fa-forward:before {\n content: \"\\F04E\"; }\n\n.fa-fast-forward:before {\n content: \"\\F050\"; }\n\n.fa-step-forward:before {\n content: \"\\F051\"; }\n\n.fa-eject:before {\n content: \"\\F052\"; }\n\n.fa-chevron-left:before {\n content: \"\\F053\"; }\n\n.fa-chevron-right:before {\n content: \"\\F054\"; }\n\n.fa-plus-circle:before {\n content: \"\\F055\"; }\n\n.fa-minus-circle:before {\n content: \"\\F056\"; }\n\n.fa-times-circle:before {\n content: \"\\F057\"; }\n\n.fa-check-circle:before {\n content: \"\\F058\"; }\n\n.fa-question-circle:before {\n content: \"\\F059\"; }\n\n.fa-info-circle:before {\n content: \"\\F05A\"; }\n\n.fa-crosshairs:before {\n content: \"\\F05B\"; }\n\n.fa-times-circle-o:before {\n content: \"\\F05C\"; }\n\n.fa-check-circle-o:before {\n content: \"\\F05D\"; }\n\n.fa-ban:before {\n content: \"\\F05E\"; }\n\n.fa-arrow-left:before {\n content: \"\\F060\"; }\n\n.fa-arrow-right:before {\n content: \"\\F061\"; }\n\n.fa-arrow-up:before {\n content: \"\\F062\"; }\n\n.fa-arrow-down:before {\n content: \"\\F063\"; }\n\n.fa-mail-forward:before,\n.fa-share:before {\n content: \"\\F064\"; }\n\n.fa-expand:before {\n content: \"\\F065\"; }\n\n.fa-compress:before {\n content: \"\\F066\"; }\n\n.fa-plus:before {\n content: \"\\F067\"; }\n\n.fa-minus:before {\n content: \"\\F068\"; }\n\n.fa-asterisk:before {\n content: \"\\F069\"; }\n\n.fa-exclamation-circle:before {\n content: \"\\F06A\"; }\n\n.fa-gift:before {\n content: \"\\F06B\"; }\n\n.fa-leaf:before {\n content: \"\\F06C\"; }\n\n.fa-fire:before {\n content: \"\\F06D\"; }\n\n.fa-eye:before {\n content: \"\\F06E\"; }\n\n.fa-eye-slash:before {\n content: \"\\F070\"; }\n\n.fa-warning:before,\n.fa-exclamation-triangle:before {\n content: \"\\F071\"; }\n\n.fa-plane:before {\n content: \"\\F072\"; }\n\n.fa-calendar:before {\n content: \"\\F073\"; }\n\n.fa-random:before {\n content: \"\\F074\"; }\n\n.fa-comment:before {\n content: \"\\F075\"; }\n\n.fa-magnet:before {\n content: \"\\F076\"; }\n\n.fa-chevron-up:before {\n content: \"\\F077\"; }\n\n.fa-chevron-down:before {\n content: \"\\F078\"; }\n\n.fa-retweet:before {\n content: \"\\F079\"; }\n\n.fa-shopping-cart:before {\n content: \"\\F07A\"; }\n\n.fa-folder:before {\n content: \"\\F07B\"; }\n\n.fa-folder-open:before {\n content: \"\\F07C\"; }\n\n.fa-arrows-v:before {\n content: \"\\F07D\"; }\n\n.fa-arrows-h:before {\n content: \"\\F07E\"; }\n\n.fa-bar-chart-o:before,\n.fa-bar-chart:before {\n content: \"\\F080\"; }\n\n.fa-twitter-square:before {\n content: \"\\F081\"; }\n\n.fa-facebook-square:before {\n content: \"\\F082\"; }\n\n.fa-camera-retro:before {\n content: \"\\F083\"; }\n\n.fa-key:before {\n content: \"\\F084\"; }\n\n.fa-gears:before,\n.fa-cogs:before {\n content: \"\\F085\"; }\n\n.fa-comments:before {\n content: \"\\F086\"; }\n\n.fa-thumbs-o-up:before {\n content: \"\\F087\"; }\n\n.fa-thumbs-o-down:before {\n content: \"\\F088\"; }\n\n.fa-star-half:before {\n content: \"\\F089\"; }\n\n.fa-heart-o:before {\n content: \"\\F08A\"; }\n\n.fa-sign-out:before {\n content: \"\\F08B\"; }\n\n.fa-linkedin-square:before {\n content: \"\\F08C\"; }\n\n.fa-thumb-tack:before {\n content: \"\\F08D\"; }\n\n.fa-external-link:before {\n content: \"\\F08E\"; }\n\n.fa-sign-in:before {\n content: \"\\F090\"; }\n\n.fa-trophy:before {\n content: \"\\F091\"; }\n\n.fa-github-square:before {\n content: \"\\F092\"; }\n\n.fa-upload:before {\n content: \"\\F093\"; }\n\n.fa-lemon-o:before {\n content: \"\\F094\"; }\n\n.fa-phone:before {\n content: \"\\F095\"; }\n\n.fa-square-o:before {\n content: \"\\F096\"; }\n\n.fa-bookmark-o:before {\n content: \"\\F097\"; }\n\n.fa-phone-square:before {\n content: \"\\F098\"; }\n\n.fa-twitter:before {\n content: \"\\F099\"; }\n\n.fa-facebook-f:before,\n.fa-facebook:before {\n content: \"\\F09A\"; }\n\n.fa-github:before {\n content: \"\\F09B\"; }\n\n.fa-unlock:before {\n content: \"\\F09C\"; }\n\n.fa-credit-card:before {\n content: \"\\F09D\"; }\n\n.fa-feed:before,\n.fa-rss:before {\n content: \"\\F09E\"; }\n\n.fa-hdd-o:before {\n content: \"\\F0A0\"; }\n\n.fa-bullhorn:before {\n content: \"\\F0A1\"; }\n\n.fa-bell:before {\n content: \"\\F0F3\"; }\n\n.fa-certificate:before {\n content: \"\\F0A3\"; }\n\n.fa-hand-o-right:before {\n content: \"\\F0A4\"; }\n\n.fa-hand-o-left:before {\n content: \"\\F0A5\"; }\n\n.fa-hand-o-up:before {\n content: \"\\F0A6\"; }\n\n.fa-hand-o-down:before {\n content: \"\\F0A7\"; }\n\n.fa-arrow-circle-left:before {\n content: \"\\F0A8\"; }\n\n.fa-arrow-circle-right:before {\n content: \"\\F0A9\"; }\n\n.fa-arrow-circle-up:before {\n content: \"\\F0AA\"; }\n\n.fa-arrow-circle-down:before {\n content: \"\\F0AB\"; }\n\n.fa-globe:before {\n content: \"\\F0AC\"; }\n\n.fa-wrench:before {\n content: \"\\F0AD\"; }\n\n.fa-tasks:before {\n content: \"\\F0AE\"; }\n\n.fa-filter:before {\n content: \"\\F0B0\"; }\n\n.fa-briefcase:before {\n content: \"\\F0B1\"; }\n\n.fa-arrows-alt:before {\n content: \"\\F0B2\"; }\n\n.fa-group:before,\n.fa-users:before {\n content: \"\\F0C0\"; }\n\n.fa-chain:before,\n.fa-link:before {\n content: \"\\F0C1\"; }\n\n.fa-cloud:before {\n content: \"\\F0C2\"; }\n\n.fa-flask:before {\n content: \"\\F0C3\"; }\n\n.fa-cut:before,\n.fa-scissors:before {\n content: \"\\F0C4\"; }\n\n.fa-copy:before,\n.fa-files-o:before {\n content: \"\\F0C5\"; }\n\n.fa-paperclip:before {\n content: \"\\F0C6\"; }\n\n.fa-save:before,\n.fa-floppy-o:before {\n content: \"\\F0C7\"; }\n\n.fa-square:before {\n content: \"\\F0C8\"; }\n\n.fa-navicon:before,\n.fa-reorder:before,\n.fa-bars:before {\n content: \"\\F0C9\"; }\n\n.fa-list-ul:before {\n content: \"\\F0CA\"; }\n\n.fa-list-ol:before {\n content: \"\\F0CB\"; }\n\n.fa-strikethrough:before {\n content: \"\\F0CC\"; }\n\n.fa-underline:before {\n content: \"\\F0CD\"; }\n\n.fa-table:before {\n content: \"\\F0CE\"; }\n\n.fa-magic:before {\n content: \"\\F0D0\"; }\n\n.fa-truck:before {\n content: \"\\F0D1\"; }\n\n.fa-pinterest:before {\n content: \"\\F0D2\"; }\n\n.fa-pinterest-square:before {\n content: \"\\F0D3\"; }\n\n.fa-google-plus-square:before {\n content: \"\\F0D4\"; }\n\n.fa-google-plus:before {\n content: \"\\F0D5\"; }\n\n.fa-money:before {\n content: \"\\F0D6\"; }\n\n.fa-caret-down:before {\n content: \"\\F0D7\"; }\n\n.fa-caret-up:before {\n content: \"\\F0D8\"; }\n\n.fa-caret-left:before {\n content: \"\\F0D9\"; }\n\n.fa-caret-right:before {\n content: \"\\F0DA\"; }\n\n.fa-columns:before {\n content: \"\\F0DB\"; }\n\n.fa-unsorted:before,\n.fa-sort:before {\n content: \"\\F0DC\"; }\n\n.fa-sort-down:before,\n.fa-sort-desc:before {\n content: \"\\F0DD\"; }\n\n.fa-sort-up:before,\n.fa-sort-asc:before {\n content: \"\\F0DE\"; }\n\n.fa-envelope:before {\n content: \"\\F0E0\"; }\n\n.fa-linkedin:before {\n content: \"\\F0E1\"; }\n\n.fa-rotate-left:before,\n.fa-undo:before {\n content: \"\\F0E2\"; }\n\n.fa-legal:before,\n.fa-gavel:before {\n content: \"\\F0E3\"; }\n\n.fa-dashboard:before,\n.fa-tachometer:before {\n content: \"\\F0E4\"; }\n\n.fa-comment-o:before {\n content: \"\\F0E5\"; }\n\n.fa-comments-o:before {\n content: \"\\F0E6\"; }\n\n.fa-flash:before,\n.fa-bolt:before {\n content: \"\\F0E7\"; }\n\n.fa-sitemap:before {\n content: \"\\F0E8\"; }\n\n.fa-umbrella:before {\n content: \"\\F0E9\"; }\n\n.fa-paste:before,\n.fa-clipboard:before {\n content: \"\\F0EA\"; }\n\n.fa-lightbulb-o:before {\n content: \"\\F0EB\"; }\n\n.fa-exchange:before {\n content: \"\\F0EC\"; }\n\n.fa-cloud-download:before {\n content: \"\\F0ED\"; }\n\n.fa-cloud-upload:before {\n content: \"\\F0EE\"; }\n\n.fa-user-md:before {\n content: \"\\F0F0\"; }\n\n.fa-stethoscope:before {\n content: \"\\F0F1\"; }\n\n.fa-suitcase:before {\n content: \"\\F0F2\"; }\n\n.fa-bell-o:before {\n content: \"\\F0A2\"; }\n\n.fa-coffee:before {\n content: \"\\F0F4\"; }\n\n.fa-cutlery:before {\n content: \"\\F0F5\"; }\n\n.fa-file-text-o:before {\n content: \"\\F0F6\"; }\n\n.fa-building-o:before {\n content: \"\\F0F7\"; }\n\n.fa-hospital-o:before {\n content: \"\\F0F8\"; }\n\n.fa-ambulance:before {\n content: \"\\F0F9\"; }\n\n.fa-medkit:before {\n content: \"\\F0FA\"; }\n\n.fa-fighter-jet:before {\n content: \"\\F0FB\"; }\n\n.fa-beer:before {\n content: \"\\F0FC\"; }\n\n.fa-h-square:before {\n content: \"\\F0FD\"; }\n\n.fa-plus-square:before {\n content: \"\\F0FE\"; }\n\n.fa-angle-double-left:before {\n content: \"\\F100\"; }\n\n.fa-angle-double-right:before {\n content: \"\\F101\"; }\n\n.fa-angle-double-up:before {\n content: \"\\F102\"; }\n\n.fa-angle-double-down:before {\n content: \"\\F103\"; }\n\n.fa-angle-left:before {\n content: \"\\F104\"; }\n\n.fa-angle-right:before {\n content: \"\\F105\"; }\n\n.fa-angle-up:before {\n content: \"\\F106\"; }\n\n.fa-angle-down:before {\n content: \"\\F107\"; }\n\n.fa-desktop:before {\n content: \"\\F108\"; }\n\n.fa-laptop:before {\n content: \"\\F109\"; }\n\n.fa-tablet:before {\n content: \"\\F10A\"; }\n\n.fa-mobile-phone:before,\n.fa-mobile:before {\n content: \"\\F10B\"; }\n\n.fa-circle-o:before {\n content: \"\\F10C\"; }\n\n.fa-quote-left:before {\n content: \"\\F10D\"; }\n\n.fa-quote-right:before {\n content: \"\\F10E\"; }\n\n.fa-spinner:before {\n content: \"\\F110\"; }\n\n.fa-circle:before {\n content: \"\\F111\"; }\n\n.fa-mail-reply:before,\n.fa-reply:before {\n content: \"\\F112\"; }\n\n.fa-github-alt:before {\n content: \"\\F113\"; }\n\n.fa-folder-o:before {\n content: \"\\F114\"; }\n\n.fa-folder-open-o:before {\n content: \"\\F115\"; }\n\n.fa-smile-o:before {\n content: \"\\F118\"; }\n\n.fa-frown-o:before {\n content: \"\\F119\"; }\n\n.fa-meh-o:before {\n content: \"\\F11A\"; }\n\n.fa-gamepad:before {\n content: \"\\F11B\"; }\n\n.fa-keyboard-o:before {\n content: \"\\F11C\"; }\n\n.fa-flag-o:before {\n content: \"\\F11D\"; }\n\n.fa-flag-checkered:before {\n content: \"\\F11E\"; }\n\n.fa-terminal:before {\n content: \"\\F120\"; }\n\n.fa-code:before {\n content: \"\\F121\"; }\n\n.fa-mail-reply-all:before,\n.fa-reply-all:before {\n content: \"\\F122\"; }\n\n.fa-star-half-empty:before,\n.fa-star-half-full:before,\n.fa-star-half-o:before {\n content: \"\\F123\"; }\n\n.fa-location-arrow:before {\n content: \"\\F124\"; }\n\n.fa-crop:before {\n content: \"\\F125\"; }\n\n.fa-code-fork:before {\n content: \"\\F126\"; }\n\n.fa-unlink:before,\n.fa-chain-broken:before {\n content: \"\\F127\"; }\n\n.fa-question:before {\n content: \"\\F128\"; }\n\n.fa-info:before {\n content: \"\\F129\"; }\n\n.fa-exclamation:before {\n content: \"\\F12A\"; }\n\n.fa-superscript:before {\n content: \"\\F12B\"; }\n\n.fa-subscript:before {\n content: \"\\F12C\"; }\n\n.fa-eraser:before {\n content: \"\\F12D\"; }\n\n.fa-puzzle-piece:before {\n content: \"\\F12E\"; }\n\n.fa-microphone:before {\n content: \"\\F130\"; }\n\n.fa-microphone-slash:before {\n content: \"\\F131\"; }\n\n.fa-shield:before {\n content: \"\\F132\"; }\n\n.fa-calendar-o:before {\n content: \"\\F133\"; }\n\n.fa-fire-extinguisher:before {\n content: \"\\F134\"; }\n\n.fa-rocket:before {\n content: \"\\F135\"; }\n\n.fa-maxcdn:before {\n content: \"\\F136\"; }\n\n.fa-chevron-circle-left:before {\n content: \"\\F137\"; }\n\n.fa-chevron-circle-right:before {\n content: \"\\F138\"; }\n\n.fa-chevron-circle-up:before {\n content: \"\\F139\"; }\n\n.fa-chevron-circle-down:before {\n content: \"\\F13A\"; }\n\n.fa-html5:before {\n content: \"\\F13B\"; }\n\n.fa-css3:before {\n content: \"\\F13C\"; }\n\n.fa-anchor:before {\n content: \"\\F13D\"; }\n\n.fa-unlock-alt:before {\n content: \"\\F13E\"; }\n\n.fa-bullseye:before {\n content: \"\\F140\"; }\n\n.fa-ellipsis-h:before {\n content: \"\\F141\"; }\n\n.fa-ellipsis-v:before {\n content: \"\\F142\"; }\n\n.fa-rss-square:before {\n content: \"\\F143\"; }\n\n.fa-play-circle:before {\n content: \"\\F144\"; }\n\n.fa-ticket:before {\n content: \"\\F145\"; }\n\n.fa-minus-square:before {\n content: \"\\F146\"; }\n\n.fa-minus-square-o:before {\n content: \"\\F147\"; }\n\n.fa-level-up:before {\n content: \"\\F148\"; }\n\n.fa-level-down:before {\n content: \"\\F149\"; }\n\n.fa-check-square:before {\n content: \"\\F14A\"; }\n\n.fa-pencil-square:before {\n content: \"\\F14B\"; }\n\n.fa-external-link-square:before {\n content: \"\\F14C\"; }\n\n.fa-share-square:before {\n content: \"\\F14D\"; }\n\n.fa-compass:before {\n content: \"\\F14E\"; }\n\n.fa-toggle-down:before,\n.fa-caret-square-o-down:before {\n content: \"\\F150\"; }\n\n.fa-toggle-up:before,\n.fa-caret-square-o-up:before {\n content: \"\\F151\"; }\n\n.fa-toggle-right:before,\n.fa-caret-square-o-right:before {\n content: \"\\F152\"; }\n\n.fa-euro:before,\n.fa-eur:before {\n content: \"\\F153\"; }\n\n.fa-gbp:before {\n content: \"\\F154\"; }\n\n.fa-dollar:before,\n.fa-usd:before {\n content: \"\\F155\"; }\n\n.fa-rupee:before,\n.fa-inr:before {\n content: \"\\F156\"; }\n\n.fa-cny:before,\n.fa-rmb:before,\n.fa-yen:before,\n.fa-jpy:before {\n content: \"\\F157\"; }\n\n.fa-ruble:before,\n.fa-rouble:before,\n.fa-rub:before {\n content: \"\\F158\"; }\n\n.fa-won:before,\n.fa-krw:before {\n content: \"\\F159\"; }\n\n.fa-bitcoin:before,\n.fa-btc:before {\n content: \"\\F15A\"; }\n\n.fa-file:before {\n content: \"\\F15B\"; }\n\n.fa-file-text:before {\n content: \"\\F15C\"; }\n\n.fa-sort-alpha-asc:before {\n content: \"\\F15D\"; }\n\n.fa-sort-alpha-desc:before {\n content: \"\\F15E\"; }\n\n.fa-sort-amount-asc:before {\n content: \"\\F160\"; }\n\n.fa-sort-amount-desc:before {\n content: \"\\F161\"; }\n\n.fa-sort-numeric-asc:before {\n content: \"\\F162\"; }\n\n.fa-sort-numeric-desc:before {\n content: \"\\F163\"; }\n\n.fa-thumbs-up:before {\n content: \"\\F164\"; }\n\n.fa-thumbs-down:before {\n content: \"\\F165\"; }\n\n.fa-youtube-square:before {\n content: \"\\F166\"; }\n\n.fa-youtube:before {\n content: \"\\F167\"; }\n\n.fa-xing:before {\n content: \"\\F168\"; }\n\n.fa-xing-square:before {\n content: \"\\F169\"; }\n\n.fa-youtube-play:before {\n content: \"\\F16A\"; }\n\n.fa-dropbox:before {\n content: \"\\F16B\"; }\n\n.fa-stack-overflow:before {\n content: \"\\F16C\"; }\n\n.fa-instagram:before {\n content: \"\\F16D\"; }\n\n.fa-flickr:before {\n content: \"\\F16E\"; }\n\n.fa-adn:before {\n content: \"\\F170\"; }\n\n.fa-bitbucket:before {\n content: \"\\F171\"; }\n\n.fa-bitbucket-square:before {\n content: \"\\F172\"; }\n\n.fa-tumblr:before {\n content: \"\\F173\"; }\n\n.fa-tumblr-square:before {\n content: \"\\F174\"; }\n\n.fa-long-arrow-down:before {\n content: \"\\F175\"; }\n\n.fa-long-arrow-up:before {\n content: \"\\F176\"; }\n\n.fa-long-arrow-left:before {\n content: \"\\F177\"; }\n\n.fa-long-arrow-right:before {\n content: \"\\F178\"; }\n\n.fa-apple:before {\n content: \"\\F179\"; }\n\n.fa-windows:before {\n content: \"\\F17A\"; }\n\n.fa-android:before {\n content: \"\\F17B\"; }\n\n.fa-linux:before {\n content: \"\\F17C\"; }\n\n.fa-dribbble:before {\n content: \"\\F17D\"; }\n\n.fa-skype:before {\n content: \"\\F17E\"; }\n\n.fa-foursquare:before {\n content: \"\\F180\"; }\n\n.fa-trello:before {\n content: \"\\F181\"; }\n\n.fa-female:before {\n content: \"\\F182\"; }\n\n.fa-male:before {\n content: \"\\F183\"; }\n\n.fa-gittip:before,\n.fa-gratipay:before {\n content: \"\\F184\"; }\n\n.fa-sun-o:before {\n content: \"\\F185\"; }\n\n.fa-moon-o:before {\n content: \"\\F186\"; }\n\n.fa-archive:before {\n content: \"\\F187\"; }\n\n.fa-bug:before {\n content: \"\\F188\"; }\n\n.fa-vk:before {\n content: \"\\F189\"; }\n\n.fa-weibo:before {\n content: \"\\F18A\"; }\n\n.fa-renren:before {\n content: \"\\F18B\"; }\n\n.fa-pagelines:before {\n content: \"\\F18C\"; }\n\n.fa-stack-exchange:before {\n content: \"\\F18D\"; }\n\n.fa-arrow-circle-o-right:before {\n content: \"\\F18E\"; }\n\n.fa-arrow-circle-o-left:before {\n content: \"\\F190\"; }\n\n.fa-toggle-left:before,\n.fa-caret-square-o-left:before {\n content: \"\\F191\"; }\n\n.fa-dot-circle-o:before {\n content: \"\\F192\"; }\n\n.fa-wheelchair:before {\n content: \"\\F193\"; }\n\n.fa-vimeo-square:before {\n content: \"\\F194\"; }\n\n.fa-turkish-lira:before,\n.fa-try:before {\n content: \"\\F195\"; }\n\n.fa-plus-square-o:before {\n content: \"\\F196\"; }\n\n.fa-space-shuttle:before {\n content: \"\\F197\"; }\n\n.fa-slack:before {\n content: \"\\F198\"; }\n\n.fa-envelope-square:before {\n content: \"\\F199\"; }\n\n.fa-wordpress:before {\n content: \"\\F19A\"; }\n\n.fa-openid:before {\n content: \"\\F19B\"; }\n\n.fa-institution:before,\n.fa-bank:before,\n.fa-university:before {\n content: \"\\F19C\"; }\n\n.fa-mortar-board:before,\n.fa-graduation-cap:before {\n content: \"\\F19D\"; }\n\n.fa-yahoo:before {\n content: \"\\F19E\"; }\n\n.fa-google:before {\n content: \"\\F1A0\"; }\n\n.fa-reddit:before {\n content: \"\\F1A1\"; }\n\n.fa-reddit-square:before {\n content: \"\\F1A2\"; }\n\n.fa-stumbleupon-circle:before {\n content: \"\\F1A3\"; }\n\n.fa-stumbleupon:before {\n content: \"\\F1A4\"; }\n\n.fa-delicious:before {\n content: \"\\F1A5\"; }\n\n.fa-digg:before {\n content: \"\\F1A6\"; }\n\n.fa-pied-piper-pp:before {\n content: \"\\F1A7\"; }\n\n.fa-pied-piper-alt:before {\n content: \"\\F1A8\"; }\n\n.fa-drupal:before {\n content: \"\\F1A9\"; }\n\n.fa-joomla:before {\n content: \"\\F1AA\"; }\n\n.fa-language:before {\n content: \"\\F1AB\"; }\n\n.fa-fax:before {\n content: \"\\F1AC\"; }\n\n.fa-building:before {\n content: \"\\F1AD\"; }\n\n.fa-child:before {\n content: \"\\F1AE\"; }\n\n.fa-paw:before {\n content: \"\\F1B0\"; }\n\n.fa-spoon:before {\n content: \"\\F1B1\"; }\n\n.fa-cube:before {\n content: \"\\F1B2\"; }\n\n.fa-cubes:before {\n content: \"\\F1B3\"; }\n\n.fa-behance:before {\n content: \"\\F1B4\"; }\n\n.fa-behance-square:before {\n content: \"\\F1B5\"; }\n\n.fa-steam:before {\n content: \"\\F1B6\"; }\n\n.fa-steam-square:before {\n content: \"\\F1B7\"; }\n\n.fa-recycle:before {\n content: \"\\F1B8\"; }\n\n.fa-automobile:before,\n.fa-car:before {\n content: \"\\F1B9\"; }\n\n.fa-cab:before,\n.fa-taxi:before {\n content: \"\\F1BA\"; }\n\n.fa-tree:before {\n content: \"\\F1BB\"; }\n\n.fa-spotify:before {\n content: \"\\F1BC\"; }\n\n.fa-deviantart:before {\n content: \"\\F1BD\"; }\n\n.fa-soundcloud:before {\n content: \"\\F1BE\"; }\n\n.fa-database:before {\n content: \"\\F1C0\"; }\n\n.fa-file-pdf-o:before {\n content: \"\\F1C1\"; }\n\n.fa-file-word-o:before {\n content: \"\\F1C2\"; }\n\n.fa-file-excel-o:before {\n content: \"\\F1C3\"; }\n\n.fa-file-powerpoint-o:before {\n content: \"\\F1C4\"; }\n\n.fa-file-photo-o:before,\n.fa-file-picture-o:before,\n.fa-file-image-o:before {\n content: \"\\F1C5\"; }\n\n.fa-file-zip-o:before,\n.fa-file-archive-o:before {\n content: \"\\F1C6\"; }\n\n.fa-file-sound-o:before,\n.fa-file-audio-o:before {\n content: \"\\F1C7\"; }\n\n.fa-file-movie-o:before,\n.fa-file-video-o:before {\n content: \"\\F1C8\"; }\n\n.fa-file-code-o:before {\n content: \"\\F1C9\"; }\n\n.fa-vine:before {\n content: \"\\F1CA\"; }\n\n.fa-codepen:before {\n content: \"\\F1CB\"; }\n\n.fa-jsfiddle:before {\n content: \"\\F1CC\"; }\n\n.fa-life-bouy:before,\n.fa-life-buoy:before,\n.fa-life-saver:before,\n.fa-support:before,\n.fa-life-ring:before {\n content: \"\\F1CD\"; }\n\n.fa-circle-o-notch:before {\n content: \"\\F1CE\"; }\n\n.fa-ra:before,\n.fa-resistance:before,\n.fa-rebel:before {\n content: \"\\F1D0\"; }\n\n.fa-ge:before,\n.fa-empire:before {\n content: \"\\F1D1\"; }\n\n.fa-git-square:before {\n content: \"\\F1D2\"; }\n\n.fa-git:before {\n content: \"\\F1D3\"; }\n\n.fa-y-combinator-square:before,\n.fa-yc-square:before,\n.fa-hacker-news:before {\n content: \"\\F1D4\"; }\n\n.fa-tencent-weibo:before {\n content: \"\\F1D5\"; }\n\n.fa-qq:before {\n content: \"\\F1D6\"; }\n\n.fa-wechat:before,\n.fa-weixin:before {\n content: \"\\F1D7\"; }\n\n.fa-send:before,\n.fa-paper-plane:before {\n content: \"\\F1D8\"; }\n\n.fa-send-o:before,\n.fa-paper-plane-o:before {\n content: \"\\F1D9\"; }\n\n.fa-history:before {\n content: \"\\F1DA\"; }\n\n.fa-circle-thin:before {\n content: \"\\F1DB\"; }\n\n.fa-header:before {\n content: \"\\F1DC\"; }\n\n.fa-paragraph:before {\n content: \"\\F1DD\"; }\n\n.fa-sliders:before {\n content: \"\\F1DE\"; }\n\n.fa-share-alt:before {\n content: \"\\F1E0\"; }\n\n.fa-share-alt-square:before {\n content: \"\\F1E1\"; }\n\n.fa-bomb:before {\n content: \"\\F1E2\"; }\n\n.fa-soccer-ball-o:before,\n.fa-futbol-o:before {\n content: \"\\F1E3\"; }\n\n.fa-tty:before {\n content: \"\\F1E4\"; }\n\n.fa-binoculars:before {\n content: \"\\F1E5\"; }\n\n.fa-plug:before {\n content: \"\\F1E6\"; }\n\n.fa-slideshare:before {\n content: \"\\F1E7\"; }\n\n.fa-twitch:before {\n content: \"\\F1E8\"; }\n\n.fa-yelp:before {\n content: \"\\F1E9\"; }\n\n.fa-newspaper-o:before {\n content: \"\\F1EA\"; }\n\n.fa-wifi:before {\n content: \"\\F1EB\"; }\n\n.fa-calculator:before {\n content: \"\\F1EC\"; }\n\n.fa-paypal:before {\n content: \"\\F1ED\"; }\n\n.fa-google-wallet:before {\n content: \"\\F1EE\"; }\n\n.fa-cc-visa:before {\n content: \"\\F1F0\"; }\n\n.fa-cc-mastercard:before {\n content: \"\\F1F1\"; }\n\n.fa-cc-discover:before {\n content: \"\\F1F2\"; }\n\n.fa-cc-amex:before {\n content: \"\\F1F3\"; }\n\n.fa-cc-paypal:before {\n content: \"\\F1F4\"; }\n\n.fa-cc-stripe:before {\n content: \"\\F1F5\"; }\n\n.fa-bell-slash:before {\n content: \"\\F1F6\"; }\n\n.fa-bell-slash-o:before {\n content: \"\\F1F7\"; }\n\n.fa-trash:before {\n content: \"\\F1F8\"; }\n\n.fa-copyright:before {\n content: \"\\F1F9\"; }\n\n.fa-at:before {\n content: \"\\F1FA\"; }\n\n.fa-eyedropper:before {\n content: \"\\F1FB\"; }\n\n.fa-paint-brush:before {\n content: \"\\F1FC\"; }\n\n.fa-birthday-cake:before {\n content: \"\\F1FD\"; }\n\n.fa-area-chart:before {\n content: \"\\F1FE\"; }\n\n.fa-pie-chart:before {\n content: \"\\F200\"; }\n\n.fa-line-chart:before {\n content: \"\\F201\"; }\n\n.fa-lastfm:before {\n content: \"\\F202\"; }\n\n.fa-lastfm-square:before {\n content: \"\\F203\"; }\n\n.fa-toggle-off:before {\n content: \"\\F204\"; }\n\n.fa-toggle-on:before {\n content: \"\\F205\"; }\n\n.fa-bicycle:before {\n content: \"\\F206\"; }\n\n.fa-bus:before {\n content: \"\\F207\"; }\n\n.fa-ioxhost:before {\n content: \"\\F208\"; }\n\n.fa-angellist:before {\n content: \"\\F209\"; }\n\n.fa-cc:before {\n content: \"\\F20A\"; }\n\n.fa-shekel:before,\n.fa-sheqel:before,\n.fa-ils:before {\n content: \"\\F20B\"; }\n\n.fa-meanpath:before {\n content: \"\\F20C\"; }\n\n.fa-buysellads:before {\n content: \"\\F20D\"; }\n\n.fa-connectdevelop:before {\n content: \"\\F20E\"; }\n\n.fa-dashcube:before {\n content: \"\\F210\"; }\n\n.fa-forumbee:before {\n content: \"\\F211\"; }\n\n.fa-leanpub:before {\n content: \"\\F212\"; }\n\n.fa-sellsy:before {\n content: \"\\F213\"; }\n\n.fa-shirtsinbulk:before {\n content: \"\\F214\"; }\n\n.fa-simplybuilt:before {\n content: \"\\F215\"; }\n\n.fa-skyatlas:before {\n content: \"\\F216\"; }\n\n.fa-cart-plus:before {\n content: \"\\F217\"; }\n\n.fa-cart-arrow-down:before {\n content: \"\\F218\"; }\n\n.fa-diamond:before {\n content: \"\\F219\"; }\n\n.fa-ship:before {\n content: \"\\F21A\"; }\n\n.fa-user-secret:before {\n content: \"\\F21B\"; }\n\n.fa-motorcycle:before {\n content: \"\\F21C\"; }\n\n.fa-street-view:before {\n content: \"\\F21D\"; }\n\n.fa-heartbeat:before {\n content: \"\\F21E\"; }\n\n.fa-venus:before {\n content: \"\\F221\"; }\n\n.fa-mars:before {\n content: \"\\F222\"; }\n\n.fa-mercury:before {\n content: \"\\F223\"; }\n\n.fa-intersex:before,\n.fa-transgender:before {\n content: \"\\F224\"; }\n\n.fa-transgender-alt:before {\n content: \"\\F225\"; }\n\n.fa-venus-double:before {\n content: \"\\F226\"; }\n\n.fa-mars-double:before {\n content: \"\\F227\"; }\n\n.fa-venus-mars:before {\n content: \"\\F228\"; }\n\n.fa-mars-stroke:before {\n content: \"\\F229\"; }\n\n.fa-mars-stroke-v:before {\n content: \"\\F22A\"; }\n\n.fa-mars-stroke-h:before {\n content: \"\\F22B\"; }\n\n.fa-neuter:before {\n content: \"\\F22C\"; }\n\n.fa-genderless:before {\n content: \"\\F22D\"; }\n\n.fa-facebook-official:before {\n content: \"\\F230\"; }\n\n.fa-pinterest-p:before {\n content: \"\\F231\"; }\n\n.fa-whatsapp:before {\n content: \"\\F232\"; }\n\n.fa-server:before {\n content: \"\\F233\"; }\n\n.fa-user-plus:before {\n content: \"\\F234\"; }\n\n.fa-user-times:before {\n content: \"\\F235\"; }\n\n.fa-hotel:before,\n.fa-bed:before {\n content: \"\\F236\"; }\n\n.fa-viacoin:before {\n content: \"\\F237\"; }\n\n.fa-train:before {\n content: \"\\F238\"; }\n\n.fa-subway:before {\n content: \"\\F239\"; }\n\n.fa-medium:before {\n content: \"\\F23A\"; }\n\n.fa-yc:before,\n.fa-y-combinator:before {\n content: \"\\F23B\"; }\n\n.fa-optin-monster:before {\n content: \"\\F23C\"; }\n\n.fa-opencart:before {\n content: \"\\F23D\"; }\n\n.fa-expeditedssl:before {\n content: \"\\F23E\"; }\n\n.fa-battery-4:before,\n.fa-battery:before,\n.fa-battery-full:before {\n content: \"\\F240\"; }\n\n.fa-battery-3:before,\n.fa-battery-three-quarters:before {\n content: \"\\F241\"; }\n\n.fa-battery-2:before,\n.fa-battery-half:before {\n content: \"\\F242\"; }\n\n.fa-battery-1:before,\n.fa-battery-quarter:before {\n content: \"\\F243\"; }\n\n.fa-battery-0:before,\n.fa-battery-empty:before {\n content: \"\\F244\"; }\n\n.fa-mouse-pointer:before {\n content: \"\\F245\"; }\n\n.fa-i-cursor:before {\n content: \"\\F246\"; }\n\n.fa-object-group:before {\n content: \"\\F247\"; }\n\n.fa-object-ungroup:before {\n content: \"\\F248\"; }\n\n.fa-sticky-note:before {\n content: \"\\F249\"; }\n\n.fa-sticky-note-o:before {\n content: \"\\F24A\"; }\n\n.fa-cc-jcb:before {\n content: \"\\F24B\"; }\n\n.fa-cc-diners-club:before {\n content: \"\\F24C\"; }\n\n.fa-clone:before {\n content: \"\\F24D\"; }\n\n.fa-balance-scale:before {\n content: \"\\F24E\"; }\n\n.fa-hourglass-o:before {\n content: \"\\F250\"; }\n\n.fa-hourglass-1:before,\n.fa-hourglass-start:before {\n content: \"\\F251\"; }\n\n.fa-hourglass-2:before,\n.fa-hourglass-half:before {\n content: \"\\F252\"; }\n\n.fa-hourglass-3:before,\n.fa-hourglass-end:before {\n content: \"\\F253\"; }\n\n.fa-hourglass:before {\n content: \"\\F254\"; }\n\n.fa-hand-grab-o:before,\n.fa-hand-rock-o:before {\n content: \"\\F255\"; }\n\n.fa-hand-stop-o:before,\n.fa-hand-paper-o:before {\n content: \"\\F256\"; }\n\n.fa-hand-scissors-o:before {\n content: \"\\F257\"; }\n\n.fa-hand-lizard-o:before {\n content: \"\\F258\"; }\n\n.fa-hand-spock-o:before {\n content: \"\\F259\"; }\n\n.fa-hand-pointer-o:before {\n content: \"\\F25A\"; }\n\n.fa-hand-peace-o:before {\n content: \"\\F25B\"; }\n\n.fa-trademark:before {\n content: \"\\F25C\"; }\n\n.fa-registered:before {\n content: \"\\F25D\"; }\n\n.fa-creative-commons:before {\n content: \"\\F25E\"; }\n\n.fa-gg:before {\n content: \"\\F260\"; }\n\n.fa-gg-circle:before {\n content: \"\\F261\"; }\n\n.fa-tripadvisor:before {\n content: \"\\F262\"; }\n\n.fa-odnoklassniki:before {\n content: \"\\F263\"; }\n\n.fa-odnoklassniki-square:before {\n content: \"\\F264\"; }\n\n.fa-get-pocket:before {\n content: \"\\F265\"; }\n\n.fa-wikipedia-w:before {\n content: \"\\F266\"; }\n\n.fa-safari:before {\n content: \"\\F267\"; }\n\n.fa-chrome:before {\n content: \"\\F268\"; }\n\n.fa-firefox:before {\n content: \"\\F269\"; }\n\n.fa-opera:before {\n content: \"\\F26A\"; }\n\n.fa-internet-explorer:before {\n content: \"\\F26B\"; }\n\n.fa-tv:before,\n.fa-television:before {\n content: \"\\F26C\"; }\n\n.fa-contao:before {\n content: \"\\F26D\"; }\n\n.fa-500px:before {\n content: \"\\F26E\"; }\n\n.fa-amazon:before {\n content: \"\\F270\"; }\n\n.fa-calendar-plus-o:before {\n content: \"\\F271\"; }\n\n.fa-calendar-minus-o:before {\n content: \"\\F272\"; }\n\n.fa-calendar-times-o:before {\n content: \"\\F273\"; }\n\n.fa-calendar-check-o:before {\n content: \"\\F274\"; }\n\n.fa-industry:before {\n content: \"\\F275\"; }\n\n.fa-map-pin:before {\n content: \"\\F276\"; }\n\n.fa-map-signs:before {\n content: \"\\F277\"; }\n\n.fa-map-o:before {\n content: \"\\F278\"; }\n\n.fa-map:before {\n content: \"\\F279\"; }\n\n.fa-commenting:before {\n content: \"\\F27A\"; }\n\n.fa-commenting-o:before {\n content: \"\\F27B\"; }\n\n.fa-houzz:before {\n content: \"\\F27C\"; }\n\n.fa-vimeo:before {\n content: \"\\F27D\"; }\n\n.fa-black-tie:before {\n content: \"\\F27E\"; }\n\n.fa-fonticons:before {\n content: \"\\F280\"; }\n\n.fa-reddit-alien:before {\n content: \"\\F281\"; }\n\n.fa-edge:before {\n content: \"\\F282\"; }\n\n.fa-credit-card-alt:before {\n content: \"\\F283\"; }\n\n.fa-codiepie:before {\n content: \"\\F284\"; }\n\n.fa-modx:before {\n content: \"\\F285\"; }\n\n.fa-fort-awesome:before {\n content: \"\\F286\"; }\n\n.fa-usb:before {\n content: \"\\F287\"; }\n\n.fa-product-hunt:before {\n content: \"\\F288\"; }\n\n.fa-mixcloud:before {\n content: \"\\F289\"; }\n\n.fa-scribd:before {\n content: \"\\F28A\"; }\n\n.fa-pause-circle:before {\n content: \"\\F28B\"; }\n\n.fa-pause-circle-o:before {\n content: \"\\F28C\"; }\n\n.fa-stop-circle:before {\n content: \"\\F28D\"; }\n\n.fa-stop-circle-o:before {\n content: \"\\F28E\"; }\n\n.fa-shopping-bag:before {\n content: \"\\F290\"; }\n\n.fa-shopping-basket:before {\n content: \"\\F291\"; }\n\n.fa-hashtag:before {\n content: \"\\F292\"; }\n\n.fa-bluetooth:before {\n content: \"\\F293\"; }\n\n.fa-bluetooth-b:before {\n content: \"\\F294\"; }\n\n.fa-percent:before {\n content: \"\\F295\"; }\n\n.fa-gitlab:before {\n content: \"\\F296\"; }\n\n.fa-wpbeginner:before {\n content: \"\\F297\"; }\n\n.fa-wpforms:before {\n content: \"\\F298\"; }\n\n.fa-envira:before {\n content: \"\\F299\"; }\n\n.fa-universal-access:before {\n content: \"\\F29A\"; }\n\n.fa-wheelchair-alt:before {\n content: \"\\F29B\"; }\n\n.fa-question-circle-o:before {\n content: \"\\F29C\"; }\n\n.fa-blind:before {\n content: \"\\F29D\"; }\n\n.fa-audio-description:before {\n content: \"\\F29E\"; }\n\n.fa-volume-control-phone:before {\n content: \"\\F2A0\"; }\n\n.fa-braille:before {\n content: \"\\F2A1\"; }\n\n.fa-assistive-listening-systems:before {\n content: \"\\F2A2\"; }\n\n.fa-asl-interpreting:before,\n.fa-american-sign-language-interpreting:before {\n content: \"\\F2A3\"; }\n\n.fa-deafness:before,\n.fa-hard-of-hearing:before,\n.fa-deaf:before {\n content: \"\\F2A4\"; }\n\n.fa-glide:before {\n content: \"\\F2A5\"; }\n\n.fa-glide-g:before {\n content: \"\\F2A6\"; }\n\n.fa-signing:before,\n.fa-sign-language:before {\n content: \"\\F2A7\"; }\n\n.fa-low-vision:before {\n content: \"\\F2A8\"; }\n\n.fa-viadeo:before {\n content: \"\\F2A9\"; }\n\n.fa-viadeo-square:before {\n content: \"\\F2AA\"; }\n\n.fa-snapchat:before {\n content: \"\\F2AB\"; }\n\n.fa-snapchat-ghost:before {\n content: \"\\F2AC\"; }\n\n.fa-snapchat-square:before {\n content: \"\\F2AD\"; }\n\n.fa-pied-piper:before {\n content: \"\\F2AE\"; }\n\n.fa-first-order:before {\n content: \"\\F2B0\"; }\n\n.fa-yoast:before {\n content: \"\\F2B1\"; }\n\n.fa-themeisle:before {\n content: \"\\F2B2\"; }\n\n.fa-google-plus-circle:before,\n.fa-google-plus-official:before {\n content: \"\\F2B3\"; }\n\n.fa-fa:before,\n.fa-font-awesome:before {\n content: \"\\F2B4\"; }\n\n.fa-handshake-o:before {\n content: \"\\F2B5\"; }\n\n.fa-envelope-open:before {\n content: \"\\F2B6\"; }\n\n.fa-envelope-open-o:before {\n content: \"\\F2B7\"; }\n\n.fa-linode:before {\n content: \"\\F2B8\"; }\n\n.fa-address-book:before {\n content: \"\\F2B9\"; }\n\n.fa-address-book-o:before {\n content: \"\\F2BA\"; }\n\n.fa-vcard:before,\n.fa-address-card:before {\n content: \"\\F2BB\"; }\n\n.fa-vcard-o:before,\n.fa-address-card-o:before {\n content: \"\\F2BC\"; }\n\n.fa-user-circle:before {\n content: \"\\F2BD\"; }\n\n.fa-user-circle-o:before {\n content: \"\\F2BE\"; }\n\n.fa-user-o:before {\n content: \"\\F2C0\"; }\n\n.fa-id-badge:before {\n content: \"\\F2C1\"; }\n\n.fa-drivers-license:before,\n.fa-id-card:before {\n content: \"\\F2C2\"; }\n\n.fa-drivers-license-o:before,\n.fa-id-card-o:before {\n content: \"\\F2C3\"; }\n\n.fa-quora:before {\n content: \"\\F2C4\"; }\n\n.fa-free-code-camp:before {\n content: \"\\F2C5\"; }\n\n.fa-telegram:before {\n content: \"\\F2C6\"; }\n\n.fa-thermometer-4:before,\n.fa-thermometer:before,\n.fa-thermometer-full:before {\n content: \"\\F2C7\"; }\n\n.fa-thermometer-3:before,\n.fa-thermometer-three-quarters:before {\n content: \"\\F2C8\"; }\n\n.fa-thermometer-2:before,\n.fa-thermometer-half:before {\n content: \"\\F2C9\"; }\n\n.fa-thermometer-1:before,\n.fa-thermometer-quarter:before {\n content: \"\\F2CA\"; }\n\n.fa-thermometer-0:before,\n.fa-thermometer-empty:before {\n content: \"\\F2CB\"; }\n\n.fa-shower:before {\n content: \"\\F2CC\"; }\n\n.fa-bathtub:before,\n.fa-s15:before,\n.fa-bath:before {\n content: \"\\F2CD\"; }\n\n.fa-podcast:before {\n content: \"\\F2CE\"; }\n\n.fa-window-maximize:before {\n content: \"\\F2D0\"; }\n\n.fa-window-minimize:before {\n content: \"\\F2D1\"; }\n\n.fa-window-restore:before {\n content: \"\\F2D2\"; }\n\n.fa-times-rectangle:before,\n.fa-window-close:before {\n content: \"\\F2D3\"; }\n\n.fa-times-rectangle-o:before,\n.fa-window-close-o:before {\n content: \"\\F2D4\"; }\n\n.fa-bandcamp:before {\n content: \"\\F2D5\"; }\n\n.fa-grav:before {\n content: \"\\F2D6\"; }\n\n.fa-etsy:before {\n content: \"\\F2D7\"; }\n\n.fa-imdb:before {\n content: \"\\F2D8\"; }\n\n.fa-ravelry:before {\n content: \"\\F2D9\"; }\n\n.fa-eercast:before {\n content: \"\\F2DA\"; }\n\n.fa-microchip:before {\n content: \"\\F2DB\"; }\n\n.fa-snowflake-o:before {\n content: \"\\F2DC\"; }\n\n.fa-superpowers:before {\n content: \"\\F2DD\"; }\n\n.fa-wpexplorer:before {\n content: \"\\F2DE\"; }\n\n.fa-meetup:before {\n content: \"\\F2E0\"; }\n\n.sr-only, .table.table-list tr:not(:hover) td.table-list-options > .dropdown:not(.show) button:not(:focus):not(:active), .table.table-list tr:not(:hover) td.table-list-options > button:not(:focus):not(:active) {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0; }\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto; }\n\n.toaster-icon {\n position: absolute;\n left: 0.0em;\n top: 0.0em;\n font-weight: normal;\n color: #ffffff; }\n\n.toast-title {\n font-weight: bold; }\n\n.toast-message {\n -ms-word-wrap: break-word;\n word-wrap: break-word; }\n\n.toast-message a,\n.toast-message label {\n color: #ffffff; }\n\n.toast-message a:hover {\n color: #cccccc;\n text-decoration: none; }\n\n.toast-close-button {\n position: relative;\n right: -0.3em;\n top: -0.3em;\n float: right;\n font-size: 20px;\n font-weight: bold;\n color: #ffffff;\n -webkit-text-shadow: 0 1px 0 #ffffff;\n text-shadow: 0 1px 0 #ffffff;\n opacity: 0.8;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);\n filter: alpha(opacity=80);\n z-index: 999; }\n\n.toast-close-button:hover, .toast-close-button:focus {\n color: #000000;\n text-decoration: none;\n cursor: pointer;\n opacity: 0.4;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);\n filter: alpha(opacity=40); }\n\n/*Additional properties for button version\n iOS requires the button element instead of an anchor tag.\n If you want the anchor version, it requires `href=\"#\"`.*/\nbutton.toast-close-button {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none; }\n\n.toast-content {\n display: inline-block;\n width: 95%; }\n\n.toast-top-full-width {\n top: 0;\n right: 0;\n width: 100%; }\n\n.toast-bottom-full-width {\n bottom: 0;\n right: 0;\n width: 100%; }\n\n.toast-top-left {\n top: 12px;\n left: 12px; }\n\n.toast-top-center {\n top: 12px; }\n\n.toast-top-right {\n top: 12px;\n right: 12px; }\n\n.toast-bottom-right {\n right: 12px;\n bottom: 12px; }\n\n.toast-bottom-center {\n bottom: 12px; }\n\n.toast-bottom-left {\n bottom: 12px;\n left: 12px; }\n\n.toast-center {\n top: 45%; }\n\n#toast-container {\n position: fixed;\n z-index: 999999;\n /*overrides*/\n pointer-events: auto; }\n\n#toast-container.toast-center,\n#toast-container.toast-top-center,\n#toast-container.toast-bottom-center {\n width: 100%;\n pointer-events: none;\n left: 0;\n right: 0; }\n\n#toast-container.toast-center > div,\n#toast-container.toast-top-center > div,\n#toast-container.toast-bottom-center > div {\n margin: 6px auto;\n pointer-events: auto; }\n\n#toast-container.toast-center > button,\n#toast-container.toast-top-center > button,\n#toast-container.toast-bottom-center > button {\n pointer-events: auto; }\n\n#toast-container * {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box; }\n\n#toast-container > div {\n margin: 0 0 6px;\n padding: 15px 15px 15px 50px;\n width: 300px;\n -moz-border-radius: 3px 3px 3px 3px;\n -webkit-border-radius: 3px 3px 3px 3px;\n border-radius: 3px 3px 3px 3px;\n background-position: 15px center;\n background-repeat: no-repeat;\n -moz-box-shadow: 0 0 12px #999999;\n -webkit-box-shadow: 0 0 12px #999999;\n box-shadow: 0 0 12px #999999;\n color: #ffffff;\n opacity: 0.8;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);\n filter: alpha(opacity=80); }\n\n#toast-container > :hover {\n -moz-box-shadow: 0 0 12px #000000;\n -webkit-box-shadow: 0 0 12px #000000;\n box-shadow: 0 0 12px #000000;\n opacity: 1;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);\n filter: alpha(opacity=100);\n cursor: pointer; }\n\n.icon-success {\n width: 35px;\n height: 100%;\n display: inline-block;\n background-repeat: no-repeat;\n background-position: 100% 50%;\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==\") !important; }\n\n.icon-error {\n width: 35px;\n height: 100%;\n display: inline-block;\n background-repeat: no-repeat;\n background-position: 100% 50%;\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=\") !important; }\n\n.icon-info {\n width: 35px;\n height: 100%;\n display: inline-block;\n background-repeat: no-repeat;\n background-position: 100% 50%;\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=\") !important; }\n\n.icon-wait {\n width: 35px;\n height: 100%;\n display: inline-block;\n background-repeat: no-repeat;\n background-position: 100% 50%;\n background-image: url(\"data:image/gif;base64,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\") !important; }\n\n.icon-warning {\n width: 35px;\n height: 100%;\n display: inline-block;\n background-repeat: no-repeat;\n background-position: 100% 50%;\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=\") !important; }\n\n#toast-container.toast-top-full-width > div,\n#toast-container.toast-bottom-full-width > div {\n width: 96%;\n margin: auto; }\n\n.toast {\n position: relative;\n background-color: #030303; }\n\n.toast-success {\n background-color: #51a351; }\n\n.toast-error {\n background-color: #bd362f; }\n\n.toast-info {\n background-color: #2f96b4; }\n\n.toast-wait {\n background-color: #2f96b4; }\n\n.toast-warning {\n background-color: #f89406; }\n\n/*Responsive Design*/\n@media all and (max-width: 240px) {\n #toast-container > div {\n padding: 8px 8px 8px 50px;\n width: 11em; }\n #toast-container .toast-close-button {\n right: -0.1em;\n top: -0.2em; }\n .toast-content {\n width: 94%; } }\n\n@media all and (min-width: 241px) and (max-width: 480px) {\n #toast-container > div {\n padding: 8px 8px 8px 50px;\n width: 18em; }\n #toast-container .toast-close-button {\n right: -0.1em;\n top: -0.2em; }\n .toast-content {\n width: 94%; } }\n\n@media all and (min-width: 481px) and (max-width: 768px) {\n #toast-container > div {\n padding: 15px 15px 15px 50px;\n width: 25em; } }\n\n.swal2-popup.swal2-toast {\n flex-direction: row;\n align-items: center;\n width: auto;\n padding: 0.625em;\n overflow-y: hidden;\n background: #fff;\n box-shadow: 0 0 0.625em #d9d9d9; }\n .swal2-popup.swal2-toast .swal2-header {\n flex-direction: row; }\n .swal2-popup.swal2-toast .swal2-title {\n flex-grow: 1;\n justify-content: flex-start;\n margin: 0 0.6em;\n font-size: 1em; }\n .swal2-popup.swal2-toast .swal2-footer {\n margin: 0.5em 0 0;\n padding: 0.5em 0 0;\n font-size: 0.8em; }\n .swal2-popup.swal2-toast .swal2-close {\n position: static;\n width: 0.8em;\n height: 0.8em;\n line-height: 0.8; }\n .swal2-popup.swal2-toast .swal2-content {\n justify-content: flex-start;\n font-size: 1em; }\n .swal2-popup.swal2-toast .swal2-icon {\n width: 2em;\n min-width: 2em;\n height: 2em;\n margin: 0; }\n .swal2-popup.swal2-toast .swal2-icon .swal2-icon-content {\n display: flex;\n align-items: center;\n font-size: 1.8em;\n font-weight: bold; }\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .swal2-popup.swal2-toast .swal2-icon .swal2-icon-content {\n font-size: .25em; } }\n .swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring {\n width: 2em;\n height: 2em; }\n .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'] {\n top: .875em;\n width: 1.375em; }\n .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='left'] {\n left: .3125em; }\n .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='right'] {\n right: .3125em; }\n .swal2-popup.swal2-toast .swal2-actions {\n flex-basis: auto !important;\n width: auto;\n height: auto;\n margin: 0 .3125em; }\n .swal2-popup.swal2-toast .swal2-styled {\n margin: 0 .3125em;\n padding: .3125em .625em;\n font-size: 1em; }\n .swal2-popup.swal2-toast .swal2-styled:focus {\n box-shadow: 0 0 0 1px #fff, 0 0 0 3px rgba(50, 100, 150, 0.4); }\n .swal2-popup.swal2-toast .swal2-success {\n border-color: #a5dc86; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'] {\n position: absolute;\n width: 1.6em;\n height: 3em;\n transform: rotate(45deg);\n border-radius: 50%; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'][class$='left'] {\n top: -.8em;\n left: -.5em;\n transform: rotate(-45deg);\n transform-origin: 2em 2em;\n border-radius: 4em 0 0 4em; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'][class$='right'] {\n top: -.25em;\n left: .9375em;\n transform-origin: 0 1.5em;\n border-radius: 0 4em 4em 0; }\n .swal2-popup.swal2-toast .swal2-success .swal2-success-ring {\n width: 2em;\n height: 2em; }\n .swal2-popup.swal2-toast .swal2-success .swal2-success-fix {\n top: 0;\n left: .4375em;\n width: .4375em;\n height: 2.6875em; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'] {\n height: .3125em; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'][class$='tip'] {\n top: 1.125em;\n left: .1875em;\n width: .75em; }\n .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'][class$='long'] {\n top: .9375em;\n right: .1875em;\n width: 1.375em; }\n .swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip {\n animation: swal2-toast-animate-success-line-tip .75s; }\n .swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long {\n animation: swal2-toast-animate-success-line-long .75s; }\n .swal2-popup.swal2-toast.swal2-show {\n animation: swal2-toast-show 0.5s; }\n .swal2-popup.swal2-toast.swal2-hide {\n animation: swal2-toast-hide 0.1s forwards; }\n\n.swal2-container {\n display: flex;\n position: fixed;\n z-index: 1060;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n padding: 0.625em;\n overflow-x: hidden;\n transition: background-color 0.1s;\n -webkit-overflow-scrolling: touch; }\n .swal2-container.swal2-backdrop-show {\n background: rgba(0, 0, 0, 0.4); }\n .swal2-container.swal2-backdrop-hide {\n background: transparent !important; }\n .swal2-container.swal2-top {\n align-items: flex-start; }\n .swal2-container.swal2-top-start, .swal2-container.swal2-top-left {\n align-items: flex-start;\n justify-content: flex-start; }\n .swal2-container.swal2-top-end, .swal2-container.swal2-top-right {\n align-items: flex-start;\n justify-content: flex-end; }\n .swal2-container.swal2-center {\n align-items: center; }\n .swal2-container.swal2-center-start, .swal2-container.swal2-center-left {\n align-items: center;\n justify-content: flex-start; }\n .swal2-container.swal2-center-end, .swal2-container.swal2-center-right {\n align-items: center;\n justify-content: flex-end; }\n .swal2-container.swal2-bottom {\n align-items: flex-end; }\n .swal2-container.swal2-bottom-start, .swal2-container.swal2-bottom-left {\n align-items: flex-end;\n justify-content: flex-start; }\n .swal2-container.swal2-bottom-end, .swal2-container.swal2-bottom-right {\n align-items: flex-end;\n justify-content: flex-end; }\n .swal2-container.swal2-bottom > :first-child,\n .swal2-container.swal2-bottom-start > :first-child,\n .swal2-container.swal2-bottom-left > :first-child,\n .swal2-container.swal2-bottom-end > :first-child,\n .swal2-container.swal2-bottom-right > :first-child {\n margin-top: auto; }\n .swal2-container.swal2-grow-fullscreen > .swal2-modal {\n display: flex !important;\n flex: 1;\n align-self: stretch;\n justify-content: center; }\n .swal2-container.swal2-grow-row > .swal2-modal {\n display: flex !important;\n flex: 1;\n align-content: center;\n justify-content: center; }\n .swal2-container.swal2-grow-column {\n flex: 1;\n flex-direction: column; }\n .swal2-container.swal2-grow-column.swal2-top, .swal2-container.swal2-grow-column.swal2-center, .swal2-container.swal2-grow-column.swal2-bottom {\n align-items: center; }\n .swal2-container.swal2-grow-column.swal2-top-start, .swal2-container.swal2-grow-column.swal2-center-start, .swal2-container.swal2-grow-column.swal2-bottom-start, .swal2-container.swal2-grow-column.swal2-top-left, .swal2-container.swal2-grow-column.swal2-center-left, .swal2-container.swal2-grow-column.swal2-bottom-left {\n align-items: flex-start; }\n .swal2-container.swal2-grow-column.swal2-top-end, .swal2-container.swal2-grow-column.swal2-center-end, .swal2-container.swal2-grow-column.swal2-bottom-end, .swal2-container.swal2-grow-column.swal2-top-right, .swal2-container.swal2-grow-column.swal2-center-right, .swal2-container.swal2-grow-column.swal2-bottom-right {\n align-items: flex-end; }\n .swal2-container.swal2-grow-column > .swal2-modal {\n display: flex !important;\n flex: 1;\n align-content: center;\n justify-content: center; }\n .swal2-container:not(.swal2-top):not(.swal2-top-start):not(.swal2-top-end):not(.swal2-top-left):not(.swal2-top-right):not(.swal2-center-start):not(.swal2-center-end):not(.swal2-center-left):not(.swal2-center-right):not(.swal2-bottom):not(.swal2-bottom-start):not(.swal2-bottom-end):not(.swal2-bottom-left):not(.swal2-bottom-right):not(.swal2-grow-fullscreen) > .swal2-modal {\n margin: auto; }\n @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .swal2-container .swal2-modal {\n margin: 0 !important; } }\n\n.swal2-popup {\n display: none;\n position: relative;\n box-sizing: border-box;\n flex-direction: column;\n justify-content: center;\n width: 32em;\n max-width: 100%;\n padding: 1.25em;\n border: none;\n border-radius: 0.3125em;\n background: #fff;\n font-family: inherit;\n font-size: 1rem; }\n .swal2-popup:focus {\n outline: none; }\n .swal2-popup.swal2-loading {\n overflow-y: hidden; }\n\n.swal2-header {\n display: flex;\n flex-direction: column;\n align-items: center; }\n\n.swal2-title {\n position: relative;\n max-width: 100%;\n margin: 0 0 0.4em;\n padding: 0;\n color: #595959;\n font-size: 1.875em;\n font-weight: 600;\n text-align: center;\n text-transform: none;\n word-wrap: break-word; }\n\n.swal2-actions {\n display: flex;\n z-index: 1;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n width: 100%;\n margin: 1.25em auto 0; }\n .swal2-actions:not(.swal2-loading) .swal2-styled[disabled] {\n opacity: .4; }\n .swal2-actions:not(.swal2-loading) .swal2-styled:hover {\n background-image: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1)); }\n .swal2-actions:not(.swal2-loading) .swal2-styled:active {\n background-image: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)); }\n .swal2-actions.swal2-loading .swal2-styled.swal2-confirm {\n box-sizing: border-box;\n width: 2.5em;\n height: 2.5em;\n margin: .46875em;\n padding: 0;\n animation: swal2-rotate-loading 1.5s linear 0s infinite normal;\n border: .25em solid transparent;\n border-radius: 100%;\n border-color: transparent;\n background-color: transparent !important;\n color: transparent;\n cursor: default;\n user-select: none; }\n .swal2-actions.swal2-loading .swal2-styled.swal2-cancel {\n margin-right: 30px;\n margin-left: 30px; }\n .swal2-actions.swal2-loading :not(.swal2-styled).swal2-confirm::after {\n content: '';\n display: inline-block;\n width: 15px;\n height: 15px;\n margin-left: 5px;\n animation: swal2-rotate-loading 1.5s linear 0s infinite normal;\n border: 3px solid #999999;\n border-radius: 50%;\n border-right-color: transparent;\n box-shadow: 1px 1px 1px #fff; }\n\n.swal2-styled {\n margin: .3125em;\n padding: .625em 2em;\n box-shadow: none;\n font-weight: 500; }\n .swal2-styled:not([disabled]) {\n cursor: pointer; }\n .swal2-styled.swal2-confirm {\n border: 0;\n border-radius: 0.25em;\n background: initial;\n background-color: #3085d6;\n color: #fff;\n font-size: 1.0625em; }\n .swal2-styled.swal2-cancel {\n border: 0;\n border-radius: 0.25em;\n background: initial;\n background-color: #aaa;\n color: #fff;\n font-size: 1.0625em; }\n .swal2-styled:focus {\n outline: none;\n box-shadow: 0 0 0 1px #fff, 0 0 0 3px rgba(50, 100, 150, 0.4); }\n .swal2-styled::-moz-focus-inner {\n border: 0; }\n\n.swal2-footer {\n justify-content: center;\n margin: 1.25em 0 0;\n padding: 1em 0 0;\n border-top: 1px solid #eee;\n color: #545454;\n font-size: 1em; }\n\n.swal2-timer-progress-bar {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 0.25em;\n background: rgba(0, 0, 0, 0.2); }\n\n.swal2-image {\n max-width: 100%;\n margin: 1.25em auto; }\n\n.swal2-close {\n position: absolute;\n z-index: 2;\n /* 1617 */\n top: 0;\n right: 0;\n justify-content: center;\n width: 1.2em;\n height: 1.2em;\n padding: 0;\n overflow: hidden;\n transition: color 0.1s ease-out;\n border: none;\n border-radius: 0;\n outline: initial;\n background: transparent;\n color: #cccccc;\n font-family: serif;\n font-size: 2.5em;\n line-height: 1.2;\n cursor: pointer; }\n .swal2-close:hover {\n transform: none;\n background: transparent;\n color: #f27474; }\n .swal2-close::-moz-focus-inner {\n border: 0; }\n\n.swal2-content {\n z-index: 1;\n justify-content: center;\n margin: 0;\n padding: 0;\n color: #545454;\n font-size: 1.125em;\n font-weight: normal;\n line-height: normal;\n text-align: center;\n word-wrap: break-word; }\n\n.swal2-input,\n.swal2-file,\n.swal2-textarea,\n.swal2-select,\n.swal2-radio,\n.swal2-checkbox {\n margin: 1em auto; }\n\n.swal2-input,\n.swal2-file,\n.swal2-textarea {\n box-sizing: border-box;\n width: 100%;\n transition: border-color 0.3s, box-shadow 0.3s;\n border: 1px solid #d9d9d9;\n border-radius: 0.1875em;\n background: inherit;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06);\n color: inherit;\n font-size: 1.125em; }\n .swal2-input.swal2-inputerror,\n .swal2-file.swal2-inputerror,\n .swal2-textarea.swal2-inputerror {\n border-color: #f27474 !important;\n box-shadow: 0 0 2px #f27474 !important; }\n .swal2-input:focus,\n .swal2-file:focus,\n .swal2-textarea:focus {\n border: 1px solid #b4dbed;\n outline: none;\n box-shadow: 0 0 3px #c4e6f5; }\n .swal2-input::placeholder,\n .swal2-file::placeholder,\n .swal2-textarea::placeholder {\n color: #cccccc; }\n\n.swal2-range {\n margin: 1em auto;\n background: #fff; }\n .swal2-range input {\n width: 80%; }\n .swal2-range output {\n width: 20%;\n color: inherit;\n font-weight: 600;\n text-align: center; }\n .swal2-range input,\n .swal2-range output {\n height: 2.625em;\n padding: 0;\n font-size: 1.125em;\n line-height: 2.625em; }\n\n.swal2-input {\n height: 2.625em;\n padding: 0 0.75em; }\n .swal2-input[type='number'] {\n max-width: 10em; }\n\n.swal2-file {\n background: inherit;\n font-size: 1.125em; }\n\n.swal2-textarea {\n height: 6.75em;\n padding: 0.75em; }\n\n.swal2-select {\n min-width: 50%;\n max-width: 100%;\n padding: .375em .625em;\n background: inherit;\n color: inherit;\n font-size: 1.125em; }\n\n.swal2-radio,\n.swal2-checkbox {\n align-items: center;\n justify-content: center;\n background: #fff;\n color: inherit; }\n .swal2-radio label,\n .swal2-checkbox label {\n margin: 0 .6em;\n font-size: 1.125em; }\n .swal2-radio input,\n .swal2-checkbox input {\n margin: 0 .4em; }\n\n.swal2-validation-message {\n display: none;\n align-items: center;\n justify-content: center;\n padding: 0.625em;\n overflow: hidden;\n background: #f0f0f0;\n color: #666666;\n font-size: 1em;\n font-weight: 300; }\n .swal2-validation-message::before {\n content: '!';\n display: inline-block;\n width: 1.5em;\n min-width: 1.5em;\n height: 1.5em;\n margin: 0 .625em;\n border-radius: 50%;\n background-color: #f27474;\n color: #fff;\n font-weight: 600;\n line-height: 1.5em;\n text-align: center; }\n\n.swal2-icon {\n position: relative;\n box-sizing: content-box;\n justify-content: center;\n width: 5em;\n height: 5em;\n margin: 1.25em auto 1.875em;\n border: .25em solid transparent;\n border-radius: 50%;\n font-family: inherit;\n line-height: 5em;\n cursor: default;\n user-select: none; }\n .swal2-icon .swal2-icon-content {\n display: flex;\n align-items: center;\n font-size: 3.75em; }\n .swal2-icon.swal2-error {\n border-color: #f27474;\n color: #f27474; }\n .swal2-icon.swal2-error .swal2-x-mark {\n position: relative;\n flex-grow: 1; }\n .swal2-icon.swal2-error [class^='swal2-x-mark-line'] {\n display: block;\n position: absolute;\n top: 2.3125em;\n width: 2.9375em;\n height: .3125em;\n border-radius: .125em;\n background-color: #f27474; }\n .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='left'] {\n left: 1.0625em;\n transform: rotate(45deg); }\n .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='right'] {\n right: 1em;\n transform: rotate(-45deg); }\n .swal2-icon.swal2-error.swal2-icon-show {\n animation: swal2-animate-error-icon .5s; }\n .swal2-icon.swal2-error.swal2-icon-show .swal2-x-mark {\n animation: swal2-animate-error-x-mark .5s; }\n .swal2-icon.swal2-warning {\n border-color: #facea8;\n color: #f8bb86; }\n .swal2-icon.swal2-info {\n border-color: #9de0f6;\n color: #3fc3ee; }\n .swal2-icon.swal2-question {\n border-color: #c9dae1;\n color: #87adbd; }\n .swal2-icon.swal2-success {\n border-color: #a5dc86;\n color: #a5dc86; }\n .swal2-icon.swal2-success [class^='swal2-success-circular-line'] {\n position: absolute;\n width: 3.75em;\n height: 7.5em;\n transform: rotate(45deg);\n border-radius: 50%; }\n .swal2-icon.swal2-success [class^='swal2-success-circular-line'][class$='left'] {\n top: -.4375em;\n left: -2.0635em;\n transform: rotate(-45deg);\n transform-origin: 3.75em 3.75em;\n border-radius: 7.5em 0 0 7.5em; }\n .swal2-icon.swal2-success [class^='swal2-success-circular-line'][class$='right'] {\n top: -.6875em;\n left: 1.875em;\n transform: rotate(-45deg);\n transform-origin: 0 3.75em;\n border-radius: 0 7.5em 7.5em 0; }\n .swal2-icon.swal2-success .swal2-success-ring {\n position: absolute;\n z-index: 2;\n top: -.25em;\n left: -.25em;\n box-sizing: content-box;\n width: 100%;\n height: 100%;\n border: 0.25em solid rgba(165, 220, 134, 0.3);\n border-radius: 50%; }\n .swal2-icon.swal2-success .swal2-success-fix {\n position: absolute;\n z-index: 1;\n top: .5em;\n left: 1.625em;\n width: .4375em;\n height: 5.625em;\n transform: rotate(-45deg); }\n .swal2-icon.swal2-success [class^='swal2-success-line'] {\n display: block;\n position: absolute;\n z-index: 2;\n height: .3125em;\n border-radius: .125em;\n background-color: #a5dc86; }\n .swal2-icon.swal2-success [class^='swal2-success-line'][class$='tip'] {\n top: 2.875em;\n left: .8125em;\n width: 1.5625em;\n transform: rotate(45deg); }\n .swal2-icon.swal2-success [class^='swal2-success-line'][class$='long'] {\n top: 2.375em;\n right: .5em;\n width: 2.9375em;\n transform: rotate(-45deg); }\n .swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-tip {\n animation: swal2-animate-success-line-tip .75s; }\n .swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-long {\n animation: swal2-animate-success-line-long .75s; }\n .swal2-icon.swal2-success.swal2-icon-show .swal2-success-circular-line-right {\n animation: swal2-rotate-success-circular-line 4.25s ease-in; }\n\n.swal2-progress-steps {\n align-items: center;\n margin: 0 0 1.25em;\n padding: 0;\n background: inherit;\n font-weight: 600; }\n .swal2-progress-steps li {\n display: inline-block;\n position: relative; }\n .swal2-progress-steps .swal2-progress-step {\n z-index: 20;\n width: 2em;\n height: 2em;\n border-radius: 2em;\n background: #3085d6;\n color: #fff;\n line-height: 2em;\n text-align: center; }\n .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step {\n background: #3085d6; }\n .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step {\n background: #add8e6;\n color: #fff; }\n .swal2-progress-steps .swal2-progress-step.swal2-active-progress-step ~ .swal2-progress-step-line {\n background: #add8e6; }\n .swal2-progress-steps .swal2-progress-step-line {\n z-index: 10;\n width: 2.5em;\n height: .4em;\n margin: 0 -1px;\n background: #3085d6; }\n\n[class^='swal2'] {\n -webkit-tap-highlight-color: transparent; }\n\n.swal2-show {\n animation: swal2-show 0.3s; }\n\n.swal2-hide {\n animation: swal2-hide 0.15s forwards; }\n\n.swal2-noanimation {\n transition: none; }\n\n.swal2-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll; }\n\n.swal2-rtl .swal2-close {\n right: auto;\n left: 0; }\n\n.swal2-rtl .swal2-timer-progress-bar {\n right: 0;\n left: auto; }\n\n@supports (-ms-accelerator: true) {\n .swal2-range input {\n width: 100% !important; }\n .swal2-range output {\n display: none; } }\n\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n .swal2-range input {\n width: 100% !important; }\n .swal2-range output {\n display: none; } }\n\n@-moz-document url-prefix() {\n .swal2-close:focus {\n outline: 2px solid rgba(50, 100, 150, 0.4); } }\n\n@keyframes swal2-toast-show {\n 0% {\n transform: translateY(-0.625em) rotateZ(2deg); }\n 33% {\n transform: translateY(0) rotateZ(-2deg); }\n 66% {\n transform: translateY(0.3125em) rotateZ(2deg); }\n 100% {\n transform: translateY(0) rotateZ(0deg); } }\n\n@keyframes swal2-toast-hide {\n 100% {\n transform: rotateZ(1deg);\n opacity: 0; } }\n\n@keyframes swal2-toast-animate-success-line-tip {\n 0% {\n top: .5625em;\n left: .0625em;\n width: 0; }\n 54% {\n top: .125em;\n left: .125em;\n width: 0; }\n 70% {\n top: .625em;\n left: -.25em;\n width: 1.625em; }\n 84% {\n top: 1.0625em;\n left: .75em;\n width: .5em; }\n 100% {\n top: 1.125em;\n left: .1875em;\n width: .75em; } }\n\n@keyframes swal2-toast-animate-success-line-long {\n 0% {\n top: 1.625em;\n right: 1.375em;\n width: 0; }\n 65% {\n top: 1.25em;\n right: .9375em;\n width: 0; }\n 84% {\n top: .9375em;\n right: 0;\n width: 1.125em; }\n 100% {\n top: .9375em;\n right: .1875em;\n width: 1.375em; } }\n\n@keyframes swal2-show {\n 0% {\n transform: scale(0.7); }\n 45% {\n transform: scale(1.05); }\n 80% {\n transform: scale(0.95); }\n 100% {\n transform: scale(1); } }\n\n@keyframes swal2-hide {\n 0% {\n transform: scale(1);\n opacity: 1; }\n 100% {\n transform: scale(0.5);\n opacity: 0; } }\n\n@keyframes swal2-animate-success-line-tip {\n 0% {\n top: 1.1875em;\n left: .0625em;\n width: 0; }\n 54% {\n top: 1.0625em;\n left: .125em;\n width: 0; }\n 70% {\n top: 2.1875em;\n left: -.375em;\n width: 3.125em; }\n 84% {\n top: 3em;\n left: 1.3125em;\n width: 1.0625em; }\n 100% {\n top: 2.8125em;\n left: .8125em;\n width: 1.5625em; } }\n\n@keyframes swal2-animate-success-line-long {\n 0% {\n top: 3.375em;\n right: 2.875em;\n width: 0; }\n 65% {\n top: 3.375em;\n right: 2.875em;\n width: 0; }\n 84% {\n top: 2.1875em;\n right: 0;\n width: 3.4375em; }\n 100% {\n top: 2.375em;\n right: .5em;\n width: 2.9375em; } }\n\n@keyframes swal2-rotate-success-circular-line {\n 0% {\n transform: rotate(-45deg); }\n 5% {\n transform: rotate(-45deg); }\n 12% {\n transform: rotate(-405deg); }\n 100% {\n transform: rotate(-405deg); } }\n\n@keyframes swal2-animate-error-x-mark {\n 0% {\n margin-top: 1.625em;\n transform: scale(0.4);\n opacity: 0; }\n 50% {\n margin-top: 1.625em;\n transform: scale(0.4);\n opacity: 0; }\n 80% {\n margin-top: -.375em;\n transform: scale(1.15); }\n 100% {\n margin-top: 0;\n transform: scale(1);\n opacity: 1; } }\n\n@keyframes swal2-animate-error-icon {\n 0% {\n transform: rotateX(100deg);\n opacity: 0; }\n 100% {\n transform: rotateX(0deg);\n opacity: 1; } }\n\n@keyframes swal2-rotate-loading {\n 0% {\n transform: rotate(0deg); }\n 100% {\n transform: rotate(360deg); } }\n\nbody.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {\n overflow: hidden; }\n\nbody.swal2-height-auto {\n height: auto !important; }\n\nbody.swal2-no-backdrop .swal2-container {\n top: auto;\n right: auto;\n bottom: auto;\n left: auto;\n max-width: calc(100% - 0.625em * 2);\n background-color: transparent !important; }\n body.swal2-no-backdrop .swal2-container > .swal2-modal {\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); }\n body.swal2-no-backdrop .swal2-container.swal2-top {\n top: 0;\n left: 50%;\n transform: translateX(-50%); }\n body.swal2-no-backdrop .swal2-container.swal2-top-start, body.swal2-no-backdrop .swal2-container.swal2-top-left {\n top: 0;\n left: 0; }\n body.swal2-no-backdrop .swal2-container.swal2-top-end, body.swal2-no-backdrop .swal2-container.swal2-top-right {\n top: 0;\n right: 0; }\n body.swal2-no-backdrop .swal2-container.swal2-center {\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%); }\n body.swal2-no-backdrop .swal2-container.swal2-center-start, body.swal2-no-backdrop .swal2-container.swal2-center-left {\n top: 50%;\n left: 0;\n transform: translateY(-50%); }\n body.swal2-no-backdrop .swal2-container.swal2-center-end, body.swal2-no-backdrop .swal2-container.swal2-center-right {\n top: 50%;\n right: 0;\n transform: translateY(-50%); }\n body.swal2-no-backdrop .swal2-container.swal2-bottom {\n bottom: 0;\n left: 50%;\n transform: translateX(-50%); }\n body.swal2-no-backdrop .swal2-container.swal2-bottom-start, body.swal2-no-backdrop .swal2-container.swal2-bottom-left {\n bottom: 0;\n left: 0; }\n body.swal2-no-backdrop .swal2-container.swal2-bottom-end, body.swal2-no-backdrop .swal2-container.swal2-bottom-right {\n right: 0;\n bottom: 0; }\n\n@media print {\n body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {\n overflow-y: scroll !important; }\n body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) > [aria-hidden='true'] {\n display: none; }\n body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) .swal2-container {\n position: static !important; } }\n\nbody.swal2-toast-shown .swal2-container {\n background-color: transparent; }\n body.swal2-toast-shown .swal2-container.swal2-top {\n top: 0;\n right: auto;\n bottom: auto;\n left: 50%;\n transform: translateX(-50%); }\n body.swal2-toast-shown .swal2-container.swal2-top-end, body.swal2-toast-shown .swal2-container.swal2-top-right {\n top: 0;\n right: 0;\n bottom: auto;\n left: auto; }\n body.swal2-toast-shown .swal2-container.swal2-top-start, body.swal2-toast-shown .swal2-container.swal2-top-left {\n top: 0;\n right: auto;\n bottom: auto;\n left: 0; }\n body.swal2-toast-shown .swal2-container.swal2-center-start, body.swal2-toast-shown .swal2-container.swal2-center-left {\n top: 50%;\n right: auto;\n bottom: auto;\n left: 0;\n transform: translateY(-50%); }\n body.swal2-toast-shown .swal2-container.swal2-center {\n top: 50%;\n right: auto;\n bottom: auto;\n left: 50%;\n transform: translate(-50%, -50%); }\n body.swal2-toast-shown .swal2-container.swal2-center-end, body.swal2-toast-shown .swal2-container.swal2-center-right {\n top: 50%;\n right: 0;\n bottom: auto;\n left: auto;\n transform: translateY(-50%); }\n body.swal2-toast-shown .swal2-container.swal2-bottom-start, body.swal2-toast-shown .swal2-container.swal2-bottom-left {\n top: auto;\n right: auto;\n bottom: 0;\n left: 0; }\n body.swal2-toast-shown .swal2-container.swal2-bottom {\n top: auto;\n right: auto;\n bottom: 0;\n left: 50%;\n transform: translateX(-50%); }\n body.swal2-toast-shown .swal2-container.swal2-bottom-end, body.swal2-toast-shown .swal2-container.swal2-bottom-right {\n top: auto;\n right: 0;\n bottom: 0;\n left: auto; }\n\nbody.swal2-toast-column .swal2-toast {\n flex-direction: column;\n align-items: stretch; }\n body.swal2-toast-column .swal2-toast .swal2-actions {\n flex: 1;\n align-self: stretch;\n height: 2.2em;\n margin-top: .3125em; }\n body.swal2-toast-column .swal2-toast .swal2-loading {\n justify-content: center; }\n body.swal2-toast-column .swal2-toast .swal2-input {\n height: 2em;\n margin: .3125em auto;\n font-size: 1em; }\n body.swal2-toast-column .swal2-toast .swal2-validation-message {\n font-size: 1em; }\n\n#toast-container.toast-top-right {\n top: 76px; }\n\n#toast-container .toast-close-button {\n right: -0.15em; }\n\n#toast-container .toast {\n opacity: 1 !important;\n background-image: none !important;\n border-radius: 0.25rem;\n box-shadow: 0 0 8px rgba(0, 0, 0, 0.35);\n display: flex;\n align-items: center; }\n #toast-container .toast:hover {\n box-shadow: 0 0 10px rgba(0, 0, 0, 0.6); }\n #toast-container .toast:before {\n font-family: FontAwesome;\n font-size: 25px;\n line-height: 20px;\n float: left;\n color: #ffffff;\n padding-right: 10px;\n margin: auto 0 auto -36px; }\n #toast-container .toast .toaster-icon {\n display: none; }\n #toast-container .toast .toast-message p {\n margin-bottom: 0.5rem; }\n #toast-container .toast .toast-message p:last-child {\n margin-bottom: 0; }\n #toast-container .toast.toast-danger, #toast-container .toast.toast-error {\n background-image: none !important;\n background-color: #dd4b39; }\n #toast-container .toast.toast-danger:before, #toast-container .toast.toast-error:before {\n content: \"\\F0E7\";\n margin-left: -30px; }\n #toast-container .toast.toast-warning {\n background-image: none !important;\n background-color: #bf7e16; }\n #toast-container .toast.toast-warning:before {\n content: \"\\F071\"; }\n #toast-container .toast.toast-info {\n background-image: none !important;\n background-color: #555555; }\n #toast-container .toast.toast-info:before {\n content: \"\\F05A\"; }\n #toast-container .toast.toast-success {\n background-image: none !important;\n background-color: #00a65a; }\n #toast-container .toast.toast-success:before {\n content: \"\\F00C\"; }\n\n.swal2-container {\n background-color: rgba(0, 0, 0, 0.3); }\n\n.swal2-popup {\n padding: 15px 0 0;\n background-color: #fff;\n color: #333333;\n border: 1px solid #9a9a9a;\n border-radius: 0.3rem;\n width: 34em; }\n .swal2-popup .swal2-header {\n padding: 0 15px; }\n .swal2-popup .swal2-icon {\n margin: 0 auto;\n width: auto;\n height: auto;\n border: none; }\n .swal2-popup .swal2-content {\n padding-bottom: 15px;\n font-size: 1rem;\n border-bottom: 1px solid #dee2e6; }\n .swal2-popup i.swal-custom-icon {\n display: block;\n margin: 0 auto;\n font-size: 35px; }\n .swal2-popup .swal2-title {\n padding: 10px 0 15px;\n margin: 0;\n font-size: 1.15rem;\n color: #333333; }\n .swal2-popup .swal2-content {\n font-size: 1rem;\n color: #333333;\n padding: 0 15px 15px; }\n .swal2-popup .swal2-actions {\n padding: 15px;\n margin: 0;\n background-color: #fbfbfb;\n border-radius: 0.3rem;\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n font-size: 1rem; }\n .swal2-popup .swal2-actions button {\n margin-right: 10px; }\n .swal2-popup .swal2-actions button.swal2-confirm {\n font-weight: bold; }\n .swal2-popup .swal2-actions button.swal2-cancel {\n background-color: #ffffff; }\n\nhtml {\n font-size: 14px; }\n\nbody {\n min-width: 1010px; }\n body.layout_frontend {\n background-color: #ecf0f5; }\n body.full-width:not(.layout_frontend) .container {\n min-width: 980px;\n width: 90%; }\n\n.page-header, .secondary-header {\n border-bottom: 1px solid #dee2e6;\n padding-bottom: 0.6rem;\n margin-bottom: 0.5rem; }\n .page-header h1, .page-header h2, .page-header h3, .page-header h4, .secondary-header h1, .secondary-header h2, .secondary-header h3, .secondary-header h4 {\n margin: 0; }\n\nh1 small, h2 small, h3 small, h4 small, h5 small {\n font-size: 80%; }\n\ninput:required, select:required, textarea:required {\n box-shadow: none; }\n\n.secondary-header, .spaced-header {\n margin-top: 4rem; }\n\n.navbar {\n padding-left: 0;\n padding-right: 0; }\n .navbar .dropdown-menu {\n min-width: 200px;\n max-width: 300px; }\n .navbar .dropdown-menu .dropdown-item-text {\n line-height: 1.3; }\n .navbar .dropdown-menu .dropdown-item-text span, .navbar .dropdown-menu .dropdown-item-text small {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis; }\n .navbar .nav-link {\n font-weight: 600; }\n\n.navbar-brand {\n margin-top: -20px;\n margin-bottom: -20px; }\n\n.dropdown-menu button {\n cursor: pointer; }\n\n.container {\n width: 980px;\n max-width: none !important;\n margin: 0 auto;\n padding: 0; }\n\n.page-content {\n margin-top: 20px; }\n\n.footer {\n margin-top: 40px;\n padding: 40px 0 40px 0;\n border-top: 1px solid #dee2e6; }\n\n.list-group-item.active {\n border-left: 3px solid #175DDC;\n font-weight: bold;\n padding-left: calc(1.25rem - 3px); }\n\n.card-header, .modal-header {\n font-weight: bold;\n text-transform: uppercase; }\n .card-header small, .modal-header small {\n font-weight: normal;\n text-transform: none; }\n\n.card-body-header {\n font-size: 1.15rem; }\n\n.card ul.fa-ul.card-ul {\n margin-left: 1.9em; }\n .card ul.fa-ul.card-ul li {\n word-break: break-all; }\n .card ul.fa-ul.card-ul .fa-li {\n top: 4px; }\n .card ul.fa-ul.card-ul.carets {\n margin-left: 1.1em; }\n .card ul.fa-ul.card-ul.carets .fa-li {\n left: -17px;\n width: 1.1em; }\n .card ul.fa-ul.card-ul ul.carets {\n margin-left: 0.85em; }\n\n.card-org-plans h2 {\n font-size: 1.15rem; }\n\n.modal-dialog {\n width: 500px; }\n\n.modal-sm {\n width: 300px; }\n\n.modal-lg {\n width: 800px; }\n\n.modal-body h3 {\n font-weight: normal;\n text-transform: uppercase;\n color: #6c757d; }\n\n.modal .list-group-flush :first-child {\n border-top: none; }\n\n.modal .list-group-flush :last-child {\n border-bottom: none; }\n\n.modal-footer {\n justify-content: flex-start;\n background-color: #fbfbfb;\n border-radius: 0.3rem; }\n\nlabel:not(.form-check-label):not(.btn), label.bold {\n font-weight: 600; }\n\ninput[type=\"search\"]::-webkit-search-cancel-button {\n -webkit-appearance: searchfield-cancel-button; }\n\n.btn[class*=\"btn-outline-\"]:not(:hover), .swal2-popup .swal2-actions button[class*=\"btn-outline-\"]:not(:hover) {\n border-color: #ced4da;\n background-color: #fbfbfb; }\n\n.btn-outline-secondary, .swal2-popup .swal2-actions button.swal2-cancel {\n color: #6c757d; }\n .btn-outline-secondary:hover:not(:disabled), .swal2-popup .swal2-actions button.swal2-cancel:hover:not(:disabled) {\n color: #333333; }\n .btn-outline-secondary:disabled, .swal2-popup .swal2-actions button.swal2-cancel:disabled {\n opacity: 1; }\n\n.btn-submit {\n position: relative; }\n .btn-submit .fa-spinner {\n position: absolute;\n display: none;\n align-items: center;\n justify-content: center;\n bottom: 0;\n top: 0;\n left: 0;\n right: 0; }\n .btn-submit:disabled:not(.manual) .fa-spinner, .btn-submit.loading .fa-spinner {\n display: flex; }\n .btn-submit:disabled:not(.manual) span, .btn-submit.loading span {\n visibility: hidden; }\n\n.table.table-list thead th {\n border-top: none; }\n\n.table.table-list tr:first-child td {\n border: none; }\n\n.table.table-list td {\n vertical-align: middle; }\n .table.table-list td.reduced-lh {\n line-height: 1; }\n .table.table-list td.reduced-lh small {\n font-size: 80%; }\n .table.table-list td small, .table.table-list td > .fa, .table.table-list td .icon {\n color: #6c757d; }\n\n.table.table-list td.wrap {\n word-break: break-all; }\n\n.table.table-list td.table-list-options {\n width: 76px;\n max-width: 76px;\n text-align: right;\n height: 50px; }\n .table.table-list td.table-list-options.wider {\n width: 100px;\n max-width: 100px; }\n .table.table-list td.table-list-options .btn, .table.table-list td.table-list-options .swal2-popup .swal2-actions button, .swal2-popup .swal2-actions .table.table-list td.table-list-options button {\n line-height: 1;\n transition: initial; }\n .table.table-list td.table-list-options .dropdown-menu {\n line-height: 1.5; }\n\n.table.table-list td.table-list-icon {\n width: 45px;\n max-width: 45px;\n text-align: center; }\n .table.table-list td.table-list-icon img {\n max-height: 24px; }\n\n.table.table-list td.table-list-checkbox {\n width: 35px;\n max-width: 35px; }\n\n.table.table-list td.table-list-strike {\n color: #6c757d;\n text-decoration: line-through; }\n\n.text-lg {\n font-size: 1.15rem; }\n\n.text-strike {\n text-decoration: line-through; }\n\n.font-weight-semibold {\n font-weight: 600; }\n\n.password-wrapper {\n word-break: break-all;\n white-space: pre-wrap;\n min-width: 0; }\n\n.password-row {\n min-width: 0; }\n\n.password-number {\n color: #007fde; }\n\n.password-special {\n color: #c40800; }\n\napp-vault-groupings .card #search, app-org-vault-groupings .card #search, .groupings .card #search {\n margin-bottom: 1rem; }\n\napp-vault-groupings .card h3, app-org-vault-groupings .card h3, .groupings .card h3 {\n font-weight: normal;\n text-transform: uppercase;\n color: #6c757d; }\n\napp-vault-groupings .card ul:last-child, app-org-vault-groupings .card ul:last-child, .groupings .card ul:last-child {\n margin-bottom: 0; }\n\napp-vault-groupings .card .card-body a, app-org-vault-groupings .card .card-body a, .groupings .card .card-body a {\n color: #333333; }\n app-vault-groupings .card .card-body a:hover.text-muted, app-org-vault-groupings .card .card-body a:hover.text-muted, .groupings .card .card-body a:hover.text-muted {\n color: #333333 !important; }\n\napp-vault-groupings .card .show-active, app-org-vault-groupings .card .show-active, .groupings .card .show-active {\n display: none; }\n\napp-vault-groupings .card li > .fa, app-vault-groupings .card li > div > .fa, app-org-vault-groupings .card li > .fa, app-org-vault-groupings .card li > div > .fa, .groupings .card li > .fa, .groupings .card li > div > .fa {\n cursor: pointer; }\n\napp-vault-groupings .card li.active > .show-active, app-vault-groupings .card li.active > div .show-active, app-org-vault-groupings .card li.active > .show-active, app-org-vault-groupings .card li.active > div .show-active, .groupings .card li.active > .show-active, .groupings .card li.active > div .show-active {\n display: inline; }\n\napp-vault-groupings .card li.active > a:first-of-type, app-vault-groupings .card li.active > div a:first-of-type, app-org-vault-groupings .card li.active > a:first-of-type, app-org-vault-groupings .card li.active > div a:first-of-type, .groupings .card li.active > a:first-of-type, .groupings .card li.active > div a:first-of-type {\n font-weight: bold;\n color: #175DDC; }\n\napp-vault-groupings .card li.active > .fa, app-vault-groupings .card li.active > div > .fa, app-org-vault-groupings .card li.active > .fa, app-org-vault-groupings .card li.active > div > .fa, .groupings .card li.active > .fa, .groupings .card li.active > div > .fa {\n color: #175DDC; }\n\napp-password-generator #lengthRange {\n width: 100%; }\n\napp-password-generator .card-password .card-body {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n text-align: center;\n font-size: 1.15rem;\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; }\n\napp-password-generator-history .list-group-item {\n line-height: 1; }\n app-password-generator-history .list-group-item .password {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; }\n\napp-import textarea {\n height: 150px; }\n\napp-user-billing .progress {\n height: 20px; }\n app-user-billing .progress .progress-bar {\n min-width: 50px; }\n\n#duo-frame {\n background: url(../images/loading.svg) 0 0 no-repeat;\n height: 330px; }\n #duo-frame iframe {\n width: 100%;\n height: 100%;\n border: none; }\n\n#bt-dropin-container {\n background: url(../images/loading.svg) 0 0 no-repeat;\n min-height: 50px; }\n\n.braintree-placeholder, .braintree-sheet__header {\n display: none; }\n\n.braintree-sheet__content--button {\n text-align: left;\n padding: 0;\n min-height: 0; }\n\n.braintree-sheet__container {\n margin-bottom: 0; }\n\n.braintree-sheet {\n border: none; }\n\n.totp .totp-code {\n font-size: 1.2rem; }\n\n.totp .totp-countdown {\n margin: 3px 3px 0 0;\n display: block;\n user-select: none; }\n .totp .totp-countdown .totp-sec {\n font-size: 0.85em;\n position: absolute;\n line-height: 32px;\n width: 32px;\n text-align: center; }\n .totp .totp-countdown svg {\n width: 32px;\n height: 32px;\n transform: rotate(-90deg); }\n .totp .totp-countdown .totp-circle {\n fill: none;\n stroke: #175DDC; }\n .totp .totp-countdown .totp-circle.inner {\n stroke-width: 3;\n stroke-dasharray: 78.6;\n stroke-dashoffset: 0; }\n .totp .totp-countdown .totp-circle.outer {\n stroke-width: 2;\n stroke-dasharray: 88;\n stroke-dashoffset: 0; }\n\n.totp > .align-items-center {\n margin-bottom: -5px; }\n\n.totp.low .totp-sec, .totp.low .totp-code {\n color: #dd4b39; }\n\n.totp.low .totp-circle {\n stroke: #dd4b39; }\n\n.callout {\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-left-width: 5px;\n border-radius: calc(0.25rem - 1px);\n background-color: #fafafa; }\n .callout .callout-heading {\n margin-top: 0; }\n .callout h3.callout-heading {\n font-weight: bold;\n text-transform: uppercase; }\n .callout.callout-primary {\n border-left-color: #175DDC; }\n .callout.callout-primary .callout-heading {\n color: #175DDC; }\n .callout.callout-info {\n border-left-color: #343a40; }\n .callout.callout-info .callout-heading {\n color: #343a40; }\n .callout.callout-danger {\n border-left-color: #dd4b39; }\n .callout.callout-danger .callout-heading {\n color: #dd4b39; }\n .callout.callout-success {\n border-left-color: #00a65a; }\n .callout.callout-success .callout-heading {\n color: #00a65a; }\n .callout.callout-warning {\n border-left-color: #bf7e16; }\n .callout.callout-warning .callout-heading {\n color: #bf7e16; }\n\n.list-group-2fa .logo-2fa {\n min-width: 100px; }\n\n.form-check-block .form-check-label {\n font-weight: 600; }\n .form-check-block .form-check-label > small {\n display: block;\n color: #6c757d;\n font-weight: normal; }\n .form-check-block .form-check-label > span {\n display: block;\n font-weight: normal; }\n\n.form-inline input[type='datetime-local'] {\n width: 200px; }\n\n.form-control.stripe-form-control {\n padding-top: 0.55rem; }\n .form-control.stripe-form-control.is-focused {\n color: #495057;\n background-color: #ffffff;\n border-color: #81a9f2;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 93, 220, 0.25); }\n .form-control.stripe-form-control.is-focused.is-invalid {\n box-shadow: 0 0 0 0.2rem rgba(221, 75, 57, 0.25); }\n .form-control.stripe-form-control.is-invalid {\n border-color: #dd4b39; }\n\n.org-nav {\n background-color: #fbfbfb;\n border-bottom: 1px solid #dee2e6;\n height: 100px;\n min-height: 100px; }\n .org-nav .container {\n height: 100%; }\n .org-nav .nav-tabs {\n border-bottom: none; }\n .org-nav .nav-tabs a {\n color: #333333; }\n .org-nav .nav-tabs a:not(.active) {\n border-color: transparent; }\n .org-nav .nav-tabs a.active {\n border-top: 3px solid #175DDC;\n font-weight: bold;\n padding-top: calc(0.5rem - 2px); }\n .org-nav .nav-tabs a.disabled {\n color: #b4b4b4; }\n .org-nav .org-name {\n line-height: 1; }\n .org-nav .org-name span {\n font-size: 1.15rem;\n display: block; }\n\nimg.logo {\n width: 284px;\n height: 43px;\n margin: 0 auto;\n display: block; }\n\n.min-height-fix {\n min-height: 1px; }\n\n.overflow-hidden {\n overflow: hidden; }\n\n.cdk-drag-preview {\n z-index: 1070 !important;\n opacity: 0.8;\n background-color: #fff;\n border-radius: 0.25rem; }\n\n.cursor-move {\n cursor: move !important; }\n\n.layout.enterprise2 header {\n color: #ced4da;\n background-color: #175DDC; }\n .layout.enterprise2 header:before {\n content: \"\";\n position: absolute;\n z-index: -1;\n width: 100%;\n height: 340px;\n left: 0;\n transform: skewY(-3deg);\n background: #175DDC; }\n .layout.enterprise2 header img.logo {\n margin: 12px 0 0;\n width: 284px;\n max-width: 284px;\n height: auto; }\n\n.layout.enterprise2 h2 {\n color: #ffffff;\n font-size: 1.8rem;\n margin: 100px 0 150px 0; }\n\n.layout.enterprise2 p {\n margin: 20px 0 40px 0;\n font-size: 1.4rem; }\n .layout.enterprise2 p:before {\n content: \"/\";\n padding-right: 12px; }\n .layout.enterprise2 p:not(.highlight):before {\n color: #1252A3; }\n .layout.enterprise2 p b:after {\n content: \"\\27F6\";\n font-size: 2rem;\n padding-left: 6px; }\n\n.layout.enterprise2 blockquote {\n margin: 20px 0 0 0;\n font-size: 1.4rem;\n padding-right: 40px; }\n"],"sourceRoot":""} \ No newline at end of file diff --git a/app/main.9f15875cff59b5963eea.js b/app/main.9f15875cff59b5963eea.js new file mode 100644 index 00000000..008bccd7 --- /dev/null +++ b/app/main.9f15875cff59b5963eea.js @@ -0,0 +1,2 @@ +!function(e){function t(t){for(var r,a,s=t[0],l=t[1],c=t[2],u=0,d=[];u1&&(r+=e.slice(1)),void 0===t[e=r]&&(e=e.toLowerCase()),void 0===t[e]&&(e=e.toUpperCase())}return t[e]},e}();t.BaseResponse=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(698),i=n(143),o=n(157),a=n(255),s=n(34),l=n(209),c=n(129),p=n(159),u=n(94),d=n(40),m=n(128),h=n(112),f=n(697),v=function(){function e(){this.organizationId=null,this.logService=new f.ConsoleLogService(!1),this.newLineRegex=/(?:\r\n|\r|\n)/,this.passwordFieldNames=["password","pass word","passphrase","pass phrase","pass","code","code word","codeword","secret","secret word","personpwd","key","keyword","key word","keyphrase","key phrase","form_pw","wppassword","pin","pwd","pw","pword","passwd","p","serial","serial#","license key","reg #","passwort"],this.usernameFieldNames=["user","name","user name","username","login name","email","e-mail","id","userid","user id","login","form_loginname","wpname","mail","loginid","login id","log","personlogin","first name","last name","card#","account #","member","member #","nom","benutzername"],this.notesFieldNames=["note","notes","comment","comments","memo","description","free form","freeform","free text","freetext","free","kommentar"],this.uriFieldNames=["url","hyper link","hyperlink","link","host","hostname","host name","server","address","hyper ref","href","web","website","web site","site","web-site","uri","ort","adresse"],this.parseCsvOptions={encoding:"UTF-8",skipEmptyLines:!1}}return Object.defineProperty(e.prototype,"organization",{get:function(){return null!=this.organizationId},enumerable:!0,configurable:!0}),e.prototype.parseXml=function(e){var t=(new DOMParser).parseFromString(e,"application/xml");return null!=t&&null==t.querySelector("parsererror")?t:null},e.prototype.parseCsv=function(e,t,n){var i=this;void 0===n&&(n={});var o=Object.assign({header:t},this.parseCsvOptions,n);e=this.splitNewLine(e).join("\n").trim();var a=r.parse(e,o);return null!=a.errors&&a.errors.length>0&&a.errors.forEach(function(e){null!=e.row&&i.logService.warning("Error parsing row "+e.row+": "+e.message)}),a.data&&a.data.length>0?a.data:null},e.prototype.parseSingleRowCsv=function(e){if(this.isNullOrWhitespace(e))return null;var t=this.parseCsv(e,!1);return null!=t&&t.length>0&&t[0].length>0?t[0]:null},e.prototype.makeUriArray=function(e){var t=this;if(null==e)return null;if("string"==typeof e){var n=new a.LoginUriView;return n.uri=this.fixUri(e),this.isNullOrWhitespace(n.uri)?null:(n.match=null,[n])}if(e.length>0){var r=[];return e.forEach(function(e){var n=new a.LoginUriView;n.uri=t.fixUri(e),t.isNullOrWhitespace(n.uri)||(n.match=null,r.push(n))}),0===r.length?null:r}return null},e.prototype.fixUri=function(e){return null==e?null:(-1===(e=e.trim()).indexOf("://")&&e.indexOf(".")>=0&&(e="http://"+e),e.length>1e3?e.substring(0,1e3):e)},e.prototype.nameFromUrl=function(e){var t=s.Utils.getHostname(e);return this.isNullOrWhitespace(t)?null:t.startsWith("www.")?t.replace("www.",""):t},e.prototype.isNullOrWhitespace=function(e){return s.Utils.isNullOrWhitespace(e)},e.prototype.getValueOrDefault=function(e,t){return void 0===t&&(t=null),this.isNullOrWhitespace(e)?t:e},e.prototype.splitNewLine=function(e){return e.split(this.newLineRegex)},e.prototype.getCardBrand=function(e){if(this.isNullOrWhitespace(e))return null;var t=new RegExp("^4");return null!=e.match(t)?"Visa":/^(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))$/.test(e)?"Mastercard":(t=new RegExp("^3[47]"),null!=e.match(t)?"Amex":(t=new RegExp("^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)"),null!=e.match(t)?"Discover":(t=new RegExp("^36"),null!=e.match(t)?"Diners Club":(t=new RegExp("^30[0-5]"),null!=e.match(t)?"Diners Club":(t=new RegExp("^35(2[89]|[3-8][0-9])"),null!=e.match(t)?"JCB":(t=new RegExp("^(4026|417500|4508|4844|491(3|7))"),null!=e.match(t)?"Visa":null))))))},e.prototype.setCardExpiration=function(e,t){if(!this.isNullOrWhitespace(t)){var n=t.split("/");if(2===n.length){var r=null,i=null;if(1!==n[0].length&&2!==n[0].length||2===(r=n[0]).length&&"0"===r[0]&&(r=r.substr(1,1)),2!==n[1].length&&4!==n[1].length||(i=2===r.length?"20"+n[1]:n[1]),null!=r&&null!=i)return e.card.expMonth=r,e.card.expYear=i,!0}}return!1},e.prototype.moveFoldersToCollections=function(e){e.folderRelationships.forEach(function(t){return e.collectionRelationships.push(t)}),e.collections=e.folders.map(function(e){var t=new o.CollectionView;return t.name=e.name,t}),e.folderRelationships=[],e.folders=[]},e.prototype.querySelectorDirectChild=function(e,t){var n=this.querySelectorAllDirectChild(e,t);return 0===n.length?null:n[0]},e.prototype.querySelectorAllDirectChild=function(e,t){return Array.from(e.querySelectorAll(t)).filter(function(t){return t.parentNode===e})},e.prototype.initLoginCipher=function(){var e=new i.CipherView;return e.favorite=!1,e.notes="",e.fields=[],e.login=new p.LoginView,e.type=d.CipherType.Login,e},e.prototype.cleanupCipher=function(e){null!=e&&(e.type!==d.CipherType.Login&&(e.login=null),this.isNullOrWhitespace(e.name)&&(e.name="--"),this.isNullOrWhitespace(e.notes)?e.notes=null:e.notes=e.notes.trim(),null!=e.fields&&0===e.fields.length&&(e.fields=null))},e.prototype.processKvp=function(e,t,n,r){if(void 0===r&&(r=m.FieldType.Text),!this.isNullOrWhitespace(n))if(this.isNullOrWhitespace(t)&&(t=""),n.length>200||n.trim().search(this.newLineRegex)>-1)null==e.notes&&(e.notes=""),e.notes+=t+": "+this.splitNewLine(n).join("\n")+"\n";else{null==e.fields&&(e.fields=[]);var i=new l.FieldView;i.type=r,i.name=t,i.value=n,e.fields.push(i)}},e.prototype.processFolder=function(e,t){var n=e.folders.length,r=!this.isNullOrWhitespace(t),i=r;if(r)for(var o=0;o-1&&(n=t.getUrlObject("http://"+e)));return n},t.getUrlObject=function(e){try{if(null!=a)return a.URL?new a.URL(e):a.parse(e);if("function"==typeof URL)return new URL(e);if(null!=window){var t=e.indexOf("://")>-1;if(!t&&e.indexOf(".")>-1)e="http://"+e;else if(!t)return null;var n=window.document.createElement("a");return n.href=e,n}}catch(r){}return null},t.inited=!1,t.isNativeScript=!1,t.isNode=!1,t.isBrowser=!0,t.isMobileBrowser=!1,t.isAppleMobileBrowser=!1,t.global=null,t.tldEndingRegex=/.*\.(com|net|org|edu|uk|gov|ca|de|jp|fr|au|ru|ch|io|es|us|co|xyz|info|ly|mil)$/,t}();t.Utils=s,s.init()}).call(this,n(127),n(101),n(106).Buffer)},,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.PasswordGenerationService=r},,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.StateService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(0),i=function(){function e(){}return e.prototype.onClick=function(e){e.preventDefault()},e.ɵfac=function(t){return new(t||e)},e.ɵdir=r.ɵɵdefineDirective({type:e,selectors:[["","appStopClick",""]],hostBindings:function(e,t){1&e&&r.ɵɵlistener("click",function(e){return t.onClick(e)})}}),e}();t.StopClickDirective=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Login=1]="Login",e[e.SecureNote=2]="SecureNote",e[e.Card=3]="Card",e[e.Identity=4]="Identity"}(t.CipherType||(t.CipherType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.CollectionService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.StorageService=r},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(0),i=function(){function e(e,t){this.el=e,this.renderer=t}return Object.defineProperty(e.prototype,"appInputVerbatim",{set:function(e){this.disableComplete=""===e||!0===e},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){this.disableComplete&&!this.el.nativeElement.hasAttribute("autocomplete")&&this.renderer.setAttribute(this.el.nativeElement,"autocomplete","off"),this.el.nativeElement.hasAttribute("autocapitalize")||this.renderer.setAttribute(this.el.nativeElement,"autocapitalize","none"),this.el.nativeElement.hasAttribute("autocorrect")||this.renderer.setAttribute(this.el.nativeElement,"autocorrect","none"),this.el.nativeElement.hasAttribute("spellcheck")||this.renderer.setAttribute(this.el.nativeElement,"spellcheck","false"),this.el.nativeElement.hasAttribute("inputmode")||this.renderer.setAttribute(this.el.nativeElement,"inputmode","verbatim")},e.ɵfac=function(t){return new(t||e)(r.ɵɵdirectiveInject(r.ElementRef),r.ɵɵdirectiveInject(r.Renderer2))},e.ɵdir=r.ɵɵdefineDirective({type:e,selectors:[["","appInputVerbatim",""]],inputs:{appInputVerbatim:"appInputVerbatim"}}),e}();t.InputVerbatimDirective=i},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.FolderService=r},,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.PolicyService=r},,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(0),i=function(){function e(){}return e.prototype.onClick=function(e){e.stopPropagation()},e.ɵfac=function(t){return new(t||e)},e.ɵdir=r.ɵɵdefineDirective({type:e,selectors:[["","appStopProp",""]],hostBindings:function(e,t){1&e&&r.ɵɵlistener("click",function(e){return t.onClick(e)})}}),e}();t.StopPropDirective=i},,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.AuthService=r},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(34),i=n(0),o=function(){function e(e){this.el=e}return Object.defineProperty(e.prototype,"appAutofocus",{set:function(e){this.autofocus=""===e||!0===e},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){!r.Utils.isMobileBrowser&&this.autofocus&&this.el.nativeElement.focus()},e.ɵfac=function(t){return new(t||e)(i.ɵɵdirectiveInject(i.ElementRef))},e.ɵdir=i.ɵɵdefineDirective({type:e,selectors:[["","appAutofocus",""]],inputs:{appAutofocus:"appAutofocus"}}),e}();t.AutofocusDirective=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.SyncService=r},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(){this.environmentUrlsKey=e.environmentUrlsKey,this.disableGaKey=e.disableGaKey,this.disableAddLoginNotificationKey=e.disableAddLoginNotificationKey,this.disableContextMenuItemKey=e.disableContextMenuItemKey,this.disableFaviconKey=e.disableFaviconKey,this.disableAutoTotpCopyKey=e.disableAutoTotpCopyKey,this.enableAutoFillOnPageLoadKey=e.enableAutoFillOnPageLoadKey,this.vaultTimeoutKey=e.vaultTimeoutKey,this.vaultTimeoutActionKey=e.vaultTimeoutActionKey,this.lastActiveKey=e.lastActiveKey,this.neverDomainsKey=e.neverDomainsKey,this.installedVersionKey=e.installedVersionKey,this.localeKey=e.localeKey,this.themeKey=e.themeKey,this.collapsedGroupingsKey=e.collapsedGroupingsKey,this.autoConfirmFingerprints=e.autoConfirmFingerprints,this.dontShowCardsCurrentTab=e.dontShowCardsCurrentTab,this.dontShowIdentitiesCurrentTab=e.dontShowIdentitiesCurrentTab,this.defaultUriMatch=e.defaultUriMatch,this.pinProtectedKey=e.pinProtectedKey,this.protectedPin=e.protectedPin,this.clearClipboardKey=e.clearClipboardKey,this.eventCollectionKey=e.eventCollectionKey,this.ssoCodeVerifierKey=e.ssoCodeVerifierKey,this.ssoStateKey=e.ssoStateKey,this.biometricUnlockKey=e.biometricUnlockKey,this.biometricText=e.biometricText,this.biometricAwaitingAcceptance=e.biometricAwaitingAcceptance,this.biometricFingerprintValidated=e.biometricFingerprintValidated}return e.environmentUrlsKey="environmentUrls",e.disableGaKey="disableGa",e.disableAddLoginNotificationKey="disableAddLoginNotification",e.disableChangedPasswordNotificationKey="disableChangedPasswordNotification",e.disableContextMenuItemKey="disableContextMenuItem",e.disableFaviconKey="disableFavicon",e.disableAutoTotpCopyKey="disableAutoTotpCopy",e.enableAutoFillOnPageLoadKey="enableAutoFillOnPageLoad",e.vaultTimeoutKey="lockOption",e.vaultTimeoutActionKey="vaultTimeoutAction",e.lastActiveKey="lastActive",e.neverDomainsKey="neverDomains",e.installedVersionKey="installedVersion",e.localeKey="locale",e.themeKey="theme",e.collapsedGroupingsKey="collapsedGroupings",e.autoConfirmFingerprints="autoConfirmFingerprints",e.dontShowCardsCurrentTab="dontShowCardsCurrentTab",e.dontShowIdentitiesCurrentTab="dontShowIdentitiesCurrentTab",e.defaultUriMatch="defaultUriMatch",e.pinProtectedKey="pinProtectedKey",e.protectedPin="protectedPin",e.clearClipboardKey="clearClipboardKey",e.eventCollectionKey="eventCollection",e.ssoCodeVerifierKey="ssoCodeVerifier",e.ssoStateKey="ssoState",e.biometricUnlockKey="biometric",e.biometricText="biometricText",e.biometricAwaitingAcceptance="biometricAwaitingAcceptance",e.biometricFingerprintValidated="biometricFingerprintValidated",e}();t.ConstantsService=r},,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.EventService=r},,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.EnvironmentService=r},,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.PasswordVerificationRequest=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1?e[a]=s||null:e[a]=s?new o.CipherString(s):null}},e.prototype.buildDataModel=function(e,t,n,r){for(var i in void 0===r&&(r=[]),n)if(n.hasOwnProperty(i)){var o=e[n[i]||i];r.indexOf(i)>-1?t[i]=null!=o?o:null:t[i]=null!=o?o.encryptedString:null}},e.prototype.decryptObj=function(e,t,n,o){return void 0===o&&(o=null),r(this,void 0,void 0,function(){var r,a,s;return i(this,function(i){switch(i.label){case 0:for(s in r=[],a=this,t)t.hasOwnProperty(s)&&function(i){var s=Promise.resolve().then(function(){var e=t[i]||i;return a[e]?a[e].decrypt(n,o):null}).then(function(t){e[i]=t});r.push(s)}(s);return[4,Promise.all(r)];case 1:return i.sent(),[2,e]}})})},e}();t.default=a},,,function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(270),a=(n(0),n(833)),s=n(34),l=(n(15),n(0)),c=n(15);function p(e,t){}var u=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.el=null,r}return i(t,e),t.prototype.ngOnDestroy=function(){},t.prototype.show=function(e,t,n,r){var i=this;void 0===n&&(n=!0),void 0===r&&(r=null),this.parentContainer=t,this.fade=n;var a=this.componentFactoryResolver.resolveComponentFactory(e),l=this.container.createComponent(a);null!=r&&r(l.instance);var c=Array.from(document.querySelectorAll(".modal"));return c.length>0&&(this.el=o(c[0]),this.el.modal("show"),this.el.on("show.bs.modal",function(){i.onShow.emit(),i.messagingService.send("modalShow")}),this.el.on("shown.bs.modal",function(){i.onShown.emit(),i.messagingService.send("modalShown"),s.Utils.isMobileBrowser||i.el.find("*[appAutoFocus]").focus()}),this.el.on("hide.bs.modal",function(){i.onClose.emit(),i.messagingService.send("modalClose")}),this.el.on("hidden.bs.modal",function(){i.onClosed.emit(),i.messagingService.send("modalClosed"),null!=i.parentContainer&&i.parentContainer.clear()})),l.instance},t.prototype.close=function(){null!=this.el&&this.el.modal("hide")},t.ɵfac=function(e){return new(e||t)(l.ɵɵdirectiveInject(l.ComponentFactoryResolver),l.ɵɵdirectiveInject(c.MessagingService))},t.ɵcmp=l.ɵɵdefineComponent({type:t,selectors:[["app-modal"]],features:[l.ɵɵInheritDefinitionFeature],decls:2,vars:0,consts:[["container",""]],template:function(e,t){1&e&&l.ɵɵtemplate(0,p,0,0,"ng-template",null,0,l.ɵɵtemplateRefExtractor)},encapsulation:2}),t}(a.ModalComponent);t.ModalComponent=u},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.SearchService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.AuditService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.cardholderName=null,this.expMonth=null,this.expYear=null,this.code=null,this._brand=null,this._number=null,this._subTitle=null}return Object.defineProperty(e.prototype,"maskedCode",{get:function(){return null!=this.code?"•".repeat(this.code.length):null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"brand",{get:function(){return this._brand},set:function(e){this._brand=e,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"number",{get:function(){return this._number},set:function(e){this._number=e,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"subTitle",{get:function(){if(null==this._subTitle&&(this._subTitle=this.brand,null!=this.number&&this.number.length>=4)){null!=this._subTitle&&""!==this._subTitle?this._subTitle+=", ":this._subTitle="";var e=this.number.length>=5&&null!=this.number.match(new RegExp("^3[47]"))?5:4;this._subTitle+="*"+this.number.substr(this.number.length-e)}return this._subTitle},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"expiration",{get:function(){if(!this.expMonth&&!this.expYear)return null;var e=null!=this.expMonth?("0"+this.expMonth).slice(-2):"__";return e+=" / "+(null!=this.expYear?this.formatYear(this.expYear):"____")},enumerable:!0,configurable:!0}),e.prototype.formatYear=function(e){return 2===e.length?"20"+e:e},e}();t.CardView=r},,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.type=null,e&&(this.type=e.type)}return Object.defineProperty(e.prototype,"subTitle",{get:function(){return null},enumerable:!0,configurable:!0}),e}();t.SecureNoteView=r},,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.TokenService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.CryptoFunctionService=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1?(e="http://"+e,t=!0):this.imageEnabled&&(t=0===e.indexOf("http")&&e.indexOf(".")>-1),this.imageEnabled&&t)try{this.image=this.iconsUrl+"/"+s.Utils.getHostname(e)+"/icon.png",this.fallbackImage="images/fa-globe.png"}catch(n){}}else this.image=null},e.ɵfac=function(t){return new(t||e)(l.ɵɵdirectiveInject(c.EnvironmentService),l.ɵɵdirectiveInject(p.StateService))},e.ɵcmp=l.ɵɵdefineComponent({type:e,selectors:[["app-vault-icon"]],inputs:{cipher:"cipher"},features:[l.ɵɵNgOnChangesFeature],decls:7,vars:2,consts:[["aria-hidden","true",1,"icon"],["alt","",3,"src","appFallbackSrc",4,"ngIf"],[3,"class",4,"ngIf"],["alt","",3,"src","appFallbackSrc"]],template:function(e,t){1&e&&(l.ɵɵelementStart(0,"div",0),l.ɵɵtext(1,"\n "),l.ɵɵtemplate(2,m,1,2,"img",1),l.ɵɵtext(3,"\n "),l.ɵɵtemplate(4,h,1,3,"i",2),l.ɵɵtext(5,"\n"),l.ɵɵelementEnd(),l.ɵɵtext(6,"\n")),2&e&&(l.ɵɵadvance(2),l.ɵɵproperty("ngIf",t.imageEnabled&&t.image),l.ɵɵadvance(2),l.ɵɵproperty("ngIf",!t.imageEnabled||!t.image))},directives:[u.NgIf,d.FallbackSrcDirective],encapsulation:2}),e}();t.IconComponent=v},,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.VaultTimeoutService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Generic=0]="Generic"}(t.SecureNoteType||(t.SecureNoteType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Authenticator=0]="Authenticator",e[e.Email=1]="Email",e[e.Duo=2]="Duo",e[e.Yubikey=3]="Yubikey",e[e.U2f=4]="U2f",e[e.Remember=5]="Remember",e[e.OrganizationDuo=6]="OrganizationDuo"}(t.TwoFactorProviderType||(t.TwoFactorProviderType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.TotpService=r},,,function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});n(0);var o=n(809),a=n(0),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.ɵfac=function(e){return l(e||t)},t.ɵprov=a.ɵɵdefineInjectable({token:t,factory:t.ɵfac}),t}(o.BroadcasterService);t.BroadcasterService=s;var l=a.ɵɵgetInheritedFactory(s)},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1)try{window.document.body.removeChild(e)}catch(t){}})},500),this.hidePaypal||(window.document.head.removeChild(this.btScript),window.setTimeout(function(){Array.from(window.document.head.querySelectorAll("script")).forEach(function(e){if(null!=e.src&&e.src.indexOf("paypal")>-1)try{window.document.head.removeChild(e)}catch(t){}});var e=window.document.head.querySelector("#braintree-dropin-stylesheet");if(null!=e)try{window.document.head.removeChild(e)}catch(t){}},500))},e.prototype.changeMethod=function(){var e=this;this.btInstance=null,this.method===o.PaymentMethodType.PayPal?window.setTimeout(function(){window.braintree.dropin.create({authorization:e.platformUtilsService.isDev()?a.WebConstants.btSandboxKey:a.WebConstants.btProductionKey,container:"#bt-dropin-container",paymentOptionPriority:["paypal"],paypal:{flow:"vault",buttonStyle:{label:"pay",size:"medium",shape:"pill",color:"blue"}}},function(t,n){null==t?e.btInstance=n:console.error(t)})},250):this.setStripeElement()},e.prototype.createPaymentToken=function(){var e=this;return new Promise(function(t,n){e.method===o.PaymentMethodType.Credit?t([null,e.method]):e.method===o.PaymentMethodType.PayPal?e.btInstance.requestPaymentMethod().then(function(n){t([n.nonce,e.method])}).catch(function(e){n(e.message)}):e.method!==o.PaymentMethodType.Card&&e.method!==o.PaymentMethodType.BankAccount||(e.method===o.PaymentMethodType.Card?e.apiService.postSetupPayment().then(function(t){return e.stripe.handleCardSetup(t,e.stripeCardNumberElement)}).then(function(r){r.error?n(r.error.message):r.setupIntent&&"succeeded"===r.setupIntent.status?t([r.setupIntent.payment_method,e.method]):n()}):e.stripe.createToken("bank_account",e.bank).then(function(r){r.error?n(r.error.message):r.token&&null!=r.token.id?t([r.token.id,e.method]):n()}))})},e.prototype.handleStripeCardPayment=function(e,t){var n=this;return new Promise(function(o,a){if(!n.showMethods||null!=n.stripeCardNumberElement){return(n.showMethods?n.stripe.handleCardSetup(e,n.stripeCardNumberElement):n.stripe.handleCardSetup(e)).then(function(e){return r(n,void 0,void 0,function(){return i(this,function(n){switch(n.label){case 0:return e.error?(a(e.error.message),[3,5]):[3,1];case 1:return e.paymentIntent&&"succeeded"===e.paymentIntent.status?null==t?[3,3]:[4,t()]:[3,4];case 2:n.sent(),n.label=3;case 3:return o(),[3,5];case 4:a(),n.label=5;case 5:return[2]}})})})}a()})},e.prototype.setStripeElement=function(){var e=this;window.setTimeout(function(){e.showMethods&&e.method===o.PaymentMethodType.Card&&(null==e.stripeCardNumberElement&&(e.stripeCardNumberElement=e.stripeElements.create("cardNumber",{style:I,classes:E,placeholder:""})),null==e.stripeCardExpiryElement&&(e.stripeCardExpiryElement=e.stripeElements.create("cardExpiry",{style:I,classes:E})),null==e.stripeCardCvcElement&&(e.stripeCardCvcElement=e.stripeElements.create("cardCvc",{style:I,classes:E,placeholder:""})),e.stripeCardNumberElement.mount("#stripe-card-number-element"),e.stripeCardExpiryElement.mount("#stripe-card-expiry-element"),e.stripeCardCvcElement.mount("#stripe-card-cvc-element"))},50)},e.ɵfac=function(t){return new(t||e)(s.ɵɵdirectiveInject(l.PlatformUtilsService),s.ɵɵdirectiveInject(c.ApiService))},e.ɵcmp=s.ɵɵdefineComponent({type:e,selectors:[["app-payment"]],inputs:{showMethods:"showMethods",showOptions:"showOptions",method:"method",hideBank:"hideBank",hidePaypal:"hidePaypal",hideCredit:"hideCredit"},decls:10,vars:5,consts:[["class","mb-4 text-lg",4,"ngIf"],[4,"ngIf"],[1,"mb-4","text-lg"],[1,"form-check","form-check-inline","mr-4"],["type","radio","name","Method","id","method-card",1,"form-check-input",3,"value","ngModel","ngModelChange","change"],["for","method-card",1,"form-check-label"],["aria-hidden","true",1,"fa","fa-fw","fa-credit-card"],["class","form-check form-check-inline mr-4",4,"ngIf"],["class","form-check form-check-inline",4,"ngIf"],["type","radio","name","Method","id","method-bank",1,"form-check-input",3,"value","ngModel","ngModelChange","change"],["for","method-bank",1,"form-check-label"],["aria-hidden","true",1,"fa","fa-fw","fa-university"],[1,"form-check","form-check-inline"],["type","radio","name","Method","id","method-paypal",1,"form-check-input",3,"value","ngModel","ngModelChange","change"],["for","method-paypal",1,"form-check-label"],["aria-hidden","true",1,"fa","fa-fw","fa-paypal"],["type","radio","name","Method","id","method-credit",1,"form-check-input",3,"value","ngModel","ngModelChange","change"],["for","method-credit",1,"form-check-label"],["aria-hidden","true",1,"fa","fa-fw","fa-dollar"],[1,"row"],[1,"form-group","col-4"],["for","stripe-card-number-element"],["id","stripe-card-number-element",1,"form-control","stripe-form-control"],[1,"form-group","col-8","d-flex","align-items-end"],["src","images/cards.png","alt","Visa, MasterCard, Discover, AmEx, JCB, Diners Club, UnionPay","width","323","height","32"],["for","stripe-card-expiry-element"],["id","stripe-card-expiry-element",1,"form-control","stripe-form-control"],[1,"d-flex"],["for","stripe-card-cvc-element"],["href","https://www.cvvnumber.com/cvv.html","tabindex","-1","target","_blank","rel","noopener noreferrer",1,"ml-auto",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],["id","stripe-card-cvc-element",1,"form-control","stripe-form-control"],["type","warning",3,"title"],[1,"form-group","col-6"],["for","routing_number"],["id","routing_number","type","text","name","routing_number","required","","appInputVerbatim","",1,"form-control",3,"ngModel","ngModelChange"],["for","account_number"],["id","account_number","type","text","name","account_number","required","","appInputVerbatim","",1,"form-control",3,"ngModel","ngModelChange"],["for","account_holder_name"],["id","account_holder_name","type","text","name","account_holder_name","required","",1,"form-control",3,"ngModel","ngModelChange"],["for","account_holder_type"],["id","account_holder_type","name","account_holder_type","required","",1,"form-control",3,"ngModel","ngModelChange"],["value",""],["value","company"],["value","individual"],[1,"mb-3"],["id","bt-dropin-container",1,"mb-1"],[1,"text-muted"],["type","note"]],template:function(e,t){1&e&&(s.ɵɵtemplate(0,x,19,8,"div",0),s.ɵɵtext(1,"\n"),s.ɵɵtemplate(2,b,46,12,"ng-container",1),s.ɵɵtext(3,"\n"),s.ɵɵtemplate(4,S,60,34,"ng-container",1),s.ɵɵtext(5,"\n"),s.ɵɵtemplate(6,w,11,3,"ng-container",1),s.ɵɵtext(7,"\n"),s.ɵɵtemplate(8,C,6,3,"ng-container",1),s.ɵɵtext(9,"\n")),2&e&&(s.ɵɵproperty("ngIf",t.showOptions&&t.showMethods),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",t.showMethods&&t.method===t.paymentMethodType.Card),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",t.showMethods&&t.method===t.paymentMethodType.BankAccount),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",t.showMethods&&t.method===t.paymentMethodType.PayPal),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",t.showMethods&&t.method===t.paymentMethodType.Credit))},directives:[p.NgIf,u.RadioControlValueAccessor,u.DefaultValueAccessor,u.NgControlStatus,u.NgModel,d.A11yTitleDirective,m.CalloutComponent,u.RequiredValidator,h.InputVerbatimDirective,u.SelectControlValueAccessor,u.NgSelectOption,u.ɵangular_packages_forms_forms_x],pipes:[f.I18nPipe],encapsulation:2}),e}();t.PaymentComponent=P},,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Text=0]="Text",e[e.Hidden=1]="Hidden",e[e.Boolean=2]="Boolean"}(t.FieldType||(t.FieldType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.id=null,this.name=null,this.revisionDate=null,e&&(this.id=e.id,this.revisionDate=e.revisionDate)}}();t.FolderView=r},,,,,,,,,,,function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1&&(n=this.getFirstLetters(r,this.charCount)),null==n&&(n=r.substr(0,this.charCount)),a=this.getCharText(n),s=this.stringToColor(r),(l=this.getSvg(this.size,s)).appendChild(a),c=window.document.createElement("div").appendChild(l).outerHTML,p=window.btoa(unescape(encodeURIComponent(c))),this.src="data:image/svg+xml;base64,"+p,i.label=4;case 4:return[2]}})})},e.prototype.stringToColor=function(e){for(var t=0,n=0;n>8*n&255).toString(16)).substr(-2)}return r},e.prototype.getFirstLetters=function(e,t){var n=e.split(" ");if(n.length>1){for(var r="",i=0;i0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasAttachments",{get:function(){return this.attachments&&this.attachments.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasOldAttachments",{get:function(){if(this.hasAttachments)for(var e=0;e0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"passwordRevisionDisplayDate",{get:function(){return this.type!==r.CipherType.Login||null==this.login?null:null==this.login.password||""===this.login.password?null:this.login.passwordRevisionDate},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isDeleted",{get:function(){return null!=this.deletedDate},enumerable:!0,configurable:!0}),e}();t.CipherView=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(34),i=function(){function e(e){this.title=null,this.middleName=null,this.address1=null,this.address2=null,this.address3=null,this.city=null,this.state=null,this.postalCode=null,this.country=null,this.company=null,this.email=null,this.phone=null,this.ssn=null,this.username=null,this.passportNumber=null,this.licenseNumber=null,this._firstName=null,this._lastName=null,this._subTitle=null}return Object.defineProperty(e.prototype,"firstName",{get:function(){return this._firstName},set:function(e){this._firstName=e,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"lastName",{get:function(){return this._lastName},set:function(e){this._lastName=e,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"subTitle",{get:function(){return null!=this._subTitle||null==this.firstName&&null==this.lastName||(this._subTitle="",null!=this.firstName&&(this._subTitle=this.firstName),null!=this.lastName&&(""!==this._subTitle&&(this._subTitle+=" "),this._subTitle+=this.lastName)),this._subTitle},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"fullName",{get:function(){if(null!=this.title||null!=this.firstName||null!=this.middleName||null!=this.lastName){var e="";return null!=this.title&&(e+=this.title+" "),null!=this.firstName&&(e+=this.firstName+" "),null!=this.middleName&&(e+=this.middleName+" "),null!=this.lastName&&(e+=this.lastName),e.trim()}return null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"fullAddress",{get:function(){var e=this.address1;return r.Utils.isNullOrWhitespace(this.address2)||(r.Utils.isNullOrWhitespace(e)||(e+=", "),e+=this.address2),r.Utils.isNullOrWhitespace(this.address3)||(r.Utils.isNullOrWhitespace(e)||(e+=", "),e+=this.address3),e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"fullAddressPart2",{get:function(){if(null==this.city&&null==this.state&&null==this.postalCode)return null;var e=this.city||"-",t=this.state,n=this.postalCode||"-",i=e;return r.Utils.isNullOrWhitespace(t)||(i+=", "+t),i+=", "+n},enumerable:!0,configurable:!0}),e}();t.IdentityView=i},,,,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.id=e.id,this.organizationId=e.organizationId,this.name=e.name,this.externalId=e.externalId,this.readOnly=e.readOnly}}();t.CollectionData=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(141),i=function(){return function(e){this.id=null,this.organizationId=null,this.name=null,this.externalId=null,this.readOnly=null,this.hidePasswords=null,e&&(this.id=e.id,this.organizationId=e.organizationId,this.externalId=e.externalId,e instanceof r.Collection&&(this.readOnly=e.readOnly,this.hidePasswords=e.hidePasswords))}}();t.CollectionView=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(40),i=n(479),o=n(480),a=n(481),s=n(482),l=n(483),c=n(590),p=n(485),u=function(){return function(e,t,n){if(null!=e){switch(this.id=e.id,this.organizationId=e.organizationId,this.folderId=e.folderId,this.userId=t,this.edit=e.edit,this.viewPassword=e.viewPassword,this.organizationUseTotp=e.organizationUseTotp,this.favorite=e.favorite,this.revisionDate=e.revisionDate,this.type=e.type,this.name=e.name,this.notes=e.notes,this.collectionIds=null!=n?n:e.collectionIds,this.deletedDate=e.deletedDate,this.type){case r.CipherType.Login:this.login=new l.LoginData(e.login);break;case r.CipherType.SecureNote:this.secureNote=new p.SecureNoteData(e.secureNote);break;case r.CipherType.Card:this.card=new o.CardData(e.card);break;case r.CipherType.Identity:this.identity=new s.IdentityData(e.identity)}null!=e.fields&&(this.fields=e.fields.map(function(e){return new a.FieldData(e)})),null!=e.attachments&&(this.attachments=e.attachments.map(function(e){return new i.AttachmentData(e)})),null!=e.passwordHistory&&(this.passwordHistory=e.passwordHistory.map(function(e){return new c.PasswordHistoryData(e)}))}}}();t.CipherData=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(34),i=function(){function e(e){this.username=null,this.password=null,this.passwordRevisionDate=null,this.totp=null,this.uris=null,e&&(this.passwordRevisionDate=e.passwordRevisionDate)}return Object.defineProperty(e.prototype,"uri",{get:function(){return this.hasUris?this.uris[0].uri:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"maskedPassword",{get:function(){return null!=this.password?"••••••••":null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"subTitle",{get:function(){return this.username},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canLaunch",{get:function(){return this.hasUris&&this.uris.some(function(e){return e.canLaunch})},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasTotp",{get:function(){return!r.Utils.isNullOrWhitespace(this.totp)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"launchUri",{get:function(){if(this.hasUris){var e=this.uris.find(function(e){return e.canLaunch});if(null!=e)return e.launchUri}return null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasUris",{get:function(){return null!=this.uris&&this.uris.length>0},enumerable:!0,configurable:!0}),e}();t.LoginView=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Text=0]="Text",e[e.File=1]="File"}(t.SendType||(t.SendType={}))},,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.TwoFactorAuthentication=0]="TwoFactorAuthentication",e[e.MasterPassword=1]="MasterPassword",e[e.PasswordGenerator=2]="PasswordGenerator",e[e.SingleOrg=3]="SingleOrg",e[e.RequireSso=4]="RequireSso",e[e.PersonalOwnership=5]="PersonalOwnership"}(t.PolicyType||(t.PolicyType={}))},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?(p=[],[4,this.attachments.reduce(function(t,n){return t.then(function(){return n.decrypt(l,e)}).then(function(e){p.push(e)})},Promise.resolve())]):[3,13];case 12:a.sent(),t.attachments=p,a.label=13;case 13:return null!=this.fields&&this.fields.length>0?(u=[],[4,this.fields.reduce(function(t,n){return t.then(function(){return n.decrypt(l,e)}).then(function(e){u.push(e)})},Promise.resolve())]):[3,15];case 14:a.sent(),t.fields=u,a.label=15;case 15:return null!=this.passwordHistory&&this.passwordHistory.length>0?(d=[],[4,this.passwordHistory.reduce(function(t,n){return t.then(function(){return n.decrypt(l,e)}).then(function(e){d.push(e)})},Promise.resolve())]):[3,17];case 16:a.sent(),t.passwordHistory=d,a.label=17;case 17:return[2,t]}})})},t.prototype.toCipherData=function(e){var t=new l.CipherData;switch(t.id=this.id,t.organizationId=this.organizationId,t.folderId=this.folderId,t.userId=null!=this.organizationId?e:null,t.edit=this.edit,t.viewPassword=this.viewPassword,t.organizationUseTotp=this.organizationUseTotp,t.favorite=this.favorite,t.revisionDate=null!=this.revisionDate?this.revisionDate.toISOString():null,t.type=this.type,t.collectionIds=this.collectionIds,t.deletedDate=null!=this.deletedDate?this.deletedDate.toISOString():null,this.buildDataModel(this,t,{name:null,notes:null}),t.type){case s.CipherType.Login:t.login=this.login.toLoginData();break;case s.CipherType.SecureNote:t.secureNote=this.secureNote.toSecureNoteData();break;case s.CipherType.Card:t.card=this.card.toCardData();break;case s.CipherType.Identity:t.identity=this.identity.toIdentityData()}return null!=this.fields&&(t.fields=this.fields.map(function(e){return e.toFieldData()})),null!=this.attachments&&(t.attachments=this.attachments.map(function(e){return e.toAttachmentData()})),null!=this.passwordHistory&&(t.passwordHistory=this.passwordHistory.map(function(e){return e.toPasswordHistoryData()})),t},t}(d.default);t.Cipher=g},,,,,,,,,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.name=null,this.value=null,this.type=null,this.newField=!1,this.showValue=!1,e&&(this.type=e.type)}return Object.defineProperty(e.prototype,"maskedValue",{get:function(){return null!=this.value?"••••••••":null},enumerable:!0,configurable:!0}),e}();t.FieldView=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(40),i=n(594),o=n(595),a=n(596),s=n(597),l=n(598),c=n(599),p=n(865),u=function(){return function(e){var t=this;switch(this.type=e.type,this.folderId=e.folderId,this.organizationId=e.organizationId,this.name=e.name?e.name.encryptedString:null,this.notes=e.notes?e.notes.encryptedString:null,this.favorite=e.favorite,this.lastKnownRevisionDate=e.revisionDate,this.type){case r.CipherType.Login:this.login=new s.LoginApi,this.login.uris=null,this.login.username=e.login.username?e.login.username.encryptedString:null,this.login.password=e.login.password?e.login.password.encryptedString:null,this.login.passwordRevisionDate=null!=e.login.passwordRevisionDate?e.login.passwordRevisionDate.toISOString():null,this.login.totp=e.login.totp?e.login.totp.encryptedString:null,null!=e.login.uris&&(this.login.uris=e.login.uris.map(function(e){var t=new l.LoginUriApi;return t.uri=null!=e.uri?e.uri.encryptedString:null,t.match=null!=e.match?e.match:null,t}));break;case r.CipherType.SecureNote:this.secureNote=new c.SecureNoteApi,this.secureNote.type=e.secureNote.type;break;case r.CipherType.Card:this.card=new i.CardApi,this.card.cardholderName=null!=e.card.cardholderName?e.card.cardholderName.encryptedString:null,this.card.brand=null!=e.card.brand?e.card.brand.encryptedString:null,this.card.number=null!=e.card.number?e.card.number.encryptedString:null,this.card.expMonth=null!=e.card.expMonth?e.card.expMonth.encryptedString:null,this.card.expYear=null!=e.card.expYear?e.card.expYear.encryptedString:null,this.card.code=null!=e.card.code?e.card.code.encryptedString:null;break;case r.CipherType.Identity:this.identity=new a.IdentityApi,this.identity.title=null!=e.identity.title?e.identity.title.encryptedString:null,this.identity.firstName=null!=e.identity.firstName?e.identity.firstName.encryptedString:null,this.identity.middleName=null!=e.identity.middleName?e.identity.middleName.encryptedString:null,this.identity.lastName=null!=e.identity.lastName?e.identity.lastName.encryptedString:null,this.identity.address1=null!=e.identity.address1?e.identity.address1.encryptedString:null,this.identity.address2=null!=e.identity.address2?e.identity.address2.encryptedString:null,this.identity.address3=null!=e.identity.address3?e.identity.address3.encryptedString:null,this.identity.city=null!=e.identity.city?e.identity.city.encryptedString:null,this.identity.state=null!=e.identity.state?e.identity.state.encryptedString:null,this.identity.postalCode=null!=e.identity.postalCode?e.identity.postalCode.encryptedString:null,this.identity.country=null!=e.identity.country?e.identity.country.encryptedString:null,this.identity.company=null!=e.identity.company?e.identity.company.encryptedString:null,this.identity.email=null!=e.identity.email?e.identity.email.encryptedString:null,this.identity.phone=null!=e.identity.phone?e.identity.phone.encryptedString:null,this.identity.ssn=null!=e.identity.ssn?e.identity.ssn.encryptedString:null,this.identity.username=null!=e.identity.username?e.identity.username.encryptedString:null,this.identity.passportNumber=null!=e.identity.passportNumber?e.identity.passportNumber.encryptedString:null,this.identity.licenseNumber=null!=e.identity.licenseNumber?e.identity.licenseNumber.encryptedString:null}null!=e.fields&&(this.fields=e.fields.map(function(e){var t=new o.FieldApi;return t.type=e.type,t.name=e.name?e.name.encryptedString:null,t.value=e.value?e.value.encryptedString:null,t})),null!=e.passwordHistory&&(this.passwordHistory=[],e.passwordHistory.forEach(function(e){t.passwordHistory.push({lastUsedDate:e.lastUsedDate,password:e.password?e.password.encryptedString:null})})),null!=e.attachments&&(this.attachments={},this.attachments2={},e.attachments.forEach(function(e){var n=e.fileName?e.fileName.encryptedString:null;t.attachments[e.id]=n;var r=new p.AttachmentRequest;r.fileName=n,null!=e.key&&(r.key=e.key.encryptedString),t.attachments2[e.id]=r}))}}();t.CipherRequest=u},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0),n(72);var r=n(8),i=(n(3),n(0)),o=n(8),a=n(72),s=n(3),l=function(){function e(e,t,n,i){var o=this;this.router=e,this.activatedRoute=t,this.titleService=n,this.previousUrl=void 0,this.currentUrl=void 0,this.currentUrl=this.router.url,e.events.subscribe(function(e){if(e instanceof r.NavigationEnd){o.previousUrl=o.currentUrl,o.currentUrl=e.url;for(var t=i.t("pageTitle","Bitwarden"),n=null,a=null,s=o.activatedRoute.firstChild;null!=s;){if(null==s.firstChild){if(null!=s.snapshot.data&&null!=s.snapshot.data.title){a=s.snapshot.data.title;break}if(null!=s.snapshot.data&&null!=s.snapshot.data.titleId){n=s.snapshot.data.titleId;break}n=null,a=null;break}s=s.firstChild}if(null!=n||null!=a){var l=null!=a?a:i.t(n);null!=l&&""!==l&&(t=l+" | "+t)}o.titleService.setTitle(t)}})}return e.prototype.getPreviousUrl=function(){return this.previousUrl},e.prototype.setPreviousUrl=function(e){this.previousUrl=e},e.ɵfac=function(t){return new(t||e)(i.ɵɵinject(o.Router),i.ɵɵinject(o.ActivatedRoute),i.ɵɵinject(a.Title),i.ɵɵinject(s.I18nService))},e.ɵprov=i.ɵɵdefineInjectable({token:e,factory:e.ɵfac}),e}();t.RouterService=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.PBKDF2_SHA256=0]="PBKDF2_SHA256"}(t.KdfType||(t.KdfType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0),n(3);var r=n(0),i=n(3),o=n(4);function a(e,t){if(1&e&&(r.ɵɵelementContainerStart(0),r.ɵɵtext(1),r.ɵɵelementContainerEnd()),2&e){var n=r.ɵɵnextContext();r.ɵɵadvance(1),r.ɵɵtextInterpolate1("\n ",n.text,"\n ")}}var s=function(e){return{width:e}},l=function(){function e(e){this.i18nService=e,this.showText=!1,this.scoreWidth=0,this.color="bg-danger"}return e.prototype.ngOnChanges=function(){switch(this.scoreWidth=null==this.score?0:20*(this.score+1),this.score){case 4:this.color="bg-success",this.text=this.i18nService.t("strong");break;case 3:this.color="bg-primary",this.text=this.i18nService.t("good");break;case 2:this.color="bg-warning",this.text=this.i18nService.t("weak");break;default:this.color="bg-danger",this.text=null!=this.score?this.i18nService.t("weak"):null}},e.ɵfac=function(t){return new(t||e)(r.ɵɵdirectiveInject(i.I18nService))},e.ɵcmp=r.ɵɵdefineComponent({type:e,selectors:[["app-password-strength"]],inputs:{score:"score",showText:"showText"},features:[r.ɵɵNgOnChangesFeature],decls:8,vars:8,consts:[[1,"progress"],["role","progressbar","aria-valuemin","0","aria-valuemax","100",3,"ngStyle"],[4,"ngIf"]],template:function(e,t){1&e&&(r.ɵɵelementStart(0,"div",0),r.ɵɵtext(1,"\n "),r.ɵɵelementStart(2,"div",1),r.ɵɵtext(3,"\n "),r.ɵɵtemplate(4,a,2,1,"ng-container",2),r.ɵɵtext(5,"\n "),r.ɵɵelementEnd(),r.ɵɵtext(6,"\n"),r.ɵɵelementEnd(),r.ɵɵtext(7,"\n")),2&e&&(r.ɵɵadvance(2),r.ɵɵclassMapInterpolate1("progress-bar ",t.color,""),r.ɵɵproperty("ngStyle",r.ɵɵpureFunction1(6,s,t.scoreWidth+"%")),r.ɵɵattribute("aria-valuenow",t.scoreWidth),r.ɵɵadvance(2),r.ɵɵproperty("ngIf",t.showText&&t.text))},directives:[o.NgStyle,o.NgIf],encapsulation:2}),e}();t.PasswordStrengthComponent=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Invited=0]="Invited",e[e.Accepted=1]="Accepted",e[e.Confirmed=2]="Confirmed"}(t.OrganizationUserStatusType||(t.OrganizationUserStatusType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(0),i=function(){function e(){}return e.prototype.transform=function(e,t,n,r,i){return null==e||0===e.length?[]:null==t||t.length<2?e:(t=t.trim().toLowerCase(),e.filter(function(e){return null!=n&&null!=e[n]&&e[n].toString().toLowerCase().indexOf(t)>-1||(null!=r&&null!=e[r]&&e[r].toString().toLowerCase().indexOf(t)>-1||null!=i&&null!=e[i]&&e[i].toString().toLowerCase().indexOf(t)>-1)}))},e.ɵfac=function(t){return new(t||e)},e.ɵpipe=r.ɵɵdefinePipe({name:"search",type:e,pure:!0}),e}();t.SearchPipe=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0),n(3);var r=n(277),i=n(251),o=n(0),a=n(3),s=function(){function e(e){this.i18nService=e}return e.prototype.getDefaultDateFilters=function(){var e=new Date,t=new Date(e.getFullYear(),e.getMonth(),e.getDate(),23,59);e.setDate(e.getDate()-30);var n=new Date(e.getFullYear(),e.getMonth(),e.getDate(),0,0);return[this.toDateTimeLocalString(n),this.toDateTimeLocalString(t)]},e.prototype.formatDateFilters=function(e,t){var n=new Date(e),r=new Date(t+":59.999");if(isNaN(n.getTime())||isNaN(r.getTime())||r"+n+"";var r=this.makeAnchor(n);return r.setAttribute("href","#/organizations/"+e.organizationId+"/vault?search="+n+"&viewEvents="+e.cipherId),r.outerHTML},e.prototype.formatGroupId=function(e){var t=this.getShortId(e.groupId),n=this.makeAnchor(t);return n.setAttribute("href","#/organizations/"+e.organizationId+"/manage/groups?search="+t),n.outerHTML},e.prototype.formatCollectionId=function(e){var t=this.getShortId(e.collectionId),n=this.makeAnchor(t);return n.setAttribute("href","#/organizations/"+e.organizationId+"/manage/collections?search="+t),n.outerHTML},e.prototype.formatOrgUserId=function(e){var t=this.getShortId(e.organizationUserId),n=this.makeAnchor(t);return n.setAttribute("href","#/organizations/"+e.organizationId+"/manage/people?search="+t+"&viewEvents="+e.organizationUserId),n.outerHTML},e.prototype.formatPolicyId=function(e){var t=this.getShortId(e.policyId),n=this.makeAnchor(t);return n.setAttribute("href","#/organizations/"+e.organizationId+"/manage/policies?policyId="+e.policyId),n.outerHTML},e.prototype.makeAnchor=function(e){var t=document.createElement("a");return t.title=this.i18nService.t("view"),t.innerHTML=""+e+"",t},e.prototype.getShortId=function(e){return e.substring(0,8)},e.prototype.toDateTimeLocalString=function(e){return e.getFullYear()+"-"+this.pad(e.getMonth()+1)+"-"+this.pad(e.getDate())+"T"+this.pad(e.getHours())+":"+this.pad(e.getMinutes())},e.prototype.pad=function(e){var t=Math.floor(Math.abs(e));return(t<10?"0":"")+t},e.ɵfac=function(t){return new(t||e)(o.ɵɵinject(a.I18nService))},e.ɵprov=o.ɵɵdefineInjectable({token:e,factory:e.ɵfac}),e}();t.EventService=s;var l=function(){return function(){}}();t.EventInfo=l;var c=function(){return function(){this.cipherInfo=!0}}();t.EventOptions=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.User_LoggedIn=1e3]="User_LoggedIn",e[e.User_ChangedPassword=1001]="User_ChangedPassword",e[e.User_Updated2fa=1002]="User_Updated2fa",e[e.User_Disabled2fa=1003]="User_Disabled2fa",e[e.User_Recovered2fa=1004]="User_Recovered2fa",e[e.User_FailedLogIn=1005]="User_FailedLogIn",e[e.User_FailedLogIn2fa=1006]="User_FailedLogIn2fa",e[e.User_ClientExportedVault=1007]="User_ClientExportedVault",e[e.Cipher_Created=1100]="Cipher_Created",e[e.Cipher_Updated=1101]="Cipher_Updated",e[e.Cipher_Deleted=1102]="Cipher_Deleted",e[e.Cipher_AttachmentCreated=1103]="Cipher_AttachmentCreated",e[e.Cipher_AttachmentDeleted=1104]="Cipher_AttachmentDeleted",e[e.Cipher_Shared=1105]="Cipher_Shared",e[e.Cipher_UpdatedCollections=1106]="Cipher_UpdatedCollections",e[e.Cipher_ClientViewed=1107]="Cipher_ClientViewed",e[e.Cipher_ClientToggledPasswordVisible=1108]="Cipher_ClientToggledPasswordVisible",e[e.Cipher_ClientToggledHiddenFieldVisible=1109]="Cipher_ClientToggledHiddenFieldVisible",e[e.Cipher_ClientToggledCardCodeVisible=1110]="Cipher_ClientToggledCardCodeVisible",e[e.Cipher_ClientCopiedPassword=1111]="Cipher_ClientCopiedPassword",e[e.Cipher_ClientCopiedHiddenField=1112]="Cipher_ClientCopiedHiddenField",e[e.Cipher_ClientCopiedCardCode=1113]="Cipher_ClientCopiedCardCode",e[e.Cipher_ClientAutofilled=1114]="Cipher_ClientAutofilled",e[e.Cipher_SoftDeleted=1115]="Cipher_SoftDeleted",e[e.Cipher_Restored=1116]="Cipher_Restored",e[e.Collection_Created=1300]="Collection_Created",e[e.Collection_Updated=1301]="Collection_Updated",e[e.Collection_Deleted=1302]="Collection_Deleted",e[e.Group_Created=1400]="Group_Created",e[e.Group_Updated=1401]="Group_Updated",e[e.Group_Deleted=1402]="Group_Deleted",e[e.OrganizationUser_Invited=1500]="OrganizationUser_Invited",e[e.OrganizationUser_Confirmed=1501]="OrganizationUser_Confirmed",e[e.OrganizationUser_Updated=1502]="OrganizationUser_Updated",e[e.OrganizationUser_Removed=1503]="OrganizationUser_Removed",e[e.OrganizationUser_UpdatedGroups=1504]="OrganizationUser_UpdatedGroups",e[e.OrganizationUser_UnlinkedSso=1505]="OrganizationUser_UnlinkedSso",e[e.Organization_Updated=1600]="Organization_Updated",e[e.Organization_PurgedVault=1601]="Organization_PurgedVault",e[e.Policy_Updated=1700]="Policy_Updated"}(t.EventType||(t.EventType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Card=0]="Card",e[e.BankAccount=1]="BankAccount",e[e.PayPal=2]="PayPal",e[e.BitPay=3]="BitPay",e[e.Credit=4]="Credit",e[e.WireTransfer=5]="WireTransfer",e[e.AppleInApp=6]="AppleInApp",e[e.GoogleInApp=7]="GoogleInApp",e[e.Check=8]="Check"}(t.PaymentMethodType||(t.PaymentMethodType={}))},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]4?(t=Math.floor(this.totpCode.length/2),this.totpCodeFormatted=this.totpCode.substring(0,t)+" "+this.totpCode.substring(t)):this.totpCodeFormatted=this.totpCode:(this.totpCodeFormatted=null,this.totpInterval&&window.clearInterval(this.totpInterval)),[2]}})})},t.prototype.allowOwnershipAssignment=function(){return(!this.editMode||this.cloneMode)&&null!=this.ownershipOptions&&(this.ownershipOptions.length>1||!this.allowPersonal)},t.prototype.totpTick=function(e){return o(this,void 0,void 0,function(){var t,n;return a(this,function(r){switch(r.label){case 0:return t=Math.round((new Date).getTime()/1e3),n=t%e,this.totpSec=e-n,this.totpDash=+(Math.round(78.6/e*n+"e+2")+"e-2"),this.totpLow=this.totpSec<=7,0!==n?[3,2]:[4,this.totpUpdateCode()];case 1:r.sent(),r.label=2;case 2:return[2]}})})},t.ɵfac=function(e){return new(e||t)(p.ɵɵdirectiveInject(u.CipherService),p.ɵɵdirectiveInject(d.FolderService),p.ɵɵdirectiveInject(m.I18nService),p.ɵɵdirectiveInject(h.PlatformUtilsService),p.ɵɵdirectiveInject(f.AuditService),p.ɵɵdirectiveInject(v.StateService),p.ɵɵdirectiveInject(y.UserService),p.ɵɵdirectiveInject(g.CollectionService),p.ɵɵdirectiveInject(x.TotpService),p.ɵɵdirectiveInject(b.PasswordGenerationService),p.ɵɵdirectiveInject(S.MessagingService),p.ɵɵdirectiveInject(w.EventService),p.ɵɵdirectiveInject(C.PolicyService))},t.ɵcmp=p.ɵɵdefineComponent({type:t,selectors:[["app-vault-add-edit"]],features:[p.ɵɵInheritDefinitionFeature],decls:36,vars:11,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","cipherAddEditTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],["ngNativeValidate","","autocomplete","off",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","cipherAddEditTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit","class","btn btn-primary btn-submit",3,"disabled",4,"ngIf"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],["class","ml-auto",4,"ngIf"],[1,"modal-body"],["type","info",4,"ngIf"],["class","row",4,"ngIf"],[1,"row"],[1,"col-6","form-group"],["for","name"],["id","name","type","text","name","Name","required","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["class","col-6 form-group",4,"ngIf"],[4,"ngIf"],[1,"form-group"],["for","notes"],["id","notes","name","Notes","rows","6",1,"form-control",3,"ngModel","disabled","ngModelChange"],[1,"mt-4"],["cdkDropList","",3,"cdkDropListDropped",4,"ngIf"],["href","#","appStopClick","","class","d-inline-block mb-2",3,"click",4,"ngIf"],["type","info"],["for","type"],["id","type","name","Type","appAutofocus","",1,"form-control",3,"ngModel","disabled","ngModelChange"],[3,"ngValue",4,"ngFor","ngForOf"],[3,"ngValue"],["for","folder"],["id","folder","name","FolderId",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","loginUsername"],[1,"input-group"],["id","loginUsername","type","text","name","Login.Username","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["class","input-group-append",4,"ngIf"],[1,"d-flex"],["for","loginPassword"],["class","ml-auto d-flex",4,"ngIf"],["id","loginPassword","name","Login.Password","appInputVerbatim","","autocomplete","new-password",1,"form-control","text-monospace",3,"type","ngModel","disabled","ngModelChange"],[1,"input-group-append"],["type","button","tabindex","-1",1,"btn","btn-outline-secondary",3,"appA11yTitle","disabled","click"],["aria-hidden","true",1,"fa","fa-lg",3,"ngClass"],["aria-hidden","true",1,"fa","fa-lg","fa-clone"],["for","loginTotp"],["id","loginTotp","name","Login.Totp","appInputVerbatim","",1,"form-control","text-monospace",3,"type","ngModel","disabled","ngModelChange"],[1,"col-6","form-group","totp","d-flex","align-items-end",3,"ngClass"],["class","d-flex align-items-center",4,"ngIf"],["href","#","appStopClick","","class","d-inline-block mb-3",3,"click",4,"ngIf"],["type","button","tabindex","-1",1,"btn","btn-outline-secondary",3,"appA11yTitle","click"],[1,"ml-auto","d-flex"],["href","#","class","d-block mr-2","appStopClick","",3,"appA11yTitle","click",4,"ngIf"],["href","#","appStopClick","",1,"d-block",3,"appA11yTitle","appApiAction","click"],["checkPasswordBtn",""],["aria-hidden","true",1,"fa","fa-lg","fa-fw","fa-check-circle",3,"hidden"],["aria-hidden","true",1,"fa","fa-lg","fa-fw","fa-spinner","fa-spin",3,"hidden","title"],["href","#","appStopClick","",1,"d-block","mr-2",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-lg","fa-fw","fa-refresh"],["src","images/totp-countdown.png",1,"ml-2",3,"title"],["href","#","appStopClick","","class","badge badge-primary ml-3",3,"click",4,"ngIf"],["href","#","appStopClick","",1,"badge","badge-primary","ml-3",3,"click"],[1,"d-flex","align-items-center"],[1,"totp-countdown","mr-3","ml-2"],[1,"totp-sec"],["r","12.6","cy","16","cx","16",1,"totp-circle","inner",3,"ngStyle"],["r","14","cy","16","cx","16",1,"totp-circle","outer"],[1,"totp-code","mr-2",3,"title"],["type","button",1,"btn","btn-link",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-clone"],["class","row",4,"ngFor","ngForOf","ngForTrackBy"],[1,"col-7","form-group"],[3,"for"],["type","text","appInputVerbatim","",1,"form-control",3,"id","name","ngModel","disabled","placeholder","ngModelChange"],["aria-hidden","true",1,"fa","fa-lg","fa-share"],[1,"col-5","form-group"],["href","https://help.bitwarden.com/article/uri-match-detection/","target","_blank","rel","noopener",1,"ml-auto",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],[1,"form-control","overflow-hidden",3,"id","name","ngModel","disabled","ngModelChange","change"],["type","button","class","btn btn-link text-danger ml-2",3,"appA11yTitle","click",4,"ngIf"],["type","button",1,"btn","btn-link","text-danger","ml-2",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-minus-circle","fa-lg"],["href","#","appStopClick","",1,"d-inline-block","mb-3",3,"click"],["aria-hidden","true",1,"fa","fa-plus-circle","fa-fw"],["for","cardCardholderName"],["id","cardCardholderName","type","text","name","Card.CardCardholderName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","cardBrand"],["id","cardBrand","name","Card.Brand",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","cardNumber"],["id","cardNumber","type","text","name","Card.Number","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],[1,"col","form-group"],["for","cardExpMonth"],["id","cardExpMonth","name","Card.ExpMonth",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","cardExpYear"],["id","cardExpYear","type","text","name","Card.ExpYear",1,"form-control",3,"ngModel","placeholder","disabled","ngModelChange"],["for","cardCode"],["id","cardCode","name","Card.Code","appInputVerbatim","","autocomplete","new-password",1,"form-control","text-monospace",3,"type","ngModel","disabled","ngModelChange"],[1,"col-4","form-group"],["for","idTitle"],["id","idTitle","name","Identity.Title",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idFirstName"],["id","idFirstName","type","text","name","Identity.FirstName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idMiddleName"],["id","idMiddleName","type","text","name","Identity.MiddleName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idLastName"],["id","idLastName","type","text","name","Identity.LastName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idUsername"],["id","idUsername","type","text","name","Identity.Username","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idCompany"],["id","idCompany","type","text","name","Identity.Company",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idSsn"],["id","idSsn","type","text","name","Identity.SSN","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idPassportNumber"],["id","idPassportNumber","type","text","name","Identity.PassportNumber","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idLicenseNumber"],["id","idLicenseNumber","type","text","name","Identity.LicenseNumber","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idEmail"],["id","idEmail","type","text","name","Identity.Email","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idPhone"],["id","idPhone","type","text","name","Identity.Phone",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idAddress1"],["id","idAddress1","type","text","name","Identity.Address1",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idAddress2"],["id","idAddress2","type","text","name","Identity.Address2",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idAddress3"],["id","idAddress3","type","text","name","Identity.Address3",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idCity"],["id","idCity","type","text","name","Identity.City",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idState"],["id","idState","type","text","name","Identity.State",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idPostalCode"],["id","idPostalCode","type","text","name","Identity.PostalCode",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idCountry"],["id","idCountry","type","text","name","Identity.Country",1,"form-control",3,"ngModel","disabled","ngModelChange"],["cdkDropList","",3,"cdkDropListDropped"],["class","row","cdkDrag","",4,"ngFor","ngForOf","ngForTrackBy"],["cdkDrag","",1,"row"],["href","https://help.bitwarden.com/article/custom-fields/","target","_blank","rel","noopener",1,"ml-auto",3,"appA11yTitle"],["type","text","appInputVerbatim","",1,"form-control",3,"id","name","ngModel","disabled","ngModelChange"],["class","input-group",4,"ngIf"],[1,"flex-fill"],["type","checkbox","appTrueFalseValue","","trueValue","true","falseValue","false",3,"id","name","ngModel","disabled","ngModelChange",4,"ngIf"],["type","button","class","btn btn-link text-muted cursor-move",3,"appA11yTitle",4,"ngIf"],["appInputVerbatim","","autocomplete","new-password",1,"form-control","text-monospace",3,"id","type","name","ngModel","disabled","ngModelChange"],["type","checkbox","appTrueFalseValue","","trueValue","true","falseValue","false",3,"id","name","ngModel","disabled","ngModelChange"],["type","button",1,"btn","btn-link","text-muted","cursor-move",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-bars","fa-lg"],["href","#","appStopClick","",1,"d-inline-block","mb-2",3,"click"],[1,"col-5"],["for","addFieldType",1,"sr-only"],["id","addFieldType","name","AddFieldType",1,"form-control",3,"ngModel","ngModelChange"],["for","organizationId"],["id","organizationId","name","OrganizationId",1,"form-control",3,"ngModel","disabled","ngModelChange","change"],["class","form-check",4,"ngFor","ngForOf"],[1,"form-check"],["type","checkbox",1,"form-check-input",3,"ngModel","id","name","disabled","ngModelChange"],[1,"form-check-label",3,"for"],[1,"small","text-muted","mt-4"],[1,"font-weight-semibold"],["class","ml-3",4,"ngIf"],["href","#","appStopClick","",3,"title","click"],[1,"ml-3"],[4,"ngFor","ngForOf"],[1,"password-wrapper","text-monospace","ml-2"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],[1,"ml-auto"],["type","button","class","btn btn-link",3,"appA11yTitle","click",4,"ngIf"],["type","button","class","btn btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click",4,"ngIf"],["type","button",1,"btn","btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click"],["deleteBtn",""],["aria-hidden","true",1,"fa","fa-trash-o","fa-lg","fa-fw",3,"hidden"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","fa-lg","fa-fw",3,"hidden","title"]],template:function(e,t){1&e&&(p.ɵɵelementStart(0,"div",0),p.ɵɵtext(1,"\n "),p.ɵɵelementStart(2,"div",1),p.ɵɵtext(3,"\n "),p.ɵɵelementStart(4,"form",2,3),p.ɵɵlistener("ngSubmit",function(){return t.submit()}),p.ɵɵtext(6,"\n "),p.ɵɵelementStart(7,"div",4),p.ɵɵtext(8,"\n "),p.ɵɵelementStart(9,"h2",5),p.ɵɵtext(10),p.ɵɵelementEnd(),p.ɵɵtext(11,"\n "),p.ɵɵelementStart(12,"button",6),p.ɵɵpipe(13,"i18n"),p.ɵɵtext(14,"\n "),p.ɵɵelementStart(15,"span",7),p.ɵɵtext(16,"×"),p.ɵɵelementEnd(),p.ɵɵtext(17,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(18,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(19,"\n "),p.ɵɵtemplate(20,_e,54,25,"div",8),p.ɵɵtext(21,"\n "),p.ɵɵelementStart(22,"div",9),p.ɵɵtext(23,"\n "),p.ɵɵtemplate(24,Ae,9,7,"button",10),p.ɵɵtext(25,"\n "),p.ɵɵelementStart(26,"button",11),p.ɵɵtext(27),p.ɵɵpipe(28,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(29,"\n "),p.ɵɵtemplate(30,Be,6,2,"div",12),p.ɵɵtext(31,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(32,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(33,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(34,"\n"),p.ɵɵelementEnd(),p.ɵɵtext(35,"\n")),2&e&&(p.ɵɵadvance(4),p.ɵɵproperty("appApiAction",t.formPromise),p.ɵɵadvance(6),p.ɵɵtextInterpolate(t.title),p.ɵɵadvance(2),p.ɵɵpropertyInterpolate("appA11yTitle",p.ɵɵpipeBind1(13,7,"close")),p.ɵɵadvance(8),p.ɵɵproperty("ngIf",t.cipher),p.ɵɵadvance(4),p.ɵɵproperty("ngIf",!t.viewOnly),p.ɵɵadvance(3),p.ɵɵtextInterpolate1("\n ",p.ɵɵpipeBind1(28,9,t.viewOnly?"close":"cancel"),"\n "),p.ɵɵadvance(3),p.ɵɵproperty("ngIf",t.cipher&&!t.viewOnly))},directives:[I.NgControlStatusGroup,I.NgForm,E.ApiActionDirective,P.A11yTitleDirective,k.NgIf,I.DefaultValueAccessor,I.RequiredValidator,I.NgControlStatus,I.NgModel,_.CalloutComponent,I.SelectControlValueAccessor,A.AutofocusDirective,k.NgForOf,I.NgSelectOption,I.ɵangular_packages_forms_forms_x,O.InputVerbatimDirective,k.NgClass,T.StopClickDirective,k.NgStyle,M.CdkDropList,M.CdkDrag,B.TrueFalseValueDirective,I.CheckboxControlValueAccessor],pipes:[D.I18nPipe,k.DatePipe],encapsulation:2}),t}(c.AddEditComponent);t.AddEditComponent=De},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.ImportService=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]500?500:this.ciphers.length,n=0;n0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]r){if(o===a.TwoFactorProviderType.U2f&&!e)return;n=o,r=s.priority}}),n},e.prototype.makePreloginKey=function(e,t){return i(this,void 0,void 0,function(){var n,r,i,a;return o(this,function(o){switch(o.label){case 0:t=t.trim().toLowerCase(),n=null,r=null,o.label=1;case 1:return o.trys.push([1,3,,4]),[4,this.apiService.postPrelogin(new p.PreloginRequest(t))];case 2:return null!=(i=o.sent())&&(n=i.kdf,r=i.kdfIterations),[3,4];case 3:if(null==(a=o.sent())||404!==a.statusCode)throw a;return[3,4];case 4:return[2,this.cryptoService.makeKey(e,t,n,r)]}})})},e.prototype.authingWithApiKey=function(){return null!=this.clientId&&null!=this.clientSecret},e.prototype.authingWithSso=function(){return null!=this.code&&null!=this.codeVerifier&&null!=this.ssoRedirectUrl},e.prototype.authingWithPassword=function(){return null!=this.email&&null!=this.masterPasswordHash},e.prototype.logInHelper=function(e,t,n,r,p,d,m,h,f,v,y){return i(this,void 0,void 0,function(){var i,g,x,b,S,w,C,I,E,P,k,_,A;return o(this,function(o){switch(o.label){case 0:return[4,this.tokenService.getTwoFactorToken(e)];case 1:return i=o.sent(),[4,this.appIdService.getAppId()];case 2:return g=o.sent(),x=new l.DeviceRequest(g,this.platformUtilsService),b=[],S=[],w=[],b=null!=e&&null!=t?[e,t]:null,S=null!=n&&null!=r&&null!=p?[n,r,p]:null,w=null!=d&&null!=m?[d,m]:null,C=null!=v&&null!=f?new u.TokenRequest(b,S,w,f,v,y,x):null!=i?new u.TokenRequest(b,S,w,a.TwoFactorProviderType.Remember,i,!1,x):new u.TokenRequest(b,S,w,null,null,!1,x),[4,this.apiService.postIdentityToken(C)];case 3:return I=o.sent(),this.clearState(),(E=new s.AuthResult).twoFactor=!I.accessToken,E.twoFactor?(P=I,this.email=e,this.masterPasswordHash=t,this.code=n,this.codeVerifier=r,this.ssoRedirectUrl=p,this.clientId=d,this.clientSecret=m,this.key=this.setCryptoKeys?h:null,this.twoFactorProvidersData=P.twoFactorProviders2,E.twoFactorProviders=P.twoFactorProviders2,[2,E]):(k=I,E.resetMasterPassword=k.resetMasterPassword,null==k.twoFactorToken?[3,5]:[4,this.tokenService.setTwoFactorToken(k.twoFactorToken,e)]);case 4:o.sent(),o.label=5;case 5:return[4,this.tokenService.setTokens(k.accessToken,k.refreshToken)];case 6:return o.sent(),[4,this.userService.setInformation(this.tokenService.getUserId(),this.tokenService.getEmail(),k.kdf,k.kdfIterations)];case 7:return o.sent(),this.setCryptoKeys?null==h?[3,9]:[4,this.cryptoService.setKey(h)]:[3,19];case 8:o.sent(),o.label=9;case 9:return null==t?[3,11]:[4,this.cryptoService.setKeyHash(t)];case 10:o.sent(),o.label=11;case 11:return null!=n&&null==k.key?[3,19]:[4,this.cryptoService.setEncKey(k.key)];case 12:if(o.sent(),null!=k.privateKey)return[3,17];o.label=13;case 13:return o.trys.push([13,16,,17]),[4,this.cryptoService.makeKeyPair()];case 14:return _=o.sent(),[4,this.apiService.postAccountKeys(new c.KeysRequest(_[0],_[1].encryptedString))];case 15:return o.sent(),k.privateKey=_[1].encryptedString,[3,17];case 16:return A=o.sent(),this.logService.error(A),[3,17];case 17:return[4,this.cryptoService.setEncPrivateKey(k.privateKey)];case 18:o.sent(),o.label=19;case 19:return null!=this.vaultTimeoutService&&(this.vaultTimeoutService.biometricLocked=!1),this.messagingService.send("loggedIn"),[2,E]}})})},e.prototype.clearState=function(){this.key=null,this.email=null,this.masterPasswordHash=null,this.code=null,this.codeVerifier=null,this.ssoRedirectUrl=null,this.clientId=null,this.clientSecret=null,this.twoFactorProvidersData=null,this.selectedTwoFactorProviderType=null},e}();t.AuthService=d},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t,n){this.id=e,this.readOnly=t,this.hidePasswords=n}}();t.SelectionReadOnlyRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Owner=0]="Owner",e[e.Admin=1]="Admin",e[e.User=2]="User",e[e.Manager=3]="Manager",e[e.Custom=4]="Custom"}(t.OrganizationUserType||(t.OrganizationUserType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Android=0]="Android",e[e.iOS=1]="iOS",e[e.ChromeExtension=2]="ChromeExtension",e[e.FirefoxExtension=3]="FirefoxExtension",e[e.OperaExtension=4]="OperaExtension",e[e.EdgeExtension=5]="EdgeExtension",e[e.WindowsDesktop=6]="WindowsDesktop",e[e.MacOsDesktop=7]="MacOsDesktop",e[e.LinuxDesktop=8]="LinuxDesktop",e[e.ChromeBrowser=9]="ChromeBrowser",e[e.FirefoxBrowser=10]="FirefoxBrowser",e[e.OperaBrowser=11]="OperaBrowser",e[e.EdgeBrowser=12]="EdgeBrowser",e[e.IEBrowser=13]="IEBrowser",e[e.UnknownBrowser=14]="UnknownBrowser",e[e.AndroidAmazon=15]="AndroidAmazon",e[e.UWP=16]="UWP",e[e.SafariBrowser=17]="SafariBrowser",e[e.VivaldiBrowser=18]="VivaldiBrowser",e[e.VivaldiExtension=19]="VivaldiExtension",e[e.SafariExtension=20]="SafariExtension"}(t.DeviceType||(t.DeviceType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.SettingsService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Free=0]="Free",e[e.FamiliesAnnually2019=1]="FamiliesAnnually2019",e[e.TeamsMonthly2019=2]="TeamsMonthly2019",e[e.TeamsAnnually2019=3]="TeamsAnnually2019",e[e.EnterpriseMonthly2019=4]="EnterpriseMonthly2019",e[e.EnterpriseAnnually2019=5]="EnterpriseAnnually2019",e[e.Custom=6]="Custom",e[e.FamiliesAnnually=7]="FamiliesAnnually",e[e.TeamsMonthly=8]="TeamsMonthly",e[e.TeamsAnnually=9]="TeamsAnnually",e[e.EnterpriseMonthly=10]="EnterpriseMonthly",e[e.EnterpriseAnnually=11]="EnterpriseAnnually"}(t.PlanType||(t.PlanType={}))},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(e.uris=[],this.uris.forEach(function(t){e.uris.push(t.toLoginUriData())})),e},t}(n(81).default);t.Login=p},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(484),a=n(255),s=function(e){function t(t,n){void 0===n&&(n=!1);var r=e.call(this)||this;return null==t?r:(r.match=t.match,r.buildDomainModel(r,t,{uri:null},n,[]),r)}return i(t,e),t.prototype.decrypt=function(e,t){return this.decryptObj(new a.LoginUriView(this),{uri:null},e,t)},t.prototype.toLoginUriData=function(){var e=new o.LoginUriData;return this.buildDataModel(this,e,{uri:null},["match"]),e},t}(n(81).default);t.LoginUri=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Domain=0]="Domain",e[e.Host=1]="Host",e[e.StartsWith=2]="StartsWith",e[e.Exact=3]="Exact",e[e.RegularExpression=4]="RegularExpression",e[e.Never=5]="Never"}(t.UriMatchType||(t.UriMatchType={}))},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(485),a=n(81),s=n(94),l=function(e){function t(t,n){void 0===n&&(n=!1);var r=e.call(this)||this;return null==t?r:(r.type=t.type,r)}return i(t,e),t.prototype.decrypt=function(e,t){return Promise.resolve(new s.SecureNoteView(this))},t.prototype.toSecureNoteData=function(){var e=new o.SecureNoteData;return e.type=this.type,e},t}(a.default);t.SecureNote=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),i=n(14),o=n(0),a=function(){function e(e,t){this.elementRef=e,this.renderer=t,this.trueValue=!0,this.falseValue=!1,this.propagateChange=function(e){}}return e.prototype.onHostChange=function(e){this.propagateChange(e.target.checked?this.trueValue:this.falseValue)},e.prototype.writeValue=function(e){e===this.trueValue?this.renderer.setProperty(this.elementRef.nativeElement,"checked",!0):this.renderer.setProperty(this.elementRef.nativeElement,"checked",!1)},e.prototype.registerOnChange=function(e){this.propagateChange=e},e.prototype.registerOnTouched=function(e){},e.prototype.setDisabledState=function(e){},e.ɵfac=function(t){return new(t||e)(o.ɵɵdirectiveInject(o.ElementRef),o.ɵɵdirectiveInject(o.Renderer2))},e.ɵdir=o.ɵɵdefineDirective({type:e,selectors:[["input","type","checkbox","appTrueFalseValue",""]],hostBindings:function(e,t){1&e&&o.ɵɵlistener("change",function(e){return t.onHostChange(e)})},inputs:{trueValue:"trueValue",falseValue:"falseValue"},features:[o.ɵɵProvidersFeature([{provide:i.NG_VALUE_ACCESSOR,useExisting:r.forwardRef(function(){return e}),multi:!0}])]}),e}();t.TrueFalseValueDirective=a},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(0),a=(n(41),n(48),n(42),n(7),n(870)),s=n(0),l=n(41),c=n(48),p=n(42),u=n(7),d=n(18),m=n(14),h=n(62),f=n(4),v=n(39),y=n(10),g=function(e){return{active:e}};function x(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"li",7),s.ɵɵtext(1,"\n "),s.ɵɵelementStart(2,"a",8),s.ɵɵlistener("click",function(){return s.ɵɵrestoreView(n),s.ɵɵnextContext().selectFavorites()}),s.ɵɵtext(3,"\n "),s.ɵɵelement(4,"i",17),s.ɵɵtext(5),s.ɵɵpipe(6,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(7,"\n "),s.ɵɵelementEnd()}if(2&e){var r=s.ɵɵnextContext();s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(4,g,r.selectedFavorites)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(6,2,"favorites"),"\n ")}}function b(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"li",7),s.ɵɵtext(1,"\n "),s.ɵɵelementStart(2,"a",8),s.ɵɵlistener("click",function(){return s.ɵɵrestoreView(n),s.ɵɵnextContext().selectTrash()}),s.ɵɵtext(3,"\n "),s.ɵɵelement(4,"i",18),s.ɵɵtext(5),s.ɵɵpipe(6,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(7,"\n "),s.ɵɵelementEnd()}if(2&e){var r=s.ɵɵnextContext();s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(4,g,r.selectedTrash)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(6,2,"trash"),"\n ")}}function S(e,t){1&e&&(s.ɵɵelementStart(0,"p",19),s.ɵɵtext(1,"\n "),s.ɵɵelement(2,"i",20),s.ɵɵpipe(3,"i18n"),s.ɵɵtext(4,"\n "),s.ɵɵelementStart(5,"span",21),s.ɵɵtext(6),s.ɵɵpipe(7,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(8,"\n "),s.ɵɵelementEnd()),2&e&&(s.ɵɵadvance(2),s.ɵɵpropertyInterpolate("title",s.ɵɵpipeBind1(3,2,"loading")),s.ɵɵadvance(4),s.ɵɵtextInterpolate(s.ɵɵpipeBind1(7,4,"loading")))}var w=function(e,t){return{"fa-caret-right":e,"fa-caret-down":t}};function C(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"i",32),s.ɵɵlistener("click",function(){s.ɵɵrestoreView(n);var e=s.ɵɵnextContext().$implicit;return s.ɵɵnextContext(4).collapse(e.node)}),s.ɵɵpipe(1,"i18n"),s.ɵɵelementEnd()}if(2&e){var r=s.ɵɵnextContext().$implicit,i=s.ɵɵnextContext(4);s.ɵɵpropertyInterpolate("title",s.ɵɵpipeBind1(1,2,"toggleCollapse")),s.ɵɵproperty("ngClass",s.ɵɵpureFunction2(4,w,i.isCollapsed(r.node),!i.isCollapsed(r.node)))}}function I(e,t){1&e&&s.ɵɵelement(0,"i",33)}function E(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"a",34),s.ɵɵlistener("click",function(){s.ɵɵrestoreView(n);var e=s.ɵɵnextContext().$implicit;return s.ɵɵnextContext(4).editFolder(e.node)}),s.ɵɵpipe(1,"i18n"),s.ɵɵtext(2,"\n "),s.ɵɵelement(3,"i",35),s.ɵɵtext(4,"\n "),s.ɵɵelementEnd()}2&e&&s.ɵɵpropertyInterpolate("appA11yTitle",s.ɵɵpipeBind1(1,1,"editFolder"))}function P(e,t){1&e&&(s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵelementContainerEnd())}var k=function(e){return{$implicit:e}};function _(e,t){if(1&e&&(s.ɵɵelementStart(0,"ul",36),s.ɵɵtext(1,"\n "),s.ɵɵtemplate(2,P,2,0,"ng-container",26),s.ɵɵtext(3,"\n "),s.ɵɵelementEnd()),2&e){var n=s.ɵɵnextContext().$implicit;s.ɵɵnextContext(2);var r=s.ɵɵreference(15);s.ɵɵadvance(2),s.ɵɵproperty("ngTemplateOutlet",r)("ngTemplateOutletContext",s.ɵɵpureFunction1(2,k,n.children))}}function A(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"li",7),s.ɵɵtext(1,"\n "),s.ɵɵelementStart(2,"div",22),s.ɵɵtext(3,"\n "),s.ɵɵtemplate(4,C,2,7,"i",28),s.ɵɵtext(5,"\n "),s.ɵɵelementStart(6,"a",8),s.ɵɵlistener("click",function(){s.ɵɵrestoreView(n);var e=t.$implicit;return s.ɵɵnextContext(4).selectFolder(e.node)}),s.ɵɵtext(7,"\n "),s.ɵɵtemplate(8,I,1,0,"i",29),s.ɵɵtext(9),s.ɵɵelementEnd(),s.ɵɵtext(10,"\n "),s.ɵɵtemplate(11,E,5,3,"a",30),s.ɵɵtext(12,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(13,"\n "),s.ɵɵtemplate(14,_,4,4,"ul",31),s.ɵɵtext(15,"\n "),s.ɵɵelementEnd()}if(2&e){var r=t.$implicit,i=s.ɵɵnextContext(4);s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(6,g,i.selectedFolder&&r.node.id===i.selectedFolderId)),s.ɵɵadvance(4),s.ɵɵproperty("ngIf",r.children.length),s.ɵɵadvance(4),s.ɵɵproperty("ngIf",0===r.children.length),s.ɵɵadvance(1),s.ɵɵtextInterpolate1("",r.node.name,"\n "),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",r.node.id),s.ɵɵadvance(3),s.ɵɵproperty("ngIf",r.children.length&&!i.isCollapsed(r.node))}}function O(e,t){if(1&e&&(s.ɵɵtext(0,"\n "),s.ɵɵtemplate(1,A,16,8,"li",27),s.ɵɵtext(2,"\n ")),2&e){var n=t.$implicit;s.ɵɵadvance(1),s.ɵɵproperty("ngForOf",n)}}function T(e,t){1&e&&(s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵelementContainerEnd())}function M(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵelementStart(2,"h3",22),s.ɵɵtext(3),s.ɵɵpipe(4,"i18n"),s.ɵɵelementStart(5,"a",23),s.ɵɵlistener("click",function(){return s.ɵɵrestoreView(n),s.ɵɵnextContext(2).addFolder()}),s.ɵɵpipe(6,"i18n"),s.ɵɵtext(7,"\n "),s.ɵɵelement(8,"i",24),s.ɵɵtext(9,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(10,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(11,"\n "),s.ɵɵelementStart(12,"ul",6),s.ɵɵtext(13,"\n "),s.ɵɵtemplate(14,O,3,1,"ng-template",null,25,s.ɵɵtemplateRefExtractor),s.ɵɵtext(16,"\n "),s.ɵɵtemplate(17,T,2,0,"ng-container",26),s.ɵɵtext(18,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(19,"\n "),s.ɵɵelementContainerEnd()}if(2&e){var r=s.ɵɵreference(15),i=s.ɵɵnextContext(2);s.ɵɵadvance(3),s.ɵɵtextInterpolate1("\n ",s.ɵɵpipeBind1(4,4,"folders"),"\n "),s.ɵɵadvance(2),s.ɵɵpropertyInterpolate("appA11yTitle",s.ɵɵpipeBind1(6,6,"addFolder")),s.ɵɵadvance(12),s.ɵɵproperty("ngTemplateOutlet",r)("ngTemplateOutletContext",s.ɵɵpureFunction1(8,k,i.nestedFolders))}}function B(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"i",32),s.ɵɵlistener("click",function(){s.ɵɵrestoreView(n);var e=s.ɵɵnextContext().$implicit;return s.ɵɵnextContext(4).collapse(e.node)}),s.ɵɵpipe(1,"i18n"),s.ɵɵelementEnd()}if(2&e){var r=s.ɵɵnextContext().$implicit,i=s.ɵɵnextContext(4);s.ɵɵpropertyInterpolate("title",s.ɵɵpipeBind1(1,2,"toggleCollapse")),s.ɵɵproperty("ngClass",s.ɵɵpureFunction2(4,w,i.isCollapsed(r.node),!i.isCollapsed(r.node)))}}function D(e,t){1&e&&s.ɵɵelement(0,"i",39)}function V(e,t){1&e&&(s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵelementContainerEnd())}function j(e,t){if(1&e&&(s.ɵɵelementStart(0,"ul",36),s.ɵɵtext(1,"\n "),s.ɵɵtemplate(2,V,2,0,"ng-container",26),s.ɵɵtext(3,"\n "),s.ɵɵelementEnd()),2&e){var n=s.ɵɵnextContext().$implicit;s.ɵɵnextContext(2);var r=s.ɵɵreference(9);s.ɵɵadvance(2),s.ɵɵproperty("ngTemplateOutlet",r)("ngTemplateOutletContext",s.ɵɵpureFunction1(2,k,n.children))}}function R(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"li",7),s.ɵɵtext(1,"\n "),s.ɵɵtemplate(2,B,2,7,"i",28),s.ɵɵtext(3,"\n "),s.ɵɵelementStart(4,"a",8),s.ɵɵlistener("click",function(){s.ɵɵrestoreView(n);var e=t.$implicit;return s.ɵɵnextContext(4).selectCollection(e.node)}),s.ɵɵtext(5,"\n "),s.ɵɵtemplate(6,D,1,0,"i",38),s.ɵɵtext(7),s.ɵɵelementEnd(),s.ɵɵtext(8,"\n "),s.ɵɵtemplate(9,j,4,4,"ul",31),s.ɵɵtext(10,"\n "),s.ɵɵelementEnd()}if(2&e){var r=t.$implicit,i=s.ɵɵnextContext(4);s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(5,g,r.node.id===i.selectedCollectionId)),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",r.children.length),s.ɵɵadvance(4),s.ɵɵproperty("ngIf",0===r.children.length),s.ɵɵadvance(1),s.ɵɵtextInterpolate1("",r.node.name,"\n "),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",r.children.length&&!i.isCollapsed(r.node))}}function U(e,t){if(1&e&&(s.ɵɵtext(0,"\n "),s.ɵɵtemplate(1,R,11,7,"li",27),s.ɵɵtext(2,"\n ")),2&e){var n=t.$implicit;s.ɵɵadvance(1),s.ɵɵproperty("ngForOf",n)}}function F(e,t){1&e&&(s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵelementContainerEnd())}function N(e,t){if(1&e&&(s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵelementStart(2,"h3"),s.ɵɵtext(3),s.ɵɵpipe(4,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(5,"\n "),s.ɵɵelementStart(6,"ul",6),s.ɵɵtext(7,"\n "),s.ɵɵtemplate(8,U,3,1,"ng-template",null,37,s.ɵɵtemplateRefExtractor),s.ɵɵtext(10,"\n "),s.ɵɵtemplate(11,F,2,0,"ng-container",26),s.ɵɵtext(12,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(13,"\n "),s.ɵɵelementContainerEnd()),2&e){var n=s.ɵɵreference(9),r=s.ɵɵnextContext(2);s.ɵɵadvance(3),s.ɵɵtextInterpolate(s.ɵɵpipeBind1(4,3,"collections")),s.ɵɵadvance(8),s.ɵɵproperty("ngTemplateOutlet",n)("ngTemplateOutletContext",s.ɵɵpureFunction1(5,k,r.nestedCollections))}}function z(e,t){if(1&e&&(s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵtemplate(2,M,20,10,"ng-container",16),s.ɵɵtext(3,"\n "),s.ɵɵtemplate(4,N,14,7,"ng-container",16),s.ɵɵtext(5,"\n "),s.ɵɵelementContainerEnd()),2&e){var n=s.ɵɵnextContext();s.ɵɵadvance(2),s.ɵɵproperty("ngIf",n.showFolders),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",n.showCollections&&n.collections&&n.collections.length)}}var L=function(e){function t(t,n,r,i){var a=e.call(this,t,n,r,i)||this;return a.onSearchTextChanged=new o.EventEmitter,a.searchText="",a.searchPlaceholder=null,a}return i(t,e),t.prototype.searchTextChanged=function(){this.onSearchTextChanged.emit(this.searchText)},t.ɵfac=function(e){return new(e||t)(s.ɵɵdirectiveInject(l.CollectionService),s.ɵɵdirectiveInject(c.FolderService),s.ɵɵdirectiveInject(p.StorageService),s.ɵɵdirectiveInject(u.UserService))},t.ɵcmp=s.ɵɵdefineComponent({type:t,selectors:[["app-vault-groupings"]],outputs:{onSearchTextChanged:"onSearchTextChanged"},features:[s.ɵɵInheritDefinitionFeature],decls:82,vars:47,consts:[[1,"card","vault-filters"],[1,"card-header","d-flex"],["href","https://help.bitwarden.com/article/searching-vault/","target","_blank","rel","noopener",1,"ml-auto",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],[1,"card-body"],["type","search","id","search","autocomplete","off","appAutofocus","",1,"form-control",3,"placeholder","ngModel","ngModelChange","input"],[1,"fa-ul","card-ul"],[3,"ngClass"],["href","#","appStopClick","",3,"click"],[1,"fa-li","fa","fa-fw","fa-th"],[3,"ngClass",4,"ngIf"],[1,"fa-li","fa","fa-fw","fa-globe"],[1,"fa-li","fa","fa-fw","fa-credit-card"],[1,"fa-li","fa","fa-fw","fa-id-card-o"],[1,"fa-li","fa","fa-fw","fa-sticky-note-o"],["class","text-muted",4,"ngIf"],[4,"ngIf"],[1,"fa-li","fa","fa-fw","fa-star"],[1,"fa-li","fa","fa-fw","fa-trash-o"],[1,"text-muted"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],[1,"sr-only"],[1,"d-flex"],["href","#","appStopClick","",1,"text-muted","ml-auto",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"],["recursiveFolders",""],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"ngClass",4,"ngFor","ngForOf"],["class","fa-li fa",3,"title","ngClass","click",4,"ngIf"],["class","fa-li fa fa-folder-o","aria-hidden","true",4,"ngIf"],["href","#","class","text-muted ml-auto show-active","appStopClick","",3,"appA11yTitle","click",4,"ngIf"],["class","fa-ul card-ul carets",4,"ngIf"],[1,"fa-li","fa",3,"title","ngClass","click"],["aria-hidden","true",1,"fa-li","fa","fa-folder-o"],["href","#","appStopClick","",1,"text-muted","ml-auto","show-active",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-pencil","fa-fw"],[1,"fa-ul","card-ul","carets"],["recursiveCollections",""],["class","fa-li fa fa-cube","aria-hidden","true",4,"ngIf"],["aria-hidden","true",1,"fa-li","fa","fa-cube"]],template:function(e,t){1&e&&(s.ɵɵelementStart(0,"div",0),s.ɵɵtext(1,"\n "),s.ɵɵelementStart(2,"div",1),s.ɵɵtext(3),s.ɵɵpipe(4,"i18n"),s.ɵɵelementStart(5,"a",2),s.ɵɵpipe(6,"i18n"),s.ɵɵtext(7,"\n "),s.ɵɵelement(8,"i",3),s.ɵɵtext(9,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(10,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(11,"\n "),s.ɵɵelementStart(12,"div",4),s.ɵɵtext(13,"\n "),s.ɵɵelementStart(14,"input",5),s.ɵɵlistener("ngModelChange",function(e){return t.searchText=e})("input",function(){return t.searchTextChanged()}),s.ɵɵpipe(15,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(16,"\n "),s.ɵɵelementStart(17,"ul",6),s.ɵɵtext(18,"\n "),s.ɵɵelementStart(19,"li",7),s.ɵɵtext(20,"\n "),s.ɵɵelementStart(21,"a",8),s.ɵɵlistener("click",function(){return t.selectAll()}),s.ɵɵtext(22,"\n "),s.ɵɵelement(23,"i",9),s.ɵɵtext(24),s.ɵɵpipe(25,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(26,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(27,"\n "),s.ɵɵtemplate(28,x,8,6,"li",10),s.ɵɵtext(29,"\n "),s.ɵɵtemplate(30,b,8,6,"li",10),s.ɵɵtext(31,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(32,"\n "),s.ɵɵelementStart(33,"h3"),s.ɵɵtext(34),s.ɵɵpipe(35,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(36,"\n "),s.ɵɵelementStart(37,"ul",6),s.ɵɵtext(38,"\n "),s.ɵɵelementStart(39,"li",7),s.ɵɵtext(40,"\n "),s.ɵɵelementStart(41,"a",8),s.ɵɵlistener("click",function(){return t.selectType(t.cipherType.Login)}),s.ɵɵtext(42,"\n "),s.ɵɵelement(43,"i",11),s.ɵɵtext(44),s.ɵɵpipe(45,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(46,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(47,"\n "),s.ɵɵelementStart(48,"li",7),s.ɵɵtext(49,"\n "),s.ɵɵelementStart(50,"a",8),s.ɵɵlistener("click",function(){return t.selectType(t.cipherType.Card)}),s.ɵɵtext(51,"\n "),s.ɵɵelement(52,"i",12),s.ɵɵtext(53),s.ɵɵpipe(54,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(55,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(56,"\n "),s.ɵɵelementStart(57,"li",7),s.ɵɵtext(58,"\n "),s.ɵɵelementStart(59,"a",8),s.ɵɵlistener("click",function(){return t.selectType(t.cipherType.Identity)}),s.ɵɵtext(60,"\n "),s.ɵɵelement(61,"i",13),s.ɵɵtext(62),s.ɵɵpipe(63,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(64,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(65,"\n "),s.ɵɵelementStart(66,"li",7),s.ɵɵtext(67,"\n "),s.ɵɵelementStart(68,"a",8),s.ɵɵlistener("click",function(){return t.selectType(t.cipherType.SecureNote)}),s.ɵɵtext(69,"\n "),s.ɵɵelement(70,"i",14),s.ɵɵtext(71),s.ɵɵpipe(72,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(73,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(74,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(75,"\n "),s.ɵɵtemplate(76,S,9,6,"p",15),s.ɵɵtext(77,"\n "),s.ɵɵtemplate(78,z,6,2,"ng-container",16),s.ɵɵtext(79,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(80,"\n"),s.ɵɵelementEnd(),s.ɵɵtext(81,"\n")),2&e&&(s.ɵɵadvance(3),s.ɵɵtextInterpolate1("\n ",s.ɵɵpipeBind1(4,19,"filters"),"\n "),s.ɵɵadvance(2),s.ɵɵpropertyInterpolate("appA11yTitle",s.ɵɵpipeBind1(6,21,"learnMore")),s.ɵɵadvance(9),s.ɵɵpropertyInterpolate("placeholder",t.searchPlaceholder||s.ɵɵpipeBind1(15,23,"searchVault")),s.ɵɵproperty("ngModel",t.searchText),s.ɵɵadvance(5),s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(37,g,t.selectedAll)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(25,25,"allItems"),"\n "),s.ɵɵadvance(4),s.ɵɵproperty("ngIf",t.showFavorites),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",t.showTrash),s.ɵɵadvance(4),s.ɵɵtextInterpolate(s.ɵɵpipeBind1(35,27,"types")),s.ɵɵadvance(5),s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(39,g,t.selectedType===t.cipherType.Login)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(45,29,"typeLogin"),"\n "),s.ɵɵadvance(4),s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(41,g,t.selectedType===t.cipherType.Card)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(54,31,"typeCard"),"\n "),s.ɵɵadvance(4),s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(43,g,t.selectedType===t.cipherType.Identity)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(63,33,"typeIdentity"),"\n "),s.ɵɵadvance(4),s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(45,g,t.selectedType===t.cipherType.SecureNote)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(72,35,"typeSecureNote"),"\n "),s.ɵɵadvance(5),s.ɵɵproperty("ngIf",!t.loaded),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",t.loaded))},directives:[d.A11yTitleDirective,m.DefaultValueAccessor,h.AutofocusDirective,m.NgControlStatus,m.NgModel,f.NgClass,v.StopClickDirective,f.NgIf,f.NgTemplateOutlet,f.NgForOf],pipes:[y.I18nPipe],encapsulation:2}),t}(a.GroupingsComponent);t.GroupingsComponent=L},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(248),i=n(276),o=function(){function e(e){null!=e&&(this.id=e.id,this.name=e.name,this.status=e.status,this.type=e.type,this.enabled=e.enabled,this.usePolicies=e.usePolicies,this.useGroups=e.useGroups,this.useDirectory=e.useDirectory,this.useEvents=e.useEvents,this.useTotp=e.useTotp,this.use2fa=e.use2fa,this.useApi=e.useApi,this.useBusinessPortal=e.useBusinessPortal,this.useSso=e.useSso,this.selfHost=e.selfHost,this.usersGetPremium=e.usersGetPremium,this.seats=e.seats,this.maxCollections=e.maxCollections,this.maxStorageGb=e.maxStorageGb,this.ssoBound=e.ssoBound,this.identifier=e.identifier,this.permissions=e.permissions)}return Object.defineProperty(e.prototype,"canAccess",{get:function(){return this.type===i.OrganizationUserType.Owner||this.enabled&&this.status===r.OrganizationUserStatusType.Confirmed},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isManager",{get:function(){return this.type===i.OrganizationUserType.Manager||this.type===i.OrganizationUserType.Owner||this.type===i.OrganizationUserType.Admin},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isAdmin",{get:function(){return this.type===i.OrganizationUserType.Owner||this.type===i.OrganizationUserType.Admin},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isOwner",{get:function(){return this.type===i.OrganizationUserType.Owner},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canAccessBusinessPortal",{get:function(){return this.isAdmin||this.permissions.accessBusinessPortal},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canAccessEventLogs",{get:function(){return this.isAdmin||this.permissions.accessEventLogs},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canAccessImportExport",{get:function(){return this.isAdmin||this.permissions.accessImportExport},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canAccessReports",{get:function(){return this.isAdmin||this.permissions.accessReports},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canManageAllCollections",{get:function(){return this.isAdmin||this.permissions.manageAllCollections},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canManageAssignedCollections",{get:function(){return this.isManager||this.permissions.manageAssignedCollections},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canManageGroups",{get:function(){return this.isAdmin||this.permissions.manageGroups},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canManageSso",{get:function(){return this.isAdmin||this.permissions.manageSso},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canManagePolicies",{get:function(){return this.isAdmin||this.permissions.managePolicies},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canManageUsers",{get:function(){return this.isAdmin||this.permissions.manageUsers},enumerable:!0,configurable:!0}),e}();t.Organization=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.id=null,this.url=null,this.size=null,this.sizeName=null,this.fileName=null,e&&(this.id=e.id,this.url=e.url,this.size=e.size,this.sizeName=e.sizeName)}return Object.defineProperty(e.prototype,"fileSize",{get:function(){try{if(null!=this.size)return parseInt(this.size,null)}catch(e){}return 0},enumerable:!0,configurable:!0}),e}();t.SendFileView=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.text=null,e&&(this.hidden=e.hidden)}return Object.defineProperty(e.prototype,"maskedText",{get:function(){return null!=this.text?"••••••••":null},enumerable:!0,configurable:!0}),e}();t.SendTextView=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1&&this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),n,{timeout:5e3*n.length}),n},e.ɵfac=function(t){return new(t||e)(r.ɵɵinject(i.I18nService),r.ɵɵinject(o.PlatformUtilsService))},e.ɵprov=r.ɵɵdefineInjectable({token:e,factory:e.ɵfac}),e}();t.ValidationService=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.AesCbc256_B64=0]="AesCbc256_B64",e[e.AesCbc128_HmacSha256_B64=1]="AesCbc128_HmacSha256_B64",e[e.AesCbc256_HmacSha256_B64=2]="AesCbc256_HmacSha256_B64",e[e.Rsa2048_OaepSha256_B64=3]="Rsa2048_OaepSha256_B64",e[e.Rsa2048_OaepSha1_B64=4]="Rsa2048_OaepSha1_B64",e[e.Rsa2048_OaepSha256_HmacSha256_B64=5]="Rsa2048_OaepSha256_HmacSha256_B64",e[e.Rsa2048_OaepSha1_HmacSha256_B64=6]="Rsa2048_OaepSha1_HmacSha256_B64"}(t.EncryptionType||(t.EncryptionType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.publicKey=e,this.encryptedPrivateKey=t}}();t.KeysRequest=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1&&(e=e.concat(this.email.substr(0,t).trim().toLowerCase().split(/[^A-Za-z0-9]/))),e},e.ɵfac=function(t){return new(t||e)(o.ɵɵdirectiveInject(a.I18nService),o.ɵɵdirectiveInject(s.CryptoService),o.ɵɵdirectiveInject(l.MessagingService),o.ɵɵdirectiveInject(c.UserService),o.ɵɵdirectiveInject(p.PasswordGenerationService),o.ɵɵdirectiveInject(u.PlatformUtilsService),o.ɵɵdirectiveInject(d.PolicyService))},e.ɵdir=o.ɵɵdefineDirective({type:e}),e}();t.ChangePasswordComponent=m},,function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&t.forEach(function(t){var n=e.data.filter(function(e){return e.id===t});null!=n&&n.length>0&&(n[0].checked=!0)}),[3,5];case 3:return"collection"!==this.entity?[3,5]:[4,this.apiService.getCollectionUsers(this.organizationId,this.entityId)];case 4:null!=(t=r.sent())&&e.data.length>0&&t.forEach(function(t){var n=e.data.filter(function(e){return!e.accessAll&&e.id===t.id});null!=n&&n.length>0&&(n[0].checked=!0,n[0].readOnly=t.readOnly,n[0].hidePasswords=t.hidePasswords)}),r.label=5;case 5:return this.allUsers.forEach(function(e){"collection"===n.entity&&e.accessAll&&(e.checked=!0),e.checked&&n.selectedCount++}),[2]}})})},e.prototype.check=function(e){"collection"===this.entity&&e.accessAll||(e.checked=!e.checked,this.selectedChanged(e))},e.prototype.selectedChanged=function(e){e.checked?this.selectedCount++:("collection"===this.entity&&(e.readOnly=!1,e.hidePasswords=!1),this.selectedCount--)},e.prototype.filterSelected=function(e){this.showSelected=e},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),"group"===this.entity?(e=this.users.filter(function(e){return e.checked}).map(function(e){return e.id}),this.formPromise=this.apiService.putGroupUsers(this.organizationId,this.entityId,e)):(e=this.users.filter(function(e){return e.checked&&!e.accessAll}).map(function(e){return new l.SelectionReadOnlyRequest(e.id,!!e.readOnly,!!e.hidePasswords)}),this.formPromise=this.apiService.putCollectionUsers(this.organizationId,this.entityId,e)),[4,this.formPromise];case 1:return t.sent(),this.analytics.eventTrack.next({action:"group"===this.entity?"Edited Group Users":"Edited Collection Users"}),this.toasterService.popAsync("success",null,this.i18nService.t("updatedUsers")),this.onEditedUsers.emit(),[3,3];case 2:return t.sent(),[3,3];case 3:return[2]}})})},e.ɵfac=function(t){return new(t||e)(p.ɵɵdirectiveInject(u.ApiService),p.ɵɵdirectiveInject(d.I18nService),p.ɵɵdirectiveInject(m.Angulartics2),p.ɵɵdirectiveInject(h.ToasterService))},e.ɵcmp=p.ɵɵdefineComponent({type:e,selectors:[["app-entity-users"]],inputs:{entity:"entity",entityId:"entityId",entityName:"entityName",organizationId:"organizationId"},outputs:{onEditedUsers:"onEditedUsers"},decls:49,vars:29,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","userAccessTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],["ngNativeValidate","",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","userAccessTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"modal-body"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"d-flex"],[1,"mr-3"],["for","search",1,"sr-only"],["type","search","id","search","name","SearchText",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],["role","group",1,"btn-group","btn-group-sm"],["type","button",1,"btn","btn-outline-secondary",3,"ngClass","click"],["class","badge badge-pill badge-info",4,"ngIf"],[4,"ngIf"],[1,"badge","badge-pill","badge-info"],[1,"table","table-hover","table-list","mb-0"],["width","100","class","text-center",4,"ngIf"],[4,"ngFor","ngForOf"],["width","100",1,"text-center"],[1,"table-list-checkbox",3,"click"],["type","checkbox","appStopProp","",3,"ngModel","name","disabled","ngModelChange","change"],["width","30",3,"click"],["size","25",3,"data","email","circle","fontSize"],["class","badge badge-secondary",4,"ngIf"],["class","badge badge-warning",4,"ngIf"],["class","text-muted d-block",4,"ngIf"],["class","text-center",4,"ngIf"],[1,"badge","badge-secondary"],[1,"badge","badge-warning"],[1,"text-muted","d-block"],["aria-hidden","true",1,"fa","fa-th",3,"title"],[1,"text-center"],["type","checkbox",3,"ngModel","name","disabled","ngModelChange"]],template:function(e,t){if(1&e&&(p.ɵɵelementStart(0,"div",0),p.ɵɵtext(1,"\n "),p.ɵɵelementStart(2,"div",1),p.ɵɵtext(3,"\n "),p.ɵɵelementStart(4,"form",2,3),p.ɵɵlistener("ngSubmit",function(){return t.submit()}),p.ɵɵtext(6,"\n "),p.ɵɵelementStart(7,"div",4),p.ɵɵtext(8,"\n "),p.ɵɵelementStart(9,"h2",5),p.ɵɵtext(10),p.ɵɵpipe(11,"i18n"),p.ɵɵelementStart(12,"small"),p.ɵɵtext(13),p.ɵɵelementEnd(),p.ɵɵtext(14,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(15,"\n "),p.ɵɵelementStart(16,"button",6),p.ɵɵpipe(17,"i18n"),p.ɵɵtext(18,"\n "),p.ɵɵelementStart(19,"span",7),p.ɵɵtext(20,"×"),p.ɵɵelementEnd(),p.ɵɵtext(21,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(22,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(23,"\n "),p.ɵɵtemplate(24,C,9,6,"div",8),p.ɵɵtext(25,"\n "),p.ɵɵtemplate(26,K,32,22,"div",8),p.ɵɵpipe(27,"search"),p.ɵɵtext(28,"\n "),p.ɵɵelementStart(29,"div",9),p.ɵɵtext(30,"\n "),p.ɵɵelementStart(31,"button",10),p.ɵɵtext(32,"\n "),p.ɵɵelement(33,"i",11),p.ɵɵpipe(34,"i18n"),p.ɵɵtext(35,"\n "),p.ɵɵelementStart(36,"span"),p.ɵɵtext(37),p.ɵɵpipe(38,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(39,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(40,"\n "),p.ɵɵelementStart(41,"button",12),p.ɵɵtext(42),p.ɵɵpipe(43,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(44,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(45,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(46,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(47,"\n"),p.ɵɵelementEnd(),p.ɵɵtext(48,"\n")),2&e){var n=p.ɵɵreference(5);p.ɵɵadvance(4),p.ɵɵproperty("appApiAction",t.formPromise),p.ɵɵadvance(6),p.ɵɵtextInterpolate1("\n ",p.ɵɵpipeBind1(11,10,"userAccess"),"\n "),p.ɵɵadvance(3),p.ɵɵtextInterpolate(t.entityName),p.ɵɵadvance(3),p.ɵɵpropertyInterpolate("appA11yTitle",p.ɵɵpipeBind1(17,12,"close")),p.ɵɵadvance(8),p.ɵɵproperty("ngIf",t.loading||!t.users),p.ɵɵadvance(2),p.ɵɵproperty("ngIf",!t.loading&&t.users&&p.ɵɵpipeBindV(27,14,p.ɵɵpureFunction2(26,q,t.users,t.searchText))),p.ɵɵadvance(5),p.ɵɵproperty("disabled",n.loading),p.ɵɵadvance(2),p.ɵɵpropertyInterpolate("title",p.ɵɵpipeBind1(34,20,"loading")),p.ɵɵadvance(4),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(38,22,"save")),p.ɵɵadvance(5),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(43,24,"close"))}},directives:[f.NgControlStatusGroup,f.NgForm,v.ApiActionDirective,y.A11yTitleDirective,g.NgIf,f.DefaultValueAccessor,f.NgControlStatus,f.NgModel,g.NgClass,g.NgForOf,f.CheckboxControlValueAccessor,x.StopPropDirective,b.AvatarComponent],pipes:[S.I18nPipe,w.SearchPipe],encapsulation:2}),e}();t.EntityUsersComponent=H},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?this.events=this.events.concat(o):this.events=o,this.loading=!1,this.morePromise=null,this.refreshPromise=null,[2]}})})},e.ɵfac=function(t){return new(t||e)(o.ɵɵdirectiveInject(a.ApiService),o.ɵɵdirectiveInject(s.I18nService),o.ɵɵdirectiveInject(l.EventService),o.ɵɵdirectiveInject(c.ToasterService))},e.ɵcmp=o.ɵɵdefineComponent({type:e,selectors:[["app-entity-events"]],inputs:{name:"name",entity:"entity",entityId:"entityId",organizationId:"organizationId",showUser:"showUser"},decls:36,vars:12,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","eventLogsTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],[1,"modal-content"],[1,"modal-header"],["id","eventLogsTitle",1,"modal-title"],["class","text-muted",4,"ngIf"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"text-muted"],[1,"modal-body"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"d-flex"],[1,"form-inline"],["for","start",1,"sr-only"],["type","datetime-local","id","start","placeholder","YYYY-MM-DDTHH:MM",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],[1,"mx-2"],["for","end",1,"sr-only"],["type","datetime-local","id","end","placeholder","YYYY-MM-DDTHH:MM",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],["type","button",1,"btn","btn-sm","btn-outline-primary","ml-3",3,"appApiAction","disabled","click"],["refreshBtn",""],["aria-hidden","true",1,"fa","fa-refresh","fa-fw",3,"ngClass"],[4,"ngIf"],["class","table table-hover mb-0",4,"ngIf"],["type","button","class","btn btn-block btn-link btn-submit",3,"appApiAction","disabled","click",4,"ngIf"],[1,"table","table-hover","mb-0"],["width","210",1,"border-top-0"],["width","40",1,"border-top-0"],["class","border-top-0","width","150",4,"ngIf"],[1,"border-top-0"],[4,"ngFor","ngForOf"],["width","150",1,"border-top-0"],["aria-hidden","true",3,"title"],[3,"innerHTML"],[3,"appA11yTitle"],["type","button",1,"btn","btn-block","btn-link","btn-submit",3,"appApiAction","disabled","click"],["moreBtn",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"]],template:function(e,t){1&e&&(o.ɵɵelementStart(0,"div",0),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"div",1),o.ɵɵtext(3,"\n "),o.ɵɵelementStart(4,"div",2),o.ɵɵtext(5,"\n "),o.ɵɵelementStart(6,"div",3),o.ɵɵtext(7,"\n "),o.ɵɵelementStart(8,"h2",4),o.ɵɵtext(9),o.ɵɵpipe(10,"i18n"),o.ɵɵtemplate(11,f,2,1,"small",5),o.ɵɵtext(12,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(13,"\n "),o.ɵɵelementStart(14,"button",6),o.ɵɵpipe(15,"i18n"),o.ɵɵtext(16,"\n "),o.ɵɵelementStart(17,"span",7),o.ɵɵtext(18,"×"),o.ɵɵelementEnd(),o.ɵɵtext(19,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(20,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(21,"\n "),o.ɵɵtemplate(22,v,9,6,"div",8),o.ɵɵtext(23,"\n "),o.ɵɵtemplate(24,I,40,25,"div",8),o.ɵɵtext(25,"\n "),o.ɵɵelementStart(26,"div",9),o.ɵɵtext(27,"\n "),o.ɵɵelementStart(28,"button",10),o.ɵɵtext(29),o.ɵɵpipe(30,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(31,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(32,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(33,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(34,"\n"),o.ɵɵelementEnd(),o.ɵɵtext(35,"\n")),2&e&&(o.ɵɵadvance(9),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(10,6,"eventLogs"),"\n "),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",t.name),o.ɵɵadvance(3),o.ɵɵpropertyInterpolate("appA11yTitle",o.ɵɵpipeBind1(15,8,"close")),o.ɵɵadvance(8),o.ɵɵproperty("ngIf",!t.loaded),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",t.loaded),o.ɵɵadvance(5),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(30,10,"close")))},directives:[p.NgIf,u.A11yTitleDirective,d.DefaultValueAccessor,d.NgControlStatus,d.NgModel,m.ApiActionDirective,p.NgClass,p.NgForOf],pipes:[h.I18nPipe,p.DatePipe],encapsulation:2}),e}();t.EntityEventsComponent=E},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){void 0===t&&(t=null);var n=e.call(this,t)||this;return null==t?n:(n.accessBusinessPortal=n.getResponseProperty("AccessBusinessPortal"),n.accessEventLogs=n.getResponseProperty("AccessEventLogs"),n.accessImportExport=n.getResponseProperty("AccessImportExport"),n.accessReports=n.getResponseProperty("AccessReports"),n.manageAllCollections=n.getResponseProperty("ManageAllCollections"),n.manageAssignedCollections=n.getResponseProperty("ManageAssignedCollections"),n.manageCiphers=n.getResponseProperty("ManageCiphers"),n.manageGroups=n.getResponseProperty("ManageGroups"),n.manageSso=n.getResponseProperty("ManageSso"),n.managePolicies=n.getResponseProperty("ManagePolicies"),n.manageUsers=n.getResponseProperty("ManageUsers"),n)}return i(t,e),t}(n(25).BaseResponse);t.PermissionsApi=o},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)return void(this.creditAmount=parseFloat((Math.round(100*e)/100).toString()).toFixed(2).toString())}}catch(t){}this.creditAmount=""},Object.defineProperty(e.prototype,"creditAmountNumber",{get:function(){if(null!=this.creditAmount&&""!==this.creditAmount)try{return parseFloat(this.creditAmount)}catch(e){}return null},enumerable:!0,configurable:!0}),e.ɵfac=function(t){return new(t||e)(c.ɵɵdirectiveInject(p.UserService),c.ɵɵdirectiveInject(u.ApiService),c.ɵɵdirectiveInject(d.Angulartics2),c.ɵɵdirectiveInject(m.ToasterService),c.ɵɵdirectiveInject(h.PlatformUtilsService))},e.ɵcmp=c.ɵɵdefineComponent({type:e,selectors:[["app-add-credit"]],viewQuery:function(e,t){var n;(1&e&&c.ɵɵstaticViewQuery(b,!0,o.ElementRef),2&e)&&(c.ɵɵqueryRefresh(n=c.ɵɵloadQuery())&&(t.ppButtonFormRef=n.first))},inputs:{creditAmount:"creditAmount",showOptions:"showOptions",method:"method",organizationId:"organizationId"},outputs:{onAdded:"onAdded",onCanceled:"onCanceled"},decls:92,vars:32,consts:[["ngNativeValidate","",1,"card",3,"appApiAction","ngSubmit"],["form",""],[1,"card-body"],["type","button",1,"close",3,"appA11yTitle","click"],["aria-hidden","true"],[1,"card-body-header"],["class","mb-4 text-lg",4,"ngIf"],[1,"form-group"],[1,"row"],[1,"col-4"],["for","creditAmount"],[1,"input-group"],[1,"input-group-prepend"],[1,"input-group-text"],["id","creditAmount","type","text","name","CreditAmount","required","",1,"form-control",3,"ngModel","ngModelChange","blur"],[1,"form-text","text-muted"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button",1,"btn","btn-outline-secondary",3,"click"],["method","post","target","_top",3,"action"],["ppButtonForm",""],["type","hidden","name","cmd","value","_xclick"],["type","hidden","name","business",3,"value"],["type","hidden","name","button_subtype","value","services"],["type","hidden","name","no_note","value","1"],["type","hidden","name","no_shipping","value","1"],["type","hidden","name","rm","value","1"],["type","hidden","name","return",3,"value"],["type","hidden","name","cancel_return",3,"value"],["type","hidden","name","currency_code","value","USD"],["type","hidden","name","image_url","value","https://bitwarden.com/images/paypal-banner.png"],["type","hidden","name","bn","value","PP-BuyNowBF:btn_buynow_LG.gif:NonHosted"],["type","hidden","name","amount",3,"value"],["type","hidden","name","custom",3,"value"],["type","hidden","name","item_name","value","Bitwarden Account Credit"],["type","hidden","name","item_number",3,"value"],[1,"mb-4","text-lg"],[1,"form-check","form-check-inline"],["type","radio","name","Method","id","credit-method-paypal",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","credit-method-paypal",1,"form-check-label"],["aria-hidden","true",1,"fa","fa-fw","fa-paypal"],["type","radio","name","Method","id","credit-method-bitcoin",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","credit-method-bitcoin",1,"form-check-label"],["aria-hidden","true",1,"fa","fa-fw","fa-bitcoin"]],template:function(e,t){if(1&e&&(c.ɵɵelementStart(0,"form",0,1),c.ɵɵlistener("ngSubmit",function(){return t.submit()}),c.ɵɵtext(2,"\n "),c.ɵɵelementStart(3,"div",2),c.ɵɵtext(4,"\n "),c.ɵɵelementStart(5,"button",3),c.ɵɵlistener("click",function(){return t.cancel()}),c.ɵɵpipe(6,"i18n"),c.ɵɵelementStart(7,"span",4),c.ɵɵtext(8,"×"),c.ɵɵelementEnd(),c.ɵɵelementEnd(),c.ɵɵtext(9,"\n "),c.ɵɵelementStart(10,"h3",5),c.ɵɵtext(11),c.ɵɵpipe(12,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(13,"\n "),c.ɵɵtemplate(14,S,22,4,"div",6),c.ɵɵtext(15,"\n "),c.ɵɵelementStart(16,"div",7),c.ɵɵtext(17,"\n "),c.ɵɵelementStart(18,"div",8),c.ɵɵtext(19,"\n "),c.ɵɵelementStart(20,"div",9),c.ɵɵtext(21,"\n "),c.ɵɵelementStart(22,"label",10),c.ɵɵtext(23),c.ɵɵpipe(24,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(25,"\n "),c.ɵɵelementStart(26,"div",11),c.ɵɵtext(27,"\n "),c.ɵɵelementStart(28,"div",12),c.ɵɵelementStart(29,"span",13),c.ɵɵtext(30,"$USD"),c.ɵɵelementEnd(),c.ɵɵelementEnd(),c.ɵɵtext(31,"\n "),c.ɵɵelementStart(32,"input",14),c.ɵɵlistener("ngModelChange",function(e){return t.creditAmount=e})("blur",function(){return t.formatAmount()}),c.ɵɵelementEnd(),c.ɵɵtext(33,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(34,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(35,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(36,"\n "),c.ɵɵelementStart(37,"small",15),c.ɵɵtext(38),c.ɵɵpipe(39,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(40,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(41,"\n "),c.ɵɵelementStart(42,"button",16),c.ɵɵtext(43,"\n "),c.ɵɵelement(44,"i",17),c.ɵɵpipe(45,"i18n"),c.ɵɵtext(46,"\n "),c.ɵɵelementStart(47,"span"),c.ɵɵtext(48),c.ɵɵpipe(49,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(50,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(51,"\n "),c.ɵɵelementStart(52,"button",18),c.ɵɵlistener("click",function(){return t.cancel()}),c.ɵɵtext(53),c.ɵɵpipe(54,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(55,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(56,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(57,"\n"),c.ɵɵelementStart(58,"form",19,20),c.ɵɵtext(60,"\n "),c.ɵɵelement(61,"input",21),c.ɵɵtext(62,"\n "),c.ɵɵelement(63,"input",22),c.ɵɵtext(64,"\n "),c.ɵɵelement(65,"input",23),c.ɵɵtext(66,"\n "),c.ɵɵelement(67,"input",24),c.ɵɵtext(68,"\n "),c.ɵɵelement(69,"input",25),c.ɵɵtext(70,"\n "),c.ɵɵelement(71,"input",26),c.ɵɵtext(72,"\n "),c.ɵɵelement(73,"input",27),c.ɵɵtext(74,"\n "),c.ɵɵelement(75,"input",28),c.ɵɵtext(76,"\n "),c.ɵɵelement(77,"input",29),c.ɵɵtext(78,"\n "),c.ɵɵelement(79,"input",30),c.ɵɵtext(80,"\n "),c.ɵɵelement(81,"input",31),c.ɵɵtext(82,"\n "),c.ɵɵelement(83,"input",32),c.ɵɵtext(84,"\n "),c.ɵɵelement(85,"input",33),c.ɵɵtext(86,"\n "),c.ɵɵelement(87,"input",34),c.ɵɵtext(88,"\n "),c.ɵɵelement(89,"input",35),c.ɵɵtext(90,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(91,"\n")),2&e){var n=c.ɵɵreference(1);c.ɵɵproperty("appApiAction",t.formPromise),c.ɵɵadvance(5),c.ɵɵpropertyInterpolate("appA11yTitle",c.ɵɵpipeBind1(6,18,"cancel")),c.ɵɵadvance(6),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(12,20,"addCredit")),c.ɵɵadvance(3),c.ɵɵproperty("ngIf",t.showOptions),c.ɵɵadvance(9),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(24,22,"amount")),c.ɵɵadvance(9),c.ɵɵproperty("ngModel",t.creditAmount),c.ɵɵadvance(6),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(39,24,"creditDelayed")),c.ɵɵadvance(4),c.ɵɵproperty("disabled",n.loading||t.ppLoading),c.ɵɵadvance(2),c.ɵɵpropertyInterpolate("title",c.ɵɵpipeBind1(45,26,"loading")),c.ɵɵadvance(4),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(49,28,"submit")),c.ɵɵadvance(5),c.ɵɵtextInterpolate1("\n ",c.ɵɵpipeBind1(54,30,"cancel"),"\n "),c.ɵɵadvance(5),c.ɵɵpropertyInterpolate("action",t.ppButtonFormAction,c.ɵɵsanitizeUrl),c.ɵɵadvance(5),c.ɵɵpropertyInterpolate("value",t.ppButtonBusinessId),c.ɵɵadvance(10),c.ɵɵpropertyInterpolate("value",t.returnUrl),c.ɵɵadvance(2),c.ɵɵpropertyInterpolate("value",t.returnUrl),c.ɵɵadvance(8),c.ɵɵpropertyInterpolate("value",t.creditAmount),c.ɵɵadvance(2),c.ɵɵpropertyInterpolate("value",t.ppButtonCustomField),c.ɵɵadvance(4),c.ɵɵpropertyInterpolate("value",t.subject)}},directives:[f.NgControlStatusGroup,f.NgForm,v.ApiActionDirective,y.A11yTitleDirective,g.NgIf,f.DefaultValueAccessor,f.RequiredValidator,f.NgControlStatus,f.NgModel,f.ɵangular_packages_forms_forms_y,f.RadioControlValueAccessor],pipes:[x.I18nPipe],encapsulation:2}),e}();t.AddCreditComponent=w},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(t.push(e),r.exposedPasswordMap.set(e.id,n))});n.push(i)}}),[4,Promise.all(n)];case 2:return i.sent(),this.ciphers=t,[2]}})})},t.prototype.getAllCiphers=function(){return this.cipherService.getAllDecrypted()},t.prototype.canManageCipher=function(e){return!0},t.ɵfac=function(e){return new(e||t)(c.ɵɵdirectiveInject(p.CipherService),c.ɵɵdirectiveInject(u.AuditService),c.ɵɵdirectiveInject(c.ComponentFactoryResolver),c.ɵɵdirectiveInject(d.MessagingService),c.ɵɵdirectiveInject(m.UserService))},t.ɵcmp=c.ɵɵdefineComponent({type:t,selectors:[["app-exposed-passwords-report"]],features:[c.ɵɵInheritDefinitionFeature],decls:26,vars:14,consts:[[1,"page-header"],["type","button",1,"btn","btn-primary","btn-submit",3,"disabled","click"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["class","mt-4",4,"ngIf"],["cipherAddEdit",""],[1,"mt-4"],["type","success",3,"title",4,"ngIf"],[4,"ngIf"],["type","success",3,"title"],["type","danger",3,"title"],[1,"table","table-hover","table-list","table-ciphers"],[4,"ngFor","ngForOf"],[1,"table-list-icon"],[3,"cipher"],[1,"reduced-lh","wrap"],[4,"ngIf","ngIfElse"],["cantManage",""],[1,"text-right"],[1,"badge","badge-warning"],["href","#","appStopClick","",3,"title","click"],["appStopProp","","aria-hidden","true",1,"fa","fa-share-alt",3,"title"],[1,"sr-only"],["appStopProp","","aria-hidden","true",1,"fa","fa-paperclip",3,"title"]],template:function(e,t){1&e&&(c.ɵɵelementStart(0,"div",0),c.ɵɵtext(1,"\n "),c.ɵɵelementStart(2,"h1"),c.ɵɵtext(3),c.ɵɵpipe(4,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(5,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(6,"\n"),c.ɵɵelementStart(7,"p"),c.ɵɵtext(8),c.ɵɵpipe(9,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(10,"\n"),c.ɵɵelementStart(11,"button",1),c.ɵɵlistener("click",function(){return t.load()}),c.ɵɵtext(12,"\n "),c.ɵɵelement(13,"i",2),c.ɵɵpipe(14,"i18n"),c.ɵɵtext(15,"\n "),c.ɵɵelementStart(16,"span"),c.ɵɵtext(17),c.ɵɵpipe(18,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(19,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(20,"\n"),c.ɵɵtemplate(21,k,6,2,"div",3),c.ɵɵtext(22,"\n"),c.ɵɵtemplate(23,_,0,0,"ng-template",null,4,c.ɵɵtemplateRefExtractor),c.ɵɵtext(25,"\n")),2&e&&(c.ɵɵadvance(3),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(4,6,"exposedPasswordsReport")),c.ɵɵadvance(5),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(9,8,"exposedPasswordsReportDesc")),c.ɵɵadvance(3),c.ɵɵproperty("disabled",t.loading),c.ɵɵadvance(2),c.ɵɵpropertyInterpolate("title",c.ɵɵpipeBind1(14,10,"loading")),c.ɵɵadvance(4),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(18,12,"checkExposedPasswords")),c.ɵɵadvance(4),c.ɵɵproperty("ngIf",t.hasLoaded))},directives:[h.NgIf,f.CalloutComponent,h.NgForOf,v.IconComponent,y.StopClickDirective,g.StopPropDirective],pipes:[x.I18nPipe,h.DecimalPipe],encapsulation:2}),t}(l.CipherReportComponent);t.ExposedPasswordsReportComponent=A},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1||!this.allowPersonal)&&(null!=this.organization?this.cloneMode&&this.organization.canManageAllCollections:!this.editMode||this.cloneMode)},t.prototype.loadCollections=function(){return this.organization.canManageAllCollections?Promise.resolve(this.collections):e.prototype.loadCollections.call(this)},t.prototype.loadCipher=function(){return o(this,void 0,void 0,function(){var t,n;return a(this,function(r){switch(r.label){case 0:return this.organization.canManageAllCollections?[3,2]:[4,e.prototype.loadCipher.call(this)];case 1:return[2,r.sent()];case 2:return[4,this.apiService.getCipherAdmin(this.cipherId)];case 3:return t=r.sent(),n=new s.CipherData(t),this.originalCipher=new l.Cipher(n),[2,new l.Cipher(n)]}})})},t.prototype.encryptCipher=function(){return this.organization.canManageAllCollections?this.cipherService.encrypt(this.cipher,null,this.originalCipher):e.prototype.encryptCipher.call(this)},t.prototype.saveCipher=function(t){return o(this,void 0,void 0,function(){var n;return a(this,function(r){return this.organization.canManageAllCollections&&null!=t.organizationId?this.editMode&&!this.cloneMode?(n=new p.CipherRequest(t),[2,this.apiService.putCipherAdmin(this.cipherId,n)]):(n=new c.CipherCreateRequest(t),[2,this.apiService.postCipherAdmin(n)]):[2,e.prototype.saveCipher.call(this,t)]})})},t.prototype.deleteCipher=function(){return o(this,void 0,void 0,function(){return a(this,function(t){return this.organization.canManageAllCollections?[2,this.cipher.isDeleted?this.apiService.deleteCipherAdmin(this.cipherId):this.apiService.putDeleteCipherAdmin(this.cipherId)]:[2,e.prototype.deleteCipher.call(this)]})})},t.ɵfac=function(e){return new(e||t)(d.ɵɵdirectiveInject(m.CipherService),d.ɵɵdirectiveInject(h.FolderService),d.ɵɵdirectiveInject(f.I18nService),d.ɵɵdirectiveInject(v.PlatformUtilsService),d.ɵɵdirectiveInject(y.AuditService),d.ɵɵdirectiveInject(g.StateService),d.ɵɵdirectiveInject(x.UserService),d.ɵɵdirectiveInject(b.CollectionService),d.ɵɵdirectiveInject(S.TotpService),d.ɵɵdirectiveInject(w.PasswordGenerationService),d.ɵɵdirectiveInject(C.ApiService),d.ɵɵdirectiveInject(I.MessagingService),d.ɵɵdirectiveInject(E.EventService),d.ɵɵdirectiveInject(P.PolicyService))},t.ɵcmp=d.ɵɵdefineComponent({type:t,selectors:[["app-org-vault-add-edit"]],features:[d.ɵɵInheritDefinitionFeature],decls:36,vars:11,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","cipherAddEditTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],["ngNativeValidate","","autocomplete","off",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","cipherAddEditTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit","class","btn btn-primary btn-submit",3,"disabled",4,"ngIf"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],["class","ml-auto",4,"ngIf"],[1,"modal-body"],["type","info",4,"ngIf"],["class","row",4,"ngIf"],[1,"row"],[1,"col-6","form-group"],["for","name"],["id","name","type","text","name","Name","required","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["class","col-6 form-group",4,"ngIf"],[4,"ngIf"],[1,"form-group"],["for","notes"],["id","notes","name","Notes","rows","6",1,"form-control",3,"ngModel","disabled","ngModelChange"],[1,"mt-4"],["cdkDropList","",3,"cdkDropListDropped",4,"ngIf"],["href","#","appStopClick","","class","d-inline-block mb-2",3,"click",4,"ngIf"],["type","info"],["for","type"],["id","type","name","Type","appAutofocus","",1,"form-control",3,"ngModel","disabled","ngModelChange"],[3,"ngValue",4,"ngFor","ngForOf"],[3,"ngValue"],["for","folder"],["id","folder","name","FolderId",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","loginUsername"],[1,"input-group"],["id","loginUsername","type","text","name","Login.Username","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["class","input-group-append",4,"ngIf"],[1,"d-flex"],["for","loginPassword"],["class","ml-auto d-flex",4,"ngIf"],["id","loginPassword","name","Login.Password","appInputVerbatim","","autocomplete","new-password",1,"form-control","text-monospace",3,"type","ngModel","disabled","ngModelChange"],[1,"input-group-append"],["type","button","tabindex","-1",1,"btn","btn-outline-secondary",3,"appA11yTitle","disabled","click"],["aria-hidden","true",1,"fa","fa-lg",3,"ngClass"],["aria-hidden","true",1,"fa","fa-lg","fa-clone"],["for","loginTotp"],["id","loginTotp","name","Login.Totp","appInputVerbatim","",1,"form-control","text-monospace",3,"type","ngModel","disabled","ngModelChange"],[1,"col-6","form-group","totp","d-flex","align-items-end",3,"ngClass"],["class","d-flex align-items-center",4,"ngIf"],["href","#","appStopClick","","class","d-inline-block mb-3",3,"click",4,"ngIf"],["type","button","tabindex","-1",1,"btn","btn-outline-secondary",3,"appA11yTitle","click"],[1,"ml-auto","d-flex"],["href","#","class","d-block mr-2","appStopClick","",3,"appA11yTitle","click",4,"ngIf"],["href","#","appStopClick","",1,"d-block",3,"appA11yTitle","appApiAction","click"],["checkPasswordBtn",""],["aria-hidden","true",1,"fa","fa-lg","fa-fw","fa-check-circle",3,"hidden"],["aria-hidden","true",1,"fa","fa-lg","fa-fw","fa-spinner","fa-spin",3,"hidden","title"],["href","#","appStopClick","",1,"d-block","mr-2",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-lg","fa-fw","fa-refresh"],["src","images/totp-countdown.png",1,"ml-2",3,"title"],["href","#","appStopClick","","class","badge badge-primary ml-3",3,"click",4,"ngIf"],["href","#","appStopClick","",1,"badge","badge-primary","ml-3",3,"click"],[1,"d-flex","align-items-center"],[1,"totp-countdown","mr-3","ml-2"],[1,"totp-sec"],["r","12.6","cy","16","cx","16",1,"totp-circle","inner",3,"ngStyle"],["r","14","cy","16","cx","16",1,"totp-circle","outer"],[1,"totp-code","mr-2",3,"title"],["type","button",1,"btn","btn-link",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-clone"],["class","row",4,"ngFor","ngForOf","ngForTrackBy"],[1,"col-7","form-group"],[3,"for"],["type","text","appInputVerbatim","",1,"form-control",3,"id","name","ngModel","disabled","placeholder","ngModelChange"],["aria-hidden","true",1,"fa","fa-lg","fa-share"],[1,"col-5","form-group"],["href","https://help.bitwarden.com/article/uri-match-detection/","target","_blank","rel","noopener",1,"ml-auto",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],[1,"form-control","overflow-hidden",3,"id","name","ngModel","disabled","ngModelChange","change"],["type","button","class","btn btn-link text-danger ml-2",3,"appA11yTitle","click",4,"ngIf"],["type","button",1,"btn","btn-link","text-danger","ml-2",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-minus-circle","fa-lg"],["href","#","appStopClick","",1,"d-inline-block","mb-3",3,"click"],["aria-hidden","true",1,"fa","fa-plus-circle","fa-fw"],["for","cardCardholderName"],["id","cardCardholderName","type","text","name","Card.CardCardholderName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","cardBrand"],["id","cardBrand","name","Card.Brand",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","cardNumber"],["id","cardNumber","type","text","name","Card.Number","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],[1,"col","form-group"],["for","cardExpMonth"],["id","cardExpMonth","name","Card.ExpMonth",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","cardExpYear"],["id","cardExpYear","type","text","name","Card.ExpYear",1,"form-control",3,"ngModel","placeholder","disabled","ngModelChange"],["for","cardCode"],["id","cardCode","name","Card.Code","appInputVerbatim","","autocomplete","new-password",1,"form-control","text-monospace",3,"type","ngModel","disabled","ngModelChange"],[1,"col-4","form-group"],["for","idTitle"],["id","idTitle","name","Identity.Title",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idFirstName"],["id","idFirstName","type","text","name","Identity.FirstName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idMiddleName"],["id","idMiddleName","type","text","name","Identity.MiddleName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idLastName"],["id","idLastName","type","text","name","Identity.LastName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idUsername"],["id","idUsername","type","text","name","Identity.Username","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idCompany"],["id","idCompany","type","text","name","Identity.Company",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idSsn"],["id","idSsn","type","text","name","Identity.SSN","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idPassportNumber"],["id","idPassportNumber","type","text","name","Identity.PassportNumber","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idLicenseNumber"],["id","idLicenseNumber","type","text","name","Identity.LicenseNumber","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idEmail"],["id","idEmail","type","text","name","Identity.Email","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idPhone"],["id","idPhone","type","text","name","Identity.Phone",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idAddress1"],["id","idAddress1","type","text","name","Identity.Address1",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idAddress2"],["id","idAddress2","type","text","name","Identity.Address2",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idAddress3"],["id","idAddress3","type","text","name","Identity.Address3",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idCity"],["id","idCity","type","text","name","Identity.City",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idState"],["id","idState","type","text","name","Identity.State",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idPostalCode"],["id","idPostalCode","type","text","name","Identity.PostalCode",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idCountry"],["id","idCountry","type","text","name","Identity.Country",1,"form-control",3,"ngModel","disabled","ngModelChange"],["cdkDropList","",3,"cdkDropListDropped"],["class","row","cdkDrag","",4,"ngFor","ngForOf","ngForTrackBy"],["cdkDrag","",1,"row"],["href","https://help.bitwarden.com/article/custom-fields/","target","_blank","rel","noopener",1,"ml-auto",3,"appA11yTitle"],["type","text","appInputVerbatim","",1,"form-control",3,"id","name","ngModel","disabled","ngModelChange"],["class","input-group",4,"ngIf"],[1,"flex-fill"],["type","checkbox","appTrueFalseValue","","trueValue","true","falseValue","false",3,"id","name","ngModel","disabled","ngModelChange",4,"ngIf"],["type","button","class","btn btn-link text-muted cursor-move",3,"appA11yTitle",4,"ngIf"],["appInputVerbatim","","autocomplete","new-password",1,"form-control","text-monospace",3,"id","type","name","ngModel","disabled","ngModelChange"],["type","checkbox","appTrueFalseValue","","trueValue","true","falseValue","false",3,"id","name","ngModel","disabled","ngModelChange"],["type","button",1,"btn","btn-link","text-muted","cursor-move",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-bars","fa-lg"],["href","#","appStopClick","",1,"d-inline-block","mb-2",3,"click"],[1,"col-5"],["for","addFieldType",1,"sr-only"],["id","addFieldType","name","AddFieldType",1,"form-control",3,"ngModel","ngModelChange"],["for","organizationId"],["id","organizationId","name","OrganizationId",1,"form-control",3,"ngModel","disabled","ngModelChange","change"],["class","form-check",4,"ngFor","ngForOf"],[1,"form-check"],["type","checkbox",1,"form-check-input",3,"ngModel","id","name","disabled","ngModelChange"],[1,"form-check-label",3,"for"],[1,"small","text-muted","mt-4"],[1,"font-weight-semibold"],["class","ml-3",4,"ngIf"],["href","#","appStopClick","",3,"title","click"],[1,"ml-3"],[4,"ngFor","ngForOf"],[1,"password-wrapper","text-monospace","ml-2"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],[1,"ml-auto"],["type","button","class","btn btn-link",3,"appA11yTitle","click",4,"ngIf"],["type","button","class","btn btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click",4,"ngIf"],["type","button",1,"btn","btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click"],["deleteBtn",""],["aria-hidden","true",1,"fa","fa-trash-o","fa-lg","fa-fw",3,"hidden"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","fa-lg","fa-fw",3,"hidden","title"]],template:function(e,t){1&e&&(d.ɵɵelementStart(0,"div",0),d.ɵɵtext(1,"\n "),d.ɵɵelementStart(2,"div",1),d.ɵɵtext(3,"\n "),d.ɵɵelementStart(4,"form",2,3),d.ɵɵlistener("ngSubmit",function(){return t.submit()}),d.ɵɵtext(6,"\n "),d.ɵɵelementStart(7,"div",4),d.ɵɵtext(8,"\n "),d.ɵɵelementStart(9,"h2",5),d.ɵɵtext(10),d.ɵɵelementEnd(),d.ɵɵtext(11,"\n "),d.ɵɵelementStart(12,"button",6),d.ɵɵpipe(13,"i18n"),d.ɵɵtext(14,"\n "),d.ɵɵelementStart(15,"span",7),d.ɵɵtext(16,"×"),d.ɵɵelementEnd(),d.ɵɵtext(17,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(18,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(19,"\n "),d.ɵɵtemplate(20,Te,54,25,"div",8),d.ɵɵtext(21,"\n "),d.ɵɵelementStart(22,"div",9),d.ɵɵtext(23,"\n "),d.ɵɵtemplate(24,Me,9,7,"button",10),d.ɵɵtext(25,"\n "),d.ɵɵelementStart(26,"button",11),d.ɵɵtext(27),d.ɵɵpipe(28,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(29,"\n "),d.ɵɵtemplate(30,je,6,2,"div",12),d.ɵɵtext(31,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(32,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(33,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(34,"\n"),d.ɵɵelementEnd(),d.ɵɵtext(35,"\n")),2&e&&(d.ɵɵadvance(4),d.ɵɵproperty("appApiAction",t.formPromise),d.ɵɵadvance(6),d.ɵɵtextInterpolate(t.title),d.ɵɵadvance(2),d.ɵɵpropertyInterpolate("appA11yTitle",d.ɵɵpipeBind1(13,7,"close")),d.ɵɵadvance(8),d.ɵɵproperty("ngIf",t.cipher),d.ɵɵadvance(4),d.ɵɵproperty("ngIf",!t.viewOnly),d.ɵɵadvance(3),d.ɵɵtextInterpolate1("\n ",d.ɵɵpipeBind1(28,9,t.viewOnly?"close":"cancel"),"\n "),d.ɵɵadvance(3),d.ɵɵproperty("ngIf",t.cipher&&!t.viewOnly))},directives:[k.NgControlStatusGroup,k.NgForm,_.ApiActionDirective,A.A11yTitleDirective,O.NgIf,k.DefaultValueAccessor,k.RequiredValidator,k.NgControlStatus,k.NgModel,T.CalloutComponent,k.SelectControlValueAccessor,M.AutofocusDirective,O.NgForOf,k.NgSelectOption,k.ɵangular_packages_forms_forms_x,B.InputVerbatimDirective,O.NgClass,D.StopClickDirective,O.NgStyle,V.CdkDropList,V.CdkDrag,j.TrueFalseValueDirective,k.CheckboxControlValueAccessor],pipes:[R.I18nPipe,O.DatePipe],encapsulation:2}),t}(u.AddEditComponent);t.AddEditComponent=Re},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){null!=e&&(this.id=e.id,this.url=e.url,this.fileName=e.fileName,this.key=e.key,this.size=e.size,this.sizeName=e.sizeName)}}();t.AttachmentData=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){null!=e&&(this.cardholderName=e.cardholderName,this.brand=e.brand,this.number=e.number,this.expMonth=e.expMonth,this.expYear=e.expYear,this.code=e.code)}}();t.CardData=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){null!=e&&(this.type=e.type,this.name=e.name,this.value=e.value)}}();t.FieldData=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){null!=e&&(this.title=e.title,this.firstName=e.firstName,this.middleName=e.middleName,this.lastName=e.lastName,this.address1=e.address1,this.address2=e.address2,this.address3=e.address3,this.city=e.city,this.state=e.state,this.postalCode=e.postalCode,this.country=e.country,this.company=e.company,this.email=e.email,this.phone=e.phone,this.ssn=e.ssn,this.username=e.username,this.passportNumber=e.passportNumber,this.licenseNumber=e.licenseNumber)}}();t.IdentityData=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(484),i=function(){return function(e){null!=e&&(this.username=e.username,this.password=e.password,this.passwordRevisionDate=e.passwordRevisionDate,this.totp=e.totp,e.uris&&(this.uris=e.uris.map(function(e){return new r.LoginUriData(e)})))}}();t.LoginData=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.match=null,null!=e&&(this.uri=e.uri,this.match=e.match)}}();t.LoginUriData=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){null!=e&&(this.type=e.type)}}();t.SecureNoteData=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0))return[3,4];i.label=1;case 1:return i.trys.push([1,3,,4]),[4,this.getFileContents(n[0])];case 2:return null!=(o=i.sent())&&(r=o),[3,4];case 3:return i.sent(),[3,4];case 4:if(null==r||""===r)return this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("selectFile")),[2];i.label=5;case 5:return i.trys.push([5,7,,8]),this.formPromise=this.importService.import(e,r,this.organizationId),[4,this.formPromise];case 6:return null!=(a=i.sent())?(this.error(a),[2]):(this.analytics.eventTrack.next({action:"Imported Data",properties:{label:this.format}}),this.toasterService.popAsync("success",null,this.i18nService.t("importSuccess")),this.router.navigate(this.successNavigate),[3,8]);case 7:return i.sent(),[3,8];case 8:return[2]}})})},e.prototype.getFormatInstructionTitle=function(){var e=this;if(null==this.format)return null;var t=this.featuredImportOptions.concat(this.importOptions).filter(function(t){return t.id===e.format});return t.length>0?this.i18nService.t("instructionsFor",t[0].name):null},e.prototype.setImportOptions=function(){this.featuredImportOptions=o([{id:null,name:"-- "+this.i18nService.t("select")+" --"}],this.importService.featuredImportOptions),this.importOptions=this.importService.regularImportOptions},e.prototype.error=function(e){this.analytics.eventTrack.next({action:"Import Data Failed",properties:{label:this.format}}),this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),e.message)},e.prototype.getFileContents=function(e){var t=this;return new Promise(function(n,r){var i=new FileReader;i.readAsText(e,"utf-8"),i.onload=function(i){if("lastpasscsv"===t.format&&"text/html"===e.type){var o=(new DOMParser).parseFromString(i.target.result,"text/html").querySelector("pre");return null!=o?void n(o.textContent):void r()}n(i.target.result)},i.onerror=function(){r()}})},e.ɵfac=function(t){return new(t||e)(a.ɵɵdirectiveInject(s.I18nService),a.ɵɵdirectiveInject(l.Angulartics2),a.ɵɵdirectiveInject(c.ToasterService),a.ɵɵdirectiveInject(p.ImportService),a.ɵɵdirectiveInject(u.Router))},e.ɵcmp=a.ɵɵdefineComponent({type:e,selectors:[["app-import"]],decls:67,vars:25,consts:[[1,"page-header"],["ngNativeValidate","",3,"appApiAction","ngSubmit"],["form",""],[1,"row"],[1,"col-6"],[1,"form-group"],["for","type"],["id","type","name","Format","required","",1,"form-control",3,"ngModel","ngModelChange"],[3,"ngValue",4,"ngFor","ngForOf"],[4,"ngIf"],["type","info",3,"title",4,"ngIf"],["for","file"],["type","file","id","file","name","file",1,"form-control-file"],["for","fileContents"],["id","fileContents","name","FileContents",1,"form-control",3,"ngModel","ngModelChange"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],[3,"ngValue"],["value","-","disabled",""],["type","info",3,"title"],["target","_blank","rel","noopener","href","https://help.bitwarden.com/article/export-your-data/"],["target","_blank","rel","noopener","href","https://help.bitwarden.com/article/import-from-lastpass/"],["target","_blank","rel","noopener","href","https://help.bitwarden.com/article/import-from-chrome/"],["target","_blank","rel","noopener","href","https://bitwarden.com/help/article/import-from-firefox/"],["target","_blank","rel","noopener","href","https://help.bitwarden.com/article/import-from-1password/"],["target","_blank","rel","noopener","href","https://bit.ly/2GpOMTg"]],template:function(e,t){if(1&e&&(a.ɵɵelementStart(0,"div",0),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"h1"),a.ɵɵtext(3),a.ɵɵpipe(4,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(5,"\n"),a.ɵɵelementEnd(),a.ɵɵtext(6,"\n"),a.ɵɵelementStart(7,"form",1,2),a.ɵɵlistener("ngSubmit",function(){return t.submit()}),a.ɵɵtext(9,"\n "),a.ɵɵelementStart(10,"div",3),a.ɵɵtext(11,"\n "),a.ɵɵelementStart(12,"div",4),a.ɵɵtext(13,"\n "),a.ɵɵelementStart(14,"div",5),a.ɵɵtext(15,"\n "),a.ɵɵelementStart(16,"label",6),a.ɵɵtext(17),a.ɵɵpipe(18,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(19,"\n "),a.ɵɵelementStart(20,"select",7),a.ɵɵlistener("ngModelChange",function(e){return t.format=e}),a.ɵɵtext(21,"\n "),a.ɵɵtemplate(22,y,2,2,"option",8),a.ɵɵtext(23,"\n "),a.ɵɵtemplate(24,x,6,1,"ng-container",9),a.ɵɵtext(25,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(26,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(27,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(28,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(29,"\n "),a.ɵɵtemplate(30,ve,100,50,"app-callout",10),a.ɵɵtext(31,"\n "),a.ɵɵelementStart(32,"div",3),a.ɵɵtext(33,"\n "),a.ɵɵelementStart(34,"div",4),a.ɵɵtext(35,"\n "),a.ɵɵelementStart(36,"div",5),a.ɵɵtext(37,"\n "),a.ɵɵelementStart(38,"label",11),a.ɵɵtext(39),a.ɵɵpipe(40,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(41,"\n "),a.ɵɵelement(42,"input",12),a.ɵɵtext(43,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(44,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(45,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(46,"\n "),a.ɵɵelementStart(47,"div",5),a.ɵɵtext(48,"\n "),a.ɵɵelementStart(49,"label",13),a.ɵɵtext(50),a.ɵɵpipe(51,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(52,"\n "),a.ɵɵelementStart(53,"textarea",14),a.ɵɵlistener("ngModelChange",function(e){return t.fileContents=e}),a.ɵɵelementEnd(),a.ɵɵtext(54,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(55,"\n "),a.ɵɵelementStart(56,"button",15),a.ɵɵtext(57,"\n "),a.ɵɵelement(58,"i",16),a.ɵɵpipe(59,"i18n"),a.ɵɵtext(60,"\n "),a.ɵɵelementStart(61,"span"),a.ɵɵtext(62),a.ɵɵpipe(63,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(64,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(65,"\n"),a.ɵɵelementEnd(),a.ɵɵtext(66,"\n")),2&e){var n=a.ɵɵreference(8);a.ɵɵadvance(3),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(4,13,"importData")),a.ɵɵadvance(4),a.ɵɵproperty("appApiAction",t.formPromise),a.ɵɵadvance(10),a.ɵɵtextInterpolate1("1. ",a.ɵɵpipeBind1(18,15,"selectFormat"),""),a.ɵɵadvance(3),a.ɵɵproperty("ngModel",t.format),a.ɵɵadvance(2),a.ɵɵproperty("ngForOf",t.featuredImportOptions),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",t.importOptions&&t.importOptions.length),a.ɵɵadvance(6),a.ɵɵproperty("ngIf",t.format),a.ɵɵadvance(9),a.ɵɵtextInterpolate1("2. ",a.ɵɵpipeBind1(40,17,"selectImportFile"),""),a.ɵɵadvance(11),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(51,19,"orCopyPasteFileContents")),a.ɵɵadvance(3),a.ɵɵproperty("ngModel",t.fileContents),a.ɵɵadvance(3),a.ɵɵproperty("disabled",n.loading),a.ɵɵadvance(2),a.ɵɵpropertyInterpolate("title",a.ɵɵpipeBind1(59,21,"loading")),a.ɵɵadvance(4),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(63,23,"importData"))}},directives:[d.NgControlStatusGroup,d.NgForm,m.ApiActionDirective,d.SelectControlValueAccessor,d.RequiredValidator,d.NgControlStatus,d.NgModel,h.NgForOf,h.NgIf,d.DefaultValueAccessor,d.NgSelectOption,d.ɵangular_packages_forms_forms_x,f.CalloutComponent],pipes:[v.I18nPipe],encapsulation:2}),e}();t.ImportComponent=ye},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?[4,this.getAllCiphers()]:[3,6];case 4:return e=o.sent(),t=[],n=[],r=new Map,e.forEach(function(e){if(e.type===s.CipherType.Login&&(null==e.login.totp||""===e.login.totp)&&e.login.hasUris&&!e.isDeleted)for(var n=0;n0?[2]:[4,fetch(new Request("https://twofactorauth.org/api/v1/data.json"))];case 1:if(200!==(e=a.sent()).status)throw new Error;return[4,e.json()];case 2:for(n in t=a.sent())if(t.hasOwnProperty(n))for(i in r=t[n])r.hasOwnProperty(i)&&(o=r[i]).tfa&&o.software&&null!=o.url&&null!=(s=l.Utils.getHostname(o.url))&&this.services.set(s,o.doc);return[2]}})})},t.ɵfac=function(e){return new(e||t)(p.ɵɵdirectiveInject(u.CipherService),p.ɵɵdirectiveInject(p.ComponentFactoryResolver),p.ɵɵdirectiveInject(d.MessagingService),p.ɵɵdirectiveInject(m.UserService))},t.ɵcmp=p.ɵɵdefineComponent({type:t,selectors:[["app-inactive-two-factor-report"]],features:[p.ɵɵInheritDefinitionFeature],decls:20,vars:9,consts:[[1,"page-header"],[4,"ngIf"],["class","mt-4",4,"ngIf"],["cipherAddEdit",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"mt-4"],["type","success",3,"title",4,"ngIf"],["type","success",3,"title"],["type","danger",3,"title"],[1,"table","table-hover","table-list","table-ciphers"],[4,"ngFor","ngForOf"],[1,"table-list-icon"],[3,"cipher"],[1,"reduced-lh","wrap"],["href","#","appStopClick","",3,"title","click"],[1,"text-right"],["class","badge badge-primary","target","_blank","rel","noopener",3,"href",4,"ngIf"],["appStopProp","","aria-hidden","true",1,"fa","fa-share-alt",3,"title"],["appStopProp","","aria-hidden","true",1,"fa","fa-paperclip",3,"title"],["target","_blank","rel","noopener",1,"badge","badge-primary",3,"href"]],template:function(e,t){1&e&&(p.ɵɵelementStart(0,"div",0),p.ɵɵtext(1,"\n "),p.ɵɵelementStart(2,"h1"),p.ɵɵtext(3),p.ɵɵpipe(4,"i18n"),p.ɵɵtemplate(5,b,9,6,"small",1),p.ɵɵtext(6,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(7,"\n"),p.ɵɵelementEnd(),p.ɵɵtext(8,"\n"),p.ɵɵelementStart(9,"p"),p.ɵɵtext(10),p.ɵɵpipe(11,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(12,"\n"),p.ɵɵtemplate(13,S,9,6,"div",1),p.ɵɵtext(14,"\n"),p.ɵɵtemplate(15,_,6,2,"div",2),p.ɵɵtext(16,"\n"),p.ɵɵtemplate(17,A,0,0,"ng-template",null,3,p.ɵɵtemplateRefExtractor),p.ɵɵtext(19,"\n")),2&e&&(p.ɵɵadvance(3),p.ɵɵtextInterpolate1("\n ",p.ɵɵpipeBind1(4,5,"inactive2faReport"),"\n "),p.ɵɵadvance(2),p.ɵɵproperty("ngIf",t.hasLoaded&&t.loading),p.ɵɵadvance(5),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(11,7,"inactive2faReportDesc")),p.ɵɵadvance(3),p.ɵɵproperty("ngIf",!t.hasLoaded&&t.loading),p.ɵɵadvance(2),p.ɵɵproperty("ngIf",t.hasLoaded))},directives:[h.NgIf,f.CalloutComponent,h.NgForOf,v.IconComponent,y.StopClickDirective,g.StopPropDirective],pipes:[x.I18nPipe,h.DecimalPipe],encapsulation:2}),t}(c.CipherReportComponent);t.InactiveTwoFactorReportComponent=O},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1}),this.ciphers=n,[2]}})})},t.prototype.getAllCiphers=function(){return this.cipherService.getAllDecrypted()},t.prototype.canManageCipher=function(e){return!0},t.ɵfac=function(e){return new(e||t)(c.ɵɵdirectiveInject(p.CipherService),c.ɵɵdirectiveInject(c.ComponentFactoryResolver),c.ɵɵdirectiveInject(u.MessagingService),c.ɵɵdirectiveInject(d.UserService))},t.ɵcmp=c.ɵɵdefineComponent({type:t,selectors:[["app-reused-passwords-report"]],features:[c.ɵɵInheritDefinitionFeature],decls:20,vars:9,consts:[[1,"page-header"],[4,"ngIf"],["class","mt-4",4,"ngIf"],["cipherAddEdit",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"mt-4"],["type","success",3,"title",4,"ngIf"],["type","success",3,"title"],["type","danger",3,"title"],[1,"table","table-hover","table-list","table-ciphers"],[4,"ngFor","ngForOf"],[1,"table-list-icon"],[3,"cipher"],[1,"reduced-lh","wrap"],[4,"ngIf","ngIfElse"],["cantManage",""],[1,"text-right"],[1,"badge","badge-warning"],["href","#","appStopClick","",3,"title","click"],["appStopProp","","aria-hidden","true",1,"fa","fa-share-alt",3,"title"],["appStopProp","","aria-hidden","true",1,"fa","fa-paperclip",3,"title"]],template:function(e,t){1&e&&(c.ɵɵelementStart(0,"div",0),c.ɵɵtext(1,"\n "),c.ɵɵelementStart(2,"h1"),c.ɵɵtext(3),c.ɵɵpipe(4,"i18n"),c.ɵɵtemplate(5,x,9,6,"small",1),c.ɵɵtext(6,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(7,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(8,"\n"),c.ɵɵelementStart(9,"p"),c.ɵɵtext(10),c.ɵɵpipe(11,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(12,"\n"),c.ɵɵtemplate(13,b,9,6,"div",1),c.ɵɵtext(14,"\n"),c.ɵɵtemplate(15,_,6,2,"div",2),c.ɵɵtext(16,"\n"),c.ɵɵtemplate(17,A,0,0,"ng-template",null,3,c.ɵɵtemplateRefExtractor),c.ɵɵtext(19,"\n")),2&e&&(c.ɵɵadvance(3),c.ɵɵtextInterpolate1("\n ",c.ɵɵpipeBind1(4,5,"reusedPasswordsReport"),"\n "),c.ɵɵadvance(2),c.ɵɵproperty("ngIf",t.hasLoaded&&t.loading),c.ɵɵadvance(5),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(11,7,"reusedPasswordsReportDesc")),c.ɵɵadvance(3),c.ɵɵproperty("ngIf",!t.hasLoaded&&t.loading),c.ɵɵadvance(2),c.ɵɵproperty("ngIf",t.hasLoaded))},directives:[m.NgIf,h.CalloutComponent,m.NgForOf,f.IconComponent,v.StopClickDirective,y.StopPropDirective],pipes:[g.I18nPipe,m.DecimalPipe],encapsulation:2}),t}(l.CipherReportComponent);t.ReusedPasswordsReportComponent=O},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1?o.concat(e.login.username.substr(0,a).trim().toLowerCase().split(/[^A-Za-z0-9]/)).filter(function(e){return e.length>=3}):e.login.username.trim().toLowerCase().split(/[^A-Za-z0-9]/).filter(function(e){return e.length>=3})}var l=n.passwordGenerationService.passwordStrength(e.login.password,o.length>0?o:null);n.passwordStrengthCache.set(i,l.score)}var c=n.passwordStrengthCache.get(i);null!=c&&c<=2&&(n.passwordStrengthMap.set(e.id,n.scoreKey(c)),t.push(e))}}),this.ciphers=t,[2]}})})},t.prototype.getAllCiphers=function(){return this.cipherService.getAllDecrypted()},t.prototype.canManageCipher=function(e){return!0},t.prototype.scoreKey=function(e){switch(e){case 4:return["strong","success"];case 3:return["good","primary"];case 2:return["weak","warning"];default:return["veryWeak","danger"]}},t.ɵfac=function(e){return new(e||t)(c.ɵɵdirectiveInject(p.CipherService),c.ɵɵdirectiveInject(u.PasswordGenerationService),c.ɵɵdirectiveInject(c.ComponentFactoryResolver),c.ɵɵdirectiveInject(d.MessagingService),c.ɵɵdirectiveInject(m.UserService))},t.ɵcmp=c.ɵɵdefineComponent({type:t,selectors:[["app-weak-passwords-report"]],features:[c.ɵɵInheritDefinitionFeature],decls:20,vars:9,consts:[[1,"page-header"],[4,"ngIf"],["class","mt-4",4,"ngIf"],["cipherAddEdit",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"mt-4"],["type","success",3,"title",4,"ngIf"],["type","success",3,"title"],["type","danger",3,"title"],[1,"table","table-hover","table-list","table-ciphers"],[4,"ngFor","ngForOf"],[1,"table-list-icon"],[3,"cipher"],[1,"reduced-lh","wrap"],[4,"ngIf","ngIfElse"],["cantManage",""],[1,"text-right"],["href","#","appStopClick","",3,"title","click"],["appStopProp","","aria-hidden","true",1,"fa","fa-share-alt",3,"title"],["appStopProp","","aria-hidden","true",1,"fa","fa-paperclip",3,"title"]],template:function(e,t){1&e&&(c.ɵɵelementStart(0,"div",0),c.ɵɵtext(1,"\n "),c.ɵɵelementStart(2,"h1"),c.ɵɵtext(3),c.ɵɵpipe(4,"i18n"),c.ɵɵtemplate(5,b,9,6,"small",1),c.ɵɵtext(6,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(7,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(8,"\n"),c.ɵɵelementStart(9,"p"),c.ɵɵtext(10),c.ɵɵpipe(11,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(12,"\n"),c.ɵɵtemplate(13,S,9,6,"div",1),c.ɵɵtext(14,"\n"),c.ɵɵtemplate(15,A,6,2,"div",2),c.ɵɵtext(16,"\n"),c.ɵɵtemplate(17,O,0,0,"ng-template",null,3,c.ɵɵtemplateRefExtractor),c.ɵɵtext(19,"\n")),2&e&&(c.ɵɵadvance(3),c.ɵɵtextInterpolate1("\n ",c.ɵɵpipeBind1(4,5,"weakPasswordsReport"),"\n "),c.ɵɵadvance(2),c.ɵɵproperty("ngIf",t.hasLoaded&&t.loading),c.ɵɵadvance(5),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(11,7,"weakPasswordsReportDesc")),c.ɵɵadvance(3),c.ɵɵproperty("ngIf",!t.hasLoaded&&t.loading),c.ɵɵadvance(2),c.ɵɵproperty("ngIf",t.hasLoaded))},directives:[h.NgIf,f.CalloutComponent,h.NgForOf,v.IconComponent,y.StopClickDirective,g.StopPropDirective],pipes:[x.I18nPipe,h.DecimalPipe],encapsulation:2}),t}(l.CipherReportComponent);t.WeakPasswordsReportComponent=T},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1)""===r.substr(o).trim()&&(i=o);e+=r.substring(0,i)}this.platformUtilsService.copyToClipboard(e,{window:window})}},e.ɵfac=function(t){return new(t||e)(r.ɵɵdirectiveInject(r.ElementRef),r.ɵɵdirectiveInject(i.PlatformUtilsService))},e.ɵdir=r.ɵɵdefineDirective({type:e,selectors:[["","appSelectCopy",""]],hostBindings:function(e,t){1&e&&r.ɵɵlistener("copy",function(){return t.onCopy()})}}),e}();t.SelectCopyDirective=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(0),i=function(){function e(){}return e.prototype.transform=function(e){for(var t="",n=0;n":r=">",i=!0;break;case" ":r=" ",i=!0}var o="letter";i||r.match(/[^\w ]/)?o="special":r.match(/\d/)&&(o="number"),t+=''+r+""}return t},e.ɵfac=function(t){return new(t||e)},e.ɵpipe=r.ɵɵdefinePipe({name:"colorPassword",type:e,pure:!0}),e}();t.ColorPasswordPipe=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.userId=t,this.name=e.name,this.id=e.id,this.revisionDate=e.revisionDate}}();t.FolderData=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(129),a=function(e){function t(t,n){void 0===n&&(n=!1);var r=e.call(this)||this;return null==t?r:(r.buildDomainModel(r,t,{id:null,name:null},n,["id"]),r.revisionDate=null!=t.revisionDate?new Date(t.revisionDate):null,r)}return i(t,e),t.prototype.decrypt=function(){return this.decryptObj(new o.FolderView(this),{name:null},null)},t}(n(81).default);t.Folder=a},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(882),a=n(25),s=n(883),l=n(594),c=n(595),p=n(596),u=n(597),d=n(599),m=function(e){function t(t){var n=e.call(this,t)||this;n.id=n.getResponseProperty("Id"),n.organizationId=n.getResponseProperty("OrganizationId"),n.folderId=n.getResponseProperty("FolderId")||null,n.type=n.getResponseProperty("Type"),n.name=n.getResponseProperty("Name"),n.notes=n.getResponseProperty("Notes"),n.favorite=n.getResponseProperty("Favorite")||!1,n.edit=!!n.getResponseProperty("Edit"),null==n.getResponseProperty("ViewPassword")?n.viewPassword=!0:n.viewPassword=n.getResponseProperty("ViewPassword"),n.organizationUseTotp=n.getResponseProperty("OrganizationUseTotp"),n.revisionDate=n.getResponseProperty("RevisionDate"),n.collectionIds=n.getResponseProperty("CollectionIds"),n.deletedDate=n.getResponseProperty("DeletedDate");var r=n.getResponseProperty("Login");null!=r&&(n.login=new u.LoginApi(r));var i=n.getResponseProperty("Card");null!=i&&(n.card=new l.CardApi(i));var a=n.getResponseProperty("Identity");null!=a&&(n.identity=new p.IdentityApi(a));var m=n.getResponseProperty("SecureNote");null!=m&&(n.secureNote=new d.SecureNoteApi(m));var h=n.getResponseProperty("Fields");null!=h&&(n.fields=h.map(function(e){return new c.FieldApi(e)}));var f=n.getResponseProperty("Attachments");null!=f&&(n.attachments=f.map(function(e){return new o.AttachmentResponse(e)}));var v=n.getResponseProperty("PasswordHistory");return null!=v&&(n.passwordHistory=v.map(function(e){return new s.PasswordHistoryResponse(e)})),n}return i(t,e),t}(a.BaseResponse);t.CipherResponse=m},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(903),s=function(e){function t(t){var n=e.call(this,t)||this;n.organizations=[],n.id=n.getResponseProperty("Id"),n.name=n.getResponseProperty("Name"),n.email=n.getResponseProperty("Email"),n.emailVerified=n.getResponseProperty("EmailVerified"),n.masterPasswordHint=n.getResponseProperty("MasterPasswordHint"),n.premium=n.getResponseProperty("Premium"),n.culture=n.getResponseProperty("Culture"),n.twoFactorEnabled=n.getResponseProperty("TwoFactorEnabled"),n.key=n.getResponseProperty("Key"),n.privateKey=n.getResponseProperty("PrivateKey"),n.securityStamp=n.getResponseProperty("SecurityStamp");var r=n.getResponseProperty("Organizations");return null!=r&&(n.organizations=r.map(function(e){return new a.ProfileOrganizationResponse(e)})),n}return i(t,e),t}(o.BaseResponse);t.ProfileResponse=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){void 0===t&&(t=null);var n=e.call(this,t)||this;return null==t?n:(n.id=n.getResponseProperty("Id"),n.url=n.getResponseProperty("Url"),n.fileName=n.getResponseProperty("FileName"),n.key=n.getResponseProperty("Key"),n.size=n.getResponseProperty("Size"),n.sizeName=n.getResponseProperty("SizeName"),n)}return i(t,e),t}(n(25).BaseResponse);t.SendFileApi=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){void 0===t&&(t=null);var n=e.call(this,t)||this;return null==t?n:(n.text=n.getResponseProperty("Text"),n.hidden=n.getResponseProperty("Hidden")||!1,n)}return i(t,e),t}(n(25).BaseResponse);t.SendTextApi=o},,,,,function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1&&(this.email=r.email),null!=r.premium?this.stateService.save("loginRedirect",{route:"/settings/premium"}):null!=r.org&&this.stateService.save("loginRedirect",{route:"/settings/create-organization",qParams:{plan:r.org}}),[4,e.prototype.ngOnInit.call(this)];case 1:return n.sent(),null!=t&&t.unsubscribe(),[2]}})})}),[2]})})},t.prototype.goAfterLogIn=function(){return o(this,void 0,void 0,function(){var e,t,n;return a(this,function(r){switch(r.label){case 0:return[4,this.stateService.get("orgInvitation")];case 1:return e=r.sent(),[4,this.stateService.get("emergencyInvitation")];case 2:return t=r.sent(),null==e?[3,3]:(this.router.navigate(["accept-organization"],{queryParams:e}),[3,8]);case 3:return null==t?[3,4]:(this.router.navigate(["accept-emergency"],{queryParams:t}),[3,8]);case 4:return[4,this.stateService.get("loginRedirect")];case 5:return null==(n=r.sent())?[3,7]:(this.router.navigate([n.route],{queryParams:n.qParams}),[4,this.stateService.remove("loginRedirect")]);case 6:return r.sent(),[3,8];case 7:this.router.navigate([this.successRoute]),r.label=8;case 8:return[2]}})})},t.ɵfac=function(e){return new(e||t)(l.ɵɵdirectiveInject(c.AuthService),l.ɵɵdirectiveInject(p.Router),l.ɵɵdirectiveInject(u.I18nService),l.ɵɵdirectiveInject(p.ActivatedRoute),l.ɵɵdirectiveInject(d.StorageService),l.ɵɵdirectiveInject(m.StateService),l.ɵɵdirectiveInject(h.PlatformUtilsService),l.ɵɵdirectiveInject(f.EnvironmentService),l.ɵɵdirectiveInject(v.PasswordGenerationService),l.ɵɵdirectiveInject(y.CryptoFunctionService))},t.ɵcmp=l.ɵɵdefineComponent({type:t,selectors:[["app-login"]],features:[l.ɵɵInheritDefinitionFeature],decls:97,vars:43,consts:[["ngNativeValidate","",1,"container",3,"appApiAction","ngSubmit"],["form",""],[1,"row","justify-content-md-center","mt-5"],[1,"col-5"],["src","images/logo-dark@2x.png","alt","Bitwarden",1,"logo","mb-2"],[1,"lead","text-center","mx-4","mb-4"],[1,"card","d-block"],[1,"card-body"],[1,"form-group"],["for","email"],["id","email","type","text","name","Email","required","","inputmode","email","appInputVerbatim","false",1,"form-control",3,"ngModel","ngModelChange"],["for","masterPassword"],[1,"d-flex"],["id","masterPassword","name","MasterPassword","required","","appInputVerbatim","",1,"text-monospace","form-control",3,"type","ngModel","ngModelChange"],["type","button",1,"ml-1","btn","btn-link",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-lg",3,"ngClass"],[1,"form-text"],["routerLink","/hint"],[1,"form-check"],["type","checkbox","id","rememberEmail","name","RememberEmail",1,"form-check-input",3,"ngModel","ngModelChange"],["for","rememberEmail",1,"form-check-label"],["type","submit",1,"btn","btn-primary","btn-block","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-sign-in"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["routerLink","/register",1,"btn","btn-outline-secondary","btn-block","ml-2","mt-0",3,"queryParams"],["aria-hidden","true",1,"fa","fa-pencil-square-o"],["routerLink","/sso",1,"btn","btn-outline-secondary","btn-block","mt-2"],["aria-hidden","true",1,"fa","fa-bank"]],template:function(e,t){if(1&e&&(l.ɵɵelementStart(0,"form",0,1),l.ɵɵlistener("ngSubmit",function(){return t.submit()}),l.ɵɵtext(2,"\n "),l.ɵɵelementStart(3,"div",2),l.ɵɵtext(4,"\n "),l.ɵɵelementStart(5,"div",3),l.ɵɵtext(6,"\n "),l.ɵɵelement(7,"img",4),l.ɵɵtext(8,"\n "),l.ɵɵelementStart(9,"p",5),l.ɵɵtext(10),l.ɵɵpipe(11,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(12,"\n "),l.ɵɵelementStart(13,"div",6),l.ɵɵtext(14,"\n "),l.ɵɵelementStart(15,"div",7),l.ɵɵtext(16,"\n "),l.ɵɵelementStart(17,"div",8),l.ɵɵtext(18,"\n "),l.ɵɵelementStart(19,"label",9),l.ɵɵtext(20),l.ɵɵpipe(21,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(22,"\n "),l.ɵɵelementStart(23,"input",10),l.ɵɵlistener("ngModelChange",function(e){return t.email=e}),l.ɵɵelementEnd(),l.ɵɵtext(24,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(25,"\n "),l.ɵɵelementStart(26,"div",8),l.ɵɵtext(27,"\n "),l.ɵɵelementStart(28,"label",11),l.ɵɵtext(29),l.ɵɵpipe(30,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(31,"\n "),l.ɵɵelementStart(32,"div",12),l.ɵɵtext(33,"\n "),l.ɵɵelementStart(34,"input",13),l.ɵɵlistener("ngModelChange",function(e){return t.masterPassword=e}),l.ɵɵelementEnd(),l.ɵɵtext(35,"\n "),l.ɵɵelementStart(36,"button",14),l.ɵɵlistener("click",function(){return t.togglePassword()}),l.ɵɵpipe(37,"i18n"),l.ɵɵtext(38,"\n "),l.ɵɵelement(39,"i",15),l.ɵɵtext(40,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(41,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(42,"\n "),l.ɵɵelementStart(43,"small",16),l.ɵɵtext(44,"\n "),l.ɵɵelementStart(45,"a",17),l.ɵɵtext(46),l.ɵɵpipe(47,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(48,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(49,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(50,"\n "),l.ɵɵelementStart(51,"div",18),l.ɵɵtext(52,"\n "),l.ɵɵelementStart(53,"input",19),l.ɵɵlistener("ngModelChange",function(e){return t.rememberEmail=e}),l.ɵɵelementEnd(),l.ɵɵtext(54,"\n "),l.ɵɵelementStart(55,"label",20),l.ɵɵtext(56),l.ɵɵpipe(57,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(58,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(59,"\n "),l.ɵɵelement(60,"hr"),l.ɵɵtext(61,"\n "),l.ɵɵelementStart(62,"div",12),l.ɵɵtext(63,"\n "),l.ɵɵelementStart(64,"button",21),l.ɵɵtext(65,"\n "),l.ɵɵelementStart(66,"span"),l.ɵɵtext(67,"\n "),l.ɵɵelement(68,"i",22),l.ɵɵtext(69),l.ɵɵpipe(70,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(71,"\n "),l.ɵɵelement(72,"i",23),l.ɵɵpipe(73,"i18n"),l.ɵɵtext(74,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(75,"\n "),l.ɵɵelementStart(76,"a",24),l.ɵɵtext(77,"\n "),l.ɵɵelement(78,"i",25),l.ɵɵtext(79),l.ɵɵpipe(80,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(81,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(82,"\n "),l.ɵɵelementStart(83,"div",12),l.ɵɵtext(84,"\n "),l.ɵɵelementStart(85,"a",26),l.ɵɵtext(86,"\n "),l.ɵɵelement(87,"i",27),l.ɵɵtext(88),l.ɵɵpipe(89,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(90,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(91,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(92,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(93,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(94,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(95,"\n"),l.ɵɵelementEnd(),l.ɵɵtext(96,"\n")),2&e){var n=l.ɵɵreference(1);l.ɵɵproperty("appApiAction",t.formPromise),l.ɵɵadvance(10),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(11,18,"loginOrCreateNewAccount")),l.ɵɵadvance(10),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(21,20,"emailAddress")),l.ɵɵadvance(3),l.ɵɵproperty("ngModel",t.email),l.ɵɵadvance(6),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(30,22,"masterPass")),l.ɵɵadvance(5),l.ɵɵpropertyInterpolate("type",t.showPassword?"text":"password"),l.ɵɵproperty("ngModel",t.masterPassword),l.ɵɵadvance(2),l.ɵɵpropertyInterpolate("appA11yTitle",l.ɵɵpipeBind1(37,24,"toggleVisibility")),l.ɵɵadvance(3),l.ɵɵproperty("ngClass",l.ɵɵpureFunction2(38,I,!t.showPassword,t.showPassword)),l.ɵɵadvance(7),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(47,26,"getMasterPasswordHint")),l.ɵɵadvance(7),l.ɵɵproperty("ngModel",t.rememberEmail),l.ɵɵadvance(3),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(57,28,"rememberEmail")),l.ɵɵadvance(8),l.ɵɵproperty("disabled",n.loading),l.ɵɵadvance(5),l.ɵɵtextInterpolate1(" ",l.ɵɵpipeBind1(70,30,"logIn"),"\n "),l.ɵɵadvance(3),l.ɵɵpropertyInterpolate("title",l.ɵɵpipeBind1(73,32,"loading")),l.ɵɵadvance(4),l.ɵɵproperty("queryParams",l.ɵɵpureFunction1(41,E,t.email)),l.ɵɵadvance(3),l.ɵɵtextInterpolate1(" ",l.ɵɵpipeBind1(80,34,"createAccount"),"\n "),l.ɵɵadvance(9),l.ɵɵtextInterpolate1(" ",l.ɵɵpipeBind1(89,36,"enterpriseSingleSignOn"),"\n ")}},directives:[g.NgControlStatusGroup,g.NgForm,x.ApiActionDirective,g.DefaultValueAccessor,g.RequiredValidator,b.InputVerbatimDirective,g.NgControlStatus,g.NgModel,S.A11yTitleDirective,w.NgClass,p.RouterLinkWithHref,g.CheckboxControlValueAccessor],pipes:[C.I18nPipe],encapsulation:2}),t}(s.LoginComponent);t.LoginComponent=P},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",(null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.minLength)>0),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireUpper),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireLower),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireNumbers),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireSpecial)}}function K(e,t){if(1&e){var n=u.ɵɵgetCurrentView();u.ɵɵelementStart(0,"div",12),u.ɵɵtext(1,"\n "),u.ɵɵelementStart(2,"div",48),u.ɵɵtext(3,"\n "),u.ɵɵelementStart(4,"input",49),u.ɵɵlistener("ngModelChange",function(e){return u.ɵɵrestoreView(n),u.ɵɵnextContext().acceptPolicies=e}),u.ɵɵelementEnd(),u.ɵɵtext(5,"\n "),u.ɵɵelementStart(6,"label",50),u.ɵɵtext(7),u.ɵɵpipe(8,"i18n"),u.ɵɵelement(9,"br"),u.ɵɵtext(10,"\n "),u.ɵɵelementStart(11,"a",51),u.ɵɵtext(12),u.ɵɵpipe(13,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(14,",\n "),u.ɵɵelementStart(15,"a",52),u.ɵɵtext(16),u.ɵɵpipe(17,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(18,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(19,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(20,"\n "),u.ɵɵelementEnd()}if(2&e){var r=u.ɵɵnextContext();u.ɵɵadvance(4),u.ɵɵproperty("ngModel",r.acceptPolicies),u.ɵɵadvance(3),u.ɵɵtextInterpolate1("\n ",u.ɵɵpipeBind1(8,4,"acceptPolicies"),""),u.ɵɵadvance(5),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(13,6,"termsOfService")),u.ɵɵadvance(4),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(17,8,"privacyPolicy"))}}var q=function(e){return["layout",e]},H=function(e,t){return{"col-5":e,"col-12":t}},W=function(e,t){return{"fa-eye":e,"fa-eye-slash":t}},$=function(e){function t(t,n,r,i,o,a,s,l,c,p){var u=e.call(this,t,n,r,i,o,s,l,c)||this;return u.route=a,u.policyService=p,u.showCreateOrgMessage=!1,u.layout="",u}return i(t,e),t.prototype.getPasswordScoreAlertDisplay=function(){if(null==this.enforcedPolicyOptions)return"";var e;switch(this.enforcedPolicyOptions.minComplexity){case 4:e=this.i18nService.t("strong");break;case 3:e=this.i18nService.t("good");break;default:e=this.i18nService.t("weak")}return e+" ("+this.enforcedPolicyOptions.minComplexity+")"},t.prototype.ngOnInit=function(){return o(this,void 0,void 0,function(){var e,t,n,r,i,o=this;return a(this,function(a){switch(a.label){case 0:return e=this.route.queryParams.subscribe(function(t){o.referenceData=new p.ReferenceEventRequest,null!=t.email&&t.email.indexOf("@")>-1&&(o.email=t.email),null!=t.premium?o.stateService.save("loginRedirect",{route:"/settings/premium"}):null!=t.org&&(o.showCreateOrgMessage=!0,o.referenceData.flow=t.org,o.stateService.save("loginRedirect",{route:"/settings/create-organization",qParams:{plan:t.org}})),null!=t.layout&&(o.layout=o.referenceData.layout=t.layout),null!=t.reference?o.referenceData.id=t.reference:o.referenceData.id=("; "+document.cookie).split("; reference=").pop().split(";").shift(),""===o.referenceData.id&&(o.referenceData.id=null),null!=e&&e.unsubscribe()}),[4,this.stateService.get("orgInvitation")];case 1:if(null==(t=a.sent()))return[3,5];a.label=2;case 2:return a.trys.push([2,4,,5]),[4,this.apiService.getPoliciesByToken(t.organizationId,t.token,t.email,t.organizationUserId)];case 3:return null!=(n=a.sent()).data&&(r=n.data.map(function(e){return new c.PolicyData(e)}),this.policies=r.map(function(e){return new l.Policy(e)})),[3,5];case 4:return a.sent(),[3,5];case 5:return null==this.policies?[3,7]:(i=this,[4,this.policyService.getMasterPasswordPolicyOptions(this.policies)]);case 6:i.enforcedPolicyOptions=a.sent(),a.label=7;case 7:return[2]}})})},t.prototype.submit=function(){return o(this,void 0,void 0,function(){return a(this,function(t){switch(t.label){case 0:return null==this.enforcedPolicyOptions||this.policyService.evaluateMasterPassword(this.masterPasswordScore,this.masterPassword,this.enforcedPolicyOptions)?[4,e.prototype.submit.call(this)]:(this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("masterPasswordPolicyRequirementsNotMet")),[2]);case 1:return t.sent(),[2]}})})},t.ɵfac=function(e){return new(e||t)(u.ɵɵdirectiveInject(d.AuthService),u.ɵɵdirectiveInject(m.Router),u.ɵɵdirectiveInject(h.I18nService),u.ɵɵdirectiveInject(f.CryptoService),u.ɵɵdirectiveInject(v.ApiService),u.ɵɵdirectiveInject(m.ActivatedRoute),u.ɵɵdirectiveInject(y.StateService),u.ɵɵdirectiveInject(g.PlatformUtilsService),u.ɵɵdirectiveInject(x.PasswordGenerationService),u.ɵɵdirectiveInject(b.PolicyService))},t.ɵcmp=u.ɵɵdefineComponent({type:t,selectors:[["app-register"]],features:[u.ɵɵInheritDefinitionFeature],decls:146,vars:80,consts:[[1,"layout",3,"ngClass"],["class","header",4,"ngIf"],["ngNativeValidate","",1,"container",3,"appApiAction","ngSubmit"],["form",""],[1,"row"],["class","col-7",4,"ngIf"],[3,"ngClass"],[1,"row","justify-content-md-center","mt-5"],["class","lead text-center mb-4",4,"ngIf"],[1,"card","d-block"],[1,"card-body"],["type","info","icon","fa-thumb-tack",3,"title",4,"ngIf"],[1,"form-group"],["for","email"],["id","email","type","text","name","Email","required","","inputmode","email","appInputVerbatim","false",1,"form-control",3,"ngModel","appAutofocus","ngModelChange"],[1,"form-text","text-muted"],["for","name"],["id","name","type","text","name","Name",1,"form-control",3,"ngModel","appAutofocus","ngModelChange"],["type","info",4,"ngIf"],["for","masterPassword"],[1,"d-flex"],[1,"w-100"],["id","masterPassword","name","MasterPassword","required","","appInputVerbatim","",1,"text-monospace","form-control","mb-1",3,"type","ngModel","ngModelChange","input"],[3,"score","showText"],["type","button",1,"ml-1","btn","btn-link",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-lg",3,"ngClass"],[1,"progress-bar","invisible"],["for","masterPasswordRetype"],["id","masterPasswordRetype","name","MasterPasswordRetype","required","","appInputVerbatim","",1,"text-monospace","form-control",3,"type","ngModel","ngModelChange"],["for","hint"],["id","hint","type","text","name","Hint",1,"form-control",3,"ngModel","ngModelChange"],["class","form-group",4,"ngIf"],[1,"d-flex","mb-2"],["type","submit",1,"btn","btn-primary","btn-block","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["routerLink","/",1,"btn","btn-outline-secondary","btn-block","ml-2","mt-0"],[1,"header"],[1,"container"],[1,"col-7"],["alt","Bitwarden","src","images/logo-horizontal-white.png",1,"logo","mb-2"],[1,"mt-5"],[4,"ngIf"],[1,"highlight"],["src","images/wired-logo.png","alt","Wired"],[1,"lead","text-center","mb-4"],["type","info","icon","fa-thumb-tack",3,"title"],["type","info"],[1,"mb-0"],[1,"form-check"],["type","checkbox","id","acceptPolicies","name","AcceptPolicies",1,"form-check-input",3,"ngModel","ngModelChange"],["for","acceptPolicies",1,"form-check-label","small","text-muted"],["href","https://bitwarden.com/terms/","target","_blank","rel","noopener"],["href","https://bitwarden.com/privacy/","target","_blank","rel","noopener"]],template:function(e,t){if(1&e&&(u.ɵɵelementStart(0,"div",0),u.ɵɵtext(1,"\n "),u.ɵɵtemplate(2,O,13,0,"header",1),u.ɵɵtext(3,"\n "),u.ɵɵelementStart(4,"form",2,3),u.ɵɵlistener("ngSubmit",function(){return t.submit()}),u.ɵɵtext(6,"\n "),u.ɵɵelementStart(7,"div",4),u.ɵɵtext(8,"\n "),u.ɵɵtemplate(9,D,11,3,"div",5),u.ɵɵtext(10,"\n "),u.ɵɵelementStart(11,"div",6),u.ɵɵtext(12,"\n "),u.ɵɵelementStart(13,"div",7),u.ɵɵtext(14,"\n "),u.ɵɵelementStart(15,"div",6),u.ɵɵtext(16,"\n "),u.ɵɵtemplate(17,V,3,3,"p",8),u.ɵɵtext(18,"\n "),u.ɵɵelementStart(19,"div",9),u.ɵɵtext(20,"\n "),u.ɵɵelementStart(21,"div",10),u.ɵɵtext(22,"\n "),u.ɵɵtemplate(23,j,4,6,"app-callout",11),u.ɵɵtext(24,"\n "),u.ɵɵelementStart(25,"div",12),u.ɵɵtext(26,"\n "),u.ɵɵelementStart(27,"label",13),u.ɵɵtext(28),u.ɵɵpipe(29,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(30,"\n "),u.ɵɵelementStart(31,"input",14),u.ɵɵlistener("ngModelChange",function(e){return t.email=e}),u.ɵɵelementEnd(),u.ɵɵtext(32,"\n "),u.ɵɵelementStart(33,"small",15),u.ɵɵtext(34),u.ɵɵpipe(35,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(36,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(37,"\n "),u.ɵɵelementStart(38,"div",12),u.ɵɵtext(39,"\n "),u.ɵɵelementStart(40,"label",16),u.ɵɵtext(41),u.ɵɵpipe(42,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(43,"\n "),u.ɵɵelementStart(44,"input",17),u.ɵɵlistener("ngModelChange",function(e){return t.name=e}),u.ɵɵelementEnd(),u.ɵɵtext(45,"\n "),u.ɵɵelementStart(46,"small",15),u.ɵɵtext(47),u.ɵɵpipe(48,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(49,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(50,"\n "),u.ɵɵelementStart(51,"div",12),u.ɵɵtext(52,"\n "),u.ɵɵtemplate(53,G,18,9,"app-callout",18),u.ɵɵtext(54,"\n "),u.ɵɵelementStart(55,"label",19),u.ɵɵtext(56),u.ɵɵpipe(57,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(58,"\n "),u.ɵɵelementStart(59,"div",20),u.ɵɵtext(60,"\n "),u.ɵɵelementStart(61,"div",21),u.ɵɵtext(62,"\n "),u.ɵɵelementStart(63,"input",22),u.ɵɵlistener("ngModelChange",function(e){return t.masterPassword=e})("input",function(){return t.updatePasswordStrength()}),u.ɵɵelementEnd(),u.ɵɵtext(64,"\n "),u.ɵɵelementStart(65,"app-password-strength",23),u.ɵɵtext(66,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(67,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(68,"\n "),u.ɵɵelementStart(69,"div"),u.ɵɵtext(70,"\n "),u.ɵɵelementStart(71,"button",24),u.ɵɵlistener("click",function(){return t.togglePassword(!1)}),u.ɵɵpipe(72,"i18n"),u.ɵɵtext(73,"\n "),u.ɵɵelement(74,"i",25),u.ɵɵtext(75,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(76,"\n "),u.ɵɵelement(77,"div",26),u.ɵɵtext(78,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(79,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(80,"\n "),u.ɵɵelementStart(81,"small",15),u.ɵɵtext(82),u.ɵɵpipe(83,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(84,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(85,"\n "),u.ɵɵelementStart(86,"div",12),u.ɵɵtext(87,"\n "),u.ɵɵelementStart(88,"label",27),u.ɵɵtext(89),u.ɵɵpipe(90,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(91,"\n "),u.ɵɵelementStart(92,"div",20),u.ɵɵtext(93,"\n "),u.ɵɵelementStart(94,"input",28),u.ɵɵlistener("ngModelChange",function(e){return t.confirmMasterPassword=e}),u.ɵɵelementEnd(),u.ɵɵtext(95,"\n "),u.ɵɵelementStart(96,"button",24),u.ɵɵlistener("click",function(){return t.togglePassword(!0)}),u.ɵɵpipe(97,"i18n"),u.ɵɵtext(98,"\n "),u.ɵɵelement(99,"i",25),u.ɵɵtext(100,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(101,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(102,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(103,"\n "),u.ɵɵelementStart(104,"div",12),u.ɵɵtext(105,"\n "),u.ɵɵelementStart(106,"label",29),u.ɵɵtext(107),u.ɵɵpipe(108,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(109,"\n "),u.ɵɵelementStart(110,"input",30),u.ɵɵlistener("ngModelChange",function(e){return t.hint=e}),u.ɵɵelementEnd(),u.ɵɵtext(111,"\n "),u.ɵɵelementStart(112,"small",15),u.ɵɵtext(113),u.ɵɵpipe(114,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(115,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(116,"\n "),u.ɵɵtemplate(117,K,21,10,"div",31),u.ɵɵtext(118,"\n "),u.ɵɵelement(119,"hr"),u.ɵɵtext(120,"\n "),u.ɵɵelementStart(121,"div",32),u.ɵɵtext(122,"\n "),u.ɵɵelementStart(123,"button",33),u.ɵɵtext(124,"\n "),u.ɵɵelementStart(125,"span"),u.ɵɵtext(126),u.ɵɵpipe(127,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(128,"\n "),u.ɵɵelement(129,"i",34),u.ɵɵpipe(130,"i18n"),u.ɵɵtext(131,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(132,"\n "),u.ɵɵelementStart(133,"a",35),u.ɵɵtext(134),u.ɵɵpipe(135,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(136,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(137,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(138,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(139,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(140,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(141,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(142,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(143,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(144,"\n"),u.ɵɵelementEnd(),u.ɵɵtext(145,"\n")),2&e){var n=u.ɵɵreference(5);u.ɵɵproperty("ngClass",u.ɵɵpureFunction1(66,q,t.layout)),u.ɵɵadvance(2),u.ɵɵproperty("ngIf","enterprise2"===t.layout),u.ɵɵadvance(2),u.ɵɵproperty("appApiAction",t.formPromise),u.ɵɵadvance(5),u.ɵɵproperty("ngIf",t.layout),u.ɵɵadvance(2),u.ɵɵproperty("ngClass",u.ɵɵpureFunction2(68,H,t.layout,!t.layout)),u.ɵɵadvance(4),u.ɵɵproperty("ngClass",u.ɵɵpureFunction2(71,H,!t.layout,t.layout)),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",!t.layout),u.ɵɵadvance(6),u.ɵɵproperty("ngIf",t.showCreateOrgMessage),u.ɵɵadvance(5),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(29,38,"emailAddress")),u.ɵɵadvance(3),u.ɵɵproperty("ngModel",t.email)("appAutofocus",""===t.email),u.ɵɵadvance(3),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(35,40,"emailAddressDesc")),u.ɵɵadvance(7),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(42,42,"yourName")),u.ɵɵadvance(3),u.ɵɵproperty("ngModel",t.name)("appAutofocus",""!==t.email),u.ɵɵadvance(3),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(48,44,"yourNameDesc")),u.ɵɵadvance(6),u.ɵɵproperty("ngIf",t.enforcedPolicyOptions),u.ɵɵadvance(3),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(57,46,"masterPass")),u.ɵɵadvance(7),u.ɵɵpropertyInterpolate("type",t.showPassword?"text":"password"),u.ɵɵproperty("ngModel",t.masterPassword),u.ɵɵadvance(2),u.ɵɵproperty("score",t.masterPasswordScore)("showText",!0),u.ɵɵadvance(6),u.ɵɵpropertyInterpolate("appA11yTitle",u.ɵɵpipeBind1(72,48,"toggleVisibility")),u.ɵɵadvance(3),u.ɵɵproperty("ngClass",u.ɵɵpureFunction2(74,W,!t.showPassword,t.showPassword)),u.ɵɵadvance(8),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(83,50,"masterPassDesc")),u.ɵɵadvance(7),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(90,52,"reTypeMasterPass")),u.ɵɵadvance(5),u.ɵɵpropertyInterpolate("type",t.showPassword?"text":"password"),u.ɵɵproperty("ngModel",t.confirmMasterPassword),u.ɵɵadvance(2),u.ɵɵpropertyInterpolate("appA11yTitle",u.ɵɵpipeBind1(97,54,"toggleVisibility")),u.ɵɵadvance(3),u.ɵɵproperty("ngClass",u.ɵɵpureFunction2(77,W,!t.showPassword,t.showPassword)),u.ɵɵadvance(8),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(108,56,"masterPassHint")),u.ɵɵadvance(3),u.ɵɵproperty("ngModel",t.hint),u.ɵɵadvance(3),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(114,58,"masterPassHintDesc")),u.ɵɵadvance(4),u.ɵɵproperty("ngIf",t.showTerms),u.ɵɵadvance(6),u.ɵɵproperty("disabled",n.loading),u.ɵɵadvance(3),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(127,60,"submit")),u.ɵɵadvance(3),u.ɵɵpropertyInterpolate("title",u.ɵɵpipeBind1(130,62,"loading")),u.ɵɵadvance(5),u.ɵɵtextInterpolate1("\n ",u.ɵɵpipeBind1(135,64,"cancel"),"\n ")}},directives:[S.NgClass,S.NgIf,w.NgControlStatusGroup,w.NgForm,C.ApiActionDirective,w.DefaultValueAccessor,w.RequiredValidator,I.InputVerbatimDirective,w.NgControlStatus,w.NgModel,E.AutofocusDirective,P.PasswordStrengthComponent,k.A11yTitleDirective,m.RouterLinkWithHref,_.CalloutComponent,w.CheckboxControlValueAccessor],pipes:[A.I18nPipe],encapsulation:2}),t}(s.RegisterComponent);t.RegisterComponent=$},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){var n=e.call(this)||this;return null==t?n:(n.id=t.id,n.organizationId=t.organizationId,n.type=t.type,n.data=t.data,n.enabled=t.enabled,n)}return i(t,e),t}(n(81).default);t.Policy=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.id=e.id,this.organizationId=e.organizationId,this.type=e.type,this.data=e.data,this.enabled=e.enabled}}();t.PolicyData=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});n(0),n(8),n(5),n(19),n(3),n(15),n(36),n(6),n(50),n(63),n(7);var o=n(830),a=n(0),s=n(5),l=n(3),c=n(19),p=n(15),u=n(7),d=n(36),m=n(6),h=n(50),f=n(8),v=n(63),y=n(14),g=n(17),x=n(4),b=n(29),S=n(45),w=n(247),C=n(18),I=n(10);function E(e,t){1&e&&(a.ɵɵelementStart(0,"div",8),a.ɵɵtext(1,"\n "),a.ɵɵelement(2,"i",9),a.ɵɵpipe(3,"i18n"),a.ɵɵtext(4),a.ɵɵpipe(5,"i18n"),a.ɵɵelementEnd()),2&e&&(a.ɵɵadvance(2),a.ɵɵpropertyInterpolate("title",a.ɵɵpipeBind1(3,2,"loading")),a.ɵɵadvance(2),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(5,4,"loading"),"\n "))}function P(e,t){if(1&e&&(a.ɵɵelementStart(0,"li"),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()),2&e){var n=a.ɵɵnextContext(3);a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind2(2,1,"policyInEffectMinComplexity",n.getPasswordScoreAlertDisplay()),"\n ")}}function k(e,t){if(1&e&&(a.ɵɵelementStart(0,"li"),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()),2&e){var n=a.ɵɵnextContext(3);a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind2(2,1,"policyInEffectMinLength",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.minLength.toString()),"\n ")}}function _(e,t){1&e&&(a.ɵɵelementStart(0,"li"),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()),2&e&&(a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(2,1,"policyInEffectUppercase"),""))}function A(e,t){1&e&&(a.ɵɵelementStart(0,"li"),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()),2&e&&(a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(2,1,"policyInEffectLowercase"),""))}function O(e,t){1&e&&(a.ɵɵelementStart(0,"li"),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()),2&e&&(a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(2,1,"policyInEffectNumbers"),""))}function T(e,t){1&e&&(a.ɵɵelementStart(0,"li"),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()),2&e&&(a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind2(2,1,"policyInEffectSpecial","!@#$%^&*"),""))}function M(e,t){if(1&e&&(a.ɵɵelementStart(0,"app-callout",11),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementStart(3,"ul",29),a.ɵɵtext(4,"\n "),a.ɵɵtemplate(5,P,3,4,"li",30),a.ɵɵtext(6,"\n "),a.ɵɵtemplate(7,k,3,4,"li",30),a.ɵɵtext(8,"\n "),a.ɵɵtemplate(9,_,3,3,"li",30),a.ɵɵtext(10,"\n "),a.ɵɵtemplate(11,A,3,3,"li",30),a.ɵɵtext(12,"\n "),a.ɵɵtemplate(13,O,3,3,"li",30),a.ɵɵtext(14,"\n "),a.ɵɵtemplate(15,T,3,4,"li",30),a.ɵɵtext(16,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(17,"\n "),a.ɵɵelementEnd()),2&e){var n=a.ɵɵnextContext(2);a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(2,7,"masterPasswordPolicyInEffect"),"\n "),a.ɵɵadvance(4),a.ɵɵproperty("ngIf",(null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.minComplexity)>0),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",(null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.minLength)>0),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireUpper),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireLower),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireNumbers),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireSpecial)}}var B=function(e,t){return{"fa-eye":e,"fa-eye-slash":t}};function D(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"div",10),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"app-callout",11),a.ɵɵtext(3),a.ɵɵpipe(4,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(5,"\n "),a.ɵɵelementStart(6,"div",12),a.ɵɵtext(7,"\n "),a.ɵɵtemplate(8,M,18,9,"app-callout",13),a.ɵɵtext(9,"\n "),a.ɵɵelementStart(10,"label",14),a.ɵɵtext(11),a.ɵɵpipe(12,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(13,"\n "),a.ɵɵelementStart(14,"div",15),a.ɵɵtext(15,"\n "),a.ɵɵelementStart(16,"div",16),a.ɵɵtext(17,"\n "),a.ɵɵelementStart(18,"input",17),a.ɵɵlistener("ngModelChange",function(e){return a.ɵɵrestoreView(n),a.ɵɵnextContext().masterPassword=e})("input",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext().updatePasswordStrength()}),a.ɵɵelementEnd(),a.ɵɵtext(19,"\n "),a.ɵɵelementStart(20,"app-password-strength",18),a.ɵɵtext(21,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(22,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(23,"\n "),a.ɵɵelementStart(24,"div"),a.ɵɵtext(25,"\n "),a.ɵɵelementStart(26,"button",19),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext().togglePassword(!1)}),a.ɵɵpipe(27,"i18n"),a.ɵɵtext(28,"\n "),a.ɵɵelement(29,"i",20),a.ɵɵtext(30,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(31,"\n "),a.ɵɵelement(32,"div",21),a.ɵɵtext(33,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(34,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(35,"\n "),a.ɵɵelementStart(36,"small",22),a.ɵɵtext(37),a.ɵɵpipe(38,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(39,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(40,"\n "),a.ɵɵelementStart(41,"div",12),a.ɵɵtext(42,"\n "),a.ɵɵelementStart(43,"label",23),a.ɵɵtext(44),a.ɵɵpipe(45,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(46,"\n "),a.ɵɵelementStart(47,"div",15),a.ɵɵtext(48,"\n "),a.ɵɵelementStart(49,"input",24),a.ɵɵlistener("ngModelChange",function(e){return a.ɵɵrestoreView(n),a.ɵɵnextContext().masterPasswordRetype=e}),a.ɵɵelementEnd(),a.ɵɵtext(50,"\n "),a.ɵɵelementStart(51,"button",19),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext().togglePassword(!0)}),a.ɵɵpipe(52,"i18n"),a.ɵɵtext(53,"\n "),a.ɵɵelement(54,"i",20),a.ɵɵtext(55,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(56,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(57,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(58,"\n "),a.ɵɵelementStart(59,"div",12),a.ɵɵtext(60,"\n "),a.ɵɵelementStart(61,"label",25),a.ɵɵtext(62),a.ɵɵpipe(63,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(64,"\n "),a.ɵɵelementStart(65,"input",26),a.ɵɵlistener("ngModelChange",function(e){return a.ɵɵrestoreView(n),a.ɵɵnextContext().hint=e}),a.ɵɵelementEnd(),a.ɵɵtext(66,"\n "),a.ɵɵelementStart(67,"small",22),a.ɵɵtext(68),a.ɵɵpipe(69,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(70,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(71,"\n "),a.ɵɵelement(72,"hr"),a.ɵɵtext(73,"\n "),a.ɵɵelementStart(74,"div",15),a.ɵɵtext(75,"\n "),a.ɵɵelementStart(76,"button",27),a.ɵɵtext(77,"\n "),a.ɵɵelement(78,"i",9),a.ɵɵpipe(79,"i18n"),a.ɵɵtext(80,"\n "),a.ɵɵelementStart(81,"span"),a.ɵɵtext(82),a.ɵɵpipe(83,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(84,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(85,"\n "),a.ɵɵelementStart(86,"button",28),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext().logOut()}),a.ɵɵtext(87),a.ɵɵpipe(88,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(89,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(90,"\n "),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵnextContext(),i=a.ɵɵreference(1);a.ɵɵadvance(3),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(4,22,"ssoCompleteRegistration")),a.ɵɵadvance(5),a.ɵɵproperty("ngIf",r.enforcedPolicyOptions),a.ɵɵadvance(3),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(12,24,"masterPass")),a.ɵɵadvance(7),a.ɵɵpropertyInterpolate("type",r.showPassword?"text":"password"),a.ɵɵproperty("ngModel",r.masterPassword),a.ɵɵadvance(2),a.ɵɵproperty("score",r.masterPasswordScore)("showText",!0),a.ɵɵadvance(6),a.ɵɵpropertyInterpolate("appA11yTitle",a.ɵɵpipeBind1(27,26,"toggleVisibility")),a.ɵɵadvance(3),a.ɵɵproperty("ngClass",a.ɵɵpureFunction2(44,B,!r.showPassword,r.showPassword)),a.ɵɵadvance(8),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(38,28,"masterPassDesc")),a.ɵɵadvance(7),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(45,30,"reTypeMasterPass")),a.ɵɵadvance(5),a.ɵɵpropertyInterpolate("type",r.showPassword?"text":"password"),a.ɵɵproperty("ngModel",r.masterPasswordRetype),a.ɵɵadvance(2),a.ɵɵpropertyInterpolate("appA11yTitle",a.ɵɵpipeBind1(52,32,"toggleVisibility")),a.ɵɵadvance(3),a.ɵɵproperty("ngClass",a.ɵɵpureFunction2(47,B,!r.showPassword,r.showPassword)),a.ɵɵadvance(8),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(63,34,"masterPassHint")),a.ɵɵadvance(3),a.ɵɵproperty("ngModel",r.hint),a.ɵɵadvance(3),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(69,36,"masterPassHintDesc")),a.ɵɵadvance(8),a.ɵɵproperty("disabled",i.loading),a.ɵɵadvance(2),a.ɵɵpropertyInterpolate("title",a.ɵɵpipeBind1(79,38,"loading")),a.ɵɵadvance(4),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(83,40,"submit")),a.ɵɵadvance(5),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(88,42,"logOut"),"\n ")}}var V=function(e){function t(t,n,r,i,o,a,s,l,c,p,u){return e.call(this,n,r,i,o,a,s,l,c,t,p,u)||this}return i(t,e),t.ɵfac=function(e){return new(e||t)(a.ɵɵdirectiveInject(s.ApiService),a.ɵɵdirectiveInject(l.I18nService),a.ɵɵdirectiveInject(c.CryptoService),a.ɵɵdirectiveInject(p.MessagingService),a.ɵɵdirectiveInject(u.UserService),a.ɵɵdirectiveInject(d.PasswordGenerationService),a.ɵɵdirectiveInject(m.PlatformUtilsService),a.ɵɵdirectiveInject(h.PolicyService),a.ɵɵdirectiveInject(f.Router),a.ɵɵdirectiveInject(v.SyncService),a.ɵɵdirectiveInject(f.ActivatedRoute))},t.ɵcmp=a.ɵɵdefineComponent({type:t,selectors:[["app-set-password"]],features:[a.ɵɵInheritDefinitionFeature],decls:21,vars:6,consts:[["ngNativeValidate","","autocomplete","off",3,"appApiAction","ngSubmit"],["form",""],[1,"row","justify-content-md-center","mt-5"],[1,"col-5"],[1,"lead","text-center","mb-4"],[1,"card","d-block"],["class","card-body text-center",4,"ngIf"],["class","card-body",4,"ngIf"],[1,"card-body","text-center"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],[1,"card-body"],["type","info"],[1,"form-group"],["type","info",4,"ngIf"],["for","masterPassword"],[1,"d-flex"],[1,"w-100"],["id","masterPassword","name","MasterPasswordHash","required","","appInputVerbatim","",1,"text-monospace","form-control","mb-1",3,"type","ngModel","ngModelChange","input"],[3,"score","showText"],["type","button",1,"ml-1","btn","btn-link",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-lg",3,"ngClass"],[1,"progress-bar","invisible"],[1,"form-text","text-muted"],["for","masterPasswordRetype"],["id","masterPasswordRetype","name","MasterPasswordRetype","required","","appInputVerbatim","",1,"text-monospace","form-control",3,"type","ngModel","ngModelChange"],["for","hint"],["id","hint","type","text","name","Hint",1,"form-control",3,"ngModel","ngModelChange"],["type","submit",1,"btn","btn-primary","btn-block","btn-submit",3,"disabled"],["type","button",1,"btn","btn-outline-secondary","btn-block","ml-2","mt-0",3,"click"],[1,"mb-0"],[4,"ngIf"]],template:function(e,t){1&e&&(a.ɵɵelementStart(0,"form",0,1),a.ɵɵlistener("ngSubmit",function(){return t.submit()}),a.ɵɵtext(2,"\n "),a.ɵɵelementStart(3,"div",2),a.ɵɵtext(4,"\n "),a.ɵɵelementStart(5,"div",3),a.ɵɵtext(6,"\n "),a.ɵɵelementStart(7,"p",4),a.ɵɵtext(8),a.ɵɵpipe(9,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(10,"\n "),a.ɵɵelementStart(11,"div",5),a.ɵɵtext(12,"\n "),a.ɵɵtemplate(13,E,6,6,"div",6),a.ɵɵtext(14,"\n "),a.ɵɵtemplate(15,D,91,50,"div",7),a.ɵɵtext(16,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(17,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(18,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(19,"\n"),a.ɵɵelementEnd(),a.ɵɵtext(20,"\n")),2&e&&(a.ɵɵproperty("appApiAction",t.formPromise),a.ɵɵadvance(8),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(9,4,"setMasterPassword")),a.ɵɵadvance(5),a.ɵɵproperty("ngIf",t.syncLoading),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",!t.syncLoading))},directives:[y.NgControlStatusGroup,y.NgForm,g.ApiActionDirective,x.NgIf,b.CalloutComponent,y.DefaultValueAccessor,y.RequiredValidator,S.InputVerbatimDirective,y.NgControlStatus,y.NgModel,w.PasswordStrengthComponent,C.A11yTitleDirective,x.NgClass],pipes:[I.I18nPipe],encapsulation:2}),t}(o.SetPasswordComponent);t.SetPasswordComponent=V},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1?t[1]:null},e.prototype.checkState=function(e,t){if(null==e)return!1;if(null==t)return!1;var n=e.split("_identifier="),r=t.split("_identifier=");return n[0]===r[0]},e.ɵfac=function(t){return new(t||e)(s.ɵɵdirectiveInject(l.AuthService),s.ɵɵdirectiveInject(c.Router),s.ɵɵdirectiveInject(p.I18nService),s.ɵɵdirectiveInject(c.ActivatedRoute),s.ɵɵdirectiveInject(u.StorageService),s.ɵɵdirectiveInject(d.StateService),s.ɵɵdirectiveInject(m.PlatformUtilsService),s.ɵɵdirectiveInject(h.ApiService),s.ɵɵdirectiveInject(f.CryptoFunctionService),s.ɵɵdirectiveInject(v.PasswordGenerationService))},e.ɵdir=s.ɵɵdefineDirective({type:e}),e}();t.SsoComponent=y},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]this.pageSize&&(t=this.pagedCollectionsCount),this.collections.length>e&&(this.pagedCollections=this.pagedCollections.concat(this.collections.slice(e,e+t))),this.pagedCollectionsCount=this.pagedCollections.length,this.didScroll=this.pagedCollections.length>this.pageSize}},e.prototype.edit=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(l.ModalComponent);this.modal=this.addEditModalRef.createComponent(n).instance;var r=this.modal.show(c.CollectionAddEditComponent,this.addEditModalRef);r.organizationId=this.organizationId,r.collectionId=null!=e?e.id:null,r.onSavedCollection.subscribe(function(){t.modal.close(),t.load()}),r.onDeletedCollection.subscribe(function(){t.modal.close(),t.removeCollection(e)}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.add=function(){this.edit(null)},e.prototype.delete=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteCollectionConfirmation"),e.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!t.sent())return[2,!1];t.label=2;case 2:return t.trys.push([2,4,,5]),[4,this.apiService.deleteCollection(this.organizationId,e.id)];case 3:return t.sent(),this.analytics.eventTrack.next({action:"Deleted Collection"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedCollectionId",e.name)),this.removeCollection(e),[3,5];case 4:return t.sent(),[3,5];case 5:return[2]}})})},e.prototype.users=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(l.ModalComponent);this.modal=this.usersModalRef.createComponent(n).instance;var r=this.modal.show(p.EntityUsersComponent,this.usersModalRef);r.organizationId=this.organizationId,r.entity="collection",r.entityId=e.id,r.entityName=e.name,r.onEditedUsers.subscribe(function(){t.load(),t.modal.close()}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.resetPaging=function(){return r(this,void 0,void 0,function(){return i(this,function(e){return this.pagedCollections=[],this.loadMore(),[2]})})},e.prototype.isSearching=function(){return this.searchService.isSearchable(this.searchText)},e.prototype.isPaging=function(){var e=this.isSearching();return e&&this.didScroll&&this.resetPaging(),!e&&this.collections&&this.collections.length>this.pageSize},e.prototype.removeCollection=function(e){var t=this.collections.indexOf(e);t>-1&&(this.collections.splice(t,1),this.resetPaging())},e.ɵfac=function(t){return new(t||e)(u.ɵɵdirectiveInject(d.ApiService),u.ɵɵdirectiveInject(m.ActivatedRoute),u.ɵɵdirectiveInject(h.CollectionService),u.ɵɵdirectiveInject(u.ComponentFactoryResolver),u.ɵɵdirectiveInject(f.Angulartics2),u.ɵɵdirectiveInject(v.ToasterService),u.ɵɵdirectiveInject(y.I18nService),u.ɵɵdirectiveInject(g.PlatformUtilsService),u.ɵɵdirectiveInject(x.UserService),u.ɵɵdirectiveInject(b.SearchService))},e.ɵcmp=u.ɵɵdefineComponent({type:e,selectors:[["app-org-manage-collections"]],viewQuery:function(e,t){var n;(1&e&&(u.ɵɵstaticViewQuery(_,!0,o.ViewContainerRef),u.ɵɵstaticViewQuery(A,!0,o.ViewContainerRef)),2&e)&&(u.ɵɵqueryRefresh(n=u.ɵɵloadQuery())&&(t.addEditModalRef=n.first),u.ɵɵqueryRefresh(n=u.ɵɵloadQuery())&&(t.usersModalRef=n.first))},decls:37,vars:20,consts:[[1,"page-header","d-flex"],[1,"ml-auto","d-flex"],["for","search",1,"sr-only"],["type","search","id","search",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],["type","button",1,"btn","btn-sm","btn-outline-primary","ml-3",3,"click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"],[4,"ngIf"],["addEdit",""],["usersTemplate",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["class","table table-hover table-list","infiniteScroll","",3,"infiniteScrollDistance","infiniteScrollDisabled","scrolled",4,"ngIf"],["infiniteScroll","",1,"table","table-hover","table-list",3,"infiniteScrollDistance","infiniteScrollDisabled","scrolled"],[4,"ngFor","ngForOf"],["href","#","appStopClick","",3,"click"],[1,"table-list-options"],["appListDropdown","",1,"dropdown"],["type","button","data-toggle","dropdown","aria-haspopup","true","aria-expanded","false",1,"btn","btn-outline-secondary","dropdown-toggle",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-cog","fa-lg"],[1,"dropdown-menu","dropdown-menu-right"],["href","#","appStopClick","",1,"dropdown-item",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-users"],["href","#","appStopClick","",1,"dropdown-item","text-danger",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-trash-o"]],template:function(e,t){1&e&&(u.ɵɵelementStart(0,"div",0),u.ɵɵtext(1,"\n "),u.ɵɵelementStart(2,"h1"),u.ɵɵtext(3),u.ɵɵpipe(4,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(5,"\n "),u.ɵɵelementStart(6,"div",1),u.ɵɵtext(7,"\n "),u.ɵɵelementStart(8,"div"),u.ɵɵtext(9,"\n "),u.ɵɵelementStart(10,"label",2),u.ɵɵtext(11),u.ɵɵpipe(12,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(13,"\n "),u.ɵɵelementStart(14,"input",3),u.ɵɵlistener("ngModelChange",function(e){return t.searchText=e}),u.ɵɵpipe(15,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(16,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(17,"\n "),u.ɵɵelementStart(18,"button",4),u.ɵɵlistener("click",function(){return t.add()}),u.ɵɵtext(19,"\n "),u.ɵɵelement(20,"i",5),u.ɵɵtext(21),u.ɵɵpipe(22,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(23,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(24,"\n"),u.ɵɵelementEnd(),u.ɵɵtext(25,"\n"),u.ɵɵtemplate(26,O,9,6,"ng-container",6),u.ɵɵtext(27,"\n"),u.ɵɵtemplate(28,D,6,2,"ng-container",6),u.ɵɵpipe(29,"search"),u.ɵɵtext(30,"\n"),u.ɵɵtemplate(31,V,0,0,"ng-template",null,7,u.ɵɵtemplateRefExtractor),u.ɵɵtext(33,"\n"),u.ɵɵtemplate(34,j,0,0,"ng-template",null,8,u.ɵɵtemplateRefExtractor),u.ɵɵtext(36,"\n")),2&e&&(u.ɵɵadvance(3),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(4,7,"collections")),u.ɵɵadvance(8),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(12,9,"search")),u.ɵɵadvance(3),u.ɵɵpropertyInterpolate("placeholder",u.ɵɵpipeBind1(15,11,"search")),u.ɵɵproperty("ngModel",t.searchText),u.ɵɵadvance(7),u.ɵɵtextInterpolate1("\n ",u.ɵɵpipeBind1(22,13,"newCollection"),"\n "),u.ɵɵadvance(5),u.ɵɵproperty("ngIf",t.loading),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",!t.loading&&(t.isPaging()?t.pagedCollections:u.ɵɵpipeBind4(29,15,t.collections,t.searchText,"name","id"))))},directives:[S.DefaultValueAccessor,S.NgControlStatus,S.NgModel,w.NgIf,C.InfiniteScrollDirective,w.NgForOf,I.StopClickDirective,E.A11yTitleDirective],pipes:[P.I18nPipe,k.SearchPipe],encapsulation:2}),e}();t.CollectionsComponent=R},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&r.groups.forEach(function(e){var t=s.groups.filter(function(t){return!t.accessAll&&t.id===e.id});null!=t&&t.length>0&&(t[0].checked=!0,t[0].readOnly=e.readOnly,t[0].hidePasswords=e.hidePasswords)}),[3,9];case 8:return i.sent(),[3,9];case 9:return[3,11];case 10:this.title=this.i18nService.t("addCollection"),i.label=11;case 11:return this.groups.forEach(function(e){e.accessAll&&(e.checked=!0)}),this.loading=!1,[2]}})})},e.prototype.check=function(e,t){e.accessAll||(e.checked=null==t?!e.checked:t,e.checked||(e.readOnly=!1,e.hidePasswords=!1))},e.prototype.selectAll=function(e){var t=this;this.groups.forEach(function(n){return t.check(n,e)})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e,t;return i(this,function(n){switch(n.label){case 0:if(null==this.orgKey)throw new Error("No encryption key for this organization.");return e=new s.CollectionRequest,t=e,[4,this.cryptoService.encrypt(this.name,this.orgKey)];case 1:t.name=n.sent().encryptedString,e.externalId=this.externalId,e.groups=this.groups.filter(function(e){return e.checked&&!e.accessAll}).map(function(e){return new l.SelectionReadOnlyRequest(e.id,!!e.readOnly,!!e.hidePasswords)}),n.label=2;case 2:return n.trys.push([2,4,,5]),this.editMode?this.formPromise=this.apiService.putCollection(this.organizationId,this.collectionId,e):this.formPromise=this.apiService.postCollection(this.organizationId,e),[4,this.formPromise];case 3:return n.sent(),this.analytics.eventTrack.next({action:this.editMode?"Edited Collection":"Created Collection"}),this.toasterService.popAsync("success",null,this.i18nService.t(this.editMode?"editedCollectionId":"createdCollectionId",this.name)),this.onSavedCollection.emit(),[3,5];case 4:return n.sent(),[3,5];case 5:return[2]}})})},e.prototype.delete=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.editMode?[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteCollectionConfirmation"),this.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2];case 1:if(!e.sent())return[2,!1];e.label=2;case 2:return e.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteCollection(this.organizationId,this.collectionId),[4,this.deletePromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:"Deleted Collection"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedCollectionId",this.name)),this.onDeletedCollection.emit(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},e.ɵfac=function(t){return new(t||e)(p.ɵɵdirectiveInject(u.ApiService),p.ɵɵdirectiveInject(d.I18nService),p.ɵɵdirectiveInject(m.Angulartics2),p.ɵɵdirectiveInject(h.ToasterService),p.ɵɵdirectiveInject(f.PlatformUtilsService),p.ɵɵdirectiveInject(v.CryptoService),p.ɵɵdirectiveInject(y.UserService))},e.ɵcmp=p.ɵɵdefineComponent({type:e,selectors:[["app-collection-add-edit"]],inputs:{collectionId:"collectionId",organizationId:"organizationId"},outputs:{onSavedCollection:"onSavedCollection",onDeletedCollection:"onDeletedCollection"},decls:49,vars:18,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","collectionAddEditTitle",1,"modal","fade"],["role","document",1,"modal-dialog"],["ngNativeValidate","",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","collectionAddEditTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"ml-auto"],["type","button","class","btn btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click",4,"ngIf"],[1,"modal-body"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"form-group"],["for","name"],["id","name","type","text","name","Name","required","","appAutofocus","",1,"form-control",3,"ngModel","ngModelChange"],["for","externalId"],["id","externalId","type","text","name","ExternalId",1,"form-control",3,"ngModel","ngModelChange"],[1,"form-text","text-muted"],[4,"ngIf"],[1,"mt-4","d-flex","mb-0"],["class","ml-auto",4,"ngIf"],["class","table table-hover table-list mb-0",4,"ngIf"],["type","button",1,"btn","btn-link","btn-sm","py-0",3,"click"],[1,"table","table-hover","table-list","mb-0"],["width","100",1,"text-center"],[4,"ngFor","ngForOf"],[1,"table-list-checkbox",3,"click"],["type","checkbox","appStopProp","",3,"ngModel","name","disabled","ngModelChange"],[3,"click"],[1,"text-center"],["type","checkbox",3,"ngModel","name","disabled","ngModelChange"],["aria-hidden","true",1,"fa","fa-th","text-muted","fa-fw",3,"title"],["type","button",1,"btn","btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click"],["deleteBtn",""],["aria-hidden","true",1,"fa","fa-trash-o","fa-lg","fa-fw",3,"hidden"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","fa-lg","fa-fw",3,"hidden","title"]],template:function(e,t){if(1&e&&(p.ɵɵelementStart(0,"div",0),p.ɵɵtext(1,"\n "),p.ɵɵelementStart(2,"div",1),p.ɵɵtext(3,"\n "),p.ɵɵelementStart(4,"form",2,3),p.ɵɵlistener("ngSubmit",function(){return t.submit()}),p.ɵɵtext(6,"\n "),p.ɵɵelementStart(7,"div",4),p.ɵɵtext(8,"\n "),p.ɵɵelementStart(9,"h2",5),p.ɵɵtext(10),p.ɵɵelementEnd(),p.ɵɵtext(11,"\n "),p.ɵɵelementStart(12,"button",6),p.ɵɵpipe(13,"i18n"),p.ɵɵtext(14,"\n "),p.ɵɵelementStart(15,"span",7),p.ɵɵtext(16,"×"),p.ɵɵelementEnd(),p.ɵɵtext(17,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(18,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(19,"\n "),p.ɵɵtemplate(20,E,9,6,"div",8),p.ɵɵtext(21,"\n "),p.ɵɵtemplate(22,M,26,12,"div",8),p.ɵɵtext(23,"\n "),p.ɵɵelementStart(24,"div",9),p.ɵɵtext(25,"\n "),p.ɵɵelementStart(26,"button",10),p.ɵɵtext(27,"\n "),p.ɵɵelement(28,"i",11),p.ɵɵpipe(29,"i18n"),p.ɵɵtext(30,"\n "),p.ɵɵelementStart(31,"span"),p.ɵɵtext(32),p.ɵɵpipe(33,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(34,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(35,"\n "),p.ɵɵelementStart(36,"button",12),p.ɵɵtext(37),p.ɵɵpipe(38,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(39,"\n "),p.ɵɵelementStart(40,"div",13),p.ɵɵtext(41,"\n "),p.ɵɵtemplate(42,B,9,10,"button",14),p.ɵɵtext(43,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(44,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(45,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(46,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(47,"\n"),p.ɵɵelementEnd(),p.ɵɵtext(48,"\n")),2&e){var n=p.ɵɵreference(5);p.ɵɵadvance(4),p.ɵɵproperty("appApiAction",t.formPromise),p.ɵɵadvance(6),p.ɵɵtextInterpolate(t.title),p.ɵɵadvance(2),p.ɵɵpropertyInterpolate("appA11yTitle",p.ɵɵpipeBind1(13,10,"close")),p.ɵɵadvance(8),p.ɵɵproperty("ngIf",t.loading),p.ɵɵadvance(2),p.ɵɵproperty("ngIf",!t.loading),p.ɵɵadvance(4),p.ɵɵproperty("disabled",n.loading),p.ɵɵadvance(2),p.ɵɵpropertyInterpolate("title",p.ɵɵpipeBind1(29,12,"loading")),p.ɵɵadvance(4),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(33,14,"save")),p.ɵɵadvance(5),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(38,16,"cancel")),p.ɵɵadvance(5),p.ɵɵproperty("ngIf",t.editMode)}},directives:[g.NgControlStatusGroup,g.NgForm,x.ApiActionDirective,b.A11yTitleDirective,S.NgIf,g.DefaultValueAccessor,g.RequiredValidator,w.AutofocusDirective,g.NgControlStatus,g.NgModel,S.NgForOf,g.CheckboxControlValueAccessor,C.StopPropDirective],pipes:[I.I18nPipe],encapsulation:2}),e}();t.CollectionAddEditComponent=D},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.groups=[],null!=e&&(this.name=e.name?e.name.encryptedString:null,this.externalId=e.externalId)}}();t.CollectionRequest=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?this.events=this.events.concat(o):this.events=o,this.loading=!1,this.morePromise=null,this.refreshPromise=null,[2]}})})},e.ɵfac=function(t){return new(t||e)(o.ɵɵdirectiveInject(a.ApiService),o.ɵɵdirectiveInject(s.ActivatedRoute),o.ɵɵdirectiveInject(l.EventService),o.ɵɵdirectiveInject(c.I18nService),o.ɵɵdirectiveInject(p.ToasterService),o.ɵɵdirectiveInject(u.UserService),o.ɵɵdirectiveInject(s.Router))},e.ɵcmp=o.ɵɵdefineComponent({type:e,selectors:[["app-org-events"]],decls:41,vars:27,consts:[[1,"page-header","d-flex"],[1,"ml-auto","d-flex"],[1,"form-inline"],["for","start",1,"sr-only"],["type","datetime-local","id","start","placeholder","YYYY-MM-DDTHH:MM",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],[1,"mx-2"],["for","end",1,"sr-only"],["type","datetime-local","id","end","placeholder","YYYY-MM-DDTHH:MM",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],["type","button",1,"btn","btn-sm","btn-outline-primary","ml-3",3,"appApiAction","disabled","click"],["refreshBtn",""],["aria-hidden","true",1,"fa","fa-refresh","fa-fw",3,"ngClass"],[4,"ngIf"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["class","table table-hover",4,"ngIf"],["type","button","class","btn btn-block btn-link btn-submit",3,"appApiAction","disabled","click",4,"ngIf"],[1,"table","table-hover"],["width","210",1,"border-top-0"],["width","40",1,"border-top-0"],["width","150",1,"border-top-0"],[1,"border-top-0"],[4,"ngFor","ngForOf"],["aria-hidden","true",3,"title"],[3,"title"],[3,"innerHTML"],["type","button",1,"btn","btn-block","btn-link","btn-submit",3,"appApiAction","disabled","click"],["moreBtn",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"]],template:function(e,t){if(1&e&&(o.ɵɵelementStart(0,"div",0),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"h1"),o.ɵɵtext(3),o.ɵɵpipe(4,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(5,"\n "),o.ɵɵelementStart(6,"div",1),o.ɵɵtext(7,"\n "),o.ɵɵelementStart(8,"div",2),o.ɵɵtext(9,"\n "),o.ɵɵelementStart(10,"label",3),o.ɵɵtext(11),o.ɵɵpipe(12,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(13,"\n "),o.ɵɵelementStart(14,"input",4),o.ɵɵlistener("ngModelChange",function(e){return t.start=e}),o.ɵɵpipe(15,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(16,"\n "),o.ɵɵelementStart(17,"span",5),o.ɵɵtext(18,"-"),o.ɵɵelementEnd(),o.ɵɵtext(19,"\n "),o.ɵɵelementStart(20,"label",6),o.ɵɵtext(21),o.ɵɵpipe(22,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(23,"\n "),o.ɵɵelementStart(24,"input",7),o.ɵɵlistener("ngModelChange",function(e){return t.end=e}),o.ɵɵpipe(25,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(26,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(27,"\n "),o.ɵɵelementStart(28,"button",8,9),o.ɵɵlistener("click",function(){return t.loadEvents(!0)}),o.ɵɵtext(30,"\n "),o.ɵɵelement(31,"i",10),o.ɵɵtext(32),o.ɵɵpipe(33,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(34,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(35,"\n"),o.ɵɵelementEnd(),o.ɵɵtext(36,"\n"),o.ɵɵtemplate(37,v,9,6,"ng-container",11),o.ɵɵtext(38,"\n"),o.ɵɵtemplate(39,S,8,3,"ng-container",11),o.ɵɵtext(40,"\n")),2&e){var n=o.ɵɵreference(29);o.ɵɵadvance(3),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(4,13,"eventLogs")),o.ɵɵadvance(8),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(12,15,"startDate")),o.ɵɵadvance(3),o.ɵɵpropertyInterpolate("placeholder",o.ɵɵpipeBind1(15,17,"startDate")),o.ɵɵproperty("ngModel",t.start),o.ɵɵadvance(7),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(22,19,"endDate")),o.ɵɵadvance(3),o.ɵɵpropertyInterpolate("placeholder",o.ɵɵpipeBind1(25,21,"endDate")),o.ɵɵproperty("ngModel",t.end),o.ɵɵadvance(4),o.ɵɵproperty("appApiAction",t.refreshPromise)("disabled",t.loaded&&n.loading),o.ɵɵadvance(3),o.ɵɵproperty("ngClass",o.ɵɵpureFunction1(25,w,t.loaded&&n.loading)),o.ɵɵadvance(1),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(33,23,"refresh"),"\n "),o.ɵɵadvance(5),o.ɵɵproperty("ngIf",!t.loaded),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",t.loaded)}},directives:[d.DefaultValueAccessor,d.NgControlStatus,d.NgModel,m.ApiActionDirective,h.NgClass,h.NgIf,h.NgForOf],pipes:[f.I18nPipe,h.DatePipe],encapsulation:2}),e}();t.EventsComponent=C},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?e.data:[]).sort(a.Utils.getSortFunction(this.i18nService,"name")),this.groups=t,this.resetPaging(),this.loading=!1,[2]}})})},e.prototype.loadMore=function(){if(this.groups&&!(this.groups.length<=this.pageSize)){var e=this.pagedGroups.length,t=this.pageSize;0===e&&this.pagedGroupsCount>this.pageSize&&(t=this.pagedGroupsCount),this.groups.length>e&&(this.pagedGroups=this.pagedGroups.concat(this.groups.slice(e,e+t))),this.pagedGroupsCount=this.pagedGroups.length,this.didScroll=this.pagedGroups.length>this.pageSize}},e.prototype.edit=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent);this.modal=this.addEditModalRef.createComponent(n).instance;var r=this.modal.show(c.GroupAddEditComponent,this.addEditModalRef);r.organizationId=this.organizationId,r.groupId=null!=e?e.id:null,r.onSavedGroup.subscribe(function(){t.modal.close(),t.load()}),r.onDeletedGroup.subscribe(function(){t.modal.close(),t.removeGroup(e)}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.add=function(){this.edit(null)},e.prototype.delete=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteGroupConfirmation"),e.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!t.sent())return[2,!1];t.label=2;case 2:return t.trys.push([2,4,,5]),[4,this.apiService.deleteGroup(this.organizationId,e.id)];case 3:return t.sent(),this.analytics.eventTrack.next({action:"Deleted Group"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedGroupId",e.name)),this.removeGroup(e),[3,5];case 4:return t.sent(),[3,5];case 5:return[2]}})})},e.prototype.users=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent);this.modal=this.usersModalRef.createComponent(n).instance;var r=this.modal.show(l.EntityUsersComponent,this.usersModalRef);r.organizationId=this.organizationId,r.entity="group",r.entityId=e.id,r.entityName=e.name,r.onEditedUsers.subscribe(function(){t.modal.close()}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.resetPaging=function(){return r(this,void 0,void 0,function(){return i(this,function(e){return this.pagedGroups=[],this.loadMore(),[2]})})},e.prototype.isSearching=function(){return this.searchService.isSearchable(this.searchText)},e.prototype.isPaging=function(){var e=this.isSearching();return e&&this.didScroll&&this.resetPaging(),!e&&this.groups&&this.groups.length>this.pageSize},e.prototype.removeGroup=function(e){var t=this.groups.indexOf(e);t>-1&&(this.groups.splice(t,1),this.resetPaging())},e.ɵfac=function(t){return new(t||e)(p.ɵɵdirectiveInject(u.ApiService),p.ɵɵdirectiveInject(d.ActivatedRoute),p.ɵɵdirectiveInject(m.I18nService),p.ɵɵdirectiveInject(p.ComponentFactoryResolver),p.ɵɵdirectiveInject(h.Angulartics2),p.ɵɵdirectiveInject(f.ToasterService),p.ɵɵdirectiveInject(v.PlatformUtilsService),p.ɵɵdirectiveInject(y.UserService),p.ɵɵdirectiveInject(d.Router),p.ɵɵdirectiveInject(g.SearchService))},e.ɵcmp=p.ɵɵdefineComponent({type:e,selectors:[["app-org-groups"]],viewQuery:function(e,t){var n;(1&e&&(p.ɵɵstaticViewQuery(P,!0,o.ViewContainerRef),p.ɵɵstaticViewQuery(k,!0,o.ViewContainerRef)),2&e)&&(p.ɵɵqueryRefresh(n=p.ɵɵloadQuery())&&(t.addEditModalRef=n.first),p.ɵɵqueryRefresh(n=p.ɵɵloadQuery())&&(t.usersModalRef=n.first))},decls:37,vars:20,consts:[[1,"page-header","d-flex"],[1,"ml-auto","d-flex"],["for","search",1,"sr-only"],["type","search","id","search",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],["type","button",1,"btn","btn-sm","btn-outline-primary","ml-3",3,"click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"],[4,"ngIf"],["addEdit",""],["usersTemplate",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["class","table table-hover table-list","infiniteScroll","",3,"infiniteScrollDistance","infiniteScrollDisabled","scrolled",4,"ngIf"],["infiniteScroll","",1,"table","table-hover","table-list",3,"infiniteScrollDistance","infiniteScrollDisabled","scrolled"],[4,"ngFor","ngForOf"],["href","#","appStopClick","",3,"click"],[1,"table-list-options"],["appListDropdown","",1,"dropdown"],["type","button","data-toggle","dropdown","aria-haspopup","true","aria-expanded","false",1,"btn","btn-outline-secondary","dropdown-toggle",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-cog","fa-lg"],[1,"dropdown-menu","dropdown-menu-right"],["href","#","appStopClick","",1,"dropdown-item",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-users"],["href","#","appStopClick","",1,"dropdown-item","text-danger",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-trash-o"]],template:function(e,t){1&e&&(p.ɵɵelementStart(0,"div",0),p.ɵɵtext(1,"\n "),p.ɵɵelementStart(2,"h1"),p.ɵɵtext(3),p.ɵɵpipe(4,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(5,"\n "),p.ɵɵelementStart(6,"div",1),p.ɵɵtext(7,"\n "),p.ɵɵelementStart(8,"div"),p.ɵɵtext(9,"\n "),p.ɵɵelementStart(10,"label",2),p.ɵɵtext(11),p.ɵɵpipe(12,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(13,"\n "),p.ɵɵelementStart(14,"input",3),p.ɵɵlistener("ngModelChange",function(e){return t.searchText=e}),p.ɵɵpipe(15,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(16,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(17,"\n "),p.ɵɵelementStart(18,"button",4),p.ɵɵlistener("click",function(){return t.add()}),p.ɵɵtext(19,"\n "),p.ɵɵelement(20,"i",5),p.ɵɵtext(21),p.ɵɵpipe(22,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(23,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(24,"\n"),p.ɵɵelementEnd(),p.ɵɵtext(25,"\n"),p.ɵɵtemplate(26,_,9,6,"ng-container",6),p.ɵɵtext(27,"\n"),p.ɵɵtemplate(28,M,6,2,"ng-container",6),p.ɵɵpipe(29,"search"),p.ɵɵtext(30,"\n"),p.ɵɵtemplate(31,B,0,0,"ng-template",null,7,p.ɵɵtemplateRefExtractor),p.ɵɵtext(33,"\n"),p.ɵɵtemplate(34,D,0,0,"ng-template",null,8,p.ɵɵtemplateRefExtractor),p.ɵɵtext(36,"\n")),2&e&&(p.ɵɵadvance(3),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(4,7,"groups")),p.ɵɵadvance(8),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(12,9,"search")),p.ɵɵadvance(3),p.ɵɵpropertyInterpolate("placeholder",p.ɵɵpipeBind1(15,11,"search")),p.ɵɵproperty("ngModel",t.searchText),p.ɵɵadvance(7),p.ɵɵtextInterpolate1("\n ",p.ɵɵpipeBind1(22,13,"newGroup"),"\n "),p.ɵɵadvance(5),p.ɵɵproperty("ngIf",t.loading),p.ɵɵadvance(2),p.ɵɵproperty("ngIf",!t.loading&&(t.isPaging()?t.pagedGroups:p.ɵɵpipeBind4(29,15,t.groups,t.searchText,"name","id"))))},directives:[x.DefaultValueAccessor,x.NgControlStatus,x.NgModel,b.NgIf,S.InfiniteScrollDirective,b.NgForOf,w.StopClickDirective,C.A11yTitleDirective],pipes:[I.I18nPipe,E.SearchPipe],encapsulation:2}),e}();t.GroupsComponent=V},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(n[0].checked=!0,n[0].readOnly=e.readOnly,n[0].hidePasswords=e.hidePasswords)}),[3,5];case 4:return n.sent(),[3,5];case 5:return[3,7];case 6:this.title=this.i18nService.t("addGroup"),n.label=7;case 7:return this.loading=!1,[2]}})})},e.prototype.loadCollections=function(){return r(this,void 0,void 0,function(){var e,t,n;return i(this,function(r){switch(r.label){case 0:return[4,this.apiService.getCollections(this.organizationId)];case 1:return e=r.sent(),t=e.data.map(function(e){return new s.Collection(new a.CollectionData(e))}),n=this,[4,this.collectionService.decryptMany(t)];case 2:return n.collections=r.sent(),[2]}})})},e.prototype.check=function(e,t){e.checked=null==t?!e.checked:t,e.checked||(e.readOnly=!1)},e.prototype.selectAll=function(e){var t=this;this.collections.forEach(function(n){return t.check(n,e)})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:(e=new l.GroupRequest).name=this.name,e.externalId=this.externalId,e.accessAll="all"===this.access,e.accessAll||(e.collections=this.collections.filter(function(e){return e.checked}).map(function(e){return new c.SelectionReadOnlyRequest(e.id,!!e.readOnly,!!e.hidePasswords)})),t.label=1;case 1:return t.trys.push([1,3,,4]),this.editMode?this.formPromise=this.apiService.putGroup(this.organizationId,this.groupId,e):this.formPromise=this.apiService.postGroup(this.organizationId,e),[4,this.formPromise];case 2:return t.sent(),this.analytics.eventTrack.next({action:this.editMode?"Edited Group":"Created Group"}),this.toasterService.popAsync("success",null,this.i18nService.t(this.editMode?"editedGroupId":"createdGroupId",this.name)),this.onSavedGroup.emit(),[3,4];case 3:return t.sent(),[3,4];case 4:return[2]}})})},e.prototype.delete=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.editMode?[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteGroupConfirmation"),this.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2];case 1:if(!e.sent())return[2,!1];e.label=2;case 2:return e.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteGroup(this.organizationId,this.groupId),[4,this.deletePromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:"Deleted Group"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedGroupId",this.name)),this.onDeletedGroup.emit(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},e.ɵfac=function(t){return new(t||e)(p.ɵɵdirectiveInject(u.ApiService),p.ɵɵdirectiveInject(d.I18nService),p.ɵɵdirectiveInject(m.Angulartics2),p.ɵɵdirectiveInject(h.ToasterService),p.ɵɵdirectiveInject(f.CollectionService),p.ɵɵdirectiveInject(v.PlatformUtilsService))},e.ɵcmp=p.ɵɵdefineComponent({type:e,selectors:[["app-group-add-edit"]],inputs:{groupId:"groupId",organizationId:"organizationId"},outputs:{onSavedGroup:"onSavedGroup",onDeletedGroup:"onDeletedGroup"},decls:49,vars:18,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","groupAddEditTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],["ngNativeValidate","",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","groupAddEditTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"ml-auto"],["type","button","class","btn btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click",4,"ngIf"],[1,"modal-body"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"form-group"],["for","name"],["id","name","type","text","name","Name","required","",1,"form-control",3,"ngModel","ngModelChange"],["for","externalId"],["id","externalId","type","text","name","ExternalId",1,"form-control",3,"ngModel","ngModelChange"],[1,"form-text","text-muted"],[1,"mt-4","d-flex"],[1,"mb-2"],["target","_blank","rel","noopener","href","https://bitwarden.com/help/article/user-types-access-control/#access-control",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],["class","ml-auto",4,"ngIf"],[1,"form-group",3,"ngClass"],[1,"form-check"],["type","radio","name","access","id","accessAll","value","all",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessAll",1,"form-check-label"],["type","radio","name","access","id","accessSelected","value","selected",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessSelected",1,"form-check-label"],[4,"ngIf"],["type","button",1,"btn","btn-link","btn-sm","py-0",3,"click"],["class","table table-hover table-list mb-0",4,"ngIf"],[1,"table","table-hover","table-list","mb-0"],["width","100",1,"text-center"],[4,"ngFor","ngForOf"],[1,"table-list-checkbox",3,"click"],["type","checkbox","appStopProp","",3,"ngModel","name","ngModelChange"],[3,"click"],[1,"text-center"],["type","checkbox",3,"ngModel","name","disabled","ngModelChange"],["type","button",1,"btn","btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click"],["deleteBtn",""],["aria-hidden","true",1,"fa","fa-trash-o","fa-lg","fa-fw",3,"hidden"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","fa-lg","fa-fw",3,"hidden","title"]],template:function(e,t){if(1&e&&(p.ɵɵelementStart(0,"div",0),p.ɵɵtext(1,"\n "),p.ɵɵelementStart(2,"div",1),p.ɵɵtext(3,"\n "),p.ɵɵelementStart(4,"form",2,3),p.ɵɵlistener("ngSubmit",function(){return t.submit()}),p.ɵɵtext(6,"\n "),p.ɵɵelementStart(7,"div",4),p.ɵɵtext(8,"\n "),p.ɵɵelementStart(9,"h2",5),p.ɵɵtext(10),p.ɵɵelementEnd(),p.ɵɵtext(11,"\n "),p.ɵɵelementStart(12,"button",6),p.ɵɵpipe(13,"i18n"),p.ɵɵtext(14,"\n "),p.ɵɵelementStart(15,"span",7),p.ɵɵtext(16,"×"),p.ɵɵelementEnd(),p.ɵɵtext(17,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(18,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(19,"\n "),p.ɵɵtemplate(20,C,9,6,"div",8),p.ɵɵtext(21,"\n "),p.ɵɵtemplate(22,O,62,30,"div",8),p.ɵɵtext(23,"\n "),p.ɵɵelementStart(24,"div",9),p.ɵɵtext(25,"\n "),p.ɵɵelementStart(26,"button",10),p.ɵɵtext(27,"\n "),p.ɵɵelement(28,"i",11),p.ɵɵpipe(29,"i18n"),p.ɵɵtext(30,"\n "),p.ɵɵelementStart(31,"span"),p.ɵɵtext(32),p.ɵɵpipe(33,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(34,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(35,"\n "),p.ɵɵelementStart(36,"button",12),p.ɵɵtext(37),p.ɵɵpipe(38,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(39,"\n "),p.ɵɵelementStart(40,"div",13),p.ɵɵtext(41,"\n "),p.ɵɵtemplate(42,T,9,10,"button",14),p.ɵɵtext(43,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(44,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(45,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(46,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(47,"\n"),p.ɵɵelementEnd(),p.ɵɵtext(48,"\n")),2&e){var n=p.ɵɵreference(5);p.ɵɵadvance(4),p.ɵɵproperty("appApiAction",t.formPromise),p.ɵɵadvance(6),p.ɵɵtextInterpolate(t.title),p.ɵɵadvance(2),p.ɵɵpropertyInterpolate("appA11yTitle",p.ɵɵpipeBind1(13,10,"close")),p.ɵɵadvance(8),p.ɵɵproperty("ngIf",t.loading),p.ɵɵadvance(2),p.ɵɵproperty("ngIf",!t.loading),p.ɵɵadvance(4),p.ɵɵproperty("disabled",n.loading),p.ɵɵadvance(2),p.ɵɵpropertyInterpolate("title",p.ɵɵpipeBind1(29,12,"loading")),p.ɵɵadvance(4),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(33,14,"save")),p.ɵɵadvance(5),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(38,16,"cancel")),p.ɵɵadvance(5),p.ɵɵproperty("ngIf",t.editMode)}},directives:[y.NgControlStatusGroup,y.NgForm,g.ApiActionDirective,x.A11yTitleDirective,b.NgIf,y.DefaultValueAccessor,y.RequiredValidator,y.NgControlStatus,y.NgModel,b.NgClass,y.RadioControlValueAccessor,b.NgForOf,y.CheckboxControlValueAccessor,S.StopPropDirective],pipes:[w.I18nPipe],encapsulation:2}),e}();t.GroupAddEditComponent=M},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&t[0].status===l.OrganizationUserStatusType.Confirmed&&this.events(t[0]),null!=n&&n.unsubscribe(),[2]})})}),[2]}})})}),[2]})})},e.prototype.load=function(){return r(this,void 0,void 0,function(){var e,t=this;return i(this,function(n){switch(n.label){case 0:return[4,this.apiService.getOrganizationUsers(this.organizationId)];case 1:return e=n.sent(),this.statusMap.clear(),this.allUsers=null!=e.data&&e.data.length>0?e.data:[],this.allUsers.sort(p.Utils.getSortFunction(this.i18nService,"email")),this.allUsers.forEach(function(e){t.statusMap.has(e.status)?t.statusMap.get(e.status).push(e):t.statusMap.set(e.status,[e])}),this.filter(this.status),this.loading=!1,[2]}})})},e.prototype.filter=function(e){this.status=e,null!=this.status?this.users=this.statusMap.get(this.status):this.users=this.allUsers,this.resetPaging()},e.prototype.loadMore=function(){if(this.users&&!(this.users.length<=this.pageSize)){var e=this.pagedUsers.length,t=this.pageSize;0===e&&this.pagedUsersCount>this.pageSize&&(t=this.pagedUsersCount),this.users.length>e&&(this.pagedUsers=this.pagedUsers.concat(this.users.slice(e,e+t))),this.pagedUsersCount=this.pagedUsers.length,this.didScroll=this.pagedUsers.length>this.pageSize}},Object.defineProperty(e.prototype,"allCount",{get:function(){return null!=this.allUsers?this.allUsers.length:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"invitedCount",{get:function(){return this.statusMap.has(l.OrganizationUserStatusType.Invited)?this.statusMap.get(l.OrganizationUserStatusType.Invited).length:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"acceptedCount",{get:function(){return this.statusMap.has(l.OrganizationUserStatusType.Accepted)?this.statusMap.get(l.OrganizationUserStatusType.Accepted).length:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"confirmedCount",{get:function(){return this.statusMap.has(l.OrganizationUserStatusType.Confirmed)?this.statusMap.get(l.OrganizationUserStatusType.Confirmed).length:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"showConfirmUsers",{get:function(){return null!=this.allUsers&&null!=this.statusMap&&this.allUsers.length>1&&this.confirmedCount>0&&this.confirmedCount<3&&this.acceptedCount>0},enumerable:!0,configurable:!0}),e.prototype.edit=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(u.ModalComponent);this.modal=this.addEditModalRef.createComponent(n).instance;var r=this.modal.show(m.UserAddEditComponent,this.addEditModalRef);r.name=null!=e?e.name||e.email:null,r.organizationId=this.organizationId,r.organizationUserId=null!=e?e.id:null,r.onSavedUser.subscribe(function(){t.modal.close(),t.load()}),r.onDeletedUser.subscribe(function(){t.modal.close(),t.removeUser(e)}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.invite=function(){this.edit(null)},e.prototype.groups=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(u.ModalComponent);this.modal=this.groupsModalRef.createComponent(n).instance;var r=this.modal.show(f.UserGroupsComponent,this.groupsModalRef);r.name=null!=e?e.name||e.email:null,r.organizationId=this.organizationId,r.organizationUserId=null!=e?e.id:null,r.onSavedUser.subscribe(function(){t.modal.close()}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.remove=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("removeUserConfirmation"),e.name||e.email,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!t.sent())return[2,!1];t.label=2;case 2:return t.trys.push([2,4,,5]),[4,this.apiService.deleteOrganizationUser(this.organizationId,e.id)];case 3:return t.sent(),this.analytics.eventTrack.next({action:"Deleted User"}),this.toasterService.popAsync("success",null,this.i18nService.t("removedUserId",e.name||e.email)),this.removeUser(e),[3,5];case 4:return t.sent(),[3,5];case 5:return[2]}})})},e.prototype.reinvite=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return null!=this.actionPromise?[2]:(this.actionPromise=this.apiService.postOrganizationUserReinvite(this.organizationId,e.id),[4,this.actionPromise]);case 1:return t.sent(),this.analytics.eventTrack.next({action:"Reinvited User"}),this.toasterService.popAsync("success",null,this.i18nService.t("hasBeenReinvited",e.name||e.email)),this.actionPromise=null,[2]}})})},e.prototype.confirm=function(e){return r(this,void 0,void 0,function(){function t(t){e.status=l.OrganizationUserStatusType.Confirmed;var n=t.statusMap.get(l.OrganizationUserStatusType.Accepted).indexOf(e);n>-1&&(t.statusMap.get(l.OrganizationUserStatusType.Accepted).splice(n,1),t.statusMap.get(l.OrganizationUserStatusType.Confirmed).push(e))}var n,r,o,s=this;return i(this,function(i){switch(i.label){case 0:return null!=this.actionPromise?[2]:[4,this.storageService.get(a.ConstantsService.autoConfirmFingerprints)];case 1:return null!=(n=i.sent())&&n?(this.actionPromise=this.doConfirmation(e),[4,this.actionPromise]):(null!=this.modal&&this.modal.close(),r=this.componentFactoryResolver.resolveComponentFactory(u.ModalComponent),this.modal=this.confirmModalRef.createComponent(r).instance,(o=this.modal.show(h.UserConfirmComponent,this.confirmModalRef)).name=null!=e?e.name||e.email:null,o.organizationId=this.organizationId,o.organizationUserId=null!=e?e.id:null,o.userId=null!=e?e.userId:null,o.onConfirmedUser.subscribe(function(){s.modal.close(),t(s)}),this.modal.onClosed.subscribe(function(){s.modal=null}),[2]);case 2:return i.sent(),t(this),this.analytics.eventTrack.next({action:"Confirmed User"}),this.toasterService.popAsync("success",null,this.i18nService.t("hasBeenConfirmed",e.name||e.email)),this.actionPromise=null,[2]}})})},e.prototype.events=function(e){return r(this,void 0,void 0,function(){var t,n,r=this;return i(this,function(i){return null!=this.modal&&this.modal.close(),t=this.componentFactoryResolver.resolveComponentFactory(u.ModalComponent),this.modal=this.eventsModalRef.createComponent(t).instance,(n=this.modal.show(d.EntityEventsComponent,this.eventsModalRef)).name=e.name||e.email,n.organizationId=this.organizationId,n.entityId=e.id,n.showUser=!1,n.entity="user",this.modal.onClosed.subscribe(function(){r.modal=null}),[2]})})},e.prototype.resetPaging=function(){return r(this,void 0,void 0,function(){return i(this,function(e){return this.pagedUsers=[],this.loadMore(),[2]})})},e.prototype.isSearching=function(){return this.searchService.isSearchable(this.searchText)},e.prototype.isPaging=function(){var e=this.isSearching();return e&&this.didScroll&&this.resetPaging(),!e&&this.users&&this.users.length>this.pageSize},e.prototype.doConfirmation=function(e){return r(this,void 0,void 0,function(){var t,n,r,o,a,l,c,u;return i(this,function(i){switch(i.label){case 0:return[4,this.cryptoService.getOrgKey(this.organizationId)];case 1:return t=i.sent(),[4,this.apiService.getUserPublicKey(e.userId)];case 2:n=i.sent(),r=p.Utils.fromB64ToArray(n.publicKey),i.label=3;case 3:return i.trys.push([3,5,,6]),a=(o=console).log,l="User's fingerprint: ",[4,this.cryptoService.getFingerprint(e.userId,r.buffer)];case 4:return a.apply(o,[l+i.sent().join("-")]),[3,6];case 5:return i.sent(),[3,6];case 6:return[4,this.cryptoService.rsaEncrypt(t.key,r.buffer)];case 7:return c=i.sent(),(u=new s.OrganizationUserConfirmRequest).key=c.encryptedString,[4,this.apiService.postOrganizationUserConfirm(this.organizationId,e.id,u)];case 8:return i.sent(),[2]}})})},e.prototype.removeUser=function(e){var t=this.users.indexOf(e);t>-1&&(this.users.splice(t,1),this.resetPaging()),this.statusMap.has(l.OrganizationUserStatusType.Accepted)&&(t=this.statusMap.get(l.OrganizationUserStatusType.Accepted).indexOf(e))>-1&&this.statusMap.get(l.OrganizationUserStatusType.Accepted).splice(t,1),this.statusMap.has(l.OrganizationUserStatusType.Invited)&&(t=this.statusMap.get(l.OrganizationUserStatusType.Invited).indexOf(e))>-1&&this.statusMap.get(l.OrganizationUserStatusType.Invited).splice(t,1),this.statusMap.has(l.OrganizationUserStatusType.Confirmed)&&(t=this.statusMap.get(l.OrganizationUserStatusType.Confirmed).indexOf(e))>-1&&this.statusMap.get(l.OrganizationUserStatusType.Confirmed).splice(t,1)},e.ɵfac=function(t){return new(t||e)(v.ɵɵdirectiveInject(y.ApiService),v.ɵɵdirectiveInject(g.ActivatedRoute),v.ɵɵdirectiveInject(x.I18nService),v.ɵɵdirectiveInject(v.ComponentFactoryResolver),v.ɵɵdirectiveInject(b.PlatformUtilsService),v.ɵɵdirectiveInject(S.Angulartics2),v.ɵɵdirectiveInject(w.ToasterService),v.ɵɵdirectiveInject(C.CryptoService),v.ɵɵdirectiveInject(I.UserService),v.ɵɵdirectiveInject(g.Router),v.ɵɵdirectiveInject(E.StorageService),v.ɵɵdirectiveInject(P.SearchService))},e.ɵcmp=v.ɵɵdefineComponent({type:e,selectors:[["app-org-people"]],viewQuery:function(e,t){var n;(1&e&&(v.ɵɵstaticViewQuery(j,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(R,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(U,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(F,!0,o.ViewContainerRef)),2&e)&&(v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.addEditModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.groupsModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.eventsModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.confirmModalRef=n.first))},decls:64,vars:45,consts:[[1,"page-header","d-flex"],[1,"ml-auto","d-flex"],["role","group",1,"btn-group","btn-group-sm"],["type","button",1,"btn","btn-outline-secondary",3,"ngClass","click"],["class","badge badge-pill badge-info",4,"ngIf"],["class","badge badge-pill badge-warning",4,"ngIf"],[1,"ml-3"],["for","search",1,"sr-only"],["type","search","id","search",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],["type","button",1,"btn","btn-sm","btn-outline-primary","ml-3",3,"click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"],[4,"ngIf"],["addEdit",""],["groupsTemplate",""],["eventsTemplate",""],["confirmTemplate",""],[1,"badge","badge-pill","badge-info"],[1,"badge","badge-pill","badge-warning"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["type","info","icon","fa-check-circle",3,"title",4,"ngIf"],["infiniteScroll","",1,"table","table-hover","table-list",3,"infiniteScrollDistance","infiniteScrollDisabled","scrolled"],[4,"ngFor","ngForOf"],["type","info","icon","fa-check-circle",3,"title"],["width","30"],["size","25",3,"data","email","circle","fontSize"],["href","#","appStopClick","",3,"click"],["class","badge badge-secondary",4,"ngIf"],["class","badge badge-warning",4,"ngIf"],["class","text-muted d-block",4,"ngIf"],[1,"table-list-options"],["appListDropdown","",1,"dropdown"],["type","button","data-toggle","dropdown","aria-haspopup","true","aria-expanded","false",1,"btn","btn-outline-secondary","dropdown-toggle",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-cog","fa-lg"],[1,"dropdown-menu","dropdown-menu-right"],["class","dropdown-item","href","#","appStopClick","",3,"click",4,"ngIf"],["class","dropdown-item text-success","href","#","appStopClick","",3,"click",4,"ngIf"],["href","#","appStopClick","",1,"dropdown-item","text-danger",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-remove"],[1,"badge","badge-secondary"],[1,"badge","badge-warning"],[1,"text-muted","d-block"],["aria-hidden","true",1,"fa","fa-lock",3,"title"],["href","#","appStopClick","",1,"dropdown-item",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-envelope-o"],["href","#","appStopClick","",1,"dropdown-item","text-success",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-check"],["aria-hidden","true",1,"fa","fa-fw","fa-sitemap"],["aria-hidden","true",1,"fa","fa-fw","fa-file-text-o"]],template:function(e,t){1&e&&(v.ɵɵelementStart(0,"div",0),v.ɵɵtext(1,"\n "),v.ɵɵelementStart(2,"h1"),v.ɵɵtext(3),v.ɵɵpipe(4,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(5,"\n "),v.ɵɵelementStart(6,"div",1),v.ɵɵtext(7,"\n "),v.ɵɵelementStart(8,"div",2),v.ɵɵtext(9,"\n "),v.ɵɵelementStart(10,"button",3),v.ɵɵlistener("click",function(){return t.filter(null)}),v.ɵɵtext(11),v.ɵɵpipe(12,"i18n"),v.ɵɵtemplate(13,N,2,1,"span",4),v.ɵɵtext(14,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(15,"\n "),v.ɵɵelementStart(16,"button",3),v.ɵɵlistener("click",function(){return t.filter(t.organizationUserStatusType.Invited)}),v.ɵɵtext(17),v.ɵɵpipe(18,"i18n"),v.ɵɵtemplate(19,z,2,1,"span",4),v.ɵɵtext(20,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(21,"\n "),v.ɵɵelementStart(22,"button",3),v.ɵɵlistener("click",function(){return t.filter(t.organizationUserStatusType.Accepted)}),v.ɵɵtext(23),v.ɵɵpipe(24,"i18n"),v.ɵɵtemplate(25,L,2,1,"span",5),v.ɵɵtext(26,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(27,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(28,"\n "),v.ɵɵelementStart(29,"div",6),v.ɵɵtext(30,"\n "),v.ɵɵelementStart(31,"label",7),v.ɵɵtext(32),v.ɵɵpipe(33,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(34,"\n "),v.ɵɵelementStart(35,"input",8),v.ɵɵlistener("ngModelChange",function(e){return t.searchText=e}),v.ɵɵpipe(36,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(37,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(38,"\n "),v.ɵɵelementStart(39,"button",9),v.ɵɵlistener("click",function(){return t.invite()}),v.ɵɵtext(40,"\n "),v.ɵɵelement(41,"i",10),v.ɵɵtext(42),v.ɵɵpipe(43,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(44,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(45,"\n"),v.ɵɵelementEnd(),v.ɵɵtext(46,"\n"),v.ɵɵtemplate(47,G,9,6,"ng-container",11),v.ɵɵtext(48,"\n"),v.ɵɵtemplate(49,se,6,2,"ng-container",11),v.ɵɵpipe(50,"search"),v.ɵɵtext(51,"\n"),v.ɵɵtemplate(52,le,0,0,"ng-template",null,12,v.ɵɵtemplateRefExtractor),v.ɵɵtext(54,"\n"),v.ɵɵtemplate(55,ce,0,0,"ng-template",null,13,v.ɵɵtemplateRefExtractor),v.ɵɵtext(57,"\n"),v.ɵɵtemplate(58,pe,0,0,"ng-template",null,14,v.ɵɵtemplateRefExtractor),v.ɵɵtext(60,"\n"),v.ɵɵtemplate(61,ue,0,0,"ng-template",null,15,v.ɵɵtemplateRefExtractor),v.ɵɵtext(63,"\n")),2&e&&(v.ɵɵadvance(3),v.ɵɵtextInterpolate(v.ɵɵpipeBind1(4,16,"people")),v.ɵɵadvance(7),v.ɵɵproperty("ngClass",v.ɵɵpureFunction1(36,de,null==t.status)),v.ɵɵadvance(1),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(12,18,"all"),"\n "),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",t.allCount),v.ɵɵadvance(3),v.ɵɵproperty("ngClass",v.ɵɵpureFunction1(38,de,t.status==t.organizationUserStatusType.Invited)),v.ɵɵadvance(1),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(18,20,"invited"),"\n "),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",t.invitedCount),v.ɵɵadvance(3),v.ɵɵproperty("ngClass",v.ɵɵpureFunction1(40,de,t.status==t.organizationUserStatusType.Accepted)),v.ɵɵadvance(1),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(24,22,"accepted"),"\n "),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",t.acceptedCount),v.ɵɵadvance(7),v.ɵɵtextInterpolate(v.ɵɵpipeBind1(33,24,"search")),v.ɵɵadvance(3),v.ɵɵpropertyInterpolate("placeholder",v.ɵɵpipeBind1(36,26,"search")),v.ɵɵproperty("ngModel",t.searchText),v.ɵɵadvance(7),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(43,28,"inviteUser"),"\n "),v.ɵɵadvance(5),v.ɵɵproperty("ngIf",t.loading),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",!t.loading&&(t.isPaging()?t.pagedUsers:v.ɵɵpipeBindV(50,30,v.ɵɵpureFunction2(42,me,t.users,t.searchText)))))},directives:[k.NgClass,k.NgIf,_.DefaultValueAccessor,_.NgControlStatus,_.NgModel,A.InfiniteScrollDirective,k.NgForOf,O.CalloutComponent,T.AvatarComponent,M.StopClickDirective,B.A11yTitleDirective],pipes:[D.I18nPipe,V.SearchPipe],encapsulation:2}),e}();t.PeopleComponent=he},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.OrganizationUserConfirmRequest=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(n[0].checked=!0,n[0].readOnly=e.readOnly,n[0].hidePasswords=e.hidePasswords)}),[3,5];case 4:return n.sent(),[3,5];case 5:return[3,7];case 6:this.title=this.i18nService.t("inviteUser"),n.label=7;case 7:return this.loading=!1,[2]}})})},e.prototype.loadCollections=function(){return r(this,void 0,void 0,function(){var e,t,n;return i(this,function(r){switch(r.label){case 0:return[4,this.apiService.getCollections(this.organizationId)];case 1:return e=r.sent(),t=e.data.map(function(e){return new s.Collection(new a.CollectionData(e))}),n=this,[4,this.collectionService.decryptMany(t)];case 2:return n.collections=r.sent(),[2]}})})},e.prototype.check=function(e,t){e.checked=null==t?!e.checked:t,e.checked||(e.readOnly=!1)},e.prototype.selectAll=function(e){var t=this;this.collections.forEach(function(n){return t.check(n,e)})},e.prototype.setRequestPermissions=function(e,t){return e.accessBusinessPortal=!t&&this.permissions.accessBusinessPortal,e.accessEventLogs=this.permissions.accessEventLogs=!t&&this.permissions.accessEventLogs,e.accessImportExport=!t&&this.permissions.accessImportExport,e.accessReports=!t&&this.permissions.accessReports,e.manageAllCollections=!t&&this.permissions.manageAllCollections,e.manageAssignedCollections=!t&&this.permissions.manageAssignedCollections,e.manageGroups=!t&&this.permissions.manageGroups,e.manageSso=!t&&this.permissions.manageSso,e.managePolicies=!t&&this.permissions.managePolicies,e.manageUsers=!t&&this.permissions.manageUsers,e},e.prototype.submit=function(){var e,t;return r(this,void 0,void 0,function(){var n,r;return i(this,function(i){switch(i.label){case 0:n=null,"all"!==this.access&&(n=this.collections.filter(function(e){return e.checked}).map(function(e){return new p.SelectionReadOnlyRequest(e.id,!!e.readOnly,!!e.hidePasswords)})),i.label=1;case 1:return i.trys.push([1,3,,4]),this.editMode?((r=new c.OrganizationUserUpdateRequest).accessAll="all"===this.access,r.type=this.type,r.collections=n,r.permissions=this.setRequestPermissions(null!==(e=r.permissions)&&void 0!==e?e:new d.PermissionsApi,r.type!==u.OrganizationUserType.Custom),this.formPromise=this.apiService.putOrganizationUser(this.organizationId,this.organizationUserId,r)):((r=new l.OrganizationUserInviteRequest).emails=this.emails.trim().split(/\s*,\s*/),r.accessAll="all"===this.access,r.type=this.type,r.permissions=this.setRequestPermissions(null!==(t=r.permissions)&&void 0!==t?t:new d.PermissionsApi,r.type!==u.OrganizationUserType.Custom),r.collections=n,this.formPromise=this.apiService.postOrganizationUserInvite(this.organizationId,r)),[4,this.formPromise];case 2:return i.sent(),this.analytics.eventTrack.next({action:this.editMode?"Edited User":"Invited User"}),this.toasterService.popAsync("success",null,this.i18nService.t(this.editMode?"editedUserId":"invitedUsers",this.name)),this.onSavedUser.emit(),[3,4];case 3:return i.sent(),[3,4];case 4:return[2]}})})},e.prototype.delete=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.editMode?[4,this.platformUtilsService.showDialog(this.i18nService.t("removeUserConfirmation"),this.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2];case 1:if(!e.sent())return[2,!1];e.label=2;case 2:return e.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteOrganizationUser(this.organizationId,this.organizationUserId),[4,this.deletePromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:"Deleted User"}),this.toasterService.popAsync("success",null,this.i18nService.t("removedUserId",this.name)),this.onDeletedUser.emit(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},e.ɵfac=function(t){return new(t||e)(m.ɵɵdirectiveInject(h.ApiService),m.ɵɵdirectiveInject(f.I18nService),m.ɵɵdirectiveInject(v.Angulartics2),m.ɵɵdirectiveInject(y.ToasterService),m.ɵɵdirectiveInject(g.CollectionService),m.ɵɵdirectiveInject(x.PlatformUtilsService))},e.ɵcmp=m.ɵɵdefineComponent({type:e,selectors:[["app-user-add-edit"]],inputs:{name:"name",organizationUserId:"organizationUserId",organizationId:"organizationId"},outputs:{onSavedUser:"onSavedUser",onDeletedUser:"onDeletedUser"},decls:51,vars:19,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","userAddEditTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],["ngNativeValidate","",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","userAddEditTitle",1,"modal-title"],["class","text-muted",4,"ngIf"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"ml-auto"],["type","button","class","btn btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click",4,"ngIf"],[1,"text-muted"],[1,"modal-body"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[4,"ngIf"],["target","_blank","rel","noopener","href","https://bitwarden.com/help/article/user-types-access-control/#user-types",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],[1,"form-check","mt-2","form-check-block"],["type","radio","name","userType","id","userTypeUser",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","userTypeUser",1,"form-check-label"],["type","radio","name","userType","id","userTypeManager",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","userTypeManager",1,"form-check-label"],["type","radio","name","userType","id","userTypeAdmin",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","userTypeAdmin",1,"form-check-label"],["type","radio","name","userType","id","userTypeOwner",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","userTypeOwner",1,"form-check-label"],["type","radio","name","userType","id","userTypeCustom",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","userTypeCustom",1,"form-check-label"],[1,"mt-4","d-flex"],[1,"mb-3"],["target","_blank","rel","noopener","href","https://bitwarden.com/help/article/user-types-access-control/#access-control",3,"appA11yTitle"],["class","ml-auto",4,"ngIf"],[1,"form-group",3,"ngClass"],[1,"form-check"],["type","radio","name","access","id","accessAll","value","all",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessAll",1,"form-check-label"],["type","radio","name","access","id","accessSelected","value","selected",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessSelected",1,"form-check-label"],[1,"form-group","mb-4"],["for","emails"],["id","emails","type","text","name","Emails","required","","appAutoFocus","",1,"form-control",3,"ngModel","ngModelChange"],[1,"row"],[1,"col-6"],[1,"font-weight-bold","mb-0"],[1,"my-0","mr-2"],[1,"form-group","mb-0"],[1,"form-check","mt-1","form-check-block"],["type","checkbox","name","manageAssignedCollections","id","manageAssignedCollections",1,"form-check-input",3,"ngModel","ngModelChange"],["for","manageAssignedCollections",1,"form-check-label","font-weight-normal"],["type","checkbox","name","accessBusinessPortal","id","accessBusinessPortal",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessBusinessPortal",1,"form-check-label","font-weight-normal"],["type","checkbox","name","accessEventLogs","id","accessEventLogs",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessEventLogs",1,"form-check-label","font-weight-normal"],["type","checkbox","name","accessImportExport","id","accessImportExport",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessImportExport",1,"form-check-label","font-weight-normal"],["type","checkbox","name","accessReports","id","accessReports",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessReports",1,"form-check-label","font-weight-normal"],["type","checkbox","name","manageAllCollections","id","manageAllCollections",1,"form-check-input",3,"ngModel","ngModelChange"],["for","manageAllCollections",1,"form-check-label","font-weight-normal"],["type","checkbox","name","manageGroups","id","manageGroups",1,"form-check-input",3,"ngModel","ngModelChange"],["for","manageGroups",1,"form-check-label","font-weight-normal"],["type","checkbox","name","manageSso","id","managePolicies",1,"form-check-input",3,"ngModel","ngModelChange"],["for","manageSso",1,"form-check-label","font-weight-normal"],["type","checkbox","name","managePolicies","id","managePolicies",1,"form-check-input",3,"ngModel","ngModelChange"],["for","managePolicies",1,"form-check-label","font-weight-normal"],["type","checkbox","name","manageUsers","id","manageUsers",1,"form-check-input",3,"ngModel","ngModelChange"],["for","manageUsers",1,"form-check-label","font-weight-normal"],["type","button",1,"btn","btn-link","btn-sm","py-0",3,"click"],["class","table table-hover table-list mb-0",4,"ngIf"],[1,"table","table-hover","table-list","mb-0"],["width","100",1,"text-center"],[4,"ngFor","ngForOf"],[1,"table-list-checkbox",3,"click"],["type","checkbox","appStopProp","",3,"ngModel","name","ngModelChange"],[3,"click"],[1,"text-center"],["type","checkbox",3,"ngModel","name","disabled","ngModelChange"],["type","button",1,"btn","btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click"],["deleteBtn",""],["aria-hidden","true",1,"fa","fa-trash-o","fa-lg","fa-fw",3,"hidden"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","fa-lg","fa-fw",3,"hidden","title"]],template:function(e,t){if(1&e&&(m.ɵɵelementStart(0,"div",0),m.ɵɵtext(1,"\n "),m.ɵɵelementStart(2,"div",1),m.ɵɵtext(3,"\n "),m.ɵɵelementStart(4,"form",2,3),m.ɵɵlistener("ngSubmit",function(){return t.submit()}),m.ɵɵtext(6,"\n "),m.ɵɵelementStart(7,"div",4),m.ɵɵtext(8,"\n "),m.ɵɵelementStart(9,"h2",5),m.ɵɵtext(10),m.ɵɵtemplate(11,P,2,1,"small",6),m.ɵɵtext(12,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(13,"\n "),m.ɵɵelementStart(14,"button",7),m.ɵɵpipe(15,"i18n"),m.ɵɵtext(16,"\n "),m.ɵɵelementStart(17,"span",8),m.ɵɵtext(18,"×"),m.ɵɵelementEnd(),m.ɵɵtext(19,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(20,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(21,"\n "),m.ɵɵtemplate(22,k,9,6,"div",9),m.ɵɵtext(23,"\n "),m.ɵɵtemplate(24,j,119,67,"div",9),m.ɵɵtext(25,"\n "),m.ɵɵelementStart(26,"div",10),m.ɵɵtext(27,"\n "),m.ɵɵelementStart(28,"button",11),m.ɵɵtext(29,"\n "),m.ɵɵelement(30,"i",12),m.ɵɵpipe(31,"i18n"),m.ɵɵtext(32,"\n "),m.ɵɵelementStart(33,"span"),m.ɵɵtext(34),m.ɵɵpipe(35,"i18n"),m.ɵɵelementEnd(),m.ɵɵtext(36,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(37,"\n "),m.ɵɵelementStart(38,"button",13),m.ɵɵtext(39),m.ɵɵpipe(40,"i18n"),m.ɵɵelementEnd(),m.ɵɵtext(41,"\n "),m.ɵɵelementStart(42,"div",14),m.ɵɵtext(43,"\n "),m.ɵɵtemplate(44,R,9,10,"button",15),m.ɵɵtext(45,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(46,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(47,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(48,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(49,"\n"),m.ɵɵelementEnd(),m.ɵɵtext(50,"\n")),2&e){var n=m.ɵɵreference(5);m.ɵɵadvance(4),m.ɵɵproperty("appApiAction",t.formPromise),m.ɵɵadvance(6),m.ɵɵtextInterpolate1("\n ",t.title,"\n "),m.ɵɵadvance(1),m.ɵɵproperty("ngIf",t.name),m.ɵɵadvance(3),m.ɵɵpropertyInterpolate("appA11yTitle",m.ɵɵpipeBind1(15,11,"close")),m.ɵɵadvance(8),m.ɵɵproperty("ngIf",t.loading),m.ɵɵadvance(2),m.ɵɵproperty("ngIf",!t.loading),m.ɵɵadvance(4),m.ɵɵproperty("disabled",n.loading),m.ɵɵadvance(2),m.ɵɵpropertyInterpolate("title",m.ɵɵpipeBind1(31,13,"loading")),m.ɵɵadvance(4),m.ɵɵtextInterpolate(m.ɵɵpipeBind1(35,15,"save")),m.ɵɵadvance(5),m.ɵɵtextInterpolate(m.ɵɵpipeBind1(40,17,"cancel")),m.ɵɵadvance(5),m.ɵɵproperty("ngIf",t.editMode)}},directives:[b.NgControlStatusGroup,b.NgForm,S.ApiActionDirective,w.NgIf,C.A11yTitleDirective,b.RadioControlValueAccessor,b.DefaultValueAccessor,b.NgControlStatus,b.NgModel,w.NgClass,b.RequiredValidator,b.CheckboxControlValueAccessor,w.NgForOf,I.StopPropDirective],pipes:[E.I18nPipe],encapsulation:2}),e}();t.UserAddEditComponent=U},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(t[0].checked=!0)}),[3,5];case 4:return i.sent(),[3,5];case 5:return this.loading=!1,[2]}})})},e.prototype.check=function(e,t){e.checked=null==t?!e.checked:t,e.checked||(e.readOnly=!1)},e.prototype.selectAll=function(e){var t=this;this.groups.forEach(function(n){return t.check(n,e)})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:(e=new a.OrganizationUserUpdateGroupsRequest).groupIds=this.groups.filter(function(e){return e.checked}).map(function(e){return e.id}),t.label=1;case 1:return t.trys.push([1,3,,4]),this.formPromise=this.apiService.putOrganizationUserGroups(this.organizationId,this.organizationUserId,e),[4,this.formPromise];case 2:return t.sent(),this.analytics.eventTrack.next({action:"Edited User Groups"}),this.toasterService.popAsync("success",null,this.i18nService.t("editedGroupsForUser",this.name)),this.onSavedUser.emit(),[3,4];case 3:return t.sent(),[3,4];case 4:return[2]}})})},e.ɵfac=function(t){return new(t||e)(l.ɵɵdirectiveInject(c.ApiService),l.ɵɵdirectiveInject(p.I18nService),l.ɵɵdirectiveInject(u.Angulartics2),l.ɵɵdirectiveInject(d.ToasterService))},e.ɵcmp=l.ɵɵdefineComponent({type:e,selectors:[["app-user-groups"]],inputs:{name:"name",organizationUserId:"organizationUserId",organizationId:"organizationId"},outputs:{onSavedUser:"onSavedUser"},decls:47,vars:20,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","groupAccessTitle",1,"modal","fade"],["role","document",1,"modal-dialog"],[1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","groupAccessTitle",1,"modal-title"],["class","text-muted",4,"ngIf"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"text-muted"],[1,"modal-body"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[4,"ngIf"],["class","table table-hover table-list mb-0",4,"ngIf"],[1,"table","table-hover","table-list","mb-0"],[4,"ngFor","ngForOf"],[1,"table-list-checkbox",3,"click"],["type","checkbox","appStopProp","",3,"ngModel","name","ngModelChange"],[3,"click"]],template:function(e,t){if(1&e&&(l.ɵɵelementStart(0,"div",0),l.ɵɵtext(1,"\n "),l.ɵɵelementStart(2,"div",1),l.ɵɵtext(3,"\n "),l.ɵɵelementStart(4,"form",2,3),l.ɵɵlistener("ngSubmit",function(){return t.submit()}),l.ɵɵtext(6,"\n "),l.ɵɵelementStart(7,"div",4),l.ɵɵtext(8,"\n "),l.ɵɵelementStart(9,"h2",5),l.ɵɵtext(10),l.ɵɵpipe(11,"i18n"),l.ɵɵtemplate(12,x,2,1,"small",6),l.ɵɵtext(13,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(14,"\n "),l.ɵɵelementStart(15,"button",7),l.ɵɵpipe(16,"i18n"),l.ɵɵtext(17,"\n "),l.ɵɵelementStart(18,"span",8),l.ɵɵtext(19,"×"),l.ɵɵelementEnd(),l.ɵɵtext(20,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(21,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(22,"\n "),l.ɵɵtemplate(23,b,9,6,"div",9),l.ɵɵtext(24,"\n "),l.ɵɵtemplate(25,I,10,5,"div",9),l.ɵɵtext(26,"\n "),l.ɵɵelementStart(27,"div",10),l.ɵɵtext(28,"\n "),l.ɵɵelementStart(29,"button",11),l.ɵɵtext(30,"\n "),l.ɵɵelement(31,"i",12),l.ɵɵpipe(32,"i18n"),l.ɵɵtext(33,"\n "),l.ɵɵelementStart(34,"span"),l.ɵɵtext(35),l.ɵɵpipe(36,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(37,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(38,"\n "),l.ɵɵelementStart(39,"button",13),l.ɵɵtext(40),l.ɵɵpipe(41,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(42,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(43,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(44,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(45,"\n"),l.ɵɵelementEnd(),l.ɵɵtext(46,"\n")),2&e){var n=l.ɵɵreference(5);l.ɵɵadvance(4),l.ɵɵproperty("appApiAction",t.formPromise),l.ɵɵadvance(6),l.ɵɵtextInterpolate1("\n ",l.ɵɵpipeBind1(11,10,"groupAccess"),"\n "),l.ɵɵadvance(2),l.ɵɵproperty("ngIf",t.name),l.ɵɵadvance(3),l.ɵɵpropertyInterpolate("appA11yTitle",l.ɵɵpipeBind1(16,12,"close")),l.ɵɵadvance(8),l.ɵɵproperty("ngIf",t.loading),l.ɵɵadvance(2),l.ɵɵproperty("ngIf",!t.loading),l.ɵɵadvance(4),l.ɵɵproperty("disabled",n.loading),l.ɵɵadvance(2),l.ɵɵpropertyInterpolate("title",l.ɵɵpipeBind1(32,14,"loading")),l.ɵɵadvance(4),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(36,16,"save")),l.ɵɵadvance(5),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(41,18,"cancel"))}},directives:[m.ɵangular_packages_forms_forms_y,m.NgControlStatusGroup,m.NgForm,h.ApiActionDirective,f.NgIf,v.A11yTitleDirective,f.NgForOf,m.CheckboxControlValueAccessor,y.StopPropDirective,m.NgControlStatus,m.NgModel],pipes:[g.I18nPipe],encapsulation:2}),e}();t.UserGroupsComponent=E},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?e.data:[],this.orgPolicies.forEach(function(e){t.policiesEnabledMap.set(e.type,e.enabled)}),this.policies.forEach(function(e){e.enabled=t.policiesEnabledMap.has(e.type)&&t.policiesEnabledMap.get(e.type)}),this.loading=!1,[2]}})})},e.prototype.edit=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent);this.modal=this.editModalRef.createComponent(n).instance;var r=this.modal.show(l.PolicyEditComponent,this.editModalRef);r.name=e.name,r.description=e.description,r.type=e.type,r.organizationId=this.organizationId,r.policiesEnabledMap=this.policiesEnabledMap,r.onSavedPolicy.subscribe(function(){t.modal.close(),t.load()}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.goToEnterprisePortal=function(){return r(this,void 0,void 0,function(){var e,t;return i(this,function(n){switch(n.label){case 0:if(null!=this.enterpriseTokenPromise)return[2];n.label=1;case 1:return n.trys.push([1,5,,6]),this.enterpriseTokenPromise=this.apiService.getEnterprisePortalSignInToken(),[4,this.enterpriseTokenPromise];case 2:return null==(e=n.sent())?[3,4]:[4,this.userService.getUserId()];case 3:t=n.sent(),this.platformUtilsService.launchUri(this.enterpriseUrl+"/login?userId="+t+"&token="+window.encodeURIComponent(e)+"&organizationId="+this.organizationId),n.label=4;case 4:return[3,6];case 5:return n.sent(),[3,6];case 6:return this.enterpriseTokenPromise=null,[2]}})})},e.ɵfac=function(t){return new(t||e)(c.ɵɵdirectiveInject(p.ApiService),c.ɵɵdirectiveInject(u.ActivatedRoute),c.ɵɵdirectiveInject(d.I18nService),c.ɵɵdirectiveInject(c.ComponentFactoryResolver),c.ɵɵdirectiveInject(m.PlatformUtilsService),c.ɵɵdirectiveInject(h.UserService),c.ɵɵdirectiveInject(u.Router),c.ɵɵdirectiveInject(f.EnvironmentService))},e.ɵcmp=c.ɵɵdefineComponent({type:e,selectors:[["app-org-policies"]],viewQuery:function(e,t){var n;(1&e&&c.ɵɵstaticViewQuery(b,!0,o.ViewContainerRef),2&e)&&(c.ɵɵqueryRefresh(n=c.ɵɵloadQuery())&&(t.editModalRef=n.first))},decls:16,vars:6,consts:[[3,"type",4,"ngIf"],[1,"page-header","d-flex"],[4,"ngIf"],["class","table table-hover table-list",4,"ngIf"],["editTemplate",""],[3,"type"],["type","button",1,"btn","btn-outline-secondary",3,"click"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"table","table-hover","table-list"],[4,"ngFor","ngForOf"],["href","#","appStopClick","",3,"click"],["class","badge badge-success",4,"ngIf"],[1,"text-muted","d-block"],[1,"badge","badge-success"]],template:function(e,t){1&e&&(c.ɵɵtemplate(0,S,10,7,"app-callout",0),c.ɵɵtext(1,"\n"),c.ɵɵelementStart(2,"div",1),c.ɵɵtext(3,"\n "),c.ɵɵelementStart(4,"h1"),c.ɵɵtext(5),c.ɵɵpipe(6,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(7,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(8,"\n"),c.ɵɵtemplate(9,w,9,6,"ng-container",2),c.ɵɵtext(10,"\n"),c.ɵɵtemplate(11,P,7,1,"table",3),c.ɵɵtext(12,"\n"),c.ɵɵtemplate(13,k,0,0,"ng-template",null,4,c.ɵɵtemplateRefExtractor),c.ɵɵtext(15,"\n")),2&e&&(c.ɵɵproperty("ngIf",t.userCanAccessBusinessPortal),c.ɵɵadvance(5),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(6,4,"policies")),c.ɵɵadvance(4),c.ɵɵproperty("ngIf",t.loading),c.ɵɵadvance(2),c.ɵɵproperty("ngIf",!t.loading))},directives:[v.NgIf,y.CalloutComponent,v.NgForOf,g.StopClickDirective],pipes:[x.I18nPipe],encapsulation:2}),e}();t.PoliciesComponent=_},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(5);t.ApiService=r.ApiService;var i=n(845);t.AppIdService=i.AppIdService;var o=n(88);t.AuditService=o.AuditService;var a=n(59);t.AuthService=a.AuthService;var s=n(20);t.CipherService=s.CipherService;var l=n(41);t.CollectionService=l.CollectionService;var c=n(19);t.CryptoService=c.CryptoService;var p=n(73);t.EnvironmentService=p.EnvironmentService;var u=n(48);t.FolderService=u.FolderService;var d=n(3);t.I18nService=d.I18nService;var m=n(846);t.LogService=m.LogService;var h=n(15);t.MessagingService=h.MessagingService;var f=n(36);t.PasswordGenerationService=f.PasswordGenerationService;var v=n(6);t.PlatformUtilsService=v.PlatformUtilsService;var y=n(87);t.SearchService=y.SearchService;var g=n(278);t.SettingsService=g.SettingsService;var x=n(42);t.StorageService=x.StorageService;var b=n(38);t.StateService=b.StateService;var S=n(63);t.SyncService=S.SyncService;var w=n(102);t.TokenService=w.TokenService;var C=n(114);t.TotpService=C.TotpService;var I=n(7);t.UserService=I.UserService;var E=n(111);t.VaultTimeoutService=E.VaultTimeoutService},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1?"×"+n.quantity:""," @ ",a.ɵɵpipeBind2(4,5,n.amount,"$"),"\n "),a.ɵɵadvance(4),a.ɵɵtextInterpolate2("\n ",a.ɵɵpipeBind2(8,8,n.quantity*n.amount,"$")," /",a.ɵɵpipeBind1(9,11,n.interval),"\n ")}}function V(e,t){if(1&e&&(a.ɵɵelementStart(0,"div",20),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"strong",21),a.ɵɵtext(3),a.ɵɵpipe(4,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(5,"\n "),a.ɵɵelementStart(6,"table",22),a.ɵɵtext(7,"\n "),a.ɵɵelementStart(8,"tbody"),a.ɵɵtext(9,"\n "),a.ɵɵtemplate(10,D,11,13,"tr",23),a.ɵɵtext(11,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(12,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(13,"\n "),a.ɵɵelementEnd()),2&e){var n=a.ɵɵnextContext(3);a.ɵɵadvance(3),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(4,2,"details")),a.ɵɵadvance(7),a.ɵɵproperty("ngForOf",n.subscription.items)}}function j(e,t){if(1&e&&(a.ɵɵelementStart(0,"div",14),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"div",15),a.ɵɵtext(3,"\n "),a.ɵɵelementStart(4,"dl"),a.ɵɵtext(5,"\n "),a.ɵɵelementStart(6,"dt"),a.ɵɵtext(7),a.ɵɵpipe(8,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(9,"\n "),a.ɵɵelementStart(10,"dd"),a.ɵɵtext(11),a.ɵɵelementEnd(),a.ɵɵtext(12,"\n "),a.ɵɵtemplate(13,B,23,15,"ng-container",1),a.ɵɵtext(14,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(15,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(16,"\n "),a.ɵɵtemplate(17,V,14,4,"div",16),a.ɵɵtext(18,"\n "),a.ɵɵelementEnd()),2&e){var n=a.ɵɵnextContext(2);a.ɵɵadvance(7),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(8,4,"billingPlan")),a.ɵɵadvance(4),a.ɵɵtextInterpolate(n.sub.plan.name),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.subscription),a.ɵɵadvance(4),a.ɵɵproperty("ngIf",n.subscription)}}function R(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"div",27),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"div",28),a.ɵɵtext(3,"\n "),a.ɵɵelementStart(4,"button",29),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).closeUpdateLicense(!1)}),a.ɵɵpipe(5,"i18n"),a.ɵɵelementStart(6,"span",30),a.ɵɵtext(7,"×"),a.ɵɵelementEnd(),a.ɵɵelementEnd(),a.ɵɵtext(8,"\n "),a.ɵɵelementStart(9,"h3",31),a.ɵɵtext(10),a.ɵɵpipe(11,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(12,"\n "),a.ɵɵelementStart(13,"app-update-license",32),a.ɵɵlistener("onUpdated",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).closeUpdateLicense(!0)})("onCanceled",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).closeUpdateLicense(!1)}),a.ɵɵelementEnd(),a.ɵɵtext(14,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(15,"\n "),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵnextContext(3);a.ɵɵadvance(4),a.ɵɵpropertyInterpolate("appA11yTitle",a.ɵɵpipeBind1(5,3,"cancel")),a.ɵɵadvance(6),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(11,5,"updateLicense")),a.ɵɵadvance(3),a.ɵɵproperty("organizationId",r.organizationId)}}function U(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementContainerStart(0),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"div"),a.ɵɵtext(3,"\n "),a.ɵɵelementStart(4,"button",24),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(2).updateLicense()}),a.ɵɵtext(5),a.ɵɵpipe(6,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(7,"\n "),a.ɵɵelementStart(8,"a",25),a.ɵɵtext(9),a.ɵɵpipe(10,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(11,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(12,"\n "),a.ɵɵtemplate(13,R,16,7,"div",26),a.ɵɵtext(14,"\n "),a.ɵɵelementContainerEnd()}if(2&e){var r=a.ɵɵnextContext(2);a.ɵɵadvance(5),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(6,3,"updateLicense"),"\n "),a.ɵɵadvance(4),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(10,5,"manageSubscription"),"\n "),a.ɵɵadvance(4),a.ɵɵproperty("ngIf",r.showUpdateLicense)}}function F(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"button",24),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).changePlan()}),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()}2&e&&(a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(2,1,"changeBillingPlan"),"\n "))}function N(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"button",42),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).downloadLicense()}),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵnextContext(3);a.ɵɵproperty("disabled",r.showDownloadLicense),a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(2,2,"downloadLicense"),"\n ")}}function z(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"button",43,44),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).cancel()}),a.ɵɵtext(2,"\n "),a.ɵɵelement(3,"i",10),a.ɵɵpipe(4,"i18n"),a.ɵɵtext(5,"\n "),a.ɵɵelementStart(6,"span"),a.ɵɵtext(7),a.ɵɵpipe(8,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(9,"\n "),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵreference(1),i=a.ɵɵnextContext(3);a.ɵɵproperty("appApiAction",i.cancelPromise)("disabled",r.loading),a.ɵɵadvance(3),a.ɵɵpropertyInterpolate("title",a.ɵɵpipeBind1(4,4,"loading")),a.ɵɵadvance(4),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(8,6,"cancelSubscription"))}}function L(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"app-change-plan",45),a.ɵɵlistener("onChanged",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).closeChangePlan(!0)})("onCanceled",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).closeChangePlan(!1)}),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵnextContext(3);a.ɵɵproperty("organizationId",r.organizationId)}}function G(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"div",46),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"app-download-license",47),a.ɵɵlistener("onDownloaded",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).closeDownloadLicense()})("onCanceled",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).closeDownloadLicense()}),a.ɵɵelementEnd(),a.ɵɵtext(3,"\n "),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵnextContext(3);a.ɵɵadvance(2),a.ɵɵproperty("organizationId",r.organizationId)}}function K(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"div",33),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"button",24),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).adjustSeats(!0)}),a.ɵɵtext(3),a.ɵɵpipe(4,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(5,"\n "),a.ɵɵelementStart(6,"button",50),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).adjustSeats(!1)}),a.ɵɵtext(7),a.ɵɵpipe(8,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(9,"\n "),a.ɵɵelementEnd()}2&e&&(a.ɵɵadvance(3),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(4,2,"addSeats"),"\n "),a.ɵɵadvance(4),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(8,4,"removeSeats"),"\n "))}function q(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"app-adjust-seats",51),a.ɵɵlistener("onAdjusted",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).closeSeats(!0)})("onCanceled",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).closeSeats(!1)}),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵnextContext(4);a.ɵɵproperty("seatPrice",r.seatPrice)("add",r.adjustSeatsAdd)("organizationId",r.organizationId)("interval",r.billingInterval)}}function H(e,t){if(1&e&&(a.ɵɵelementContainerStart(0),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"div",46),a.ɵɵtext(3,"\n "),a.ɵɵtemplate(4,K,10,6,"div",48),a.ɵɵtext(5,"\n "),a.ɵɵtemplate(6,q,1,4,"app-adjust-seats",49),a.ɵɵtext(7,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(8,"\n "),a.ɵɵelementContainerEnd()),2&e){var n=a.ɵɵnextContext(3);a.ɵɵadvance(4),a.ɵɵproperty("ngIf",!n.showAdjustSeats),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.showAdjustSeats)}}function W(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"div",33),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"button",24),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).adjustStorage(!0)}),a.ɵɵtext(3),a.ɵɵpipe(4,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(5,"\n "),a.ɵɵelementStart(6,"button",50),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).adjustStorage(!1)}),a.ɵɵtext(7),a.ɵɵpipe(8,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(9,"\n "),a.ɵɵelementEnd()}2&e&&(a.ɵɵadvance(3),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(4,2,"addStorage"),"\n "),a.ɵɵadvance(4),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(8,4,"removeStorage"),"\n "))}function $(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"app-adjust-storage",53),a.ɵɵlistener("onAdjusted",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).closeStorage(!0)})("onCanceled",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).closeStorage(!1)}),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵnextContext(4);a.ɵɵproperty("storageGbPrice",r.storageGbPrice)("add",r.adjustStorageAdd)("organizationId",r.organizationId)("interval",r.billingInterval)}}function Y(e,t){if(1&e&&(a.ɵɵelementContainerStart(0),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"div",46),a.ɵɵtext(3,"\n "),a.ɵɵtemplate(4,W,10,6,"div",48),a.ɵɵtext(5,"\n "),a.ɵɵtemplate(6,$,1,4,"app-adjust-storage",52),a.ɵɵtext(7,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(8,"\n "),a.ɵɵelementContainerEnd()),2&e){var n=a.ɵɵnextContext(3);a.ɵɵadvance(4),a.ɵɵproperty("ngIf",!n.showAdjustStorage),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.showAdjustStorage)}}var Q=function(e){return{width:e}};function J(e,t){if(1&e&&(a.ɵɵelementContainerStart(0),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"div",33),a.ɵɵtext(3,"\n "),a.ɵɵtemplate(4,F,3,3,"button",34),a.ɵɵtext(5,"\n "),a.ɵɵtemplate(6,N,3,4,"button",35),a.ɵɵtext(7,"\n "),a.ɵɵtemplate(8,z,10,8,"button",36),a.ɵɵtext(9,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(10,"\n "),a.ɵɵtemplate(11,L,1,1,"app-change-plan",37),a.ɵɵtext(12,"\n "),a.ɵɵtemplate(13,G,4,1,"div",38),a.ɵɵtext(14,"\n "),a.ɵɵelementStart(15,"h2",39),a.ɵɵtext(16),a.ɵɵpipe(17,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(18,"\n "),a.ɵɵelementStart(19,"p"),a.ɵɵtext(20),a.ɵɵpipe(21,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(22,"\n "),a.ɵɵtemplate(23,H,9,2,"ng-container",1),a.ɵɵtext(24,"\n "),a.ɵɵelementStart(25,"h2",39),a.ɵɵtext(26),a.ɵɵpipe(27,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(28,"\n "),a.ɵɵelementStart(29,"p"),a.ɵɵtext(30),a.ɵɵpipe(31,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(32,"\n "),a.ɵɵelementStart(33,"div",40),a.ɵɵtext(34,"\n "),a.ɵɵelementStart(35,"div",41),a.ɵɵtext(36),a.ɵɵpipe(37,"percent"),a.ɵɵelementEnd(),a.ɵɵtext(38,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(39,"\n "),a.ɵɵtemplate(40,Y,9,2,"ng-container",1),a.ɵɵtext(41,"\n "),a.ɵɵelementContainerEnd()),2&e){var n=a.ɵɵnextContext(2);a.ɵɵadvance(4),a.ɵɵproperty("ngIf",!n.showChangePlan),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.canDownloadLicense),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.subscription&&!n.subscription.cancelled&&!n.subscriptionMarkedForCancel),a.ɵɵadvance(3),a.ɵɵproperty("ngIf",n.showChangePlan),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.showDownloadLicense),a.ɵɵadvance(3),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(17,14,"userSeats")),a.ɵɵadvance(4),a.ɵɵtextInterpolate(a.ɵɵpipeBind2(21,16,"subscriptionUserSeats",n.sub.seats)),a.ɵɵadvance(3),a.ɵɵproperty("ngIf",n.subscription&&n.canAdjustSeats&&!n.subscription.cancelled&&!n.subscriptionMarkedForCancel),a.ɵɵadvance(3),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(27,19,"storage")),a.ɵɵadvance(4),a.ɵɵtextInterpolate(a.ɵɵpipeBind3(31,21,"subscriptionStorage",n.sub.maxStorageGb||0,n.sub.storageName||"0 MB")),a.ɵɵadvance(5),a.ɵɵproperty("ngStyle",a.ɵɵpureFunction1(27,Q,n.storageProgressWidth+"%")),a.ɵɵattribute("aria-valuenow",n.storagePercentage),a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(37,25,n.storagePercentage/100),""),a.ɵɵadvance(4),a.ɵɵproperty("ngIf",n.subscription&&!n.subscription.cancelled&&!n.subscriptionMarkedForCancel)}}function X(e,t){if(1&e&&(a.ɵɵelementContainerStart(0),a.ɵɵtext(1,"\n "),a.ɵɵtemplate(2,P,4,6,"app-callout",5),a.ɵɵtext(3,"\n "),a.ɵɵtemplate(4,k,18,14,"app-callout",5),a.ɵɵtext(5,"\n "),a.ɵɵtemplate(6,T,17,9,"dl",1),a.ɵɵtext(7,"\n "),a.ɵɵtemplate(8,j,19,6,"div",6),a.ɵɵtext(9,"\n "),a.ɵɵtemplate(10,U,15,7,"ng-container",1),a.ɵɵtext(11,"\n "),a.ɵɵtemplate(12,J,42,29,"ng-container",1),a.ɵɵtext(13,"\n"),a.ɵɵelementContainerEnd()),2&e){var n=a.ɵɵnextContext();a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.subscription&&n.subscription.cancelled),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.subscriptionMarkedForCancel),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.selfHosted),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",!n.selfHosted),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.selfHosted),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",!n.selfHosted)}}var Z=function(){function e(e,t,n,r,i,o,a){this.apiService=e,this.platformUtilsService=t,this.i18nService=n,this.analytics=r,this.toasterService=i,this.messagingService=o,this.route=a,this.loading=!1,this.firstLoaded=!1,this.adjustSeatsAdd=!0,this.showAdjustSeats=!1,this.adjustStorageAdd=!0,this.showAdjustStorage=!1,this.showUpdateLicense=!1,this.showDownloadLicense=!1,this.showChangePlan=!1,this.selfHosted=!1,this.selfHosted=t.isSelfHost()}return e.prototype.ngOnInit=function(){return r(this,void 0,void 0,function(){var e=this;return i(this,function(t){return this.route.parent.parent.params.subscribe(function(t){return r(e,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.organizationId=t.organizationId,[4,this.load()];case 1:return e.sent(),this.firstLoaded=!0,[2]}})})}),[2]})})},e.prototype.load=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:return this.loading?[2]:(this.loading=!0,e=this,[4,this.apiService.getOrganizationSubscription(this.organizationId)]);case 1:return e.sub=t.sent(),this.loading=!1,[2]}})})},e.prototype.reinstate=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.loading?[2]:[4,this.platformUtilsService.showDialog(this.i18nService.t("reinstateConfirmation"),this.i18nService.t("reinstateSubscription"),this.i18nService.t("yes"),this.i18nService.t("cancel"))];case 1:if(!e.sent())return[2];e.label=2;case 2:return e.trys.push([2,4,,5]),this.reinstatePromise=this.apiService.postOrganizationReinstate(this.organizationId),[4,this.reinstatePromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:"Reinstated Plan"}),this.toasterService.popAsync("success",null,this.i18nService.t("reinstated")),this.load(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},e.prototype.cancel=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.loading?[2]:[4,this.platformUtilsService.showDialog(this.i18nService.t("cancelConfirmation"),this.i18nService.t("cancelSubscription"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!e.sent())return[2];e.label=2;case 2:return e.trys.push([2,4,,5]),this.cancelPromise=this.apiService.postOrganizationCancel(this.organizationId),[4,this.cancelPromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:"Canceled Plan"}),this.toasterService.popAsync("success",null,this.i18nService.t("canceledSubscription")),this.load(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},e.prototype.changePlan=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return null==this.subscription&&this.sub.planType===o.PlanType.Free?(this.showChangePlan=!this.showChangePlan,[2]):[4,this.platformUtilsService.showDialog(this.i18nService.t("changeBillingPlanDesc"),this.i18nService.t("changeBillingPlan"),this.i18nService.t("contactSupport"),this.i18nService.t("close"))];case 1:return e.sent()&&this.platformUtilsService.launchUri("https://bitwarden.com/contact"),[2]}})})},e.prototype.closeChangePlan=function(e){this.showChangePlan=!1},e.prototype.downloadLicense=function(){this.showDownloadLicense=!this.showDownloadLicense},e.prototype.closeDownloadLicense=function(){this.showDownloadLicense=!1},e.prototype.updateLicense=function(){this.loading||(this.showUpdateLicense=!0)},e.prototype.closeUpdateLicense=function(e){this.showUpdateLicense=!1,e&&(this.load(),this.messagingService.send("updatedOrgLicense"))},e.prototype.adjustSeats=function(e){this.adjustSeatsAdd=e,this.showAdjustSeats=!0},e.prototype.closeSeats=function(e){this.showAdjustSeats=!1,e&&this.load()},e.prototype.adjustStorage=function(e){this.adjustStorageAdd=e,this.showAdjustStorage=!0},e.prototype.closeStorage=function(e){this.showAdjustStorage=!1,e&&this.load()},Object.defineProperty(e.prototype,"isExpired",{get:function(){return null!=this.sub&&null!=this.sub.expiration&&new Date(this.sub.expiration)0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]

'+this.i18nService.t("twoFactorRecoveryYourCode")+":

"+this.code+'

'+new Date+"

"),e.onafterprint=function(){return e.close()},e.print()},e.prototype.formatString=function(e){return null==e?null:e.replace(/(.{4})/g,"$1 ").trim().toUpperCase()},e.prototype.processResponse=function(e){this.code=this.formatString(e.code)},e.ɵfac=function(t){return new(t||e)(i.ɵɵdirectiveInject(o.I18nService))},e.ɵcmp=i.ɵɵdefineComponent({type:e,selectors:[["app-two-factor-recovery"]],decls:31,vars:11,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","2faRecoveryTitle",1,"modal","fade"],["role","document",1,"modal-dialog"],[1,"modal-content"],[1,"modal-header"],["id","2faRecoveryTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],[3,"organizationId","type","onAuthed",4,"ngIf"],[4,"ngIf"],[3,"organizationId","type","onAuthed"],[1,"modal-body","text-center"],[1,"modal-footer"],["type","button","class","btn btn-primary",3,"click",4,"ngIf"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"text-lg"],["type","button",1,"btn","btn-primary",3,"click"]],template:function(e,t){1&e&&(i.ɵɵelementStart(0,"div",0),i.ɵɵtext(1,"\n "),i.ɵɵelementStart(2,"div",1),i.ɵɵtext(3,"\n "),i.ɵɵelementStart(4,"div",2),i.ɵɵtext(5,"\n "),i.ɵɵelementStart(6,"div",3),i.ɵɵtext(7,"\n "),i.ɵɵelementStart(8,"h2",4),i.ɵɵtext(9),i.ɵɵpipe(10,"i18n"),i.ɵɵelementStart(11,"small"),i.ɵɵtext(12),i.ɵɵpipe(13,"i18n"),i.ɵɵelementEnd(),i.ɵɵtext(14,"\n "),i.ɵɵelementEnd(),i.ɵɵtext(15,"\n "),i.ɵɵelementStart(16,"button",5),i.ɵɵpipe(17,"i18n"),i.ɵɵtext(18,"\n "),i.ɵɵelementStart(19,"span",6),i.ɵɵtext(20,"×"),i.ɵɵelementEnd(),i.ɵɵtext(21,"\n "),i.ɵɵelementEnd(),i.ɵɵtext(22,"\n "),i.ɵɵelementEnd(),i.ɵɵtext(23,"\n "),i.ɵɵtemplate(24,p,2,2,"app-two-factor-verify",7),i.ɵɵtext(25,"\n "),i.ɵɵtemplate(26,h,18,6,"ng-container",8),i.ɵɵtext(27,"\n "),i.ɵɵelementEnd(),i.ɵɵtext(28,"\n "),i.ɵɵelementEnd(),i.ɵɵtext(29,"\n"),i.ɵɵelementEnd(),i.ɵɵtext(30,"\n")),2&e&&(i.ɵɵadvance(9),i.ɵɵtextInterpolate1("\n ",i.ɵɵpipeBind1(10,5,"twoStepLogin"),"\n "),i.ɵɵadvance(3),i.ɵɵtextInterpolate(i.ɵɵpipeBind1(13,7,"recoveryCodeTitle")),i.ɵɵadvance(4),i.ɵɵpropertyInterpolate("appA11yTitle",i.ɵɵpipeBind1(17,9,"close")),i.ɵɵadvance(8),i.ɵɵproperty("ngIf",!t.authed),i.ɵɵadvance(2),i.ɵɵproperty("ngIf",t.authed))},directives:[a.A11yTitleDirective,s.NgIf,l.TwoFactorVerifyComponent],pipes:[c.I18nPipe],encapsulation:2}),e}();t.TwoFactorRecoveryComponent=f},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1&&n.configured)}}function j(e,t){1&e&&(d.ɵɵelementContainerStart(0),d.ɵɵtext(1,"\n "),d.ɵɵelement(2,"i",41),d.ɵɵtext(3,"\n "),d.ɵɵelementContainerEnd())}function R(e,t){1&e&&(d.ɵɵelementContainerStart(0),d.ɵɵtext(1,"\n "),d.ɵɵelement(2,"i",41),d.ɵɵtext(3),d.ɵɵpipe(4,"i18n"),d.ɵɵelementContainerEnd()),2&e&&(d.ɵɵadvance(3),d.ɵɵtextInterpolate1("\n ",d.ɵɵpipeBind1(4,1,"twoFactorU2fWaiting"),"...\n "))}function U(e,t){1&e&&(d.ɵɵelementContainerStart(0),d.ɵɵtext(1,"\n "),d.ɵɵelement(2,"i",42),d.ɵɵtext(3),d.ɵɵpipe(4,"i18n"),d.ɵɵelementContainerEnd()),2&e&&(d.ɵɵadvance(3),d.ɵɵtextInterpolate1("\n ",d.ɵɵpipeBind1(4,1,"twoFactorU2fClickSave"),"\n "))}function F(e,t){1&e&&(d.ɵɵelementContainerStart(0),d.ɵɵtext(1,"\n "),d.ɵɵelement(2,"i",43),d.ɵɵtext(3),d.ɵɵpipe(4,"i18n"),d.ɵɵelementContainerEnd()),2&e&&(d.ɵɵadvance(3),d.ɵɵtextInterpolate1("\n ",d.ɵɵpipeBind1(4,1,"twoFactorU2fProblemReadingTryAgain"),"\n "))}function N(e,t){if(1&e&&(d.ɵɵelementContainerStart(0),d.ɵɵtext(1,"\n "),d.ɵɵtemplate(2,R,5,3,"ng-container",25),d.ɵɵtext(3,"\n "),d.ɵɵtemplate(4,U,5,3,"ng-container",25),d.ɵɵtext(5,"\n "),d.ɵɵtemplate(6,F,5,3,"ng-container",25),d.ɵɵtext(7,"\n "),d.ɵɵelementContainerEnd()),2&e){var n=d.ɵɵnextContext(2);d.ɵɵadvance(2),d.ɵɵproperty("ngIf",n.u2fListening),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",n.u2fResponse),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",n.u2fError)}}function z(e,t){1&e&&(d.ɵɵelement(0,"i",44),d.ɵɵpipe(1,"i18n")),2&e&&d.ɵɵpropertyInterpolate("title",d.ɵɵpipeBind1(1,1,"loading"))}function L(e,t){1&e&&(d.ɵɵelementStart(0,"span"),d.ɵɵtext(1),d.ɵɵpipe(2,"i18n"),d.ɵɵelementEnd()),2&e&&(d.ɵɵadvance(1),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(2,1,"save")))}function G(e,t){if(1&e){var n=d.ɵɵgetCurrentView();d.ɵɵelementStart(0,"button",45,46),d.ɵɵlistener("click",function(){return d.ɵɵrestoreView(n),d.ɵɵnextContext(2).disable()}),d.ɵɵtext(2,"\n "),d.ɵɵelement(3,"i",44),d.ɵɵpipe(4,"i18n"),d.ɵɵtext(5,"\n "),d.ɵɵelementStart(6,"span"),d.ɵɵtext(7),d.ɵɵpipe(8,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(9,"\n "),d.ɵɵelementEnd()}if(2&e){var r=d.ɵɵreference(1),i=d.ɵɵnextContext(2);d.ɵɵproperty("appApiAction",i.disablePromise)("disabled",r.loading),d.ɵɵadvance(3),d.ɵɵpropertyInterpolate("title",d.ɵɵpipeBind1(4,4,"loading")),d.ɵɵadvance(4),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(8,6,"disableAllKeys"))}}function K(e,t){if(1&e){var n=d.ɵɵgetCurrentView();d.ɵɵelementStart(0,"form",10,11),d.ɵɵlistener("ngSubmit",function(){return d.ɵɵrestoreView(n),d.ɵɵnextContext().submit()}),d.ɵɵtext(2,"\n "),d.ɵɵelementStart(3,"div",12),d.ɵɵtext(4,"\n "),d.ɵɵtemplate(5,k,4,6,"app-callout",13),d.ɵɵtext(6,"\n "),d.ɵɵelementStart(7,"app-callout",14),d.ɵɵtext(8,"\n "),d.ɵɵelementStart(9,"p"),d.ɵɵtext(10),d.ɵɵpipe(11,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(12,"\n "),d.ɵɵelementStart(13,"ul",15),d.ɵɵtext(14,"\n "),d.ɵɵelementStart(15,"li"),d.ɵɵtext(16),d.ɵɵpipe(17,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(18,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(19,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(20,"\n "),d.ɵɵelement(21,"img",16),d.ɵɵtext(22,"\n "),d.ɵɵelementStart(23,"ul",17),d.ɵɵtext(24,"\n "),d.ɵɵtemplate(25,V,13,5,"li",18),d.ɵɵtext(26,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(27,"\n "),d.ɵɵelement(28,"hr"),d.ɵɵtext(29,"\n "),d.ɵɵelementStart(30,"p"),d.ɵɵtext(31),d.ɵɵpipe(32,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(33,"\n "),d.ɵɵelementStart(34,"ol"),d.ɵɵtext(35,"\n "),d.ɵɵelementStart(36,"li"),d.ɵɵtext(37),d.ɵɵpipe(38,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(39,"\n "),d.ɵɵelementStart(40,"li"),d.ɵɵtext(41),d.ɵɵpipe(42,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(43,"\n "),d.ɵɵelementStart(44,"li"),d.ɵɵtext(45),d.ɵɵpipe(46,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(47,"\n "),d.ɵɵelementStart(48,"li"),d.ɵɵtext(49),d.ɵɵpipe(50,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(51,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(52,"\n "),d.ɵɵelementStart(53,"div",19),d.ɵɵtext(54,"\n "),d.ɵɵelementStart(55,"div",20),d.ɵɵtext(56,"\n "),d.ɵɵelementStart(57,"label",21),d.ɵɵtext(58),d.ɵɵpipe(59,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(60,"\n "),d.ɵɵelementStart(61,"input",22),d.ɵɵlistener("ngModelChange",function(e){return d.ɵɵrestoreView(n),d.ɵɵnextContext().name=e}),d.ɵɵelementEnd(),d.ɵɵtext(62,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(63,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(64,"\n "),d.ɵɵelementStart(65,"button",23,24),d.ɵɵlistener("click",function(){return d.ɵɵrestoreView(n),d.ɵɵnextContext().readKey()}),d.ɵɵtext(67),d.ɵɵpipe(68,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(69,"\n "),d.ɵɵtemplate(70,j,4,0,"ng-container",25),d.ɵɵtext(71,"\n "),d.ɵɵtemplate(72,N,8,3,"ng-container",25),d.ɵɵtext(73,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(74,"\n "),d.ɵɵelementStart(75,"div",26),d.ɵɵtext(76,"\n "),d.ɵɵelementStart(77,"button",27),d.ɵɵtext(78,"\n "),d.ɵɵtemplate(79,z,2,3,"i",28),d.ɵɵtext(80,"\n "),d.ɵɵtemplate(81,L,3,3,"span",25),d.ɵɵtext(82,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(83,"\n "),d.ɵɵtemplate(84,G,10,8,"button",29),d.ɵɵtext(85,"\n "),d.ɵɵelementStart(86,"button",30),d.ɵɵtext(87),d.ɵɵpipe(88,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(89,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(90,"\n "),d.ɵɵelementEnd()}if(2&e){var r=d.ɵɵreference(1),i=d.ɵɵreference(66),o=d.ɵɵnextContext();d.ɵɵproperty("appApiAction",o.formPromise),d.ɵɵadvance(5),d.ɵɵproperty("ngIf",o.enabled),d.ɵɵadvance(5),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(11,23,"twoFactorU2fWarning")),d.ɵɵadvance(6),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(17,25,"twoFactorU2fSupportWeb")),d.ɵɵadvance(9),d.ɵɵproperty("ngForOf",o.keys),d.ɵɵadvance(6),d.ɵɵtextInterpolate1("",d.ɵɵpipeBind1(32,27,"twoFactorU2fAdd"),":"),d.ɵɵadvance(6),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(38,29,"twoFactorU2fGiveName")),d.ɵɵadvance(4),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(42,31,"twoFactorU2fPlugInReadKey")),d.ɵɵadvance(4),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(46,33,"twoFactorU2fTouchButton")),d.ɵɵadvance(4),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(50,35,"twoFactorU2fSaveForm")),d.ɵɵadvance(9),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(59,37,"name")),d.ɵɵadvance(3),d.ɵɵproperty("ngModel",o.name)("disabled",!o.keyIdAvailable),d.ɵɵadvance(4),d.ɵɵproperty("disabled",i.loading||o.u2fListening||!o.keyIdAvailable)("appApiAction",o.challengePromise),d.ɵɵadvance(2),d.ɵɵtextInterpolate1("\n ",d.ɵɵpipeBind1(68,39,"readKey"),"\n "),d.ɵɵadvance(3),d.ɵɵproperty("ngIf",i.loading),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",!i.loading),d.ɵɵadvance(5),d.ɵɵproperty("disabled",r.loading||!o.u2fResponse),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",r.loading),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",!r.loading),d.ɵɵadvance(3),d.ɵɵproperty("ngIf",o.enabled),d.ɵɵadvance(3),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(88,41,"close"))}}var q=function(e){function t(t,n,r,i,o,a){var l=e.call(this,t,n,r,i,o)||this;return l.ngZone=a,l.type=s.TwoFactorProviderType.U2f,l.keyIdAvailable=null,l.keysConfiguredCount=0,l.u2fScript=window.document.createElement("script"),l.u2fScript.src="scripts/u2f.js",l.u2fScript.async=!0,l}return i(t,e),t.prototype.ngOnInit=function(){window.document.body.appendChild(this.u2fScript)},t.prototype.ngOnDestroy=function(){window.document.body.removeChild(this.u2fScript)},t.prototype.auth=function(t){e.prototype.auth.call(this,t),this.processResponse(t.response)},t.prototype.submit=function(){var t=this;if(null==this.u2fResponse||null==this.keyIdAvailable)return Promise.reject();var n=new p.UpdateTwoFactorU2fRequest;return n.masterPasswordHash=this.masterPasswordHash,n.deviceResponse=this.u2fResponse,n.id=this.keyIdAvailable,n.name=this.name,e.prototype.enable.call(this,function(){return o(t,void 0,void 0,function(){var e;return a(this,function(t){switch(t.label){case 0:return this.formPromise=this.apiService.putTwoFactorU2f(n),[4,this.formPromise];case 1:return e=t.sent(),[4,this.processResponse(e)];case 2:return t.sent(),[2]}})})})},t.prototype.disable=function(){return e.prototype.disable.call(this,this.formPromise)},t.prototype.remove=function(e){return o(this,void 0,void 0,function(){var t,n,r;return a(this,function(i){switch(i.label){case 0:return this.keysConfiguredCount<=1||null!=e.removePromise?[2]:(t=null!=e.name?e.name:this.i18nService.t("u2fkeyX",e.id),[4,this.platformUtilsService.showDialog(this.i18nService.t("removeU2fConfirmation"),t,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]);case 1:if(!i.sent())return[2];(n=new c.UpdateTwoFactorU2fDeleteRequest).id=e.id,n.masterPasswordHash=this.masterPasswordHash,i.label=2;case 2:return i.trys.push([2,5,,6]),e.removePromise=this.apiService.deleteTwoFactorU2f(n),[4,e.removePromise];case 3:return r=i.sent(),e.removePromise=null,[4,this.processResponse(r)];case 4:return i.sent(),[3,6];case 5:return i.sent(),[3,6];case 6:return[2]}})})},t.prototype.readKey=function(){return o(this,void 0,void 0,function(){var e,t;return a(this,function(n){switch(n.label){case 0:if(null==this.keyIdAvailable)return[2];(e=new l.PasswordVerificationRequest).masterPasswordHash=this.masterPasswordHash,n.label=1;case 1:return n.trys.push([1,3,,4]),this.challengePromise=this.apiService.getTwoFactorU2fChallenge(e),[4,this.challengePromise];case 2:return t=n.sent(),this.readDevice(t),[3,4];case 3:return n.sent(),[3,4];case 4:return[2]}})})},t.prototype.readDevice=function(e){var t=this;console.log("listening for key..."),this.resetU2f(!0),window.u2f.register(e.appId,[{version:e.version,challenge:e.challenge}],[],function(e){t.ngZone.run(function(){if(t.u2fListening=!1,e.errorCode)return t.u2fError=!0,void console.log("error: "+e.errorCode);t.u2fResponse=JSON.stringify(e)})},15)},t.prototype.resetU2f=function(e){void 0===e&&(e=!1),this.u2fResponse=null,this.u2fError=!1,this.u2fListening=e},t.prototype.processResponse=function(e){this.resetU2f(),this.keys=[],this.keyIdAvailable=null,this.name=null,this.keysConfiguredCount=0;for(var t=function(t){if(null!=e.keys){var r=e.keys.filter(function(e){return e.id===t});if(r.length>0)return n.keysConfiguredCount++,n.keys.push({id:t,name:r[0].name,configured:!0,compromised:r[0].compromised,removePromise:null}),"continue"}n.keys.push({id:t,name:null,configured:!1,compromised:!1,removePromise:null}),null==n.keyIdAvailable&&(n.keyIdAvailable=t)},n=this,r=1;r<=5;r++)t(r);this.enabled=e.enabled},t.ɵfac=function(e){return new(e||t)(d.ɵɵdirectiveInject(m.ApiService),d.ɵɵdirectiveInject(h.I18nService),d.ɵɵdirectiveInject(f.Angulartics2),d.ɵɵdirectiveInject(v.ToasterService),d.ɵɵdirectiveInject(y.PlatformUtilsService),d.ɵɵdirectiveInject(d.NgZone))},t.ɵcmp=d.ɵɵdefineComponent({type:t,selectors:[["app-two-factor-u2f"]],features:[d.ɵɵInheritDefinitionFeature],decls:30,vars:8,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","2faU2fTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],[1,"modal-content"],[1,"modal-header"],["id","2faU2fTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],[3,"organizationId","type","onAuthed",4,"ngIf"],["ngNativeValidate","",3,"appApiAction","ngSubmit",4,"ngIf"],[3,"organizationId","type","onAuthed"],["ngNativeValidate","",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-body"],["type","success","icon","fa-check-circle",3,"title",4,"ngIf"],["type","warning"],[1,"mb-0"],["src","images/4.png","alt","",1,"float-right","ml-5"],[1,"fa-ul"],[3,"appApiAction",4,"ngFor","ngForOf"],[1,"row"],[1,"form-group","col-6"],["for","name"],["id","name","type","text","name","Name",1,"form-control",3,"ngModel","disabled","ngModelChange"],["type","button",1,"btn","btn-outline-secondary","mr-2",3,"disabled","appApiAction","click"],["readKeyBtn",""],[4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary",3,"disabled"],["class","fa fa-spinner fa-spin","aria-hidden","true",3,"title",4,"ngIf"],["type","button","class","btn btn-outline-secondary btn-submit",3,"appApiAction","disabled","click",4,"ngIf"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],["type","success","icon","fa-check-circle",3,"title"],[3,"appApiAction"],["removeKeyBtn",""],[1,"fa-li","fa","fa-key"],["aria-hidden","true",1,"fa","fa-fw","fa-exclamation-triangle","text-warning",3,"title"],[1,"sr-only"],["aria-hidden","true",1,"fa","fa-fw","fa-check","text-success",3,"title"],["class","fa fa-spin fa-spinner text-muted fa-fw","aria-hidden","true",3,"title",4,"ngIf"],["href","#","appStopClick","",3,"click"],["aria-hidden","true",1,"fa","fa-spin","fa-spinner","text-muted","fa-fw",3,"title"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted"],["aria-hidden","true",1,"fa","fa-check-circle","text-success"],["aria-hidden","true",1,"fa","fa-warning","text-danger"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button",1,"btn","btn-outline-secondary","btn-submit",3,"appApiAction","disabled","click"],["disableBtn",""]],template:function(e,t){1&e&&(d.ɵɵelementStart(0,"div",0),d.ɵɵtext(1,"\n "),d.ɵɵelementStart(2,"div",1),d.ɵɵtext(3,"\n "),d.ɵɵelementStart(4,"div",2),d.ɵɵtext(5,"\n "),d.ɵɵelementStart(6,"div",3),d.ɵɵtext(7,"\n "),d.ɵɵelementStart(8,"h2",4),d.ɵɵtext(9),d.ɵɵpipe(10,"i18n"),d.ɵɵelementStart(11,"small"),d.ɵɵtext(12,"FIDO U2F"),d.ɵɵelementEnd(),d.ɵɵtext(13,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(14,"\n "),d.ɵɵelementStart(15,"button",5),d.ɵɵpipe(16,"i18n"),d.ɵɵtext(17,"\n "),d.ɵɵelementStart(18,"span",6),d.ɵɵtext(19,"×"),d.ɵɵelementEnd(),d.ɵɵtext(20,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(21,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(22,"\n "),d.ɵɵtemplate(23,P,2,2,"app-two-factor-verify",7),d.ɵɵtext(24,"\n "),d.ɵɵtemplate(25,K,91,43,"form",8),d.ɵɵtext(26,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(27,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(28,"\n"),d.ɵɵelementEnd(),d.ɵɵtext(29,"\n")),2&e&&(d.ɵɵadvance(9),d.ɵɵtextInterpolate1("\n ",d.ɵɵpipeBind1(10,4,"twoStepLogin"),"\n "),d.ɵɵadvance(6),d.ɵɵpropertyInterpolate("appA11yTitle",d.ɵɵpipeBind1(16,6,"close")),d.ɵɵadvance(8),d.ɵɵproperty("ngIf",!t.authed),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",t.authed))},directives:[g.A11yTitleDirective,x.NgIf,b.TwoFactorVerifyComponent,S.NgControlStatusGroup,S.NgForm,w.ApiActionDirective,C.CalloutComponent,x.NgForOf,S.DefaultValueAccessor,S.NgControlStatus,S.NgModel,I.StopClickDirective],pipes:[E.I18nPipe],encapsulation:2}),t}(u.TwoFactorBaseComponent);t.TwoFactorU2fComponent=q},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?this.keys[0].key:null,n.key2=null!=this.keys&&this.keys.length>1?this.keys[1].key:null,n.key3=null!=this.keys&&this.keys.length>2?this.keys[2].key:null,n.key4=null!=this.keys&&this.keys.length>3?this.keys[3].key:null,n.key5=null!=this.keys&&this.keys.length>4?this.keys[4].key:null,n.nfc=this.nfc,e.prototype.enable.call(this,function(){return o(t,void 0,void 0,function(){var e;return a(this,function(t){switch(t.label){case 0:return this.formPromise=this.apiService.putTwoFactorYubiKey(n),[4,this.formPromise];case 1:return e=t.sent(),[4,this.processResponse(e)];case 2:return t.sent(),this.toasterService.popAsync("success",null,this.i18nService.t("yubikeysUpdated")),[2]}})})})},t.prototype.disable=function(){return e.prototype.disable.call(this,this.disablePromise)},t.prototype.remove=function(e){e.existingKey=null,e.key=null},t.prototype.processResponse=function(e){this.enabled=e.enabled,this.keys=[{key:e.key1,existingKey:this.padRight(e.key1)},{key:e.key2,existingKey:this.padRight(e.key2)},{key:e.key3,existingKey:this.padRight(e.key3)},{key:e.key4,existingKey:this.padRight(e.key4)},{key:e.key5,existingKey:this.padRight(e.key5)}],this.nfc=e.nfc||!e.enabled},t.prototype.padRight=function(e,t,n){if(void 0===t&&(t="•"),void 0===n&&(n=44),null==e||null==t||e.length>=n)return e;for(var r=(n-e.length)/t.length,i=0;i0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&this.viewEvents(n[0]),null!=o&&o.unsubscribe(),[2]}})})}),null!=t&&t.unsubscribe(),[2]}})})})},e.prototype.ngOnDestroy=function(){this.broadcasterService.unsubscribe("OrgVaultComponent")},e.prototype.clearGroupingFilters=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.ciphersComponent.showAddNew=!0,this.ciphersComponent.deleted=!1,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchVault"),[4,this.ciphersComponent.applyFilter()];case 1:return e.sent(),this.clearFilters(),this.go(),[2]}})})},e.prototype.filterCipherType=function(e,t){return void 0===t&&(t=!1),r(this,void 0,void 0,function(){var n;return i(this,function(r){switch(r.label){case 0:return this.ciphersComponent.showAddNew=!0,this.ciphersComponent.deleted=!1,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchType"),n=function(t){return t.type===e},t?[4,this.ciphersComponent.reload(n)]:[3,2];case 1:return r.sent(),[3,4];case 2:return[4,this.ciphersComponent.applyFilter(n)];case 3:r.sent(),r.label=4;case 4:return this.clearFilters(),this.type=e,this.go(),[2]}})})},e.prototype.filterCollection=function(e,t){return void 0===t&&(t=!1),r(this,void 0,void 0,function(){var n;return i(this,function(r){switch(r.label){case 0:return this.ciphersComponent.showAddNew=!0,this.ciphersComponent.deleted=!1,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchCollection"),n=function(t){return"unassigned"===e?null==t.collectionIds||0===t.collectionIds.length:null!=t.collectionIds&&t.collectionIds.indexOf(e)>-1},t?[4,this.ciphersComponent.reload(n)]:[3,2];case 1:return r.sent(),[3,4];case 2:return[4,this.ciphersComponent.applyFilter(n)];case 3:r.sent(),r.label=4;case 4:return this.clearFilters(),this.collectionId=e,this.go(),[2]}})})},e.prototype.filterDeleted=function(e){return void 0===e&&(e=!1),r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return this.ciphersComponent.showAddNew=!1,this.ciphersComponent.deleted=!0,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchTrash"),e?[4,this.ciphersComponent.reload(null,!0)]:[3,2];case 1:return t.sent(),[3,4];case 2:return[4,this.ciphersComponent.applyFilter(null)];case 3:t.sent(),t.label=4;case 4:return this.clearFilters(),this.deleted=!0,this.go(),[2]}})})},e.prototype.filterSearchText=function(e){this.ciphersComponent.searchText=e,this.ciphersComponent.search(200)},e.prototype.editCipherAttachments=function(e){var t=this;if(null!=this.organization.maxStorageGb&&0!==this.organization.maxStorageGb){null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent);this.modal=this.attachmentsModalRef.createComponent(n).instance;var o=this.modal.show(c.AttachmentsComponent,this.attachmentsModalRef);o.organization=this.organization,o.cipherId=e.id;var s=!1;o.onUploadedAttachment.subscribe(function(){return s=!0}),o.onDeletedAttachment.subscribe(function(){return s=!0}),this.modal.onClosed.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal=null,s?[4,this.ciphersComponent.refresh()]:[3,2];case 1:e.sent(),e.label=2;case 2:return s=!1,[2]}})})})}else this.messagingService.send("upgradeOrganization",{organizationId:e.organizationId})},e.prototype.editCipherCollections=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent);this.modal=this.collectionsModalRef.createComponent(n).instance;var o=this.modal.show(u.CollectionsComponent,this.collectionsModalRef);this.organization.canManageAllCollections&&(o.collectionIds=e.collectionIds,o.collections=this.groupingsComponent.collections.filter(function(e){return!e.readOnly})),o.organization=this.organization,o.cipherId=e.id,o.onSavedCollections.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){return this.modal=null,[2]})})})},e.prototype.addCipher=function(){var e=this.editCipher(null);e.organizationId=this.organization.id,e.type=this.type,this.organization.canManageAllCollections&&(e.collections=this.groupingsComponent.collections.filter(function(e){return!e.readOnly})),null!=this.collectionId&&(e.collectionIds=[this.collectionId])},e.prototype.editCipher=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent);this.modal=this.cipherAddEditModalRef.createComponent(n).instance;var o=this.modal.show(l.AddEditComponent,this.cipherAddEditModalRef);return o.organization=this.organization,o.cipherId=null==e?null:e.id,o.onSavedCipher.subscribe(function(e){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),o.onDeletedCipher.subscribe(function(e){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),o.onRestoredCipher.subscribe(function(e){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){t.modal=null}),o},e.prototype.cloneCipher=function(e){var t=this.editCipher(e);t.cloneMode=!0,t.organizationId=this.organization.id,this.organization.canManageAllCollections&&(t.collections=this.groupingsComponent.collections.filter(function(e){return!e.readOnly})),t.collectionIds=e.collectionIds},e.prototype.viewEvents=function(e){return r(this,void 0,void 0,function(){var t,n,r=this;return i(this,function(i){return null!=this.modal&&this.modal.close(),t=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent),this.modal=this.eventsModalRef.createComponent(t).instance,(n=this.modal.show(s.EntityEventsComponent,this.eventsModalRef)).name=e.name,n.organizationId=this.organization.id,n.entityId=e.id,n.showUser=!0,n.entity="cipher",this.modal.onClosed.subscribe(function(){r.modal=null}),[2]})})},e.prototype.clearFilters=function(){this.collectionId=null,this.type=null,this.deleted=!1},e.prototype.go=function(e){void 0===e&&(e=null),null==e&&(e={type:this.type,collectionId:this.collectionId,deleted:!!this.deleted||null}),this.router.navigate([],{relativeTo:this.route,queryParams:e,replaceUrl:!0})},e.ɵfac=function(t){return new(t||e)(m.ɵɵdirectiveInject(h.ActivatedRoute),m.ɵɵdirectiveInject(f.UserService),m.ɵɵdirectiveInject(h.Router),m.ɵɵdirectiveInject(m.ChangeDetectorRef),m.ɵɵdirectiveInject(v.SyncService),m.ɵɵdirectiveInject(y.I18nService),m.ɵɵdirectiveInject(m.ComponentFactoryResolver),m.ɵɵdirectiveInject(g.MessagingService),m.ɵɵdirectiveInject(x.BroadcasterService),m.ɵɵdirectiveInject(m.NgZone))},e.ɵcmp=m.ɵɵdefineComponent({type:e,selectors:[["app-org-vault"]],viewQuery:function(e,t){var n;(1&e&&(m.ɵɵstaticViewQuery(d.GroupingsComponent,!0),m.ɵɵstaticViewQuery(p.CiphersComponent,!0),m.ɵɵstaticViewQuery(P,!0,o.ViewContainerRef),m.ɵɵstaticViewQuery(k,!0,o.ViewContainerRef),m.ɵɵstaticViewQuery(_,!0,o.ViewContainerRef),m.ɵɵstaticViewQuery(A,!0,o.ViewContainerRef)),2&e)&&(m.ɵɵqueryRefresh(n=m.ɵɵloadQuery())&&(t.groupingsComponent=n.first),m.ɵɵqueryRefresh(n=m.ɵɵloadQuery())&&(t.ciphersComponent=n.first),m.ɵɵqueryRefresh(n=m.ɵɵloadQuery())&&(t.attachmentsModalRef=n.first),m.ɵɵqueryRefresh(n=m.ɵɵloadQuery())&&(t.cipherAddEditModalRef=n.first),m.ɵɵqueryRefresh(n=m.ɵɵloadQuery())&&(t.collectionsModalRef=n.first),m.ɵɵqueryRefresh(n=m.ɵɵloadQuery())&&(t.eventsModalRef=n.first))},decls:51,vars:13,consts:[[1,"container","page-content"],[1,"row"],[1,"col-3"],[3,"showFolders","showFavorites","showTrash","onAllClicked","onCipherTypeClicked","onCollectionClicked","onSearchTextChanged","onTrashClicked"],[1,"col-9"],[1,"page-header","d-flex"],[3,"appApiAction"],["actionSpinner",""],[4,"ngIf"],[1,"ml-auto","d-flex"],[3,"ciphersComponent","modal","deleted","organization"],["type","button","class","btn btn-outline-primary btn-sm ml-auto",3,"click",4,"ngIf"],[3,"onCipherClicked","onAttachmentsClicked","onAddCipher","onCollectionsClicked","onEventsClicked","onCloneClicked"],["attachments",""],["cipherAddEdit",""],["collections",""],["eventsTemplate",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["type","button",1,"btn","btn-outline-primary","btn-sm","ml-auto",3,"click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"]],template:function(e,t){if(1&e&&(m.ɵɵelementStart(0,"div",0),m.ɵɵtext(1,"\n "),m.ɵɵelementStart(2,"div",1),m.ɵɵtext(3,"\n "),m.ɵɵelementStart(4,"div",2),m.ɵɵtext(5,"\n "),m.ɵɵelementStart(6,"app-org-vault-groupings",3),m.ɵɵlistener("onAllClicked",function(){return t.clearGroupingFilters()})("onCipherTypeClicked",function(e){return t.filterCipherType(e)})("onCollectionClicked",function(e){return t.filterCollection(e.id)})("onSearchTextChanged",function(e){return t.filterSearchText(e)})("onTrashClicked",function(){return t.filterDeleted()}),m.ɵɵtext(7,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(8,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(9,"\n "),m.ɵɵelementStart(10,"div",4),m.ɵɵtext(11,"\n "),m.ɵɵelementStart(12,"div",5),m.ɵɵtext(13,"\n "),m.ɵɵelementStart(14,"h1"),m.ɵɵtext(15),m.ɵɵpipe(16,"i18n"),m.ɵɵelementStart(17,"small",6,7),m.ɵɵtext(19,"\n "),m.ɵɵtemplate(20,O,9,6,"ng-container",8),m.ɵɵtext(21,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(22,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(23,"\n "),m.ɵɵelementStart(24,"div",9),m.ɵɵtext(25,"\n "),m.ɵɵelementStart(26,"app-vault-bulk-actions",10),m.ɵɵtext(27,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(28,"\n "),m.ɵɵtemplate(29,T,5,3,"button",11),m.ɵɵtext(30,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(31,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(32,"\n "),m.ɵɵelementStart(33,"app-org-vault-ciphers",12),m.ɵɵlistener("onCipherClicked",function(e){return t.editCipher(e)})("onAttachmentsClicked",function(e){return t.editCipherAttachments(e)})("onAddCipher",function(){return t.addCipher()})("onCollectionsClicked",function(e){return t.editCipherCollections(e)})("onEventsClicked",function(e){return t.viewEvents(e)})("onCloneClicked",function(e){return t.cloneCipher(e)}),m.ɵɵtext(34,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(35,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(36,"\n "),m.ɵɵelementEnd(),m.ɵɵtext(37,"\n"),m.ɵɵelementEnd(),m.ɵɵtext(38,"\n"),m.ɵɵtemplate(39,M,0,0,"ng-template",null,13,m.ɵɵtemplateRefExtractor),m.ɵɵtext(41,"\n"),m.ɵɵtemplate(42,B,0,0,"ng-template",null,14,m.ɵɵtemplateRefExtractor),m.ɵɵtext(44,"\n"),m.ɵɵtemplate(45,D,0,0,"ng-template",null,15,m.ɵɵtemplateRefExtractor),m.ɵɵtext(47,"\n"),m.ɵɵtemplate(48,V,0,0,"ng-template",null,16,m.ɵɵtemplateRefExtractor),m.ɵɵtext(50,"\n")),2&e){var n=m.ɵɵreference(18);m.ɵɵadvance(6),m.ɵɵproperty("showFolders",!1)("showFavorites",!1)("showTrash",!0),m.ɵɵadvance(9),m.ɵɵtextInterpolate1("\n ",m.ɵɵpipeBind1(16,11,"vault"),"\n "),m.ɵɵadvance(2),m.ɵɵproperty("appApiAction",t.ciphersComponent.actionPromise),m.ɵɵadvance(3),m.ɵɵproperty("ngIf",n.loading),m.ɵɵadvance(6),m.ɵɵproperty("ciphersComponent",t.ciphersComponent)("modal",t.modal)("deleted",t.deleted)("organization",t.organization),m.ɵɵadvance(3),m.ɵɵproperty("ngIf",!t.deleted)}},directives:[b.GroupingsComponent,S.ApiActionDirective,w.NgIf,C.BulkActionsComponent,I.CiphersComponent],pipes:[E.I18nPipe],encapsulation:2}),e}();t.VaultComponent=j},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(this.organizationId=this.organizations[0].id),this.filterCollections(),[2]}})})},e.prototype.ngOnDestroy=function(){this.selectAll(!1)},e.prototype.filterCollections=function(){var e=this;this.selectAll(!1),null==this.organizationId||0===this.writeableCollections.length?this.collections=[]:this.collections=this.writeableCollections.filter(function(t){return t.organizationId===e.organizationId})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:e=this.collections.filter(function(e){return e.checked}).map(function(e){return e.id}),t.label=1;case 1:return t.trys.push([1,3,,4]),this.formPromise=this.cipherService.shareManyWithServer(this.shareableCiphers,this.organizationId,e),[4,this.formPromise];case 2:return t.sent(),this.onShared.emit(),this.analytics.eventTrack.next({action:"Bulk Shared Items"}),this.toasterService.popAsync("success",null,this.i18nService.t("sharedItems")),[3,4];case 3:return t.sent(),[3,4];case 4:return[2]}})})},e.prototype.check=function(e,t){e.checked=null==t?!e.checked:t},e.prototype.selectAll=function(e){var t=this;(e?this.collections:this.writeableCollections).forEach(function(n){return t.check(n,e)})},Object.defineProperty(e.prototype,"canSave",{get:function(){if(null!=this.shareableCiphers&&this.shareableCiphers.length>0&&null!=this.collections)for(var e=0;e0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]104857600)return this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("maxFileSize")),[2]}return this.editMode||(r=new Date,this.deletionDateSelect>0&&((o=new Date).setHours(r.getHours()+this.deletionDateSelect),this.deletionDate=this.dateToString(o)),null!=this.expirationDateSelect&&this.expirationDateSelect>0&&((o=new Date).setHours(r.getHours()+this.expirationDateSelect),this.expirationDate=this.dateToString(o))),[4,this.encryptSend(e)];case 1:a=i.sent(),i.label=2;case 2:return i.trys.push([2,4,,5]),this.formPromise=this.sendService.saveWithServer(a),[4,this.formPromise];case 3:return i.sent(),this.send.id=a[0].id,this.platformUtilsService.showToast("success",null,this.i18nService.t(this.editMode?"editedSend":"createdSend")),this.onSavedSend.emit(this.send),[2,!0];case 4:return i.sent(),[3,5];case 5:return[2,!1]}})})},e.prototype.clearExpiration=function(){this.expirationDate=null},e.prototype.delete=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return null!=this.deletePromise?[2]:[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteSendConfirmation"),this.i18nService.t("deleteSend"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!e.sent())return[2];e.label=2;case 2:return e.trys.push([2,5,,6]),this.deletePromise=this.sendService.deleteWithServer(this.send.id),[4,this.deletePromise];case 3:return e.sent(),this.platformUtilsService.showToast("success",null,this.i18nService.t("deletedSend")),[4,this.load()];case 4:return e.sent(),this.onDeletedSend.emit(this.send),[3,6];case 5:return e.sent(),[3,6];case 6:return[2]}})})},e.prototype.typeChanged=function(){this.canAccessPremium||this.send.type!==s.SendType.File||this.premiumRequiredAlertShown||(this.premiumRequiredAlertShown=!0,this.messagingService.send("premiumRequired"))},e.prototype.loadSend=function(){return r(this,void 0,void 0,function(){return i(this,function(e){return[2,this.sendService.get(this.sendId)]})})},e.prototype.encryptSend=function(e){return r(this,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:return[4,this.sendService.encrypt(this.send,e,this.password,null)];case 1:t=n.sent();try{t[0].deletionDate=null==this.deletionDate?null:new Date(this.deletionDate)}catch(r){t[0].deletionDate=null}try{t[0].expirationDate=null==this.expirationDate?null:new Date(this.expirationDate)}catch(i){t[0].expirationDate=null}return[2,t]}})})},e.prototype.dateToString=function(e){return null==e?null:this.datePipe.transform(e,"yyyy-MM-ddTHH:mm")},e.ɵfac=function(t){return new(t||e)(u.ɵɵdirectiveInject(d.I18nService),u.ɵɵdirectiveInject(m.PlatformUtilsService),u.ɵɵdirectiveInject(h.EnvironmentService),u.ɵɵdirectiveInject(f.DatePipe),u.ɵɵdirectiveInject(v.SendService),u.ɵɵdirectiveInject(y.UserService),u.ɵɵdirectiveInject(g.MessagingService))},e.ɵcmp=u.ɵɵdefineComponent({type:e,selectors:[["app-send-add-edit"]],inputs:{sendId:"sendId",type:"type"},outputs:{onSavedSend:"onSavedSend",onDeletedSend:"onDeletedSend",onCancelled:"onCancelled"},decls:44,vars:17,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","sendAddEditTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],["ngNativeValidate","","autocomplete","off",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","sendAddEditTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],["class","ml-auto",4,"ngIf"],[1,"modal-body"],["class","row",4,"ngIf"],[1,"row"],[1,"col-6","form-group"],["for","name"],["id","name","type","text","name","Name","required","",1,"form-control",3,"ngModel","ngModelChange"],[4,"ngIf"],[1,"mt-5"],["for","deletionDate"],[1,"form-text","text-muted","small"],[1,"d-flex"],["for","expirationDate"],["href","#","appStopClick","","class","ml-auto",3,"click",4,"ngIf"],["for","maxAccessCount"],["id","maxAccessCount","type","number","name","MaxAccessCount","min","1",1,"form-control",3,"ngModel","ngModelChange"],["class","col-6 form-group",4,"ngIf"],["for","password",4,"ngIf"],["id","password","type","password","name","Password",1,"form-control",3,"ngModel","ngModelChange"],[1,"form-group"],["for","notes"],["id","notes","name","Notes","rows","6",1,"form-control",3,"ngModel","ngModelChange"],[1,"form-check"],["type","checkbox","id","disabled","name","Disabled",1,"form-check-input",3,"ngModel","ngModelChange"],["for","disabled",1,"form-check-label"],["class","mt-5",4,"ngIf"],["class","form-group",4,"ngIf"],["for","type"],["id","type","name","Type","appAutofocus","",1,"form-control",3,"ngModel","ngModelChange","change"],[3,"ngValue",4,"ngFor","ngForOf"],[3,"ngValue"],["for","text"],["id","text","name","Text.Text","rows","6",1,"form-control",3,"ngModel","ngModelChange"],["type","checkbox","id","text-hidden","name","Text.Hidden",1,"form-check-input",3,"ngModel","ngModelChange"],["for","text-hidden",1,"form-check-label"],[1,"d-block"],["for","file"],["type","file","id","file","name","file","required","",1,"form-control-file"],[1,"form-text","text-muted"],["id","deletionDate","name","DeletionDateSelect","required","",1,"form-control",3,"ngModel","ngModelChange"],["id","deletionDateCustom","class","form-control mt-1","type","datetime-local","name","DeletionDate","required","","placeholder","MM/DD/YYYY HH:MM AM/PM",3,"ngModel","ngModelChange",4,"ngIf"],["id","deletionDateCustom","type","datetime-local","name","DeletionDate","required","","placeholder","MM/DD/YYYY HH:MM AM/PM",1,"form-control","mt-1",3,"ngModel","ngModelChange"],["id","deletionDate","type","datetime-local","name","DeletionDate","required","","placeholder","MM/DD/YYYY HH:MM AM/PM",1,"form-control",3,"ngModel","ngModelChange"],["href","#","appStopClick","",1,"ml-auto",3,"click"],["id","expirationDate","name","ExpirationDateSelect","required","",1,"form-control",3,"ngModel","ngModelChange"],["id","expirationDateCustom","class","form-control mt-1","type","datetime-local","name","ExpirationDate","required","","placeholder","MM/DD/YYYY HH:MM AM/PM",3,"ngModel","ngModelChange",4,"ngIf"],["id","expirationDateCustom","type","datetime-local","name","ExpirationDate","required","","placeholder","MM/DD/YYYY HH:MM AM/PM",1,"form-control","mt-1",3,"ngModel","ngModelChange"],["id","expirationDate","type","datetime-local","name","ExpirationDate","placeholder","MM/DD/YYYY HH:MM AM/PM",1,"form-control",3,"ngModel","ngModelChange"],["for","accessCount"],["id","accessCount","type","number","name","AccessCount","readonly","",1,"form-control",3,"ngModel","ngModelChange"],["for","password"],["for","link"],["type","text","readonly","","id","link","name","Link",1,"form-control",3,"ngModel","ngModelChange"],[1,"ml-auto"],["type","button","class","btn btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click",4,"ngIf"],["type","button",1,"btn","btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click"],["deleteBtn",""],["aria-hidden","true",1,"fa","fa-trash-o","fa-lg","fa-fw",3,"hidden"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","fa-lg","fa-fw",3,"hidden","title"]],template:function(e,t){if(1&e&&(u.ɵɵelementStart(0,"div",0),u.ɵɵtext(1,"\n "),u.ɵɵelementStart(2,"div",1),u.ɵɵtext(3,"\n "),u.ɵɵelementStart(4,"form",2,3),u.ɵɵlistener("ngSubmit",function(){return t.submit()}),u.ɵɵtext(6,"\n "),u.ɵɵelementStart(7,"div",4),u.ɵɵtext(8,"\n "),u.ɵɵelementStart(9,"h2",5),u.ɵɵtext(10),u.ɵɵelementEnd(),u.ɵɵtext(11,"\n "),u.ɵɵelementStart(12,"button",6),u.ɵɵpipe(13,"i18n"),u.ɵɵtext(14,"\n "),u.ɵɵelementStart(15,"span",7),u.ɵɵtext(16,"×"),u.ɵɵelementEnd(),u.ɵɵtext(17,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(18,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(19,"\n "),u.ɵɵtemplate(20,q,127,54,"div",8),u.ɵɵtext(21,"\n "),u.ɵɵelementStart(22,"div",9),u.ɵɵtext(23,"\n "),u.ɵɵelementStart(24,"button",10),u.ɵɵtext(25,"\n "),u.ɵɵelement(26,"i",11),u.ɵɵpipe(27,"i18n"),u.ɵɵtext(28,"\n "),u.ɵɵelementStart(29,"span"),u.ɵɵtext(30),u.ɵɵpipe(31,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(32,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(33,"\n "),u.ɵɵelementStart(34,"button",12),u.ɵɵtext(35),u.ɵɵpipe(36,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(37,"\n "),u.ɵɵtemplate(38,W,4,1,"div",13),u.ɵɵtext(39,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(40,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(41,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(42,"\n"),u.ɵɵelementEnd(),u.ɵɵtext(43,"\n")),2&e){var n=u.ɵɵreference(5);u.ɵɵadvance(4),u.ɵɵproperty("appApiAction",t.formPromise),u.ɵɵadvance(6),u.ɵɵtextInterpolate(t.title),u.ɵɵadvance(2),u.ɵɵpropertyInterpolate("appA11yTitle",u.ɵɵpipeBind1(13,9,"close")),u.ɵɵadvance(8),u.ɵɵproperty("ngIf",t.send),u.ɵɵadvance(4),u.ɵɵproperty("disabled",n.loading),u.ɵɵadvance(2),u.ɵɵpropertyInterpolate("title",u.ɵɵpipeBind1(27,11,"loading")),u.ɵɵadvance(4),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(31,13,"save")),u.ɵɵadvance(5),u.ɵɵtextInterpolate1("\n ",u.ɵɵpipeBind1(36,15,"cancel"),"\n "),u.ɵɵadvance(3),u.ɵɵproperty("ngIf",t.send)}},directives:[x.NgControlStatusGroup,x.NgForm,b.ApiActionDirective,S.A11yTitleDirective,f.NgIf,x.DefaultValueAccessor,x.RequiredValidator,x.NgControlStatus,x.NgModel,x.NumberValueAccessor,x.CheckboxControlValueAccessor,x.SelectControlValueAccessor,w.AutofocusDirective,f.NgForOf,x.NgSelectOption,x.ɵangular_packages_forms_forms_x,C.StopClickDirective],pipes:[I.I18nPipe],encapsulation:2}),e}();t.AddEditComponent=$},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(34),i=n(292),o=n(293),a=function(){function e(e){this.id=null,this.accessId=null,this.name=null,this.notes=null,this.type=null,this.text=new o.SendTextView,this.file=new i.SendFileView,this.maxAccessCount=null,this.accessCount=0,this.revisionDate=null,this.deletionDate=null,this.expirationDate=null,this.password=null,this.disabled=!1,e&&(this.id=e.id,this.accessId=e.accessId,this.type=e.type,this.maxAccessCount=e.maxAccessCount,this.accessCount=e.accessCount,this.revisionDate=e.revisionDate,this.deletionDate=e.deletionDate,this.expirationDate=e.expirationDate,this.disabled=e.disabled,this.password=e.password)}return Object.defineProperty(e.prototype,"urlB64Key",{get:function(){return r.Utils.fromBufferToUrlB64(this.key)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"maxAccessCountReached",{get:function(){return null!=this.maxAccessCount&&this.accessCount>=this.maxAccessCount},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"expired",{get:function(){return null!=this.expirationDate&&this.expirationDate<=new Date},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"pendingDelete",{get:function(){return this.deletionDate<=new Date},enumerable:!0,configurable:!0}),e}();t.SendView=a},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0),f.ɵɵadvance(2),f.ɵɵproperty("ngIf",(null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.minLength)>0),f.ɵɵadvance(2),f.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireUpper),f.ɵɵadvance(2),f.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireLower),f.ɵɵadvance(2),f.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireNumbers),f.ɵɵadvance(2),f.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireSpecial)}}var L=function(e){function t(t,n,r,i,o,a,s,l,c,p,u){var d=e.call(this,t,n,r,i,o,a,s)||this;return d.folderService=l,d.cipherService=c,d.syncService=p,d.apiService=u,d.rotateEncKey=!1,d}return i(t,e),t.prototype.rotateEncKeyClicked=function(){return o(this,void 0,void 0,function(){var e,t,n;return a(this,function(r){switch(r.label){case 0:return this.rotateEncKey?[4,this.cipherService.getAllDecrypted()]:[3,5];case 1:if(e=r.sent(),t=!1,null!=e)for(n=0;n0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0),a.ɵɵadvance(2),a.ɵɵproperty("disabled",n.loading),a.ɵɵadvance(2),a.ɵɵpropertyInterpolate("title",a.ɵɵpipeBind1(43,27,"loading")),a.ɵɵadvance(4),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(47,29,"save"))}},directives:[u.NgControlStatusGroup,u.NgForm,d.ApiActionDirective,m.NgIf,m.NgForOf,u.DefaultValueAccessor,u.RequiredValidator,u.NgControlStatus,u.NgModel,h.A11yTitleDirective,m.NgClass,f.StopClickDirective],pipes:[v.I18nPipe],encapsulation:2}),e}();t.DomainRulesComponent=P},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1?"×"+n.quantity:""," @ ",o.ɵɵpipeBind2(4,5,n.amount,"$"),"\n "),o.ɵɵadvance(4),o.ɵɵtextInterpolate2("\n ",o.ɵɵpipeBind2(8,8,n.quantity*n.amount,"$")," /",o.ɵɵpipeBind1(9,11,n.interval),"\n ")}}function A(e,t){if(1&e&&(o.ɵɵelementStart(0,"div",16),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"strong",17),o.ɵɵtext(3),o.ɵɵpipe(4,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(5,"\n "),o.ɵɵelementStart(6,"table",18),o.ɵɵtext(7,"\n "),o.ɵɵelementStart(8,"tbody"),o.ɵɵtext(9,"\n "),o.ɵɵtemplate(10,_,11,13,"tr",19),o.ɵɵtext(11,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(12,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(13,"\n "),o.ɵɵelementEnd()),2&e){var n=o.ɵɵnextContext(3);o.ɵɵadvance(3),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(4,2,"details")),o.ɵɵadvance(7),o.ɵɵproperty("ngForOf",n.subscription.items)}}function O(e,t){if(1&e&&(o.ɵɵelementStart(0,"div",10),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"div",11),o.ɵɵtext(3,"\n "),o.ɵɵelementStart(4,"dl"),o.ɵɵtext(5,"\n "),o.ɵɵelementStart(6,"dt"),o.ɵɵtext(7),o.ɵɵpipe(8,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(9,"\n "),o.ɵɵelementStart(10,"dd"),o.ɵɵtext(11,"\n "),o.ɵɵelementStart(12,"span",12),o.ɵɵtext(13),o.ɵɵelementEnd(),o.ɵɵtext(14,"\n "),o.ɵɵtemplate(15,k,3,3,"span",13),o.ɵɵtext(16,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(17,"\n "),o.ɵɵelementStart(18,"dt"),o.ɵɵtext(19),o.ɵɵpipe(20,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(21,"\n "),o.ɵɵelementStart(22,"dd"),o.ɵɵtext(23),o.ɵɵpipe(24,"date"),o.ɵɵpipe(25,"currency"),o.ɵɵelementEnd(),o.ɵɵtext(26,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(27,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(28,"\n "),o.ɵɵtemplate(29,A,14,4,"div",14),o.ɵɵtext(30,"\n "),o.ɵɵelementEnd()),2&e){var n=o.ɵɵnextContext(2);o.ɵɵadvance(7),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(8,6,"status")),o.ɵɵadvance(6),o.ɵɵtextInterpolate(n.subscription&&n.subscription.status||"-"),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.subscriptionMarkedForCancel),o.ɵɵadvance(4),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(20,8,"nextCharge")),o.ɵɵadvance(4),o.ɵɵtextInterpolate1("",n.nextInvoice?o.ɵɵpipeBind2(24,10,n.nextInvoice.date,"mediumDate")+", "+o.ɵɵpipeBind2(25,13,n.nextInvoice.amount,"$"):"-","\n "),o.ɵɵadvance(6),o.ɵɵproperty("ngIf",n.subscription)}}function T(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementStart(0,"div",23),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"div",24),o.ɵɵtext(3,"\n "),o.ɵɵelementStart(4,"button",25),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(3).closeUpdateLicense(!1)}),o.ɵɵpipe(5,"i18n"),o.ɵɵelementStart(6,"span",26),o.ɵɵtext(7,"×"),o.ɵɵelementEnd(),o.ɵɵelementEnd(),o.ɵɵtext(8,"\n "),o.ɵɵelementStart(9,"h3",27),o.ɵɵtext(10),o.ɵɵpipe(11,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(12,"\n "),o.ɵɵelementStart(13,"app-update-license",28),o.ɵɵlistener("onUpdated",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(3).closeUpdateLicense(!0)})("onCanceled",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(3).closeUpdateLicense(!1)}),o.ɵɵtext(14,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(15,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(16,"\n "),o.ɵɵelementEnd()}2&e&&(o.ɵɵadvance(4),o.ɵɵpropertyInterpolate("appA11yTitle",o.ɵɵpipeBind1(5,2,"cancel")),o.ɵɵadvance(6),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(11,4,"updateLicense")))}function M(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementContainerStart(0),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"div"),o.ɵɵtext(3,"\n "),o.ɵɵelementStart(4,"button",20),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(2).updateLicense()}),o.ɵɵtext(5),o.ɵɵpipe(6,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(7,"\n "),o.ɵɵelementStart(8,"a",21),o.ɵɵtext(9),o.ɵɵpipe(10,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(11,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(12,"\n "),o.ɵɵtemplate(13,T,17,6,"div",22),o.ɵɵtext(14,"\n "),o.ɵɵelementContainerEnd()}if(2&e){var r=o.ɵɵnextContext(2);o.ɵɵadvance(5),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(6,3,"updateLicense"),"\n "),o.ɵɵadvance(4),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(10,5,"manageSubscription"),"\n "),o.ɵɵadvance(4),o.ɵɵproperty("ngIf",r.showUpdateLicense)}}function B(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementStart(0,"button",20),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(3).downloadLicense()}),o.ɵɵtext(1),o.ɵɵpipe(2,"i18n"),o.ɵɵelementEnd()}2&e&&(o.ɵɵadvance(1),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(2,1,"downloadLicense"),"\n "))}function D(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementStart(0,"button",35,36),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(3).cancel()}),o.ɵɵtext(2,"\n "),o.ɵɵelement(3,"i",9),o.ɵɵpipe(4,"i18n"),o.ɵɵtext(5,"\n "),o.ɵɵelementStart(6,"span"),o.ɵɵtext(7),o.ɵɵpipe(8,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(9,"\n "),o.ɵɵelementEnd()}if(2&e){var r=o.ɵɵreference(1),i=o.ɵɵnextContext(3);o.ɵɵproperty("appApiAction",i.cancelPromise)("disabled",r.loading),o.ɵɵadvance(3),o.ɵɵpropertyInterpolate("title",o.ɵɵpipeBind1(4,4,"loading")),o.ɵɵadvance(4),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(8,6,"cancelSubscription"))}}function V(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementStart(0,"div",29),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"button",20),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(4).adjustStorage(!0)}),o.ɵɵtext(3),o.ɵɵpipe(4,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(5,"\n "),o.ɵɵelementStart(6,"button",40),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(4).adjustStorage(!1)}),o.ɵɵtext(7),o.ɵɵpipe(8,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(9,"\n "),o.ɵɵelementEnd()}2&e&&(o.ɵɵadvance(3),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(4,2,"addStorage"),"\n "),o.ɵɵadvance(4),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(8,4,"removeStorage"),"\n "))}function j(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementStart(0,"app-adjust-storage",41),o.ɵɵlistener("onAdjusted",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(4).closeStorage(!0)})("onCanceled",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(4).closeStorage(!1)}),o.ɵɵelementEnd()}if(2&e){var r=o.ɵɵnextContext(4);o.ɵɵproperty("storageGbPrice",4)("add",r.adjustStorageAdd)}}function R(e,t){if(1&e&&(o.ɵɵelementContainerStart(0),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"div",37),o.ɵɵtext(3,"\n "),o.ɵɵtemplate(4,V,10,6,"div",38),o.ɵɵtext(5,"\n "),o.ɵɵtemplate(6,j,1,2,"app-adjust-storage",39),o.ɵɵtext(7,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(8,"\n "),o.ɵɵelementContainerEnd()),2&e){var n=o.ɵɵnextContext(3);o.ɵɵadvance(4),o.ɵɵproperty("ngIf",!n.showAdjustStorage),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.showAdjustStorage)}}var U=function(e){return{width:e}};function F(e,t){if(1&e&&(o.ɵɵelementContainerStart(0),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"div",29),o.ɵɵtext(3,"\n "),o.ɵɵtemplate(4,B,3,3,"button",30),o.ɵɵtext(5,"\n "),o.ɵɵtemplate(6,D,10,8,"button",31),o.ɵɵtext(7,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(8,"\n "),o.ɵɵelementStart(9,"h2",32),o.ɵɵtext(10),o.ɵɵpipe(11,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(12,"\n "),o.ɵɵelementStart(13,"p"),o.ɵɵtext(14),o.ɵɵpipe(15,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(16,"\n "),o.ɵɵelementStart(17,"div",33),o.ɵɵtext(18,"\n "),o.ɵɵelementStart(19,"div",34),o.ɵɵtext(20),o.ɵɵpipe(21,"percent"),o.ɵɵelementEnd(),o.ɵɵtext(22,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(23,"\n "),o.ɵɵtemplate(24,R,9,2,"ng-container",1),o.ɵɵtext(25,"\n "),o.ɵɵelementContainerEnd()),2&e){var n=o.ɵɵnextContext(2);o.ɵɵadvance(4),o.ɵɵproperty("ngIf",!n.subscription||!n.subscription.cancelled),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.subscription&&!n.subscription.cancelled&&!n.subscriptionMarkedForCancel),o.ɵɵadvance(4),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(11,8,"storage")),o.ɵɵadvance(4),o.ɵɵtextInterpolate(o.ɵɵpipeBind3(15,10,"subscriptionStorage",n.sub.maxStorageGb||0,n.sub.storageName||"0 MB")),o.ɵɵadvance(5),o.ɵɵproperty("ngStyle",o.ɵɵpureFunction1(16,U,n.storageProgressWidth+"%")),o.ɵɵattribute("aria-valuenow",n.storagePercentage),o.ɵɵadvance(1),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(21,14,n.storagePercentage/100),""),o.ɵɵadvance(4),o.ɵɵproperty("ngIf",n.subscription&&!n.subscription.cancelled&&!n.subscriptionMarkedForCancel)}}function N(e,t){if(1&e&&(o.ɵɵelementContainerStart(0),o.ɵɵtext(1,"\n "),o.ɵɵtemplate(2,w,4,6,"app-callout",4),o.ɵɵtext(3,"\n "),o.ɵɵtemplate(4,C,18,14,"app-callout",4),o.ɵɵtext(5,"\n "),o.ɵɵtemplate(6,P,10,5,"dl",1),o.ɵɵtext(7,"\n "),o.ɵɵtemplate(8,O,31,16,"div",5),o.ɵɵtext(9,"\n "),o.ɵɵtemplate(10,M,15,7,"ng-container",1),o.ɵɵtext(11,"\n "),o.ɵɵtemplate(12,F,26,18,"ng-container",1),o.ɵɵtext(13,"\n"),o.ɵɵelementContainerEnd()),2&e){var n=o.ɵɵnextContext();o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.subscription&&n.subscription.cancelled),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.subscriptionMarkedForCancel),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.selfHosted),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",!n.selfHosted),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.selfHosted),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",!n.selfHosted)}}var z=function(){function e(e,t,n,r,i,o,a){this.tokenService=e,this.apiService=t,this.platformUtilsService=n,this.i18nService=r,this.analytics=i,this.toasterService=o,this.router=a,this.loading=!1,this.firstLoaded=!1,this.adjustStorageAdd=!0,this.showAdjustStorage=!1,this.showUpdateLicense=!1,this.selfHosted=!1,this.selfHosted=n.isSelfHost()}return e.prototype.ngOnInit=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return[4,this.load()];case 1:return e.sent(),this.firstLoaded=!0,[2]}})})},e.prototype.load=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:return this.loading?[2]:this.tokenService.getPremium()?(this.loading=!0,e=this,[4,this.apiService.getUserSubscription()]):[3,2];case 1:return e.sub=t.sent(),[3,3];case 2:return this.router.navigate(["/settings/premium"]),[2];case 3:return this.loading=!1,[2]}})})},e.prototype.reinstate=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.loading?[2]:this.usingInAppPurchase?(this.platformUtilsService.showDialog(this.i18nService.t("manageSubscriptionFromStore"),this.i18nService.t("cancelSubscription"),null,null,"warning"),[2]):[4,this.platformUtilsService.showDialog(this.i18nService.t("reinstateConfirmation"),this.i18nService.t("reinstateSubscription"),this.i18nService.t("yes"),this.i18nService.t("cancel"))];case 1:if(!e.sent())return[2];e.label=2;case 2:return e.trys.push([2,4,,5]),this.reinstatePromise=this.apiService.postReinstatePremium(),[4,this.reinstatePromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:"Reinstated Premium"}),this.toasterService.popAsync("success",null,this.i18nService.t("reinstated")),this.load(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},e.prototype.cancel=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.loading?[2]:this.usingInAppPurchase?(this.platformUtilsService.showDialog(this.i18nService.t("manageSubscriptionFromStore"),this.i18nService.t("cancelSubscription"),null,null,"warning"),[2]):[4,this.platformUtilsService.showDialog(this.i18nService.t("cancelConfirmation"),this.i18nService.t("cancelSubscription"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!e.sent())return[2];e.label=2;case 2:return e.trys.push([2,4,,5]),this.cancelPromise=this.apiService.postCancelPremium(),[4,this.cancelPromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:"Canceled Premium"}),this.toasterService.popAsync("success",null,this.i18nService.t("canceledSubscription")),this.load(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},e.prototype.downloadLicense=function(){if(!this.loading){var e=JSON.stringify(this.sub.license,null,2);this.platformUtilsService.saveFile(window,e,null,"bitwarden_premium_license.json")}},e.prototype.updateLicense=function(){this.loading||(this.showUpdateLicense=!0)},e.prototype.closeUpdateLicense=function(e){this.showUpdateLicense=!1,e&&this.load()},e.prototype.adjustStorage=function(e){this.usingInAppPurchase?this.platformUtilsService.showDialog(this.i18nService.t("cannotPerformInAppPurchase"),this.i18nService.t(e?"addStorage":"removeStorage"),null,null,"warning"):(this.adjustStorageAdd=e,this.showAdjustStorage=!0)},e.prototype.closeStorage=function(e){this.showAdjustStorage=!1,e&&this.load()},Object.defineProperty(e.prototype,"subscriptionMarkedForCancel",{get:function(){return null!=this.subscription&&!this.subscription.cancelled&&this.subscription.cancelAtEndDate},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"subscription",{get:function(){return null!=this.sub?this.sub.subscription:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"nextInvoice",{get:function(){return null!=this.sub?this.sub.upcomingInvoice:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"storagePercentage",{get:function(){return null!=this.sub&&this.sub.maxStorageGb?+(this.sub.storageGb/this.sub.maxStorageGb*100).toFixed(2):0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"storageProgressWidth",{get:function(){return this.storagePercentage<5?5:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"usingInAppPurchase",{get:function(){return null!=this.sub&&this.sub.usingInAppPurchase},enumerable:!0,configurable:!0}),e.ɵfac=function(t){return new(t||e)(o.ɵɵdirectiveInject(a.TokenService),o.ɵɵdirectiveInject(s.ApiService),o.ɵɵdirectiveInject(l.PlatformUtilsService),o.ɵɵdirectiveInject(c.I18nService),o.ɵɵdirectiveInject(p.Angulartics2),o.ɵɵdirectiveInject(u.ToasterService),o.ɵɵdirectiveInject(d.Router))},e.ɵcmp=o.ɵɵdefineComponent({type:e,selectors:[["app-user-subscription"]],decls:13,vars:6,consts:[[1,"page-header"],[4,"ngIf"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["type","warning",3,"title",4,"ngIf"],["class","row",4,"ngIf"],["type","warning",3,"title"],["type","button",1,"btn","btn-outline-secondary","btn-submit",3,"appApiAction","disabled","click"],["reinstateBtn",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],[1,"row"],[1,"col-4"],[1,"text-capitalize"],["class","badge badge-warning",4,"ngIf"],["class","col-8",4,"ngIf"],[1,"badge","badge-warning"],[1,"col-8"],[1,"d-block","mb-1"],[1,"table"],[4,"ngFor","ngForOf"],["type","button",1,"btn","btn-outline-secondary",3,"click"],["href","https://vault.bitwarden.com/#/settings/subscription","target","_blank","rel","noopener",1,"btn","btn-outline-secondary"],["class","card mt-3",4,"ngIf"],[1,"card","mt-3"],[1,"card-body"],["type","button",1,"close",3,"appA11yTitle","click"],["aria-hidden","true"],[1,"card-body-header"],[3,"onUpdated","onCanceled"],[1,"d-flex"],["type","button","class","btn btn-outline-secondary",3,"click",4,"ngIf"],["type","button","class","btn btn-outline-danger btn-submit ml-auto",3,"appApiAction","disabled","click",4,"ngIf"],[1,"spaced-header"],[1,"progress"],["role","progressbar","aria-valuemin","0","aria-valuemax","100",1,"progress-bar","bg-success",3,"ngStyle"],["type","button",1,"btn","btn-outline-danger","btn-submit","ml-auto",3,"appApiAction","disabled","click"],["cancelBtn",""],[1,"mt-3"],["class","d-flex",4,"ngIf"],[3,"storageGbPrice","add","onAdjusted","onCanceled",4,"ngIf"],["type","button",1,"ml-1","btn","btn-outline-secondary",3,"click"],[3,"storageGbPrice","add","onAdjusted","onCanceled"]],template:function(e,t){1&e&&(o.ɵɵelementStart(0,"div",0),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"h1"),o.ɵɵtext(3),o.ɵɵpipe(4,"i18n"),o.ɵɵtemplate(5,b,9,6,"small",1),o.ɵɵtext(6,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(7,"\n"),o.ɵɵelementEnd(),o.ɵɵtext(8,"\n"),o.ɵɵtemplate(9,S,9,6,"ng-container",1),o.ɵɵtext(10,"\n"),o.ɵɵtemplate(11,N,14,6,"ng-container",1),o.ɵɵtext(12,"\n")),2&e&&(o.ɵɵadvance(3),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(4,4,"premiumMembership"),"\n "),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",t.firstLoaded&&t.loading),o.ɵɵadvance(4),o.ɵɵproperty("ngIf",!t.firstLoaded&&t.loading),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",t.sub))},directives:[m.NgIf,h.CalloutComponent,f.ApiActionDirective,m.NgForOf,v.A11yTitleDirective,y.UpdateLicenseComponent,m.NgStyle,g.AdjustStorageComponent],pipes:[x.I18nPipe,m.DatePipe,m.CurrencyPipe,m.PercentPipe],encapsulation:2}),e}();t.UserSubscriptionComponent=z},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1})];case 1:return t.sent(),this.clearFilters(),this.collectionId=e,this.go(),[2]}})})},e.prototype.filterSearchText=function(e){this.ciphersComponent.searchText=e,this.ciphersComponent.search(200)},e.prototype.editCipherAttachments=function(e){return r(this,void 0,void 0,function(){var t,n,o,s,l,c=this;return i(this,function(u){switch(u.label){case 0:return[4,this.userService.canAccessPremium()];case 1:return t=u.sent(),null!=e.organizationId||t?[3,2]:(this.messagingService.send("premiumRequired"),[2]);case 2:return null==e.organizationId?[3,4]:[4,this.userService.getOrganization(e.organizationId)];case 3:if(null!=(n=u.sent())&&(null==n.maxStorageGb||0===n.maxStorageGb))return this.messagingService.send("upgradeOrganization",{organizationId:e.organizationId}),[2];u.label=4;case 4:return null!=this.modal&&this.modal.close(),o=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent),this.modal=this.attachmentsModalRef.createComponent(o).instance,(s=this.modal.show(p.AttachmentsComponent,this.attachmentsModalRef)).cipherId=e.id,l=!1,s.onUploadedAttachment.subscribe(function(){return l=!0}),s.onDeletedAttachment.subscribe(function(){return l=!0}),s.onReuploadedAttachment.subscribe(function(){return l=!0}),this.modal.onClosed.subscribe(function(){return r(c,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal=null,l?[4,this.ciphersComponent.refresh()]:[3,2];case 1:e.sent(),e.label=2;case 2:return l=!1,[2]}})})}),[2]}})})},e.prototype.shareCipher=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent);this.modal=this.shareModalRef.createComponent(n).instance;var o=this.modal.show(f.ShareComponent,this.shareModalRef);o.cipherId=e.id,o.onSharedCipher.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){return this.modal=null,[2]})})})},e.prototype.editCipherCollections=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent);this.modal=this.collectionsModalRef.createComponent(n).instance;var o=this.modal.show(d.CollectionsComponent,this.collectionsModalRef);o.cipherId=e.id,o.onSavedCollections.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){return this.modal=null,[2]})})})},e.prototype.addFolder=function(){return r(this,void 0,void 0,function(){var e,t,n=this;return i(this,function(o){return null!=this.modal&&this.modal.close(),e=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent),this.modal=this.folderAddEditModalRef.createComponent(e).instance,(t=this.modal.show(m.FolderAddEditComponent,this.folderAddEditModalRef)).folderId=null,t.onSavedFolder.subscribe(function(){return r(n,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return e.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){n.modal=null}),[2]})})},e.prototype.editFolder=function(e){return r(this,void 0,void 0,function(){var t,n,o=this;return i(this,function(s){return null!=this.modal&&this.modal.close(),t=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent),this.modal=this.folderAddEditModalRef.createComponent(t).instance,(n=this.modal.show(m.FolderAddEditComponent,this.folderAddEditModalRef)).folderId=e,n.onSavedFolder.subscribe(function(){return r(o,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return e.sent(),[2]}})})}),n.onDeletedFolder.subscribe(function(){return r(o,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return e.sent(),[4,this.filterFolder("none")];case 2:return e.sent(),this.groupingsComponent.selectedFolderId=null,[2]}})})}),this.modal.onClosed.subscribe(function(){o.modal=null}),[2]})})},e.prototype.addCipher=function(){var e=this,t=this.editCipher(null);if(t.type=this.type,t.folderId="none"===this.folderId?null:this.folderId,null!=this.collectionId){var n=this.groupingsComponent.collections.filter(function(t){return t.id===e.collectionId});n.length>0&&(t.organizationId=n[0].organizationId,t.collectionIds=[this.collectionId])}},e.prototype.editCipher=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent);this.modal=this.cipherAddEditModalRef.createComponent(n).instance;var o=this.modal.show(c.AddEditComponent,this.cipherAddEditModalRef);return o.cipherId=null==e?null:e.id,o.onSavedCipher.subscribe(function(e){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),o.onDeletedCipher.subscribe(function(e){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),o.onRestoredCipher.subscribe(function(e){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){t.modal=null}),o},e.prototype.cloneCipher=function(e){this.editCipher(e).cloneMode=!0},e.prototype.updateKey=function(){var e=this;null!=this.modal&&this.modal.close();var t=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent);this.modal=this.updateKeyModalRef.createComponent(t).instance,this.modal.show(l.UpdateKeyComponent,this.updateKeyModalRef),this.modal.onClosed.subscribe(function(){e.modal=null})},e.prototype.clearFilters=function(){this.folderId=null,this.collectionId=null,this.favorites=!1,this.type=null,this.deleted=!1},e.prototype.go=function(e){void 0===e&&(e=null),null==e&&(e={favorites:!!this.favorites||null,type:this.type,folderId:this.folderId,collectionId:this.collectionId,deleted:!!this.deleted||null}),this.router.navigate([],{relativeTo:this.route,queryParams:e,replaceUrl:!0})},e.ɵfac=function(t){return new(t||e)(v.ɵɵdirectiveInject(y.SyncService),v.ɵɵdirectiveInject(g.ActivatedRoute),v.ɵɵdirectiveInject(g.Router),v.ɵɵdirectiveInject(v.ChangeDetectorRef),v.ɵɵdirectiveInject(x.I18nService),v.ɵɵdirectiveInject(v.ComponentFactoryResolver),v.ɵɵdirectiveInject(b.TokenService),v.ɵɵdirectiveInject(S.CryptoService),v.ɵɵdirectiveInject(w.MessagingService),v.ɵɵdirectiveInject(C.UserService),v.ɵɵdirectiveInject(I.PlatformUtilsService),v.ɵɵdirectiveInject(E.BroadcasterService),v.ɵɵdirectiveInject(v.NgZone))},e.ɵcmp=v.ɵɵdefineComponent({type:e,selectors:[["app-vault"]],viewQuery:function(e,t){var n;(1&e&&(v.ɵɵstaticViewQuery(h.GroupingsComponent,!0),v.ɵɵstaticViewQuery(u.CiphersComponent,!0),v.ɵɵstaticViewQuery(s.OrganizationsComponent,!0),v.ɵɵstaticViewQuery(V,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(j,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(R,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(U,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(F,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(N,!0,o.ViewContainerRef)),2&e)&&(v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.groupingsComponent=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.ciphersComponent=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.organizationsComponent=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.attachmentsModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.folderAddEditModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.cipherAddEditModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.shareModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.collectionsModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.updateKeyModalRef=n.first))},decls:86,vars:20,consts:[[1,"container","page-content"],[1,"row"],[1,"col-3"],[3,"onAllClicked","onFavoritesClicked","onCipherTypeClicked","onFolderClicked","onAddFolder","onEditFolder","onCollectionClicked","onSearchTextChanged","onTrashClicked"],[1,"col-6"],[1,"page-header","d-flex"],[3,"appApiAction"],["actionSpinner",""],[4,"ngIf"],[1,"ml-auto","d-flex"],[3,"ciphersComponent","modal","deleted"],["type","button","class","btn btn-outline-primary btn-sm",3,"click",4,"ngIf"],[3,"onCipherClicked","onAttachmentsClicked","onAddCipher","onShareClicked","onCollectionsClicked","onCloneClicked"],["class","card border-warning mb-4",4,"ngIf"],["class","d-block mb-4",4,"ngIf"],["class","card border-success mb-4",4,"ngIf"],[1,"card"],[1,"card-header","d-flex"],["href","https://help.bitwarden.com/article/what-is-an-organization/","target","_blank","rel","noopener",1,"ml-auto",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],[1,"card-body"],[3,"vault"],["attachments",""],["folderAddEdit",""],["cipherAddEdit",""],["share",""],["collections",""],["updateKeyTemplate",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["type","button",1,"btn","btn-outline-primary","btn-sm",3,"click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"],[1,"card","border-warning","mb-4"],[1,"card-header","bg-warning","text-white"],["aria-hidden","true",1,"fa","fa-warning","fa-fw"],["type","button",1,"btn","btn-block","btn-outline-secondary",3,"click"],[1,"d-block","mb-4"],["target","_blank","href","https://browser-update.org/update-browser.html","rel","noopener",1,"btn","btn-block","btn-outline-secondary"],[1,"card","border-success","mb-4"],[1,"card-header","bg-success","text-white"],["aria-hidden","true",1,"fa","fa-star","fa-fw"],["routerLink","/settings/premium",1,"btn","btn-block","btn-outline-secondary"]],template:function(e,t){if(1&e&&(v.ɵɵelementStart(0,"div",0),v.ɵɵtext(1,"\n "),v.ɵɵelementStart(2,"div",1),v.ɵɵtext(3,"\n "),v.ɵɵelementStart(4,"div",2),v.ɵɵtext(5,"\n "),v.ɵɵelementStart(6,"app-vault-groupings",3),v.ɵɵlistener("onAllClicked",function(){return t.clearGroupingFilters()})("onFavoritesClicked",function(){return t.filterFavorites()})("onCipherTypeClicked",function(e){return t.filterCipherType(e)})("onFolderClicked",function(e){return t.filterFolder(e.id)})("onAddFolder",function(){return t.addFolder()})("onEditFolder",function(e){return t.editFolder(e.id)})("onCollectionClicked",function(e){return t.filterCollection(e.id)})("onSearchTextChanged",function(e){return t.filterSearchText(e)})("onTrashClicked",function(){return t.filterDeleted()}),v.ɵɵtext(7,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(8,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(9,"\n "),v.ɵɵelementStart(10,"div",4),v.ɵɵtext(11,"\n "),v.ɵɵelementStart(12,"div",5),v.ɵɵtext(13,"\n "),v.ɵɵelementStart(14,"h1"),v.ɵɵtext(15),v.ɵɵpipe(16,"i18n"),v.ɵɵelementStart(17,"small",6,7),v.ɵɵtext(19,"\n "),v.ɵɵtemplate(20,z,9,6,"ng-container",8),v.ɵɵtext(21,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(22,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(23,"\n "),v.ɵɵelementStart(24,"div",9),v.ɵɵtext(25,"\n "),v.ɵɵelementStart(26,"app-vault-bulk-actions",10),v.ɵɵtext(27,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(28,"\n "),v.ɵɵtemplate(29,L,5,3,"button",11),v.ɵɵtext(30,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(31,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(32,"\n "),v.ɵɵelementStart(33,"app-vault-ciphers",12),v.ɵɵlistener("onCipherClicked",function(e){return t.editCipher(e)})("onAttachmentsClicked",function(e){return t.editCipherAttachments(e)})("onAddCipher",function(){return t.addCipher()})("onShareClicked",function(e){return t.shareCipher(e)})("onCollectionsClicked",function(e){return t.editCipherCollections(e)})("onCloneClicked",function(e){return t.cloneCipher(e)}),v.ɵɵtext(34,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(35,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(36,"\n "),v.ɵɵelementStart(37,"div",2),v.ɵɵtext(38,"\n "),v.ɵɵtemplate(39,G,19,9,"div",13),v.ɵɵtext(40,"\n "),v.ɵɵtemplate(41,K,1,0,"app-verify-email",14),v.ɵɵtext(42,"\n "),v.ɵɵtemplate(43,q,19,9,"div",13),v.ɵɵtext(44,"\n "),v.ɵɵtemplate(45,H,19,9,"div",15),v.ɵɵtext(46,"\n "),v.ɵɵelementStart(47,"div",16),v.ɵɵtext(48,"\n "),v.ɵɵelementStart(49,"div",17),v.ɵɵtext(50),v.ɵɵpipe(51,"i18n"),v.ɵɵelementStart(52,"a",18),v.ɵɵpipe(53,"i18n"),v.ɵɵtext(54,"\n "),v.ɵɵelement(55,"i",19),v.ɵɵtext(56,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(57,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(58,"\n "),v.ɵɵelementStart(59,"div",20),v.ɵɵtext(60,"\n "),v.ɵɵelement(61,"app-organizations",21),v.ɵɵtext(62,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(63,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(64,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(65,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(66,"\n"),v.ɵɵelementEnd(),v.ɵɵtext(67,"\n"),v.ɵɵtemplate(68,W,0,0,"ng-template",null,22,v.ɵɵtemplateRefExtractor),v.ɵɵtext(70,"\n"),v.ɵɵtemplate(71,$,0,0,"ng-template",null,23,v.ɵɵtemplateRefExtractor),v.ɵɵtext(73,"\n"),v.ɵɵtemplate(74,Y,0,0,"ng-template",null,24,v.ɵɵtemplateRefExtractor),v.ɵɵtext(76,"\n"),v.ɵɵtemplate(77,Q,0,0,"ng-template",null,25,v.ɵɵtemplateRefExtractor),v.ɵɵtext(79,"\n"),v.ɵɵtemplate(80,J,0,0,"ng-template",null,26,v.ɵɵtemplateRefExtractor),v.ɵɵtext(82,"\n"),v.ɵɵtemplate(83,X,0,0,"ng-template",null,27,v.ɵɵtemplateRefExtractor),v.ɵɵtext(85,"\n")),2&e){var n=v.ɵɵreference(18);v.ɵɵadvance(15),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(16,14,"myVault"),"\n "),v.ɵɵadvance(2),v.ɵɵproperty("appApiAction",t.ciphersComponent.actionPromise),v.ɵɵadvance(3),v.ɵɵproperty("ngIf",n.loading),v.ɵɵadvance(6),v.ɵɵproperty("ciphersComponent",t.ciphersComponent)("modal",t.modal)("deleted",t.deleted),v.ɵɵadvance(3),v.ɵɵproperty("ngIf",!t.deleted),v.ɵɵadvance(10),v.ɵɵproperty("ngIf",t.showUpdateKey),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",t.showVerifyEmail),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",t.showBrowserOutdated),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",t.showPremiumCallout),v.ɵɵadvance(5),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(51,16,"organizations"),"\n "),v.ɵɵadvance(2),v.ɵɵpropertyInterpolate("appA11yTitle",v.ɵɵpipeBind1(53,18,"learnMore")),v.ɵɵadvance(9),v.ɵɵproperty("vault",!0)}},directives:[P.GroupingsComponent,k.ApiActionDirective,_.NgIf,A.BulkActionsComponent,O.CiphersComponent,T.A11yTitleDirective,M.OrganizationsComponent,B.VerifyEmailComponent,g.RouterLinkWithHref],pipes:[D.I18nPipe],encapsulation:2}),e}();t.VaultComponent=Z},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1&&this.trustedContacts.splice(t,1)},e.prototype.removeGrantor=function(e){var t=this.grantedContacts.indexOf(e);t>-1&&this.grantedContacts.splice(t,1)},e.prototype.doConfirmation=function(e){return r(this,void 0,void 0,function(){var t,n,r,o,a,s,p,u;return i(this,function(i){switch(i.label){case 0:return[4,this.cryptoService.getEncKey()];case 1:return t=i.sent(),[4,this.apiService.getUserPublicKey(e.granteeId)];case 2:n=i.sent(),r=l.Utils.fromB64ToArray(n.publicKey),i.label=3;case 3:return i.trys.push([3,5,,6]),a=(o=console).log,s="User's fingerprint: ",[4,this.cryptoService.getFingerprint(e.granteeId,r.buffer)];case 4:return a.apply(o,[s+i.sent().join("-")]),[3,6];case 5:return i.sent(),[3,6];case 6:return[4,this.cryptoService.rsaEncrypt(t.key,r.buffer)];case 7:return p=i.sent(),(u=new c.EmergencyAccessConfirmRequest).key=p.encryptedString,[4,this.apiService.postEmergencyAccessConfirm(e.id,u)];case 8:return i.sent(),[2]}})})},e.ɵfac=function(t){return new(t||e)(v.ɵɵdirectiveInject(y.ApiService),v.ɵɵdirectiveInject(g.I18nService),v.ɵɵdirectiveInject(v.ComponentFactoryResolver),v.ɵɵdirectiveInject(x.PlatformUtilsService),v.ɵɵdirectiveInject(b.ToasterService),v.ɵɵdirectiveInject(S.CryptoService),v.ɵɵdirectiveInject(w.StorageService),v.ɵɵdirectiveInject(C.UserService),v.ɵɵdirectiveInject(I.MessagingService))},e.ɵcmp=v.ɵɵdefineComponent({type:e,selectors:[["emergency-access"]],viewQuery:function(e,t){var n;(1&e&&(v.ɵɵstaticViewQuery(T,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(M,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(B,!0,o.ViewContainerRef)),2&e)&&(v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.addEditModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.takeoverModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.confirmModalRef=n.first))},decls:57,vars:24,consts:[[1,"page-header"],["href","https://help.bitwarden.com/article/fingerprint-phrase/","target","_blank","rel","noopener"],[1,"page-header","d-flex"],["href","#","appStopClick","","class","badge badge-primary",3,"click",4,"ngIf"],[1,"ml-auto","d-flex"],["type","button",1,"btn","btn-sm","btn-outline-primary","ml-3",3,"disabled","click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"],["class","table table-hover table-list mb-0",4,"ngIf"],[4,"ngIf"],[1,"page-header","spaced-header"],["addEdit",""],["takeoverTemplate",""],["confirmTemplate",""],["href","#","appStopClick","",1,"badge","badge-primary",3,"click"],[1,"table","table-hover","table-list","mb-0"],[4,"ngFor","ngForOf"],["width","30"],["size","25",3,"data","email","circle","fontSize"],["href","#","appStopClick","",3,"click"],["class","badge badge-secondary",4,"ngIf"],["class","badge badge-warning",4,"ngIf"],["class","badge badge-success",4,"ngIf"],["class","badge badge-primary",4,"ngIf"],["class","text-muted d-block",4,"ngIf"],[1,"table-list-options"],["appListDropdown","",1,"dropdown"],["type","button","data-toggle","dropdown","aria-haspopup","true","aria-expanded","false",1,"btn","btn-outline-secondary","dropdown-toggle",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-cog","fa-lg"],[1,"dropdown-menu","dropdown-menu-right"],["class","dropdown-item","href","#","appStopClick","",3,"click",4,"ngIf"],["class","dropdown-item text-success","href","#","appStopClick","",3,"click",4,"ngIf"],["class","dropdown-item text-warning","href","#","appStopClick","",3,"click",4,"ngIf"],["href","#","appStopClick","",1,"dropdown-item","text-danger",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-remove"],[1,"badge","badge-secondary"],[1,"badge","badge-warning"],[1,"badge","badge-success"],[1,"badge","badge-primary"],[1,"text-muted","d-block"],["href","#","appStopClick","",1,"dropdown-item",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-envelope-o"],["href","#","appStopClick","",1,"dropdown-item","text-success",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-check"],["href","#","appStopClick","",1,"dropdown-item","text-warning",3,"click"],["class","dropdown-item",3,"routerLink",4,"ngIf"],["aria-hidden","true",1,"fa","fa-fw","fa-key"],[1,"dropdown-item",3,"routerLink"],["aria-hidden","true",1,"fa","fa-fw","fa-eye"]],template:function(e,t){1&e&&(v.ɵɵelementStart(0,"div",0),v.ɵɵtext(1,"\n "),v.ɵɵelementStart(2,"h1"),v.ɵɵtext(3),v.ɵɵpipe(4,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(5,"\n"),v.ɵɵelementEnd(),v.ɵɵtext(6,"\n"),v.ɵɵelementStart(7,"p"),v.ɵɵtext(8),v.ɵɵpipe(9,"i18n"),v.ɵɵelementStart(10,"a",1),v.ɵɵtext(11),v.ɵɵpipe(12,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(13,"\n"),v.ɵɵelementEnd(),v.ɵɵtext(14,"\n\n"),v.ɵɵelementStart(15,"div",2),v.ɵɵtext(16,"\n "),v.ɵɵelementStart(17,"h2"),v.ɵɵtext(18),v.ɵɵpipe(19,"i18n"),v.ɵɵtemplate(20,D,3,3,"a",3),v.ɵɵtext(21,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(22,"\n "),v.ɵɵelementStart(23,"div",4),v.ɵɵtext(24,"\n "),v.ɵɵelementStart(25,"button",5),v.ɵɵlistener("click",function(){return t.invite()}),v.ɵɵtext(26,"\n "),v.ɵɵelement(27,"i",6),v.ɵɵtext(28),v.ɵɵpipe(29,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(30,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(31,"\n"),v.ɵɵelementEnd(),v.ɵɵtext(32,"\n\n"),v.ɵɵtemplate(33,W,7,1,"table",7),v.ɵɵtext(34,"\n\n"),v.ɵɵtemplate(35,$,3,3,"p",8),v.ɵɵtext(36,"\n\n"),v.ɵɵelementStart(37,"div",9),v.ɵɵtext(38,"\n "),v.ɵɵelementStart(39,"h2"),v.ɵɵtext(40),v.ɵɵpipe(41,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(42,"\n"),v.ɵɵelementEnd(),v.ɵɵtext(43,"\n\n"),v.ɵɵtemplate(44,ae,7,1,"table",7),v.ɵɵtext(45,"\n\n"),v.ɵɵtemplate(46,se,3,3,"p",8),v.ɵɵtext(47,"\n\n"),v.ɵɵtemplate(48,le,0,0,"ng-template",null,10,v.ɵɵtemplateRefExtractor),v.ɵɵtext(50,"\n"),v.ɵɵtemplate(51,ce,0,0,"ng-template",null,11,v.ɵɵtemplateRefExtractor),v.ɵɵtext(53,"\n"),v.ɵɵtemplate(54,pe,0,0,"ng-template",null,12,v.ɵɵtemplateRefExtractor),v.ɵɵtext(56,"\n")),2&e&&(v.ɵɵadvance(3),v.ɵɵtextInterpolate(v.ɵɵpipeBind1(4,12,"emergencyAccess")),v.ɵɵadvance(5),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(9,14,"emergencyAccessDesc"),"\n "),v.ɵɵadvance(3),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(12,16,"learnMore"),".\n "),v.ɵɵadvance(7),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(19,18,"trustedEmergencyContacts"),"\n "),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",!t.canAccessPremium),v.ɵɵadvance(5),v.ɵɵproperty("disabled",!t.canAccessPremium),v.ɵɵadvance(3),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(29,20,"addEmergencyContact"),"\n "),v.ɵɵadvance(5),v.ɵɵproperty("ngIf",t.trustedContacts&&t.trustedContacts.length),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",!t.trustedContacts||!t.trustedContacts.length),v.ɵɵadvance(5),v.ɵɵtextInterpolate(v.ɵɵpipeBind1(41,22,"designatedEmergencyContacts")),v.ɵɵadvance(4),v.ɵɵproperty("ngIf",t.grantedContacts&&t.grantedContacts.length),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",!t.grantedContacts||!t.grantedContacts.length))},directives:[E.NgIf,P.StopClickDirective,E.NgForOf,k.AvatarComponent,_.A11yTitleDirective,A.RouterLinkWithHref],pipes:[O.I18nPipe],encapsulation:2}),e}();t.EmergencyAccessComponent=ue},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.View=0]="View",e[e.Takeover=1]="Takeover"}(t.EmergencyAccessType||(t.EmergencyAccessType={}))},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(504),s=function(e){function t(t){var n=e.call(this,t)||this;return n.id=n.getResponseProperty("Id"),n.granteeId=n.getResponseProperty("GranteeId"),n.name=n.getResponseProperty("Name"),n.email=n.getResponseProperty("Email"),n.type=n.getResponseProperty("Type"),n.status=n.getResponseProperty("Status"),n.waitTimeDays=n.getResponseProperty("WaitTimeDays"),n.creationDate=n.getResponseProperty("CreationDate"),n}return i(t,e),t}(o.BaseResponse);t.EmergencyAccessGranteeDetailsResponse=s;var l=function(e){function t(t){var n=e.call(this,t)||this;return n.id=n.getResponseProperty("Id"),n.grantorId=n.getResponseProperty("GrantorId"),n.name=n.getResponseProperty("Name"),n.email=n.getResponseProperty("Email"),n.type=n.getResponseProperty("Type"),n.status=n.getResponseProperty("Status"),n.waitTimeDays=n.getResponseProperty("WaitTimeDays"),n.creationDate=n.getResponseProperty("CreationDate"),n}return i(t,e),t}(o.BaseResponse);t.EmergencyAccessGrantorDetailsResponse=l;var c=function(e){function t(t){var n=e.call(this,t)||this;return n.keyEncrypted=n.getResponseProperty("KeyEncrypted"),n.kdf=n.getResponseProperty("Kdf"),n.kdfIterations=n.getResponseProperty("KdfIterations"),n}return i(t,e),t}(o.BaseResponse);t.EmergencyAccessTakeoverResponse=c;var p=function(e){function t(t){var n=e.call(this,t)||this;n.ciphers=[],n.keyEncrypted=n.getResponseProperty("KeyEncrypted");var r=n.getResponseProperty("Ciphers");return null!=r&&(n.ciphers=r.map(function(e){return new a.CipherResponse(e)})),n}return i(t,e),t}(o.BaseResponse);t.EmergencyAccessViewResponse=p},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1?"&":"?",e+="end="+n),null!=r&&(e+=e.indexOf("?")>-1?"&":"?",e+="continuationToken="+r),e},e.prototype.isJsonResponse=function(e){var t=e.headers.get("content-type");return null!=t&&t.indexOf("application/json")>-1},e}();t.ApiService=G},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(295),s=function(e){function t(t){var n=e.call(this,t)||this;return n.id=n.getResponseProperty("Id"),n.organizationId=n.getResponseProperty("OrganizationId"),n.name=n.getResponseProperty("Name"),n.externalId=n.getResponseProperty("ExternalId"),n}return i(t,e),t}(o.BaseResponse);t.CollectionResponse=s;var l=function(e){function t(t){var n=e.call(this,t)||this;return n.readOnly=n.getResponseProperty("ReadOnly")||!1,n}return i(t,e),t}(s);t.CollectionDetailsResponse=l;var c=function(e){function t(t){var n=e.call(this,t)||this;n.groups=[];var r=n.getResponseProperty("Groups");return null!=r&&(n.groups=r.map(function(e){return new a.SelectionReadOnlyResponse(e)})),n}return i(t,e),t}(s);t.CollectionGroupDetailsResponse=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(894),s=function(e){function t(t){var n=e.call(this,t)||this;n.globalEquivalentDomains=[],n.equivalentDomains=n.getResponseProperty("EquivalentDomains");var r=n.getResponseProperty("GlobalEquivalentDomains");return n.globalEquivalentDomains=null!=r?r.map(function(e){return new a.GlobalDomainResponse(e)}):[],n}return i(t,e),t}(o.BaseResponse);t.DomainsResponse=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t,n,r){var i=e.call(this,t)||this,o=null;if(null!=t){var a=i.getResponseProperty("ErrorModel");o=a&&r?a:t}return o?(i.message=i.getResponseProperty("Message",o),i.validationErrors=i.getResponseProperty("ValidationErrors",o)):429===n&&(i.message="Rate limit exceeded. Try again later."),i.statusCode=n,i}return i(t,e),t.prototype.getSingleMessage=function(){if(null==this.validationErrors)return this.message;for(var e in this.validationErrors)if(this.validationErrors.hasOwnProperty(e)&&this.validationErrors[e].length)return this.validationErrors[e][0];return this.message},t.prototype.getAllMessages=function(){var e=[];if(null==this.validationErrors)return e;var t=function(t){if(!n.validationErrors.hasOwnProperty(t))return"continue";n.validationErrors[t].forEach(function(n){var r="";if(t.indexOf("[")>-1&&t.indexOf("]")>-1){var i=t.lastIndexOf(".");r=t.substr(0,i>-1?i:t.length)+": "}e.push(r+n)})},n=this;for(var r in this.validationErrors)t(r);return e},t}(n(25).BaseResponse);t.ErrorResponse=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){var n=e.call(this,t)||this;return n.id=n.getResponseProperty("Id"),n.name=n.getResponseProperty("Name"),n.revisionDate=n.getResponseProperty("RevisionDate"),n}return i(t,e),t}(n(25).BaseResponse);t.FolderResponse=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(670),s=function(e){function t(t){var n=e.call(this,t)||this;n.id=n.getResponseProperty("Id"),n.identifier=n.getResponseProperty("Identifier"),n.name=n.getResponseProperty("Name"),n.businessName=n.getResponseProperty("BusinessName"),n.businessAddress1=n.getResponseProperty("BusinessAddress1"),n.businessAddress2=n.getResponseProperty("BusinessAddress2"),n.businessAddress3=n.getResponseProperty("BusinessAddress3"),n.businessCountry=n.getResponseProperty("BusinessCountry"),n.businessTaxNumber=n.getResponseProperty("BusinessTaxNumber"),n.billingEmail=n.getResponseProperty("BillingEmail");var r=n.getResponseProperty("Plan");return n.plan=null==r?null:new a.PlanResponse(r),n.planType=n.getResponseProperty("PlanType"),n.seats=n.getResponseProperty("Seats"),n.maxCollections=n.getResponseProperty("MaxCollections"),n.maxStorageGb=n.getResponseProperty("MaxStorageGb"),n.useGroups=n.getResponseProperty("UseGroups"),n.useDirectory=n.getResponseProperty("UseDirectory"),n.useEvents=n.getResponseProperty("UseEvents"),n.useTotp=n.getResponseProperty("UseTotp"),n.use2fa=n.getResponseProperty("Use2fa"),n.useApi=n.getResponseProperty("UseApi"),n}return i(t,e),t}(o.BaseResponse);t.OrganizationResponse=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){var n=e.call(this,t)||this;return n.type=n.getResponseProperty("Type"),n.product=n.getResponseProperty("Product"),n.name=n.getResponseProperty("Name"),n.isAnnual=n.getResponseProperty("IsAnnual"),n.nameLocalizationKey=n.getResponseProperty("NameLocalizationKey"),n.descriptionLocalizationKey=n.getResponseProperty("DescriptionLocalizationKey"),n.canBeUsedByBusiness=n.getResponseProperty("CanBeUsedByBusiness"),n.baseSeats=n.getResponseProperty("BaseSeats"),n.baseStorageGb=n.getResponseProperty("BaseStorageGb"),n.maxCollections=n.getResponseProperty("MaxCollections"),n.maxUsers=n.getResponseProperty("MaxUsers"),n.hasAdditionalSeatsOption=n.getResponseProperty("HasAdditionalSeatsOption"),n.maxAdditionalSeats=n.getResponseProperty("MaxAdditionalSeats"),n.hasAdditionalStorageOption=n.getResponseProperty("HasAdditionalStorageOption"),n.maxAdditionalStorage=n.getResponseProperty("MaxAdditionalStorage"),n.hasPremiumAccessOption=n.getResponseProperty("HasPremiumAccessOption"),n.trialPeriodDays=n.getResponseProperty("TrialPeriodDays"),n.hasSelfHost=n.getResponseProperty("HasSelfHost"),n.hasPolicies=n.getResponseProperty("HasPolicies"),n.hasGroups=n.getResponseProperty("HasGroups"),n.hasDirectory=n.getResponseProperty("HasDirectory"),n.hasEvents=n.getResponseProperty("HasEvents"),n.hasTotp=n.getResponseProperty("HasTotp"),n.has2fa=n.getResponseProperty("Has2fa"),n.hasApi=n.getResponseProperty("HasApi"),n.hasSso=n.getResponseProperty("HasSso"),n.usersGetPremium=n.getResponseProperty("UsersGetPremium"),n.upgradeSortOrder=n.getResponseProperty("UpgradeSortOrder"),n.displaySortOrder=n.getResponseProperty("SortOrder"),n.legacyYear=n.getResponseProperty("LegacyYear"),n.disabled=n.getResponseProperty("Disabled"),n.stripePlanId=n.getResponseProperty("StripePlanId"),n.stripeSeatPlanId=n.getResponseProperty("StripeSeatPlanId"),n.stripeStoragePlanId=n.getResponseProperty("StripeStoragePlanId"),n.stripePremiumAccessPlanId=n.getResponseProperty("StripePremiumAccessPlanId"),n.basePrice=n.getResponseProperty("BasePrice"),n.seatPrice=n.getResponseProperty("SeatPrice"),n.additionalStoragePricePerGb=n.getResponseProperty("AdditionalStoragePricePerGb"),n.premiumAccessOptionPrice=n.getResponseProperty("PremiumAccessOptionPrice"),n}return i(t,e),t}(n(25).BaseResponse);t.PlanResponse=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=function(e){function t(t){var n=e.call(this,t)||this;n.storageName=n.getResponseProperty("StorageName"),n.storageGb=n.getResponseProperty("StorageGb"),n.maxStorageGb=n.getResponseProperty("MaxStorageGb"),n.license=n.getResponseProperty("License"),n.expiration=n.getResponseProperty("Expiration"),n.usingInAppPurchase=n.getResponseProperty("UsingInAppPurchase");var r=n.getResponseProperty("Subscription"),i=n.getResponseProperty("UpcomingInvoice");return n.subscription=null==r?null:new s(r),n.upcomingInvoice=null==i?null:new c(i),n}return i(t,e),t}(o.BaseResponse);t.SubscriptionResponse=a;var s=function(e){function t(t){var n=e.call(this,t)||this;n.items=[],n.trialEndDate=n.getResponseProperty("TrialStartDate"),n.trialEndDate=n.getResponseProperty("TrialEndDate"),n.periodStartDate=n.getResponseProperty("PeriodStartDate"),n.periodEndDate=n.getResponseProperty("PeriodEndDate"),n.cancelledDate=n.getResponseProperty("CancelledDate"),n.cancelAtEndDate=n.getResponseProperty("CancelAtEndDate"),n.status=n.getResponseProperty("Status"),n.cancelled=n.getResponseProperty("Cancelled");var r=n.getResponseProperty("Items");return null!=r&&(n.items=r.map(function(e){return new l(e)})),n}return i(t,e),t}(o.BaseResponse);t.BillingSubscriptionResponse=s;var l=function(e){function t(t){var n=e.call(this,t)||this;return n.name=n.getResponseProperty("Name"),n.amount=n.getResponseProperty("Amount"),n.quantity=n.getResponseProperty("Quantity"),n.interval=n.getResponseProperty("Interval"),n}return i(t,e),t}(o.BaseResponse);t.BillingSubscriptionItemResponse=l;var c=function(e){function t(t){var n=e.call(this,t)||this;return n.date=n.getResponseProperty("Date"),n.amount=n.getResponseProperty("Amount"),n}return i(t,e),t}(o.BaseResponse);t.BillingSubscriptionUpcomingInvoiceResponse=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){var n=e.call(this,t)||this;return n.id=n.getResponseProperty("Id"),n.organizationId=n.getResponseProperty("OrganizationId"),n.type=n.getResponseProperty("Type"),n.data=n.getResponseProperty("Data"),n.enabled=n.getResponseProperty("Enabled"),n}return i(t,e),t}(n(25).BaseResponse);t.PolicyResponse=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(506),s=n(507),l=function(e){function t(t){var n=e.call(this,t)||this;n.id=n.getResponseProperty("Id"),n.accessId=n.getResponseProperty("AccessId"),n.type=n.getResponseProperty("Type"),n.name=n.getResponseProperty("Name"),n.notes=n.getResponseProperty("Notes"),n.key=n.getResponseProperty("Key"),n.maxAccessCount=n.getResponseProperty("MaxAccessCount"),n.accessCount=n.getResponseProperty("AccessCount"),n.revisionDate=n.getResponseProperty("RevisionDate"),n.expirationDate=n.getResponseProperty("ExpirationDate"),n.deletionDate=n.getResponseProperty("DeletionDate"),n.password=n.getResponseProperty("Password"),n.disable=n.getResponseProperty("Disabled")||!1;var r=n.getResponseProperty("Text");null!=r&&(n.text=new s.SendTextApi(r));var i=n.getResponseProperty("File");return null!=i&&(n.file=new a.SendFileApi(i)),n}return i(t,e),t}(o.BaseResponse);t.SendResponse=l},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0;s--)(i=e[s])&&(a=(o<3?i(a):o>3?i(t,n,a):i(t,n))||a);return o>3&&a&&Object.defineProperty(t,n,a),a},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0;s--)(i=e[s])&&(a=(o<3?i(a):o>3?i(t,n,a):i(t,n))||a);return o>3&&a&&Object.defineProperty(t,n,a),a},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]5&&(e.passwordHistory=e.passwordHistory.slice(0,5)),a.label=5;case 5:return(p=new m.Cipher).id=e.id,p.folderId=e.folderId,p.favorite=e.favorite,p.organizationId=e.organizationId,p.type=e.type,p.collectionIds=e.collectionIds,p.revisionDate=e.revisionDate,null!=t||null==p.organizationId?[3,7]:[4,this.cryptoService.getOrgKey(p.organizationId)];case 6:if(null==(t=a.sent()))throw new Error("Cannot encrypt cipher for organization. No key.");a.label=7;case 7:return[4,Promise.all([this.encryptObjProperty(e,p,{name:null,notes:null},t),this.encryptCipherData(p,e,t),this.encryptFields(e.fields,t).then(function(e){p.fields=e}),this.encryptPasswordHistories(e.passwordHistory,t).then(function(e){p.passwordHistory=e}),this.encryptAttachments(e.attachments,t).then(function(e){p.attachments=e})])];case 8:return a.sent(),[2,p]}})})},t.prototype.encryptAttachments=function(e,t){return o(this,void 0,void 0,function(){var n,r,i=this;return a(this,function(s){switch(s.label){case 0:return null==e||0===e.length?[2,null]:(n=[],r=[],e.forEach(function(e){return o(i,void 0,void 0,function(){var i,s,l=this;return a(this,function(c){return(i=new u.Attachment).id=e.id,i.size=e.size,i.sizeName=e.sizeName,i.url=e.url,s=this.encryptObjProperty(e,i,{fileName:null},t).then(function(){return o(l,void 0,void 0,function(){var n;return a(this,function(o){switch(o.label){case 0:return null==e.key?[3,2]:(n=i,[4,this.cryptoService.encrypt(e.key.key,t)]);case 1:n.key=o.sent(),o.label=2;case 2:return r.push(i),[2]}})})}),n.push(s),[2]})})}),[4,Promise.all(n)]);case 1:return s.sent(),[2,r]}})})},t.prototype.encryptFields=function(e,t){return o(this,void 0,void 0,function(){var n,r;return a(this,function(i){switch(i.label){case 0:return e&&e.length?(n=this,r=[],[4,e.reduce(function(e,i){return e.then(function(){return n.encryptField(i,t)}).then(function(e){r.push(e)})},Promise.resolve())]):[2,null];case 1:return i.sent(),[2,r]}})})},t.prototype.encryptField=function(e,t){return o(this,void 0,void 0,function(){var n;return a(this,function(r){switch(r.label){case 0:return(n=new h.Field).type=e.type,e.type===l.FieldType.Boolean&&"true"!==e.value&&(e.value="false"),[4,this.encryptObjProperty(e,n,{name:null,value:null},t)];case 1:return r.sent(),[2,n]}})})},t.prototype.encryptPasswordHistories=function(e,t){return o(this,void 0,void 0,function(){var n,r;return a(this,function(i){switch(i.label){case 0:return e&&e.length?(n=this,r=[],[4,e.reduce(function(e,i){return e.then(function(){return n.encryptPasswordHistory(i,t)}).then(function(e){r.push(e)})},Promise.resolve())]):[2,null];case 1:return i.sent(),[2,r]}})})},t.prototype.encryptPasswordHistory=function(e,t){return o(this,void 0,void 0,function(){var n;return a(this,function(r){switch(r.label){case 0:return(n=new g.Password).lastUsedDate=e.lastUsedDate,[4,this.encryptObjProperty(e,n,{password:null},t)];case 1:return r.sent(),[2,n]}})})},t.prototype.get=function(e){return o(this,void 0,void 0,function(){var t,n,r;return a(this,function(i){switch(i.label){case 0:return[4,this.userService.getUserId()];case 1:return t=i.sent(),[4,this.storageService.get(D)];case 2:return n=i.sent(),[4,this.storageService.get(B+t)];case 3:return null!=(r=i.sent())&&r.hasOwnProperty(e)?[2,new m.Cipher(r[e],!1,n?n[e]:null)]:[2,null]}})})},t.prototype.getAll=function(){return o(this,void 0,void 0,function(){var e,t,n,r,i;return a(this,function(o){switch(o.label){case 0:return[4,this.userService.getUserId()];case 1:return e=o.sent(),[4,this.storageService.get(D)];case 2:return t=o.sent(),[4,this.storageService.get(B+e)];case 3:for(i in n=o.sent(),r=[],n)n.hasOwnProperty(i)&&r.push(new m.Cipher(n[i],!1,t?t[i]:null));return[2,r]}})})},t.prototype.getAllDecrypted=function(){return o(this,void 0,void 0,function(){var e,t;return a(this,function(n){switch(n.label){case 0:return null!=this.decryptedCipherCache?[2,this.decryptedCipherCache]:(e=[],[4,this.cryptoService.hasKey()]);case 1:if(!n.sent())throw new Error("No key.");return t=[],[4,this.getAll()];case 2:return n.sent().forEach(function(n){t.push(n.decrypt().then(function(t){return e.push(t)}))}),[4,Promise.all(t)];case 3:return n.sent(),e.sort(this.getLocaleSortingFunction()),this.decryptedCipherCache=e,[2,this.decryptedCipherCache]}})})},t.prototype.getAllDecryptedForGrouping=function(e,t){return void 0===t&&(t=!0),o(this,void 0,void 0,function(){return a(this,function(n){switch(n.label){case 0:return[4,this.getAllDecrypted()];case 1:return[2,n.sent().filter(function(n){return!n.isDeleted&&(!(!t||n.folderId!==e)||!t&&null!=n.collectionIds&&n.collectionIds.indexOf(e)>-1)})]}})})},t.prototype.getAllDecryptedForUrl=function(e,t,n){return void 0===n&&(n=null),o(this,void 0,void 0,function(){var r,i,o,l,p;return a(this,function(a){switch(a.label){case 0:return null==e&&null==t?[2,Promise.resolve([])]:(r=M.Utils.getDomain(e),i=null==r?Promise.resolve([]):this.settingsService.getEquivalentDomains().then(function(e){var t=[];return e.forEach(function(e){e.length&&e.indexOf(r)>=0&&(t=t.concat(e))}),t.length||t.push(r),t}),[4,Promise.all([i,this.getAllDecrypted()])]);case 1:return o=a.sent(),l=o[0],p=o[1],null!=n?[3,3]:[4,this.storageService.get(O.ConstantsService.defaultUriMatch)];case 2:null==(n=a.sent())&&(n=c.UriMatchType.Domain),a.label=3;case 3:return[2,p.filter(function(i){if(null!=i.deletedDate)return!1;if(null!=t&&t.indexOf(i.type)>-1)return!0;if(null!=e&&i.type===s.CipherType.Login&&null!=i.login.uris)for(var o=0;o-1){if(!j.has(p.domain))return!0;var u=M.Utils.getHost(e);if(!j.get(p.domain).has(u))return!0}break;case c.UriMatchType.Host:var d=M.Utils.getHost(e);if(null!=d&&d===M.Utils.getHost(p.uri))return!0;break;case c.UriMatchType.Exact:if(e===p.uri)return!0;break;case c.UriMatchType.StartsWith:if(e.startsWith(p.uri))return!0;break;case c.UriMatchType.RegularExpression:try{if(new RegExp(p.uri,"i").test(e))return!0}catch(a){}break;case c.UriMatchType.Never:}}return!1})]}})})},t.prototype.getAllFromApiForOrganization=function(e){return o(this,void 0,void 0,function(){var t,n,r;return a(this,function(i){switch(i.label){case 0:return[4,this.apiService.getCiphersOrganization(e)];case 1:return null!=(t=i.sent())&&null!=t.data&&t.data.length?(n=[],r=[],t.data.forEach(function(e){var t=new p.CipherData(e),i=new m.Cipher(t);r.push(i.decrypt().then(function(e){return n.push(e)}))}),[4,Promise.all(r)]):[3,3];case 2:return i.sent(),n.sort(this.getLocaleSortingFunction()),[2,n];case 3:return[2,[]]}})})},t.prototype.getLastUsedForUrl=function(e){return o(this,void 0,void 0,function(){return a(this,function(t){return[2,this.getCipherForUrl(e,!0,!1)]})})},t.prototype.getLastLaunchedForUrl=function(e){return o(this,void 0,void 0,function(){return a(this,function(t){return[2,this.getCipherForUrl(e,!1,!0)]})})},t.prototype.getNextCipherForUrl=function(e){return o(this,void 0,void 0,function(){return a(this,function(t){return[2,this.getCipherForUrl(e,!1,!1)]})})},t.prototype.updateLastUsedIndexForUrl=function(e){this.sortedCiphersCache.updateLastUsedIndex(e)},t.prototype.updateLastUsedDate=function(e){return o(this,void 0,void 0,function(){var t,n,r;return a(this,function(i){switch(i.label){case 0:return[4,this.storageService.get(D)];case 1:return(t=i.sent())||(t={}),t[e]?t[e].lastUsedDate=(new Date).getTime():t[e]={lastUsedDate:(new Date).getTime()},[4,this.storageService.save(D,t)];case 2:if(i.sent(),null==this.decryptedCipherCache)return[2];for(n=0;nr?-1:null!=r&&null==n?1:0},t.prototype.sortCiphersByLastUsedThenName=function(e,t){var n=this.sortCiphersByLastUsed(e,t);return 0!==n?n:this.getLocaleSortingFunction()(e,t)},t.prototype.getLocaleSortingFunction=function(){var e=this;return function(t,n){var r=t.name,i=n.name;if(null==r&&null!=i)return-1;if(null!=r&&null==i)return 1;if(null==r&&null==i)return 0;var o=e.i18nService.collator?e.i18nService.collator.compare(r,i):r.localeCompare(i);return 0!==o||t.type!==s.CipherType.Login||n.type!==s.CipherType.Login?o:(null!=t.login.username&&(r+=t.login.username),null!=n.login.username&&(i+=n.login.username),e.i18nService.collator?e.i18nService.collator.compare(r,i):r.localeCompare(i))}},t.prototype.softDelete=function(e){return o(this,void 0,void 0,function(){var t,n,r;return a(this,function(i){switch(i.label){case 0:return[4,this.userService.getUserId()];case 1:return t=i.sent(),[4,this.storageService.get(B+t)];case 2:return null==(n=i.sent())?[2]:(r=function(e){null!=n[e]&&(n[e].deletedDate=(new Date).toISOString())},"string"==typeof e?r(e):e.forEach(r),[4,this.storageService.save(B+t,n)]);case 3:return i.sent(),this.decryptedCipherCache=null,[2]}})})},t.prototype.softDeleteWithServer=function(e){return o(this,void 0,void 0,function(){return a(this,function(t){switch(t.label){case 0:return[4,this.apiService.putDeleteCipher(e)];case 1:return t.sent(),[4,this.softDelete(e)];case 2:return t.sent(),[2]}})})},t.prototype.softDeleteManyWithServer=function(e){return o(this,void 0,void 0,function(){return a(this,function(t){switch(t.label){case 0:return[4,this.apiService.putDeleteManyCiphers(new b.CipherBulkDeleteRequest(e))];case 1:return t.sent(),[4,this.softDelete(e)];case 2:return t.sent(),[2]}})})},t.prototype.restore=function(e){return o(this,void 0,void 0,function(){var t,n,r;return a(this,function(i){switch(i.label){case 0:return[4,this.userService.getUserId()];case 1:return t=i.sent(),[4,this.storageService.get(B+t)];case 2:return null==(n=i.sent())?[2]:(r=function(e){null!=n[e.id]&&(n[e.id].deletedDate=null,n[e.id].revisionDate=e.revisionDate)},"Array"===e.constructor.name?e.forEach(r):r(e),[4,this.storageService.save(B+t,n)]);case 3:return i.sent(),this.decryptedCipherCache=null,[2]}})})},t.prototype.restoreWithServer=function(e){return o(this,void 0,void 0,function(){var t;return a(this,function(n){switch(n.label){case 0:return[4,this.apiService.putRestoreCipher(e)];case 1:return t=n.sent(),[4,this.restore({id:e,revisionDate:t.revisionDate})];case 2:return n.sent(),[2]}})})},t.prototype.restoreManyWithServer=function(e){return o(this,void 0,void 0,function(){var t,n,r,i,o;return a(this,function(a){switch(a.label){case 0:return[4,this.apiService.putRestoreManyCiphers(new w.CipherBulkRestoreRequest(e))];case 1:for(t=a.sent(),n=[],r=0,i=t.data;r0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0;s--)(i=e[s])&&(a=(o<3?i(a):o>3?i(t,n,a):i(t,n))||a);return o>3&&a&&Object.defineProperty(t,n,a),a},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?[2,this.orgKeys]:[4,this.storageService.get(g)];case 1:if(null==(e=a.sent()))return[2,null];for(i in t=new Map,n=!1,r=[],e)r.push(i);o=0,a.label=2;case 2:return o53)throw new Error("We cannot generate numbers larger than 53 bits.");return o=Math.ceil(i/8),s=Math.pow(2,i)-1,c=Uint8Array.bind,[4,this.cryptoFunctionService.randomBytes(o)];case 1:for(l=new(c.apply(Uint8Array,[void 0,a.sent()])),p=8*(o-1),u=0;u=r?[2,this.randomNumber(e,t)]:[2,e+n]}})})},e.prototype.aesEncrypt=function(e,t){return o(this,void 0,void 0,function(){var n,r,i,o,s,l;return a(this,function(a){switch(a.label){case 0:return n=new u.EncryptedObject,r=n,[4,this.getKeyForEncryption(t)];case 1:return r.key=a.sent(),i=n,[4,this.cryptoFunctionService.randomBytes(16)];case 2:return i.iv=a.sent(),o=n,[4,this.cryptoFunctionService.aesEncrypt(e,n.iv,n.key.encKey)];case 3:return o.data=a.sent(),null==n.key.macKey?[3,5]:((s=new Uint8Array(n.iv.byteLength+n.data.byteLength)).set(new Uint8Array(n.iv),0),s.set(new Uint8Array(n.data),n.iv.byteLength),l=n,[4,this.cryptoFunctionService.hmac(s.buffer,n.key.macKey,"sha256")]);case 4:l.mac=a.sent(),a.label=5;case 5:return[2,n]}})})},e.prototype.aesDecryptToUtf8=function(e,t,n,r,i){return o(this,void 0,void 0,function(){var o,s,l,c;return a(this,function(a){switch(a.label){case 0:return[4,this.getKeyForEncryption(i)];case 1:return o=a.sent(),null!=(s=this.resolveLegacyKey(e,o)).macKey&&null==r?(this.logService.error("mac required."),[2,null]):s.encType!==e?(this.logService.error("encType unavailable."),[2,null]):null==(l=this.cryptoFunctionService.aesDecryptFastParameters(t,n,r,s)).macKey||null==l.mac?[3,4]:[4,this.cryptoFunctionService.hmacFast(l.macData,l.macKey,"sha256")];case 2:return c=a.sent(),[4,this.cryptoFunctionService.compareFast(l.mac,c)];case 3:if(!a.sent())return this.logService.error("mac failed."),[2,null];a.label=4;case 4:return[2,this.cryptoFunctionService.aesDecryptFast(l)]}})})},e.prototype.aesDecryptToBytes=function(e,t,n,r,i){return o(this,void 0,void 0,function(){var o,s,l,c;return a(this,function(a){switch(a.label){case 0:return[4,this.getKeyForEncryption(i)];case 1:return o=a.sent(),null!=(s=this.resolveLegacyKey(e,o)).macKey&&null==r?[2,null]:s.encType!==e?[2,null]:null==s.macKey||null==r?[3,4]:((l=new Uint8Array(n.byteLength+t.byteLength)).set(new Uint8Array(n),0),l.set(new Uint8Array(t),n.byteLength),[4,this.cryptoFunctionService.hmac(l.buffer,s.macKey,"sha256")]);case 2:return null===(c=a.sent())?[2,null]:[4,this.cryptoFunctionService.compare(r,c)];case 3:if(!a.sent())return this.logService.error("mac failed."),[2,null];a.label=4;case 4:return[4,this.cryptoFunctionService.aesDecrypt(t,n,s.encKey)];case 5:return[2,a.sent()]}})})},e.prototype.getKeyForEncryption=function(e){return o(this,void 0,void 0,function(){var t;return a(this,function(n){switch(n.label){case 0:return null!=e?[2,e]:[4,this.getEncKey()];case 1:return null!=(t=n.sent())?[2,t]:[4,this.getKey()];case 2:return[2,n.sent()]}})})},e.prototype.resolveLegacyKey=function(e,t){return e===l.EncryptionType.AesCbc128_HmacSha256_B64&&t.encType===l.EncryptionType.AesCbc256_B64?(null==this.legacyEtmKey&&(this.legacyEtmKey=new d.SymmetricCryptoKey(t.key,l.EncryptionType.AesCbc128_HmacSha256_B64)),this.legacyEtmKey):t},e.prototype.stretchKey=function(e){return o(this,void 0,void 0,function(){var t,n,r;return a(this,function(i){switch(i.label){case 0:return t=new Uint8Array(64),[4,this.cryptoFunctionService.hkdfExpand(e.key,"enc",32,"sha256")];case 1:return n=i.sent(),[4,this.cryptoFunctionService.hkdfExpand(e.key,"mac",32,"sha256")];case 2:return r=i.sent(),t.set(new Uint8Array(n)),t.set(new Uint8Array(r),32),[2,new d.SymmetricCryptoKey(t.buffer)]}})})},e.prototype.hashPhrase=function(e,t){return void 0===t&&(t=64),o(this,void 0,void 0,function(){var n,r,i,o,l,c,p;return a(this,function(a){if(n=Math.log(v.EEFLongWordList.length)/Math.log(2),r=Math.ceil(t/n),i=Array.from(new Uint8Array(e)),o=4*i.length,r*n>o)throw new Error("Output entropy of hash function is too small");for(l=[],c=s.fromArray(i,256);r--;)p=c.mod(v.EEFLongWordList.length),c=c.divide(v.EEFLongWordList.length),l.push(v.EEFLongWordList[p]);return[2,l]})})},e.prototype.buildEncKey=function(e,t){return o(this,void 0,void 0,function(){var n,r;return a(this,function(i){switch(i.label){case 0:return n=null,32!==e.key.byteLength?[3,3]:[4,this.stretchKey(e)];case 1:return r=i.sent(),[4,this.encrypt(t,r)];case 2:return n=i.sent(),[3,6];case 3:return 64!==e.key.byteLength?[3,5]:[4,this.encrypt(t,e)];case 4:return n=i.sent(),[3,6];case 5:throw new Error("Invalid key size.");case 6:return[2,[new d.SymmetricCryptoKey(t),n]]}})})},r([h.sequentialize(function(){return"getEncKey"}),i("design:type",Function),i("design:paramtypes",[d.SymmetricCryptoKey]),i("design:returntype",Promise)],e.prototype,"getEncKey",null),r([h.sequentialize(function(){return"getOrgKeys"}),i("design:type",Function),i("design:paramtypes",[]),i("design:returntype",Promise)],e.prototype,"getOrgKeys",null),e}();t.CryptoService=w},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EEFLongWordList=["abacus","abdomen","abdominal","abide","abiding","ability","ablaze","able","abnormal","abrasion","abrasive","abreast","abridge","abroad","abruptly","absence","absentee","absently","absinthe","absolute","absolve","abstain","abstract","absurd","accent","acclaim","acclimate","accompany","account","accuracy","accurate","accustom","acetone","achiness","aching","acid","acorn","acquaint","acquire","acre","acrobat","acronym","acting","action","activate","activator","active","activism","activist","activity","actress","acts","acutely","acuteness","aeration","aerobics","aerosol","aerospace","afar","affair","affected","affecting","affection","affidavit","affiliate","affirm","affix","afflicted","affluent","afford","affront","aflame","afloat","aflutter","afoot","afraid","afterglow","afterlife","aftermath","aftermost","afternoon","aged","ageless","agency","agenda","agent","aggregate","aghast","agile","agility","aging","agnostic","agonize","agonizing","agony","agreeable","agreeably","agreed","agreeing","agreement","aground","ahead","ahoy","aide","aids","aim","ajar","alabaster","alarm","albatross","album","alfalfa","algebra","algorithm","alias","alibi","alienable","alienate","aliens","alike","alive","alkaline","alkalize","almanac","almighty","almost","aloe","aloft","aloha","alone","alongside","aloof","alphabet","alright","although","altitude","alto","aluminum","alumni","always","amaretto","amaze","amazingly","amber","ambiance","ambiguity","ambiguous","ambition","ambitious","ambulance","ambush","amendable","amendment","amends","amenity","amiable","amicably","amid","amigo","amino","amiss","ammonia","ammonium","amnesty","amniotic","among","amount","amperage","ample","amplifier","amplify","amply","amuck","amulet","amusable","amused","amusement","amuser","amusing","anaconda","anaerobic","anagram","anatomist","anatomy","anchor","anchovy","ancient","android","anemia","anemic","aneurism","anew","angelfish","angelic","anger","angled","angler","angles","angling","angrily","angriness","anguished","angular","animal","animate","animating","animation","animator","anime","animosity","ankle","annex","annotate","announcer","annoying","annually","annuity","anointer","another","answering","antacid","antarctic","anteater","antelope","antennae","anthem","anthill","anthology","antibody","antics","antidote","antihero","antiquely","antiques","antiquity","antirust","antitoxic","antitrust","antiviral","antivirus","antler","antonym","antsy","anvil","anybody","anyhow","anymore","anyone","anyplace","anything","anytime","anyway","anywhere","aorta","apache","apostle","appealing","appear","appease","appeasing","appendage","appendix","appetite","appetizer","applaud","applause","apple","appliance","applicant","applied","apply","appointee","appraisal","appraiser","apprehend","approach","approval","approve","apricot","april","apron","aptitude","aptly","aqua","aqueduct","arbitrary","arbitrate","ardently","area","arena","arguable","arguably","argue","arise","armadillo","armband","armchair","armed","armful","armhole","arming","armless","armoire","armored","armory","armrest","army","aroma","arose","around","arousal","arrange","array","arrest","arrival","arrive","arrogance","arrogant","arson","art","ascend","ascension","ascent","ascertain","ashamed","ashen","ashes","ashy","aside","askew","asleep","asparagus","aspect","aspirate","aspire","aspirin","astonish","astound","astride","astrology","astronaut","astronomy","astute","atlantic","atlas","atom","atonable","atop","atrium","atrocious","atrophy","attach","attain","attempt","attendant","attendee","attention","attentive","attest","attic","attire","attitude","attractor","attribute","atypical","auction","audacious","audacity","audible","audibly","audience","audio","audition","augmented","august","authentic","author","autism","autistic","autograph","automaker","automated","automatic","autopilot","available","avalanche","avatar","avenge","avenging","avenue","average","aversion","avert","aviation","aviator","avid","avoid","await","awaken","award","aware","awhile","awkward","awning","awoke","awry","axis","babble","babbling","babied","baboon","backache","backboard","backboned","backdrop","backed","backer","backfield","backfire","backhand","backing","backlands","backlash","backless","backlight","backlit","backlog","backpack","backpedal","backrest","backroom","backshift","backside","backslid","backspace","backspin","backstab","backstage","backtalk","backtrack","backup","backward","backwash","backwater","backyard","bacon","bacteria","bacterium","badass","badge","badland","badly","badness","baffle","baffling","bagel","bagful","baggage","bagged","baggie","bagginess","bagging","baggy","bagpipe","baguette","baked","bakery","bakeshop","baking","balance","balancing","balcony","balmy","balsamic","bamboo","banana","banish","banister","banjo","bankable","bankbook","banked","banker","banking","banknote","bankroll","banner","bannister","banshee","banter","barbecue","barbed","barbell","barber","barcode","barge","bargraph","barista","baritone","barley","barmaid","barman","barn","barometer","barrack","barracuda","barrel","barrette","barricade","barrier","barstool","bartender","barterer","bash","basically","basics","basil","basin","basis","basket","batboy","batch","bath","baton","bats","battalion","battered","battering","battery","batting","battle","bauble","bazooka","blabber","bladder","blade","blah","blame","blaming","blanching","blandness","blank","blaspheme","blasphemy","blast","blatancy","blatantly","blazer","blazing","bleach","bleak","bleep","blemish","blend","bless","blighted","blimp","bling","blinked","blinker","blinking","blinks","blip","blissful","blitz","blizzard","bloated","bloating","blob","blog","bloomers","blooming","blooper","blot","blouse","blubber","bluff","bluish","blunderer","blunt","blurb","blurred","blurry","blurt","blush","blustery","boaster","boastful","boasting","boat","bobbed","bobbing","bobble","bobcat","bobsled","bobtail","bodacious","body","bogged","boggle","bogus","boil","bok","bolster","bolt","bonanza","bonded","bonding","bondless","boned","bonehead","boneless","bonelike","boney","bonfire","bonnet","bonsai","bonus","bony","boogeyman","boogieman","book","boondocks","booted","booth","bootie","booting","bootlace","bootleg","boots","boozy","borax","boring","borough","borrower","borrowing","boss","botanical","botanist","botany","botch","both","bottle","bottling","bottom","bounce","bouncing","bouncy","bounding","boundless","bountiful","bovine","boxcar","boxer","boxing","boxlike","boxy","breach","breath","breeches","breeching","breeder","breeding","breeze","breezy","brethren","brewery","brewing","briar","bribe","brick","bride","bridged","brigade","bright","brilliant","brim","bring","brink","brisket","briskly","briskness","bristle","brittle","broadband","broadcast","broaden","broadly","broadness","broadside","broadways","broiler","broiling","broken","broker","bronchial","bronco","bronze","bronzing","brook","broom","brought","browbeat","brownnose","browse","browsing","bruising","brunch","brunette","brunt","brush","brussels","brute","brutishly","bubble","bubbling","bubbly","buccaneer","bucked","bucket","buckle","buckshot","buckskin","bucktooth","buckwheat","buddhism","buddhist","budding","buddy","budget","buffalo","buffed","buffer","buffing","buffoon","buggy","bulb","bulge","bulginess","bulgur","bulk","bulldog","bulldozer","bullfight","bullfrog","bullhorn","bullion","bullish","bullpen","bullring","bullseye","bullwhip","bully","bunch","bundle","bungee","bunion","bunkbed","bunkhouse","bunkmate","bunny","bunt","busboy","bush","busily","busload","bust","busybody","buzz","cabana","cabbage","cabbie","cabdriver","cable","caboose","cache","cackle","cacti","cactus","caddie","caddy","cadet","cadillac","cadmium","cage","cahoots","cake","calamari","calamity","calcium","calculate","calculus","caliber","calibrate","calm","caloric","calorie","calzone","camcorder","cameo","camera","camisole","camper","campfire","camping","campsite","campus","canal","canary","cancel","candied","candle","candy","cane","canine","canister","cannabis","canned","canning","cannon","cannot","canola","canon","canopener","canopy","canteen","canyon","capable","capably","capacity","cape","capillary","capital","capitol","capped","capricorn","capsize","capsule","caption","captivate","captive","captivity","capture","caramel","carat","caravan","carbon","cardboard","carded","cardiac","cardigan","cardinal","cardstock","carefully","caregiver","careless","caress","caretaker","cargo","caring","carless","carload","carmaker","carnage","carnation","carnival","carnivore","carol","carpenter","carpentry","carpool","carport","carried","carrot","carrousel","carry","cartel","cartload","carton","cartoon","cartridge","cartwheel","carve","carving","carwash","cascade","case","cash","casing","casino","casket","cassette","casually","casualty","catacomb","catalog","catalyst","catalyze","catapult","cataract","catatonic","catcall","catchable","catcher","catching","catchy","caterer","catering","catfight","catfish","cathedral","cathouse","catlike","catnap","catnip","catsup","cattail","cattishly","cattle","catty","catwalk","caucasian","caucus","causal","causation","cause","causing","cauterize","caution","cautious","cavalier","cavalry","caviar","cavity","cedar","celery","celestial","celibacy","celibate","celtic","cement","census","ceramics","ceremony","certainly","certainty","certified","certify","cesarean","cesspool","chafe","chaffing","chain","chair","chalice","challenge","chamber","chamomile","champion","chance","change","channel","chant","chaos","chaperone","chaplain","chapped","chaps","chapter","character","charbroil","charcoal","charger","charging","chariot","charity","charm","charred","charter","charting","chase","chasing","chaste","chastise","chastity","chatroom","chatter","chatting","chatty","cheating","cheddar","cheek","cheer","cheese","cheesy","chef","chemicals","chemist","chemo","cherisher","cherub","chess","chest","chevron","chevy","chewable","chewer","chewing","chewy","chief","chihuahua","childcare","childhood","childish","childless","childlike","chili","chill","chimp","chip","chirping","chirpy","chitchat","chivalry","chive","chloride","chlorine","choice","chokehold","choking","chomp","chooser","choosing","choosy","chop","chosen","chowder","chowtime","chrome","chubby","chuck","chug","chummy","chump","chunk","churn","chute","cider","cilantro","cinch","cinema","cinnamon","circle","circling","circular","circulate","circus","citable","citadel","citation","citizen","citric","citrus","city","civic","civil","clad","claim","clambake","clammy","clamor","clamp","clamshell","clang","clanking","clapped","clapper","clapping","clarify","clarinet","clarity","clash","clasp","class","clatter","clause","clavicle","claw","clay","clean","clear","cleat","cleaver","cleft","clench","clergyman","clerical","clerk","clever","clicker","client","climate","climatic","cling","clinic","clinking","clip","clique","cloak","clobber","clock","clone","cloning","closable","closure","clothes","clothing","cloud","clover","clubbed","clubbing","clubhouse","clump","clumsily","clumsy","clunky","clustered","clutch","clutter","coach","coagulant","coastal","coaster","coasting","coastland","coastline","coat","coauthor","cobalt","cobbler","cobweb","cocoa","coconut","cod","coeditor","coerce","coexist","coffee","cofounder","cognition","cognitive","cogwheel","coherence","coherent","cohesive","coil","coke","cola","cold","coleslaw","coliseum","collage","collapse","collar","collected","collector","collide","collie","collision","colonial","colonist","colonize","colony","colossal","colt","coma","come","comfort","comfy","comic","coming","comma","commence","commend","comment","commerce","commode","commodity","commodore","common","commotion","commute","commuting","compacted","compacter","compactly","compactor","companion","company","compare","compel","compile","comply","component","composed","composer","composite","compost","composure","compound","compress","comprised","computer","computing","comrade","concave","conceal","conceded","concept","concerned","concert","conch","concierge","concise","conclude","concrete","concur","condense","condiment","condition","condone","conducive","conductor","conduit","cone","confess","confetti","confidant","confident","confider","confiding","configure","confined","confining","confirm","conflict","conform","confound","confront","confused","confusing","confusion","congenial","congested","congrats","congress","conical","conjoined","conjure","conjuror","connected","connector","consensus","consent","console","consoling","consonant","constable","constant","constrain","constrict","construct","consult","consumer","consuming","contact","container","contempt","contend","contented","contently","contents","contest","context","contort","contour","contrite","control","contusion","convene","convent","copartner","cope","copied","copier","copilot","coping","copious","copper","copy","coral","cork","cornball","cornbread","corncob","cornea","corned","corner","cornfield","cornflake","cornhusk","cornmeal","cornstalk","corny","coronary","coroner","corporal","corporate","corral","correct","corridor","corrode","corroding","corrosive","corsage","corset","cortex","cosigner","cosmetics","cosmic","cosmos","cosponsor","cost","cottage","cotton","couch","cough","could","countable","countdown","counting","countless","country","county","courier","covenant","cover","coveted","coveting","coyness","cozily","coziness","cozy","crabbing","crabgrass","crablike","crabmeat","cradle","cradling","crafter","craftily","craftsman","craftwork","crafty","cramp","cranberry","crane","cranial","cranium","crank","crate","crave","craving","crawfish","crawlers","crawling","crayfish","crayon","crazed","crazily","craziness","crazy","creamed","creamer","creamlike","crease","creasing","creatable","create","creation","creative","creature","credible","credibly","credit","creed","creme","creole","crepe","crept","crescent","crested","cresting","crestless","crevice","crewless","crewman","crewmate","crib","cricket","cried","crier","crimp","crimson","cringe","cringing","crinkle","crinkly","crisped","crisping","crisply","crispness","crispy","criteria","critter","croak","crock","crook","croon","crop","cross","crouch","crouton","crowbar","crowd","crown","crucial","crudely","crudeness","cruelly","cruelness","cruelty","crumb","crummiest","crummy","crumpet","crumpled","cruncher","crunching","crunchy","crusader","crushable","crushed","crusher","crushing","crust","crux","crying","cryptic","crystal","cubbyhole","cube","cubical","cubicle","cucumber","cuddle","cuddly","cufflink","culinary","culminate","culpable","culprit","cultivate","cultural","culture","cupbearer","cupcake","cupid","cupped","cupping","curable","curator","curdle","cure","curfew","curing","curled","curler","curliness","curling","curly","curry","curse","cursive","cursor","curtain","curtly","curtsy","curvature","curve","curvy","cushy","cusp","cussed","custard","custodian","custody","customary","customer","customize","customs","cut","cycle","cyclic","cycling","cyclist","cylinder","cymbal","cytoplasm","cytoplast","dab","dad","daffodil","dagger","daily","daintily","dainty","dairy","daisy","dallying","dance","dancing","dandelion","dander","dandruff","dandy","danger","dangle","dangling","daredevil","dares","daringly","darkened","darkening","darkish","darkness","darkroom","darling","darn","dart","darwinism","dash","dastardly","data","datebook","dating","daughter","daunting","dawdler","dawn","daybed","daybreak","daycare","daydream","daylight","daylong","dayroom","daytime","dazzler","dazzling","deacon","deafening","deafness","dealer","dealing","dealmaker","dealt","dean","debatable","debate","debating","debit","debrief","debtless","debtor","debug","debunk","decade","decaf","decal","decathlon","decay","deceased","deceit","deceiver","deceiving","december","decency","decent","deception","deceptive","decibel","decidable","decimal","decimeter","decipher","deck","declared","decline","decode","decompose","decorated","decorator","decoy","decrease","decree","dedicate","dedicator","deduce","deduct","deed","deem","deepen","deeply","deepness","deface","defacing","defame","default","defeat","defection","defective","defendant","defender","defense","defensive","deferral","deferred","defiance","defiant","defile","defiling","define","definite","deflate","deflation","deflator","deflected","deflector","defog","deforest","defraud","defrost","deftly","defuse","defy","degraded","degrading","degrease","degree","dehydrate","deity","dejected","delay","delegate","delegator","delete","deletion","delicacy","delicate","delicious","delighted","delirious","delirium","deliverer","delivery","delouse","delta","deluge","delusion","deluxe","demanding","demeaning","demeanor","demise","democracy","democrat","demote","demotion","demystify","denatured","deniable","denial","denim","denote","dense","density","dental","dentist","denture","deny","deodorant","deodorize","departed","departure","depict","deplete","depletion","deplored","deploy","deport","depose","depraved","depravity","deprecate","depress","deprive","depth","deputize","deputy","derail","deranged","derby","derived","desecrate","deserve","deserving","designate","designed","designer","designing","deskbound","desktop","deskwork","desolate","despair","despise","despite","destiny","destitute","destruct","detached","detail","detection","detective","detector","detention","detergent","detest","detonate","detonator","detoxify","detract","deuce","devalue","deviancy","deviant","deviate","deviation","deviator","device","devious","devotedly","devotee","devotion","devourer","devouring","devoutly","dexterity","dexterous","diabetes","diabetic","diabolic","diagnoses","diagnosis","diagram","dial","diameter","diaper","diaphragm","diary","dice","dicing","dictate","dictation","dictator","difficult","diffused","diffuser","diffusion","diffusive","dig","dilation","diligence","diligent","dill","dilute","dime","diminish","dimly","dimmed","dimmer","dimness","dimple","diner","dingbat","dinghy","dinginess","dingo","dingy","dining","dinner","diocese","dioxide","diploma","dipped","dipper","dipping","directed","direction","directive","directly","directory","direness","dirtiness","disabled","disagree","disallow","disarm","disarray","disaster","disband","disbelief","disburse","discard","discern","discharge","disclose","discolor","discount","discourse","discover","discuss","disdain","disengage","disfigure","disgrace","dish","disinfect","disjoin","disk","dislike","disliking","dislocate","dislodge","disloyal","dismantle","dismay","dismiss","dismount","disobey","disorder","disown","disparate","disparity","dispatch","dispense","dispersal","dispersed","disperser","displace","display","displease","disposal","dispose","disprove","dispute","disregard","disrupt","dissuade","distance","distant","distaste","distill","distinct","distort","distract","distress","district","distrust","ditch","ditto","ditzy","dividable","divided","dividend","dividers","dividing","divinely","diving","divinity","divisible","divisibly","division","divisive","divorcee","dizziness","dizzy","doable","docile","dock","doctrine","document","dodge","dodgy","doily","doing","dole","dollar","dollhouse","dollop","dolly","dolphin","domain","domelike","domestic","dominion","dominoes","donated","donation","donator","donor","donut","doodle","doorbell","doorframe","doorknob","doorman","doormat","doornail","doorpost","doorstep","doorstop","doorway","doozy","dork","dormitory","dorsal","dosage","dose","dotted","doubling","douche","dove","down","dowry","doze","drab","dragging","dragonfly","dragonish","dragster","drainable","drainage","drained","drainer","drainpipe","dramatic","dramatize","drank","drapery","drastic","draw","dreaded","dreadful","dreadlock","dreamboat","dreamily","dreamland","dreamless","dreamlike","dreamt","dreamy","drearily","dreary","drench","dress","drew","dribble","dried","drier","drift","driller","drilling","drinkable","drinking","dripping","drippy","drivable","driven","driver","driveway","driving","drizzle","drizzly","drone","drool","droop","drop-down","dropbox","dropkick","droplet","dropout","dropper","drove","drown","drowsily","drudge","drum","dry","dubbed","dubiously","duchess","duckbill","ducking","duckling","ducktail","ducky","duct","dude","duffel","dugout","duh","duke","duller","dullness","duly","dumping","dumpling","dumpster","duo","dupe","duplex","duplicate","duplicity","durable","durably","duration","duress","during","dusk","dust","dutiful","duty","duvet","dwarf","dweeb","dwelled","dweller","dwelling","dwindle","dwindling","dynamic","dynamite","dynasty","dyslexia","dyslexic","each","eagle","earache","eardrum","earflap","earful","earlobe","early","earmark","earmuff","earphone","earpiece","earplugs","earring","earshot","earthen","earthlike","earthling","earthly","earthworm","earthy","earwig","easeful","easel","easiest","easily","easiness","easing","eastbound","eastcoast","easter","eastward","eatable","eaten","eatery","eating","eats","ebay","ebony","ebook","ecard","eccentric","echo","eclair","eclipse","ecologist","ecology","economic","economist","economy","ecosphere","ecosystem","edge","edginess","edging","edgy","edition","editor","educated","education","educator","eel","effective","effects","efficient","effort","eggbeater","egging","eggnog","eggplant","eggshell","egomaniac","egotism","egotistic","either","eject","elaborate","elastic","elated","elbow","eldercare","elderly","eldest","electable","election","elective","elephant","elevate","elevating","elevation","elevator","eleven","elf","eligible","eligibly","eliminate","elite","elitism","elixir","elk","ellipse","elliptic","elm","elongated","elope","eloquence","eloquent","elsewhere","elude","elusive","elves","email","embargo","embark","embassy","embattled","embellish","ember","embezzle","emblaze","emblem","embody","embolism","emboss","embroider","emcee","emerald","emergency","emission","emit","emote","emoticon","emotion","empathic","empathy","emperor","emphases","emphasis","emphasize","emphatic","empirical","employed","employee","employer","emporium","empower","emptier","emptiness","empty","emu","enable","enactment","enamel","enchanted","enchilada","encircle","enclose","enclosure","encode","encore","encounter","encourage","encroach","encrust","encrypt","endanger","endeared","endearing","ended","ending","endless","endnote","endocrine","endorphin","endorse","endowment","endpoint","endurable","endurance","enduring","energetic","energize","energy","enforced","enforcer","engaged","engaging","engine","engorge","engraved","engraver","engraving","engross","engulf","enhance","enigmatic","enjoyable","enjoyably","enjoyer","enjoying","enjoyment","enlarged","enlarging","enlighten","enlisted","enquirer","enrage","enrich","enroll","enslave","ensnare","ensure","entail","entangled","entering","entertain","enticing","entire","entitle","entity","entomb","entourage","entrap","entree","entrench","entrust","entryway","entwine","enunciate","envelope","enviable","enviably","envious","envision","envoy","envy","enzyme","epic","epidemic","epidermal","epidermis","epidural","epilepsy","epileptic","epilogue","epiphany","episode","equal","equate","equation","equator","equinox","equipment","equity","equivocal","eradicate","erasable","erased","eraser","erasure","ergonomic","errand","errant","erratic","error","erupt","escalate","escalator","escapable","escapade","escapist","escargot","eskimo","esophagus","espionage","espresso","esquire","essay","essence","essential","establish","estate","esteemed","estimate","estimator","estranged","estrogen","etching","eternal","eternity","ethanol","ether","ethically","ethics","euphemism","evacuate","evacuee","evade","evaluate","evaluator","evaporate","evasion","evasive","even","everglade","evergreen","everybody","everyday","everyone","evict","evidence","evident","evil","evoke","evolution","evolve","exact","exalted","example","excavate","excavator","exceeding","exception","excess","exchange","excitable","exciting","exclaim","exclude","excluding","exclusion","exclusive","excretion","excretory","excursion","excusable","excusably","excuse","exemplary","exemplify","exemption","exerciser","exert","exes","exfoliate","exhale","exhaust","exhume","exile","existing","exit","exodus","exonerate","exorcism","exorcist","expand","expanse","expansion","expansive","expectant","expedited","expediter","expel","expend","expenses","expensive","expert","expire","expiring","explain","expletive","explicit","explode","exploit","explore","exploring","exponent","exporter","exposable","expose","exposure","express","expulsion","exquisite","extended","extending","extent","extenuate","exterior","external","extinct","extortion","extradite","extras","extrovert","extrude","extruding","exuberant","fable","fabric","fabulous","facebook","facecloth","facedown","faceless","facelift","faceplate","faceted","facial","facility","facing","facsimile","faction","factoid","factor","factsheet","factual","faculty","fade","fading","failing","falcon","fall","false","falsify","fame","familiar","family","famine","famished","fanatic","fancied","fanciness","fancy","fanfare","fang","fanning","fantasize","fantastic","fantasy","fascism","fastball","faster","fasting","fastness","faucet","favorable","favorably","favored","favoring","favorite","fax","feast","federal","fedora","feeble","feed","feel","feisty","feline","felt-tip","feminine","feminism","feminist","feminize","femur","fence","fencing","fender","ferment","fernlike","ferocious","ferocity","ferret","ferris","ferry","fervor","fester","festival","festive","festivity","fetal","fetch","fever","fiber","fiction","fiddle","fiddling","fidelity","fidgeting","fidgety","fifteen","fifth","fiftieth","fifty","figment","figure","figurine","filing","filled","filler","filling","film","filter","filth","filtrate","finale","finalist","finalize","finally","finance","financial","finch","fineness","finer","finicky","finished","finisher","finishing","finite","finless","finlike","fiscally","fit","five","flaccid","flagman","flagpole","flagship","flagstick","flagstone","flail","flakily","flaky","flame","flammable","flanked","flanking","flannels","flap","flaring","flashback","flashbulb","flashcard","flashily","flashing","flashy","flask","flatbed","flatfoot","flatly","flatness","flatten","flattered","flatterer","flattery","flattop","flatware","flatworm","flavored","flavorful","flavoring","flaxseed","fled","fleshed","fleshy","flick","flier","flight","flinch","fling","flint","flip","flirt","float","flock","flogging","flop","floral","florist","floss","flounder","flyable","flyaway","flyer","flying","flyover","flypaper","foam","foe","fog","foil","folic","folk","follicle","follow","fondling","fondly","fondness","fondue","font","food","fool","footage","football","footbath","footboard","footer","footgear","foothill","foothold","footing","footless","footman","footnote","footpad","footpath","footprint","footrest","footsie","footsore","footwear","footwork","fossil","foster","founder","founding","fountain","fox","foyer","fraction","fracture","fragile","fragility","fragment","fragrance","fragrant","frail","frame","framing","frantic","fraternal","frayed","fraying","frays","freckled","freckles","freebase","freebee","freebie","freedom","freefall","freehand","freeing","freeload","freely","freemason","freeness","freestyle","freeware","freeway","freewill","freezable","freezing","freight","french","frenzied","frenzy","frequency","frequent","fresh","fretful","fretted","friction","friday","fridge","fried","friend","frighten","frightful","frigidity","frigidly","frill","fringe","frisbee","frisk","fritter","frivolous","frolic","from","front","frostbite","frosted","frostily","frosting","frostlike","frosty","froth","frown","frozen","fructose","frugality","frugally","fruit","frustrate","frying","gab","gaffe","gag","gainfully","gaining","gains","gala","gallantly","galleria","gallery","galley","gallon","gallows","gallstone","galore","galvanize","gambling","game","gaming","gamma","gander","gangly","gangrene","gangway","gap","garage","garbage","garden","gargle","garland","garlic","garment","garnet","garnish","garter","gas","gatherer","gathering","gating","gauging","gauntlet","gauze","gave","gawk","gazing","gear","gecko","geek","geiger","gem","gender","generic","generous","genetics","genre","gentile","gentleman","gently","gents","geography","geologic","geologist","geology","geometric","geometry","geranium","gerbil","geriatric","germicide","germinate","germless","germproof","gestate","gestation","gesture","getaway","getting","getup","giant","gibberish","giblet","giddily","giddiness","giddy","gift","gigabyte","gigahertz","gigantic","giggle","giggling","giggly","gigolo","gilled","gills","gimmick","girdle","giveaway","given","giver","giving","gizmo","gizzard","glacial","glacier","glade","gladiator","gladly","glamorous","glamour","glance","glancing","glandular","glare","glaring","glass","glaucoma","glazing","gleaming","gleeful","glider","gliding","glimmer","glimpse","glisten","glitch","glitter","glitzy","gloater","gloating","gloomily","gloomy","glorified","glorifier","glorify","glorious","glory","gloss","glove","glowing","glowworm","glucose","glue","gluten","glutinous","glutton","gnarly","gnat","goal","goatskin","goes","goggles","going","goldfish","goldmine","goldsmith","golf","goliath","gonad","gondola","gone","gong","good","gooey","goofball","goofiness","goofy","google","goon","gopher","gore","gorged","gorgeous","gory","gosling","gossip","gothic","gotten","gout","gown","grab","graceful","graceless","gracious","gradation","graded","grader","gradient","grading","gradually","graduate","graffiti","grafted","grafting","grain","granddad","grandkid","grandly","grandma","grandpa","grandson","granite","granny","granola","grant","granular","grape","graph","grapple","grappling","grasp","grass","gratified","gratify","grating","gratitude","gratuity","gravel","graveness","graves","graveyard","gravitate","gravity","gravy","gray","grazing","greasily","greedily","greedless","greedy","green","greeter","greeting","grew","greyhound","grid","grief","grievance","grieving","grievous","grill","grimace","grimacing","grime","griminess","grimy","grinch","grinning","grip","gristle","grit","groggily","groggy","groin","groom","groove","grooving","groovy","grope","ground","grouped","grout","grove","grower","growing","growl","grub","grudge","grudging","grueling","gruffly","grumble","grumbling","grumbly","grumpily","grunge","grunt","guacamole","guidable","guidance","guide","guiding","guileless","guise","gulf","gullible","gully","gulp","gumball","gumdrop","gumminess","gumming","gummy","gurgle","gurgling","guru","gush","gusto","gusty","gutless","guts","gutter","guy","guzzler","gyration","habitable","habitant","habitat","habitual","hacked","hacker","hacking","hacksaw","had","haggler","haiku","half","halogen","halt","halved","halves","hamburger","hamlet","hammock","hamper","hamster","hamstring","handbag","handball","handbook","handbrake","handcart","handclap","handclasp","handcraft","handcuff","handed","handful","handgrip","handgun","handheld","handiness","handiwork","handlebar","handled","handler","handling","handmade","handoff","handpick","handprint","handrail","handsaw","handset","handsfree","handshake","handstand","handwash","handwork","handwoven","handwrite","handyman","hangnail","hangout","hangover","hangup","hankering","hankie","hanky","haphazard","happening","happier","happiest","happily","happiness","happy","harbor","hardcopy","hardcore","hardcover","harddisk","hardened","hardener","hardening","hardhat","hardhead","hardiness","hardly","hardness","hardship","hardware","hardwired","hardwood","hardy","harmful","harmless","harmonica","harmonics","harmonize","harmony","harness","harpist","harsh","harvest","hash","hassle","haste","hastily","hastiness","hasty","hatbox","hatchback","hatchery","hatchet","hatching","hatchling","hate","hatless","hatred","haunt","haven","hazard","hazelnut","hazily","haziness","hazing","hazy","headache","headband","headboard","headcount","headdress","headed","header","headfirst","headgear","heading","headlamp","headless","headlock","headphone","headpiece","headrest","headroom","headscarf","headset","headsman","headstand","headstone","headway","headwear","heap","heat","heave","heavily","heaviness","heaving","hedge","hedging","heftiness","hefty","helium","helmet","helper","helpful","helping","helpless","helpline","hemlock","hemstitch","hence","henchman","henna","herald","herbal","herbicide","herbs","heritage","hermit","heroics","heroism","herring","herself","hertz","hesitancy","hesitant","hesitate","hexagon","hexagram","hubcap","huddle","huddling","huff","hug","hula","hulk","hull","human","humble","humbling","humbly","humid","humiliate","humility","humming","hummus","humongous","humorist","humorless","humorous","humpback","humped","humvee","hunchback","hundredth","hunger","hungrily","hungry","hunk","hunter","hunting","huntress","huntsman","hurdle","hurled","hurler","hurling","hurray","hurricane","hurried","hurry","hurt","husband","hush","husked","huskiness","hut","hybrid","hydrant","hydrated","hydration","hydrogen","hydroxide","hyperlink","hypertext","hyphen","hypnoses","hypnosis","hypnotic","hypnotism","hypnotist","hypnotize","hypocrisy","hypocrite","ibuprofen","ice","iciness","icing","icky","icon","icy","idealism","idealist","idealize","ideally","idealness","identical","identify","identity","ideology","idiocy","idiom","idly","igloo","ignition","ignore","iguana","illicitly","illusion","illusive","image","imaginary","imagines","imaging","imbecile","imitate","imitation","immature","immerse","immersion","imminent","immobile","immodest","immorally","immortal","immovable","immovably","immunity","immunize","impaired","impale","impart","impatient","impeach","impeding","impending","imperfect","imperial","impish","implant","implement","implicate","implicit","implode","implosion","implosive","imply","impolite","important","importer","impose","imposing","impotence","impotency","impotent","impound","imprecise","imprint","imprison","impromptu","improper","improve","improving","improvise","imprudent","impulse","impulsive","impure","impurity","iodine","iodize","ion","ipad","iphone","ipod","irate","irk","iron","irregular","irrigate","irritable","irritably","irritant","irritate","islamic","islamist","isolated","isolating","isolation","isotope","issue","issuing","italicize","italics","item","itinerary","itunes","ivory","ivy","jab","jackal","jacket","jackknife","jackpot","jailbird","jailbreak","jailer","jailhouse","jalapeno","jam","janitor","january","jargon","jarring","jasmine","jaundice","jaunt","java","jawed","jawless","jawline","jaws","jaybird","jaywalker","jazz","jeep","jeeringly","jellied","jelly","jersey","jester","jet","jiffy","jigsaw","jimmy","jingle","jingling","jinx","jitters","jittery","job","jockey","jockstrap","jogger","jogging","john","joining","jokester","jokingly","jolliness","jolly","jolt","jot","jovial","joyfully","joylessly","joyous","joyride","joystick","jubilance","jubilant","judge","judgingly","judicial","judiciary","judo","juggle","juggling","jugular","juice","juiciness","juicy","jujitsu","jukebox","july","jumble","jumbo","jump","junction","juncture","june","junior","juniper","junkie","junkman","junkyard","jurist","juror","jury","justice","justifier","justify","justly","justness","juvenile","kabob","kangaroo","karaoke","karate","karma","kebab","keenly","keenness","keep","keg","kelp","kennel","kept","kerchief","kerosene","kettle","kick","kiln","kilobyte","kilogram","kilometer","kilowatt","kilt","kimono","kindle","kindling","kindly","kindness","kindred","kinetic","kinfolk","king","kinship","kinsman","kinswoman","kissable","kisser","kissing","kitchen","kite","kitten","kitty","kiwi","kleenex","knapsack","knee","knelt","knickers","knoll","koala","kooky","kosher","krypton","kudos","kung","labored","laborer","laboring","laborious","labrador","ladder","ladies","ladle","ladybug","ladylike","lagged","lagging","lagoon","lair","lake","lance","landed","landfall","landfill","landing","landlady","landless","landline","landlord","landmark","landmass","landmine","landowner","landscape","landside","landslide","language","lankiness","lanky","lantern","lapdog","lapel","lapped","lapping","laptop","lard","large","lark","lash","lasso","last","latch","late","lather","latitude","latrine","latter","latticed","launch","launder","laundry","laurel","lavender","lavish","laxative","lazily","laziness","lazy","lecturer","left","legacy","legal","legend","legged","leggings","legible","legibly","legislate","lego","legroom","legume","legwarmer","legwork","lemon","lend","length","lens","lent","leotard","lesser","letdown","lethargic","lethargy","letter","lettuce","level","leverage","levers","levitate","levitator","liability","liable","liberty","librarian","library","licking","licorice","lid","life","lifter","lifting","liftoff","ligament","likely","likeness","likewise","liking","lilac","lilly","lily","limb","limeade","limelight","limes","limit","limping","limpness","line","lingo","linguini","linguist","lining","linked","linoleum","linseed","lint","lion","lip","liquefy","liqueur","liquid","lisp","list","litigate","litigator","litmus","litter","little","livable","lived","lively","liver","livestock","lividly","living","lizard","lubricant","lubricate","lucid","luckily","luckiness","luckless","lucrative","ludicrous","lugged","lukewarm","lullaby","lumber","luminance","luminous","lumpiness","lumping","lumpish","lunacy","lunar","lunchbox","luncheon","lunchroom","lunchtime","lung","lurch","lure","luridness","lurk","lushly","lushness","luster","lustfully","lustily","lustiness","lustrous","lusty","luxurious","luxury","lying","lyrically","lyricism","lyricist","lyrics","macarena","macaroni","macaw","mace","machine","machinist","magazine","magenta","maggot","magical","magician","magma","magnesium","magnetic","magnetism","magnetize","magnifier","magnify","magnitude","magnolia","mahogany","maimed","majestic","majesty","majorette","majority","makeover","maker","makeshift","making","malformed","malt","mama","mammal","mammary","mammogram","manager","managing","manatee","mandarin","mandate","mandatory","mandolin","manger","mangle","mango","mangy","manhandle","manhole","manhood","manhunt","manicotti","manicure","manifesto","manila","mankind","manlike","manliness","manly","manmade","manned","mannish","manor","manpower","mantis","mantra","manual","many","map","marathon","marauding","marbled","marbles","marbling","march","mardi","margarine","margarita","margin","marigold","marina","marine","marital","maritime","marlin","marmalade","maroon","married","marrow","marry","marshland","marshy","marsupial","marvelous","marxism","mascot","masculine","mashed","mashing","massager","masses","massive","mastiff","matador","matchbook","matchbox","matcher","matching","matchless","material","maternal","maternity","math","mating","matriarch","matrimony","matrix","matron","matted","matter","maturely","maturing","maturity","mauve","maverick","maximize","maximum","maybe","mayday","mayflower","moaner","moaning","mobile","mobility","mobilize","mobster","mocha","mocker","mockup","modified","modify","modular","modulator","module","moisten","moistness","moisture","molar","molasses","mold","molecular","molecule","molehill","mollusk","mom","monastery","monday","monetary","monetize","moneybags","moneyless","moneywise","mongoose","mongrel","monitor","monkhood","monogamy","monogram","monologue","monopoly","monorail","monotone","monotype","monoxide","monsieur","monsoon","monstrous","monthly","monument","moocher","moodiness","moody","mooing","moonbeam","mooned","moonlight","moonlike","moonlit","moonrise","moonscape","moonshine","moonstone","moonwalk","mop","morale","morality","morally","morbidity","morbidly","morphine","morphing","morse","mortality","mortally","mortician","mortified","mortify","mortuary","mosaic","mossy","most","mothball","mothproof","motion","motivate","motivator","motive","motocross","motor","motto","mountable","mountain","mounted","mounting","mourner","mournful","mouse","mousiness","moustache","mousy","mouth","movable","move","movie","moving","mower","mowing","much","muck","mud","mug","mulberry","mulch","mule","mulled","mullets","multiple","multiply","multitask","multitude","mumble","mumbling","mumbo","mummified","mummify","mummy","mumps","munchkin","mundane","municipal","muppet","mural","murkiness","murky","murmuring","muscular","museum","mushily","mushiness","mushroom","mushy","music","musket","muskiness","musky","mustang","mustard","muster","mustiness","musty","mutable","mutate","mutation","mute","mutilated","mutilator","mutiny","mutt","mutual","muzzle","myself","myspace","mystified","mystify","myth","nacho","nag","nail","name","naming","nanny","nanometer","nape","napkin","napped","napping","nappy","narrow","nastily","nastiness","national","native","nativity","natural","nature","naturist","nautical","navigate","navigator","navy","nearby","nearest","nearly","nearness","neatly","neatness","nebula","nebulizer","nectar","negate","negation","negative","neglector","negligee","negligent","negotiate","nemeses","nemesis","neon","nephew","nerd","nervous","nervy","nest","net","neurology","neuron","neurosis","neurotic","neuter","neutron","never","next","nibble","nickname","nicotine","niece","nifty","nimble","nimbly","nineteen","ninetieth","ninja","nintendo","ninth","nuclear","nuclei","nucleus","nugget","nullify","number","numbing","numbly","numbness","numeral","numerate","numerator","numeric","numerous","nuptials","nursery","nursing","nurture","nutcase","nutlike","nutmeg","nutrient","nutshell","nuttiness","nutty","nuzzle","nylon","oaf","oak","oasis","oat","obedience","obedient","obituary","object","obligate","obliged","oblivion","oblivious","oblong","obnoxious","oboe","obscure","obscurity","observant","observer","observing","obsessed","obsession","obsessive","obsolete","obstacle","obstinate","obstruct","obtain","obtrusive","obtuse","obvious","occultist","occupancy","occupant","occupier","occupy","ocean","ocelot","octagon","octane","october","octopus","ogle","oil","oink","ointment","okay","old","olive","olympics","omega","omen","ominous","omission","omit","omnivore","onboard","oncoming","ongoing","onion","online","onlooker","only","onscreen","onset","onshore","onslaught","onstage","onto","onward","onyx","oops","ooze","oozy","opacity","opal","open","operable","operate","operating","operation","operative","operator","opium","opossum","opponent","oppose","opposing","opposite","oppressed","oppressor","opt","opulently","osmosis","other","otter","ouch","ought","ounce","outage","outback","outbid","outboard","outbound","outbreak","outburst","outcast","outclass","outcome","outdated","outdoors","outer","outfield","outfit","outflank","outgoing","outgrow","outhouse","outing","outlast","outlet","outline","outlook","outlying","outmatch","outmost","outnumber","outplayed","outpost","outpour","output","outrage","outrank","outreach","outright","outscore","outsell","outshine","outshoot","outsider","outskirts","outsmart","outsource","outspoken","outtakes","outthink","outward","outweigh","outwit","oval","ovary","oven","overact","overall","overarch","overbid","overbill","overbite","overblown","overboard","overbook","overbuilt","overcast","overcoat","overcome","overcook","overcrowd","overdraft","overdrawn","overdress","overdrive","overdue","overeager","overeater","overexert","overfed","overfeed","overfill","overflow","overfull","overgrown","overhand","overhang","overhaul","overhead","overhear","overheat","overhung","overjoyed","overkill","overlabor","overlaid","overlap","overlay","overload","overlook","overlord","overlying","overnight","overpass","overpay","overplant","overplay","overpower","overprice","overrate","overreach","overreact","override","overripe","overrule","overrun","overshoot","overshot","oversight","oversized","oversleep","oversold","overspend","overstate","overstay","overstep","overstock","overstuff","oversweet","overtake","overthrow","overtime","overtly","overtone","overture","overturn","overuse","overvalue","overview","overwrite","owl","oxford","oxidant","oxidation","oxidize","oxidizing","oxygen","oxymoron","oyster","ozone","paced","pacemaker","pacific","pacifier","pacifism","pacifist","pacify","padded","padding","paddle","paddling","padlock","pagan","pager","paging","pajamas","palace","palatable","palm","palpable","palpitate","paltry","pampered","pamperer","pampers","pamphlet","panama","pancake","pancreas","panda","pandemic","pang","panhandle","panic","panning","panorama","panoramic","panther","pantomime","pantry","pants","pantyhose","paparazzi","papaya","paper","paprika","papyrus","parabola","parachute","parade","paradox","paragraph","parakeet","paralegal","paralyses","paralysis","paralyze","paramedic","parameter","paramount","parasail","parasite","parasitic","parcel","parched","parchment","pardon","parish","parka","parking","parkway","parlor","parmesan","parole","parrot","parsley","parsnip","partake","parted","parting","partition","partly","partner","partridge","party","passable","passably","passage","passcode","passenger","passerby","passing","passion","passive","passivism","passover","passport","password","pasta","pasted","pastel","pastime","pastor","pastrami","pasture","pasty","patchwork","patchy","paternal","paternity","path","patience","patient","patio","patriarch","patriot","patrol","patronage","patronize","pauper","pavement","paver","pavestone","pavilion","paving","pawing","payable","payback","paycheck","payday","payee","payer","paying","payment","payphone","payroll","pebble","pebbly","pecan","pectin","peculiar","peddling","pediatric","pedicure","pedigree","pedometer","pegboard","pelican","pellet","pelt","pelvis","penalize","penalty","pencil","pendant","pending","penholder","penknife","pennant","penniless","penny","penpal","pension","pentagon","pentagram","pep","perceive","percent","perch","percolate","perennial","perfected","perfectly","perfume","periscope","perish","perjurer","perjury","perkiness","perky","perm","peroxide","perpetual","perplexed","persecute","persevere","persuaded","persuader","pesky","peso","pessimism","pessimist","pester","pesticide","petal","petite","petition","petri","petroleum","petted","petticoat","pettiness","petty","petunia","phantom","phobia","phoenix","phonebook","phoney","phonics","phoniness","phony","phosphate","photo","phrase","phrasing","placard","placate","placidly","plank","planner","plant","plasma","plaster","plastic","plated","platform","plating","platinum","platonic","platter","platypus","plausible","plausibly","playable","playback","player","playful","playgroup","playhouse","playing","playlist","playmaker","playmate","playoff","playpen","playroom","playset","plaything","playtime","plaza","pleading","pleat","pledge","plentiful","plenty","plethora","plexiglas","pliable","plod","plop","plot","plow","ploy","pluck","plug","plunder","plunging","plural","plus","plutonium","plywood","poach","pod","poem","poet","pogo","pointed","pointer","pointing","pointless","pointy","poise","poison","poker","poking","polar","police","policy","polio","polish","politely","polka","polo","polyester","polygon","polygraph","polymer","poncho","pond","pony","popcorn","pope","poplar","popper","poppy","popsicle","populace","popular","populate","porcupine","pork","porous","porridge","portable","portal","portfolio","porthole","portion","portly","portside","poser","posh","posing","possible","possibly","possum","postage","postal","postbox","postcard","posted","poster","posting","postnasal","posture","postwar","pouch","pounce","pouncing","pound","pouring","pout","powdered","powdering","powdery","power","powwow","pox","praising","prance","prancing","pranker","prankish","prankster","prayer","praying","preacher","preaching","preachy","preamble","precinct","precise","precision","precook","precut","predator","predefine","predict","preface","prefix","preflight","preformed","pregame","pregnancy","pregnant","preheated","prelaunch","prelaw","prelude","premiere","premises","premium","prenatal","preoccupy","preorder","prepaid","prepay","preplan","preppy","preschool","prescribe","preseason","preset","preshow","president","presoak","press","presume","presuming","preteen","pretended","pretender","pretense","pretext","pretty","pretzel","prevail","prevalent","prevent","preview","previous","prewar","prewashed","prideful","pried","primal","primarily","primary","primate","primer","primp","princess","print","prior","prism","prison","prissy","pristine","privacy","private","privatize","prize","proactive","probable","probably","probation","probe","probing","probiotic","problem","procedure","process","proclaim","procreate","procurer","prodigal","prodigy","produce","product","profane","profanity","professed","professor","profile","profound","profusely","progeny","prognosis","program","progress","projector","prologue","prolonged","promenade","prominent","promoter","promotion","prompter","promptly","prone","prong","pronounce","pronto","proofing","proofread","proofs","propeller","properly","property","proponent","proposal","propose","props","prorate","protector","protegee","proton","prototype","protozoan","protract","protrude","proud","provable","proved","proven","provided","provider","providing","province","proving","provoke","provoking","provolone","prowess","prowler","prowling","proximity","proxy","prozac","prude","prudishly","prune","pruning","pry","psychic","public","publisher","pucker","pueblo","pug","pull","pulmonary","pulp","pulsate","pulse","pulverize","puma","pumice","pummel","punch","punctual","punctuate","punctured","pungent","punisher","punk","pupil","puppet","puppy","purchase","pureblood","purebred","purely","pureness","purgatory","purge","purging","purifier","purify","purist","puritan","purity","purple","purplish","purposely","purr","purse","pursuable","pursuant","pursuit","purveyor","pushcart","pushchair","pusher","pushiness","pushing","pushover","pushpin","pushup","pushy","putdown","putt","puzzle","puzzling","pyramid","pyromania","python","quack","quadrant","quail","quaintly","quake","quaking","qualified","qualifier","qualify","quality","qualm","quantum","quarrel","quarry","quartered","quarterly","quarters","quartet","quench","query","quicken","quickly","quickness","quicksand","quickstep","quiet","quill","quilt","quintet","quintuple","quirk","quit","quiver","quizzical","quotable","quotation","quote","rabid","race","racing","racism","rack","racoon","radar","radial","radiance","radiantly","radiated","radiation","radiator","radio","radish","raffle","raft","rage","ragged","raging","ragweed","raider","railcar","railing","railroad","railway","raisin","rake","raking","rally","ramble","rambling","ramp","ramrod","ranch","rancidity","random","ranged","ranger","ranging","ranked","ranking","ransack","ranting","rants","rare","rarity","rascal","rash","rasping","ravage","raven","ravine","raving","ravioli","ravishing","reabsorb","reach","reacquire","reaction","reactive","reactor","reaffirm","ream","reanalyze","reappear","reapply","reappoint","reapprove","rearrange","rearview","reason","reassign","reassure","reattach","reawake","rebalance","rebate","rebel","rebirth","reboot","reborn","rebound","rebuff","rebuild","rebuilt","reburial","rebuttal","recall","recant","recapture","recast","recede","recent","recess","recharger","recipient","recital","recite","reckless","reclaim","recliner","reclining","recluse","reclusive","recognize","recoil","recollect","recolor","reconcile","reconfirm","reconvene","recopy","record","recount","recoup","recovery","recreate","rectal","rectangle","rectified","rectify","recycled","recycler","recycling","reemerge","reenact","reenter","reentry","reexamine","referable","referee","reference","refill","refinance","refined","refinery","refining","refinish","reflected","reflector","reflex","reflux","refocus","refold","reforest","reformat","reformed","reformer","reformist","refract","refrain","refreeze","refresh","refried","refueling","refund","refurbish","refurnish","refusal","refuse","refusing","refutable","refute","regain","regalia","regally","reggae","regime","region","register","registrar","registry","regress","regretful","regroup","regular","regulate","regulator","rehab","reheat","rehire","rehydrate","reimburse","reissue","reiterate","rejoice","rejoicing","rejoin","rekindle","relapse","relapsing","relatable","related","relation","relative","relax","relay","relearn","release","relenting","reliable","reliably","reliance","reliant","relic","relieve","relieving","relight","relish","relive","reload","relocate","relock","reluctant","rely","remake","remark","remarry","rematch","remedial","remedy","remember","reminder","remindful","remission","remix","remnant","remodeler","remold","remorse","remote","removable","removal","removed","remover","removing","rename","renderer","rendering","rendition","renegade","renewable","renewably","renewal","renewed","renounce","renovate","renovator","rentable","rental","rented","renter","reoccupy","reoccur","reopen","reorder","repackage","repacking","repaint","repair","repave","repaying","repayment","repeal","repeated","repeater","repent","rephrase","replace","replay","replica","reply","reporter","repose","repossess","repost","repressed","reprimand","reprint","reprise","reproach","reprocess","reproduce","reprogram","reps","reptile","reptilian","repugnant","repulsion","repulsive","repurpose","reputable","reputably","request","require","requisite","reroute","rerun","resale","resample","rescuer","reseal","research","reselect","reseller","resemble","resend","resent","reset","reshape","reshoot","reshuffle","residence","residency","resident","residual","residue","resigned","resilient","resistant","resisting","resize","resolute","resolved","resonant","resonate","resort","resource","respect","resubmit","result","resume","resupply","resurface","resurrect","retail","retainer","retaining","retake","retaliate","retention","rethink","retinal","retired","retiree","retiring","retold","retool","retorted","retouch","retrace","retract","retrain","retread","retreat","retrial","retrieval","retriever","retry","return","retying","retype","reunion","reunite","reusable","reuse","reveal","reveler","revenge","revenue","reverb","revered","reverence","reverend","reversal","reverse","reversing","reversion","revert","revisable","revise","revision","revisit","revivable","revival","reviver","reviving","revocable","revoke","revolt","revolver","revolving","reward","rewash","rewind","rewire","reword","rework","rewrap","rewrite","rhyme","ribbon","ribcage","rice","riches","richly","richness","rickety","ricotta","riddance","ridden","ride","riding","rifling","rift","rigging","rigid","rigor","rimless","rimmed","rind","rink","rinse","rinsing","riot","ripcord","ripeness","ripening","ripping","ripple","rippling","riptide","rise","rising","risk","risotto","ritalin","ritzy","rival","riverbank","riverbed","riverboat","riverside","riveter","riveting","roamer","roaming","roast","robbing","robe","robin","robotics","robust","rockband","rocker","rocket","rockfish","rockiness","rocking","rocklike","rockslide","rockstar","rocky","rogue","roman","romp","rope","roping","roster","rosy","rotten","rotting","rotunda","roulette","rounding","roundish","roundness","roundup","roundworm","routine","routing","rover","roving","royal","rubbed","rubber","rubbing","rubble","rubdown","ruby","ruckus","rudder","rug","ruined","rule","rumble","rumbling","rummage","rumor","runaround","rundown","runner","running","runny","runt","runway","rupture","rural","ruse","rush","rust","rut","sabbath","sabotage","sacrament","sacred","sacrifice","sadden","saddlebag","saddled","saddling","sadly","sadness","safari","safeguard","safehouse","safely","safeness","saffron","saga","sage","sagging","saggy","said","saint","sake","salad","salami","salaried","salary","saline","salon","saloon","salsa","salt","salutary","salute","salvage","salvaging","salvation","same","sample","sampling","sanction","sanctity","sanctuary","sandal","sandbag","sandbank","sandbar","sandblast","sandbox","sanded","sandfish","sanding","sandlot","sandpaper","sandpit","sandstone","sandstorm","sandworm","sandy","sanitary","sanitizer","sank","santa","sapling","sappiness","sappy","sarcasm","sarcastic","sardine","sash","sasquatch","sassy","satchel","satiable","satin","satirical","satisfied","satisfy","saturate","saturday","sauciness","saucy","sauna","savage","savanna","saved","savings","savior","savor","saxophone","say","scabbed","scabby","scalded","scalding","scale","scaling","scallion","scallop","scalping","scam","scandal","scanner","scanning","scant","scapegoat","scarce","scarcity","scarecrow","scared","scarf","scarily","scariness","scarring","scary","scavenger","scenic","schedule","schematic","scheme","scheming","schilling","schnapps","scholar","science","scientist","scion","scoff","scolding","scone","scoop","scooter","scope","scorch","scorebook","scorecard","scored","scoreless","scorer","scoring","scorn","scorpion","scotch","scoundrel","scoured","scouring","scouting","scouts","scowling","scrabble","scraggly","scrambled","scrambler","scrap","scratch","scrawny","screen","scribble","scribe","scribing","scrimmage","script","scroll","scrooge","scrounger","scrubbed","scrubber","scruffy","scrunch","scrutiny","scuba","scuff","sculptor","sculpture","scurvy","scuttle","secluded","secluding","seclusion","second","secrecy","secret","sectional","sector","secular","securely","security","sedan","sedate","sedation","sedative","sediment","seduce","seducing","segment","seismic","seizing","seldom","selected","selection","selective","selector","self","seltzer","semantic","semester","semicolon","semifinal","seminar","semisoft","semisweet","senate","senator","send","senior","senorita","sensation","sensitive","sensitize","sensually","sensuous","sepia","september","septic","septum","sequel","sequence","sequester","series","sermon","serotonin","serpent","serrated","serve","service","serving","sesame","sessions","setback","setting","settle","settling","setup","sevenfold","seventeen","seventh","seventy","severity","shabby","shack","shaded","shadily","shadiness","shading","shadow","shady","shaft","shakable","shakily","shakiness","shaking","shaky","shale","shallot","shallow","shame","shampoo","shamrock","shank","shanty","shape","shaping","share","sharpener","sharper","sharpie","sharply","sharpness","shawl","sheath","shed","sheep","sheet","shelf","shell","shelter","shelve","shelving","sherry","shield","shifter","shifting","shiftless","shifty","shimmer","shimmy","shindig","shine","shingle","shininess","shining","shiny","ship","shirt","shivering","shock","shone","shoplift","shopper","shopping","shoptalk","shore","shortage","shortcake","shortcut","shorten","shorter","shorthand","shortlist","shortly","shortness","shorts","shortwave","shorty","shout","shove","showbiz","showcase","showdown","shower","showgirl","showing","showman","shown","showoff","showpiece","showplace","showroom","showy","shrank","shrapnel","shredder","shredding","shrewdly","shriek","shrill","shrimp","shrine","shrink","shrivel","shrouded","shrubbery","shrubs","shrug","shrunk","shucking","shudder","shuffle","shuffling","shun","shush","shut","shy","siamese","siberian","sibling","siding","sierra","siesta","sift","sighing","silenced","silencer","silent","silica","silicon","silk","silliness","silly","silo","silt","silver","similarly","simile","simmering","simple","simplify","simply","sincere","sincerity","singer","singing","single","singular","sinister","sinless","sinner","sinuous","sip","siren","sister","sitcom","sitter","sitting","situated","situation","sixfold","sixteen","sixth","sixties","sixtieth","sixtyfold","sizable","sizably","size","sizing","sizzle","sizzling","skater","skating","skedaddle","skeletal","skeleton","skeptic","sketch","skewed","skewer","skid","skied","skier","skies","skiing","skilled","skillet","skillful","skimmed","skimmer","skimming","skimpily","skincare","skinhead","skinless","skinning","skinny","skintight","skipper","skipping","skirmish","skirt","skittle","skydiver","skylight","skyline","skype","skyrocket","skyward","slab","slacked","slacker","slacking","slackness","slacks","slain","slam","slander","slang","slapping","slapstick","slashed","slashing","slate","slather","slaw","sled","sleek","sleep","sleet","sleeve","slept","sliceable","sliced","slicer","slicing","slick","slider","slideshow","sliding","slighted","slighting","slightly","slimness","slimy","slinging","slingshot","slinky","slip","slit","sliver","slobbery","slogan","sloped","sloping","sloppily","sloppy","slot","slouching","slouchy","sludge","slug","slum","slurp","slush","sly","small","smartly","smartness","smasher","smashing","smashup","smell","smelting","smile","smilingly","smirk","smite","smith","smitten","smock","smog","smoked","smokeless","smokiness","smoking","smoky","smolder","smooth","smother","smudge","smudgy","smuggler","smuggling","smugly","smugness","snack","snagged","snaking","snap","snare","snarl","snazzy","sneak","sneer","sneeze","sneezing","snide","sniff","snippet","snipping","snitch","snooper","snooze","snore","snoring","snorkel","snort","snout","snowbird","snowboard","snowbound","snowcap","snowdrift","snowdrop","snowfall","snowfield","snowflake","snowiness","snowless","snowman","snowplow","snowshoe","snowstorm","snowsuit","snowy","snub","snuff","snuggle","snugly","snugness","speak","spearfish","spearhead","spearman","spearmint","species","specimen","specked","speckled","specks","spectacle","spectator","spectrum","speculate","speech","speed","spellbind","speller","spelling","spendable","spender","spending","spent","spew","sphere","spherical","sphinx","spider","spied","spiffy","spill","spilt","spinach","spinal","spindle","spinner","spinning","spinout","spinster","spiny","spiral","spirited","spiritism","spirits","spiritual","splashed","splashing","splashy","splatter","spleen","splendid","splendor","splice","splicing","splinter","splotchy","splurge","spoilage","spoiled","spoiler","spoiling","spoils","spoken","spokesman","sponge","spongy","sponsor","spoof","spookily","spooky","spool","spoon","spore","sporting","sports","sporty","spotless","spotlight","spotted","spotter","spotting","spotty","spousal","spouse","spout","sprain","sprang","sprawl","spray","spree","sprig","spring","sprinkled","sprinkler","sprint","sprite","sprout","spruce","sprung","spry","spud","spur","sputter","spyglass","squabble","squad","squall","squander","squash","squatted","squatter","squatting","squeak","squealer","squealing","squeamish","squeegee","squeeze","squeezing","squid","squiggle","squiggly","squint","squire","squirt","squishier","squishy","stability","stabilize","stable","stack","stadium","staff","stage","staging","stagnant","stagnate","stainable","stained","staining","stainless","stalemate","staleness","stalling","stallion","stamina","stammer","stamp","stand","stank","staple","stapling","starboard","starch","stardom","stardust","starfish","stargazer","staring","stark","starless","starlet","starlight","starlit","starring","starry","starship","starter","starting","startle","startling","startup","starved","starving","stash","state","static","statistic","statue","stature","status","statute","statutory","staunch","stays","steadfast","steadier","steadily","steadying","steam","steed","steep","steerable","steering","steersman","stegosaur","stellar","stem","stench","stencil","step","stereo","sterile","sterility","sterilize","sterling","sternness","sternum","stew","stick","stiffen","stiffly","stiffness","stifle","stifling","stillness","stilt","stimulant","stimulate","stimuli","stimulus","stinger","stingily","stinging","stingray","stingy","stinking","stinky","stipend","stipulate","stir","stitch","stock","stoic","stoke","stole","stomp","stonewall","stoneware","stonework","stoning","stony","stood","stooge","stool","stoop","stoplight","stoppable","stoppage","stopped","stopper","stopping","stopwatch","storable","storage","storeroom","storewide","storm","stout","stove","stowaway","stowing","straddle","straggler","strained","strainer","straining","strangely","stranger","strangle","strategic","strategy","stratus","straw","stray","streak","stream","street","strength","strenuous","strep","stress","stretch","strewn","stricken","strict","stride","strife","strike","striking","strive","striving","strobe","strode","stroller","strongbox","strongly","strongman","struck","structure","strudel","struggle","strum","strung","strut","stubbed","stubble","stubbly","stubborn","stucco","stuck","student","studied","studio","study","stuffed","stuffing","stuffy","stumble","stumbling","stump","stung","stunned","stunner","stunning","stunt","stupor","sturdily","sturdy","styling","stylishly","stylist","stylized","stylus","suave","subarctic","subatomic","subdivide","subdued","subduing","subfloor","subgroup","subheader","subject","sublease","sublet","sublevel","sublime","submarine","submerge","submersed","submitter","subpanel","subpar","subplot","subprime","subscribe","subscript","subsector","subside","subsiding","subsidize","subsidy","subsoil","subsonic","substance","subsystem","subtext","subtitle","subtly","subtotal","subtract","subtype","suburb","subway","subwoofer","subzero","succulent","such","suction","sudden","sudoku","suds","sufferer","suffering","suffice","suffix","suffocate","suffrage","sugar","suggest","suing","suitable","suitably","suitcase","suitor","sulfate","sulfide","sulfite","sulfur","sulk","sullen","sulphate","sulphuric","sultry","superbowl","superglue","superhero","superior","superjet","superman","supermom","supernova","supervise","supper","supplier","supply","support","supremacy","supreme","surcharge","surely","sureness","surface","surfacing","surfboard","surfer","surgery","surgical","surging","surname","surpass","surplus","surprise","surreal","surrender","surrogate","surround","survey","survival","survive","surviving","survivor","sushi","suspect","suspend","suspense","sustained","sustainer","swab","swaddling","swagger","swampland","swan","swapping","swarm","sway","swear","sweat","sweep","swell","swept","swerve","swifter","swiftly","swiftness","swimmable","swimmer","swimming","swimsuit","swimwear","swinger","swinging","swipe","swirl","switch","swivel","swizzle","swooned","swoop","swoosh","swore","sworn","swung","sycamore","sympathy","symphonic","symphony","symptom","synapse","syndrome","synergy","synopses","synopsis","synthesis","synthetic","syrup","system","t-shirt","tabasco","tabby","tableful","tables","tablet","tableware","tabloid","tackiness","tacking","tackle","tackling","tacky","taco","tactful","tactical","tactics","tactile","tactless","tadpole","taekwondo","tag","tainted","take","taking","talcum","talisman","tall","talon","tamale","tameness","tamer","tamper","tank","tanned","tannery","tanning","tantrum","tapeless","tapered","tapering","tapestry","tapioca","tapping","taps","tarantula","target","tarmac","tarnish","tarot","tartar","tartly","tartness","task","tassel","taste","tastiness","tasting","tasty","tattered","tattle","tattling","tattoo","taunt","tavern","thank","that","thaw","theater","theatrics","thee","theft","theme","theology","theorize","thermal","thermos","thesaurus","these","thesis","thespian","thicken","thicket","thickness","thieving","thievish","thigh","thimble","thing","think","thinly","thinner","thinness","thinning","thirstily","thirsting","thirsty","thirteen","thirty","thong","thorn","those","thousand","thrash","thread","threaten","threefold","thrift","thrill","thrive","thriving","throat","throbbing","throng","throttle","throwaway","throwback","thrower","throwing","thud","thumb","thumping","thursday","thus","thwarting","thyself","tiara","tibia","tidal","tidbit","tidiness","tidings","tidy","tiger","tighten","tightly","tightness","tightrope","tightwad","tigress","tile","tiling","till","tilt","timid","timing","timothy","tinderbox","tinfoil","tingle","tingling","tingly","tinker","tinkling","tinsel","tinsmith","tint","tinwork","tiny","tipoff","tipped","tipper","tipping","tiptoeing","tiptop","tiring","tissue","trace","tracing","track","traction","tractor","trade","trading","tradition","traffic","tragedy","trailing","trailside","train","traitor","trance","tranquil","transfer","transform","translate","transpire","transport","transpose","trapdoor","trapeze","trapezoid","trapped","trapper","trapping","traps","trash","travel","traverse","travesty","tray","treachery","treading","treadmill","treason","treat","treble","tree","trekker","tremble","trembling","tremor","trench","trend","trespass","triage","trial","triangle","tribesman","tribunal","tribune","tributary","tribute","triceps","trickery","trickily","tricking","trickle","trickster","tricky","tricolor","tricycle","trident","tried","trifle","trifocals","trillion","trilogy","trimester","trimmer","trimming","trimness","trinity","trio","tripod","tripping","triumph","trivial","trodden","trolling","trombone","trophy","tropical","tropics","trouble","troubling","trough","trousers","trout","trowel","truce","truck","truffle","trump","trunks","trustable","trustee","trustful","trusting","trustless","truth","try","tubby","tubeless","tubular","tucking","tuesday","tug","tuition","tulip","tumble","tumbling","tummy","turban","turbine","turbofan","turbojet","turbulent","turf","turkey","turmoil","turret","turtle","tusk","tutor","tutu","tux","tweak","tweed","tweet","tweezers","twelve","twentieth","twenty","twerp","twice","twiddle","twiddling","twig","twilight","twine","twins","twirl","twistable","twisted","twister","twisting","twisty","twitch","twitter","tycoon","tying","tyke","udder","ultimate","ultimatum","ultra","umbilical","umbrella","umpire","unabashed","unable","unadorned","unadvised","unafraid","unaired","unaligned","unaltered","unarmored","unashamed","unaudited","unawake","unaware","unbaked","unbalance","unbeaten","unbend","unbent","unbiased","unbitten","unblended","unblessed","unblock","unbolted","unbounded","unboxed","unbraided","unbridle","unbroken","unbuckled","unbundle","unburned","unbutton","uncanny","uncapped","uncaring","uncertain","unchain","unchanged","uncharted","uncheck","uncivil","unclad","unclaimed","unclamped","unclasp","uncle","unclip","uncloak","unclog","unclothed","uncoated","uncoiled","uncolored","uncombed","uncommon","uncooked","uncork","uncorrupt","uncounted","uncouple","uncouth","uncover","uncross","uncrown","uncrushed","uncured","uncurious","uncurled","uncut","undamaged","undated","undaunted","undead","undecided","undefined","underage","underarm","undercoat","undercook","undercut","underdog","underdone","underfed","underfeed","underfoot","undergo","undergrad","underhand","underline","underling","undermine","undermost","underpaid","underpass","underpay","underrate","undertake","undertone","undertook","undertow","underuse","underwear","underwent","underwire","undesired","undiluted","undivided","undocked","undoing","undone","undrafted","undress","undrilled","undusted","undying","unearned","unearth","unease","uneasily","uneasy","uneatable","uneaten","unedited","unelected","unending","unengaged","unenvied","unequal","unethical","uneven","unexpired","unexposed","unfailing","unfair","unfasten","unfazed","unfeeling","unfiled","unfilled","unfitted","unfitting","unfixable","unfixed","unflawed","unfocused","unfold","unfounded","unframed","unfreeze","unfrosted","unfrozen","unfunded","unglazed","ungloved","unglue","ungodly","ungraded","ungreased","unguarded","unguided","unhappily","unhappy","unharmed","unhealthy","unheard","unhearing","unheated","unhelpful","unhidden","unhinge","unhitched","unholy","unhook","unicorn","unicycle","unified","unifier","uniformed","uniformly","unify","unimpeded","uninjured","uninstall","uninsured","uninvited","union","uniquely","unisexual","unison","unissued","unit","universal","universe","unjustly","unkempt","unkind","unknotted","unknowing","unknown","unlaced","unlatch","unlawful","unleaded","unlearned","unleash","unless","unleveled","unlighted","unlikable","unlimited","unlined","unlinked","unlisted","unlit","unlivable","unloaded","unloader","unlocked","unlocking","unlovable","unloved","unlovely","unloving","unluckily","unlucky","unmade","unmanaged","unmanned","unmapped","unmarked","unmasked","unmasking","unmatched","unmindful","unmixable","unmixed","unmolded","unmoral","unmovable","unmoved","unmoving","unnamable","unnamed","unnatural","unneeded","unnerve","unnerving","unnoticed","unopened","unopposed","unpack","unpadded","unpaid","unpainted","unpaired","unpaved","unpeeled","unpicked","unpiloted","unpinned","unplanned","unplanted","unpleased","unpledged","unplowed","unplug","unpopular","unproven","unquote","unranked","unrated","unraveled","unreached","unread","unreal","unreeling","unrefined","unrelated","unrented","unrest","unretired","unrevised","unrigged","unripe","unrivaled","unroasted","unrobed","unroll","unruffled","unruly","unrushed","unsaddle","unsafe","unsaid","unsalted","unsaved","unsavory","unscathed","unscented","unscrew","unsealed","unseated","unsecured","unseeing","unseemly","unseen","unselect","unselfish","unsent","unsettled","unshackle","unshaken","unshaved","unshaven","unsheathe","unshipped","unsightly","unsigned","unskilled","unsliced","unsmooth","unsnap","unsocial","unsoiled","unsold","unsolved","unsorted","unspoiled","unspoken","unstable","unstaffed","unstamped","unsteady","unsterile","unstirred","unstitch","unstopped","unstuck","unstuffed","unstylish","unsubtle","unsubtly","unsuited","unsure","unsworn","untagged","untainted","untaken","untamed","untangled","untapped","untaxed","unthawed","unthread","untidy","untie","until","untimed","untimely","untitled","untoasted","untold","untouched","untracked","untrained","untreated","untried","untrimmed","untrue","untruth","unturned","untwist","untying","unusable","unused","unusual","unvalued","unvaried","unvarying","unveiled","unveiling","unvented","unviable","unvisited","unvocal","unwanted","unwarlike","unwary","unwashed","unwatched","unweave","unwed","unwelcome","unwell","unwieldy","unwilling","unwind","unwired","unwitting","unwomanly","unworldly","unworn","unworried","unworthy","unwound","unwoven","unwrapped","unwritten","unzip","upbeat","upchuck","upcoming","upcountry","update","upfront","upgrade","upheaval","upheld","uphill","uphold","uplifted","uplifting","upload","upon","upper","upright","uprising","upriver","uproar","uproot","upscale","upside","upstage","upstairs","upstart","upstate","upstream","upstroke","upswing","uptake","uptight","uptown","upturned","upward","upwind","uranium","urban","urchin","urethane","urgency","urgent","urging","urologist","urology","usable","usage","useable","used","uselessly","user","usher","usual","utensil","utility","utilize","utmost","utopia","utter","vacancy","vacant","vacate","vacation","vagabond","vagrancy","vagrantly","vaguely","vagueness","valiant","valid","valium","valley","valuables","value","vanilla","vanish","vanity","vanquish","vantage","vaporizer","variable","variably","varied","variety","various","varmint","varnish","varsity","varying","vascular","vaseline","vastly","vastness","veal","vegan","veggie","vehicular","velcro","velocity","velvet","vendetta","vending","vendor","veneering","vengeful","venomous","ventricle","venture","venue","venus","verbalize","verbally","verbose","verdict","verify","verse","version","versus","vertebrae","vertical","vertigo","very","vessel","vest","veteran","veto","vexingly","viability","viable","vibes","vice","vicinity","victory","video","viewable","viewer","viewing","viewless","viewpoint","vigorous","village","villain","vindicate","vineyard","vintage","violate","violation","violator","violet","violin","viper","viral","virtual","virtuous","virus","visa","viscosity","viscous","viselike","visible","visibly","vision","visiting","visitor","visor","vista","vitality","vitalize","vitally","vitamins","vivacious","vividly","vividness","vixen","vocalist","vocalize","vocally","vocation","voice","voicing","void","volatile","volley","voltage","volumes","voter","voting","voucher","vowed","vowel","voyage","wackiness","wad","wafer","waffle","waged","wager","wages","waggle","wagon","wake","waking","walk","walmart","walnut","walrus","waltz","wand","wannabe","wanted","wanting","wasabi","washable","washbasin","washboard","washbowl","washcloth","washday","washed","washer","washhouse","washing","washout","washroom","washstand","washtub","wasp","wasting","watch","water","waviness","waving","wavy","whacking","whacky","wham","wharf","wheat","whenever","whiff","whimsical","whinny","whiny","whisking","whoever","whole","whomever","whoopee","whooping","whoops","why","wick","widely","widen","widget","widow","width","wieldable","wielder","wife","wifi","wikipedia","wildcard","wildcat","wilder","wildfire","wildfowl","wildland","wildlife","wildly","wildness","willed","willfully","willing","willow","willpower","wilt","wimp","wince","wincing","wind","wing","winking","winner","winnings","winter","wipe","wired","wireless","wiring","wiry","wisdom","wise","wish","wisplike","wispy","wistful","wizard","wobble","wobbling","wobbly","wok","wolf","wolverine","womanhood","womankind","womanless","womanlike","womanly","womb","woof","wooing","wool","woozy","word","work","worried","worrier","worrisome","worry","worsening","worshiper","worst","wound","woven","wow","wrangle","wrath","wreath","wreckage","wrecker","wrecking","wrench","wriggle","wriggly","wrinkle","wrinkly","wrist","writing","written","wrongdoer","wronged","wrongful","wrongly","wrongness","wrought","xbox","xerox","yahoo","yam","yanking","yapping","yard","yarn","yeah","yearbook","yearling","yearly","yearning","yeast","yelling","yelp","yen","yesterday","yiddish","yield","yin","yippee","yo-yo","yodel","yoga","yogurt","yonder","yoyo","yummy","zap","zealous","zebra","zen","zeppelin","zero","zestfully","zesty","zigzagged","zipfile","zipping","zippy","zips","zit","zodiac","zombie","zone","zoning","zookeeper","zoologist","zoology","zoom"]},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&this.cipherService.upsert(o)}return[2]}})})},e.prototype.deleteWithServer=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.apiService.deleteFolder(e)];case 1:return t.sent(),[4,this.delete(e)];case 2:return t.sent(),[2]}})})},e}();t.FolderService=m},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)for(d=0;d0)for(d=0;d0)for(d=0;d0)for(d=0;d1)&&(t.wordSeparator=" "),null==t.capitalize&&(t.capitalize=!1),null==t.includeNumber&&(t.includeNumber=!1),n=c.EEFLongWordList.length-1,r=new Array(t.numWords),o=0,i.label=1;case 1:return oe.length&&(e.minSpecial=e.length-e.minNumber),e.numWordsn.minLength&&(n.minLength=e.data.minLength),e.data.useUpper&&(n.useUppercase=!0),e.data.useLower&&(n.useLowercase=!0),e.data.useNumbers&&(n.useNumbers=!0),null!=e.data.minNumbers&&e.data.minNumbers>n.numberCount&&(n.numberCount=e.data.minNumbers),e.data.useSpecial&&(n.useSpecial=!0),null!=e.data.minSpecial&&e.data.minSpecial>n.specialCount&&(n.specialCount=e.data.minSpecial),null!=e.data.minNumberWords&&e.data.minNumberWords>n.minNumberWords&&(n.minNumberWords=e.data.minNumberWords),e.data.capitalize&&(n.capitalize=!0),e.data.includeNumber&&(n.includeNumber=!0))}),[2,n])}})})},e.prototype.saveOptions=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.storageService.save(d,e)];case 1:return t.sent(),this.optionsCache=e,[2]}})})},e.prototype.getHistory=function(){return r(this,void 0,void 0,function(){var e,t;return i(this,function(n){switch(n.label){case 0:return[4,this.cryptoService.hasKey()];case 1:return n.sent()?this.history?[3,4]:[4,this.storageService.get(m)]:[2,new Array];case 2:return e=n.sent(),t=this,[4,this.decryptHistory(e)];case 3:t.history=n.sent(),n.label=4;case 4:return[2,this.history||new Array]}})})},e.prototype.addHistory=function(e){return r(this,void 0,void 0,function(){var t,n;return i(this,function(r){switch(r.label){case 0:return[4,this.cryptoService.hasKey()];case 1:return r.sent()?[4,this.getHistory()]:[2];case 2:return t=r.sent(),this.matchesPrevious(e,t)?[2]:(t.unshift(new s.GeneratedPasswordHistory(e,Date.now())),t.length>100&&t.pop(),[4,this.encryptHistory(t)]);case 3:return n=r.sent(),[4,this.storageService.save(m,n)];case 4:return[2,r.sent()]}})})},e.prototype.clear=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.history=[],[4,this.storageService.remove(m)];case 1:return[2,e.sent()]}})})},e.prototype.passwordStrength=function(e,t){if(void 0===t&&(t=null),null==e||0===e.length)return null;var n=["bitwarden","bit","warden"];null!=t&&t.length>0&&(n=n.concat(t));var r=Array.from(new Set(n));return o(e,r)},e.prototype.normalizeOptions=function(e,t){e.minLowercase=0,e.minUppercase=0,!e.length||e.length<5?e.length=5:e.length>128&&(e.length=128),e.lengthe.length?e.minNumber=e.length:e.minNumber>9&&(e.minNumber=9):e.minNumber=0,e.minNumbere.length?e.minSpecial=e.length:e.minSpecial>9&&(e.minSpecial=9):e.minSpecial=0,e.minSpeciale.length&&(e.minSpecial=e.length-e.minNumber),null==e.numWords||e.length<3?e.numWords=3:e.numWords>20&&(e.numWords=20),e.numWords1&&(e.wordSeparator=e.wordSeparator[0]),this.sanitizePasswordLength(e,!1)},e.prototype.capitalize=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},e.prototype.appendRandomNumberToRandomWord=function(e){return r(this,void 0,void 0,function(){var t,n;return i(this,function(r){switch(r.label){case 0:return null==e||e.length<=0?[2]:[4,this.cryptoService.randomNumber(0,e.length-1)];case 1:return t=r.sent(),[4,this.cryptoService.randomNumber(0,9)];case 2:return n=r.sent(),e[t]=e[t]+n,[2]}})})},e.prototype.encryptHistory=function(e){return r(this,void 0,void 0,function(){var t,n=this;return i(this,function(o){switch(o.label){case 0:return null==e||0===e.length?[2,Promise.resolve([])]:(t=e.map(function(e){return r(n,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:return[4,this.cryptoService.encrypt(e.password)];case 1:return t=n.sent(),[2,new s.GeneratedPasswordHistory(t.encryptedString,e.date)]}})})}),[4,Promise.all(t)]);case 1:return[2,o.sent()]}})})},e.prototype.decryptHistory=function(e){return r(this,void 0,void 0,function(){var t,n=this;return i(this,function(o){switch(o.label){case 0:return null==e||0===e.length?[2,Promise.resolve([])]:(t=e.map(function(e){return r(n,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:return[4,this.cryptoService.decryptToUtf8(new a.CipherString(e.password))];case 1:return t=n.sent(),[2,new s.GeneratedPasswordHistory(t,e.date)]}})})}),[4,Promise.all(t)]);case 1:return[2,o.sent()]}})})},e.prototype.matchesPrevious=function(e,t){return null!=t&&0!==t.length&&t[t.length-1].password===e},e.prototype.shuffleArray=function(e){return r(this,void 0,void 0,function(){var t,n,r;return i(this,function(i){switch(i.label){case 0:t=e.length-1,i.label=1;case 1:return t>0?[4,this.cryptoService.randomNumber(0,t)]:[3,4];case 2:n=i.sent(),r=[e[n],e[t]],e[t]=r[0],e[n]=r[1],i.label=3;case 3:return t--,[3,1];case 4:return[2]}})})},e.prototype.sanitizePasswordLength=function(e,t){var n=0,r=0,i=e.minNumber,o=e.minSpecial;e.uppercase&&e.minUppercase<=0?n=1:e.uppercase||(n=0),e.lowercase&&e.minLowercase<=0?r=1:e.lowercase||(r=0),e.number&&e.minNumber<=0?i=1:e.number||(i=0),e.special&&e.minSpecial<=0?o=1:e.special||(o=0),(!e.length||e.length<1)&&(e.length=10);var a=n+r+i+o;e.length0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=e.revisionDate&&(n=!1),a=!1,n&&(t?(n=null!=r,a=!0):null==e.collectionIds||null==e.organizationId?n=null==r:(n=!1,a=!0)),!n&&a&&null!=e.organizationId&&null!=e.collectionIds&&e.collectionIds.length>0?[4,this.collectionService.getAll()]:[3,5];case 4:if(null!=(s=i.sent()))for(l=0;l-1){n=!0;break}i.label=5;case 5:return n?[4,this.apiService.getCipher(e.id)]:[3,9];case 6:return null==(c=i.sent())?[3,9]:[4,this.userService.getUserId()];case 7:return p=i.sent(),[4,this.cipherService.upsert(new o.CipherData(c,p))];case 8:return i.sent(),this.messagingService.send("syncedUpsertedCipher",{cipherId:e.id}),[2,this.syncCompleted(!0)];case 9:return[3,13];case 10:return null!=(u=i.sent())&&404===u.statusCode&&t?[4,this.cipherService.delete(e.id)]:[3,12];case 11:return i.sent(),this.messagingService.send("syncedDeletedCipher",{cipherId:e.id}),[2,this.syncCompleted(!0)];case 12:return[3,13];case 13:return[2,this.syncCompleted(!1)]}})})},e.prototype.syncDeleteCipher=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return this.syncStarted(),[4,this.userService.isAuthenticated()];case 1:return t.sent()?[4,this.cipherService.delete(e.id)]:[3,3];case 2:return t.sent(),this.messagingService.send("syncedDeletedCipher",{cipherId:e.id}),[2,this.syncCompleted(!0)];case 3:return[2,this.syncCompleted(!1)]}})})},e.prototype.syncStarted=function(){this.syncInProgress=!0,this.messagingService.send("syncStarted")},e.prototype.syncCompleted=function(e){return this.syncInProgress=!1,this.messagingService.send("syncCompleted",{successfully:e}),e},e.prototype.needsSyncing=function(e){return r(this,void 0,void 0,function(){var t,n;return i(this,function(r){switch(r.label){case 0:return e?[2,!0]:[4,this.getLastSync()];case 1:return null==(t=r.sent())||0===t.getTime()?[2,!0]:[4,this.apiService.getAccountRevisionDate()];case 2:return n=r.sent(),new Date(n)<=t?[2,!1]:[2,!0]}})})},e.prototype.syncProfile=function(e){return r(this,void 0,void 0,function(){var t,n;return i(this,function(r){switch(r.label){case 0:return[4,this.userService.getSecurityStamp()];case 1:return null==(t=r.sent())||t===e.securityStamp?[3,4]:null==this.logoutCallback?[3,3]:[4,this.logoutCallback(!0)];case 2:r.sent(),r.label=3;case 3:throw new Error("Stamp has changed");case 4:return[4,this.cryptoService.setEncKey(e.key)];case 5:return r.sent(),[4,this.cryptoService.setEncPrivateKey(e.privateKey)];case 6:return r.sent(),[4,this.cryptoService.setOrgKeys(e.organizations)];case 7:return r.sent(),[4,this.userService.setSecurityStamp(e.securityStamp)];case 8:return r.sent(),n={},e.organizations.forEach(function(e){n[e.id]=new l.OrganizationData(e)}),[4,this.userService.replaceOrganizations(n)];case 9:return[2,r.sent()]}})})},e.prototype.syncFolders=function(e,t){return r(this,void 0,void 0,function(){var n;return i(this,function(r){switch(r.label){case 0:return n={},t.forEach(function(t){n[t.id]=new s.FolderData(t,e)}),[4,this.folderService.replace(n)];case 1:return[2,r.sent()]}})})},e.prototype.syncCollections=function(e){return r(this,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:return t={},e.forEach(function(e){t[e.id]=new a.CollectionData(e)}),[4,this.collectionService.replace(t)];case 1:return[2,n.sent()]}})})},e.prototype.syncCiphers=function(e,t){return r(this,void 0,void 0,function(){var n;return i(this,function(r){switch(r.label){case 0:return n={},t.forEach(function(t){n[t.id]=new o.CipherData(t,e)}),[4,this.cipherService.replace(n)];case 1:return[2,r.sent()]}})})},e.prototype.syncSends=function(e,t){return r(this,void 0,void 0,function(){var n;return i(this,function(r){switch(r.label){case 0:return n={},t.forEach(function(t){n[t.id]=new p.SendData(t,e)}),[4,this.sendService.replace(n)];case 1:return[2,r.sent()]}})})},e.prototype.syncSettings=function(e,t){return r(this,void 0,void 0,function(){var e;return i(this,function(n){return e=[],null!=t&&null!=t.equivalentDomains&&(e=e.concat(t.equivalentDomains)),null!=t&&null!=t.globalEquivalentDomains&&t.globalEquivalentDomains.forEach(function(t){t.domains.length>0&&e.push(t.domains)}),[2,this.settingsService.setEquivalentDomains(e)]})})},e.prototype.syncPolicies=function(e){return r(this,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:return t={},null!=e&&e.forEach(function(e){t[e.id]=new c.PolicyData(e)}),[4,this.policyService.replace(t)];case 1:return[2,n.sent()]}})})},e}();t.SyncService=d},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(160),i=n(932),o=n(933),a=function(){return function(e,t){if(null!=e)switch(this.id=e.id,this.accessId=e.accessId,this.userId=t,this.type=e.type,this.name=e.name,this.notes=e.notes,this.key=e.key,this.maxAccessCount=e.maxAccessCount,this.accessCount=e.accessCount,this.revisionDate=e.revisionDate,this.expirationDate=e.expirationDate,this.deletionDate=e.deletionDate,this.password=e.password,this.disabled=e.disable,this.type){case r.SendType.Text:this.text=new o.SendTextData(e.text);break;case r.SendType.File:this.file=new i.SendFileData(e.file)}}}();t.SendData=a},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]10?r=10:u>0&&(r=u)}catch(I){}if(p.has("period")&&null!=p.get("period"))try{(d=parseInt(p.get("period").trim(),null))>0&&(t=d)}catch(E){}p.has("secret")&&null!=p.get("secret")&&(o=p.get("secret")),p.has("algorithm")&&null!=p.get("algorithm")&&("sha1"!==(m=p.get("algorithm").toLowerCase())&&"sha256"!==m&&"sha512"!==m||(n=m))}else c&&(o=e.substr("steam://".length),r=5);return h=Math.round((new Date).getTime()/1e3),f=this.leftPad(this.decToHex(Math.floor(h/t)),16,"0"),v=a.Utils.fromHexToArray(f),(y=this.b32ToBytes(o)).length&&v.length?[4,this.sign(y,v,n)]:[2,null];case 1:if(0===(g=i.sent()).length)return[2,null];if(x=15&g[g.length-1],b=(127&g[x])<<24|(255&g[x+1])<<16|(255&g[x+2])<<8|255&g[x+3],S="",c)for(w=2147483647&b,C=0;C=e.length&&(e=Array(t+1-e.length).join(n)+e),e},e.prototype.decToHex=function(e){return(e<15.5?"0":"")+Math.round(e).toString(16)},e.prototype.b32ToHex=function(e){e=e.toUpperCase();for(var t="",n=0;n0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=n?[4,this.storageService.get(o.ConstantsService.vaultTimeoutActionKey)]:[3,12]);case 7:return"logOut"!==r.sent()?[3,9]:[4,this.logOut()];case 8:return r.sent(),[3,11];case 9:return[4,this.lock(!0)];case 10:r.sent(),r.label=11;case 11:r.label=12;case 12:return[2]}})})},e.prototype.lock=function(e){return void 0===e&&(e=!1),r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.userService.isAuthenticated()];case 1:return t.sent()?(this.biometricLocked=!0,e?[4,this.isBiometricLockSet()]:[3,5]):[2];case 2:return t.sent()&&this.platformUtilsService.supportsSecureStorage()?(this.messagingService.send("locked"),null==this.lockedCallback?[3,4]:[4,this.lockedCallback()]):[3,5];case 3:t.sent(),t.label=4;case 4:return[2];case 5:return[4,Promise.all([this.cryptoService.clearKey(),this.cryptoService.clearOrgKeys(!0),this.cryptoService.clearKeyPair(!0),this.cryptoService.clearEncKey(!0)])];case 6:return t.sent(),this.folderService.clearCache(),this.cipherService.clearCache(),this.collectionService.clearCache(),this.searchService.clearIndex(),this.messagingService.send("locked"),null==this.lockedCallback?[3,8]:[4,this.lockedCallback()];case 7:t.sent(),t.label=8;case 8:return[2]}})})},e.prototype.logOut=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return null==this.loggedOutCallback?[3,2]:[4,this.loggedOutCallback()];case 1:e.sent(),e.label=2;case 2:return[2]}})})},e.prototype.setVaultTimeoutOptions=function(e,t){return r(this,void 0,void 0,function(){return i(this,function(n){switch(n.label){case 0:return[4,this.storageService.save(o.ConstantsService.vaultTimeoutKey,e)];case 1:return n.sent(),[4,this.storageService.save(o.ConstantsService.vaultTimeoutActionKey,t)];case 2:return n.sent(),[4,this.cryptoService.toggleKey()];case 3:return n.sent(),[4,this.tokenService.toggleTokens()];case 4:return n.sent(),[2]}})})},e.prototype.isPinLockSet=function(){return r(this,void 0,void 0,function(){var e,t;return i(this,function(n){switch(n.label){case 0:return[4,this.storageService.get(o.ConstantsService.protectedPin)];case 1:return e=n.sent(),[4,this.storageService.get(o.ConstantsService.pinProtectedKey)];case 2:return t=n.sent(),[2,[null!=e,null!=t]]}})})},e.prototype.isBiometricLockSet=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return[4,this.storageService.get(o.ConstantsService.biometricUnlockKey)];case 1:return[2,e.sent()]}})})},e.prototype.clear=function(){return this.pinProtectedKey=null,this.storageService.remove(o.ConstantsService.protectedPin)},e}();t.VaultTimeoutService=a},,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(938),i=n(939),o=function(){function e(e,t){void 0===t&&(t=null),this.isDev=e,this.filter=t,this.timersMap=new Map}return e.prototype.debug=function(e){this.isDev&&this.write(r.LogLevelType.Debug,e)},e.prototype.info=function(e){this.write(r.LogLevelType.Info,e)},e.prototype.warning=function(e){this.write(r.LogLevelType.Warning,e)},e.prototype.error=function(e){this.write(r.LogLevelType.Error,e)},e.prototype.write=function(e,t){if(null==this.filter||!this.filter(e))switch(e){case r.LogLevelType.Debug:case r.LogLevelType.Info:console.log(t);break;case r.LogLevelType.Warning:console.warn(t);break;case r.LogLevelType.Error:console.error(t)}},e.prototype.time=function(e){void 0===e&&(e="default"),this.timersMap.has(e)||this.timersMap.set(e,i())},e.prototype.timeEnd=function(e){void 0===e&&(e="default");var t=i(this.timersMap.get(e));return this.timersMap.delete(e),this.write(r.LogLevelType.Info,e+": "+(1e3*t[0]+t[1]/1e7)+"ms"),t},e}();t.ConsoleLogService=o},,,,,,,,function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.build=function(t){this.id=t.id,e.prototype.build.call(this,t),this.collectionIds=t.collectionIds},t}(n(955).Cipher);t.CipherWithIds=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.build=function(t){this.id=t.id,e.prototype.build.call(this,t)},t}(n(962).Collection);t.CollectionWithId=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.build=function(t){this.id=t.id,e.prototype.build.call(this,t)},t}(n(963).Folder);t.FolderWithId=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(27),a=n(26),s=n(40),l=n(128),c=n(998);t.IgnoredProperties=["ainfo","autosubmit","notesplain","ps","scope","tags","title","uuid","notes"];var p=function(e){function n(){var t=null!==e&&e.apply(this,arguments)||this;return t.loginPropertyParsers=[t.setLoginUsername,t.setLoginPassword,t.setLoginUris],t.creditCardPropertyParsers=[t.setCreditCardNumber,t.setCreditCardVerification,t.setCreditCardCardholderName,t.setCreditCardExpiry],t.identityPropertyParsers=[t.setIdentityFirstName,t.setIdentityInitial,t.setIdentityLastName,t.setIdentityUserName,t.setIdentityEmail,t.setIdentityPhone,t.setIdentityCompany],t}return i(n,e),n.prototype.parse=function(e){var t=this,n=new o.ImportResult,r=this.parseCsv(e,!0,{quoteChar:'"',escapeChar:"\\"});return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!t.isNullOrWhitespace(t.getProp(e,"title"))){var r=t.initLoginCipher();r.name=t.getValueOrDefault(t.getProp(e,"title"),"--"),t.setNotes(e,r),t.setCipherType(e,r);var i=null;for(var o in e)if(e.hasOwnProperty(o)&&!t.isNullOrWhitespace(e[o])){var a=new c.CipherImportContext(e,o,r);r.type===s.CipherType.Login&&t.setKnownLoginValue(a)||r.type===s.CipherType.Card&&t.setKnownCreditCardValue(a)||r.type===s.CipherType.Identity&&t.setKnownIdentityValue(a)||(i=t.setUnknownValue(a,i))}r.type===s.CipherType.Login&&!t.isNullOrWhitespace(i)&&t.isNullOrWhitespace(r.login.username)&&-1===i.indexOf("://")&&(r.login.username=i),t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,Promise.resolve(n))},n.prototype.getProp=function(e,t){return Object.entries(e).reduce(function(e,t){return e[t[0].toLowerCase()]=t[1],e},{})[t.toLowerCase()]},n.prototype.getPropByRegexp=function(e,t){var n=Object.keys(e).reduce(function(e,n){return n.match(t)&&e.push(n),e},[]);return 0===n.length?null:e[n[0]]},n.prototype.getPropIncluding=function(e,t){var n=Object.keys(e).reduce(function(e,n){return n.toLowerCase().includes(t.toLowerCase())&&e.push(n),e},[]);return 0===n.length?null:e[n[0]]},n.prototype.setNotes=function(e,t){t.notes=this.getValueOrDefault(this.getProp(e,"notesPlain"),"")+"\n"+this.getValueOrDefault(this.getProp(e,"notes"),"")+"\n",t.notes.trim()},n.prototype.setKnownLoginValue=function(e){var t=this;return this.loginPropertyParsers.reduce(function(n,r){return n||(n=r.bind(t)(e)),n},!1)},n.prototype.setKnownCreditCardValue=function(e){var t=this;return this.creditCardPropertyParsers.reduce(function(n,r){return n||(n=r.bind(t)(e)),n},!1)},n.prototype.setKnownIdentityValue=function(e){var t=this;return this.identityPropertyParsers.reduce(function(n,r){return n||(n=r.bind(t)(e)),n},!1)},n.prototype.setUnknownValue=function(e,n){if(-1===t.IgnoredProperties.indexOf(e.lowerProperty)&&!e.lowerProperty.startsWith("section:")&&!e.lowerProperty.startsWith("section ")){if(null==n&&"email"===e.lowerProperty)return e.importRecord[e.property];if("created date"===e.lowerProperty||"modified date"===e.lowerProperty){var r=new Date(1e3*parseInt(e.importRecord[e.property],10)).toUTCString();return this.processKvp(e.cipher,"1Password "+e.property,r),null}e.lowerProperty.includes("password")||e.lowerProperty.includes("key")||e.lowerProperty.includes("secret")?this.processKvp(e.cipher,e.property,e.importRecord[e.property],l.FieldType.Hidden):this.processKvp(e.cipher,e.property,e.importRecord[e.property])}return null},n.prototype.setIdentityFirstName=function(e){return!(!this.isNullOrWhitespace(e.cipher.identity.firstName)||!e.lowerProperty.includes("first name"))&&(e.cipher.identity.firstName=e.importRecord[e.property],!0)},n.prototype.setIdentityInitial=function(e){return!(!this.isNullOrWhitespace(e.cipher.identity.middleName)||!e.lowerProperty.includes("initial"))&&(e.cipher.identity.middleName=e.importRecord[e.property],!0)},n.prototype.setIdentityLastName=function(e){return!(!this.isNullOrWhitespace(e.cipher.identity.lastName)||!e.lowerProperty.includes("last name"))&&(e.cipher.identity.lastName=e.importRecord[e.property],!0)},n.prototype.setIdentityUserName=function(e){return!(!this.isNullOrWhitespace(e.cipher.identity.username)||!e.lowerProperty.includes("username"))&&(e.cipher.identity.username=e.importRecord[e.property],!0)},n.prototype.setIdentityCompany=function(e){return!(!this.isNullOrWhitespace(e.cipher.identity.company)||!e.lowerProperty.includes("company"))&&(e.cipher.identity.company=e.importRecord[e.property],!0)},n.prototype.setIdentityPhone=function(e){return!(!this.isNullOrWhitespace(e.cipher.identity.phone)||!e.lowerProperty.includes("default phone"))&&(e.cipher.identity.phone=e.importRecord[e.property],!0)},n.prototype.setIdentityEmail=function(e){return!(!this.isNullOrWhitespace(e.cipher.identity.email)||!e.lowerProperty.includes("email"))&&(e.cipher.identity.email=e.importRecord[e.property],!0)},n.prototype.setCreditCardNumber=function(e){return!(!this.isNullOrWhitespace(e.cipher.card.number)||!e.lowerProperty.includes("number"))&&(e.cipher.card.number=e.importRecord[e.property],e.cipher.card.brand=this.getCardBrand(e.cipher.card.number),!0)},n.prototype.setCreditCardVerification=function(e){return!(!this.isNullOrWhitespace(e.cipher.card.code)||!e.lowerProperty.includes("verification number"))&&(e.cipher.card.code=e.importRecord[e.property],!0)},n.prototype.setCreditCardCardholderName=function(e){return!(!this.isNullOrWhitespace(e.cipher.card.cardholderName)||!e.lowerProperty.includes("cardholder name"))&&(e.cipher.card.cardholderName=e.importRecord[e.property],!0)},n.prototype.setCreditCardExpiry=function(e){return!(!this.isNullOrWhitespace(e.cipher.card.expiration)||!e.lowerProperty.includes("expiry date")||7!==e.importRecord[e.property].length)&&(e.cipher.card.expMonth=e.importRecord[e.property].substr(0,2),"0"===e.cipher.card.expMonth[0]&&(e.cipher.card.expMonth=e.cipher.card.expMonth.substr(1,1)),e.cipher.card.expYear=e.importRecord[e.property].substr(3,4),!0)},n.prototype.setLoginPassword=function(e){return!(!this.isNullOrWhitespace(e.cipher.login.password)||"password"!==e.lowerProperty)&&(e.cipher.login.password=e.importRecord[e.property],!0)},n.prototype.setLoginUsername=function(e){return!(!this.isNullOrWhitespace(e.cipher.login.username)||"username"!==e.lowerProperty)&&(e.cipher.login.username=e.importRecord[e.property],!0)},n.prototype.setLoginUris=function(e){if((null==e.cipher.login.uris||0===e.cipher.login.uris.length)&&"urls"===e.lowerProperty){var t=e.importRecord[e.property].split(this.newLineRegex);return e.cipher.login.uris=this.makeUriArray(t),!0}return"url"===e.lowerProperty&&(null==e.cipher.login.uris&&(e.cipher.login.uris=[]),e.cipher.login.uris.concat(this.makeUriArray(e.importRecord[e.property])),!0)},n}(a.BaseImporter);t.OnePasswordCsvImporter=p},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(591);t.AttachmentView=r.AttachmentView;var i=n(89);t.CardView=i.CardView;var o=n(143);t.CipherView=o.CipherView;var a=n(209);t.FieldView=a.FieldView;var s=n(144);t.IdentityView=s.IdentityView;var l=n(255);t.LoginUriView=l.LoginUriView;var c=n(159);t.LoginView=c.LoginView;var p=n(94);t.SecureNoteView=p.SecureNoteView;var u=n(999);t.View=u.View},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.SyncCipherUpdate=0]="SyncCipherUpdate",e[e.SyncCipherCreate=1]="SyncCipherCreate",e[e.SyncLoginDelete=2]="SyncLoginDelete",e[e.SyncFolderDelete=3]="SyncFolderDelete",e[e.SyncCiphers=4]="SyncCiphers",e[e.SyncVault=5]="SyncVault",e[e.SyncOrgKeys=6]="SyncOrgKeys",e[e.SyncFolderCreate=7]="SyncFolderCreate",e[e.SyncFolderUpdate=8]="SyncFolderUpdate",e[e.SyncCipherDelete=9]="SyncCipherDelete",e[e.SyncSettings=10]="SyncSettings",e[e.LogOut=11]="LogOut"}(t.NotificationType||(t.NotificationType={}))},,,,,function(e,t){},,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0);n(740),n(270),n(522),n(741);var i=n(742),o=n(72);r.enableProdMode(),o.platformBrowser().bootstrapModule(i.AppModule,{preserveWhitespaces:!0})},,function(e,t,n){},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(743);var r=n(9),i=n(12),o=n(212),a=n(808),s=n(264),l=(n(0),n(14)),c=n(72),p=n(886),u=n(887),d=n(1047),m=n(84),h=n(140),f=n(247),v=n(457),y=n(532),g=n(456),x=n(533),b=n(536),S=n(537),w=n(538),C=n(539),I=n(540),E=n(541),P=n(542),k=n(543),_=n(544),A=n(547),O=n(548),T=n(551),M=n(550),B=n(554),D=n(555),V=n(557),j=n(556),R=n(464),U=n(463),F=n(559),N=n(561),z=n(560),L=n(562),G=n(563),K=n(568),q=n(570),H=n(565),W=n(566),$=n(567),Y=n(571),Q=n(580),J=n(578),X=n(574),Z=n(579),ee=n(575),te=n(577),ne=n(581),re=n(582),ie=n(588),oe=n(589),ae=n(601),se=n(602),le=n(603),ce=n(604),pe=n(605),ue=n(606),de=n(478),me=n(608),he=n(494),fe=n(609),ve=n(496),ye=n(607),ge=n(1048),xe=n(617),be=n(616),Se=n(619),we=n(469),Ce=n(470),Ie=n(473),Ee=n(466),Pe=n(623),ke=n(631),_e=n(625),Ae=n(632),Oe=n(620),Te=n(621),Me=n(633),Be=n(661),De=n(658),Ve=n(662),je=n(663),Re=n(653),Ue=n(657),Fe=n(635),Ne=n(634),ze=n(280),Le=n(294),Ge=n(118),Ke=n(636),qe=n(622),He=n(467),We=n(637),$e=n(142),Ye=n(583),Qe=n(474),Je=n(584),Xe=n(585),Ze=n(475),et=n(586),tt=n(190),nt=n(587),rt=n(644),it=n(471),ot=n(468),at=n(638),st=n(647),lt=n(639),ct=n(476),pt=n(477),ut=n(488),dt=n(489),mt=n(641),ht=n(640),ft=n(490),vt=n(642),yt=n(491),gt=n(492),xt=n(256),bt=n(493),St=n(497),wt=n(611),Ct=n(613),It=n(614),Et=n(615),Pt=n(258),kt=n(495),_t=n(645),At=n(290),Ot=n(646),Tt=n(643),Mt=n(29),Bt=n(105),Dt=n(18),Vt=n(17),jt=n(62),Rt=n(1052),Ut=n(1053),Ft=n(600),Nt=n(45),zt=n(500),Lt=n(39),Gt=n(57),Kt=n(289),qt=n(501),Ht=n(10),Wt=n(1054),$t=n(249),Yt=n(4),Qt=n(1055),Jt=n(1056),Xt=n(1057),Zt=n(1058),en=n(1059),tn=n(1060),nn=n(1061),rn=n(1062),on=n(1063),an=n(1064),sn=n(1065),ln=n(1066),cn=n(1067),pn=n(1068),un=n(1069),dn=n(1070),mn=n(1071),hn=n(1072),fn=n(1073),vn=n(1074),yn=n(1075),gn=n(1076),xn=n(1077),bn=n(1078),Sn=n(1079),wn=n(1080),Cn=n(0),In=n(12),En=n(9);Yt.registerLocaleData(Qt.default,"ca"),Yt.registerLocaleData(Jt.default,"cs"),Yt.registerLocaleData(Xt.default,"da"),Yt.registerLocaleData(Zt.default,"de"),Yt.registerLocaleData(en.default,"el"),Yt.registerLocaleData(tn.default,"en-GB"),Yt.registerLocaleData(nn.default,"es"),Yt.registerLocaleData(rn.default,"et"),Yt.registerLocaleData(on.default,"fr"),Yt.registerLocaleData(an.default,"he"),Yt.registerLocaleData(sn.default,"it"),Yt.registerLocaleData(ln.default,"ja"),Yt.registerLocaleData(cn.default,"ko"),Yt.registerLocaleData(pn.default,"lv"),Yt.registerLocaleData(un.default,"ml"),Yt.registerLocaleData(dn.default,"nb"),Yt.registerLocaleData(mn.default,"nl"),Yt.registerLocaleData(hn.default,"pl"),Yt.registerLocaleData(fn.default,"pt-BR"),Yt.registerLocaleData(vn.default,"pt-PT"),Yt.registerLocaleData(yn.default,"ru"),Yt.registerLocaleData(gn.default,"sk"),Yt.registerLocaleData(xn.default,"sv"),Yt.registerLocaleData(bn.default,"uk"),Yt.registerLocaleData(Sn.default,"zh-CN"),Yt.registerLocaleData(wn.default,"zh-TW");var Pn=function(){function e(){}return e.ɵmod=Cn.ɵɵdefineNgModule({type:e,bootstrap:[d.AppComponent]}),e.ɵinj=Cn.ɵɵdefineInjector({factory:function(t){return new(t||e)},providers:[Yt.DatePipe],imports:[[c.BrowserModule,p.BrowserAnimationsModule,l.FormsModule,a.AppRoutingModule,u.ServicesModule,i.Angulartics2Module.forRoot({pageTracking:{clearQueryParams:!0}}),r.ToasterModule.forRoot(),o.InfiniteScrollModule,s.DragDropModule]]}),e}();t.AppModule=Pn,("undefined"==typeof ngJitMode||ngJitMode)&&Cn.ɵɵsetNgModuleScope(Pn,{declarations:[Dt.A11yTitleDirective,S.AcceptEmergencyComponent,ge.AccessComponent,w.AcceptOrganizationComponent,Se.AccountComponent,A.SetPasswordComponent,we.AddCreditComponent,xt.AddEditComponent,Ce.AdjustPaymentComponent,Q.AdjustSeatsComponent,Ie.AdjustStorageComponent,Vt.ApiActionDirective,Ee.ApiKeyComponent,d.AppComponent,bt.AttachmentsComponent,jt.AutofocusDirective,h.AvatarComponent,Rt.BlurClickDirective,Ut.BoxRowDirective,lt.BreachReportComponent,St.BulkActionsComponent,wt.BulkDeleteComponent,Ct.BulkMoveComponent,It.BulkRestoreComponent,Et.BulkShareComponent,Mt.CalloutComponent,Pe.ChangeEmailComponent,ke.ChangeKdfComponent,_e.ChangePasswordComponent,J.ChangePlanComponent,Pt.CiphersComponent,kt.CollectionsComponent,qt.ColorPasswordPipe,Ae.CreateOrganizationComponent,Oe.DeauthorizeSessionsComponent,Te.DeleteAccountComponent,X.DeleteOrganizationComponent,Me.DomainRulesComponent,Z.DownloadLicenseComponent,Be.EmergencyAccessAddEditComponent,De.EmergencyAccessComponent,Ve.EmergencyAccessConfirmComponent,je.EmergencyAccessTakeoverComponent,Re.EmergencyAccessViewComponent,Ue.EmergencyAddEditComponent,ct.ExportComponent,pt.ExposedPasswordsReportComponent,Ft.FallbackSrcDirective,_t.FolderAddEditComponent,v.FooterComponent,y.FrontendLayoutComponent,At.GroupingsComponent,C.HintComponent,Ht.I18nPipe,Bt.IconComponent,ut.ImportComponent,dt.InactiveTwoFactorReportComponent,Nt.InputVerbatimDirective,Fe.LinkSsoComponent,I.LockComponent,E.LoginComponent,m.ModalComponent,g.NavbarComponent,Ne.OptionsComponent,Y.AccountComponent,de.AddEditComponent,ee.OrganizationBillingComponent,ze.OrganizationPlansComponent,te.OrganizationSubscriptionComponent,me.AttachmentsComponent,he.CiphersComponent,V.CollectionAddEditComponent,fe.CollectionsComponent,R.EntityEventsComponent,U.EntityUsersComponent,F.EventsComponent,ie.ExportComponent,oe.ExposedPasswordsReportComponent,ae.ImportComponent,se.InactiveTwoFactorReportComponent,N.GroupAddEditComponent,ve.GroupingsComponent,z.GroupsComponent,j.CollectionsComponent,L.ManageComponent,G.PeopleComponent,q.PolicyEditComponent,K.PoliciesComponent,le.ReusedPasswordsReportComponent,ne.SettingsComponent,ce.ToolsComponent,re.TwoFactorSetupComponent,H.UserAddEditComponent,W.UserConfirmComponent,$.UserGroupsComponent,Le.OrganizationsComponent,x.OrganizationLayoutComponent,pe.UnsecuredWebsitesReportComponent,ye.VaultComponent,ue.WeakPasswordsReportComponent,ht.PasswordGeneratorComponent,mt.PasswordGeneratorHistoryComponent,f.PasswordStrengthComponent,Ge.PaymentComponent,Ke.PremiumComponent,qe.ProfileComponent,He.PurgeVaultComponent,P.RecoverDeleteComponent,k.RecoverTwoFactorComponent,_.RegisterComponent,ft.ReusedPasswordsReportComponent,Wt.SearchCiphersPipe,$t.SearchPipe,zt.SelectCopyDirective,xe.AddEditComponent,be.SendComponent,We.SettingsComponent,Ot.ShareComponent,O.SsoComponent,Lt.StopClickDirective,Gt.StopPropDirective,$e.TaxInfoComponent,vt.ToolsComponent,Kt.TrueFalseValueDirective,Ye.TwoFactorAuthenticatorComponent,M.TwoFactorComponent,Qe.TwoFactorDuoComponent,Je.TwoFactorEmailComponent,T.TwoFactorOptionsComponent,Xe.TwoFactorRecoveryComponent,Ze.TwoFactorSetupComponent,et.TwoFactorU2fComponent,tt.TwoFactorVerifyComponent,nt.TwoFactorYubiKeyComponent,yt.UnsecuredWebsitesReportComponent,rt.UpdateKeyComponent,it.UpdateLicenseComponent,ot.UserBillingComponent,b.UserLayoutComponent,at.UserSubscriptionComponent,Tt.VaultComponent,st.VerifyEmailComponent,B.VerifyEmailTokenComponent,D.VerifyRecoverDeleteComponent,gt.WeakPasswordsReportComponent],imports:[c.BrowserModule,p.BrowserAnimationsModule,l.FormsModule,a.AppRoutingModule,u.ServicesModule,In.Angulartics2Module,En.ToasterModule,o.InfiniteScrollModule,s.DragDropModule]})},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(8),i=n(532),o=n(533),a=n(536),s=n(537),l=n(538),c=n(539),p=n(540),u=n(541),d=n(542),m=n(543),h=n(544),f=n(547),v=n(548),y=n(550),g=n(554),x=n(555),b=n(556),S=n(559),w=n(560),C=n(562),I=n(563),E=n(568),P=n(571),k=n(575),_=n(577),A=n(581),O=n(582),T=n(588),M=n(589),B=n(601),D=n(602),V=n(603),j=n(604),R=n(605),U=n(606),F=n(607),N=n(616),z=n(619),L=n(632),G=n(633),K=n(634),q=n(294),H=n(636),W=n(637),$=n(475),Y=n(468),Q=n(638),J=n(639),X=n(476),Z=n(477),ee=n(488),te=n(489),ne=n(640),re=n(490),ie=n(642),oe=n(491),ae=n(492),se=n(643),le=n(648),ce=n(649),pe=n(651),ue=n(652),de=n(650),me=n(653),he=n(658),fe=n(0),ve=n(8),ye=[{path:"",component:i.FrontendLayoutComponent,children:[{path:"",pathMatch:"full",component:u.LoginComponent,canActivate:[pe.UnauthGuardService]},{path:"2fa",component:y.TwoFactorComponent,canActivate:[pe.UnauthGuardService]},{path:"register",component:h.RegisterComponent,canActivate:[pe.UnauthGuardService],data:{titleId:"createAccount"}},{path:"sso",component:v.SsoComponent,canActivate:[pe.UnauthGuardService],data:{titleId:"enterpriseSingleSignOn"}},{path:"set-password",component:f.SetPasswordComponent,data:{titleId:"setMasterPassword"}},{path:"hint",component:c.HintComponent,canActivate:[pe.UnauthGuardService],data:{titleId:"passwordHint"}},{path:"lock",component:p.LockComponent},{path:"verify-email",component:g.VerifyEmailTokenComponent},{path:"accept-organization",component:l.AcceptOrganizationComponent,data:{titleId:"joinOrganization"}},{path:"accept-emergency",component:s.AcceptEmergencyComponent,data:{titleId:"acceptEmergency"}},{path:"recover",pathMatch:"full",redirectTo:"recover-2fa"},{path:"recover-2fa",component:m.RecoverTwoFactorComponent,canActivate:[pe.UnauthGuardService],data:{titleId:"recoverAccountTwoStep"}},{path:"recover-delete",component:d.RecoverDeleteComponent,canActivate:[pe.UnauthGuardService],data:{titleId:"deleteAccount"}},{path:"verify-recover-delete",component:x.VerifyRecoverDeleteComponent,canActivate:[pe.UnauthGuardService],data:{titleId:"deleteAccount"}}]},{path:"",component:a.UserLayoutComponent,canActivate:[ue.AuthGuardService],children:[{path:"vault",component:se.VaultComponent,data:{titleId:"myVault"}},{path:"sends",component:N.SendComponent,data:{title:"Send"}},{path:"settings",component:W.SettingsComponent,children:[{path:"",pathMatch:"full",redirectTo:"account"},{path:"account",component:z.AccountComponent,data:{titleId:"myAccount"}},{path:"options",component:K.OptionsComponent,data:{titleId:"options"}},{path:"domain-rules",component:G.DomainRulesComponent,data:{titleId:"domainRules"}},{path:"two-factor",component:$.TwoFactorSetupComponent,data:{titleId:"twoStepLogin"}},{path:"premium",component:H.PremiumComponent,data:{titleId:"goPremium"}},{path:"billing",component:Y.UserBillingComponent,data:{titleId:"billing"}},{path:"subscription",component:Q.UserSubscriptionComponent,data:{titleId:"premiumMembership"}},{path:"organizations",component:q.OrganizationsComponent,data:{titleId:"organizations"}},{path:"create-organization",component:L.CreateOrganizationComponent,data:{titleId:"newOrganization"}},{path:"emergency-access",children:[{path:"",component:he.EmergencyAccessComponent,data:{titleId:"emergencyAccess"}},{path:":id",component:me.EmergencyAccessViewComponent,data:{titleId:"emergencyAccess"}}]}]},{path:"tools",component:ie.ToolsComponent,canActivate:[ue.AuthGuardService],children:[{path:"",pathMatch:"full",redirectTo:"generator"},{path:"import",component:ee.ImportComponent,data:{titleId:"importData"}},{path:"export",component:X.ExportComponent,data:{titleId:"exportVault"}},{path:"generator",component:ne.PasswordGeneratorComponent,data:{titleId:"passwordGenerator"}},{path:"breach-report",component:J.BreachReportComponent,data:{titleId:"dataBreachReport"}},{path:"reused-passwords-report",component:re.ReusedPasswordsReportComponent,data:{titleId:"reusedPasswordsReport"}},{path:"unsecured-websites-report",component:oe.UnsecuredWebsitesReportComponent,data:{titleId:"unsecuredWebsitesReport"}},{path:"weak-passwords-report",component:ae.WeakPasswordsReportComponent,data:{titleId:"weakPasswordsReport"}},{path:"exposed-passwords-report",component:Z.ExposedPasswordsReportComponent,data:{titleId:"exposedPasswordsReport"}},{path:"inactive-two-factor-report",component:te.InactiveTwoFactorReportComponent,data:{titleId:"inactive2faReport"}}]}]},{path:"organizations/:organizationId",component:o.OrganizationLayoutComponent,canActivate:[ue.AuthGuardService,le.OrganizationGuardService],children:[{path:"",pathMatch:"full",redirectTo:"vault"},{path:"vault",component:F.VaultComponent,data:{titleId:"vault"}},{path:"tools",component:j.ToolsComponent,canActivate:[ce.OrganizationTypeGuardService],data:{permissions:[de.Permissions.AccessImportExport,de.Permissions.AccessReports]},children:[{path:"",pathMatch:"full",redirectTo:"import"},{path:"import",component:B.ImportComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"importData",permissions:[de.Permissions.AccessImportExport]}},{path:"export",component:T.ExportComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"exportVault",permissions:[de.Permissions.AccessImportExport]}},{path:"exposed-passwords-report",component:M.ExposedPasswordsReportComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"exposedPasswordsReport",permissions:[de.Permissions.AccessReports]}},{path:"inactive-two-factor-report",component:D.InactiveTwoFactorReportComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"inactive2faReport",permissions:[de.Permissions.AccessReports]}},{path:"reused-passwords-report",component:V.ReusedPasswordsReportComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"reusedPasswordsReport",permissions:[de.Permissions.AccessReports]}},{path:"unsecured-websites-report",component:R.UnsecuredWebsitesReportComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"unsecuredWebsitesReport",permissions:[de.Permissions.AccessReports]}},{path:"weak-passwords-report",component:U.WeakPasswordsReportComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"weakPasswordsReport",permissions:[de.Permissions.AccessReports]}}]},{path:"manage",component:C.ManageComponent,canActivate:[ce.OrganizationTypeGuardService],data:{permissions:[de.Permissions.ManageAssignedCollections,de.Permissions.ManageAllCollections,de.Permissions.AccessEventLogs,de.Permissions.ManageGroups,de.Permissions.ManageUsers,de.Permissions.ManagePolicies]},children:[{path:"",pathMatch:"full",redirectTo:"people"},{path:"collections",component:b.CollectionsComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"collections",permissions:[de.Permissions.ManageAssignedCollections,de.Permissions.ManageAllCollections]}},{path:"events",component:S.EventsComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"eventLogs",permissions:[de.Permissions.AccessEventLogs]}},{path:"groups",component:w.GroupsComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"groups",permissions:[de.Permissions.ManageGroups]}},{path:"people",component:I.PeopleComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"people",permissions:[de.Permissions.ManageUsers]}},{path:"policies",component:E.PoliciesComponent,canActivate:[ce.OrganizationTypeGuardService],data:{titleId:"policies",permissions:[de.Permissions.ManagePolicies]}}]},{path:"settings",component:A.SettingsComponent,canActivate:[ce.OrganizationTypeGuardService],data:{permissions:[de.Permissions.ManageOrganization]},children:[{path:"",pathMatch:"full",redirectTo:"account"},{path:"account",component:P.AccountComponent,data:{titleId:"myOrganization"}},{path:"two-factor",component:O.TwoFactorSetupComponent,data:{titleId:"twoStepLogin"}},{path:"billing",component:k.OrganizationBillingComponent,data:{titleId:"billing"}},{path:"subscription",component:_.OrganizationSubscriptionComponent,data:{titleId:"subscription"}}]}]},{path:"**",redirectTo:""}],ge=function(){function e(){}return e.ɵmod=fe.ɵɵdefineNgModule({type:e}),e.ɵinj=fe.ɵɵdefineInjector({factory:function(t){return new(t||e)},imports:[[r.RouterModule.forRoot(ye,{useHash:!0,paramsInheritanceStrategy:"always"})],r.RouterModule]}),e}();t.AppRoutingModule=ge,("undefined"==typeof ngJitMode||ngJitMode)&&fe.ɵɵsetNgModuleScope(ge,{imports:[ve.RouterModule],exports:[r.RouterModule]})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(){this.subscribers=new Map}return e.prototype.send=function(e,t){null==t?this.subscribers.forEach(function(t){t(e)}):this.subscribers.has(t)&&this.subscribers.get(t)(e)},e.prototype.subscribe=function(e,t){this.subscribers.set(e,t)},e.prototype.unsubscribe=function(e){this.subscribers.has(e)&&this.subscribers.delete(e)},e}();t.BroadcasterService=r},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getDomain=function(e){return null}},,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.EmergencyAccessAcceptRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.OrganizationUserAcceptRequest=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=5)return this.messagingService.send("logout"),[2];this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("invalidPin"))}return[3,33];case 16:return[4,this.cryptoService.makeKey(this.masterPassword,this.email,e,t)];case 17:return r=i.sent(),[4,this.cryptoService.hashPassword(this.masterPassword,r)];case 18:return l=i.sent(),c=!1,null==l?[3,25]:[4,this.cryptoService.getKeyHash()];case 19:return null==(p=i.sent())?[3,20]:(c=p===l,[3,25]);case 20:(u=new s.PasswordVerificationRequest).masterPasswordHash=l,i.label=21;case 21:return i.trys.push([21,24,,25]),this.formPromise=this.apiService.postAccountVerifyPassword(u),[4,this.formPromise];case 22:return i.sent(),c=!0,[4,this.cryptoService.setKeyHash(l)];case 23:return i.sent(),[3,25];case 24:return i.sent(),[3,25];case 25:return c?this.pinSet[0]?[4,this.storageService.get(o.ConstantsService.protectedPin)]:[3,31]:[3,32];case 26:return d=i.sent(),[4,this.cryptoService.getEncKey(r)];case 27:return m=i.sent(),[4,this.cryptoService.decryptToUtf8(new a.CipherString(d),m)];case 28:return h=i.sent(),[4,this.cryptoService.makePinKey(h,this.email,e,t)];case 29:return f=i.sent(),v=this.vaultTimeoutService,[4,this.cryptoService.encrypt(r.key,f)];case 30:v.pinProtectedKey=i.sent(),i.label=31;case 31:return this.setKeyAndContinue(r),[3,33];case 32:this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("invalidMasterPassword")),i.label=33;case 33:return[2]}})})},e.prototype.logOut=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("logOutConfirmation"),this.i18nService.t("logOut"),this.i18nService.t("logOut"),this.i18nService.t("cancel"))];case 1:return e.sent()&&this.messagingService.send("logout"),[2]}})})},e.prototype.unlockBiometric=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.biometricLock?[4,this.platformUtilsService.authenticateBiometric()]:[2];case 1:return e.sent()?[4,this.doContinue()]:[3,3];case 2:e.sent(),e.label=3;case 3:return[2]}})})},e.prototype.togglePassword=function(){this.platformUtilsService.eventTrack("Toggled Master Password on Unlock"),this.showPassword=!this.showPassword,document.getElementById(this.pinLock?"pin":"masterPassword").focus()},e.prototype.setKeyAndContinue=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.cryptoService.setKey(e)];case 1:return t.sent(),this.doContinue(),[2]}})})},e.prototype.doContinue=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:return this.vaultTimeoutService.biometricLocked=!1,[4,this.storageService.get(o.ConstantsService.disableFaviconKey)];case 1:return e=t.sent(),[4,this.stateService.save(o.ConstantsService.disableFaviconKey,!!e)];case 2:return t.sent(),this.messagingService.send("unlocked"),null!=this.onSuccessfulSubmit?this.onSuccessfulSubmit():null!=this.router&&this.router.navigate([this.successRoute]),[2]}})})},e.ɵfac=function(t){return new(t||e)(c.ɵɵdirectiveInject(p.Router),c.ɵɵdirectiveInject(u.I18nService),c.ɵɵdirectiveInject(d.PlatformUtilsService),c.ɵɵdirectiveInject(m.MessagingService),c.ɵɵdirectiveInject(h.UserService),c.ɵɵdirectiveInject(f.CryptoService),c.ɵɵdirectiveInject(v.StorageService),c.ɵɵdirectiveInject(y.VaultTimeoutService),c.ɵɵdirectiveInject(g.EnvironmentService),c.ɵɵdirectiveInject(x.StateService),c.ɵɵdirectiveInject(b.ApiService))},e.ɵdir=c.ɵɵdefineDirective({type:e}),e}();t.LockComponent=S},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1&&(e=e.concat(this.email.substr(0,t).trim().toLowerCase().split(/[^A-Za-z0-9]/))),null!=this.name&&""!==this.name&&(e=e.concat(this.name.trim().toLowerCase().split(" "))),e},e}();t.RegisterComponent=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t,n,r,i,o,a,s){this.name=t,this.email=e,this.masterPasswordHash=n,this.masterPasswordHint=r||null,this.key=i,this.kdf=o,this.kdfIterations=a,this.referenceData=s}}();t.RegisterRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.ReferenceEventRequest=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&this.u2f.init({appId:t[0].appId,challenge:t[0].challenge,keys:t.map(function(e){return{version:e.version,keyHandle:e.keyHandle}})}),[3,7]):[3,7];case 2:return setTimeout(function(){c.init({iframe:void 0,host:e.Host,sig_request:e.Signature,submit_callback:function(e){return r(n,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:return null==(t=e.querySelector('input[name="sig_response"]'))?[3,2]:(this.token=t.value,[4,this.submit()]);case 1:n.sent(),n.label=2;case 2:return[2]}})})}})},0),[3,7];case 3:return this.twoFactorEmail=e.Email,this.authService.twoFactorProvidersData.size>1?[4,this.sendEmail(!1)]:[3,5];case 4:a.sent(),a.label=5;case 5:case 6:return[3,7];case 7:return[2]}})})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e,t;return i(this,function(n){switch(n.label){case 0:if(null==this.token||""===this.token)return this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("verificationCodeRequired")),[2];if(this.selectedProviderType===o.TwoFactorProviderType.U2f){if(null==this.u2f)return[2];this.u2f.stop()}else this.selectedProviderType!==o.TwoFactorProviderType.Email&&this.selectedProviderType!==o.TwoFactorProviderType.Authenticator||(this.token=this.token.replace(" ","").trim());n.label=1;case 1:return n.trys.push([1,5,,6]),this.formPromise=this.authService.logInTwoFactor(this.selectedProviderType,this.token,this.remember),[4,this.formPromise];case 2:return e=n.sent(),[4,this.storageService.get(l.ConstantsService.disableFaviconKey)];case 3:return t=n.sent(),[4,this.stateService.save(l.ConstantsService.disableFaviconKey,!!t)];case 4:return n.sent(),null!=this.onSuccessfulLogin&&this.onSuccessfulLogin(),this.platformUtilsService.eventTrack("Logged In From Two-step"),e.resetMasterPassword&&(this.successRoute="set-password"),null!=this.onSuccessfulLoginNavigate?this.onSuccessfulLoginNavigate():this.router.navigate([this.successRoute],{queryParams:{identifier:this.identifier}}),[3,6];case 5:return n.sent(),this.selectedProviderType===o.TwoFactorProviderType.U2f&&null!=this.u2f&&this.u2f.start(),[3,6];case 6:return[2]}})})},e.prototype.sendEmail=function(e){return r(this,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:if(this.selectedProviderType!==o.TwoFactorProviderType.Email)return[2];if(null!=this.emailPromise)return[2];n.label=1;case 1:return n.trys.push([1,3,,4]),t=new a.TwoFactorEmailRequest(this.authService.email,this.authService.masterPasswordHash),this.emailPromise=this.apiService.postTwoFactorEmail(t),[4,this.emailPromise];case 2:return n.sent(),e&&this.platformUtilsService.showToast("success",null,this.i18nService.t("verificationCodeEmailSent",this.twoFactorEmail)),[3,4];case 3:return n.sent(),[3,4];case 4:return this.emailPromise=null,[2]}})})},e.prototype.cleanupU2f=function(){null!=this.u2f&&(this.u2f.stop(),this.u2f.cleanup())},Object.defineProperty(e.prototype,"authing",{get:function(){return this.authService.authingWithPassword()||this.authService.authingWithSso()||this.authService.authingWithApiKey()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"needsLock",{get:function(){return this.authService.authingWithSso()||this.authService.authingWithApiKey()},enumerable:!0,configurable:!0}),e.ɵfac=function(t){return new(t||e)(u.ɵɵdirectiveInject(d.AuthService),u.ɵɵdirectiveInject(m.Router),u.ɵɵdirectiveInject(h.I18nService),u.ɵɵdirectiveInject(f.ApiService),u.ɵɵdirectiveInject(v.PlatformUtilsService),u.ɵɵdirectiveInject(Window),u.ɵɵdirectiveInject(y.EnvironmentService),u.ɵɵdirectiveInject(g.StateService),u.ɵɵdirectiveInject(x.StorageService),u.ɵɵdirectiveInject(m.ActivatedRoute))},e.ɵdir=u.ɵɵdefineDirective({type:e}),e}();t.TwoFactorComponent=b},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.type=t.getDevice(),this.name=t.getDeviceString(),this.identifier=e,this.pushToken=null}}();t.DeviceRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.email=e}}();t.PreloginRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t,n,r,i,o,a){null!=e&&e.length>1?(this.email=e[0],this.masterPasswordHash=e[1]):null!=t&&t.length>2?(this.code=t[0],this.codeVerifier=t[1],this.redirectUri=t[2]):null!=n&&n.length>1&&(this.clientId=n[0],this.clientSecret=n[1]),this.token=i,this.provider=r,this.remember=o,this.device=null!=a?a:null}return e.prototype.toIdentityToken=function(e){var t={scope:"api offline_access",client_id:e};if(null!=this.clientSecret)t.scope="api",t.grant_type="client_credentials",t.client_secret=this.clientSecret;else if(null!=this.masterPasswordHash&&null!=this.email)t.grant_type="password",t.username=this.email,t.password=this.masterPasswordHash;else{if(null==this.code||null==this.codeVerifier||null==this.redirectUri)throw new Error("must provide credentials or codes");t.grant_type="authorization_code",t.code=this.code,t.code_verifier=this.codeVerifier,t.redirect_uri=this.redirectUri}return this.device&&(t.deviceType=this.device.type,t.deviceIdentifier=this.device.identifier,t.deviceName=this.device.name),this.token&&null!=this.provider&&(t.twoFactorToken=this.token,t.twoFactorProvider=this.provider,t.twoFactorRemember=this.remember?"1":"0"),t},e}();t.TokenRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t,n,r,i){this.win=e,this.webVaultUrl=t,this.successCallback=n,this.errorCallback=r,this.infoCallback=i,this.iframe=null,this.parseFunction=this.parseMessage.bind(this),this.connectorLink=e.document.createElement("a"),this.webVaultUrl=null!=t&&""!==t?t:"https://vault.bitwarden.com"}return e.prototype.init=function(e){this.connectorLink.href=this.webVaultUrl+"/u2f-connector.html?data="+this.base64Encode(JSON.stringify(e))+"&parent="+encodeURIComponent(this.win.document.location.href)+"&v=1",this.iframe=this.win.document.getElementById("u2f_iframe"),this.iframe.src=this.connectorLink.href,this.win.addEventListener("message",this.parseFunction,!1)},e.prototype.stop=function(){this.sendMessage("stop")},e.prototype.start=function(){this.sendMessage("start")},e.prototype.sendMessage=function(e){this.iframe&&this.iframe.src&&this.iframe.contentWindow&&this.iframe.contentWindow.postMessage(e,this.iframe.src)},e.prototype.base64Encode=function(e){return btoa(encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,function(e,t){return String.fromCharCode("0x"+t)}))},e.prototype.cleanup=function(){this.win.removeEventListener("message",this.parseFunction,!1)},e.prototype.parseMessage=function(e){if(this.validMessage(e)){var t=e.data.split("|");"success"===t[0]&&this.successCallback?this.successCallback(t[1]):"error"===t[0]&&this.errorCallback?this.errorCallback(t[1]):"info"===t[0]&&this.infoCallback&&this.infoCallback(t[1])}},e.prototype.validMessage=function(e){return null!=e.origin&&""!==e.origin&&e.origin===this.connectorLink.origin&&null!=e.data&&"string"==typeof e.data&&(0===e.data.indexOf("success|")||0===e.data.indexOf("error|")||0===e.data.indexOf("info|"))},e}();t.U2f=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.userId=e,this.token=t}}();t.VerifyEmailRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.userId=e,this.token=t}}();t.VerifyDeleteRecoverRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){this.collections=[]}}();t.GroupRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){this.emails=[],this.collections=[]}}();t.OrganizationUserInviteRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){this.collections=[]}}();t.OrganizationUserUpdateRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){this.groupIds=[]}}();t.OrganizationUserUpdateGroupsRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.AppIdService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.LogService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.PolicyRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.OrganizationUpdateRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Charge=0]="Charge",e[e.Credit=1]="Credit",e[e.PromotionalCredit=2]="PromotionalCredit",e[e.ReferralCredit=3]="ReferralCredit",e[e.Refund=4]="Refund"}(t.TransactionType||(t.TransactionType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.VerifyBankRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.BitPayInvoiceRequest=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(572).OrganizationTaxInfoUpdateRequest);t.PaymentRequest=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.OrganizationCreateRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.OrganizationUpgradeRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.SeatRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.StorageRequest=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(80).PasswordVerificationRequest);t.UpdateTwoFactorDuoRequest=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(80).PasswordVerificationRequest);t.TwoFactorProviderRequest=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(80).PasswordVerificationRequest);t.UpdateTwoFactorAuthenticatorRequest=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(80).PasswordVerificationRequest);t.UpdateTwoFactorEmailRequest=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(80).PasswordVerificationRequest);t.UpdateTwoFactorU2fDeleteRequest=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(80).PasswordVerificationRequest);t.UpdateTwoFactorU2fRequest=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(80).PasswordVerificationRequest);t.UpdateTwoFactorYubioOtpRequest=o},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&this.collections.length>0&&this.collections.forEach(function(e){o.collectionIds.indexOf(e.id)>-1&&(e.checked=!0)}),i.label=8;case 8:return r=this,[4,this.folderService.getAllDecrypted()];case 9:return r.folders=i.sent(),this.editMode&&this.previousCipherId!==this.cipherId&&this.eventService.collect(l.EventType.Cipher_ClientViewed,this.cipherId),this.previousCipherId=this.cipherId,[2]}})})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:return this.cipher.isDeleted?[2,this.restore()]:null==this.cipher.name||""===this.cipher.name?(this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("nameRequired")),[2,!1]):this.editMode&&!this.cloneMode||this.allowPersonal||null!=this.cipher.organizationId?(this.editMode&&!this.cloneMode||this.cipher.type!==s.CipherType.Login||null==this.cipher.login.uris||1!==this.cipher.login.uris.length||null!=this.cipher.login.uris[0].uri&&""!==this.cipher.login.uris[0].uri||(this.cipher.login.uris=null),this.editMode&&!this.cloneMode||null==this.cipher.organizationId||(this.cipher.collectionIds=null==this.collections?[]:this.collections.filter(function(e){return e.checked}).map(function(e){return e.id})),this.cloneMode&&(this.cipher.id=null),[4,this.encryptCipher()]):(this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("personalOwnershipSubmitError")),[2,!1]);case 1:e=t.sent(),t.label=2;case 2:return t.trys.push([2,4,,5]),this.formPromise=this.saveCipher(e),[4,this.formPromise];case 3:return t.sent(),this.cipher.id=e.id,this.platformUtilsService.eventTrack(this.editMode&&!this.cloneMode?"Edited Cipher":"Added Cipher"),this.platformUtilsService.showToast("success",null,this.i18nService.t(this.editMode&&!this.cloneMode?"editedItem":"addedItem")),this.onSavedCipher.emit(this.cipher),this.messagingService.send(this.editMode&&!this.cloneMode?"editedCipher":"addedCipher"),[2,!0];case 4:return t.sent(),[3,5];case 5:return[2,!1]}})})},e.prototype.addUri=function(){this.cipher.type===s.CipherType.Login&&(null==this.cipher.login.uris&&(this.cipher.login.uris=[]),this.cipher.login.uris.push(new g.LoginUriView))},e.prototype.removeUri=function(e){if(this.cipher.type===s.CipherType.Login&&null!=this.cipher.login.uris){var t=this.cipher.login.uris.indexOf(e);t>-1&&this.cipher.login.uris.splice(t,1)}},e.prototype.addField=function(){null==this.cipher.fields&&(this.cipher.fields=[]);var e=new v.FieldView;e.type=this.addFieldType,e.newField=!0,this.cipher.fields.push(e)},e.prototype.removeField=function(e){var t=this.cipher.fields.indexOf(e);t>-1&&this.cipher.fields.splice(t,1)},e.prototype.trackByFunction=function(e,t){return e},e.prototype.cancel=function(){this.onCancelled.emit(this.cipher)},e.prototype.attachments=function(){this.onEditAttachments.emit(this.cipher)},e.prototype.share=function(){this.onShareCipher.emit(this.cipher)},e.prototype.editCollections=function(){this.onEditCollections.emit(this.cipher)},e.prototype.delete=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t(this.cipher.isDeleted?"permanentlyDeleteItemConfirmation":"deleteItemConfirmation"),this.i18nService.t("deleteItem"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!e.sent())return[2,!1];e.label=2;case 2:return e.trys.push([2,4,,5]),this.deletePromise=this.deleteCipher(),[4,this.deletePromise];case 3:return e.sent(),this.platformUtilsService.eventTrack((this.cipher.isDeleted?"Permanently ":"")+"Deleted Cipher"),this.platformUtilsService.showToast("success",null,this.i18nService.t(this.cipher.isDeleted?"permanentlyDeletedItem":"deletedItem")),this.onDeletedCipher.emit(this.cipher),this.messagingService.send(this.cipher.isDeleted?"permanentlyDeletedCipher":"deletedCipher"),[3,5];case 4:return e.sent(),[3,5];case 5:return[2,!0]}})})},e.prototype.restore=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.cipher.isDeleted?[4,this.platformUtilsService.showDialog(this.i18nService.t("restoreItemConfirmation"),this.i18nService.t("restoreItem"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2,!1];case 1:if(!e.sent())return[2,!1];e.label=2;case 2:return e.trys.push([2,4,,5]),this.restorePromise=this.restoreCipher(),[4,this.restorePromise];case 3:return e.sent(),this.platformUtilsService.eventTrack("Restored Cipher"),this.platformUtilsService.showToast("success",null,this.i18nService.t("restoredItem")),this.onRestoredCipher.emit(this.cipher),this.messagingService.send("restoredCipher"),[3,5];case 4:return e.sent(),[3,5];case 5:return[2,!0]}})})},e.prototype.generatePassword=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return null!=this.cipher.login&&null!=this.cipher.login.password&&this.cipher.login.password.length?[4,this.platformUtilsService.showDialog(this.i18nService.t("overwritePasswordConfirmation"),this.i18nService.t("overwritePassword"),this.i18nService.t("yes"),this.i18nService.t("no"))]:[3,2];case 1:if(!e.sent())return[2,!1];e.label=2;case 2:return this.onGeneratePassword.emit(),[2,!0]}})})},e.prototype.togglePassword=function(){this.platformUtilsService.eventTrack("Toggled Password on Edit"),this.showPassword=!this.showPassword,document.getElementById("loginPassword").focus(),this.editMode&&this.showPassword&&this.eventService.collect(l.EventType.Cipher_ClientToggledPasswordVisible,this.cipherId)},e.prototype.toggleCardCode=function(){this.platformUtilsService.eventTrack("Toggled CardCode on Edit"),this.showCardCode=!this.showCardCode,document.getElementById("cardCode").focus(),this.editMode&&this.showCardCode&&this.eventService.collect(l.EventType.Cipher_ClientToggledCardCodeVisible,this.cipherId)},e.prototype.toggleFieldValue=function(e){var t=e;t.showValue=!t.showValue,this.editMode&&t.showValue&&this.eventService.collect(l.EventType.Cipher_ClientToggledHiddenFieldVisible,this.cipherId)},e.prototype.toggleUriOptions=function(e){var t=e;t.showOptions=(null!=t.showOptions||null==e.match)&&!t.showOptions},e.prototype.loginUriMatchChanged=function(e){var t=e;t.showOptions=null==t.showOptions||t.showOptions},e.prototype.drop=function(e){o.moveItemInArray(this.cipher.fields,e.previousIndex,e.currentIndex)},e.prototype.organizationChanged=function(){return r(this,void 0,void 0,function(){var e,t=this;return i(this,function(n){switch(n.label){case 0:return null!=this.writeableCollections&&this.writeableCollections.forEach(function(e){return e.checked=!1}),null==this.cipher.organizationId?[3,2]:(this.collections=this.writeableCollections.filter(function(e){return e.organizationId===t.cipher.organizationId}),[4,this.userService.getOrganization(this.cipher.organizationId)]);case 1:return null!=(e=n.sent())&&(this.cipher.organizationUseTotp=e.useTotp),[3,3];case 2:this.collections=[],n.label=3;case 3:return[2]}})})},e.prototype.checkPassword=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:return null!=this.checkPasswordPromise?[2]:null==this.cipher.login||null==this.cipher.login.password||""===this.cipher.login.password?[2]:(this.platformUtilsService.eventTrack("Check Password"),this.checkPasswordPromise=this.auditService.passwordLeaked(this.cipher.login.password),[4,this.checkPasswordPromise]);case 1:return e=t.sent(),this.checkPasswordPromise=null,e>0?this.platformUtilsService.showToast("warning",null,this.i18nService.t("passwordExposed",e.toString())):this.platformUtilsService.showToast("success",null,this.i18nService.t("passwordSafe")),[2]}})})},e.prototype.loadCollections=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return[4,this.collectionService.getAllDecrypted()];case 1:return[2,e.sent().filter(function(e){return!e.readOnly})]}})})},e.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},e.prototype.encryptCipher=function(){return this.cipherService.encrypt(this.cipher)},e.prototype.saveCipher=function(e){return this.cipherService.saveWithServer(e)},e.prototype.deleteCipher=function(){return this.cipher.isDeleted?this.cipherService.deleteWithServer(this.cipher.id):this.cipherService.softDeleteWithServer(this.cipher.id)},e.prototype.restoreCipher=function(){return this.cipherService.restoreWithServer(this.cipher.id)},e.ɵfac=function(t){return new(t||e)(w.ɵɵdirectiveInject(C.CipherService),w.ɵɵdirectiveInject(I.FolderService),w.ɵɵdirectiveInject(E.I18nService),w.ɵɵdirectiveInject(P.PlatformUtilsService),w.ɵɵdirectiveInject(k.AuditService),w.ɵɵdirectiveInject(_.StateService),w.ɵɵdirectiveInject(A.UserService),w.ɵɵdirectiveInject(O.CollectionService),w.ɵɵdirectiveInject(T.MessagingService),w.ɵɵdirectiveInject(M.EventService),w.ɵɵdirectiveInject(B.PolicyService))},e.ɵdir=w.ɵɵdefineDirective({type:e,inputs:{cloneMode:"cloneMode",folderId:"folderId",cipherId:"cipherId",type:"type",collectionIds:"collectionIds",organizationId:"organizationId"},outputs:{onSavedCipher:"onSavedCipher",onDeletedCipher:"onDeletedCipher",onRestoredCipher:"onRestoredCipher",onCancelled:"onCancelled",onEditAttachments:"onEditAttachments",onShareCipher:"onShareCipher",onEditCollections:"onEditCollections",onGeneratePassword:"onGeneratePassword"}}),e}();t.AddEditComponent=D},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]104857600)return this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("maxFileSize")),[2];i.label=1;case 1:return i.trys.push([1,4,,5]),this.formPromise=this.saveCipherAttachment(t[0]),n=this,[4,this.formPromise];case 2:return n.cipherDomain=i.sent(),r=this,[4,this.cipherDomain.decrypt()];case 3:return r.cipher=i.sent(),this.platformUtilsService.eventTrack("Added Attachment"),this.platformUtilsService.showToast("success",null,this.i18nService.t("attachmentSaved")),this.onUploadedAttachment.emit(),[3,5];case 4:return i.sent(),[3,5];case 5:return e.type="",e.type="file",e.value="",[2]}})})},e.prototype.delete=function(e){return r(this,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:return null!=this.deletePromises[e.id]?[2]:[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteAttachmentConfirmation"),this.i18nService.t("deleteAttachment"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!n.sent())return[2];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromises[e.id]=this.deleteCipherAttachment(e.id),[4,this.deletePromises[e.id]];case 3:return n.sent(),this.platformUtilsService.eventTrack("Deleted Attachment"),this.platformUtilsService.showToast("success",null,this.i18nService.t("deletedAttachment")),(t=this.cipher.attachments.indexOf(e))>-1&&this.cipher.attachments.splice(t,1),[3,5];case 4:return n.sent(),[3,5];case 5:return this.deletePromises[e.id]=null,this.onDeletedAttachment.emit(),[2]}})})},e.prototype.download=function(e){return r(this,void 0,void 0,function(){var t,n,r,o,a,s;return i(this,function(i){switch(i.label){case 0:return(t=e).downloading?[2]:this.canAccessAttachments?(t.downloading=!0,[4,fetch(new Request(e.url,{cache:"no-store"}))]):(this.platformUtilsService.showToast("error",this.i18nService.t("premiumRequired"),this.i18nService.t("premiumRequiredDesc")),[2]);case 1:if(200!==(n=i.sent()).status)return this.platformUtilsService.showToast("error",null,this.i18nService.t("errorOccurred")),t.downloading=!1,[2];i.label=2;case 2:return i.trys.push([2,8,,9]),[4,n.arrayBuffer()];case 3:return r=i.sent(),null==e.key?[3,4]:(a=e.key,[3,6]);case 4:return[4,this.cryptoService.getOrgKey(this.cipher.organizationId)];case 5:a=i.sent(),i.label=6;case 6:return o=a,[4,this.cryptoService.decryptFromBytes(r,o)];case 7:return s=i.sent(),this.platformUtilsService.saveFile(this.win,s,null,e.fileName),[3,9];case 8:return i.sent(),this.platformUtilsService.showToast("error",null,this.i18nService.t("errorOccurred")),[3,9];case 9:return t.downloading=!1,[2]}})})},e.prototype.init=function(){return r(this,void 0,void 0,function(){var e,t,n,r;return i(this,function(i){switch(i.label){case 0:return e=this,[4,this.loadCipher()];case 1:return e.cipherDomain=i.sent(),t=this,[4,this.cipherDomain.decrypt()];case 2:return t.cipher=i.sent(),n=this,[4,this.cryptoService.hasEncKey()];case 3:return n.hasUpdatedKey=i.sent(),[4,this.userService.canAccessPremium()];case 4:return r=i.sent(),this.canAccessAttachments=r||null!=this.cipher.organizationId,this.canAccessAttachments?[3,6]:[4,this.platformUtilsService.showDialog(this.i18nService.t("premiumRequiredDesc"),this.i18nService.t("premiumRequired"),this.i18nService.t("learnMore"),this.i18nService.t("cancel"))];case 5:return i.sent()&&this.platformUtilsService.launchUri("https://vault.bitwarden.com/#/?premium=purchase"),[3,8];case 6:return this.hasUpdatedKey?[3,8]:[4,this.platformUtilsService.showDialog(this.i18nService.t("updateKey"),this.i18nService.t("featureUnavailable"),this.i18nService.t("learnMore"),this.i18nService.t("cancel"),"warning")];case 7:i.sent()&&this.platformUtilsService.launchUri("https://help.bitwarden.com/article/update-encryption-key/"),i.label=8;case 8:return[2]}})})},e.prototype.reuploadCipherAttachment=function(e,t){return r(this,void 0,void 0,function(){var n,o=this;return i(this,function(a){switch(a.label){case 0:if(n=e,null!=e.key||n.downloading||null!=this.reuploadPromises[e.id])return[2];a.label=1;case 1:return a.trys.push([1,3,,4]),this.reuploadPromises[e.id]=Promise.resolve().then(function(){return r(o,void 0,void 0,function(){var r,o,a,s,l,c,p,u,d;return i(this,function(i){switch(i.label){case 0:return n.downloading=!0,[4,fetch(new Request(e.url,{cache:"no-store"}))];case 1:if(200!==(r=i.sent()).status)return this.platformUtilsService.showToast("error",null,this.i18nService.t("errorOccurred")),n.downloading=!1,[2];i.label=2;case 2:return i.trys.push([2,11,,12]),[4,r.arrayBuffer()];case 3:return o=i.sent(),null==e.key?[3,4]:(s=e.key,[3,6]);case 4:return[4,this.cryptoService.getOrgKey(this.cipher.organizationId)];case 5:s=i.sent(),i.label=6;case 6:return a=s,[4,this.cryptoService.decryptFromBytes(o,a)];case 7:return l=i.sent(),c=this,[4,this.cipherService.saveAttachmentRawWithServer(this.cipherDomain,e.fileName,l,t)];case 8:return c.cipherDomain=i.sent(),p=this,[4,this.cipherDomain.decrypt()];case 9:return p.cipher=i.sent(),this.deletePromises[e.id]=this.deleteCipherAttachment(e.id),[4,this.deletePromises[e.id]];case 10:return i.sent(),(u=this.cipher.attachments.filter(function(t){return t.id===e.id})).length>0&&(d=this.cipher.attachments.indexOf(u[0]))>-1&&this.cipher.attachments.splice(d,1),this.platformUtilsService.eventTrack("Reuploaded Attachment"),this.platformUtilsService.showToast("success",null,this.i18nService.t("attachmentSaved")),this.onReuploadedAttachment.emit(),[3,12];case 11:return i.sent(),this.platformUtilsService.showToast("error",null,this.i18nService.t("errorOccurred")),[3,12];case 12:return n.downloading=!1,[2]}})})}),[4,this.reuploadPromises[e.id]];case 2:return a.sent(),[3,4];case 3:return a.sent(),[3,4];case 4:return[2]}})})},e.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},e.prototype.saveCipherAttachment=function(e){return this.cipherService.saveAttachmentWithServer(this.cipherDomain,e)},e.prototype.deleteCipherAttachment=function(e){return this.cipherService.deleteAttachmentWithServer(this.cipher.id,e)},e.ɵfac=function(t){return new(t||e)(a.ɵɵdirectiveInject(s.CipherService),a.ɵɵdirectiveInject(l.I18nService),a.ɵɵdirectiveInject(c.CryptoService),a.ɵɵdirectiveInject(p.UserService),a.ɵɵdirectiveInject(u.PlatformUtilsService),a.ɵɵdirectiveInject(Window))},e.ɵdir=a.ɵɵdefineDirective({type:e,inputs:{cipherId:"cipherId"},outputs:{onUploadedAttachment:"onUploadedAttachment",onDeletedAttachment:"onDeletedAttachment",onReuploadedAttachment:"onReuploadedAttachment"}}),e}();t.AttachmentsComponent=d},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]this.pageSize&&(t=this.pagedCiphersCount),this.ciphers.length>e&&(this.pagedCiphers=this.pagedCiphers.concat(this.ciphers.slice(e,e+t))),this.pagedCiphersCount=this.pagedCiphers.length,this.didScroll=this.pagedCiphers.length>this.pageSize}},e.prototype.reload=function(e,t){return void 0===e&&(e=null),void 0===t&&(t=!1),r(this,void 0,void 0,function(){return i(this,function(n){switch(n.label){case 0:return this.loaded=!1,this.ciphers=[],[4,this.load(e,t)];case 1:return n.sent(),[2]}})})},e.prototype.refresh=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return e.trys.push([0,,2,3]),this.refreshing=!0,[4,this.reload(this.filter,this.deleted)];case 1:return e.sent(),[3,3];case 2:return this.refreshing=!1,[7];case 3:return[2]}})})},e.prototype.applyFilter=function(e){return void 0===e&&(e=null),r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return this.filter=e,[4,this.search(null)];case 1:return t.sent(),[2]}})})},e.prototype.search=function(e){return void 0===e&&(e=null),r(this,void 0,void 0,function(){var t,n,o=this;return i(this,function(a){switch(a.label){case 0:return this.searchPending=!1,null!=this.searchTimeout&&clearTimeout(this.searchTimeout),t=function(e){return e.isDeleted===o.deleted},null!=e?[3,3]:(n=this,[4,this.searchService.searchCiphers(this.searchText,[this.filter,t],null)]);case 1:return n.ciphers=a.sent(),[4,this.resetPaging()];case 2:return a.sent(),[2];case 3:return this.searchPending=!0,this.searchTimeout=setTimeout(function(){return r(o,void 0,void 0,function(){var e;return i(this,function(n){switch(n.label){case 0:return e=this,[4,this.searchService.searchCiphers(this.searchText,[this.filter,t],null)];case 1:return e.ciphers=n.sent(),[4,this.resetPaging()];case 2:return n.sent(),this.searchPending=!1,[2]}})})},e),[2]}})})},e.prototype.selectCipher=function(e){this.onCipherClicked.emit(e)},e.prototype.rightClickCipher=function(e){this.onCipherRightClicked.emit(e)},e.prototype.addCipher=function(){this.onAddCipher.emit()},e.prototype.addCipherOptions=function(){this.onAddCipherOptions.emit()},e.prototype.isSearching=function(){return!this.searchPending&&this.searchService.isSearchable(this.searchText)},e.prototype.isPaging=function(){var e=this.isSearching();return e&&this.didScroll&&this.resetPaging(),!e&&this.ciphers.length>this.pageSize},e.prototype.resetPaging=function(){return r(this,void 0,void 0,function(){return i(this,function(e){return this.pagedCiphers=[],this.loadMore(),[2]})})},e.ɵfac=function(t){return new(t||e)(a.ɵɵdirectiveInject(s.SearchService))},e.ɵdir=a.ɵɵdefineDirective({type:e,inputs:{activeCipherId:"activeCipherId"},outputs:{onCipherClicked:"onCipherClicked",onCipherRightClicked:"onCipherRightClicked",onAddCipher:"onAddCipher",onAddCipherOptions:"onAddCipherOptions"}}),e}();t.CiphersComponent=l},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1}),[2]}})})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:if(e=this.collections.filter(function(e){return!!e.checked}).map(function(e){return e.id}),!this.allowSelectNone&&0===e.length)return this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("selectOneCollection")),[2];this.cipherDomain.collectionIds=e,t.label=1;case 1:return t.trys.push([1,3,,4]),this.formPromise=this.saveCollections(),[4,this.formPromise];case 2:return t.sent(),this.onSavedCollections.emit(),this.platformUtilsService.eventTrack("Edited Cipher Collections"),this.platformUtilsService.showToast("success",null,this.i18nService.t("editedItem")),[3,4];case 3:return t.sent(),[3,4];case 4:return[2]}})})},e.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},e.prototype.loadCipherCollections=function(){return this.cipherDomain.collectionIds},e.prototype.loadCollections=function(){return r(this,void 0,void 0,function(){var e=this;return i(this,function(t){switch(t.label){case 0:return[4,this.collectionService.getAllDecrypted()];case 1:return[2,t.sent().filter(function(t){return!t.readOnly&&t.organizationId===e.cipher.organizationId})]}})})},e.prototype.saveCollections=function(){return this.cipherService.saveCollectionsWithServer(this.cipherDomain)},e.ɵfac=function(t){return new(t||e)(a.ɵɵdirectiveInject(s.CollectionService),a.ɵɵdirectiveInject(l.PlatformUtilsService),a.ɵɵdirectiveInject(c.I18nService),a.ɵɵdirectiveInject(p.CipherService))},e.ɵdir=a.ɵɵdefineDirective({type:e,inputs:{cipherId:"cipherId",allowSelectNone:"allowSelectNone"},outputs:{onSavedCollections:"onSavedCollections"}}),e}();t.CollectionsComponent=u},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(this.organizationId=this.organizations[0].id),this.filterCollections(),[2]}})})},e.prototype.filterCollections=function(){var e=this;this.writeableCollections.forEach(function(e){return e.checked=!1}),null==this.organizationId||0===this.writeableCollections.length?this.collections=[]:this.collections=this.writeableCollections.filter(function(t){return t.organizationId===e.organizationId})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e,t,n=this;return i(this,function(o){switch(o.label){case 0:return 0===(e=this.collections.filter(function(e){return!!e.checked}).map(function(e){return e.id})).length?(this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("selectOneCollection")),[2]):[4,this.cipherService.get(this.cipherId)];case 1:return[4,o.sent().decrypt()];case 2:t=o.sent(),o.label=3;case 3:return o.trys.push([3,5,,6]),this.formPromise=this.cipherService.shareWithServer(t,this.organizationId,e).then(function(){return r(n,void 0,void 0,function(){return i(this,function(e){return this.onSharedCipher.emit(),this.platformUtilsService.eventTrack("Shared Cipher"),this.platformUtilsService.showToast("success",null,this.i18nService.t("sharedItem")),[2]})})}),[4,this.formPromise];case 4:return o.sent(),[2,!0];case 5:return o.sent(),[3,6];case 6:return[2,!1]}})})},Object.defineProperty(e.prototype,"canSave",{get:function(){if(null!=this.collections)for(var e=0;e0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=e?c[e-1]():0===c.length&&(s.delete(l),0===s.size&&a.delete(n))};o.apply(n,r).then(function(e){return u(),e}).catch(function(e){throw u(),e}).then(t,i)};c.push(p),c.length<=e&&p()})}}}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.ids=null==e?[]:e,this.folderId=t}}();t.CipherBulkMoveRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.ids=null==e?[]:e}}();t.CipherBulkRestoreRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(498),i=function(){return function(e,t){var n=this;null!=e&&(this.ciphers=[],e.forEach(function(e){n.ciphers.push(new r.CipherWithIdRequest(e))})),this.collectionIds=t}}();t.CipherBulkShareRequest=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(210),i=function(){return function(e){this.cipher=new r.CipherRequest(e),this.collectionIds=e.collectionIds}}();t.CipherShareRequest=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.comparator=e,this.sortedCiphersByUrl=new Map,this.timeouts=new Map}return e.prototype.isCached=function(e){return this.sortedCiphersByUrl.has(e)},e.prototype.addCiphers=function(e,t){t.sort(this.comparator),this.sortedCiphersByUrl.set(e,new i(t)),this.resetTimer(e)},e.prototype.getLastUsed=function(e){return this.resetTimer(e),this.isCached(e)?this.sortedCiphersByUrl.get(e).getLastUsed():null},e.prototype.getLastLaunched=function(e){return this.isCached(e)?this.sortedCiphersByUrl.get(e).getLastLaunched():null},e.prototype.getNext=function(e){return this.resetTimer(e),this.isCached(e)?this.sortedCiphersByUrl.get(e).getNext():null},e.prototype.updateLastUsedIndex=function(e){this.isCached(e)&&this.sortedCiphersByUrl.get(e).updateLastUsedIndex()},e.prototype.clear=function(){this.sortedCiphersByUrl.clear(),this.timeouts.clear()},e.prototype.resetTimer=function(e){var t=this;clearTimeout(this.timeouts.get(e)),this.timeouts.set(e,setTimeout(function(){t.sortedCiphersByUrl.delete(e),t.timeouts.delete(e)},3e3))},e}();t.SortedCiphersCache=r;var i=function(){function e(e){this.ciphers=e,this.lastUsedIndex=-1}return e.prototype.getLastUsed=function(){return this.lastUsedIndex=Math.max(this.lastUsedIndex,0),this.ciphers[this.lastUsedIndex]},e.prototype.getLastLaunched=function(){return this.ciphers.filter(function(e){var t;return null===(t=e.localData)||void 0===t?void 0:t.lastLaunched}).sort(function(e,t){return t.localData.lastLaunched.valueOf()-e.localData.lastLaunched.valueOf()})[0]},e.prototype.getNextIndex=function(){return(this.lastUsedIndex+1)%this.ciphers.length},e.prototype.getNext=function(){return this.ciphers[this.getNextIndex()]},e.prototype.updateLastUsedIndex=function(){this.lastUsedIndex=this.getNextIndex()},e}()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t,n){this.children=[],this.parent=n,this.node=e,this.node.name=t}}();t.TreeNode=r},,,,,,,function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.defaultType="",t.minLength=0,t.useUppercase=!1,t.useLowercase=!1,t.useNumbers=!1,t.numberCount=0,t.useSpecial=!1,t.specialCount=0,t.minNumberWords=0,t.capitalize=!1,t.includeNumber=!1,t}return i(t,e),t.prototype.inEffect=function(){return""!==this.defaultType||this.minLength>0||this.numberCount>0||this.specialCount>0||this.useUppercase||this.useLowercase||this.useNumbers||this.useSpecial||this.minNumberWords>0||this.capitalize||this.includeNumber},t}(n(81).default);t.PasswordGeneratorPolicyOptions=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.id=e.id,this.name=e.name,this.status=e.status,this.type=e.type,this.enabled=e.enabled,this.usePolicies=e.usePolicies,this.useGroups=e.useGroups,this.useDirectory=e.useDirectory,this.useEvents=e.useEvents,this.useTotp=e.useTotp,this.use2fa=e.use2fa,this.useApi=e.useApi,this.useBusinessPortal=e.useBusinessPortal,this.useSso=e.useSso,this.selfHost=e.selfHost,this.usersGetPremium=e.usersGetPremium,this.seats=e.seats,this.maxCollections=e.maxCollections,this.maxStorageGb=e.maxStorageGb,this.ssoBound=e.ssoBound,this.identifier=e.identifier,this.permissions=e.permissions}}();t.OrganizationData=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){null!=e&&(this.id=e.id,this.url=e.url,this.fileName=e.fileName,this.key=e.key,this.size=e.size,this.sizeName=e.sizeName)}}();t.SendFileData=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){null!=e&&(this.text=e.text,this.hidden=e.hidden)}}();t.SendTextData=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0?this.browserCache=a.DeviceType.OperaBrowser:-1!==navigator.userAgent.indexOf(" Edg/")?this.browserCache=a.DeviceType.EdgeBrowser:-1!==navigator.userAgent.indexOf(" Vivaldi/")?this.browserCache=a.DeviceType.VivaldiBrowser:-1!==navigator.userAgent.indexOf(" Safari/")&&-1===navigator.userAgent.indexOf("Chrome")?this.browserCache=a.DeviceType.SafariBrowser:window.chrome&&-1!==navigator.userAgent.indexOf(" Chrome/")?this.browserCache=a.DeviceType.ChromeBrowser:-1!==navigator.userAgent.indexOf(" Trident/")?this.browserCache=a.DeviceType.IEBrowser:this.browserCache=a.DeviceType.UnknownBrowser,this.browserCache)},e.prototype.getDeviceString=function(){return a.DeviceType[this.getDevice()].toLowerCase().replace("browser","")},e.prototype.isFirefox=function(){return this.getDevice()===a.DeviceType.FirefoxBrowser},e.prototype.isChrome=function(){return this.getDevice()===a.DeviceType.ChromeBrowser},e.prototype.isEdge=function(){return this.getDevice()===a.DeviceType.EdgeBrowser},e.prototype.isOpera=function(){return this.getDevice()===a.DeviceType.OperaBrowser},e.prototype.isVivaldi=function(){return this.getDevice()===a.DeviceType.VivaldiBrowser},e.prototype.isSafari=function(){return this.getDevice()===a.DeviceType.SafariBrowser},e.prototype.isIE=function(){return this.getDevice()===a.DeviceType.IEBrowser},e.prototype.isMacAppStore=function(){return!1},e.prototype.analyticsId=function(){return"UA-81915606-3"},e.prototype.isViewOpen=function(){return Promise.resolve(!1)},e.prototype.lockTimeout=function(){return null},e.prototype.launchUri=function(e,t){var n=document.createElement("a");n.href=e,null!=t&&t.sameWindow||(n.target="_blank",n.rel="noreferrer noopener"),n.classList.add("d-none"),document.body.appendChild(n),n.click(),document.body.removeChild(n)},e.prototype.saveFile=function(e,t,n,r){var i=null,o=null,a=r.toLowerCase(),s=!0;if(a.endsWith(".pdf")?(o="application/pdf",s=!1):a.endsWith(".xlsx")?o="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":a.endsWith(".docx")?o="application/vnd.openxmlformats-officedocument.wordprocessingml.document":a.endsWith(".pptx")?o="application/vnd.openxmlformats-officedocument.presentationml.presentation":a.endsWith(".csv")?o="text/csv":a.endsWith(".png")?o="image/png":a.endsWith(".jpg")||a.endsWith(".jpeg")?o="image/jpeg":a.endsWith(".gif")&&(o="image/gif"),null!=o&&null==(n=n||{}).type&&(n.type=o),i=null==n||this.isIE()?new Blob([t]):new Blob([t],n),navigator.msSaveOrOpenBlob)navigator.msSaveBlob(i,r);else{var l=e.document.createElement("a");s?l.download=r:l.target="_blank",l.href=URL.createObjectURL(i),l.style.position="fixed",e.document.body.appendChild(l),l.click(),e.document.body.removeChild(l)}},e.prototype.getApplicationVersion=function(){return"2.18.0"},e.prototype.supportsU2f=function(e){return null!=e&&null!=e.u2f||(this.isChrome()||(this.isOpera()||this.isVivaldi())&&!s.Utils.isMobileBrowser)},e.prototype.supportsDuo=function(){return!0},e.prototype.showToast=function(e,t,n,r){this.messagingService.send("showToast",{text:n,title:t,type:e,options:r})},e.prototype.showDialog=function(e,t,n,a,s){return r(this,void 0,void 0,function(){var r,l;return i(this,function(i){switch(i.label){case 0:if(r=null,null!=s)switch(s){case"success":r="fa-check text-success";break;case"warning":r="fa-warning text-warning";break;case"error":r="fa-bolt text-danger";break;case"info":r="fa-info-circle text-info"}return l=null!=r?'':void 0,[4,o.default.fire({heightAuto:!1,buttonsStyling:!1,icon:s,iconHtml:l,text:e,title:t,showCancelButton:null!=a,cancelButtonText:a,showConfirmButton:!0,confirmButtonText:null==n?this.i18nService.t("ok"):n})];case 1:return[2,i.sent().value]}})})},e.prototype.eventTrack=function(e,t,n){this.messagingService.send("analyticsEventTrack",{action:e,label:t,options:n})},e.prototype.isDev=function(){return!1},e.prototype.isSelfHost=function(){return"true"===(!1).toString()},e.prototype.copyToClipboard=function(e,t){var n=window,r=window.document;if(t&&(t.window||t.win)?r=(n=t.window||t.win).document:t&&t.doc&&(r=t.doc),n.clipboardData&&n.clipboardData.setData)n.clipboardData.setData("Text",e);else if(r.queryCommandSupported&&r.queryCommandSupported("copy")){var i=r.createElement("textarea");i.textContent=e,i.style.position="fixed";var o=r.body;r.body.classList.contains("modal-open")&&(o=r.body.querySelector(".modal")),o.appendChild(i),i.select();try{r.execCommand("copy")}catch(a){console.warn("Copy to clipboard failed.",a)}finally{o.removeChild(i)}}},e.prototype.readFromClipboard=function(e){throw new Error("Cannot read from clipboard on web.")},e.prototype.supportsBiometric=function(){return Promise.resolve(!1)},e.prototype.authenticateBiometric=function(){return Promise.resolve(!1)},e.prototype.supportsSecureStorage=function(){return!1},e.prototype.getDefaultSystemTheme=function(){return null},e.prototype.onDefaultSystemThemeChange=function(){},e}();t.WebPlatformUtilsService=l},function(e,t,n){"use strict";var r,i=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1&&(e=e.substring(0,t)),0!==e.indexOf("!/")&&0!==e.indexOf("#/")||(e=e.substring(1));var n=e.split("/"),r=[];return n.forEach(function(e){e.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i)?r.push("__guid__"):r.push(e)}),encodeURIComponent(r.join("/"))},e}();t.Analytics=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Debug=0]="Debug",e[e.Info=1]="Info",e[e.Warning=2]="Warning",e[e.Error=3]="Error"}(t.LogLevelType||(t.LogLevelType={}))},,function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&e.data.forEach(function(e){var r=new l.Collection(new p.CollectionData(e));t.push(r.decrypt().then(function(e){n.push(e)}))}),Promise.all(t)})),m.push(this.apiService.getCiphersOrganization(e).then(function(e){var t=[];return null!=e&&null!=e.data&&e.data.length>0&&e.data.filter(function(e){return null===e.deletedDate}).forEach(function(e){var n=new s.Cipher(new c.CipherData(e));t.push(n.decrypt().then(function(e){r.push(e)}))}),Promise.all(t)})),[4,Promise.all(m)];case 1:return i.sent(),"csv"===t?(h=new Map,n.forEach(function(e){h.set(e.id,e)}),f=[],r.forEach(function(e){if(e.type===a.CipherType.Login||e.type===a.CipherType.SecureNote){var t={collections:[]};null!=e.collectionIds&&(t.collections=e.collectionIds.filter(function(e){return h.has(e)}).map(function(e){return h.get(e).name})),y.buildCommonCipher(t,e),f.push(t)}}),[2,o.unparse(f)]):(v={encrypted:!1,collections:[],items:[]},n.forEach(function(e){var t=new d.CollectionWithId;t.build(e),v.collections.push(t)}),r.forEach(function(e){var t=new u.CipherWithIds;t.build(e),v.items.push(t)}),[2,JSON.stringify(v,null," ")])}})})},e.prototype.getOrganizationEncryptedExport=function(e){return r(this,void 0,void 0,function(){var t,n,r,o;return i(this,function(i){switch(i.label){case 0:return t=[],n=[],(r=[]).push(this.apiService.getCollections(e).then(function(e){return null!=e&&null!=e.data&&e.data.length>0&&e.data.forEach(function(e){var n=new l.Collection(new p.CollectionData(e));t.push(n)}),Promise.all([])})),r.push(this.apiService.getCiphersOrganization(e).then(function(e){return null!=e&&null!=e.data&&e.data.length>0&&e.data.filter(function(e){return null===e.deletedDate}).forEach(function(e){var t=new s.Cipher(new c.CipherData(e));n.push(t)}),Promise.all([])})),[4,Promise.all(r)];case 1:return i.sent(),o={encrypted:!0,collections:[],items:[]},t.forEach(function(e){var t=new d.CollectionWithId;t.build(e),o.collections.push(t)}),n.forEach(function(e){var t=new u.CipherWithIds;t.build(e),o.items.push(t)}),[2,JSON.stringify(o,null," ")]}})})},e.prototype.padNumber=function(e,t,n){void 0===n&&(n="0");var r=e.toString();return r.length>=t?r:new Array(t-r.length+1).join(n)+r},e.prototype.buildCommonCipher=function(e,t){switch(e.type=null,e.name=t.name,e.notes=t.notes,e.fields=null,e.login_uri=null,e.login_username=null,e.login_password=null,e.login_totp=null,t.fields&&t.fields.forEach(function(t){e.fields?e.fields+="\n":e.fields="",e.fields+=(t.name||"")+": "+t.value}),t.type){case a.CipherType.Login:e.type="login",e.login_username=t.login.username,e.login_password=t.login.password,e.login_totp=t.login.totp,t.login.uris&&(e.login_uri=[],t.login.uris.forEach(function(t){e.login_uri.push(t.uri)}));break;case a.CipherType.SecureNote:e.type="note";break;default:return}return e},e}();t.ExportService=h},,function(e,t){},,function(e,t){},,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(40),i=n(143),o=n(192),a=n(104),s=n(956),l=n(957),c=n(958),p=n(959),u=n(961),d=function(){function e(){}return e.template=function(){var t=new e;return t.organizationId=null,t.folderId=null,t.type=r.CipherType.Login,t.name="Item name",t.notes="Some notes about this item.",t.favorite=!1,t.fields=[],t.login=null,t.secureNote=null,t.card=null,t.identity=null,t},e.toView=function(e,t){switch(void 0===t&&(t=new i.CipherView),t.type=e.type,t.folderId=e.folderId,null==t.organizationId&&(t.organizationId=e.organizationId),t.name=e.name,t.notes=e.notes,t.favorite=e.favorite,null!=e.fields&&(t.fields=e.fields.map(function(e){return l.Field.toView(e)})),e.type){case r.CipherType.Login:t.login=p.Login.toView(e.login);break;case r.CipherType.SecureNote:t.secureNote=u.SecureNote.toView(e.secureNote);break;case r.CipherType.Card:t.card=s.Card.toView(e.card);break;case r.CipherType.Identity:t.identity=c.Identity.toView(e.identity)}return t},e.toDomain=function(e,t){switch(void 0===t&&(t=new o.Cipher),t.type=e.type,t.folderId=e.folderId,null==t.organizationId&&(t.organizationId=e.organizationId),t.name=null!=e.name?new a.CipherString(e.name):null,t.notes=null!=e.notes?new a.CipherString(e.notes):null,t.favorite=e.favorite,null!=e.fields&&(t.fields=e.fields.map(function(e){return l.Field.toDomain(e)})),e.type){case r.CipherType.Login:t.login=p.Login.toDomain(e.login);break;case r.CipherType.SecureNote:t.secureNote=u.SecureNote.toDomain(e.secureNote);break;case r.CipherType.Card:t.card=s.Card.toDomain(e.card);break;case r.CipherType.Identity:t.identity=c.Identity.toDomain(e.identity)}return t},e.prototype.build=function(e){var t,n;switch(this.organizationId=e.organizationId,this.folderId=e.folderId,this.type=e.type,e instanceof i.CipherView?(this.name=e.name,this.notes=e.notes):(this.name=null===(t=e.name)||void 0===t?void 0:t.encryptedString,this.notes=null===(n=e.notes)||void 0===n?void 0:n.encryptedString),this.favorite=e.favorite,null!=e.fields&&(i.CipherView,this.fields=e.fields.map(function(e){return new l.Field(e)})),e.type){case r.CipherType.Login:this.login=new p.Login(e.login);break;case r.CipherType.SecureNote:this.secureNote=new u.SecureNote(e.secureNote);break;case r.CipherType.Card:this.card=new s.Card(e.card);break;case r.CipherType.Identity:this.identity=new c.Identity(e.identity)}},e}();t.Cipher=d},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(89),i=n(282),o=n(104),a=function(){function e(e){var t,n,i,o,a,s;null!=e&&(e instanceof r.CardView?(this.cardholderName=e.cardholderName,this.brand=e.brand,this.number=e.number,this.expMonth=e.expMonth,this.expYear=e.expYear,this.code=e.code):(this.cardholderName=null===(t=e.cardholderName)||void 0===t?void 0:t.encryptedString,this.brand=null===(n=e.brand)||void 0===n?void 0:n.encryptedString,this.number=null===(i=e.number)||void 0===i?void 0:i.encryptedString,this.expMonth=null===(o=e.expMonth)||void 0===o?void 0:o.encryptedString,this.expYear=null===(a=e.expYear)||void 0===a?void 0:a.encryptedString,this.code=null===(s=e.code)||void 0===s?void 0:s.encryptedString))}return e.template=function(){var t=new e;return t.cardholderName="John Doe",t.brand="visa",t.number="4242424242424242",t.expMonth="04",t.expYear="2023",t.code="123",t},e.toView=function(e,t){return void 0===t&&(t=new r.CardView),t.cardholderName=e.cardholderName,t.brand=e.brand,t.number=e.number,t.expMonth=e.expMonth,t.expYear=e.expYear,t.code=e.code,t},e.toDomain=function(e,t){return void 0===t&&(t=new i.Card),t.cardholderName=null!=e.cardholderName?new o.CipherString(e.cardholderName):null,t.brand=null!=e.brand?new o.CipherString(e.brand):null,t.number=null!=e.number?new o.CipherString(e.number):null,t.expMonth=null!=e.expMonth?new o.CipherString(e.expMonth):null,t.expYear=null!=e.expYear?new o.CipherString(e.expYear):null,t.code=null!=e.code?new o.CipherString(e.code):null,t},e}();t.Card=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(128),i=n(209),o=n(104),a=n(283),s=function(){function e(e){var t,n;null!=e&&(e instanceof i.FieldView?(this.name=e.name,this.value=e.value):(this.name=null===(t=e.name)||void 0===t?void 0:t.encryptedString,this.value=null===(n=e.value)||void 0===n?void 0:n.encryptedString),this.type=e.type)}return e.template=function(){var t=new e;return t.name="Field name",t.value="Some value",t.type=r.FieldType.Text,t},e.toView=function(e,t){return void 0===t&&(t=new i.FieldView),t.type=e.type,t.value=e.value,t.name=e.name,t},e.toDomain=function(e,t){return void 0===t&&(t=new a.Field),t.type=e.type,t.value=null!=e.value?new o.CipherString(e.value):null,t.name=null!=e.name?new o.CipherString(e.name):null,t},e}();t.Field=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(144),i=n(104),o=n(284),a=function(){function e(e){var t,n,i,o,a,s,l,c,p,u,d,m,h,f,v,y,g,x;null!=e&&(e instanceof r.IdentityView?(this.title=e.title,this.firstName=e.firstName,this.middleName=e.middleName,this.lastName=e.lastName,this.address1=e.address1,this.address2=e.address2,this.address3=e.address3,this.city=e.city,this.state=e.state,this.postalCode=e.postalCode,this.country=e.country,this.company=e.company,this.email=e.email,this.phone=e.phone,this.ssn=e.ssn,this.username=e.username,this.passportNumber=e.passportNumber,this.licenseNumber=e.licenseNumber):(this.title=null===(t=e.title)||void 0===t?void 0:t.encryptedString,this.firstName=null===(n=e.firstName)||void 0===n?void 0:n.encryptedString,this.middleName=null===(i=e.middleName)||void 0===i?void 0:i.encryptedString,this.lastName=null===(o=e.lastName)||void 0===o?void 0:o.encryptedString,this.address1=null===(a=e.address1)||void 0===a?void 0:a.encryptedString,this.address2=null===(s=e.address2)||void 0===s?void 0:s.encryptedString,this.address3=null===(l=e.address3)||void 0===l?void 0:l.encryptedString,this.city=null===(c=e.city)||void 0===c?void 0:c.encryptedString,this.state=null===(p=e.state)||void 0===p?void 0:p.encryptedString,this.postalCode=null===(u=e.postalCode)||void 0===u?void 0:u.encryptedString,this.country=null===(d=e.country)||void 0===d?void 0:d.encryptedString,this.company=null===(m=e.company)||void 0===m?void 0:m.encryptedString,this.email=null===(h=e.email)||void 0===h?void 0:h.encryptedString,this.phone=null===(f=e.phone)||void 0===f?void 0:f.encryptedString,this.ssn=null===(v=e.ssn)||void 0===v?void 0:v.encryptedString,this.username=null===(y=e.username)||void 0===y?void 0:y.encryptedString,this.passportNumber=null===(g=e.passportNumber)||void 0===g?void 0:g.encryptedString,this.licenseNumber=null===(x=e.licenseNumber)||void 0===x?void 0:x.encryptedString))}return e.template=function(){var t=new e;return t.title="Mr",t.firstName="John",t.middleName="William",t.lastName="Doe",t.address1="123 Any St",t.address2="Apt #123",t.address3=null,t.city="New York",t.state="NY",t.postalCode="10001",t.country="US",t.company="Acme Inc.",t.email="john@company.com",t.phone="5555551234",t.ssn="000-123-4567",t.username="jdoe",t.passportNumber="US-123456789",t.licenseNumber="D123-12-123-12333",t},e.toView=function(e,t){return void 0===t&&(t=new r.IdentityView),t.title=e.title,t.firstName=e.firstName,t.middleName=e.middleName,t.lastName=e.lastName,t.address1=e.address1,t.address2=e.address2,t.address3=e.address3,t.city=e.city,t.state=e.state,t.postalCode=e.postalCode,t.country=e.country,t.company=e.company,t.email=e.email,t.phone=e.phone,t.ssn=e.ssn,t.username=e.username,t.passportNumber=e.passportNumber,t.licenseNumber=e.licenseNumber,t},e.toDomain=function(e,t){return void 0===t&&(t=new o.Identity),t.title=null!=e.title?new i.CipherString(e.title):null,t.firstName=null!=e.firstName?new i.CipherString(e.firstName):null,t.middleName=null!=e.middleName?new i.CipherString(e.middleName):null,t.lastName=null!=e.lastName?new i.CipherString(e.lastName):null,t.address1=null!=e.address1?new i.CipherString(e.address1):null,t.address2=null!=e.address2?new i.CipherString(e.address2):null,t.address3=null!=e.address3?new i.CipherString(e.address3):null,t.city=null!=e.city?new i.CipherString(e.city):null,t.state=null!=e.state?new i.CipherString(e.state):null,t.postalCode=null!=e.postalCode?new i.CipherString(e.postalCode):null,t.country=null!=e.country?new i.CipherString(e.country):null,t.company=null!=e.company?new i.CipherString(e.company):null,t.email=null!=e.email?new i.CipherString(e.email):null,t.phone=null!=e.phone?new i.CipherString(e.phone):null,t.ssn=null!=e.ssn?new i.CipherString(e.ssn):null,t.username=null!=e.username?new i.CipherString(e.username):null,t.passportNumber=null!=e.passportNumber?new i.CipherString(e.passportNumber):null,t.licenseNumber=null!=e.licenseNumber?new i.CipherString(e.licenseNumber):null,t},e}();t.Identity=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(960),i=n(159),o=n(104),a=n(285),s=function(){function e(e){var t,n,o;null!=e&&(null!=e.uris&&(i.LoginView,this.uris=e.uris.map(function(e){return new r.LoginUri(e)})),e instanceof i.LoginView?(this.username=e.username,this.password=e.password,this.totp=e.totp):(this.username=null===(t=e.username)||void 0===t?void 0:t.encryptedString,this.password=null===(n=e.password)||void 0===n?void 0:n.encryptedString,this.totp=null===(o=e.totp)||void 0===o?void 0:o.encryptedString))}return e.template=function(){var t=new e;return t.uris=[],t.username="jdoe",t.password="myp@ssword123",t.totp="JBSWY3DPEHPK3PXP",t},e.toView=function(e,t){return void 0===t&&(t=new i.LoginView),null!=e.uris&&(t.uris=e.uris.map(function(e){return r.LoginUri.toView(e)})),t.username=e.username,t.password=e.password,t.totp=e.totp,t},e.toDomain=function(e,t){return void 0===t&&(t=new a.Login),null!=e.uris&&(t.uris=e.uris.map(function(e){return r.LoginUri.toDomain(e)})),t.username=null!=e.username?new o.CipherString(e.username):null,t.password=null!=e.password?new o.CipherString(e.password):null,t.totp=null!=e.totp?new o.CipherString(e.totp):null,t},e}();t.Login=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(255),i=n(104),o=n(286),a=function(){function e(e){var t;this.match=null,null!=e&&(e instanceof r.LoginUriView?this.uri=e.uri:this.uri=null===(t=e.uri)||void 0===t?void 0:t.encryptedString,this.match=e.match)}return e.template=function(){var t=new e;return t.uri="https://google.com",t.match=null,t},e.toView=function(e,t){return void 0===t&&(t=new r.LoginUriView),t.uri=e.uri,t.match=e.match,t},e.toDomain=function(e,t){return void 0===t&&(t=new o.LoginUri),t.uri=null!=e.uri?new i.CipherString(e.uri):null,t.match=e.match,t},e}();t.LoginUri=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(112),i=n(94),o=n(288),a=function(){function e(e){null!=e&&(this.type=e.type)}return e.template=function(){var t=new e;return t.type=r.SecureNoteType.Generic,t},e.toView=function(e,t){return void 0===t&&(t=new i.SecureNoteView),t.type=e.type,t},e.toDomain=function(e,t){return void 0===t&&(t=new o.SecureNote),t.type=e.type,t},e}();t.SecureNote=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(157),i=n(104),o=n(141),a=function(){function e(){}return e.template=function(){var t=new e;return t.organizationId="00000000-0000-0000-0000-000000000000",t.name="Collection name",t.externalId=null,t},e.toView=function(e,t){return void 0===t&&(t=new r.CollectionView),t.name=e.name,t.externalId=e.externalId,null==t.organizationId&&(t.organizationId=e.organizationId),t},e.toDomain=function(e,t){return void 0===t&&(t=new o.Collection),t.name=null!=e.name?new i.CipherString(e.name):null,t.externalId=e.externalId,null==t.organizationId&&(t.organizationId=e.organizationId),t},e.prototype.build=function(e){var t;this.organizationId=e.organizationId,e instanceof r.CollectionView?this.name=e.name:this.name=null===(t=e.name)||void 0===t?void 0:t.encryptedString,this.externalId=e.externalId},e}();t.Collection=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(129),i=n(104),o=n(503),a=function(){function e(){}return e.template=function(){var t=new e;return t.name="Folder name",t},e.toView=function(e,t){return void 0===t&&(t=new r.FolderView),t.name=e.name,t},e.toDomain=function(e,t){return void 0===t&&(t=new o.Folder),t.name=null!=e.name?new i.CipherString(e.name):null,t},e.prototype.build=function(e){var t;e instanceof r.FolderView?this.name=e.name:this.name=null===(t=e.name)||void 0===t?void 0:t.encryptedString},e}();t.Folder=a},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(o=Math.floor(r.ciphers.length/2),a=r.ciphers.length-1,this.badData(r.ciphers[0])&&this.badData(r.ciphers[o])&&this.badData(r.ciphers[a]))?[2,new Error(this.i18nService.t("importFormatError"))]:[4,this.postImport(r,n)]:[3,3];case 2:return i.sent(),[2,null];case 3:return[2,new Error(this.i18nService.t("importFormatError"))]}})})},e.prototype.getImporter=function(e,t){void 0===t&&(t=null);var n=this.getImporterInstance(e);return null==n?null:(n.organizationId=t,n)},e.prototype.getImporterInstance=function(e){if(null==e||""===e)return null;switch(e){case"bitwardencsv":return new y.BitwardenCsvImporter;case"bitwardenjson":return new g.BitwardenJsonImporter;case"lastpasscsv":case"passboltcsv":return new j.LastPassCsvImporter;case"keepassxcsv":return new D.KeePassXCsvImporter;case"aviracsv":return new v.AviraCsvImporter;case"blurcsv":return new b.BlurCsvImporter;case"safeincloudxml":return new te.SafeInCloudXmlImporter;case"padlockcsv":return new K.PadlockCsvImporter;case"keepass2xml":return new B.KeePass2XmlImporter;case"chromecsv":case"operacsv":case"vivaldicsv":return new w.ChromeCsvImporter;case"firefoxcsv":return new A.FirefoxCsvImporter;case"upmcsv":return new se.UpmCsvImporter;case"saferpasscsv":return new ne.SaferPassCsvImporter;case"meldiumcsv":return new U.MeldiumCsvImporter;case"1password1pif":return new z.OnePassword1PifImporter;case"1passwordwincsv":return new G.OnePasswordWinCsvImporter;case"1passwordmaccsv":return new L.OnePasswordMacCsvImporter;case"keepercsv":return new V.KeeperCsvImporter;case"passworddragonxml":return new Q.PasswordDragonXmlImporter;case"enpasscsv":return new k.EnpassCsvImporter;case"enpassjson":return new _.EnpassJsonImporter;case"pwsafexml":return new J.PasswordSafeXmlImporter;case"dashlanejson":return new E.DashlaneJsonImporter;case"msecurecsv":return new F.MSecureCsvImporter;case"stickypasswordxml":return new oe.StickyPasswordXmlImporter;case"truekeycsv":return new ae.TrueKeyCsvImporter;case"clipperzhtml":return new C.ClipperzHtmlImporter;case"roboformcsv":return new ee.RoboFormCsvImporter;case"ascendocsv":return new m.AscendoCsvImporter;case"passwordbossjson":return new Y.PasswordBossJsonImporter;case"zohovaultcsv":return new ce.ZohoVaultCsvImporter;case"splashidcsv":return new ie.SplashIdCsvImporter;case"passkeepcsv":return new q.PassKeepCsvImporter;case"gnomejson":return new T.GnomeJsonImporter;case"passwordagentcsv":return new $.PasswordAgentCsvImporter;case"passpackcsv":return new W.PasspackCsvImporter;case"passmanjson":return new H.PassmanJsonImporter;case"avastcsv":return new h.AvastCsvImporter;case"avastjson":return new f.AvastJsonImporter;case"fsecurefsk":return new O.FSecureFskImporter;case"kasperskytxt":return new M.KasperskyTxtImporter;case"remembearcsv":return new Z.RememBearCsvImporter;case"passwordwallettxt":return new X.PasswordWalletTxtImporter;case"mykicsv":return new N.MykiCsvImporter;case"securesafecsv":return new re.SecureSafeCsvImporter;case"logmeoncecsv":return new R.LogMeOnceCsvImporter;case"blackberrycsv":return new x.BlackBerryCsvImporter;case"buttercupcsv":return new S.ButtercupCsvImporter;case"codebookcsv":return new I.CodebookCsvImporter;case"encryptrcsv":return new P.EncryptrCsvImporter;case"yoticsv":return new le.YotiCsvImporter;default:return null}},e.prototype.postImport=function(e,t){return void 0===t&&(t=null),r(this,void 0,void 0,function(){var n,r,o,a,m;return i(this,function(i){switch(i.label){case 0:if(null!=t)return[3,10];n=new p.ImportCiphersRequest,a=0,i.label=1;case 1:return a2&&e.length%2==0)for(var i=0;i-1?r.login.password=t.getValueOrDefault(o):null==r.login.username&&t.usernameFieldNames.indexOf(s)>-1?r.login.username=t.getValueOrDefault(o):(null==r.login.uris||0===r.login.uris.length)&&t.uriFieldNames.indexOf(s)>-1?r.login.uris=t.makeUriArray(o):t.processKvp(r,a,o)}}t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.AscendoCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.name),r.login.uris=t.makeUriArray(e.web),r.login.password=t.getValueOrDefault(e.password),r.login.username=t.getValueOrDefault(e.login),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.AvastCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(40),l=n(112),c=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=JSON.parse(e);return null==r?(n.success=!1,Promise.resolve(n)):(null!=r.logins&&r.logins.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.custName),r.notes=t.getValueOrDefault(e.note),r.login.uris=t.makeUriArray(e.url),r.login.password=t.getValueOrDefault(e.pwd),r.login.username=t.getValueOrDefault(e.loginName),t.cleanupCipher(r),n.ciphers.push(r)}),null!=r.notes&&r.notes.forEach(function(e){var r=t.initLoginCipher();r.type=s.CipherType.SecureNote,r.secureNote.type=l.SecureNoteType.Generic,r.name=t.getValueOrDefault(e.label),r.notes=t.getValueOrDefault(e.text),t.cleanupCipher(r),n.ciphers.push(r)}),null!=r.cards&&r.cards.forEach(function(e){var r=t.initLoginCipher();r.type=s.CipherType.Card,r.name=t.getValueOrDefault(e.custName),r.notes=t.getValueOrDefault(e.note),r.card.cardholderName=t.getValueOrDefault(e.holderName),r.card.number=t.getValueOrDefault(e.cardNumber),r.card.code=t.getValueOrDefault(e.cvv),r.card.brand=t.getCardBrand(r.card.number),null!=e.expirationDate&&(null!=e.expirationDate.month&&(r.card.expMonth=e.expirationDate.month+""),null!=e.expirationDate.year&&(r.card.expYear=e.expirationDate.year+"")),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.AvastJsonImporter=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.name,t.getValueOrDefault(t.nameFromUrl(e.website),"--")),r.login.uris=t.makeUriArray(e.website),r.login.password=t.getValueOrDefault(e.password),t.isNullOrWhitespace(e.username)&&!t.isNullOrWhitespace(e.secondary_username)?r.login.username=e.secondary_username:(r.login.username=t.getValueOrDefault(e.username),r.notes=t.getValueOrDefault(e.secondary_username)),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.AviraCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(143),l=n(157),c=n(209),p=n(159),u=n(94),d=n(40),m=n(128),h=n(112),f=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){t.organization&&!t.isNullOrWhitespace(e.collections)?e.collections.split(",").forEach(function(e){for(var t=!0,r=n.collections.length,i=0;ia+2&&(f.value=i[o].substr(a+2)),r.fields.push(f)}}switch(null!=e.type?e.type.toLowerCase():null){case"note":r.type=d.CipherType.SecureNote,r.secureNote=new u.SecureNoteView,r.secureNote.type=h.SecureNoteType.Generic;break;default:r.type=d.CipherType.Login,r.login=new p.LoginView,r.login.totp=t.getValueOrDefault(e.login_totp||e.totp),r.login.username=t.getValueOrDefault(e.login_username||e.username),r.login.password=t.getValueOrDefault(e.login_password||e.password);var v=t.parseSingleRowCsv(e.login_uri||e.uri);r.login.uris=t.makeUriArray(v)}n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.BitwardenCsvImporter=f},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]5&&(f.passwordHistory=f.passwordHistory.slice(0,5)),!this.organization&&null!=h.folderId&&e.has(h.folderId)?this.result.folderRelationships.push([this.result.ciphers.length,e.get(h.folderId)]):this.organization&&null!=h.collectionIds&&h.collectionIds.forEach(function(t){e.has(t)&&y.result.collectionRelationships.push([y.result.ciphers.length,e.get(t)])}),[4,f.decrypt()]):[3,13];case 11:v=a.sent(),this.cleanupCipher(v),this.result.ciphers.push(v),a.label=12;case 12:return d++,[3,10];case 13:return[2]}})})},t.prototype.parseDecrypted=function(){var e=this,t=new Map;this.organization&&null!=this.results.collections?this.results.collections.forEach(function(n){var r=p.CollectionWithId.toView(n);null!=r&&(r.id=null,r.organizationId=null,t.set(n.id,e.result.collections.length),e.result.collections.push(r))}):this.organization||null==this.results.folders||this.results.folders.forEach(function(n){var r=u.FolderWithId.toView(n);null!=r&&(r.id=null,t.set(n.id,e.result.folders.length),e.result.folders.push(r))}),this.results.items.forEach(function(n){var r=c.CipherWithIds.toView(n);r.id=null,r.folderId=null,r.organizationId=null,r.collectionIds=null,null!=r.passwordHistory&&r.passwordHistory.length>5&&(r.passwordHistory=r.passwordHistory.slice(0,5)),!e.organization&&null!=n.folderId&&t.has(n.folderId)?e.result.folderRelationships.push([e.result.ciphers.length,t.get(n.folderId)]):e.organization&&null!=n.collectionIds&&n.collectionIds.forEach(function(n){t.has(n)&&e.result.collectionRelationships.push([e.result.ciphers.length,t.get(n)])}),e.cleanupCipher(r),e.result.ciphers.push(r)})},t}(s.BaseImporter);t.BitwardenJsonImporter=d},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if("list"!==e.grouping){var r=t.initLoginCipher();r.favorite="1"===e.fav,r.name=t.getValueOrDefault(e.name),r.notes=t.getValueOrDefault(e.extra),"note"!==e.grouping&&(r.login.uris=t.makeUriArray(e.url),r.login.password=t.getValueOrDefault(e.password),r.login.username=t.getValueOrDefault(e.username)),t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.BlackBerryCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){"null"===e.label&&(e.label=null);var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.label,t.getValueOrDefault(t.nameFromUrl(e.domain),"--")),r.login.uris=t.makeUriArray(e.domain),r.login.password=t.getValueOrDefault(e.password),t.isNullOrWhitespace(e.email)&&!t.isNullOrWhitespace(e.username)?r.login.username=e.username:(r.login.username=t.getValueOrDefault(e.email),r.notes=t.getValueOrDefault(e.username)),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.BlurCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=["!group_id","!group_name","title","username","password","URL","id"],l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){t.processFolder(n,t.getValueOrDefault(e["!group_name"]));var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.title,"--"),r.login.username=t.getValueOrDefault(e.username),r.login.password=t.getValueOrDefault(e.password),r.login.uris=t.makeUriArray(e.URL);var i=!1;for(var o in e)e.hasOwnProperty(o)&&(i||-1!==s.indexOf(o)||(i=!0),i&&t.processKvp(r,o,e[o]));t.cleanupCipher(r),n.ciphers.push(r)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.ButtercupCsvImporter=l},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.name,"--"),r.login.username=t.getValueOrDefault(e.username),r.login.password=t.getValueOrDefault(e.password),r.login.uris=t.makeUriArray(e.url),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.ChromeCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseXml(e);if(null==r)return n.success=!1,Promise.resolve(n);var i=r.querySelector("textarea");return null==i||this.isNullOrWhitespace(i.textContent)?(n.errorMessage="Missing textarea.",n.success=!1,Promise.resolve(n)):(JSON.parse(i.textContent).forEach(function(e){var r=t.initLoginCipher();if(t.isNullOrWhitespace(e.label)||(r.name=e.label.split(" ")[0]),null==e.data||t.isNullOrWhitespace(e.data.notes)||(r.notes=e.data.notes.split("\\n").join("\n")),null!=e.currentVersion&&null!=e.currentVersion.fields)for(var i in e.currentVersion.fields)if(e.currentVersion.fields.hasOwnProperty(i)){var o=e.currentVersion.fields[i];switch(null!=o.actionType?o.actionType.toLowerCase():null){case"password":r.login.password=t.getValueOrDefault(o.value);break;case"email":case"username":case"user":case"name":r.login.username=t.getValueOrDefault(o.value);break;case"url":r.login.uris=t.makeUriArray(o.value);break;default:var a=null!=o.label?o.label.toLowerCase():null;null==r.login.password&&t.passwordFieldNames.indexOf(a)>-1?r.login.password=t.getValueOrDefault(o.value):null==r.login.username&&t.usernameFieldNames.indexOf(a)>-1?r.login.username=t.getValueOrDefault(o.value):(null==r.login.uris||0===r.login.uris.length)&&t.uriFieldNames.indexOf(a)>-1?r.login.uris=t.makeUriArray(o.value):t.processKvp(r,o.label,o.value)}}t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.ClipperzHtmlImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){t.processFolder(n,t.getValueOrDefault(e.Category));var r=t.initLoginCipher();r.favorite="True"===t.getValueOrDefault(e.Favorite),r.name=t.getValueOrDefault(e.Entry,"--"),r.notes=t.getValueOrDefault(e.Note),r.login.username=t.getValueOrDefault(e.Username,e.Email),r.login.password=t.getValueOrDefault(e.Password),r.login.totp=t.getValueOrDefault(e.TOTP),r.login.uris=t.makeUriArray(e.Website),t.isNullOrWhitespace(e.Username)||t.processKvp(r,"Email",e.Email),t.processKvp(r,"Phone",e.Phone),t.processKvp(r,"PIN",e.PIN),t.processKvp(r,"Account",e.Account),t.processKvp(r,"Date",e.Date),t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.CodebookCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(89),l=n(143),c=n(144),p=n(94),u=n(40),d=n(112),m=new Set(["ADDRESS","AUTHENTIFIANT","BANKSTATEMENT","IDCARD","IDENTITY","PAYMENTMEANS_CREDITCARD","PAYMENTMEAN_PAYPAL","EMAIL"]),h=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){this.result=new a.ImportResult;var t=JSON.parse(e);if(null==t||0===t.length)return this.result.success=!1,Promise.resolve(this.result);for(var n in null!=t.ADDRESS&&this.processAddress(t.ADDRESS),null!=t.AUTHENTIFIANT&&this.processAuth(t.AUTHENTIFIANT),null!=t.BANKSTATEMENT&&this.processNote(t.BANKSTATEMENT,"BankAccountName"),null!=t.IDCARD&&this.processNote(t.IDCARD,"Fullname"),null!=t.PAYMENTMEANS_CREDITCARD&&this.processCard(t.PAYMENTMEANS_CREDITCARD),null!=t.IDENTITY&&this.processIdentity(t.IDENTITY),t)t.hasOwnProperty(n)&&!m.has(n)&&this.processNote(t[n],null,"Generic Note");return this.result.success=!0,Promise.resolve(this.result)},t.prototype.processAuth=function(e){var t=this;e.forEach(function(e){var n=t.initLoginCipher();n.name=t.getValueOrDefault(e.title),n.login.username=t.getValueOrDefault(e.login,t.getValueOrDefault(e.secondaryLogin)),t.isNullOrWhitespace(n.login.username)?n.login.username=t.getValueOrDefault(e.email):t.isNullOrWhitespace(e.email)||(n.notes="Email: "+e.email+"\n"),n.login.password=t.getValueOrDefault(e.password),n.login.uris=t.makeUriArray(e.domain),n.notes+=t.getValueOrDefault(e.note,""),t.convertToNoteIfNeeded(n),t.cleanupCipher(n),t.result.ciphers.push(n)})},t.prototype.processIdentity=function(e){var t=this;e.forEach(function(e){var n=new l.CipherView;n.identity=new c.IdentityView,n.type=u.CipherType.Identity,n.name=t.getValueOrDefault(e.fullName,"");var r=n.name.split(" ");r.length>0&&(n.identity.firstName=t.getValueOrDefault(r[0])),2===r.length?n.identity.lastName=t.getValueOrDefault(r[1]):3===r.length&&(n.identity.middleName=t.getValueOrDefault(r[1]),n.identity.lastName=t.getValueOrDefault(r[2])),n.identity.username=t.getValueOrDefault(e.pseudo),t.cleanupCipher(n),t.result.ciphers.push(n)})},t.prototype.processAddress=function(e){var t=this;e.forEach(function(e){var n=new l.CipherView;n.identity=new c.IdentityView,n.type=u.CipherType.Identity,n.name=t.getValueOrDefault(e.addressName),n.identity.address1=t.getValueOrDefault(e.addressFull),n.identity.city=t.getValueOrDefault(e.city),n.identity.state=t.getValueOrDefault(e.state),n.identity.postalCode=t.getValueOrDefault(e.zipcode),n.identity.country=t.getValueOrDefault(e.country),null!=n.identity.country&&(n.identity.country=n.identity.country.toUpperCase()),t.cleanupCipher(n),t.result.ciphers.push(n)})},t.prototype.processCard=function(e){var t=this;e.forEach(function(e){var n=new l.CipherView;n.card=new s.CardView,n.type=u.CipherType.Card,n.name=t.getValueOrDefault(e.bank),n.card.number=t.getValueOrDefault(e.cardNumber),n.card.brand=t.getCardBrand(n.card.number),n.card.cardholderName=t.getValueOrDefault(e.owner),t.isNullOrWhitespace(n.card.brand)||(t.isNullOrWhitespace(n.name)?n.name=n.card.brand:n.name+=" - "+n.card.brand),t.cleanupCipher(n),t.result.ciphers.push(n)})},t.prototype.processNote=function(e,t,n){var r=this;void 0===n&&(n=null),e.forEach(function(e){var i=new l.CipherView;for(var o in i.secureNote=new p.SecureNoteView,i.type=u.CipherType.SecureNote,i.secureNote.type=d.SecureNoteType.Generic,i.name=null!=n?n:r.getValueOrDefault(e[t]),e)e.hasOwnProperty(o)&&o!==t&&r.processKvp(i,o,e[o].toString());r.cleanupCipher(i),r.result.ciphers.push(i)})},t}(o.BaseImporter);t.DashlaneJsonImporter=h},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(89),l=n(40),c=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.Label,"--"),r.notes=t.getValueOrDefault(e.Notes);var i=t.getValueOrDefault(e.Text);t.isNullOrWhitespace(i)||(t.isNullOrWhitespace(r.notes)?r.notes=i:r.notes+="\n\n"+i);var o=e["Entry Type"];if("Password"===o)r.login.username=t.getValueOrDefault(e.Username),r.login.password=t.getValueOrDefault(e.Password),r.login.uris=t.makeUriArray(e["Site URL"]);else if("Credit Card"===o){r.type=l.CipherType.Card,r.card=new s.CardView,r.card.cardholderName=t.getValueOrDefault(e["Name on card"]),r.card.number=t.getValueOrDefault(e["Card Number"]),r.card.brand=t.getCardBrand(r.card.number),r.card.code=t.getValueOrDefault(e.CVV);var a=t.getValueOrDefault(e.Expiry);if(!t.isNullOrWhitespace(a)){var c=a.split("/");c.length>1&&(r.card.expMonth=parseInt(c[0],null).toString(),r.card.expYear=(2e3+parseInt(c[1],null)).toString())}}t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.EncryptrCsvImporter=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(40),l=n(112),c=n(89),p=n(94),u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);if(null==r)return n.success=!1,Promise.resolve(n);var i=!0;return r.forEach(function(e){if(e.length<2||i&&("Title"===e[0]||"title"===e[0]))i=!1;else{var r=t.initLoginCipher();if(r.notes=t.getValueOrDefault(e[e.length-1]),r.name=t.getValueOrDefault(e[0],"--"),2!==e.length&&(t.containsField(e,"username")||t.containsField(e,"password")||t.containsField(e,"email")||t.containsField(e,"url"))||(r.type=s.CipherType.SecureNote,r.secureNote=new p.SecureNoteView,r.secureNote.type=l.SecureNoteType.Generic),t.containsField(e,"cardholder")&&t.containsField(e,"number")&&t.containsField(e,"expiry date")&&(r.type=s.CipherType.Card,r.card=new c.CardView),e.length>2&&e.length%2==0)for(var o=0;o0},t}(o.BaseImporter);t.EnpassCsvImporter=u},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(89),l=n(129),c=n(40),p=n(128),u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=JSON.parse(e);if(null==r||null==r.items||0===r.items.length)return n.success=!1,Promise.resolve(n);var i=new Map,o=new Map,s=this.buildFolderTree(r.folders);return this.flattenFolderTree(null,s,i),i.forEach(function(e,t){o.set(t,n.folders.length);var r=new l.FolderView;r.name=e,n.folders.push(r)}),r.items.forEach(function(e){null!=e.folders&&e.folders.length>0&&o.has(e.folders[0])&&n.folderRelationships.push([n.ciphers.length,o.get(e.folders[0])]);var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.title),r.favorite=e.favorite>0,null!=e.template_type&&null!=e.fields&&e.fields.length>0&&(0===e.template_type.indexOf("login.")||0===e.template_type.indexOf("password.")?t.processLogin(r,e.fields):0===e.template_type.indexOf("creditcard.")?t.processCard(r,e.fields):e.template_type.indexOf("identity.")<0&&e.fields.some(function(e){return"password"===e.type&&!t.isNullOrWhitespace(e.value)})?t.processLogin(r,e.fields):t.processNote(r,e.fields)),r.notes+="\n"+t.getValueOrDefault(e.note,""),t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n)},t.prototype.processLogin=function(e,t){var n=this,r=[];t.forEach(function(t){n.isNullOrWhitespace(t.value)||"section"===t.type||("username"!==t.type&&"email"!==t.type||!n.isNullOrWhitespace(e.login.username)?"password"===t.type&&n.isNullOrWhitespace(e.login.password)?e.login.password=t.value:"totp"===t.type&&n.isNullOrWhitespace(e.login.totp)?e.login.totp=t.value:"url"===t.type?r.push(t.value):n.processKvp(e,t.label,t.value,1===t.sensitive?p.FieldType.Hidden:p.FieldType.Text):e.login.username=t.value)}),e.login.uris=this.makeUriArray(r)},t.prototype.processCard=function(e,t){var n=this;e.card=new s.CardView,e.type=c.CipherType.Card,t.forEach(function(t){n.isNullOrWhitespace(t.value)||"section"===t.type||"ccType"===t.type||("ccName"===t.type&&n.isNullOrWhitespace(e.card.cardholderName)?e.card.cardholderName=t.value:"ccNumber"===t.type&&n.isNullOrWhitespace(e.card.number)?(e.card.number=t.value,e.card.brand=n.getCardBrand(e.card.number)):"ccCvc"===t.type&&n.isNullOrWhitespace(e.card.code)?e.card.code=t.value:"ccExpiry"===t.type&&n.isNullOrWhitespace(e.card.expYear)&&n.setCardExpiration(e,t.value)||n.processKvp(e,t.label,t.value,1===t.sensitive?p.FieldType.Hidden:p.FieldType.Text))})},t.prototype.processNote=function(e,t){var n=this;t.forEach(function(t){n.isNullOrWhitespace(t.value)||"section"===t.type||n.processKvp(e,t.label,t.value,1===t.sensitive?p.FieldType.Hidden:p.FieldType.Text)})},t.prototype.buildFolderTree=function(e){if(null==e)return[];var t=[],n=new Map([]);return e.forEach(function(e){n.set(e.uuid,e),e.children=[]}),e.forEach(function(e){null!=e.parent_uuid&&""!==e.parent_uuid&&n.has(e.parent_uuid)?n.get(e.parent_uuid).children.push(e):t.push(e)}),t},t.prototype.flattenFolderTree=function(e,t,n){var r=this;null!=t&&t.forEach(function(t){if(null!=t.title&&""!==t.title.trim()){var i=t.title.trim();null!=e&&""!==e.trim()&&(i=e+"/"+i),n.set(t.uuid,i),null!=t.children&&0!==t.children.length&&r.flattenFolderTree(i,t.children,n)}})},t}(o.BaseImporter);t.EnpassJsonImporter=u},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher(),i=t.getValueOrDefault(e.url,t.getValueOrDefault(e.hostname));r.name=t.getValueOrDefault(t.nameFromUrl(i),"--"),r.login.username=t.getValueOrDefault(e.username),r.login.password=t.getValueOrDefault(e.password),r.login.uris=t.makeUriArray(i),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.FirefoxCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(89),l=n(40),c=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=new a.ImportResult,n=JSON.parse(e);if(null==n||null==n.data)return t.success=!1,Promise.resolve(t);for(var r in n.data)if(n.data.hasOwnProperty(r)){var i=n.data[r],o=this.initLoginCipher();if(o.name=this.getValueOrDefault(i.service),o.notes=this.getValueOrDefault(i.notes),"website"===i.style)o.login.username=this.getValueOrDefault(i.username),o.login.password=this.getValueOrDefault(i.password),o.login.uris=this.makeUriArray(i.url);else{if("creditcard"!==i.style)continue;o.type=l.CipherType.Card,o.card=new s.CardView,o.card.cardholderName=this.getValueOrDefault(i.username),o.card.number=this.getValueOrDefault(i.creditNumber),o.card.brand=this.getCardBrand(o.card.number),o.card.code=this.getValueOrDefault(i.creditCvv),this.isNullOrWhitespace(i.creditExpiry)||this.setCardExpiration(o,i.creditExpiry)||this.processKvp(o,"Expiration",i.creditExpiry),this.isNullOrWhitespace(i.password)||this.processKvp(o,"PIN",i.password)}this.convertToNoteIfNeeded(o),this.cleanupCipher(o),t.ciphers.push(o)}return t.success=!0,Promise.resolve(t)},t}(o.BaseImporter);t.FSecureFskImporter=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=JSON.parse(e);if(null==r||0===Object.keys(r).length)return n.success=!1,Promise.resolve(n);var i=function(e){if(!r.hasOwnProperty(e)||o.isNullOrWhitespace(e)||0===r[e].length)return"continue";r[e].forEach(function(r){if(!t.isNullOrWhitespace(r.display_name)&&0===r.display_name.indexOf("http")){t.processFolder(n,e);var i=t.initLoginCipher();if(i.name=r.display_name.replace("http://","").replace("https://",""),i.name.length>30&&(i.name=i.name.substring(0,30)),i.login.password=t.getValueOrDefault(r.secret),i.login.uris=t.makeUriArray(r.display_name),null!=r.attributes)for(var o in i.login.username=null!=r.attributes?t.getValueOrDefault(r.attributes.username_value):null,r.attributes)r.attributes.hasOwnProperty(o)&&"username_value"!==o&&"xdg:schema"!==o&&t.processKvp(i,o,r.attributes[o]);t.convertToNoteIfNeeded(i),t.cleanupCipher(i),n.ciphers.push(i)}})},o=this;for(var s in r)i(s);return this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n)},t}(o.BaseImporter);t.GnomeJsonImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t,n,r,i,o=this,s=new a.ImportResult,l=this.splitNewLine(e).join("\n");-1!==l.indexOf("Notes\n\n")&&((i=l.split("Notes\n\n")).length>1&&(l=i[0],t=i[1]));-1!==l.indexOf("Applications\n\n")&&((i=l.split("Applications\n\n")).length>1&&(l=i[0],n=i[1]));0===l.indexOf("Websites\n\n")&&((i=l.split("Websites\n\n")).length>1&&(l=i[0],r=i[1]));var c=this.parseDataCategory(t),p=this.parseDataCategory(n),u=this.parseDataCategory(r);return c.forEach(function(e){var t=o.initLoginCipher();t.name=o.getValueOrDefault(e.get("Name")),t.notes=o.getValueOrDefault(e.get("Text")),o.cleanupCipher(t),s.ciphers.push(t)}),u.concat(p).forEach(function(e){var t=o.initLoginCipher(),n=e.has("Website name")?"Website name":"Application";t.name=o.getValueOrDefault(e.get(n),""),o.isNullOrWhitespace(e.get("Login name"))||(o.isNullOrWhitespace(t.name)||(t.name+=": "),t.name+=e.get("Login name")),t.notes=o.getValueOrDefault(e.get("Comment")),e.has("Website URL")&&(t.login.uris=o.makeUriArray(e.get("Website URL"))),t.login.username=o.getValueOrDefault(e.get("Login")),t.login.password=o.getValueOrDefault(e.get("Password")),o.cleanupCipher(t),s.ciphers.push(t)}),s.success=!0,Promise.resolve(s)},t.prototype.parseDataCategory=function(e){if(this.isNullOrWhitespace(e)||-1===e.indexOf("\n---\n"))return[];var t=[];return e.split("\n---\n").forEach(function(e){if(-1!==e.indexOf("\n")){var n,r,i=new Map;e.split("\n").forEach(function(e){if(null==n){var t,o,a=e.indexOf(":");-1!==a&&(t=e.substring(0,a),e.length>a+1&&(o=e.substring(a+2)),null!=t&&i.set(t,o),"Comment"!==t&&"Text"!==t||(n=o,r=t))}else n+="\n"+e}),null!=n&&null!=r&&i.set(r,n),0!==i.size&&t.push(i)}}),t},t}(o.BaseImporter);t.KasperskyTxtImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(128),s=n(27),l=n(129),c=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.result=new s.ImportResult,t}return i(t,e),t.prototype.parse=function(e){var t=this.parseXml(e);if(null==t)return this.result.success=!1,Promise.resolve(this.result);var n=t.querySelector("KeePassFile > Root > Group");return null==n?(this.result.errorMessage="Missing `KeePassFile > Root > Group` node.",this.result.success=!1,Promise.resolve(this.result)):(this.traverse(n,!0,""),this.organization&&this.moveFoldersToCollections(this.result),this.result.success=!0,Promise.resolve(this.result))},t.prototype.traverse=function(e,t,n){var r=this,i=this.result.folders.length,o=n;if(!t){""!==o&&(o+="/");var s=this.querySelectorDirectChild(e,"Name");o+=null==s?"-":s.textContent;var c=new l.FolderView;c.name=o,this.result.folders.push(c)}this.querySelectorAllDirectChild(e,"Entry").forEach(function(e){var n=r.result.ciphers.length,o=r.initLoginCipher();r.querySelectorAllDirectChild(e,"String").forEach(function(e){var t=r.querySelectorDirectChild(e,"Value"),n=null!=t?t.textContent:null;if(!r.isNullOrWhitespace(n)){var i=r.querySelectorDirectChild(e,"Key"),s=null!=i?i.textContent:null;if("URL"===s)o.login.uris=r.makeUriArray(n);else if("UserName"===s)o.login.username=n;else if("Password"===s)o.login.password=n;else if("otp"===s)o.login.totp=n.replace("key=","");else if("Title"===s)o.name=n;else if("Notes"===s)o.notes+=n+"\n";else{var l=a.FieldType.Text,c=t.attributes;c.length>0&&null!=c.ProtectInMemory&&"True"===c.ProtectInMemory.value&&(l=a.FieldType.Hidden),r.processKvp(o,s,n,l)}}}),r.cleanupCipher(o),r.result.ciphers.push(o),t||r.result.folderRelationships.push([n,i])}),this.querySelectorAllDirectChild(e,"Group").forEach(function(e){r.traverse(e,!1,o)})},t}(o.BaseImporter);t.KeePass2XmlImporter=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!t.isNullOrWhitespace(e.Title)){e.Group=!t.isNullOrWhitespace(e.Group)&&e.Group.startsWith("Root/")?e.Group.replace("Root/",""):e.Group;var r=t.isNullOrWhitespace(e.Group)?null:e.Group;t.processFolder(n,r);var i=t.initLoginCipher();i.notes=t.getValueOrDefault(e.Notes),i.name=t.getValueOrDefault(e.Title,"--"),i.login.username=t.getValueOrDefault(e.Username),i.login.password=t.getValueOrDefault(e.Password),i.login.uris=t.makeUriArray(e.URL),t.cleanupCipher(i),n.ciphers.push(i)}}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.KeePassXCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!(e.length<6)){t.processFolder(n,e[0]);var r=t.initLoginCipher();if(r.notes=t.getValueOrDefault(e[5])+"\n",r.name=t.getValueOrDefault(e[1],"--"),r.login.username=t.getValueOrDefault(e[2]),r.login.password=t.getValueOrDefault(e[3]),r.login.uris=t.makeUriArray(e[4]),e.length>7)for(var i=7;i-1){var n=e.ccexp.split("-");n.length>1&&(t.expYear=n[0],t.expMonth=n[1],2===t.expMonth.length&&"0"===t.expMonth[0]&&(t.expMonth=t.expMonth[1]))}return t},t.prototype.parseIdentity=function(e){var t=new p.IdentityView;return t.title=this.getValueOrDefault(e.title),t.firstName=this.getValueOrDefault(e.firstname),t.middleName=this.getValueOrDefault(e.middlename),t.lastName=this.getValueOrDefault(e.lastname),t.username=this.getValueOrDefault(e.username),t.company=this.getValueOrDefault(e.company),t.ssn=this.getValueOrDefault(e.ssn),t.address1=this.getValueOrDefault(e.address1),t.address2=this.getValueOrDefault(e.address2),t.address3=this.getValueOrDefault(e.address3),t.city=this.getValueOrDefault(e.city),t.state=this.getValueOrDefault(e.state),t.postalCode=this.getValueOrDefault(e.zip),t.country=this.getValueOrDefault(e.country),t.email=this.getValueOrDefault(e.email),t.phone=this.getValueOrDefault(e.phone),this.isNullOrWhitespace(t.title)||(t.title=t.title.charAt(0).toUpperCase()+t.title.slice(1)),t},t.prototype.parseSecureNote=function(e,t){var n=this.splitNewLine(e.extra),r=!1;if(n.length){var i=n[0].split(":");if(i.length>1&&"NoteType"===i[0]&&("Credit Card"===i[1]||"Address"===i[1])){if("Credit Card"===i[1]){var o=this.parseSecureNoteMapping(t,n,{Number:"number","Name on Card":"cardholderName","Security Code":"code","Expiration Date":"expMonth"});if(this.isNullOrWhitespace(o.expMonth)||","===o.expMonth)o.expMonth=void 0;else{var a=o.expMonth.split(","),s=a[0],l=a[1];if(this.isNullOrWhitespace(s))o.expMonth=void 0;else{var c=new Date(Date.parse(s.trim()+" 1, 2012")).getMonth()+1;isNaN(c)?o.expMonth=void 0:o.expMonth=c.toString()}this.isNullOrWhitespace(l)||(o.expYear=l)}t.type=m.CipherType.Card,t.card=o}else if("Address"===i[1]){o=this.parseSecureNoteMapping(t,n,{Title:"title","First Name":"firstName","Last Name":"lastName","Middle Name":"middleName",Company:"company","Address 1":"address1","Address 2":"address2","Address 3":"address3","City / Town":"city",State:"state","Zip / Postal Code":"postalCode",Country:"country","Email Address":"email",Username:"username"});t.type=m.CipherType.Identity,t.identity=o}r=!0}}r||(t.secureNote=new d.SecureNoteView,t.secureNote.type=h.SecureNoteType.Generic,t.notes=this.getValueOrDefault(e.extra))},t.prototype.parseSecureNoteMapping=function(e,t,n){var r=this,i={},o=!1;return t.forEach(function(t){var a=null,s=null;if(!o){if(r.isNullOrWhitespace(t))return;var l=t.indexOf(":");if(-1===l?a=t:(a=t.substring(0,l),t.length>l&&(s=t.substring(l+1))),r.isNullOrWhitespace(a)||r.isNullOrWhitespace(s)||"NoteType"===a)return}o?e.notes+="\n"+t:"Notes"===a?(r.isNullOrWhitespace(e.notes)?e.notes=s:e.notes+="\n"+s,o=!0):n.hasOwnProperty(a)?i[n[a]]=s:r.processKvp(e,a,s)}),i},t}(o.BaseImporter);t.LastPassCsvImporter=f},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!(e.length<4)){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e[0],"--"),r.login.username=t.getValueOrDefault(e[2]),r.login.password=t.getValueOrDefault(e[3]),r.login.uris=t.makeUriArray(e[1]),t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.LogMeOnceCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.DisplayName,"--"),r.notes=t.getValueOrDefault(e.Notes),r.login.username=t.getValueOrDefault(e.UserName),r.login.password=t.getValueOrDefault(e.Password),r.login.uris=t.makeUriArray(e.Url),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.MeldiumCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(40),l=n(112),c=n(94),p=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!(e.length<3)){var r="Unassigned"!==t.getValueOrDefault(e[0],"Unassigned")?e[0]:null;t.processFolder(n,r);var i=t.initLoginCipher();if(i.name=t.getValueOrDefault(e[2],"--"),"Web Logins"===e[1]||"Login"===e[1])i.login.uris=t.makeUriArray(e[4]),i.login.username=t.getValueOrDefault(e[5]),i.login.password=t.getValueOrDefault(e[6]),i.notes=t.isNullOrWhitespace(e[3])?null:e[3].split("\\n").join("\n");else if(e.length>3){i.type=s.CipherType.SecureNote,i.secureNote=new c.SecureNoteView,i.secureNote.type=l.SecureNoteType.Generic;for(var o=3;o0&&(t.login.uris=this.makeUriArray(r))}null!=e.secureContents.fields&&this.parseFields(e.secureContents.fields,t,"designation","value","name"),null!=e.secureContents.sections&&e.secureContents.sections.forEach(function(e){null!=e.fields&&n.parseFields(e.fields,t,"n","v","t")})}},t.prototype.parsePasswordHistory=function(e,t){var n=this,r=e.length>5?5:e.length;t.passwordHistory=e.filter(function(e){return!n.isNullOrWhitespace(e.value)&&null!=e.time}).sort(function(e,t){return t.time-e.time}).slice(0,r).map(function(e){var t=new c.PasswordHistoryView;return t.password=e.value,t.lastUsedDate=new Date((""+e.time).length>=13?e.time:1e3*e.time),t})},t.prototype.parseFields=function(e,t,n,r,i){var o=this;e.forEach(function(e){if(null!=e[r]&&""!==e[r].toString().trim()){var a=e[r].toString(),s=null!=e[n]?e[n].toString():null;if(t.type===u.CipherType.Login){if(o.isNullOrWhitespace(t.login.username)&&"username"===s)return void(t.login.username=a);if(o.isNullOrWhitespace(t.login.password)&&"password"===s)return void(t.login.password=a);if(o.isNullOrWhitespace(t.login.totp)&&null!=s&&s.startsWith("TOTP_"))return void(t.login.totp=a)}else if(t.type===u.CipherType.Card){if(o.isNullOrWhitespace(t.card.number)&&"ccnum"===s)return t.card.number=a,void(t.card.brand=o.getCardBrand(a));if(o.isNullOrWhitespace(t.card.code)&&"cvv"===s)return void(t.card.code=a);if(o.isNullOrWhitespace(t.card.cardholderName)&&"cardholder"===s)return void(t.card.cardholderName=a);if(o.isNullOrWhitespace(t.card.expiration)&&"expiry"===s&&6===a.length)return t.card.expMonth=a.substr(4,2),"0"===t.card.expMonth[0]&&(t.card.expMonth=t.card.expMonth.substr(1,1)),void(t.card.expYear=a.substr(0,4));if("type"===s)return}else if(t.type===u.CipherType.Identity){var l=t.identity;if(o.isNullOrWhitespace(l.firstName)&&"firstname"===s)return void(l.firstName=a);if(o.isNullOrWhitespace(l.lastName)&&"lastname"===s)return void(l.lastName=a);if(o.isNullOrWhitespace(l.middleName)&&"initial"===s)return void(l.middleName=a);if(o.isNullOrWhitespace(l.phone)&&"defphone"===s)return void(l.phone=a);if(o.isNullOrWhitespace(l.company)&&"company"===s)return void(l.company=a);if(o.isNullOrWhitespace(l.email)&&"email"===s)return void(l.email=a);if(o.isNullOrWhitespace(l.username)&&"username"===s)return void(l.username=a);if("address"===s){var c=e[r],p=c.street,m=c.city,h=c.country,f=c.zip;return l.address1=o.getValueOrDefault(p),l.city=o.getValueOrDefault(m),o.isNullOrWhitespace(h)||(l.country=h.toUpperCase()),void(l.postalCode=o.getValueOrDefault(f))}}var v=o.isNullOrWhitespace(e[i])?"no_name":e[i];if("password"!==v||null==t.passwordHistory||!t.passwordHistory.some(function(e){return e.password===a})){var y="concealed"===e.k?d.FieldType.Hidden:d.FieldType.Text;o.processKvp(t,v,a,y)}}})},t}(o.BaseImporter);t.OnePassword1PifImporter=h},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(708),a=n(40),s=n(709),l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.setCipherType=function(e,t){switch(this.getValueOrDefault(this.getProp(e,"type"),"Login")){case"Credit Card":t.type=a.CipherType.Card,t.card=new s.CardView,o.IgnoredProperties.push("type");break;case"Identity":t.type=a.CipherType.Identity,t.identity=new s.IdentityView,o.IgnoredProperties.push("type");break;case"Login":case"Secure Note":o.IgnoredProperties.push("type")}},t}(o.OnePasswordCsvImporter);t.OnePasswordMacCsvImporter=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t,n){this.importRecord=e,this.property=t,this.cipher=n,this.lowerProperty=t.toLowerCase()}}();t.CipherImportContext=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.View=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(708),a=n(40),s=n(709),l=function(e){function t(){var t=e.call(this)||this;return t.identityPropertyParsers.push(t.setIdentityAddress),t}return i(t,e),t.prototype.setCipherType=function(e,t){t.type=a.CipherType.Login,t.login=new s.LoginView,this.isNullOrWhitespace(this.getPropByRegexp(e,/\d+: number/i))||this.isNullOrWhitespace(this.getPropByRegexp(e,/\d+: expiry date/i))||(t.type=a.CipherType.Card,t.card=new s.CardView),this.isNullOrWhitespace(this.getPropByRegexp(e,/name \d+: first name/i))&&this.isNullOrWhitespace(this.getPropByRegexp(e,/name \d+: initial/i))&&this.isNullOrWhitespace(this.getPropByRegexp(e,/name \d+: last name/i))&&this.isNullOrWhitespace(this.getPropByRegexp(e,/internet \d+: email/i))||(t.type=a.CipherType.Identity,t.identity=new s.IdentityView)},t.prototype.setIdentityAddress=function(e){return!!e.lowerProperty.match(/address \d+: address/i)&&(this.processKvp(e.cipher,"address",e.importRecord[e.property]),!0)},t.prototype.setCreditCardExpiry=function(e){if(this.isNullOrWhitespace(e.cipher.card.expiration)&&e.lowerProperty.includes("expiry date")){var t=e.importRecord[e.property].split("/");return e.cipher.card.expMonth=t[0],"0"===e.cipher.card.expMonth[0]&&2===e.cipher.card.expMonth.length&&(e.cipher.card.expMonth=e.cipher.card.expMonth.substr(1,1)),e.cipher.card.expYear=t[2].length>4?t[2].substr(0,4):t[2],!0}return!1},t}(o.OnePasswordCsvImporter);t.OnePasswordWinCsvImporter=l},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(157),l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);if(null==r)return n.success=!1,Promise.resolve(n);var i=null;return r.forEach(function(e){if(null!=i){if(!(e.length<2||e.length!==i.length)){if(!t.isNullOrWhitespace(e[1]))if(t.organization){(r=e[1].split(",")).forEach(function(e){e=e.trim();for(var t=!0,r=n.collections.length,i=0;i0?r[0].trim():null;t.processFolder(n,o)}var a=t.initLoginCipher();a.name=t.getValueOrDefault(e[0],"--");for(var l=2;l-1?a.login.username=e[l]:t.passwordFieldNames.indexOf(c)>-1?a.login.password=e[l]:t.uriFieldNames.indexOf(c)>-1?a.login.uris=t.makeUriArray(e[l]):t.processKvp(a,i[l],e[l]))}t.cleanupCipher(a),n.ciphers.push(a)}}else i=e.map(function(e){return e})}),n.success=!0,Promise.resolve(n)},t}(o.BaseImporter);t.PadlockCsvImporter=l},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){t.processFolder(n,t.getValue("category",e));var r=t.initLoginCipher();r.notes=t.getValue("description",e),r.name=t.getValueOrDefault(t.getValue("title",e),"--"),r.login.username=t.getValue("username",e),r.login.password=t.getValue("password",e),r.login.uris=t.makeUriArray(t.getValue("site",e)),t.processKvp(r,"Password 2",t.getValue("password2",e)),t.cleanupCipher(r),n.ciphers.push(r)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n))},t.prototype.getValue=function(e,t){return this.getValueOrDefault(t[e],this.getValueOrDefault(t[" "+e]))},t}(o.BaseImporter);t.PassKeepCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=JSON.parse(e);return null==r||0===r.length?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(null!=e.tags&&e.tags.length>0){var r=e.tags[0].text;t.processFolder(n,r)}var i=t.initLoginCipher();i.name=e.label,i.login.username=t.getValueOrDefault(e.username),t.isNullOrWhitespace(i.login.username)?i.login.username=t.getValueOrDefault(e.email):t.isNullOrWhitespace(e.email)||(i.notes="Email: "+e.email+"\n"),i.login.password=t.getValueOrDefault(e.password),i.login.uris=t.makeUriArray(e.url),i.notes+=t.getValueOrDefault(e.description,""),null!=e.otp&&(i.login.totp=t.getValueOrDefault(e.otp.secret)),null!=e.custom_fields&&e.custom_fields.forEach(function(e){switch(e.field_type){case"text":case"password":t.processKvp(i,e.label,e.value)}}),t.convertToNoteIfNeeded(i),t.cleanupCipher(i),n.ciphers.push(i)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.PassmanJsonImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(157),l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.isNullOrWhitespace(e.Tags)?null:JSON.parse(e.Tags),i=null!=r&&null!=r.tags&&r.tags.length>0?r.tags.map(function(e){try{var n=JSON.parse(e);return t.getValueOrDefault(n.tag)}catch(r){}return null}).filter(function(e){return!t.isNullOrWhitespace(e)}):null;t.organization&&null!=i&&i.length>0?i.forEach(function(e){for(var t=!0,r=n.collections.length,i=0;i0&&t.processFolder(n,i[0]);var o=t.initLoginCipher();o.notes=t.getValueOrDefault(e.Notes,""),o.notes+="\n\n"+t.getValueOrDefault(e["Shared Notes"],"")+"\n",o.name=t.getValueOrDefault(e["Entry Name"],"--"),o.login.username=t.getValueOrDefault(e["User ID"]),o.login.password=t.getValueOrDefault(e.Password),o.login.uris=t.makeUriArray(e.URL),null!=e.__parsed_extra&&e.__parsed_extra.length>0&&e.__parsed_extra.forEach(function(e){t.isNullOrWhitespace(e)||(o.notes+="\n"+e)});var a=t.isNullOrWhitespace(e["Extra Fields"])?null:JSON.parse(e["Extra Fields"]),l=null!=a&&null!=a.extraFields&&a.extraFields.length>0?a.extraFields.map(function(e){try{return JSON.parse(e)}catch(t){}return null}):null;null!=l&&l.forEach(function(e){null!=e&&t.processKvp(o,e.name,e.data)}),t.cleanupCipher(o),n.ciphers.push(o)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.PasspackCsvImporter=l},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);if(null==r)return n.success=!1,Promise.resolve(n);var i=!0;return r.forEach(function(e){if(!(5!==e.length&&e.length<9)){var r=10===e.length&&"0"===e[0],o=t.initLoginCipher();if(o.name=t.getValueOrDefault(e[r?1:0],"--"),o.login.username=t.getValueOrDefault(e[r?2:1]),o.login.password=t.getValueOrDefault(e[r?3:2]),5===e.length)i=!1,o.notes=t.getValueOrDefault(e[4]),o.login.uris=t.makeUriArray(e[3]);else{var a=t.getValueOrDefault(e[r?9:8],"(None)"),s="(None)"!==a?a.split("\\").join("/"):null;null!=s&&(s=a.split(" > ").join("/"),s=a.split(">").join("/")),t.processFolder(n,s),o.notes=t.getValueOrDefault(e[r?5:3]),o.login.uris=t.makeUriArray(e[4])}t.convertToNoteIfNeeded(o),t.cleanupCipher(o),n.ciphers.push(o)}}),i&&this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n)},t}(o.BaseImporter);t.PasswordAgentCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(89),l=n(129),c=n(40),p=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=JSON.parse(e);if(null==r||null==r.items)return n.success=!1,Promise.resolve(n);var i=new Map;r.folders.forEach(function(e){i.set(e.id,e.name)});var o=new Map;return i.forEach(function(e,t){o.set(t,n.folders.length);var r=new l.FolderView;r.name=e,n.folders.push(r)}),r.items.forEach(function(e){var r=t.initLoginCipher();if(r.name=t.getValueOrDefault(e.name,"--"),r.login.uris=t.makeUriArray(e.login_url),null!=e.folder&&o.has(e.folder)&&n.folderRelationships.push([n.ciphers.length,o.get(e.folder)]),null!=e.identifiers){for(var i in t.isNullOrWhitespace(e.identifiers.notes)||(r.notes=e.identifiers.notes.split("\\r\\n").join("\n").split("\\n").join("\n")),"CreditCard"===e.type&&(r.card=new s.CardView,r.type=c.CipherType.Card),e.identifiers)if(e.identifiers.hasOwnProperty(i)){var a=e.identifiers[i],l=null!=a?a.toString():null;if(!t.isNullOrWhitespace(l)&&"notes"!==i&&"ignoreItemInSecurityScore"!==i)if("custom_fields"!==i){if(r.type===c.CipherType.Card){if("cardNumber"===i){r.card.number=l,r.card.brand=t.getCardBrand(l);continue}if("nameOnCard"===i){r.card.cardholderName=l;continue}if("security_code"===i){r.card.code=l;continue}if("expires"===i){try{var p=new Date(l);r.card.expYear=p.getFullYear().toString(),r.card.expMonth=(p.getMonth()+1).toString()}catch(u){}continue}if("cardType"===i)continue}else{if(("username"===i||"email"===i)&&t.isNullOrWhitespace(r.login.username)){r.login.username=l;continue}if("password"===i){r.login.password=l;continue}if("totp"===i){r.login.totp=l;continue}if((null==r.login.uris||0===r.login.uris.length)&&t.uriFieldNames.indexOf(i)>-1){r.login.uris=t.makeUriArray(l);continue}}t.processKvp(r,i,l)}else a.forEach(function(e){t.processKvp(r,e.name,e.value)})}t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,Promise.resolve(n)},t}(o.BaseImporter);t.PasswordBossJsonImporter=p},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseXml(e);if(null==r)return n.success=!1,Promise.resolve(n);var i=r.querySelectorAll("PasswordManager > record");return Array.from(i).forEach(function(e){var r=t.querySelectorDirectChild(e,"Category"),i=null==r||t.isNullOrWhitespace(r.textContent)||"Unfiled"===r.textContent?null:r.textContent;t.processFolder(n,i);var o=t.querySelectorDirectChild(e,"Account-Name"),a=t.querySelectorDirectChild(e,"User-Id"),s=t.querySelectorDirectChild(e,"Password"),l=t.querySelectorDirectChild(e,"URL"),c=t.querySelectorDirectChild(e,"Notes"),p=t.initLoginCipher();p.name=null!=o?t.getValueOrDefault(o.textContent,"--"):"--",p.notes=null!=c?t.getValueOrDefault(c.textContent):"",p.login.username=null!=a?t.getValueOrDefault(a.textContent):null,p.login.password=null!=s?t.getValueOrDefault(s.textContent):null,p.login.uris=null!=l?t.makeUriArray(l.textContent):null;for(var u=[],d=1;d<=10;d++)u.push("Attribute-"+d);t.querySelectorAllDirectChild(e,u.join(",")).forEach(function(e){t.isNullOrWhitespace(e.textContent)||"null"===e.textContent||t.processKvp(p,e.tagName,e.textContent)}),t.cleanupCipher(p),n.ciphers.push(p)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n)},t}(o.BaseImporter);t.PasswordDragonXmlImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseXml(e);if(null==r)return n.success=!1,Promise.resolve(n);var i=r.querySelector("passwordsafe");if(null==i)return n.errorMessage="Missing `passwordsafe` node.",n.success=!1,Promise.resolve(n);var o=i.getAttribute("delimiter"),s=r.querySelectorAll("passwordsafe > entry");return Array.from(s).forEach(function(e){var r=t.querySelectorDirectChild(e,"group"),i=null==r||t.isNullOrWhitespace(r.textContent)?null:r.textContent.split(".").join("/");t.processFolder(n,i);var a=t.querySelectorDirectChild(e,"title"),s=t.querySelectorDirectChild(e,"username"),l=t.querySelectorDirectChild(e,"email"),c=t.querySelectorDirectChild(e,"password"),p=t.querySelectorDirectChild(e,"url"),u=t.querySelectorDirectChild(e,"notes"),d=t.initLoginCipher();d.name=null!=a?t.getValueOrDefault(a.textContent,"--"):"--",d.notes=null!=u?t.getValueOrDefault(u.textContent,"").split(o).join("\n"):null,d.login.username=null!=s?t.getValueOrDefault(s.textContent):null,d.login.password=null!=c?t.getValueOrDefault(c.textContent):null,d.login.uris=null!=p?t.makeUriArray(p.textContent):null,t.isNullOrWhitespace(d.login.username)&&null!=l?d.login.username=t.getValueOrDefault(l.textContent):null==l||t.isNullOrWhitespace(l.textContent)||(d.notes=t.isNullOrWhitespace(d.notes)?"Email: "+l.textContent:d.notes+"\nEmail: "+l.textContent),t.cleanupCipher(d),n.ciphers.push(d)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n)},t}(o.BaseImporter);t.PasswordSafeXmlImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!(e.length<1)){e.length>5&&t.processFolder(n,e[5]);var r=t.initLoginCipher();r.name=t.getValueOrDefault(e[0],"--"),e.length>4&&(r.notes=t.getValueOrDefault(e[4],"").split("¬").join("\n")),e.length>2&&(r.login.username=t.getValueOrDefault(e[2])),e.length>3&&(r.login.password=t.getValueOrDefault(e[3])),e.length>1&&(r.login.uris=t.makeUriArray(e[1])),t.cleanupCipher(r),n.ciphers.push(r)}}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.PasswordWalletTxtImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(40),s=n(27),l=n(89),c=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new s.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if("true"!==e.trash){var r=t.initLoginCipher();if(r.name=t.getValueOrDefault(e.name),r.notes=t.getValueOrDefault(e.notes),"LoginItem"===e.type)r.login.uris=t.makeUriArray(e.website),r.login.password=t.getValueOrDefault(e.password),r.login.username=t.getValueOrDefault(e.username);else if("CreditCardItem"===e.type){r.type=a.CipherType.Card,r.card=new l.CardView,r.card.cardholderName=t.getValueOrDefault(e.cardholder),r.card.number=t.getValueOrDefault(e.number),r.card.brand=t.getCardBrand(r.card.number),r.card.code=t.getValueOrDefault(e.verification);try{var i=t.getValueOrDefault(e.expiryMonth);if(null!=i){var o=parseInt(i,null);null!=o&&o>=1&&o<=12&&(r.card.expMonth=o.toString())}}catch(d){}try{var s=t.getValueOrDefault(e.expiryYear);if(null!=s){var c=parseInt(s,null);null!=c&&(r.card.expYear=c.toString())}}catch(m){}var p=t.getValueOrDefault(e.pin);null!=p&&t.processKvp(r,"PIN",p);var u=t.getValueOrDefault(e.zipCode);null!=u&&t.processKvp(r,"Zip Code",u)}t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.RememBearCsvImporter=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);if(null==r)return n.success=!1,Promise.resolve(n);var i=1;return r.forEach(function(e){var o=!t.isNullOrWhitespace(e.Folder)&&e.Folder.startsWith("/")?e.Folder.replace("/",""):e.Folder,a=t.isNullOrWhitespace(o)?null:o;t.processFolder(n,a);var s=t.initLoginCipher();if(s.notes=t.getValueOrDefault(e.Note),s.name=t.getValueOrDefault(e.Name,"--"),s.login.username=t.getValueOrDefault(e.Login),s.login.password=t.getValueOrDefault(e.Pwd),s.login.uris=t.makeUriArray(e.Url),!t.isNullOrWhitespace(e.Rf_fields)){var l=[e.Rf_fields];null!=e.__parsed_extra&&e.__parsed_extra.length>0&&(l=l.concat(e.__parsed_extra)),l.forEach(function(e){var n=e.split(":");if(!(n.length<3)){var r="-no-name-"===n[0]?null:n[0],i=4===n.length&&"rck"===n[2]?n[1]:n[2];t.processKvp(s,r,i)}})}t.convertToNoteIfNeeded(s),t.cleanupCipher(s),i===r.length&&"--"===s.name&&t.isNullOrWhitespace(s.login.password)||(n.ciphers.push(s),i++)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n)},t}(o.BaseImporter);t.RoboFormCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(129),l=n(94),c=n(40),p=n(112),u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseXml(e);if(null==r)return n.success=!1,Promise.resolve(n);if(null==r.querySelector("database"))return n.errorMessage="Missing `database` node.",n.success=!1,Promise.resolve(n);var i=new Map;return Array.from(r.querySelectorAll("database > label")).forEach(function(e){var r=e.getAttribute("name"),o=e.getAttribute("id");if(!t.isNullOrWhitespace(r)&&!t.isNullOrWhitespace(o)){i.set(o,n.folders.length);var a=new s.FolderView;a.name=r,n.folders.push(a)}}),Array.from(r.querySelectorAll("database > card")).forEach(function(e){if("true"!==e.getAttribute("template")){var r=t.querySelectorDirectChild(e,"label_id");if(null!=r){var o=r.textContent;!t.isNullOrWhitespace(o)&&i.has(o)&&n.folderRelationships.push([n.ciphers.length,i.get(o)])}var a=t.initLoginCipher();a.name=t.getValueOrDefault(e.getAttribute("title"),"--"),"note"===e.getAttribute("type")?(a.type=c.CipherType.SecureNote,a.secureNote=new l.SecureNoteView,a.secureNote.type=p.SecureNoteType.Generic):Array.from(t.querySelectorAllDirectChild(e,"field")).forEach(function(e){var n=e.textContent;if(!t.isNullOrWhitespace(n)){var r=e.getAttribute("name"),i=t.getValueOrDefault(e.getAttribute("type"),"").toLowerCase();"login"===i?a.login.username=n:"password"===i?a.login.password=n:"one_time_password"===i?a.login.totp=n:"notes"===i?a.notes+=n+"\n":"weblogin"===i||"website"===i?a.login.uris=t.makeUriArray(n):t.processKvp(a,r,n)}}),Array.from(t.querySelectorAllDirectChild(e,"notes")).forEach(function(e){a.notes+=e.textContent+"\n"}),t.cleanupCipher(a),n.ciphers.push(a)}}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n)},t}(o.BaseImporter);t.SafeInCloudXmlImporter=u},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(t.nameFromUrl(e.url),"--"),r.notes=t.getValueOrDefault(e.notes),r.login.username=t.getValueOrDefault(e.username),r.login.password=t.getValueOrDefault(e.password),r.login.uris=t.makeUriArray(e.url),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.SaferPassCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.Title),r.notes=t.getValueOrDefault(e.Comment),r.login.uris=t.makeUriArray(e.Url),r.login.password=t.getValueOrDefault(e.Password),r.login.username=t.getValueOrDefault(e.Username),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.SecureSafeCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!(e.length<3)){t.processFolder(n,t.getValueOrDefault(e[e.length-1]));var r=t.initLoginCipher();r.notes=t.getValueOrDefault(e[e.length-2],""),r.name=t.getValueOrDefault(e[1],"--"),"Web Logins"===e[0]||"Servers"===e[0]||"Email Accounts"===e[0]?(r.login.username=t.getValueOrDefault(e[2]),r.login.password=t.getValueOrDefault(e[3]),r.login.uris=t.makeUriArray(e[4]),t.parseFieldsToNotes(r,5,e)):t.parseFieldsToNotes(r,2,e),t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n))},t.prototype.parseFieldsToNotes=function(e,t,n){for(var r=t;r Database > Logins > Login");return Array.from(i).forEach(function(e){var i=e.getAttribute("ID");if(!t.isNullOrWhitespace(i)){var o=e.getAttribute("Name"),a=e.getAttribute("Password"),s=null,l=null,c=null,p=null,u=null,d=r.querySelector('root > Database > Accounts > Account > LoginLinks > Login[SourceLoginID="'+i+'"]');if(null!=d){var m=d.parentElement.parentElement;null!=m&&(s=m.getAttribute("Name"),l=m.getAttribute("Link"),p=m.getAttribute("ParentID"),c=m.getAttribute("Comments"),t.isNullOrWhitespace(c)||(c=c.split("/n").join("\n")))}t.isNullOrWhitespace(p)||(u=t.buildGroupText(r,p,""),t.processFolder(n,u));var h=t.initLoginCipher();h.name=t.getValueOrDefault(s,"--"),h.notes=t.getValueOrDefault(c),h.login.username=t.getValueOrDefault(o),h.login.password=t.getValueOrDefault(a),h.login.uris=t.makeUriArray(l),t.cleanupCipher(h),n.ciphers.push(h)}}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n)},t.prototype.buildGroupText=function(e,t,n){var r=e.querySelector('root > Database > Groups > Group[ID="'+t+'"]');return null==r?n:(this.isNullOrWhitespace(n)||(n="/"+n),n=r.getAttribute("Name")+n,this.buildGroupText(e,r.getAttribute("ParentID"),n))},t}(o.BaseImporter);t.StickyPasswordXmlImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=n(89),l=n(94),c=n(40),p=n(112),u=["kind","autologin","favorite","hexcolor","protectedwithpassword","subdomainonly","type","tk_export_version","note","title","document_content"],d=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();if(r.favorite="true"===t.getValueOrDefault(e.favorite,"").toLowerCase(),r.name=t.getValueOrDefault(e.name,"--"),r.notes=t.getValueOrDefault(e.memo,""),r.login.username=t.getValueOrDefault(e.login),r.login.password=t.getValueOrDefault(e.password),r.login.uris=t.makeUriArray(e.url),"login"!==e.kind&&(r.name=t.getValueOrDefault(e.title,"--"),r.notes=t.getValueOrDefault(e.note,"")),"cc"===e.kind){if(r.type=c.CipherType.Card,r.card=new s.CardView,r.card.cardholderName=t.getValueOrDefault(e.cardholder),r.card.number=t.getValueOrDefault(e.number),r.card.brand=t.getCardBrand(r.card.number),!t.isNullOrWhitespace(e.expiryDate))try{var i=new Date(e.expiryDate);r.card.expYear=i.getFullYear().toString(),r.card.expMonth=(i.getMonth()+1).toString()}catch(a){}}else if("login"!==e.kind)for(var o in r.type=c.CipherType.SecureNote,r.secureNote=new l.SecureNoteView,r.secureNote.type=p.SecureNoteType.Generic,t.isNullOrWhitespace(r.notes)||(r.notes=t.getValueOrDefault(e.document_content,"")),e)e.hasOwnProperty(o)&&u.indexOf(o.toLowerCase())<0&&!t.isNullOrWhitespace(e[o])&&t.processKvp(r,o,e[o]);t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.TrueKeyCsvImporter=d},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(5===e.length){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e[0],"--"),r.notes=t.getValueOrDefault(e[4]),r.login.username=t.getValueOrDefault(e[1]),r.login.password=t.getValueOrDefault(e[2]),r.login.uris=t.makeUriArray(e[3]),t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.UpmCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.Name,"--"),r.login.username=t.getValueOrDefault(e["User name"]),r.login.password=t.getValueOrDefault(e.Password),r.login.uris=t.makeUriArray(e.URL),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,Promise.resolve(n))},t}(o.BaseImporter);t.YotiCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(26),a=n(27),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,Promise.resolve(n)):(r.forEach(function(e){if(!t.isNullOrWhitespace(e["Password Name"])||!t.isNullOrWhitespace(e["Secret Name"])){t.processFolder(n,t.getValueOrDefault(e.ChamberName));var r=t.initLoginCipher();r.favorite="1"===t.getValueOrDefault(e.Favorite,"0"),r.notes=t.getValueOrDefault(e.Notes),r.name=t.getValueOrDefault(e["Password Name"],t.getValueOrDefault(e["Secret Name"],"--")),r.login.uris=t.makeUriArray(t.getValueOrDefault(e["Password URL"],t.getValueOrDefault(e["Secret URL"]))),t.parseData(r,e.SecretData),t.parseData(r,e.CustomData),t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,Promise.resolve(n))},t.prototype.parseData=function(e,t){var n=this;this.isNullOrWhitespace(t)||this.splitNewLine(t).forEach(function(t){var r=t.indexOf(":");if(!(r<0)){var i=t.substring(0,r),o=t.length>r?t.substring(r+1):null;if(!n.isNullOrWhitespace(i)&&!n.isNullOrWhitespace(o)&&"SecretType"!==i){var a=i.toLowerCase();null==e.login.username&&n.usernameFieldNames.indexOf(a)>-1?e.login.username=o:null==e.login.password&&n.passwordFieldNames.indexOf(a)>-1?e.login.password=o:n.processKvp(e,i,o)}}})},t}(o.BaseImporter);t.ZohoVaultCsvImporter=s},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]t.minComplexity&&(t.minComplexity=e.data.minComplexity),null!=e.data.minLength&&e.data.minLength>t.minLength&&(t.minLength=e.data.minLength),e.data.requireUpper&&(t.requireUpper=!0),e.data.requireLower&&(t.requireLower=!0),e.data.requireNumbers&&(t.requireNumbers=!0),e.data.requireSpecial&&(t.requireSpecial=!0))}),[2,t])}})})},e.prototype.evaluateMasterPassword=function(e,t,n){return null==n||!(n.minComplexity>0&&n.minComplexity>e)&&(!(n.minLength>0&&n.minLength>t.length)&&((!n.requireUpper||t.toLocaleLowerCase()!==t)&&((!n.requireLower||t.toLocaleUpperCase()!==t)&&(!(n.requireNumbers&&!/[0-9]/.test(t))&&!(n.requireSpecial&&!/[!@#$%\^&*]/g.test(t))))))},e}();t.PolicyService=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.minComplexity=0,t.minLength=0,t.requireUpper=!1,t.requireLower=!1,t.requireNumbers=!1,t.requireSpecial=!1,t}return i(t,e),t}(n(81).default);t.MasterPasswordPolicyOptions=o},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]"))},e.prototype.indexCiphers=function(){return r(this,void 0,void 0,function(){var e,t=this;return i(this,function(n){switch(n.label){case 0:return this.indexing?[2]:(this.logService.time("search indexing"),this.indexing=!0,this.index=null,(e=new o.Builder).ref("id"),e.field("shortid",{boost:100,extractor:function(e){return e.id.substr(0,8)}}),e.field("name",{boost:10}),e.field("subtitle",{boost:5,extractor:function(e){return null!=e.subTitle&&e.type===a.CipherType.Card?e.subTitle.replace(/\*/g,""):e.subTitle}}),e.field("notes"),e.field("login.username",{extractor:function(e){return e.type===a.CipherType.Login&&null!=e.login?e.login.username:null}}),e.field("login.uris",{boost:2,extractor:function(e){return t.uriExtractor(e)}}),e.field("fields",{extractor:function(e){return t.fieldExtractor(e,!1)}}),e.field("fields_joined",{extractor:function(e){return t.fieldExtractor(e,!0)}}),e.field("attachments",{extractor:function(e){return t.attachmentExtractor(e,!1)}}),e.field("attachments_joined",{extractor:function(e){return t.attachmentExtractor(e,!0)}}),e.field("organizationid",{extractor:function(e){return e.organizationId}}),[4,this.cipherService.getAllDecrypted()]);case 1:return n.sent().forEach(function(t){return e.add(t)}),this.index=e.build(),this.indexing=!1,this.logService.timeEnd("search indexing"),[2]}})})},e.prototype.searchCiphers=function(e,t,n){return void 0===t&&(t=null),void 0===n&&(n=null),r(this,void 0,void 0,function(){var r,a,s,l,c;return i(this,function(i){switch(i.label){case 0:return r=[],null!=e&&(e=e.trim().toLowerCase()),""===e&&(e=null),null!=n?[3,2]:[4,this.cipherService.getAllDecrypted()];case 1:n=i.sent(),i.label=2;case 2:return null!=t&&Array.isArray(t)&&t.length>0?n=n.filter(function(e){return t.every(function(t){return null==t||t(e)})}):null!=t&&(n=n.filter(t)),this.isSearchable(e)?this.indexing?[4,new Promise(function(e){return setTimeout(e,250)})]:[3,5]:[2,n];case 3:return i.sent(),this.indexing?[4,new Promise(function(e){return setTimeout(e,500)})]:[3,5];case 4:i.sent(),i.label=5;case 5:if(null==(a=this.getIndexForSearch()))return[2,this.searchCiphersBasic(n,e)];if(s=new Map,n.forEach(function(e){return s.set(e.id,e)}),l=null,null!=e&&e.length>1&&0===e.indexOf(">"))try{l=a.search(e.substr(1).trim())}catch(p){}else c=o.Query.wildcard.LEADING|o.Query.wildcard.TRAILING,l=a.query(function(t){o.tokenizer(e).forEach(function(e){var n=e.toString();t.term(n,{fields:["name"],wildcard:c}),t.term(n,{fields:["subtitle"],wildcard:c}),t.term(n,{fields:["login.uris"],wildcard:c}),t.term(n,{})})});return null!=l&&l.forEach(function(e){s.has(e.ref)&&r.push(s.get(e.ref))}),[2,r]}})})},e.prototype.searchCiphersBasic=function(e,t,n){return void 0===n&&(n=!1),t=t.trim().toLowerCase(),e.filter(function(e){return n===e.isDeleted&&(null!=e.name&&e.name.toLowerCase().indexOf(t)>-1||(!!(t.length>=8&&e.id.startsWith(t))||(null!=e.subTitle&&e.subTitle.toLowerCase().indexOf(t)>-1||!!(e.login&&null!=e.login.uri&&e.login.uri.toLowerCase().indexOf(t)>-1))))})},e.prototype.getIndexForSearch=function(){return this.index},e.prototype.fieldExtractor=function(e,t){if(!e.hasFields)return null;var n=[];return e.fields.forEach(function(e){null!=e.name&&n.push(e.name),e.type===s.FieldType.Text&&null!=e.value&&n.push(e.value)}),0===(n=n.filter(function(e){return""!==e.trim()})).length?null:t?n.join(" "):n},e.prototype.attachmentExtractor=function(e,t){if(!e.hasAttachments)return null;var n=[];return e.attachments.forEach(function(e){null!=e&&null!=e.fileName&&(t&&e.fileName.indexOf(".")>-1?n.push(e.fileName.substr(0,e.fileName.lastIndexOf("."))):n.push(e.fileName))}),0===(n=n.filter(function(e){return""!==e.trim()})).length?null:t?n.join(" "):n},e.prototype.uriExtractor=function(e){if(e.type!==a.CipherType.Login||null==e.login||!e.login.hasUris)return null;var t=[];return e.login.uris.forEach(function(e){if(null!=e.uri&&""!==e.uri)if(null==e.hostname){var n=e.uri;if(e.match!==l.UriMatchType.RegularExpression){var r=n.indexOf("://");r>-1&&(n=n.substr(r+3));var i=n.search(/\?|&|#/);i>-1&&(n=n.substring(0,i))}t.push(n)}else t.push(e.hostname)}),t.length>0?t:null},e}();t.SearchService=c},,function(e,t,n){"use strict";(function(e){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1||n.indexOf(" Version/9.")>-1)}return e.prototype.pbkdf2=function(e,t,n,s){return r(this,void 0,void 0,function(){var r,l,c,p,u,d,m,h,f;return i(this,function(i){switch(i.label){case 0:return this.isIE||this.isOldSafari?(r="sha256"===n?32:64,l=this.toByteString(e),c=this.toByteString(t),p=o.pbkdf2(l,c,s,r,n),[2,a.Utils.fromByteStringToArray(p).buffer]):(u="sha256"===n?256:512,d=this.toBuf(e),m=this.toBuf(t),h={name:"PBKDF2",salt:m,iterations:s,hash:{name:this.toWebCryptoAlgorithm(n)}},[4,this.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveBits"])]);case 1:return f=i.sent(),[4,this.subtle.deriveBits(h,f,u)];case 2:return[2,i.sent()]}})})},e.prototype.hkdf=function(e,t,n,o,a){return r(this,void 0,void 0,function(){var r,s,l,c;return i(this,function(i){switch(i.label){case 0:return r=this.toBuf(t),s=this.toBuf(n),l={name:"HKDF",salt:r,info:s,hash:{name:this.toWebCryptoAlgorithm(a)}},[4,this.subtle.importKey("raw",e,{name:"HKDF"},!1,["deriveBits"])];case 1:return c=i.sent(),[4,this.subtle.deriveBits(l,c,8*o)];case 2:return[2,i.sent()]}})})},e.prototype.hkdfExpand=function(e,t,n,o){return r(this,void 0,void 0,function(){var r,a,s,l,c,p,u,d,m,h;return i(this,function(i){switch(i.label){case 0:if(n>255*(r="sha256"===o?32:64))throw new Error("outputByteSize is too large.");if(new Uint8Array(e).length=n)return[3,4];i.label=3;case 3:return d++,[3,1];case 4:return[2,u.slice(0,n).buffer]}})})},e.prototype.hash=function(e,t){return r(this,void 0,void 0,function(){var n,r,s;return i(this,function(i){switch(i.label){case 0:return this.isIE&&"sha1"===t||"md5"===t?(n="md5"===t?o.md.md5.create():o.md.sha1.create(),r=this.toByteString(e),n.update(r,"raw"),[2,a.Utils.fromByteStringToArray(n.digest().data).buffer]):(s=this.toBuf(e),[4,this.subtle.digest({name:this.toWebCryptoAlgorithm(t)},s)]);case 1:return[2,i.sent()]}})})},e.prototype.hmac=function(e,t,n){return r(this,void 0,void 0,function(){var r,s,l,c,p;return i(this,function(i){switch(i.label){case 0:return this.isIE&&"sha512"===n?(r=o.hmac.create(),s=this.toByteString(t),l=this.toByteString(e),r.start(n,s),r.update(l,"raw"),[2,a.Utils.fromByteStringToArray(r.digest().data).buffer]):(c={name:"HMAC",hash:{name:this.toWebCryptoAlgorithm(n)}},[4,this.subtle.importKey("raw",t,c,!1,["sign"])]);case 1:return p=i.sent(),[4,this.subtle.sign(c,p,e)];case 2:return[2,i.sent()]}})})},e.prototype.compare=function(e,t){return r(this,void 0,void 0,function(){var n,r,o,a,s,l,c,p;return i(this,function(i){switch(i.label){case 0:return[4,this.randomBytes(32)];case 1:return n=i.sent(),r={name:"HMAC",hash:{name:"SHA-256"}},[4,this.subtle.importKey("raw",n,r,!1,["sign"])];case 2:return o=i.sent(),[4,this.subtle.sign(r,o,e)];case 3:return a=i.sent(),[4,this.subtle.sign(r,o,t)];case 4:if(s=i.sent(),a.byteLength!==s.byteLength)return[2,!1];for(l=new Uint8Array(a),c=new Uint8Array(s),p=0;p0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]"}),n.body=r,n.bodyOutputType=s.BodyOutputType.TrustedHtml}null!=e.options&&(!0===e.options.trustedHtml&&(n.bodyOutputType=s.BodyOutputType.TrustedHtml),null!=e.options.timeout&&e.options.timeout>0&&(n.timeout=e.options.timeout)),this.toasterService.popAsync(n)},e.prototype.idleStateChanged=function(){this.isIdle?this.notificationsService.disconnectFromInactivity():this.notificationsService.reconnectFromActivity()},e.prototype.setFullWidth=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return[4,this.storageService.get("enableFullWidth")];case 1:return e.sent()?document.body.classList.add("full-width"):document.body.classList.remove("full-width"),[2]}})})},e.ɵfac=function(t){return new(t||e)(u.ɵɵdirectiveInject(d.Angulartics2GoogleAnalytics),u.ɵɵdirectiveInject(m.BroadcasterService),u.ɵɵdirectiveInject(h.UserService),u.ɵɵdirectiveInject(f.TokenService),u.ɵɵdirectiveInject(v.FolderService),u.ɵɵdirectiveInject(y.SettingsService),u.ɵɵdirectiveInject(g.SyncService),u.ɵɵdirectiveInject(x.PasswordGenerationService),u.ɵɵdirectiveInject(b.CipherService),u.ɵɵdirectiveInject(S.AuthService),u.ɵɵdirectiveInject(w.Router),u.ɵɵdirectiveInject(C.Angulartics2),u.ɵɵdirectiveInject(I.ToasterService),u.ɵɵdirectiveInject(E.I18nService),u.ɵɵdirectiveInject(P.PlatformUtilsService),u.ɵɵdirectiveInject(u.NgZone),u.ɵɵdirectiveInject(k.VaultTimeoutService),u.ɵɵdirectiveInject(_.StorageService),u.ɵɵdirectiveInject(A.CryptoService),u.ɵɵdirectiveInject(O.CollectionService),u.ɵɵdirectiveInject(T.DomSanitizer),u.ɵɵdirectiveInject(M.SearchService),u.ɵɵdirectiveInject(B.NotificationsService),u.ɵɵdirectiveInject(D.RouterService),u.ɵɵdirectiveInject(V.StateService),u.ɵɵdirectiveInject(j.EventService),u.ɵɵdirectiveInject(R.PolicyService))},e.ɵcmp=u.ɵɵdefineComponent({type:e,selectors:[["app-root"]],decls:4,vars:1,consts:[["aria-live","polite",3,"toasterconfig"]],template:function(e,t){1&e&&(u.ɵɵelement(0,"toaster-container",0),u.ɵɵtext(1,"\n"),u.ɵɵelement(2,"router-outlet"),u.ɵɵtext(3,"\n")),2&e&&u.ɵɵproperty("toasterconfig",t.toasterConfig)},directives:[I.ToasterContainerComponent,w.RouterOutlet],encapsulation:2}),e}();t.AppComponent=U},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0){var n=this.formEls[0];if("input"===n.tagName.toLowerCase()){var r=n;if(null!=r.type&&"checkbox"===r.type.toLowerCase())return void r.click()}n.focus()}},e.ɵfac=function(t){return new(t||e)(r.ɵɵdirectiveInject(r.ElementRef))},e.ɵdir=r.ɵɵdefineDirective({type:e,selectors:[["","appBoxRow",""]],hostBindings:function(e,t){1&e&&r.ɵɵlistener("click",function(e){return t.onClick(e)})}}),e}();t.BoxRowDirective=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(0),i=function(){function e(){}return e.prototype.transform=function(e,t,n){return void 0===n&&(n=!1),null==e||0===e.length?[]:null==t||t.length<2?e.filter(function(e){return n!==e.isDeleted}):(t=t.trim().toLowerCase(),e.filter(function(e){return n===e.isDeleted&&(null!=e.name&&e.name.toLowerCase().indexOf(t)>-1||(!!(t.length>=8&&e.id.startsWith(t))||(null!=e.subTitle&&e.subTitle.toLowerCase().indexOf(t)>-1||!!(e.login&&null!=e.login.uri&&e.login.uri.toLowerCase().indexOf(t)>-1))))}))},e.ɵfac=function(t){return new(t||e)},e.ɵpipe=r.ɵɵdefinePipe({name:"searchCiphers",type:e,pure:!0}),e}();t.SearchCiphersPipe=i}]); +//# sourceMappingURL=main.9f15875cff59b5963eea.js.map \ No newline at end of file diff --git a/app/main.9f15875cff59b5963eea.js.map b/app/main.9f15875cff59b5963eea.js.map new file mode 100644 index 00000000..fd159b10 --- /dev/null +++ b/app/main.9f15875cff59b5963eea.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./jslib/src/abstractions/i18n.service.ts","webpack:///./jslib/src/abstractions/api.service.ts","webpack:///./jslib/src/abstractions/platformUtils.service.ts","webpack:///./jslib/src/abstractions/user.service.ts","webpack:///./jslib/src/angular/pipes/i18n.pipe.ts","webpack:///./jslib/src/abstractions/messaging.service.ts","webpack:///./jslib/src/angular/directives/api-action.directive.ts","webpack:///./jslib/src/angular/directives/a11y-title.directive.ts","webpack:///./jslib/src/abstractions/crypto.service.ts","webpack:///./jslib/src/abstractions/cipher.service.ts","webpack:///./jslib/src/models/response/baseResponse.ts","webpack:///./jslib/src/importers/baseImporter.ts","webpack:///./jslib/src/models/domain/importResult.ts","webpack:///./jslib/src/angular/components/callout.component.ts","webpack:///./jslib/src/angular/components/callout.component.html","webpack:///./jslib/src/misc/utils.ts","webpack:///./jslib/src/abstractions/passwordGeneration.service.ts","webpack:///./jslib/src/abstractions/state.service.ts","webpack:///./jslib/src/angular/directives/stop-click.directive.ts","webpack:///./jslib/src/enums/cipherType.ts","webpack:///./jslib/src/abstractions/collection.service.ts","webpack:///./jslib/src/abstractions/storage.service.ts","webpack:///./jslib/src/angular/directives/input-verbatim.directive.ts","webpack:///./jslib/src/abstractions/folder.service.ts","webpack:///./jslib/src/abstractions/policy.service.ts","webpack:///./jslib/src/angular/directives/stop-prop.directive.ts","webpack:///./jslib/src/abstractions/auth.service.ts","webpack:///./jslib/src/angular/directives/autofocus.directive.ts","webpack:///./jslib/src/abstractions/sync.service.ts","webpack:///./jslib/src/services/constants.service.ts","webpack:///./jslib/src/abstractions/event.service.ts","webpack:///./jslib/src/abstractions/environment.service.ts","webpack:///./jslib/src/models/request/passwordVerificationRequest.ts","webpack:///./jslib/src/models/domain/domainBase.ts","webpack:///./src/app/modal.component.ts","webpack:///./jslib/src/abstractions/search.service.ts","webpack:///./jslib/src/abstractions/audit.service.ts","webpack:///./jslib/src/models/view/cardView.ts","webpack:///./jslib/src/models/view/secureNoteView.ts","webpack:///./jslib/src/abstractions/token.service.ts","webpack:///./jslib/src/abstractions/cryptoFunction.service.ts","webpack:///./jslib/src/models/domain/cipherString.ts","webpack:///./jslib/src/angular/components/icon.component.ts","webpack:///./jslib/src/angular/components/icon.component.html","webpack:///./jslib/src/abstractions/vaultTimeout.service.ts","webpack:///./jslib/src/enums/secureNoteType.ts","webpack:///./jslib/src/enums/twoFactorProviderType.ts","webpack:///./jslib/src/abstractions/totp.service.ts","webpack:///./jslib/src/angular/services/broadcaster.service.ts","webpack:///./src/app/settings/payment.component.ts","webpack:///./src/app/settings/payment.component.html","webpack:///./jslib/src/enums/fieldType.ts","webpack:///./jslib/src/models/view/folderView.ts","webpack:///./src/app/components/avatar.component.ts","webpack:///./jslib/src/models/domain/collection.ts","webpack:///./src/app/settings/tax-info.component.ts","webpack:///./src/app/settings/tax-info.component.html","webpack:///./jslib/src/models/view/cipherView.ts","webpack:///./jslib/src/models/view/identityView.ts","webpack:///./jslib/src/models/data/collectionData.ts","webpack:///./jslib/src/models/view/collectionView.ts","webpack:///./jslib/src/models/data/cipherData.ts","webpack:///./jslib/src/models/view/loginView.ts","webpack:///./jslib/src/enums/sendType.ts","webpack:///./jslib/src/enums/policyType.ts","webpack:///./src/app/settings/two-factor-verify.component.ts","webpack:///./src/app/settings/two-factor-verify.component.html","webpack:///./jslib/src/abstractions/export.service.ts","webpack:///./jslib/src/models/domain/cipher.ts","webpack:///./jslib/src/models/view/fieldView.ts","webpack:///./jslib/src/models/request/cipherRequest.ts","webpack:///./src/app/services/router.service.ts","webpack:///./jslib/src/enums/kdfType.ts","webpack:///./src/app/components/password-strength.component.ts","webpack:///./src/app/components/password-strength.component.html","webpack:///./jslib/src/enums/organizationUserStatusType.ts","webpack:///./jslib/src/angular/pipes/search.pipe.ts","webpack:///./src/app/services/event.service.ts","webpack:///./jslib/src/enums/eventType.ts","webpack:///./jslib/src/enums/paymentMethodType.ts","webpack:///./src/app/settings/two-factor-base.component.ts","webpack:///./src/app/tools/cipher-report.component.ts","webpack:///./jslib/src/models/view/loginUriView.ts","webpack:///./src/app/vault/add-edit.component.ts","webpack:///./src/app/vault/add-edit.component.html","webpack:///./jslib/src/abstractions/import.service.ts","webpack:///./src/app/vault/ciphers.component.ts","webpack:///./src/app/vault/ciphers.component.html","webpack:///./jslib/src/abstractions/send.service.ts","webpack:///./jslib/src/services/auth.service.ts","webpack:///./jslib/src/models/request/selectionReadOnlyRequest.ts","webpack:///./jslib/src/enums/organizationUserType.ts","webpack:///./jslib/src/enums/deviceType.ts","webpack:///./jslib/src/abstractions/settings.service.ts","webpack:///./jslib/src/enums/planType.ts","webpack:///./src/app/settings/organization-plans.component.ts","webpack:///./src/app/settings/organization-plans.component.html","webpack:///./jslib/src/models/domain/symmetricCryptoKey.ts","webpack:///./jslib/src/models/domain/card.ts","webpack:///./jslib/src/models/domain/field.ts","webpack:///./jslib/src/models/domain/identity.ts","webpack:///./jslib/src/models/domain/login.ts","webpack:///./jslib/src/models/domain/loginUri.ts","webpack:///./jslib/src/enums/uriMatchType.ts","webpack:///./jslib/src/models/domain/secureNote.ts","webpack:///./jslib/src/angular/directives/true-false-value.directive.ts","webpack:///./src/app/vault/groupings.component.ts","webpack:///./src/app/vault/groupings.component.html","webpack:///./jslib/src/models/domain/organization.ts","webpack:///./jslib/src/models/view/sendFileView.ts","webpack:///./jslib/src/models/view/sendTextView.ts","webpack:///./src/app/settings/organizations.component.ts","webpack:///./src/app/settings/organizations.component.html","webpack:///./jslib/src/models/response/selectionReadOnlyResponse.ts","webpack:///./src/app/layouts/navbar.component.ts","webpack:///./src/app/layouts/navbar.component.html","webpack:///./src/app/layouts/footer.component.ts","webpack:///./src/app/layouts/footer.component.html","webpack:///./jslib/src/angular/services/validation.service.ts","webpack:///./jslib/src/enums/encryptionType.ts","webpack:///./jslib/src/models/request/keysRequest.ts","webpack:///./jslib/src/angular/components/change-password.component.ts","webpack:///./src/app/organizations/manage/entity-users.component.ts","webpack:///./src/app/organizations/manage/entity-users.component.html","webpack:///./src/app/organizations/manage/entity-events.component.ts","webpack:///./src/app/organizations/manage/entity-events.component.html","webpack:///./jslib/src/models/api/permissionsApi.ts","webpack:///./src/app/settings/api-key.component.ts","webpack:///./src/app/settings/api-key.component.html","webpack:///./src/app/settings/purge-vault.component.ts","webpack:///./src/app/settings/purge-vault.component.html","webpack:///./src/app/settings/user-billing.component.ts","webpack:///./src/app/settings/user-billing.component.html","webpack:///./src/app/settings/add-credit.component.ts","webpack:///./src/app/settings/add-credit.component.html","webpack:///./src/app/settings/adjust-payment.component.ts","webpack:///./src/app/settings/adjust-payment.component.html","webpack:///./src/app/settings/update-license.component.ts","webpack:///./src/app/settings/update-license.component.html","webpack:///./jslib/src/enums/productType.ts","webpack:///./src/app/settings/adjust-storage.component.ts","webpack:///./src/app/settings/adjust-storage.component.html","webpack:///./src/app/settings/two-factor-duo.component.ts","webpack:///./src/app/settings/two-factor-duo.component.html","webpack:///./src/app/settings/two-factor-setup.component.ts","webpack:///./src/app/settings/two-factor-setup.component.html","webpack:///./src/app/tools/export.component.ts","webpack:///./src/app/tools/export.component.html","webpack:///./src/app/tools/exposed-passwords-report.component.ts","webpack:///./src/app/tools/exposed-passwords-report.component.html","webpack:///./src/app/organizations/vault/add-edit.component.ts","webpack:///./jslib/src/models/data/attachmentData.ts","webpack:///./jslib/src/models/data/cardData.ts","webpack:///./jslib/src/models/data/fieldData.ts","webpack:///./jslib/src/models/data/identityData.ts","webpack:///./jslib/src/models/data/loginData.ts","webpack:///./jslib/src/models/data/loginUriData.ts","webpack:///./jslib/src/models/data/secureNoteData.ts","webpack:///./jslib/src/models/domain/attachment.ts","webpack:///./jslib/src/models/view/passwordHistoryView.ts","webpack:///./src/app/tools/import.component.ts","webpack:///./src/app/tools/import.component.html","webpack:///./src/app/tools/inactive-two-factor-report.component.ts","webpack:///./src/app/tools/inactive-two-factor-report.component.html","webpack:///./src/app/tools/reused-passwords-report.component.ts","webpack:///./src/app/tools/reused-passwords-report.component.html","webpack:///./src/app/tools/unsecured-websites-report.component.ts","webpack:///./src/app/tools/unsecured-websites-report.component.html","webpack:///./src/app/tools/weak-passwords-report.component.ts","webpack:///./src/app/tools/weak-passwords-report.component.html","webpack:///./src/app/vault/attachments.component.ts","webpack:///./src/app/vault/attachments.component.html","webpack:///./src/app/organizations/vault/ciphers.component.ts","webpack:///./src/app/vault/collections.component.ts","webpack:///./src/app/vault/collections.component.html","webpack:///./src/app/organizations/vault/groupings.component.ts","webpack:///./src/app/vault/bulk-actions.component.ts","webpack:///./src/app/vault/bulk-actions.component.html","webpack:///./jslib/src/models/request/cipherWithIdRequest.ts","webpack:///./jslib/src/models/request/folderRequest.ts","webpack:///./jslib/src/angular/directives/select-copy.directive.ts","webpack:///./jslib/src/angular/pipes/color-password.pipe.ts","webpack:///./jslib/src/models/data/folderData.ts","webpack:///./jslib/src/models/domain/folder.ts","webpack:///./jslib/src/models/response/cipherResponse.ts","webpack:///./jslib/src/models/response/profileResponse.ts","webpack:///./jslib/src/models/api/sendFileApi.ts","webpack:///./jslib/src/models/api/sendTextApi.ts","webpack:///./jslib/src/models/domain/sendFile.ts","webpack:///./jslib/src/models/domain/sendText.ts","webpack:///./jslib/src/abstractions/notifications.service.ts","webpack:///./$_lazy_route_resource lazy namespace object","webpack:///./src/app/layouts/frontend-layout.component.ts","webpack:///./src/app/layouts/frontend-layout.component.html","webpack:///./src/app/layouts/organization-layout.component.ts","webpack:///./src/app/layouts/organization-layout.component.html","webpack:///./src/app/layouts/user-layout.component.ts","webpack:///./src/app/layouts/user-layout.component.html","webpack:///./src/app/accounts/accept-emergency.component.ts","webpack:///./src/app/accounts/accept-emergency.component.html","webpack:///./src/app/accounts/accept-organization.component.ts","webpack:///./src/app/accounts/accept-organization.component.html","webpack:///./src/app/accounts/hint.component.ts","webpack:///./src/app/accounts/hint.component.html","webpack:///./src/app/accounts/lock.component.ts","webpack:///./src/app/accounts/lock.component.html","webpack:///./src/app/accounts/login.component.ts","webpack:///./src/app/accounts/login.component.html","webpack:///./src/app/accounts/recover-delete.component.ts","webpack:///./src/app/accounts/recover-delete.component.html","webpack:///./src/app/accounts/recover-two-factor.component.ts","webpack:///./src/app/accounts/recover-two-factor.component.html","webpack:///./src/app/accounts/register.component.ts","webpack:///./src/app/accounts/register.component.html","webpack:///./jslib/src/models/domain/policy.ts","webpack:///./jslib/src/models/data/policyData.ts","webpack:///./src/app/accounts/set-password.component.ts","webpack:///./src/app/accounts/set-password.component.html","webpack:///./src/app/accounts/sso.component.ts","webpack:///./src/app/accounts/sso.component.html","webpack:///./jslib/src/angular/components/sso.component.ts","webpack:///./src/app/accounts/two-factor.component.ts","webpack:///./src/app/accounts/two-factor.component.html","webpack:///./src/app/accounts/two-factor-options.component.ts","webpack:///./src/app/accounts/two-factor-options.component.html","webpack:///./jslib/src/models/request/twoFactorEmailRequest.ts","webpack:///./jslib/src/models/domain/authResult.ts","webpack:///./src/app/accounts/verify-email-token.component.ts","webpack:///./src/app/accounts/verify-email-token.component.html","webpack:///./src/app/accounts/verify-recover-delete.component.ts","webpack:///./src/app/accounts/verify-recover-delete.component.html","webpack:///./src/app/organizations/manage/collections.component.ts","webpack:///./src/app/organizations/manage/collections.component.html","webpack:///./src/app/organizations/manage/collection-add-edit.component.ts","webpack:///./src/app/organizations/manage/collection-add-edit.component.html","webpack:///./jslib/src/models/request/collectionRequest.ts","webpack:///./src/app/organizations/manage/events.component.ts","webpack:///./src/app/organizations/manage/events.component.html","webpack:///./src/app/organizations/manage/groups.component.ts","webpack:///./src/app/organizations/manage/groups.component.html","webpack:///./src/app/organizations/manage/group-add-edit.component.ts","webpack:///./src/app/organizations/manage/group-add-edit.component.html","webpack:///./src/app/organizations/manage/manage.component.ts","webpack:///./src/app/organizations/manage/manage.component.html","webpack:///./src/app/organizations/manage/people.component.ts","webpack:///./src/app/organizations/manage/people.component.html","webpack:///./jslib/src/models/request/organizationUserConfirmRequest.ts","webpack:///./src/app/organizations/manage/user-add-edit.component.ts","webpack:///./src/app/organizations/manage/user-add-edit.component.html","webpack:///./src/app/organizations/manage/user-confirm.component.ts","webpack:///./src/app/organizations/manage/user-confirm.component.html","webpack:///./src/app/organizations/manage/user-groups.component.ts","webpack:///./src/app/organizations/manage/user-groups.component.html","webpack:///./src/app/organizations/manage/policies.component.ts","webpack:///./src/app/organizations/manage/policies.component.html","webpack:///./jslib/src/abstractions/index.ts","webpack:///./src/app/organizations/manage/policy-edit.component.ts","webpack:///./src/app/organizations/manage/policy-edit.component.html","webpack:///./src/app/organizations/settings/account.component.ts","webpack:///./src/app/organizations/settings/account.component.html","webpack:///./jslib/src/models/request/organizationTaxInfoUpdateRequest.ts","webpack:///./jslib/src/models/request/taxInfoUpdateRequest.ts","webpack:///./src/app/organizations/settings/delete-organization.component.ts","webpack:///./src/app/organizations/settings/delete-organization.component.html","webpack:///./src/app/organizations/settings/organization-billing.component.ts","webpack:///./src/services/webConstants.ts","webpack:///./src/app/organizations/settings/organization-subscription.component.ts","webpack:///./src/app/organizations/settings/organization-subscription.component.html","webpack:///./src/app/organizations/settings/change-plan.component.ts","webpack:///./src/app/organizations/settings/change-plan.component.html","webpack:///./src/app/organizations/settings/download-license.component.ts","webpack:///./src/app/organizations/settings/download-license.component.html","webpack:///./src/app/organizations/settings/adjust-seats.component.ts","webpack:///./src/app/organizations/settings/adjust-seats.component.html","webpack:///./src/app/organizations/settings/settings.component.ts","webpack:///./src/app/organizations/settings/settings.component.html","webpack:///./src/app/organizations/settings/two-factor-setup.component.ts","webpack:///./src/app/settings/two-factor-authenticator.component.ts","webpack:///./src/app/settings/two-factor-authenticator.component.html","webpack:///./src/app/settings/two-factor-email.component.ts","webpack:///./src/app/settings/two-factor-email.component.html","webpack:///./src/app/settings/two-factor-recovery.component.ts","webpack:///./src/app/settings/two-factor-recovery.component.html","webpack:///./src/app/settings/two-factor-u2f.component.ts","webpack:///./src/app/settings/two-factor-u2f.component.html","webpack:///./src/app/settings/two-factor-yubikey.component.ts","webpack:///./src/app/settings/two-factor-yubikey.component.html","webpack:///./src/app/organizations/tools/export.component.ts","webpack:///./src/app/organizations/tools/exposed-passwords-report.component.ts","webpack:///./jslib/src/models/data/passwordHistoryData.ts","webpack:///./jslib/src/models/view/attachmentView.ts","webpack:///./jslib/src/models/domain/password.ts","webpack:///./jslib/src/models/request/cipherCreateRequest.ts","webpack:///./jslib/src/models/api/cardApi.ts","webpack:///./jslib/src/models/api/fieldApi.ts","webpack:///./jslib/src/models/api/identityApi.ts","webpack:///./jslib/src/models/api/loginApi.ts","webpack:///./jslib/src/models/api/loginUriApi.ts","webpack:///./jslib/src/models/api/secureNoteApi.ts","webpack:///./jslib/src/angular/directives/fallback-src.directive.ts","webpack:///./src/app/organizations/tools/import.component.ts","webpack:///./src/app/organizations/tools/inactive-two-factor-report.component.ts","webpack:///./src/app/organizations/tools/reused-passwords-report.component.ts","webpack:///./src/app/organizations/tools/tools.component.ts","webpack:///./src/app/organizations/tools/tools.component.html","webpack:///./src/app/organizations/tools/unsecured-websites-report.component.ts","webpack:///./src/app/organizations/tools/weak-passwords-report.component.ts","webpack:///./src/app/organizations/vault/vault.component.ts","webpack:///./src/app/organizations/vault/vault.component.html","webpack:///./src/app/organizations/vault/attachments.component.ts","webpack:///./src/app/organizations/vault/collections.component.ts","webpack:///./jslib/src/models/request/cipherCollectionsRequest.ts","webpack:///./src/app/vault/bulk-delete.component.ts","webpack:///./src/app/vault/bulk-delete.component.html","webpack:///./jslib/src/models/request/cipherBulkDeleteRequest.ts","webpack:///./src/app/vault/bulk-move.component.ts","webpack:///./src/app/vault/bulk-move.component.html","webpack:///./src/app/vault/bulk-restore.component.ts","webpack:///./src/app/vault/bulk-restore.component.html","webpack:///./src/app/vault/bulk-share.component.ts","webpack:///./src/app/vault/bulk-share.component.html","webpack:///./src/app/send/send.component.ts","webpack:///./src/app/send/send.component.html","webpack:///./src/app/send/add-edit.component.ts","webpack:///./src/app/send/add-edit.component.html","webpack:///./jslib/src/models/view/sendView.ts","webpack:///./src/app/settings/account.component.ts","webpack:///./src/app/settings/account.component.html","webpack:///./src/app/settings/deauthorize-sessions.component.ts","webpack:///./src/app/settings/deauthorize-sessions.component.html","webpack:///./src/app/settings/delete-account.component.ts","webpack:///./src/app/settings/delete-account.component.html","webpack:///./src/app/settings/profile.component.ts","webpack:///./src/app/settings/profile.component.html","webpack:///./src/app/settings/change-email.component.ts","webpack:///./src/app/settings/change-email.component.html","webpack:///./jslib/src/models/request/emailTokenRequest.ts","webpack:///./src/app/settings/change-password.component.ts","webpack:///./src/app/settings/change-password.component.html","webpack:///./jslib/src/enums/emergencyAccessStatusType.ts","webpack:///./jslib/src/models/request/emergencyAccessUpdateRequest.ts","webpack:///./jslib/src/models/request/folderWithIdRequest.ts","webpack:///./jslib/src/models/request/passwordRequest.ts","webpack:///./jslib/src/models/request/updateKeyRequest.ts","webpack:///./src/app/settings/change-kdf.component.ts","webpack:///./src/app/settings/change-kdf.component.html","webpack:///./src/app/settings/create-organization.component.ts","webpack:///./src/app/settings/create-organization.component.html","webpack:///./src/app/settings/domain-rules.component.ts","webpack:///./src/app/settings/domain-rules.component.html","webpack:///./src/app/settings/options.component.ts","webpack:///./src/app/settings/options.component.html","webpack:///./src/app/settings/link-sso.component.ts","webpack:///./src/app/settings/link-sso.component.html","webpack:///./src/app/settings/premium.component.ts","webpack:///./src/app/settings/premium.component.html","webpack:///./src/app/settings/settings.component.ts","webpack:///./src/app/settings/settings.component.html","webpack:///./src/app/settings/user-subscription.component.ts","webpack:///./src/app/settings/user-subscription.component.html","webpack:///./src/app/tools/breach-report.component.ts","webpack:///./src/app/tools/breach-report.component.html","webpack:///./src/app/tools/password-generator.component.ts","webpack:///./src/app/tools/password-generator.component.html","webpack:///./src/app/tools/password-generator-history.component.ts","webpack:///./src/app/tools/password-generator-history.component.html","webpack:///./src/app/tools/tools.component.ts","webpack:///./src/app/tools/tools.component.html","webpack:///./src/app/vault/vault.component.ts","webpack:///./src/app/vault/vault.component.html","webpack:///./src/app/settings/update-key.component.ts","webpack:///./src/app/settings/update-key.component.html","webpack:///./src/app/vault/folder-add-edit.component.ts","webpack:///./src/app/vault/folder-add-edit.component.html","webpack:///./src/app/vault/share.component.ts","webpack:///./src/app/vault/share.component.html","webpack:///./src/app/settings/verify-email.component.ts","webpack:///./src/app/settings/verify-email.component.html","webpack:///./src/app/services/organization-guard.service.ts","webpack:///./src/app/services/organization-type-guard.service.ts","webpack:///./jslib/src/enums/permissions.ts","webpack:///./src/app/services/unauth-guard.service.ts","webpack:///./jslib/src/angular/services/auth-guard.service.ts","webpack:///./src/app/settings/emergency-access-view.component.ts","webpack:///./src/app/settings/emergency-access-view.component.html","webpack:///./jslib/src/models/domain/encryptedObject.ts","webpack:///./jslib/src/models/domain/environmentUrls.ts","webpack:///./jslib/src/models/domain/generatedPasswordHistory.ts","webpack:///./src/app/settings/emergency-add-edit.component.ts","webpack:///./src/app/settings/emergency-access.component.ts","webpack:///./src/app/settings/emergency-access.component.html","webpack:///./jslib/src/enums/emergencyAccessType.ts","webpack:///./jslib/src/models/response/emergencyAccessResponse.ts","webpack:///./src/app/settings/emergency-access-add-edit.component.ts","webpack:///./src/app/settings/emergency-access-add-edit.component.html","webpack:///./src/app/settings/emergency-access-confirm.component.ts","webpack:///./src/app/settings/emergency-access-confirm.component.html","webpack:///./src/app/settings/emergency-access-takeover.component.ts","webpack:///./src/app/settings/emergency-access-takeover.component.html","webpack:///./jslib/src/services/api.service.ts","webpack:///./jslib/src/models/response/collectionResponse.ts","webpack:///./jslib/src/models/response/domainsResponse.ts","webpack:///./jslib/src/models/response/errorResponse.ts","webpack:///./jslib/src/models/response/folderResponse.ts","webpack:///./jslib/src/models/response/organizationResponse.ts","webpack:///./jslib/src/models/response/planResponse.ts","webpack:///./jslib/src/models/response/subscriptionResponse.ts","webpack:///./jslib/src/models/response/policyResponse.ts","webpack:///./jslib/src/models/response/sendResponse.ts","webpack:///./jslib/src/services/appId.service.ts","webpack:///./jslib/src/services/audit.service.ts","webpack:///./jslib/src/services/cipher.service.ts","webpack:///./jslib/src/misc/sequentialize.ts","webpack:///./jslib/src/services/collection.service.ts","webpack:///./jslib/src/misc/serviceUtils.ts","webpack:///./jslib/src/services/container.service.ts","webpack:///./jslib/src/services/crypto.service.ts","webpack:///./jslib/src/misc/wordlist.ts","webpack:///./jslib/src/services/environment.service.ts","webpack:///./jslib/src/services/folder.service.ts","webpack:///./jslib/src/services/i18n.service.ts","webpack:///./jslib/src/services/passwordGeneration.service.ts","webpack:///./jslib/src/services/settings.service.ts","webpack:///./jslib/src/services/state.service.ts","webpack:///./jslib/src/services/sync.service.ts","webpack:///./jslib/src/models/data/sendData.ts","webpack:///./jslib/src/services/token.service.ts","webpack:///./jslib/src/services/totp.service.ts","webpack:///./jslib/src/services/user.service.ts","webpack:///./jslib/src/services/vaultTimeout.service.ts","webpack:///./jslib/src/services/consoleLog.service.ts","webpack:///./jslib/src/models/export/cipherWithIds.ts","webpack:///./jslib/src/models/export/collectionWithId.ts","webpack:///./jslib/src/models/export/folderWithId.ts","webpack:///./jslib/src/importers/onepasswordImporters/onepasswordCsvImporter.ts","webpack:///./jslib/src/models/view/index.ts","webpack:///./jslib/src/enums/notificationType.ts","webpack:///./src/app/main.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/app-routing.module.ts","webpack:///./jslib/src/services/broadcaster.service.ts","webpack:///./jslib/src/misc/tldjs.noop.ts","webpack:///./jslib/src/models/request/emergencyAccessAcceptRequest.ts","webpack:///./jslib/src/models/request/organizationUserAcceptRequest.ts","webpack:///./jslib/src/angular/components/hint.component.ts","webpack:///./jslib/src/models/request/passwordHintRequest.ts","webpack:///./jslib/src/angular/components/lock.component.ts","webpack:///./jslib/src/angular/components/login.component.ts","webpack:///./jslib/src/models/request/deleteRecoverRequest.ts","webpack:///./jslib/src/models/request/twoFactorRecoveryRequest.ts","webpack:///./jslib/src/angular/components/register.component.ts","webpack:///./jslib/src/models/request/registerRequest.ts","webpack:///./jslib/src/models/request/referenceEventRequest.ts","webpack:///./jslib/src/angular/components/set-password.component.ts","webpack:///./jslib/src/models/request/setPasswordRequest.ts","webpack:///./jslib/src/angular/components/two-factor-options.component.ts","webpack:///./jslib/src/angular/components/modal.component.ts","webpack:///./jslib/src/angular/components/two-factor.component.ts","webpack:///./jslib/src/models/request/deviceRequest.ts","webpack:///./jslib/src/models/request/preloginRequest.ts","webpack:///./jslib/src/models/request/tokenRequest.ts","webpack:///./jslib/src/misc/u2f.ts","webpack:///./jslib/src/models/request/verifyEmailRequest.ts","webpack:///./jslib/src/models/request/verifyDeleteRecoverRequest.ts","webpack:///./jslib/src/models/request/groupRequest.ts","webpack:///./jslib/src/models/request/organizationUserInviteRequest.ts","webpack:///./jslib/src/models/request/organizationUserUpdateRequest.ts","webpack:///./jslib/src/models/request/organizationUserUpdateGroupsRequest.ts","webpack:///./jslib/src/abstractions/appId.service.ts","webpack:///./jslib/src/abstractions/log.service.ts","webpack:///./jslib/src/models/request/policyRequest.ts","webpack:///./jslib/src/models/request/organizationUpdateRequest.ts","webpack:///./jslib/src/enums/transactionType.ts","webpack:///./jslib/src/models/request/verifyBankRequest.ts","webpack:///./jslib/src/models/request/bitPayInvoiceRequest.ts","webpack:///./jslib/src/models/request/paymentRequest.ts","webpack:///./jslib/src/models/request/organizationCreateRequest.ts","webpack:///./jslib/src/models/request/organizationUpgradeRequest.ts","webpack:///./jslib/src/models/request/seatRequest.ts","webpack:///./jslib/src/models/request/storageRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorDuoRequest.ts","webpack:///./jslib/src/models/request/twoFactorProviderRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorAuthenticatorRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorEmailRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorU2fDeleteRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorU2fRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorYubioOtpRequest.ts","webpack:///./jslib/src/angular/components/export.component.ts","webpack:///./jslib/src/models/request/attachmentRequest.ts","webpack:///./jslib/src/angular/components/add-edit.component.ts","webpack:///./jslib/src/angular/components/attachments.component.ts","webpack:///./jslib/src/angular/components/ciphers.component.ts","webpack:///./jslib/src/angular/components/collections.component.ts","webpack:///./jslib/src/angular/components/groupings.component.ts","webpack:///./jslib/src/models/request/updateProfileRequest.ts","webpack:///./jslib/src/models/request/emailRequest.ts","webpack:///./jslib/src/models/request/kdfRequest.ts","webpack:///./jslib/src/models/request/updateDomainsRequest.ts","webpack:///./jslib/src/angular/components/password-generator.component.ts","webpack:///./jslib/src/angular/components/password-generator-history.component.ts","webpack:///./jslib/src/angular/components/folder-add-edit.component.ts","webpack:///./jslib/src/angular/components/share.component.ts","webpack:///./jslib/src/models/data/index.ts","webpack:///./jslib/src/models/domain/index.ts","webpack:///./jslib/src/models/request/emergencyAccessConfirmRequest.ts","webpack:///./jslib/src/models/response/attachmentResponse.ts","webpack:///./jslib/src/models/response/passwordHistoryResponse.ts","webpack:///./jslib/src/models/request/emergencyAccessInviteRequest.ts","webpack:///./jslib/src/models/request/emergencyAccessPasswordRequest.ts","webpack:///./src/app/services/services.module.ts","webpack:///./src/services/broadcasterMessaging.service.ts","webpack:///./src/services/htmlStorage.service.ts","webpack:///./jslib/src/services/index.ts","webpack:///./jslib/src/models/response/apiKeyResponse.ts","webpack:///./jslib/src/models/response/billingResponse.ts","webpack:///./jslib/src/models/response/breachAccountResponse.ts","webpack:///./jslib/src/models/response/globalDomainResponse.ts","webpack:///./jslib/src/models/response/eventResponse.ts","webpack:///./jslib/src/models/response/groupResponse.ts","webpack:///./jslib/src/models/response/identityTokenResponse.ts","webpack:///./jslib/src/models/response/identityTwoFactorResponse.ts","webpack:///./jslib/src/models/response/listResponse.ts","webpack:///./jslib/src/models/response/organizationSubscriptionResponse.ts","webpack:///./jslib/src/models/response/organizationUserResponse.ts","webpack:///./jslib/src/models/response/paymentResponse.ts","webpack:///./jslib/src/models/response/profileOrganizationResponse.ts","webpack:///./jslib/src/models/response/preloginResponse.ts","webpack:///./jslib/src/models/response/sendAccessResponse.ts","webpack:///./jslib/src/models/response/syncResponse.ts","webpack:///./jslib/src/models/response/taxInfoResponse.ts","webpack:///./jslib/src/models/response/taxRateResponse.ts","webpack:///./jslib/src/models/response/twoFactorAuthenticatorResponse.ts","webpack:///./jslib/src/models/response/twoFactorDuoResponse.ts","webpack:///./jslib/src/models/response/twoFactorEmailResponse.ts","webpack:///./jslib/src/models/response/twoFactorProviderResponse.ts","webpack:///./jslib/src/models/response/twoFactorRescoverResponse.ts","webpack:///./jslib/src/models/response/twoFactorU2fResponse.ts","webpack:///./jslib/src/models/response/twoFactorYubiKeyResponse.ts","webpack:///./jslib/src/models/response/userKeyResponse.ts","webpack:///./jslib/src/misc/throttle.ts","webpack:///./jslib/src/models/request/cipherBulkMoveRequest.ts","webpack:///./jslib/src/models/request/cipherBulkRestoreRequest.ts","webpack:///./jslib/src/models/request/cipherBulkShareRequest.ts","webpack:///./jslib/src/models/request/cipherShareRequest.ts","webpack:///./jslib/src/models/domain/sortedCiphersCache.ts","webpack:///./jslib/src/models/domain/treeNode.ts","webpack:///./jslib/src/models/domain/passwordGeneratorPolicyOptions.ts","webpack:///./jslib/src/models/data/organizationData.ts","webpack:///./jslib/src/models/data/sendFileData.ts","webpack:///./jslib/src/models/data/sendTextData.ts","webpack:///./src/services/i18n.service.ts","webpack:///./src/services/memoryStorage.service.ts","webpack:///./src/services/webPlatformUtils.service.ts","webpack:///./jslib/src/misc/analytics.ts","webpack:///./jslib/src/enums/logLevelType.ts","webpack:///./jslib/src/services/event.service.ts","webpack:///./jslib/src/models/data/eventData.ts","webpack:///./jslib/src/models/request/eventRequest.ts","webpack:///./jslib/src/services/export.service.ts","webpack:///./jslib/src/models/export/cipher.ts","webpack:///./jslib/src/models/export/card.ts","webpack:///./jslib/src/models/export/field.ts","webpack:///./jslib/src/models/export/identity.ts","webpack:///./jslib/src/models/export/login.ts","webpack:///./jslib/src/models/export/loginUri.ts","webpack:///./jslib/src/models/export/secureNote.ts","webpack:///./jslib/src/models/export/collection.ts","webpack:///./jslib/src/models/export/folder.ts","webpack:///./jslib/src/services/import.service.ts","webpack:///./jslib/src/models/request/importCiphersRequest.ts","webpack:///./jslib/src/models/request/importOrganizationCiphersRequest.ts","webpack:///./jslib/src/models/request/kvpRequest.ts","webpack:///./jslib/src/importers/ascendoCsvImporter.ts","webpack:///./jslib/src/importers/avastCsvImporter.ts","webpack:///./jslib/src/importers/avastJsonImporter.ts","webpack:///./jslib/src/importers/aviraCsvImporter.ts","webpack:///./jslib/src/importers/bitwardenCsvImporter.ts","webpack:///./jslib/src/importers/bitwardenJsonImporter.ts","webpack:///./jslib/src/importers/blackBerryCsvImporter.ts","webpack:///./jslib/src/importers/blurCsvImporter.ts","webpack:///./jslib/src/importers/buttercupCsvImporter.ts","webpack:///./jslib/src/importers/chromeCsvImporter.ts","webpack:///./jslib/src/importers/clipperzHtmlImporter.ts","webpack:///./jslib/src/importers/codebookCsvImporter.ts","webpack:///./jslib/src/importers/dashlaneJsonImporter.ts","webpack:///./jslib/src/importers/encryptrCsvImporter.ts","webpack:///./jslib/src/importers/enpassCsvImporter.ts","webpack:///./jslib/src/importers/enpassJsonImporter.ts","webpack:///./jslib/src/importers/firefoxCsvImporter.ts","webpack:///./jslib/src/importers/fsecureFskImporter.ts","webpack:///./jslib/src/importers/gnomeJsonImporter.ts","webpack:///./jslib/src/importers/kasperskyTxtImporter.ts","webpack:///./jslib/src/importers/keepass2XmlImporter.ts","webpack:///./jslib/src/importers/keepassxCsvImporter.ts","webpack:///./jslib/src/importers/keeperCsvImporter.ts","webpack:///./jslib/src/importers/lastpassCsvImporter.ts","webpack:///./jslib/src/importers/logMeOnceCsvImporter.ts","webpack:///./jslib/src/importers/meldiumCsvImporter.ts","webpack:///./jslib/src/importers/msecureCsvImporter.ts","webpack:///./jslib/src/importers/mykiCsvImporter.ts","webpack:///./jslib/src/importers/onepasswordImporters/onepassword1PifImporter.ts","webpack:///./jslib/src/importers/onepasswordImporters/onepasswordMacCsvImporter.ts","webpack:///./jslib/src/importers/onepasswordImporters/cipherImportContext.ts","webpack:///./jslib/src/models/view/view.ts","webpack:///./jslib/src/importers/onepasswordImporters/onepasswordWinCsvImporter.ts","webpack:///./jslib/src/importers/padlockCsvImporter.ts","webpack:///./jslib/src/importers/passkeepCsvImporter.ts","webpack:///./jslib/src/importers/passmanJsonImporter.ts","webpack:///./jslib/src/importers/passpackCsvImporter.ts","webpack:///./jslib/src/importers/passwordAgentCsvImporter.ts","webpack:///./jslib/src/importers/passwordBossJsonImporter.ts","webpack:///./jslib/src/importers/passwordDragonXmlImporter.ts","webpack:///./jslib/src/importers/passwordSafeXmlImporter.ts","webpack:///./jslib/src/importers/passwordWalletTxtImporter.ts","webpack:///./jslib/src/importers/rememBearCsvImporter.ts","webpack:///./jslib/src/importers/roboformCsvImporter.ts","webpack:///./jslib/src/importers/safeInCloudXmlImporter.ts","webpack:///./jslib/src/importers/saferpassCsvImport.ts","webpack:///./jslib/src/importers/secureSafeCsvImporter.ts","webpack:///./jslib/src/importers/splashIdCsvImporter.ts","webpack:///./jslib/src/importers/stickyPasswordXmlImporter.ts","webpack:///./jslib/src/importers/truekeyCsvImporter.ts","webpack:///./jslib/src/importers/upmCsvImporter.ts","webpack:///./jslib/src/importers/yotiCsvImporter.ts","webpack:///./jslib/src/importers/zohoVaultCsvImporter.ts","webpack:///./jslib/src/services/notifications.service.ts","webpack:///./jslib/src/models/response/notificationResponse.ts","webpack:///./jslib/src/services/policy.service.ts","webpack:///./jslib/src/models/domain/masterPasswordPolicyOptions.ts","webpack:///./jslib/src/services/search.service.ts","webpack:///./jslib/src/services/send.service.ts","webpack:///./jslib/src/models/request/sendRequest.ts","webpack:///./jslib/src/models/domain/send.ts","webpack:///./jslib/src/services/webCryptoFunction.service.ts","webpack:///./jslib/src/models/domain/decryptParameters.ts","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.component.html","webpack:///./src/app/send/access.component.ts","webpack:///./src/app/send/access.component.html","webpack:///./jslib/src/models/domain/sendAccess.ts","webpack:///./jslib/src/models/view/sendAccessView.ts","webpack:///./jslib/src/models/request/sendAccessRequest.ts","webpack:///./jslib/src/angular/directives/blur-click.directive.ts","webpack:///./jslib/src/angular/directives/box-row.directive.ts","webpack:///./jslib/src/angular/pipes/search-ciphers.pipe.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","0","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","I18nService","ApiService","PlatformUtilsService","UserService","I18nPipe","i18nService","this","transform","id","p1","p2","p3","i0","ɵɵdirectiveInject","i1","pure","MessagingService","ApiActionDirective","el","validationService","ngOnChanges","changes","_this","appApiAction","then","nativeElement","loading","response","e","showError","ElementRef","ValidationService","selectors","inputs","features","ɵɵNgOnChangesFeature","A11yTitleDirective","renderer","title","ngOnInit","hasAttribute","setAttribute","Renderer2","appA11yTitle","CryptoService","CipherService","BaseResponse","getResponseProperty","propertyName","exactName","Error","undefined","otherCasePropertyName","charAt","toUpperCase","toLowerCase","papa","cipherView_1","collectionView_1","loginUriView_1","utils_1","fieldView_1","folderView_1","loginView_1","secureNoteView_1","cipherType_1","fieldType_1","secureNoteType_1","consoleLog_service_1","BaseImporter","organizationId","logService","ConsoleLogService","newLineRegex","passwordFieldNames","usernameFieldNames","notesFieldNames","uriFieldNames","parseCsvOptions","encoding","skipEmptyLines","parseXml","doc","DOMParser","parseFromString","querySelector","parseCsv","header","options","parseOptions","assign","splitNewLine","join","trim","parse","errors","forEach","row","warning","message","parseSingleRowCsv","rowData","isNullOrWhitespace","parsedRow","makeUriArray","uri","loginUri","LoginUriView","fixUri","match","returnArr_1","u","indexOf","substring","nameFromUrl","url","hostname","Utils","getHostname","startsWith","replace","str","getValueOrDefault","defaultValue","split","getCardBrand","cardNum","re","RegExp","test","setCardExpiration","cipher","expiration","parts","month","year","substr","card","expMonth","expYear","moveFoldersToCollections","folderRelationships","collectionRelationships","collections","folders","map","f","collection","CollectionView","querySelectorDirectChild","parentEl","query","els","querySelectorAllDirectChild","Array","from","querySelectorAll","filter","parentNode","initLoginCipher","CipherView","favorite","notes","fields","login","LoginView","type","CipherType","Login","cleanupCipher","processKvp","FieldType","Text","search","field","FieldView","processFolder","folderName","folderIndex","hasFolder","addFolder","FolderView","ciphers","convertToNoteIfNeeded","username","password","uris","SecureNote","secureNote","SecureNoteView","SecureNoteType","Generic","ImportResult","success","ɵɵelement","ɵɵclassMapInterpolate1","ctx_r1","icon","ɵɵelementStart","ɵɵtext","ɵɵtemplate","CalloutComponent_h3_2_i_2_Template","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ctx_r0","ɵɵtextInterpolate1","CalloutComponent","calloutStyle","ngContentSelectors","_c0","decls","vars","consts","template","rf","ctx","CalloutComponent_h3_2_Template","ɵɵprojection","tldjs","nodeURL","init","inited","isNode","process","release","isBrowser","isNativeScript","isMobileBrowser","isMobile","isAppleMobileBrowser","isAppleMobile","global","fromB64ToArray","Uint8Array","Buffer","binaryString","atob","bytes","charCodeAt","fromUrlB64ToArray","fromUrlB64ToB64","fromHexToArray","parseInt","fromUtf8ToArray","strUtf8","unescape","encodeURIComponent","arr","fromByteStringToArray","fromBufferToB64","buffer","toString","binary","byteLength","String","fromCharCode","btoa","fromBufferToUrlB64","fromB64toUrlB64","b64Str","fromBufferToUtf8","encodedString","decodeURIComponent","escape","fromBufferToByteString","fromBufferToHex","x","urlB64Str","output","fromUrlB64ToUtf8","fromB64ToUtf8","newGuid","Math","random","isGuid","uriString","getUrl","_a","getHost","host","getDomain","httpUrl","tldEndingRegex","getUrlObject","validIpAddress","urlDomain","domain","getQueryParams","Map","pair","set","getSortFunction","prop","a","b","collator","compare","localeCompare","ipString","win","mobile","navigator","userAgent","vendor","opera","URL","hasProtocol","anchor","document","createElement","href","PasswordGenerationService","StateService","StopClickDirective","onClick","$event","preventDefault","hostBindings","CollectionService","StorageService","InputVerbatimDirective","condition","disableComplete","appInputVerbatim","FolderService","PolicyService","StopPropDirective","stopPropagation","AuthService","AutofocusDirective","autofocus","focus","appAutofocus","SyncService","ConstantsService","environmentUrlsKey","disableGaKey","disableAddLoginNotificationKey","disableContextMenuItemKey","disableFaviconKey","disableAutoTotpCopyKey","enableAutoFillOnPageLoadKey","vaultTimeoutKey","vaultTimeoutActionKey","lastActiveKey","neverDomainsKey","installedVersionKey","localeKey","themeKey","collapsedGroupingsKey","autoConfirmFingerprints","dontShowCardsCurrentTab","dontShowIdentitiesCurrentTab","defaultUriMatch","pinProtectedKey","protectedPin","clearClipboardKey","eventCollectionKey","ssoCodeVerifierKey","ssoStateKey","biometricUnlockKey","biometricText","biometricAwaitingAcceptance","biometricFingerprintValidated","disableChangedPasswordNotificationKey","EventService","EnvironmentService","PasswordVerificationRequest","cipherString_1","Domain","buildDomainModel","dataObj","alreadyEncrypted","notEncList","objProp","CipherString","buildDataModel","notCipherStringList","encryptedString","decryptObj","viewModel","orgId","promises","self","theProp","Promise","resolve","mapProp","decrypt","val","all","sent","jq","modal_component_1","ModalComponent","_super","componentFactoryResolver","messagingService","__extends","ngOnDestroy","show","parentContainer","fade","setComponentParameters","factory","resolveComponentFactory","componentRef","container","createComponent","instance","modals","modal","on","onShow","emit","send","onShown","find","onClose","onClosed","clear","close","ComponentFactoryResolver","ɵɵInheritDefinitionFeature","ModalComponent_ng_template_0_Template","ɵɵtemplateRefExtractor","SearchService","AuditService","CardView","cardholderName","code","_brand","_number","_subTitle","repeat","brand","number","count","exp","formatYear","TokenService","CryptoFunctionService","encryptionType_1","encryptedStringOrType","iv","mac","encType","encryptionType","headerPieces","encPieces","EncryptionType","AesCbc128_HmacSha256_B64","AesCbc256_B64","AesCbc256_HmacSha256_B64","Rsa2048_OaepSha256_B64","Rsa2048_OaepSha1_B64","decryptedValue","containerService","bitwardenContainerService","cryptoService","getCryptoService","getOrgKey","_b","decryptToUtf8","constants_service_1","ɵɵpropertyInterpolate","fallbackImage","image","ɵɵsanitizeUrl","IconMap","fa-globe","fa-sticky-note-o","fa-id-card-o","fa-credit-card","fa-android","fa-apple","IconComponent","environmentService","stateService","iconsUrl","baseUrl","imageEnabled","load","setLoginIcon","Card","Identity","hostnameUri","isWebsite","i2","IconComponent_img_2_Template","IconComponent_i_4_Template","VaultTimeoutService","TwoFactorProviderType","TotpService","broadcaster_service_1","BroadcasterService","ɵfac","paymentMethodType_1","webConstants_1","ɵɵlistener","ɵɵrestoreView","_r9","ɵɵnextContext","method","changeMethod","ctx_r5","paymentMethodType","BankAccount","ɵɵpipeBind1","_r12","ctx_r6","PayPal","_r15","ctx_r7","Credit","_r18","PaymentComponent_div_0_div_13_Template","PaymentComponent_div_0_div_15_Template","PaymentComponent_div_0_div_17_Template","hideBank","hidePaypal","hideCredit","ɵɵelementContainerStart","ɵɵelementContainerEnd","ɵɵtextInterpolate","_r21","bank","routing_number","account_number","account_holder_name","account_holder_type","ɵɵtextInterpolate2","ctx_r2","StripeElementStyle","base","color","fontFamily","fontSize","fontSmoothing","invalid","StripeElementClasses","empty","PaymentComponent","platformUtilsService","apiService","showMethods","showOptions","PaymentMethodType","currency","country","btInstance","stripe","stripeElements","stripeCardNumberElement","stripeCardExpiryElement","stripeCardCvcElement","stripeScript","src","async","onload","Stripe","isDev","WebConstants","stripeTestKey","stripeLiveKey","elements","setStripeElement","btScript","head","appendChild","removeChild","setTimeout","body","btStylesheet","braintree","dropin","authorization","btSandboxKey","btProductionKey","paymentOptionPriority","paypal","flow","buttonStyle","label","size","shape","createErr","console","error","createPaymentToken","reject","requestPaymentMethod","payload","nonce","catch","err","postSetupPayment","clientSecret","handleCardSetup","setupIntent","status","payment_method","createToken","token","handleStripeCardPayment","successCallback","__awaiter","paymentIntent","style","classes","placeholder","mount","PaymentComponent_div_0_Template","PaymentComponent_ng_container_2_Template","PaymentComponent_ng_container_4_Template","PaymentComponent_ng_container_6_Template","PaymentComponent_ng_container_8_Template","revisionDate","AvatarComponent","sanitizer","cryptoFunctionService","charCount","textColor","fontWeight","dynamic","circle","generate","email","hash","hashBytes","chars","upperData","getFirstLetters","charObj","getCharText","stringToColor","svg","getSvg","html","outerHTML","svgHtml","text","svgTag","backgroundColor","width","height","character","textTag","textContent","DomSanitizer","i3","Collection","obj","externalId","readOnly","hidePasswords","default","core_1","organizationTaxInfoUpdateRequest_1","taxInfoUpdateRequest_1","_r4","taxInfo","includeTaxId","_r6","taxId","_r8","line1","line2","city","state","TaxInfoComponent","route","onCountryChanged","EventEmitter","postalCode","pristine","parent","params","subscribe","getOrganizationTaxInfo","getTaxInfo","getTaxRates","taxRates","localTaxRate","rate","getTaxInfoRequest","request","OrganizationTaxInfoUpdateRequest","TaxInfoUpdateRequest","submitTaxInfo","hasChanged","putOrganizationTaxInfo","putTaxInfo","changeCountry","ActivatedRoute","outputs","TaxInfoComponent_div_779_Template","TaxInfoComponent_div_782_Template","TaxInfoComponent_div_784_Template","cardView_1","identityView_1","folderId","organizationUseTotp","edit","viewPassword","identity","IdentityView","attachments","passwordHistory","collectionIds","deletedDate","localData","subTitle","hasAttachments","passwordRevisionDate","middleName","address1","address2","address3","company","phone","ssn","passportNumber","licenseNumber","_firstName","_lastName","firstName","lastName","name_1","address","addressPart2","CollectionData","collection_1","attachmentData_1","cardData_1","fieldData_1","identityData_1","loginData_1","passwordHistoryData_1","secureNoteData_1","CipherData","userId","LoginData","SecureNoteData","CardData","IdentityData","FieldData","AttachmentData","ph","PasswordHistoryData","totp","hasUris","some","canLaunch","launchUri","SendType","PolicyType","twoFactorProviderType_1","passwordVerificationRequest_1","TwoFactorVerifyComponent","toasterService","onAuthed","submit","masterPassword","popAsync","hashPassword","masterPasswordHash","_d","formPromise","getTwoFactorRecover","Duo","OrganizationDuo","getTwoFactorOrganizationDuo","getTwoFactorDuo","Email","getTwoFactorEmail","U2f","getTwoFactorU2f","Authenticator","getTwoFactorAuthenticator","Yubikey","getTwoFactorYubiKey","ToasterService","i4","_r0","ExportService","cipherData_1","attachment_1","card_1","domainBase_1","field_1","identity_1","login_1","password_1","secureNote_1","Cipher","Date","Attachment","Field","Password","encKey","model","_f","_c","_e","attachments_1","reduce","promise","attachment","decAttachment","fields_1","decField","passwordHistory_1","decPh","toCipherData","toISOString","toLoginData","toSecureNoteData","toCardData","toIdentityData","toFieldData","toAttachmentData","toPasswordHistoryData","newField","showValue","cardApi_1","fieldApi_1","identityApi_1","loginApi_1","loginUriApi_1","secureNoteApi_1","attachmentRequest_1","CipherRequest","lastKnownRevisionDate","LoginApi","LoginUriApi","SecureNoteApi","CardApi","IdentityApi","FieldApi","lastUsedDate","attachments2","fileName","attachmentRequest","AttachmentRequest","router_1","RouterService","router","activatedRoute","titleService","previousUrl","currentUrl","events","event","NavigationEnd","titleId","rawTitle","child","firstChild","snapshot","newTitle","setTitle","getPreviousUrl","setPreviousUrl","ɵɵinject","Router","Title","KdfType","PasswordStrengthComponent","showText","scoreWidth","score","PasswordStrengthComponent_ng_container_4_Template","ɵɵpureFunction1","ɵɵattribute","OrganizationUserStatusType","SearchPipe","items","searchText","prop1","prop2","prop3","deviceType_1","eventType_1","getDefaultDateFilters","end","getFullYear","getMonth","getDate","setDate","start","toDateTimeLocalString","formatDateFilters","filterStart","filterEnd","isNaN","getTime","getEventInfo","ev","EventOptions","appInfo","getAppInfo","deviceType","getEventMessage","appIcon","appName","msg","EventType","User_LoggedIn","User_ChangedPassword","User_Updated2fa","User_Disabled2fa","User_Recovered2fa","User_FailedLogIn","User_FailedLogIn2fa","User_ClientExportedVault","Cipher_Created","formatCipherId","Cipher_Updated","Cipher_Deleted","Cipher_SoftDeleted","Cipher_Restored","Cipher_AttachmentCreated","Cipher_AttachmentDeleted","Cipher_Shared","Cipher_ClientViewed","Cipher_ClientToggledPasswordVisible","Cipher_ClientToggledHiddenFieldVisible","Cipher_ClientToggledCardCodeVisible","Cipher_ClientCopiedHiddenField","Cipher_ClientCopiedPassword","Cipher_ClientCopiedCardCode","Cipher_ClientAutofilled","Cipher_UpdatedCollections","Collection_Created","formatCollectionId","Collection_Updated","Collection_Deleted","Group_Created","formatGroupId","Group_Updated","Group_Deleted","OrganizationUser_Invited","formatOrgUserId","OrganizationUser_Confirmed","OrganizationUser_Updated","OrganizationUser_Removed","OrganizationUser_UpdatedGroups","OrganizationUser_UnlinkedSso","Organization_Updated","Organization_PurgedVault","Policy_Updated","formatPolicyId","DeviceType","Android","iOS","UWP","ChromeExtension","FirefoxExtension","OperaExtension","EdgeExtension","VivaldiExtension","SafariExtension","WindowsDesktop","MacOsDesktop","LinuxDesktop","ChromeBrowser","FirefoxBrowser","OperaBrowser","SafariBrowser","VivaldiBrowser","EdgeBrowser","IEBrowser","UnknownBrowser","shortId","getShortId","cipherId","cipherInfo","makeAnchor","groupId","collectionId","organizationUserId","policyId","innerHTML","date","pad","getHours","getMinutes","num","norm","floor","abs","EventInfo","twoFactorProviderRequest_1","TwoFactorBaseComponent","analytics","onUpdated","twoFactorProviderType","enabled","authed","auth","authResponse","enable","enableFunction","eventTrack","next","action","disable","showDialog","TwoFactorProviderRequest","putTwoFactorOrganizationDisable","putTwoFactorDisable","Angulartics2","i5","add_edit_component_1","add_edit_component_2","CipherReportComponent","userService","requiresPaid","hasLoaded","setCiphers","selectCipher","childComponent","cipherAddEditModalRef","organization","AddEditComponent","onSavedCipher","onDeletedCipher","onRestoredCipher","checkAccess","useTotp","canAccessPremium","accessPremium","viewQuery","ViewContainerRef","uriMatchType_1","CanLaunchWhitelist","_uri","_domain","_hostname","_host","_canLaunch","UriMatchType","RegularExpression","o_r17","_r19","AddEditComponent_div_20_div_4_option_10_Template","isDeleted","typeOptions","f_r21","_r23","AddEditComponent_div_20_div_17_option_8_Template","viewOnly","_r31","ctx_r30","copy","_r35","generatePassword","AddEditComponent_div_20_ng_container_21_div_26_a_2_Template","_r37","checkPassword","ctx_r25","checkPasswordPromise","_r33","_r41","premiumRequired","_r43","upgradeOrganization","AddEditComponent_div_20_ng_container_21_div_64_a_5_Template","AddEditComponent_div_20_ng_container_21_div_64_a_7_Template","ctx_r26","ɵɵnamespaceSVG","ɵɵnamespaceHTML","_r45","ctx_r44","totpCode","ctx_r27","totpSec","totpDash","totpCodeFormatted","o_r51","_r54","u_r47","$implicit","removeUri","_r56","launch","loginUriMatchChanged","AddEditComponent_div_20_ng_container_21_ng_container_70_div_2_option_49_Template","AddEditComponent_div_20_ng_container_21_ng_container_70_div_2_button_52_Template","ɵɵpropertyInterpolate1","i_r48","ɵɵpipeBind2","ctx_r46","uriMatchOptions","AddEditComponent_div_20_ng_container_21_ng_container_70_div_2_Template","ctx_r28","trackByFunction","_r62","addUri","_r64","AddEditComponent_div_20_ng_container_21_div_14_Template","AddEditComponent_div_20_ng_container_21_div_26_Template","togglePassword","ctx_r67","AddEditComponent_div_20_ng_container_21_div_64_Template","AddEditComponent_div_20_ng_container_21_div_66_Template","AddEditComponent_div_20_ng_container_21_ng_container_70_Template","AddEditComponent_div_20_ng_container_21_a_72_Template","showPassword","ɵɵpureFunction2","_c1","_c2","totpLow","o_r71","o_r72","_r74","AddEditComponent_div_20_ng_container_24_option_21_Template","ctx_r77","AddEditComponent_div_20_ng_container_24_option_57_Template","toggleCardCode","ctx_r82","ctx_r8","cardBrandOptions","cardExpMonthOptions","showCardCode","o_r84","_r86","AddEditComponent_div_20_ng_container_27_option_12_Template","ctx_r9","identityTitleOptions","_r114","f_r105","i_r106","ctx_r107","_r120","toggleFieldValue","ctx_r123","fieldType","Hidden","ctx_r108","_r128","ctx_r109","_r132","removeField","_r134","AddEditComponent_div_20_div_42_div_2_div_28_Template","AddEditComponent_div_20_div_42_div_2_div_30_Template","AddEditComponent_div_20_div_42_div_2_input_34_Template","AddEditComponent_div_20_div_42_div_2_button_37_Template","AddEditComponent_div_20_div_42_div_2_button_39_Template","ctx_r104","Boolean","_r136","drop","AddEditComponent_div_20_div_42_div_2_Template","ctx_r10","_r138","addField","o_r140","_r142","addFieldType","AddEditComponent_div_20_div_46_option_10_Template","ctx_r12","addFieldTypeOptions","o_r144","_r146","organizationChanged","AddEditComponent_div_20_ng_container_48_option_16_Template","ctx_r13","ownershipOptions","_r154","checked","i_r152","c_r151","ctx_r150","AddEditComponent_div_20_ng_container_50_ng_container_8_div_2_Template","ctx_r149","AddEditComponent_div_20_ng_container_50_div_6_Template","AddEditComponent_div_20_ng_container_50_ng_container_8_Template","ctx_r14","ctx_r155","passwordRevisionDisplayDate","_r159","viewHistory","ctx_r156","ph_r161","AddEditComponent_div_20_ng_container_52_div_16_div_2_Template","ctx_r157","AddEditComponent_div_20_ng_container_52_div_12_Template","AddEditComponent_div_20_ng_container_52_div_14_Template","AddEditComponent_div_20_ng_container_52_div_16_Template","ctx_r15","showRevisionDate","hasPasswordHistory","viewingPasswordHistory","AddEditComponent_div_20_app_callout_2_Template","AddEditComponent_div_20_div_4_Template","_r163","AddEditComponent_div_20_div_17_Template","AddEditComponent_div_20_ng_container_21_Template","AddEditComponent_div_20_ng_container_24_Template","AddEditComponent_div_20_ng_container_27_Template","AddEditComponent_div_20_div_42_Template","AddEditComponent_div_20_a_44_Template","AddEditComponent_div_20_div_46_Template","AddEditComponent_div_20_ng_container_48_Template","AddEditComponent_div_20_ng_container_50_Template","AddEditComponent_div_20_ng_container_52_Template","allowOwnershipAssignment","allowPersonal","editMode","cipherType","hasFields","cloneMode","_r168","toggleFavorite","ctx_r165","_c3","_r171","delete","ctx_r166","_r169","deletePromise","AddEditComponent_div_30_button_2_Template","AddEditComponent_div_30_button_4_Template","ctx_r3","cipherService","folderService","auditService","collectionService","totpService","passwordGenerationService","eventService","policyService","cleanUp","totpUpdateCode","interval_1","getTimeInterval","totpTick","totpInterval","setInterval","typeI18nKey","aType","copyToClipboard","showToast","collect","confirmed","getOptions","clearInterval","getCode","half","intervalSeconds","epoch","round","mod","i6","i7","i8","i9","i10","i11","i12","i13","AddEditComponent_div_20_Template","AddEditComponent_button_24_Template","AddEditComponent_div_30_Template","ImportService","ciphers_component_1","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_20_ng_container_9_Template","showFixOldAttachments","c_r5","_r24","_r27","_r30","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_40_a_8_Template","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_40_a_10_Template","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_40_a_12_Template","displayTotpCopyButton","_r34","clone","share","_r40","_r46","restore","_r48","checkCipher","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_18_Template","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_20_Template","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_40_Template","CiphersComponent_ng_container_0_table_2_tr_4_a_48_Template","CiphersComponent_ng_container_0_table_2_tr_4_a_50_Template","CiphersComponent_ng_container_0_table_2_tr_4_a_52_Template","CiphersComponent_ng_container_0_table_2_tr_4_a_54_Template","CiphersComponent_ng_container_0_table_2_tr_4_a_56_Template","ctx_r4","accessEvents","loadMore","CiphersComponent_ng_container_0_table_2_tr_4_Template","isPaging","filteredCiphers_r1","addCipher","CiphersComponent_ng_container_0_div_4_ng_container_4_button_6_Template","ctx_r59","showAddNew","CiphersComponent_ng_container_0_div_4_ng_container_2_Template","CiphersComponent_ng_container_0_div_4_ng_container_4_Template","loaded","CiphersComponent_ng_container_0_table_2_Template","CiphersComponent_ng_container_0_div_4_Template","CiphersComponent","searchService","onAttachmentsClicked","onShareClicked","onCollectionsClicked","onCloneClicked","userHasPremiumAccess","pageSize","selectAll","actionPromise","permanent","deleteCipher","refresh","restoreWithServer","select","selectCount","getSelected","getSelectedIds","hasTotp","deleteWithServer","softDeleteWithServer","hasOldAttachments","CiphersComponent_ng_container_0_Template","pagedCiphers","SendService","authResult_1","deviceRequest_1","keysRequest_1","preloginRequest_1","tokenRequest_1","TwoFactorProviders","description","priority","sort","premium","tokenService","appIdService","vaultTimeoutService","setCryptoKeys","selectedTwoFactorProviderType","logIn","makePreloginKey","hashedPassword","logInHelper","logInSso","codeVerifier","redirectUrl","logInApiKey","clientId","logInTwoFactor","twoFactorProvider","twoFactorToken","remember","ssoRedirectUrl","logInComplete","logInSsoComplete","logInApiKeyComplete","logOut","callback","getSupportedTwoFactorProviders","providers","twoFactorProvidersData","has","supportsDuo","supportsU2f","getDefaultTwoFactorProvider","u2fSupported","providerType","providerPriority","provider","kdf","kdfIterations","postPrelogin","PreloginRequest","preloginResponse","e_1","statusCode","makeKey","authingWithApiKey","authingWithSso","authingWithPassword","getTwoFactorToken","storedTwoFactorToken","getAppId","appId","deviceRequest","DeviceRequest","emailPassword","codeCodeVerifier","clientIdClientSecret","TokenRequest","Remember","postIdentityToken","clearState","AuthResult","twoFactor","accessToken","twoFactorResponse","twoFactorProviders2","twoFactorProviders","tokenResponse","resetMasterPassword","setTwoFactorToken","setTokens","refreshToken","setInformation","getUserId","getEmail","setKey","setKeyHash","setEncKey","privateKey","makeKeyPair","keyPair","postAccountKeys","KeysRequest","e_2","setEncPrivateKey","biometricLocked","SelectionReadOnlyRequest","OrganizationUserType","SettingsService","PlanType","payment_component_1","tax_info_component_1","planType_1","policyType_1","productType_1","organizationCreateRequest_1","organizationUpgradeRequest_1","_r5","_r3","_r14","billingEmail","_r17","businessName","selectableProduct_r18","trialPeriodDays","OrganizationPlansComponent_form_4_div_24_ng_container_11_small_6_Template","OrganizationPlansComponent_form_4_div_24_ng_container_11_small_8_Template","OrganizationPlansComponent_form_4_div_24_ng_container_11_small_10_Template","OrganizationPlansComponent_form_4_div_24_ng_container_11_small_12_Template","hasSelfHost","hasSso","hasPolicies","maxUsers","maxCollections","maxAdditionalSeats","baseStorageGb","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_1_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_3_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_5_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_7_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_9_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_11_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_13_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_15_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_17_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_19_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_21_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_23_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_25_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_27_Template","product","ctx_r21","productTypes","Free","hasGroups","hasApi","hasDirectory","usersGetPremium","ɵɵtextInterpolate3","seatPrice","OrganizationPlansComponent_form_4_div_24_span_16_ng_container_2_ng_container_5_Template","basePrice","baseSeats","hasAdditionalSeatsOption","OrganizationPlansComponent_form_4_div_24_span_16_ng_container_2_Template","_r59","changedProduct","OrganizationPlansComponent_form_4_div_24_ng_container_11_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_Template","OrganizationPlansComponent_form_4_div_24_span_16_Template","OrganizationPlansComponent_form_4_div_24_span_18_Template","OrganizationPlansComponent_form_4_div_24_span_20_Template","nameLocalizationKey","descriptionLocalizationKey","Enterprise","_r20","_r69","additionalSeats","ctx_r61","_r71","ctx_r62","ɵɵpipeBind3","selectedPlan","seatPriceMonthly","_r73","premiumAccessAddon","ctx_r63","ɵɵtextInterpolate5","selectablePlan_r74","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_small_5_span_2_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_small_5_span_4_Template","ctx_r78","seatTotal","ɵɵtextInterpolate6","ctx_r79","additionalStorage","additionalStoragePricePerGb","additionalStorageTotal","premiumAccessOptionCost","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_small_3_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_small_5_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_small_7_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_small_9_Template","hasAdditionalStorageOption","hasPremiumAccessOption","ctx_r75","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_small_5_span_2_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_small_5_span_4_Template","ctx_r89","ctx_r90","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_small_3_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_small_5_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_small_7_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_small_9_Template","ctx_r76","_r100","plan","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_Template","ctx_r64","isAnnual","selectedPlanInterval","OrganizationPlansComponent_form_4_div_26_ng_container_2_Template","OrganizationPlansComponent_form_4_div_26_div_8_Template","_r102","OrganizationPlansComponent_form_4_div_26_div_31_Template","OrganizationPlansComponent_form_4_div_26_div_38_Template","OrganizationPlansComponent_form_4_div_26_app_payment_46_Template","changedCountry","OrganizationPlansComponent_form_4_div_26_ng_container_80_Template","OrganizationPlansComponent_form_4_div_26_small_82_Template","ɵɵpipeBind4","additionalStoragePriceMonthly","selectablePlans","createOrganization","subtotal","taxCharges","total","_r105","cancel","_r107","OrganizationPlansComponent_form_4_div_7_Template","ownedBusiness","changedOwnedBusiness","OrganizationPlansComponent_form_4_div_18_Template","OrganizationPlansComponent_form_4_div_24_Template","OrganizationPlansComponent_form_4_div_26_Template","OrganizationPlansComponent_form_4_div_28_Template","OrganizationPlansComponent_form_4_button_42_Template","selectableProducts","singleOrgPolicyBlock","showCancel","OrganizationPlansComponent","syncService","showFree","ProductType","onSuccess","onCanceled","selfHosted","isSelfHost","getPlans","plans","Teams","validPlans","Custom","canBeUsedByBusiness","legacyYear","disabled","subTotal","premiumAccessOptionPrice","taxComponent","taxRate","TeamsAnnually","paymentComponent","getAll","SingleOrg","policies","policy","files","fileEl","getElementById","doSubmit","tokenResult","makeShareKey","shareKey","encrypt","collectionCt","fd","FormData","append","postOrganizationLicense","OrganizationCreateRequest","collectionName","planType","paymentToken","additionalStorageGb","billingAddressPostalCode","billingAddressCountry","taxIdNumber","billingAddressLine1","billingAddressLine2","billingAddressCity","billingAddressState","postOrganization","OrganizationUpgradeRequest","postOrganizationUpgrade","paymentIntentClientSecret","refreshIdentityToken","fullSync","navigate","OrganizationPlansComponent_ng_container_0_Template","OrganizationPlansComponent_ng_container_2_Template","OrganizationPlansComponent_form_4_Template","SymmetricCryptoKey","macKey","keyB64","encKeyB64","macKeyB64","loginUri_1","LoginUri","view","toLoginUriData","loginUriData_1","LoginUriData","forms_1","TrueFalseValueDirective","elementRef","trueValue","falseValue","propagateChange","_","onHostChange","target","writeValue","setProperty","registerOnChange","fn","registerOnTouched","setDisabledState","isDisabled","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","multi","groupings_component_1","selectFavorites","selectedFavorites","_r7","selectTrash","selectedTrash","_r22","f_r15","collapse","node","ctx_r16","isCollapsed","_r26","editFolder","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_li_1_ul_14_ng_container_2_Template","_r10","children","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_li_1_i_4_Template","selectFolder","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_li_1_i_8_Template","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_li_1_a_11_Template","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_li_1_ul_14_Template","selectedFolder","selectedFolderId","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_li_1_Template","folders_r13","_r32","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_Template","GroupingsComponent_ng_container_78_ng_container_2_ng_container_17_Template","nestedFolders","_r44","c_r38","ctx_r39","GroupingsComponent_ng_container_78_ng_container_4_ng_template_8_li_1_ul_9_ng_container_2_Template","GroupingsComponent_ng_container_78_ng_container_4_ng_template_8_li_1_i_2_Template","_r49","selectCollection","GroupingsComponent_ng_container_78_ng_container_4_ng_template_8_li_1_i_6_Template","GroupingsComponent_ng_container_78_ng_container_4_ng_template_8_li_1_ul_9_Template","ctx_r37","selectedCollectionId","GroupingsComponent_ng_container_78_ng_container_4_ng_template_8_li_1_Template","collections_r36","GroupingsComponent_ng_container_78_ng_container_4_ng_template_8_Template","GroupingsComponent_ng_container_78_ng_container_4_ng_container_11_Template","nestedCollections","GroupingsComponent_ng_container_78_ng_container_2_Template","GroupingsComponent_ng_container_78_ng_container_4_Template","showFolders","showCollections","GroupingsComponent","storageService","onSearchTextChanged","searchPlaceholder","searchTextChanged","GroupingsComponent_li_28_Template","GroupingsComponent_li_30_Template","selectType","GroupingsComponent_p_76_Template","GroupingsComponent_ng_container_78_Template","selectedAll","showFavorites","showTrash","selectedType","organizationUserStatusType_1","organizationUserType_1","Organization","usePolicies","useGroups","useDirectory","useEvents","use2fa","useApi","useBusinessPortal","useSso","selfHost","seats","maxStorageGb","ssoBound","identifier","permissions","Owner","Confirmed","Manager","Admin","isAdmin","accessBusinessPortal","accessEventLogs","accessImportExport","accessReports","manageAllCollections","isManager","manageAssignedCollections","manageGroups","manageSso","managePolicies","manageUsers","SendFileView","sizeName","SendTextView","hidden","OrganizationsComponent_ng_container_0_ng_container_4_ul_2_li_2_ng_container_6_Template","o_r7","OrganizationsComponent_ng_container_0_ng_container_4_ul_2_li_2_Template","organizations","OrganizationsComponent_ng_container_0_ng_container_4_ul_2_Template","OrganizationsComponent_ng_container_0_ng_container_4_p_4_Template","OrganizationsComponent_ng_container_0_p_2_Template","OrganizationsComponent_ng_container_0_ng_container_4_Template","_r25","unlinkSso","OrganizationsComponent_ng_container_2_ng_container_19_table_4_tr_4_ng_container_27_a_2_Template","OrganizationsComponent_ng_container_2_ng_container_19_table_4_tr_4_ng_container_27_ng_template_4_Template","OrganizationsComponent_ng_container_2_ng_container_19_table_4_tr_4_ng_container_12_Template","OrganizationsComponent_ng_container_2_ng_container_19_table_4_tr_4_ng_container_27_Template","_r29","leave","OrganizationsComponent_ng_container_2_ng_container_19_table_4_tr_4_Template","OrganizationsComponent_ng_container_2_ng_container_19_ng_container_2_Template","OrganizationsComponent_ng_container_2_ng_container_19_table_4_Template","OrganizationsComponent_ng_container_2_ng_container_10_Template","OrganizationsComponent_ng_container_2_a_14_Template","OrganizationsComponent_ng_container_2_ng_container_17_Template","OrganizationsComponent_ng_container_2_ng_container_19_Template","OrganizationsComponent","vault","getAllOrganizations","orgs","org","deleteSsoUser","postLeaveOrganization","OrganizationsComponent_ng_container_0_Template","OrganizationsComponent_ng_container_2_Template","SelectionReadOnlyResponse","NavbarComponent","getName","lock","NavbarComponent_div_49_Template","FooterComponent","version","getApplicationVersion","defaultErrorMessage","validationErrors","concat","getAllMessages","timeout","publicKey","encryptedPrivateKey","ChangePasswordComponent","getMasterPasswordPolicyOptions","enforcedPolicyOptions","getPasswordScoreAlertDisplay","minComplexity","strongPassword","setupSubmitActions","getKdf","getKdfIterations","getEncKey","makeEncKey","remakeEncKey","performSubmitActions","masterPasswordRetype","strengthResult","passwordStrength","getPasswordStrengthUserInput","evaluateMasterPassword","updatePasswordStrength","masterPasswordStrengthTimeout","clearTimeout","masterPasswordScore","userInput","atPosition","selectionReadOnlyRequest_1","selectedCount","u_r11","EntityUsersComponent_div_26_ng_container_30_tr_32_td_21_ng_container_2_Template","accessAll","_r28","check","selectedChanged","EntityUsersComponent_div_26_ng_container_30_tr_32_span_14_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_span_16_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_small_18_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_td_21_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_span_25_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_span_27_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_span_29_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_span_31_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_span_33_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_td_36_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_td_38_Template","entity","organizationUserStatusType","Invited","Accepted","organizationUserType","User","EntityUsersComponent_div_26_ng_container_30_th_18_Template","EntityUsersComponent_div_26_ng_container_30_th_24_Template","EntityUsersComponent_div_26_ng_container_30_th_26_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_Template","searchedUsers_r3","filterSelected","EntityUsersComponent_div_26_span_23_Template","EntityUsersComponent_div_26_ng_container_28_Template","EntityUsersComponent_div_26_ng_container_30_Template","showSelected","EntityUsersComponent","onEditedUsers","allUsers","loadUsers","getOrganizationUsers","users","getGroupUsers","entityId","user","getCollectionUsers","selections","putGroupUsers","putCollectionUsers","entityName","EntityUsersComponent_div_24_Template","EntityUsersComponent_div_26_Template","ɵɵpipeBindV","e_r9","userEmail","userName","EntityEventsComponent_div_24_table_36_tr_27_td_14_Template","ɵɵpropertyInterpolate2","ip","showUser","ɵɵsanitizeHtml","EntityEventsComponent_div_24_table_36_th_17_Template","EntityEventsComponent_div_24_table_36_tr_27_Template","loadEvents","morePromise","_r16","EntityEventsComponent_div_24_div_34_Template","EntityEventsComponent_div_24_table_36_Template","EntityEventsComponent_div_24_button_38_Template","refreshPromise","continuationToken","EntityEventsComponent","orgUsersUserIdMap","orgUsersIdMap","defaultDates","clearExisting","dates","getEventsOrganizationUser","getEventsCipher","actingUserId","eventInfo","ipAddress","EntityEventsComponent_small_11_Template","EntityEventsComponent_div_22_Template","EntityEventsComponent_div_24_Template","PermissionsApi","manageCiphers","apiKeyWarning","scope","grantType","isRotation","ApiKeyComponent","postKey","apiKey","keyType","ApiKeyComponent_ng_container_27_Template","ApiKeyComponent_app_callout_29_Template","ApiKeyComponent_app_callout_31_Template","ApiKeyComponent_button_36_Template","apiKeyTitle","apiKeyDescription","PurgeVaultComponent","postPurgeCiphers","transactionType_1","verifyBankRequest_1","addCredit","closeAddCredit","verifyBank","verifyAmount1","verifyAmount2","ctx_r20","verifyBankPromise","UserBillingComponent_ng_container_11_ng_container_25_app_callout_2_Template","UserBillingComponent_ng_container_11_ng_container_25_span_8_Template","paymentSource","needsVerification","ɵɵpureFunction6","Check","AppleInApp","GoogleInApp","paymentSourceInApp","changePayment","closePayment","UserBillingComponent_ng_container_11_table_37_tr_4_span_25_Template","UserBillingComponent_ng_container_11_table_37_tr_4_span_27_Template","i_r33","pdfUrl","amount","paid","UserBillingComponent_ng_container_11_table_37_tr_4_Template","invoices","ɵɵpureFunction4","t_r37","ctx_r40","WireTransfer","BitPay","UserBillingComponent_ng_container_11_table_45_tr_4_span_8_Template","UserBillingComponent_ng_container_11_table_45_tr_4_span_10_Template","UserBillingComponent_ng_container_11_table_45_tr_4_i_15_Template","createdDate","ctx_r36","transactionType","Charge","Refund","details","refunded","UserBillingComponent_ng_container_11_table_45_tr_4_Template","transactions","UserBillingComponent_ng_container_11_button_15_Template","UserBillingComponent_ng_container_11_app_add_credit_17_Template","UserBillingComponent_ng_container_11_p_23_Template","UserBillingComponent_ng_container_11_ng_container_25_Template","UserBillingComponent_ng_container_11_button_27_Template","UserBillingComponent_ng_container_11_app_adjust_payment_29_Template","UserBillingComponent_ng_container_11_p_35_Template","UserBillingComponent_ng_container_11_table_37_Template","UserBillingComponent_ng_container_11_p_43_Template","UserBillingComponent_ng_container_11_table_45_Template","isCreditBalance","creditOrBalance","showAddCredit","showAdjustPayment","UserBillingComponent","firstLoaded","TransactionType","getOrganizationBilling","billing","getUserBilling","VerifyBankRequest","amount1","amount2","postOrganizationVerifyBank","balance","UserBillingComponent_button_6_Template","UserBillingComponent_ng_container_9_Template","UserBillingComponent_ng_container_11_Template","bitPayInvoiceRequest_1","AddCreditComponent","onAdded","ppButtonFormAction","buttonActionProduction","ppButtonBusinessId","businessIdProduction","ppLoading","buttonActionSandbox","businessIdSandbox","creditAmount","ppButtonCustomField","getOrganization","subject","returnUrl","location","ppButtonFormRef","req","BitPayInvoiceRequest","credit","creditAmountNumber","postBitPayInvoice","bitPayUrl","formatAmount","floatAmount","parseFloat","toFixed","AddCreditComponent_div_14_Template","paymentRequest_1","AdjustPaymentComponent","onAdjusted","request_1","PaymentRequest","taxInfoComponent","postAccountPayment","postOrganizationPayment","currentType","UpdateLicenseComponent","updatePromise","postAccountLicense","postOrganizationLicenseUpdate","storageRequest_1","ɵɵtextInterpolate4","storageAdjustment","storageGbPrice","adjustedStorageTotal","interval","AdjustStorageComponent","add","StorageRequest","storageGbAdjustment","paymentFailed_1","postAccountStorage","postOrganizationStorage","relativeTo","AdjustStorageComponent_div_26_Template","updateTwoFactorDuoRequest_1","two_factor_base_component_1","ikey","skey","TwoFactorDuoComponent_form_25_ng_container_5_Template","TwoFactorDuoComponent_form_25_ng_container_7_Template","TwoFactorDuoComponent_form_25_span_17_Template","TwoFactorDuoComponent_form_25_span_19_Template","TwoFactorDuoComponent","processResponse","UpdateTwoFactorDuoRequest","integrationKey","secretKey","putTwoFactorOrganizationDuo","putTwoFactorDuo","TwoFactorDuoComponent_app_two_factor_verify_23_Template","TwoFactorDuoComponent_form_25_Template","auth_service_1","two_factor_authenticator_component_1","two_factor_duo_component_1","two_factor_email_component_1","two_factor_recovery_component_1","two_factor_u2f_component_1","two_factor_yubikey_component_1","recoveryCode","TwoFactorSetupComponent_li_23_ng_container_11_Template","TwoFactorSetupComponent_li_23_a_13_Template","p_r20","manage","TwoFactorSetupComponent","showPolicyWarning","filterProvider","getTwoFactorProviders","evaluatePolicies","openModal","authenticatorModalRef","TwoFactorAuthenticatorComponent","updateStatus","yubikeyModalRef","TwoFactorYubiKeyComponent","duoModalRef","emailModalRef","TwoFactorEmailComponent","u2fModalRef","TwoFactorU2fComponent","recoveryModalRef","TwoFactorRecoveryComponent","ref","TwoFactorAuthentication","TwoFactorSetupComponent_p_7_Template","TwoFactorSetupComponent_p_9_Template","TwoFactorSetupComponent_app_callout_11_Template","TwoFactorSetupComponent_small_16_Template","TwoFactorSetupComponent_app_callout_19_Template","TwoFactorSetupComponent_li_23_Template","TwoFactorSetupComponent_ng_template_26_Template","TwoFactorSetupComponent_ng_template_29_Template","TwoFactorSetupComponent_ng_template_32_Template","TwoFactorSetupComponent_ng_template_35_Template","TwoFactorSetupComponent_ng_template_38_Template","TwoFactorSetupComponent_ng_template_41_Template","_c6","export_component_1","ExportComponent","exportService","saved","format","cipher_report_component_1","c_r6","ExposedPasswordsReportComponent_div_21_ng_container_4_tr_12_ng_container_9_Template","ExposedPasswordsReportComponent_div_21_ng_container_4_tr_12_ng_template_11_Template","ExposedPasswordsReportComponent_div_21_ng_container_4_tr_12_ng_container_14_Template","ExposedPasswordsReportComponent_div_21_ng_container_4_tr_12_ng_container_16_Template","canManageCipher","exposedPasswordMap","ExposedPasswordsReportComponent_div_21_ng_container_4_tr_12_Template","ExposedPasswordsReportComponent_div_21_app_callout_2_Template","ExposedPasswordsReportComponent_div_21_ng_container_4_Template","ExposedPasswordsReportComponent","getAllCiphers","allCiphers","exposedPasswordCiphers","passwordLeaked","exposedCount","getAllDecrypted","ExposedPasswordsReportComponent_div_21_Template","ExposedPasswordsReportComponent_ng_template_23_Template","cipher_1","cipherCreateRequest_1","cipherRequest_1","originalCipher","canManageAllCollections","loadCollections","loadCipher","getCipherAdmin","encryptCipher","saveCipher","putCipherAdmin","CipherCreateRequest","postCipherAdmin","deleteCipherAdmin","putDeleteCipherAdmin","i14","attachmentView_1","symmetricCryptoKey_1","AttachmentView","orgKey","decryptToBytes","decValue","PasswordHistoryView","o_r4","o_r6","ImportComponent_ng_container_24_option_4_Template","importOptions","ImportComponent_app_callout_30_ng_container_26_span_2_Template","ctx_r19","ImportComponent_app_callout_30_ng_container_2_Template","ImportComponent_app_callout_30_ng_container_4_Template","ImportComponent_app_callout_30_ng_container_6_Template","ImportComponent_app_callout_30_ng_container_8_Template","ImportComponent_app_callout_30_ng_container_10_Template","ImportComponent_app_callout_30_ng_container_12_Template","ImportComponent_app_callout_30_ng_container_14_Template","ImportComponent_app_callout_30_ng_container_16_Template","ImportComponent_app_callout_30_ng_container_18_Template","ImportComponent_app_callout_30_ng_container_20_Template","ImportComponent_app_callout_30_ng_container_22_Template","ImportComponent_app_callout_30_ng_container_24_Template","ImportComponent_app_callout_30_ng_container_26_Template","ImportComponent_app_callout_30_ng_container_28_Template","ImportComponent_app_callout_30_ng_container_30_Template","ImportComponent_app_callout_30_ng_container_32_Template","ImportComponent_app_callout_30_ng_container_34_Template","ImportComponent_app_callout_30_ng_container_36_Template","ImportComponent_app_callout_30_ng_container_38_Template","ImportComponent_app_callout_30_ng_container_40_Template","ImportComponent_app_callout_30_ng_container_42_Template","ImportComponent_app_callout_30_ng_container_44_Template","ImportComponent_app_callout_30_ng_container_46_Template","ImportComponent_app_callout_30_ng_container_48_Template","ImportComponent_app_callout_30_ng_container_50_Template","ImportComponent_app_callout_30_ng_container_52_Template","ImportComponent_app_callout_30_ng_container_54_Template","ImportComponent_app_callout_30_ng_container_56_Template","ImportComponent_app_callout_30_ng_container_58_Template","ImportComponent_app_callout_30_ng_container_60_Template","ImportComponent_app_callout_30_ng_container_62_Template","ImportComponent_app_callout_30_ng_container_64_Template","ImportComponent_app_callout_30_ng_container_66_Template","ImportComponent_app_callout_30_ng_container_68_Template","ImportComponent_app_callout_30_ng_container_70_Template","ImportComponent_app_callout_30_ng_container_72_Template","ImportComponent_app_callout_30_ng_container_74_Template","ImportComponent_app_callout_30_ng_container_76_Template","ImportComponent_app_callout_30_ng_container_78_Template","ImportComponent_app_callout_30_ng_container_80_Template","ImportComponent_app_callout_30_ng_container_82_Template","ImportComponent_app_callout_30_ng_container_84_Template","ImportComponent_app_callout_30_ng_container_86_Template","ImportComponent_app_callout_30_ng_container_88_Template","ImportComponent_app_callout_30_ng_container_90_Template","ImportComponent_app_callout_30_ng_container_92_Template","ImportComponent_app_callout_30_ng_container_94_Template","ImportComponent_app_callout_30_ng_container_96_Template","ImportComponent_app_callout_30_ng_container_98_Template","getFormatInstructionTitle","ImportComponent","importService","successNavigate","setImportOptions","importer","getImporter","fileContents","getFileContents","content","import","properties","results","featuredImportOptions","__spreadArrays","regularImportOptions","file","reader","FileReader","readAsText","evt","pre","onerror","ImportComponent_option_22_Template","ImportComponent_ng_container_24_Template","ImportComponent_app_callout_30_Template","ctx_r11","cipherDocs","c_r8","InactiveTwoFactorReportComponent_div_15_ng_container_4_tr_12_ng_container_13_Template","InactiveTwoFactorReportComponent_div_15_ng_container_4_tr_12_ng_container_15_Template","InactiveTwoFactorReportComponent_div_15_ng_container_4_tr_12_a_25_Template","InactiveTwoFactorReportComponent_div_15_ng_container_4_tr_12_Template","InactiveTwoFactorReportComponent_div_15_app_callout_2_Template","InactiveTwoFactorReportComponent_div_15_ng_container_4_Template","InactiveTwoFactorReportComponent","services","load2fa","inactive2faCiphers_1","docs_1","fetch","Request","json","categoryName","responseJson","serviceName","category","service","tfa","software","InactiveTwoFactorReportComponent_small_5_Template","InactiveTwoFactorReportComponent_div_13_Template","InactiveTwoFactorReportComponent_div_15_Template","InactiveTwoFactorReportComponent_ng_template_17_Template","ReusedPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_container_9_Template","ReusedPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_template_11_Template","ReusedPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_container_14_Template","ReusedPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_container_16_Template","passwordUseMap","ReusedPasswordsReportComponent_div_15_ng_container_4_tr_12_Template","ReusedPasswordsReportComponent_div_15_app_callout_2_Template","ReusedPasswordsReportComponent_div_15_ng_container_4_Template","ReusedPasswordsReportComponent","ciphersWithPasswords","reusedPasswordCiphers","ReusedPasswordsReportComponent_small_5_Template","ReusedPasswordsReportComponent_div_13_Template","ReusedPasswordsReportComponent_div_15_Template","ReusedPasswordsReportComponent_ng_template_17_Template","UnsecuredWebsitesReportComponent_div_15_ng_container_4_tr_12_ng_container_13_Template","UnsecuredWebsitesReportComponent_div_15_ng_container_4_tr_12_ng_container_15_Template","UnsecuredWebsitesReportComponent_div_15_ng_container_4_tr_12_Template","UnsecuredWebsitesReportComponent_div_15_app_callout_2_Template","UnsecuredWebsitesReportComponent_div_15_ng_container_4_Template","UnsecuredWebsitesReportComponent","unsecuredCiphers","UnsecuredWebsitesReportComponent_small_5_Template","UnsecuredWebsitesReportComponent_div_13_Template","UnsecuredWebsitesReportComponent_div_15_Template","UnsecuredWebsitesReportComponent_ng_template_17_Template","WeakPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_container_9_Template","WeakPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_template_11_Template","WeakPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_container_14_Template","WeakPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_container_16_Template","passwordStrengthMap","WeakPasswordsReportComponent_div_15_ng_container_4_tr_12_Template","WeakPasswordsReportComponent_div_15_app_callout_2_Template","WeakPasswordsReportComponent_div_15_ng_container_4_Template","WeakPasswordsReportComponent","passwordStrengthCache","weakPasswordCiphers","hasUsername","cacheKey","scoreKey","WeakPasswordsReportComponent_small_5_Template","WeakPasswordsReportComponent_div_13_Template","WeakPasswordsReportComponent_div_15_Template","WeakPasswordsReportComponent_ng_template_17_Template","attachments_component_1","a_r4","reupload","reuploadPromises","AttachmentsComponent_table_25_tr_4_i_4_Template","AttachmentsComponent_table_25_tr_4_i_6_Template","download","AttachmentsComponent_table_25_tr_4_div_16_Template","downloading","deletePromises","AttachmentsComponent_table_25_tr_4_Template","AttachmentsComponent","reuploadCipherAttachment","AttachmentsComponent_small_12_Template","AttachmentsComponent_table_25_Template","onEventsClicked","deleted","getAllFromApiForOrganization","applyFilter","searchPending","filteredCiphers","searchCiphersBasic","resetPaging","collections_component_1","c_r9","i_r10","CollectionsComponent_table_40_tr_4_Template","CollectionsComponent","CollectionsComponent_small_12_Template","CollectionsComponent_div_35_Template","CollectionsComponent_div_38_Template","CollectionsComponent_table_40_Template","collectionData_1","getCollections","collectionDomains","decryptMany","unassignedCollection","getAllNested","grouping","bulk_delete_component_1","bulk_move_component_1","bulk_restore_component_1","bulk_share_component_1","bulkMove","bulkShare","bulkRestore","BulkActionsComponent","bulkDelete","selectedIds","ciphersComponent","bulkDeleteModalRef","BulkDeleteComponent","cipherIds","onDeleted","bulkRestoreModalRef","BulkRestoreComponent","onRestored","selectedCiphers","bulkShareModalRef","BulkShareComponent","onShared","bulkMoveModalRef","BulkMoveComponent","onMoved","BulkActionsComponent_button_10_Template","BulkActionsComponent_button_12_Template","BulkActionsComponent_button_14_Template","BulkActionsComponent_ng_template_38_Template","BulkActionsComponent_ng_template_41_Template","BulkActionsComponent_ng_template_44_Template","BulkActionsComponent_ng_template_47_Template","CipherWithIdRequest","FolderRequest","folder","SelectCopyDirective","onCopy","copyText","selection","getSelection","rangeCount","getRangeAt","stringEndPos","newLinePos","ColorPasswordPipe","colorizedPassword","isSpecial","FolderData","Folder","attachmentResponse_1","baseResponse_1","passwordHistoryResponse_1","CipherResponse","AttachmentResponse","h","PasswordHistoryResponse","profileOrganizationResponse_1","ProfileResponse","emailVerified","masterPasswordHint","culture","twoFactorEnabled","securityStamp","ProfileOrganizationResponse","SendFileApi","SendTextApi","sendFileView_1","SendFile","sendTextView_1","SendText","NotificationsService","webpackEmptyAsyncContext","keys","FrontendLayoutComponent","classList","remove","manageRoute","toolsRoute","OrganizationLayoutComponent_div_2_ul_23_li_11_Template","OrganizationLayoutComponent_div_2_ul_23_li_13_Template","OrganizationLayoutComponent_div_2_ul_23_li_15_Template","showManageTab","showToolsTab","isOwner","goToBusinessPortal","businessTokenPromise","OrganizationLayoutComponent_div_2_div_20_Template","OrganizationLayoutComponent_div_2_ul_23_Template","OrganizationLayoutComponent_div_2_button_28_Template","showMenuBar","showBusinessPortalButton","OrganizationLayoutComponent","broadcasterService","ngZone","businessUrl","enterpriseUrl","run","command","unsubscribe","getEnterprisePortalSignInToken","canManageUsers","canManageAssignedCollections","canManageGroups","canManagePolicies","canAccessEventLogs","canAccessImportExport","canAccessReports","canAccessBusinessPortal","NgZone","OrganizationLayoutComponent_div_2_Template","UserLayoutComponent","emergencyAccessAcceptRequest_1","AcceptEmergencyComponent","fired","queryParams","qParams","errorMessage","isAuthenticated","EmergencyAccessAcceptRequest","postEmergencyAccessAccept","toast","save","AcceptEmergencyComponent_div_0_Template","AcceptEmergencyComponent_div_2_Template","organizationUserAcceptRequest_1","orgName","AcceptOrganizationComponent","OrganizationUserAcceptRequest","postOrganizationUserAccept","organizationName","AcceptOrganizationComponent_div_0_Template","AcceptOrganizationComponent_div_2_Template","hint_component_1","HintComponent","lock_component_1","LockComponent","routerService","hasKey","onSuccessfulSubmit","successRoute","webVaultHostname","login_component_1","LoginComponent","authService","onSuccessfulLoginNavigate","goAfterLogIn","queryParamsSub","orgInvite","emergencyInvite","loginRedirect","rememberEmail","deleteRecoverRequest_1","RecoverDeleteComponent","DeleteRecoverRequest","postAccountRecoverDelete","twoFactorRecoveryRequest_1","RecoverTwoFactorComponent","TwoFactorRecoveryRequest","postTwoFactorRecover","register_component_1","policy_1","policyData_1","referenceEventRequest_1","RegisterComponent_div_9_div_4_Template","RegisterComponent_div_9_div_6_Template","RegisterComponent_div_9_div_8_Template","layout","minLength","RegisterComponent_app_callout_53_li_5_Template","RegisterComponent_app_callout_53_li_7_Template","RegisterComponent_app_callout_53_li_9_Template","RegisterComponent_app_callout_53_li_11_Template","RegisterComponent_app_callout_53_li_13_Template","RegisterComponent_app_callout_53_li_15_Template","requireUpper","requireLower","requireNumbers","requireSpecial","acceptPolicies","RegisterComponent","showCreateOrgMessage","referenceData","ReferenceEventRequest","reference","cookie","pop","invite","getPoliciesByToken","policiesData","PolicyData","Policy","RegisterComponent_header_2_Template","RegisterComponent_div_9_Template","RegisterComponent_p_17_Template","RegisterComponent_app_callout_23_Template","RegisterComponent_app_callout_53_Template","confirmMasterPassword","hint","RegisterComponent_div_117_Template","showTerms","_r1","set_password_component_1","SetPasswordComponent_div_15_app_callout_8_li_5_Template","SetPasswordComponent_div_15_app_callout_8_li_7_Template","SetPasswordComponent_div_15_app_callout_8_li_9_Template","SetPasswordComponent_div_15_app_callout_8_li_11_Template","SetPasswordComponent_div_15_app_callout_8_li_13_Template","SetPasswordComponent_div_15_app_callout_8_li_15_Template","SetPasswordComponent_div_15_app_callout_8_Template","_r11","SetPasswordComponent","SetPasswordComponent_div_13_Template","SetPasswordComponent_div_15_Template","syncLoading","sso_component_1","SsoComponent","redirectUri","origin","storedIdentifier","SsoComponent_div_11_Template","SsoComponent_div_13_Template","initiateSsoFormPromise","loggingIn","twoFactorRoute","changePasswordRoute","checkState","getOrgIdentiferFromState","codeChallenge","returnUri","includeUserIdentifier","preValidate","buildAuthorizeUrl","authorizeUrl","sameWindow","preValidateSso","passwordOptions","uppercase","lowercase","numbers","special","codeVerifierHash","identityBaseUrl","getSsoUserIdentifier","userIdentifier","orgIdFromState","onSuccessfulLoginTwoFactorNavigate","sso","onSuccessfulLoginChangePasswordNavigate","disableFavicon","onSuccessfulLogin","stateSplit","checkStateSplit","two_factor_options_component_1","two_factor_component_1","twoFactorEmail","sendEmail","emailPromise","TwoFactorComponent_ng_container_14_small_14_a_2_Template","selectedProviderType","TwoFactorComponent_ng_container_14_p_2_Template","TwoFactorComponent_ng_container_14_p_4_Template","TwoFactorComponent_ng_container_14_small_14_Template","TwoFactorComponent_ng_container_18_p_2_Template","TwoFactorComponent_ng_container_18_ng_container_4_Template","u2fReady","TwoFactorComponent","anotherMethod","twoFactorOptionsModal","TwoFactorOptionsComponent","onProviderSelected","onRecoverSelected","TwoFactorComponent_ng_container_14_Template","TwoFactorComponent_ng_container_16_Template","TwoFactorComponent_ng_container_18_Template","TwoFactorComponent_ng_container_20_Template","TwoFactorComponent_i_22_Template","TwoFactorComponent_div_24_Template","TwoFactorComponent_ng_container_26_Template","TwoFactorComponent_button_32_Template","TwoFactorComponent_ng_template_51_Template","p_r1","choose","TwoFactorOptionsComponent_a_22_Template","recover","TwoFactorEmailRequest","verifyEmailRequest_1","VerifyEmailTokenComponent","postAccountVerifyEmailToken","VerifyEmailRequest","verifyDeleteRecoverRequest_1","VerifyRecoverDeleteComponent","VerifyDeleteRecoverRequest","postAccountRecoverDeleteToken","collection_add_edit_component_1","entity_users_component_1","c_r10","CollectionsComponent_ng_container_28_table_4_tr_4_Template","searchedCollections_r6","CollectionsComponent_ng_container_28_p_2_Template","CollectionsComponent_ng_container_28_table_4_Template","didScroll","pagedCollectionsCount","getUserCollections","pagedLength","pagedCollections","pagedSize","addEditModalRef","CollectionAddEditComponent","onSavedCollection","onDeletedCollection","removeCollection","deleteCollection","usersModalRef","isSearching","isSearchable","searching","index","CollectionsComponent_ng_container_26_Template","CollectionsComponent_ng_container_28_Template","CollectionsComponent_ng_template_31_Template","CollectionsComponent_ng_template_34_Template","collectionRequest_1","g_r12","CollectionAddEditComponent_div_22_ng_container_24_table_10_tr_25_ng_container_9_Template","i_r13","CollectionAddEditComponent_div_22_ng_container_24_table_10_tr_25_Template","groups","CollectionAddEditComponent_div_22_ng_container_24_div_5_Template","CollectionAddEditComponent_div_22_ng_container_24_div_8_Template","CollectionAddEditComponent_div_22_ng_container_24_table_10_Template","CollectionAddEditComponent_div_22_ng_container_24_Template","accessGroups","getGroups","groupsResponse","getCollectionDetails","group","g","CollectionRequest","putCollection","postCollection","CollectionAddEditComponent_div_20_Template","CollectionAddEditComponent_div_22_Template","CollectionAddEditComponent_button_42_Template","e_r7","EventsComponent_ng_container_39_table_4_tr_29_Template","EventsComponent_ng_container_39_p_2_Template","EventsComponent_ng_container_39_table_4_Template","EventsComponent_ng_container_39_button_6_Template","EventsComponent","getEventsOrganization","EventsComponent_ng_container_37_Template","EventsComponent_ng_container_39_Template","group_add_edit_component_1","g_r10","GroupsComponent_ng_container_28_table_4_tr_4_Template","searchedGroups_r6","GroupsComponent_ng_container_28_p_2_Template","GroupsComponent_ng_container_28_table_4_Template","GroupsComponent","pagedGroupsCount","pagedGroups","GroupAddEditComponent","onSavedGroup","onDeletedGroup","removeGroup","deleteGroup","GroupsComponent_ng_container_26_Template","GroupsComponent_ng_container_28_Template","GroupsComponent_ng_template_31_Template","GroupsComponent_ng_template_34_Template","groupRequest_1","c_r12","GroupAddEditComponent_div_22_ng_container_60_table_4_tr_25_Template","GroupAddEditComponent_div_22_ng_container_60_div_2_Template","GroupAddEditComponent_div_22_ng_container_60_table_4_Template","GroupAddEditComponent_div_22_div_36_Template","access","GroupAddEditComponent_div_22_ng_container_60_Template","getGroupDetails","GroupRequest","putGroup","postGroup","GroupAddEditComponent_div_20_Template","GroupAddEditComponent_div_22_Template","GroupAddEditComponent_button_42_Template","ManageComponent_div_6_a_8_Template","ManageComponent_div_6_a_10_Template","ManageComponent_div_6_a_12_Template","ManageComponent_div_6_a_14_Template","ManageComponent_div_6_a_16_Template","accessPolicies","ManageComponent","ManageComponent_div_6_Template","organizationUserConfirmRequest_1","entity_events_component_1","user_add_edit_component_1","user_confirm_component_1","user_groups_component_1","allCount","invitedCount","acceptedCount","u_r18","reinvite","_r38","confirm","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_12_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_14_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_small_16_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_ng_container_21_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_26_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_28_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_30_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_32_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_34_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_a_49_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_a_51_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_a_53_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_a_55_Template","ctx_r17","PeopleComponent_ng_container_49_ng_container_4_app_callout_2_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_Template","showConfirmUsers","searchedUsers_r13","PeopleComponent_ng_container_49_p_2_Template","PeopleComponent_ng_container_49_ng_container_4_Template","PeopleComponent","statusMap","pagedUsersCount","viewEvents","pagedUsers","confirmedCount","UserAddEditComponent","onSavedUser","onDeletedUser","removeUser","groupsModalRef","UserGroupsComponent","deleteOrganizationUser","postOrganizationUserReinvite","updateUser","mapIndex","autoConfirm","doConfirmation","confirmModalRef","UserConfirmComponent","onConfirmedUser","eventsModalRef","getUserPublicKey","publicKeyResponse","log","getFingerprint","rsaEncrypt","OrganizationUserConfirmRequest","postOrganizationUserConfirm","PeopleComponent_span_13_Template","PeopleComponent_span_19_Template","PeopleComponent_span_25_Template","PeopleComponent_ng_container_47_Template","PeopleComponent_ng_container_49_Template","PeopleComponent_ng_template_52_Template","PeopleComponent_ng_template_55_Template","PeopleComponent_ng_template_58_Template","PeopleComponent_ng_template_61_Template","_c4","_c5","organizationUserInviteRequest_1","organizationUserUpdateRequest_1","permissionsApi_1","emails","c_r28","i_r29","UserAddEditComponent_div_24_ng_container_117_table_4_tr_25_Template","UserAddEditComponent_div_24_ng_container_117_div_2_Template","UserAddEditComponent_div_24_ng_container_117_table_4_Template","UserAddEditComponent_div_24_ng_container_2_Template","UserAddEditComponent_div_24_ng_container_79_Template","UserAddEditComponent_div_24_div_93_Template","UserAddEditComponent_div_24_ng_container_117_Template","customUserTypeSelected","showCustom","getOrganizationUser","setRequestPermissions","clearPermissions","OrganizationUserUpdateRequest","putOrganizationUser","OrganizationUserInviteRequest","postOrganizationUserInvite","UserAddEditComponent_small_11_Template","UserAddEditComponent_div_22_Template","UserAddEditComponent_div_24_Template","UserAddEditComponent_button_44_Template","dontAskAgain","fingerprint","UserConfirmComponent_small_12_Template","organizationUserUpdateGroupsRequest_1","g_r7","i_r8","UserGroupsComponent_div_25_table_8_tr_4_Template","UserGroupsComponent_div_25_div_6_Template","UserGroupsComponent_div_25_table_8_Template","getOrganizationUserGroups","userGroups","ug","OrganizationUserUpdateGroupsRequest","groupIds","putOrganizationUserGroups","UserGroupsComponent_small_12_Template","UserGroupsComponent_div_23_Template","UserGroupsComponent_div_25_Template","policy_edit_component_1","goToEnterprisePortal","_r13","p_r8","PoliciesComponent_table_11_tr_4_td_2_span_5_Template","PoliciesComponent_table_11_tr_4_td_2_Template","display","PoliciesComponent_table_11_tr_4_Template","PoliciesComponent","userCanAccessBusinessPortal","policiesEnabledMap","MasterPassword","PasswordGenerator","RequireSso","PersonalOwnership","policyIdFromEvents","_i","orgPolicies","orgPolicy","getPolicies","op","editModalRef","PolicyEditComponent","onSavedPolicy","enterpriseTokenPromise","PoliciesComponent_app_callout_0_Template","PoliciesComponent_ng_container_9_Template","PoliciesComponent_table_11_Template","PoliciesComponent_ng_template_13_Template","api_service_1","appId_service_1","AppIdService","audit_service_1","cipher_service_1","collection_service_1","crypto_service_1","environment_service_1","folder_service_1","i18n_service_1","log_service_1","LogService","messaging_service_1","passwordGeneration_service_1","platformUtils_service_1","search_service_1","settings_service_1","storage_service_1","state_service_1","sync_service_1","token_service_1","totp_service_1","user_service_1","vaultTimeout_service_1","policyRequest_1","o_r10","masterPassMinComplexity","PolicyEditComponent_div_23_ng_container_24_option_12_Template","masterPassMinLength","masterPassRequireUpper","masterPassRequireLower","masterPassRequireNumbers","masterPassRequireSpecial","passwordScores","o_r19","passGenDefaultType","PolicyEditComponent_div_23_ng_container_26_option_12_Template","passGenMinLength","passGenMinNumbers","passGenMinSpecial","passGenUseUpper","passGenUseLower","passGenUseNumbers","passGenUseSpecial","passGenMinNumberWords","passGenCapitalize","passGenIncludeNumber","defaultTypes","PolicyEditComponent_div_23_app_callout_5_Template","PolicyEditComponent_div_23_app_callout_7_Template","PolicyEditComponent_div_23_ng_container_9_Template","PolicyEditComponent_div_23_app_callout_11_Template","PolicyEditComponent_div_23_ng_container_24_Template","PolicyEditComponent_div_23_ng_container_26_Template","policyType","checkboxDesc","getPolicy","defaultType","useUpper","useLower","useNumbers","useSpecial","minNumbers","minSpecial","minNumberWords","capitalize","includeNumber","PolicyRequest","putPolicy","PolicyEditComponent_div_21_Template","PolicyEditComponent_div_23_Template","organizationUpdateRequest_1","api_key_component_1","purge_vault_component_1","delete_organization_component_1","viewApiKey","rotateApiKey","taxFormPromise","AccountComponent","canUseApi","OrganizationUpdateRequest","putOrganization","deleteOrganization","deleteModalRef","DeleteOrganizationComponent","purgeVault","purgeModalRef","apiKeyModalRef","postOrganizationApiKey","rotateApiKeyModalRef","postOrganizationRotateApiKey","AccountComponent_div_7_Template","AccountComponent_form_9_Template","AccountComponent_ng_container_11_Template","AccountComponent_div_24_Template","AccountComponent_form_26_Template","AccountComponent_ng_template_53_Template","AccountComponent_ng_template_56_Template","AccountComponent_ng_template_59_Template","AccountComponent_ng_template_62_Template","user_billing_component_1","OrganizationBillingComponent_ng_container_11_ng_container_25_app_callout_2_Template","OrganizationBillingComponent_ng_container_11_ng_container_25_span_8_Template","OrganizationBillingComponent_ng_container_11_table_37_tr_4_span_25_Template","OrganizationBillingComponent_ng_container_11_table_37_tr_4_span_27_Template","OrganizationBillingComponent_ng_container_11_table_37_tr_4_Template","OrganizationBillingComponent_ng_container_11_table_45_tr_4_span_8_Template","OrganizationBillingComponent_ng_container_11_table_45_tr_4_span_10_Template","OrganizationBillingComponent_ng_container_11_table_45_tr_4_i_15_Template","OrganizationBillingComponent_ng_container_11_table_45_tr_4_Template","OrganizationBillingComponent_ng_container_11_button_15_Template","OrganizationBillingComponent_ng_container_11_app_add_credit_17_Template","OrganizationBillingComponent_ng_container_11_p_23_Template","OrganizationBillingComponent_ng_container_11_ng_container_25_Template","OrganizationBillingComponent_ng_container_11_button_27_Template","OrganizationBillingComponent_ng_container_11_app_adjust_payment_29_Template","OrganizationBillingComponent_ng_container_11_p_35_Template","OrganizationBillingComponent_ng_container_11_table_37_Template","OrganizationBillingComponent_ng_container_11_p_43_Template","OrganizationBillingComponent_ng_container_11_table_45_Template","OrganizationBillingComponent","OrganizationBillingComponent_button_6_Template","OrganizationBillingComponent_ng_container_9_Template","OrganizationBillingComponent_ng_container_11_Template","reinstate","reinstatePromise","OrganizationSubscriptionComponent_ng_container_11_dl_6_dd_13_span_3_Template","sub","isExpired","OrganizationSubscriptionComponent_ng_container_11_dl_6_dd_13_Template","OrganizationSubscriptionComponent_ng_container_11_dl_6_dd_15_Template","OrganizationSubscriptionComponent_ng_container_11_div_8_ng_container_13_span_11_Template","subscription","subscriptionMarkedForCancel","nextInvoice","i_r19","quantity","OrganizationSubscriptionComponent_ng_container_11_div_8_div_17_tr_10_Template","OrganizationSubscriptionComponent_ng_container_11_div_8_ng_container_13_Template","OrganizationSubscriptionComponent_ng_container_11_div_8_div_17_Template","closeUpdateLicense","updateLicense","OrganizationSubscriptionComponent_ng_container_11_ng_container_10_div_13_Template","showUpdateLicense","changePlan","downloadLicense","showDownloadLicense","ctx_r29","cancelPromise","_r42","closeChangePlan","closeDownloadLicense","ctx_r31","_r50","adjustSeats","_r53","closeSeats","ctx_r48","adjustSeatsAdd","billingInterval","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_ng_container_23_div_4_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_ng_container_23_app_adjust_seats_6_Template","ctx_r32","showAdjustSeats","_r58","adjustStorage","_r61","closeStorage","ctx_r56","adjustStorageAdd","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_ng_container_40_div_4_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_ng_container_40_app_adjust_storage_6_Template","ctx_r33","showAdjustStorage","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_button_4_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_button_6_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_button_8_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_app_change_plan_11_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_div_13_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_ng_container_23_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_ng_container_40_Template","showChangePlan","canDownloadLicense","cancelled","canAdjustSeats","storageName","storageProgressWidth","storagePercentage","OrganizationSubscriptionComponent_ng_container_11_app_callout_2_Template","OrganizationSubscriptionComponent_ng_container_11_app_callout_4_Template","OrganizationSubscriptionComponent_ng_container_11_dl_6_Template","OrganizationSubscriptionComponent_ng_container_11_div_8_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_10_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_Template","OrganizationSubscriptionComponent","getOrganizationSubscription","postOrganizationReinstate","postOrganizationCancel","changed","updated","cancelAtEndDate","upcomingInvoice","storageGb","OrganizationSubscriptionComponent_small_5_Template","OrganizationSubscriptionComponent_ng_container_9_Template","OrganizationSubscriptionComponent_ng_container_11_Template","ChangePlanComponent","onChanged","defaultUpgradePlan","FamiliesAnnually","defaultUpgradeProduct","Families","DownloadLicenseComponent","onDownloaded","installationId","getOrganizationLicense","license","licenseString","JSON","stringify","saveFile","seatRequest_1","seatAdjustment","adjustedSeatTotal","AdjustSeatsComponent","SeatRequest","postOrganizationSeat","AdjustSeatsComponent_div_26_Template","SettingsComponent","access2fa","SettingsComponent_a_22_Template","SettingsComponent_a_24_Template","two_factor_setup_component_1","duoComp","getTwoFactorOrganizationProviders","updateTwoFactorAuthenticatorRequest_1","TwoFactorAuthenticatorComponent_form_26_ng_container_5_Template","TwoFactorAuthenticatorComponent_form_26_ng_container_7_Template","TwoFactorAuthenticatorComponent_form_26_p_43_Template","TwoFactorAuthenticatorComponent_form_26_hr_45_Template","TwoFactorAuthenticatorComponent_form_26_ng_container_57_Template","TwoFactorAuthenticatorComponent_form_26_span_67_Template","TwoFactorAuthenticatorComponent_form_26_span_69_Template","qrScript","UpdateTwoFactorAuthenticatorRequest","putTwoFactorAuthenticator","QRious","element","TwoFactorAuthenticatorComponent_app_two_factor_verify_24_Template","TwoFactorAuthenticatorComponent_form_26_Template","twoFactorEmailRequest_1","updateTwoFactorEmailRequest_1","sentEmail","TwoFactorEmailComponent_form_26_ng_container_7_span_33_Template","TwoFactorEmailComponent_form_26_ng_container_5_Template","TwoFactorEmailComponent_form_26_ng_container_7_Template","TwoFactorEmailComponent_form_26_span_17_Template","TwoFactorEmailComponent_form_26_span_19_Template","postTwoFactorEmailSetup","UpdateTwoFactorEmailRequest","putTwoFactorEmail","TwoFactorEmailComponent_app_two_factor_verify_24_Template","TwoFactorEmailComponent_form_26_Template","print","TwoFactorRecoveryComponent_ng_container_26_ng_container_4_Template","TwoFactorRecoveryComponent_ng_container_26_ng_container_6_Template","TwoFactorRecoveryComponent_ng_container_26_button_11_Template","w","open","write","onafterprint","formatString","TwoFactorRecoveryComponent_app_two_factor_verify_24_Template","TwoFactorRecoveryComponent_ng_container_26_Template","updateTwoFactorU2fDeleteRequest_1","updateTwoFactorU2fRequest_1","i_r14","k_r13","TwoFactorU2fComponent_form_25_li_25_ng_container_9_ng_container_2_Template","TwoFactorU2fComponent_form_25_li_25_ng_container_9_ng_container_4_Template","compromised","TwoFactorU2fComponent_form_25_li_25_ng_container_11_i_2_Template","TwoFactorU2fComponent_form_25_li_25_strong_5_Template","TwoFactorU2fComponent_form_25_li_25_strong_7_Template","TwoFactorU2fComponent_form_25_li_25_ng_container_9_Template","TwoFactorU2fComponent_form_25_li_25_ng_container_11_Template","removePromise","configured","keysConfiguredCount","TwoFactorU2fComponent_form_25_ng_container_72_ng_container_2_Template","TwoFactorU2fComponent_form_25_ng_container_72_ng_container_4_Template","TwoFactorU2fComponent_form_25_ng_container_72_ng_container_6_Template","u2fListening","u2fResponse","u2fError","disablePromise","_r36","TwoFactorU2fComponent_form_25_app_callout_5_Template","TwoFactorU2fComponent_form_25_li_25_Template","readKey","TwoFactorU2fComponent_form_25_ng_container_70_Template","TwoFactorU2fComponent_form_25_ng_container_72_Template","TwoFactorU2fComponent_form_25_i_79_Template","TwoFactorU2fComponent_form_25_span_81_Template","TwoFactorU2fComponent_form_25_button_84_Template","keyIdAvailable","challengePromise","u2fScript","UpdateTwoFactorU2fRequest","deviceResponse","putTwoFactorU2f","UpdateTwoFactorU2fDeleteRequest","deleteTwoFactorU2f","getTwoFactorU2fChallenge","challenge","readDevice","u2fChallenge","resetU2f","u2f","register","errorCode","listening","k","this_1","TwoFactorU2fComponent_app_two_factor_verify_23_Template","TwoFactorU2fComponent_form_25_Template","updateTwoFactorYubioOtpRequest_1","i_r9","k_r8","existingKey","TwoFactorYubiKeyComponent_form_25_div_54_input_6_Template","TwoFactorYubiKeyComponent_form_25_div_54_div_8_Template","TwoFactorYubiKeyComponent_form_25_app_callout_5_Template","TwoFactorYubiKeyComponent_form_25_div_54_Template","nfc","TwoFactorYubiKeyComponent_form_25_button_87_Template","UpdateTwoFactorYubioOtpRequest","key1","key2","key3","key4","key5","putTwoFactorYubiKey","padRight","max","TwoFactorYubiKeyComponent_app_two_factor_verify_23_Template","TwoFactorYubiKeyComponent_form_25_Template","getExportData","getOrganizationExport","getFileName","collectEvent","exposed_passwords_report_component_1","manageableCiphers","passwordHistoryView_1","FallbackSrcDirective","onError","appFallbackSrc","import_component_1","inactive_two_factor_report_component_1","reused_passwords_report_component_1","ToolsComponent_ng_container_4_div_8_a_7_Template","ToolsComponent_ng_container_4_div_6_Template","ToolsComponent_ng_container_4_div_8_Template","ToolsComponent","ToolsComponent_ng_container_2_Template","ToolsComponent_ng_container_4_Template","unsecured_websites_report_component_1","weak_passwords_report_component_1","VaultComponent","changeDetectorRef","groupingsComponent","successfully","detectChanges","reload","filterDeleted","filterCipherType","filterCollection","clearGroupingFilters","clearFilters","go","filterSearchText","editCipherAttachments","attachmentsModalRef","madeAttachmentChanges","onUploadedAttachment","onDeletedAttachment","editCipherCollections","collectionsModalRef","onSavedCollections","component","editCipher","cloneCipher","replaceUrl","ChangeDetectorRef","VaultComponent_ng_container_20_Template","VaultComponent_button_29_Template","VaultComponent_ng_template_39_Template","VaultComponent_ng_template_42_Template","VaultComponent_ng_template_45_Template","VaultComponent_ng_template_48_Template","saveCipherAttachment","saveAttachmentWithServer","cipherDomain","deleteCipherAttachment","attachmentId","deleteCipherAttachmentAdmin","cipherCollectionsRequest_1","allowSelectNone","loadCipherCollections","saveCollections","CipherCollectionsRequest","putCipherCollectionsAdmin","cipherBulkDeleteRequest_1","deleteCiphers","deleteCiphersAdmin","deleteManyWithServer","softDeleteManyWithServer","deleteRequest","CipherBulkDeleteRequest","deleteManyCiphersAdmin","putDeleteManyCiphersAdmin","ids","f_r2","moveManyWithServer","BulkMoveComponent_option_35_Template","restoreManyWithServer","o_r5","i_r11","BulkShareComponent_table_54_tr_4_Template","nonShareableCount","shareableCiphers","writeableCollections","allCollections","filterCollections","checkedCollectionIds","shareManyWithServer","BulkShareComponent_option_39_Template","BulkShareComponent_div_49_Template","BulkShareComponent_div_52_Template","BulkShareComponent_table_54_Template","canSave","sendType_1","s_r7","removePassword","SendComponent_table_81_tr_4_i_6_Template","SendComponent_table_81_tr_4_i_8_Template","editSend","SendComponent_table_81_tr_4_span_17_Template","SendComponent_table_81_tr_4_ng_container_19_Template","SendComponent_table_81_tr_4_ng_container_21_Template","SendComponent_table_81_tr_4_ng_container_23_Template","SendComponent_table_81_tr_4_ng_container_25_Template","SendComponent_table_81_tr_4_a_52_Template","sendType","File","maxAccessCountReached","expired","pendingDelete","deletionDate","SendComponent_table_81_tr_4_Template","filteredSends","addSend","SendComponent_div_83_ng_container_2_Template","SendComponent_div_83_ng_container_4_Template","SendComponent","sendService","refreshing","sends","searchTimeout","sendAddEditModalRef","sendId","onSavedSend","onDeletedSend","removePasswordWithServer","webVaultUrl","getWebVaultUrl","link","accessId","urlB64Key","clearSelections","SendComponent_ng_container_66_Template","SendComponent_table_81_Template","SendComponent_div_83_Template","SendComponent_ng_template_88_Template","sendView_1","typeChanged","AddEditComponent_div_20_div_2_option_10_Template","ctx_r24","AddEditComponent_div_20_ng_container_20_div_4_Template","AddEditComponent_div_20_ng_container_20_div_6_Template","o_r28","deletionDateSelect","AddEditComponent_div_20_div_34_option_4_Template","AddEditComponent_div_20_div_34_input_7_Template","deletionDateOptions","clearExpiration","o_r39","expirationDate","ctx_r38","expirationDateSelect","AddEditComponent_div_20_div_54_option_4_Template","AddEditComponent_div_20_div_54_input_7_Template","expirationDateOptions","_r47","accessCount","AddEditComponent_div_20_div_2_Template","_r51","AddEditComponent_div_20_ng_container_17_Template","AddEditComponent_div_20_ng_container_20_Template","AddEditComponent_div_20_div_34_Template","AddEditComponent_div_20_div_36_Template","AddEditComponent_div_20_a_51_Template","AddEditComponent_div_20_div_54_Template","AddEditComponent_div_20_div_56_Template","maxAccessCount","AddEditComponent_div_20_div_79_Template","AddEditComponent_div_20_label_86_Template","AddEditComponent_div_20_label_88_Template","AddEditComponent_div_20_h3_123_Template","AddEditComponent_div_20_div_125_Template","hasPassword","_r57","AddEditComponent_div_38_button_2_Template","datePipe","onCancelled","premiumRequiredAlertShown","loadSend","SendView","dateToString","now","setHours","encryptSend","encSend","saveWithServer","sendData","DatePipe","AddEditComponent_div_38_Template","deauthorize_sessions_component_1","delete_account_component_1","deauthorizeSessions","deauthModalRef","DeauthorizeSessionsComponent","deleteAccount","DeleteAccountComponent","viewUserApiKey","viewUserApiKeyModalRef","postUserApiKey","rotateUserApiKey","rotateUserApiKeyModalRef","postUserRotateApiKey","AccountComponent_ng_template_84_Template","AccountComponent_ng_template_87_Template","AccountComponent_ng_template_90_Template","AccountComponent_ng_template_93_Template","AccountComponent_ng_template_96_Template","postSecurityStamp","updateProfileRequest_1","profile","ProfileComponent_form_2_p_44_Template","_r2","ProfileComponent","getProfile","UpdateProfileRequest","putProfile","ProfileComponent_div_0_Template","ProfileComponent_form_2_Template","emailRequest_1","emailTokenRequest_1","newEmail","reset","ChangeEmailComponent","tokenSent","hasEncKey","EmailTokenRequest","postEmailToken","EmailRequest","newKey","newMasterPasswordHash","newEncKey","postEmail","ChangeEmailComponent_ng_container_27_Template","ChangeEmailComponent_span_34_Template","ChangeEmailComponent_span_36_Template","ChangeEmailComponent_button_39_Template","change_password_component_1","emergencyAccessStatusType_1","cipherWithIdRequest_1","emergencyAccessUpdateRequest_1","folderWithIdRequest_1","passwordRequest_1","updateKeyRequest_1","ChangePasswordComponent_app_callout_4_li_5_Template","ChangePasswordComponent_app_callout_4_li_7_Template","ChangePasswordComponent_app_callout_4_li_9_Template","ChangePasswordComponent_app_callout_4_li_11_Template","ChangePasswordComponent_app_callout_4_li_13_Template","ChangePasswordComponent_app_callout_4_li_15_Template","rotateEncKey","rotateEncKeyClicked","currentMasterPassword","PasswordRequest","postPassword","updateKey","getPrivateKey","encPrivateKey","UpdateKeyRequest","FolderWithIdRequest","postAccountKey","updateEmergencyAccesses","getEmergencyAccessTrusted","emergencyAccess","allowedStatuses","EmergencyAccessStatusType","RecoveryInitiated","RecoveryApproved","filteredAccesses","includes","filteredAccesses_1","granteeId","encryptedKey","updateRequest","EmergencyAccessUpdateRequest","waitTimeDays","keyEncrypted","putEmergencyAccess","ChangePasswordComponent_app_callout_4_Template","kdfRequest_1","kdfType_1","o_r2","ChangeKdfComponent","PBKDF2_SHA256","kdfOptions","KdfRequest","postAccountKdf","ChangeKdfComponent_option_40_Template","organization_plans_component_1","CreateOrganizationComponent","orgPlansComponent","EnterpriseAnnually","updateDomainsRequest_1","i_r7","custom","DomainRulesComponent_ng_container_20_div_2_Template","indexTrackBy","d_r14","toggleExcluded","DomainRulesComponent_table_38_tr_4_a_17_Template","DomainRulesComponent_table_38_tr_4_a_19_Template","customize","excluded","domains","DomainRulesComponent_table_38_tr_4_Template","DomainRulesComponent","getSettingsDomains","equivalentDomains","globalEquivalentDomains","globalDomain","UpdateDomainsRequest","excludedGlobalEquivalentDomains","d2","putSettingsDomains","DomainRulesComponent_p_18_Template","DomainRulesComponent_ng_container_20_Template","DomainRulesComponent_p_36_Template","DomainRulesComponent_table_38_Template","o_r3","OptionsComponent","vaultTimeout","vaultTimeoutAction","vaultTimeouts","localeOptions","supportedTranslationLocales","locale","localeNames","_h","disableIcons","enableGravatars","enableFullWidth","_g","startingLocale","setVaultTimeoutOptions","vaultTimeoutActionChanged","newValue","OptionsComponent_option_25_Template","OptionsComponent_option_89_Template","LinkSsoComponent","ngAfterContentInit","premiumPrice","PremiumComponent","getPremium","getEmailVerified","finalizePremium","postPremium","paymentResponse","PremiumComponent_app_callout_7_Template","PremiumComponent_a_59_Template","PremiumComponent_ng_container_62_Template","PremiumComponent_form_64_Template","SettingsComponent_a_26_Template","SettingsComponent_a_28_Template","SettingsComponent_a_30_Template","UserSubscriptionComponent_ng_container_11_dl_6_dd_6_Template","UserSubscriptionComponent_ng_container_11_dl_6_dd_8_Template","i_r17","UserSubscriptionComponent_ng_container_11_div_8_div_29_tr_10_Template","UserSubscriptionComponent_ng_container_11_div_8_span_15_Template","UserSubscriptionComponent_ng_container_11_div_8_div_29_Template","UserSubscriptionComponent_ng_container_11_ng_container_10_div_13_Template","_r39","ctx_r34","UserSubscriptionComponent_ng_container_11_ng_container_12_ng_container_24_div_4_Template","UserSubscriptionComponent_ng_container_11_ng_container_12_ng_container_24_app_adjust_storage_6_Template","UserSubscriptionComponent_ng_container_11_ng_container_12_button_4_Template","UserSubscriptionComponent_ng_container_11_ng_container_12_button_6_Template","UserSubscriptionComponent_ng_container_11_ng_container_12_ng_container_24_Template","UserSubscriptionComponent_ng_container_11_app_callout_2_Template","UserSubscriptionComponent_ng_container_11_app_callout_4_Template","UserSubscriptionComponent_ng_container_11_dl_6_Template","UserSubscriptionComponent_ng_container_11_div_8_Template","UserSubscriptionComponent_ng_container_11_ng_container_10_Template","UserSubscriptionComponent_ng_container_11_ng_container_12_Template","UserSubscriptionComponent","getUserSubscription","usingInAppPurchase","postReinstatePremium","postCancelPremium","UserSubscriptionComponent_small_5_Template","UserSubscriptionComponent_ng_container_9_Template","UserSubscriptionComponent_ng_container_11_Template","checkedUsername","breachedAccounts","d_r10","BreachReportComponent_div_41_ng_container_4_ul_6_li_2_li_22_Template","a_r8","logoPath","dataClasses","pwnCount","breachDate","addedDate","BreachReportComponent_div_41_ng_container_4_ul_6_li_2_Template","BreachReportComponent_div_41_ng_container_4_app_callout_2_Template","BreachReportComponent_div_41_ng_container_4_app_callout_4_Template","BreachReportComponent_div_41_ng_container_4_ul_6_Template","BreachReportComponent_div_41_p_2_Template","BreachReportComponent_div_41_ng_container_4_Template","BreachReportComponent","BreachReportComponent_div_41_Template","password_generator_component_1","password_generator_history_component_1","numWords","saveOptions","wordSeparator","lengthChanged","minNumber","minNumberChanged","minSpecialChanged","avoidAmbiguous","useUppercase","useLowercase","PasswordGeneratorComponent","history","historyModalRef","PasswordGeneratorHistoryComponent","PasswordGeneratorComponent_app_callout_7_Template","PasswordGeneratorComponent_ng_container_39_Template","PasswordGeneratorComponent_ng_container_41_Template","regenerate","PasswordGeneratorComponent_ng_template_66_Template","inEffect","h_r3","PasswordGeneratorHistoryComponent_ul_20_li_2_Template","PasswordGeneratorHistoryComponent_ul_20_Template","PasswordGeneratorHistoryComponent_div_22_Template","ToolsComponent_a_35_Template","ToolsComponent_span_66_Template","organizations_component_1","update_key_component_1","folder_add_edit_component_1","share_component_1","favorites","showVerifyEmail","showBrowserOutdated","showUpdateKey","showPremiumCallout","organizationsComponent","filterFavorites","filterFolder","onReuploadedAttachment","shareCipher","shareModalRef","ShareComponent","onSharedCipher","folderAddEditModalRef","FolderAddEditComponent","onSavedFolder","loadFolders","onDeletedFolder","updateKeyModalRef","UpdateKeyComponent","VaultComponent_div_39_Template","VaultComponent_app_verify_email_41_Template","VaultComponent_div_43_Template","VaultComponent_div_45_Template","VaultComponent_ng_template_68_Template","VaultComponent_ng_template_71_Template","VaultComponent_ng_template_74_Template","VaultComponent_ng_template_77_Template","VaultComponent_ng_template_80_Template","VaultComponent_ng_template_83_Template","makeRequest","getKey","FolderAddEditComponent_button_47_Template","c_r15","i_r16","ShareComponent_div_25_table_29_tr_4_Template","ShareComponent_div_25_option_14_Template","ShareComponent_div_25_div_24_Template","ShareComponent_div_25_div_27_Template","ShareComponent_div_25_table_29_Template","ShareComponent_small_12_Template","ShareComponent_div_23_Template","ShareComponent_div_25_Template","ShareComponent_button_29_Template","ShareComponent_a_31_Template","VerifyEmailComponent","postAccountVerifyEmail","OrganizationGuardService","canActivate","permissions_1","OrganizationTypeGuardService","Permissions","AccessBusinessPortal","AccessEventLogs","AccessImportExport","AccessReports","ManageAllCollections","ManageAssignedCollections","ManageGroups","ManageOrganization","ManagePolicies","ManageUsers","UnauthGuardService","isLocked","AuthGuardService","routerState","promptBiometric","data_1","domain_1","emergency_add_edit_component_1","c_r4","EmergencyAccessViewComponent_ng_container_9_tr_6_ng_container_13_Template","EmergencyAccessViewComponent_ng_container_9_tr_6_ng_container_15_Template","EmergencyAccessViewComponent_ng_container_9_tr_6_Template","EmergencyAccessViewComponent","EmergencyAddEditComponent","postEmergencyAccessView","decCiphers","rsaDecrypt","oldKeyBuffer","oldEncKey","cipherResponse","cipherData","getLocaleSortingFunction","EmergencyAccessViewComponent_ng_container_9_Template","EmergencyAccessViewComponent_ng_template_12_Template","EncryptedObject","EnvironmentUrls","GeneratedPasswordHistory","EmergencyAddEditComponent_div_20_div_4_option_10_Template","EmergencyAddEditComponent_div_20_div_17_option_8_Template","EmergencyAddEditComponent_div_20_ng_container_21_div_26_a_2_Template","EmergencyAddEditComponent_div_20_ng_container_21_div_64_a_5_Template","EmergencyAddEditComponent_div_20_ng_container_21_div_64_a_7_Template","EmergencyAddEditComponent_div_20_ng_container_21_ng_container_70_div_2_option_49_Template","EmergencyAddEditComponent_div_20_ng_container_21_ng_container_70_div_2_button_52_Template","EmergencyAddEditComponent_div_20_ng_container_21_ng_container_70_div_2_Template","EmergencyAddEditComponent_div_20_ng_container_21_div_14_Template","EmergencyAddEditComponent_div_20_ng_container_21_div_26_Template","EmergencyAddEditComponent_div_20_ng_container_21_div_64_Template","EmergencyAddEditComponent_div_20_ng_container_21_div_66_Template","EmergencyAddEditComponent_div_20_ng_container_21_ng_container_70_Template","EmergencyAddEditComponent_div_20_ng_container_21_a_72_Template","EmergencyAddEditComponent_div_20_ng_container_24_option_21_Template","EmergencyAddEditComponent_div_20_ng_container_24_option_57_Template","EmergencyAddEditComponent_div_20_ng_container_27_option_12_Template","EmergencyAddEditComponent_div_20_div_42_div_2_div_28_Template","EmergencyAddEditComponent_div_20_div_42_div_2_div_30_Template","EmergencyAddEditComponent_div_20_div_42_div_2_input_34_Template","EmergencyAddEditComponent_div_20_div_42_div_2_button_37_Template","EmergencyAddEditComponent_div_20_div_42_div_2_button_39_Template","EmergencyAddEditComponent_div_20_div_42_div_2_Template","EmergencyAddEditComponent_div_20_div_46_option_10_Template","EmergencyAddEditComponent_div_20_ng_container_48_option_16_Template","EmergencyAddEditComponent_div_20_ng_container_50_ng_container_8_div_2_Template","EmergencyAddEditComponent_div_20_ng_container_50_div_6_Template","EmergencyAddEditComponent_div_20_ng_container_50_ng_container_8_Template","EmergencyAddEditComponent_div_20_ng_container_52_div_16_div_2_Template","EmergencyAddEditComponent_div_20_ng_container_52_div_12_Template","EmergencyAddEditComponent_div_20_ng_container_52_div_14_Template","EmergencyAddEditComponent_div_20_ng_container_52_div_16_Template","EmergencyAddEditComponent_div_20_app_callout_2_Template","EmergencyAddEditComponent_div_20_div_4_Template","EmergencyAddEditComponent_div_20_div_17_Template","EmergencyAddEditComponent_div_20_ng_container_21_Template","EmergencyAddEditComponent_div_20_ng_container_24_Template","EmergencyAddEditComponent_div_20_ng_container_27_Template","EmergencyAddEditComponent_div_20_div_42_Template","EmergencyAddEditComponent_div_20_a_44_Template","EmergencyAddEditComponent_div_20_div_46_Template","EmergencyAddEditComponent_div_20_ng_container_48_Template","EmergencyAddEditComponent_div_20_ng_container_50_Template","EmergencyAddEditComponent_div_20_ng_container_52_Template","EmergencyAddEditComponent_div_30_button_2_Template","EmergencyAddEditComponent_div_30_button_4_Template","EmergencyAddEditComponent_div_20_Template","EmergencyAddEditComponent_button_24_Template","EmergencyAddEditComponent_div_30_Template","emergencyAccessType_1","emergencyAccessConfirmRequest_1","emergencyAccessResponse_1","emergency_access_add_edit_component_1","emergency_access_confirm_component_1","emergency_access_takeover_component_1","c_r14","approve","EmergencyAccessComponent_table_33_tr_4_span_12_Template","EmergencyAccessComponent_table_33_tr_4_span_14_Template","EmergencyAccessComponent_table_33_tr_4_span_16_Template","EmergencyAccessComponent_table_33_tr_4_span_18_Template","EmergencyAccessComponent_table_33_tr_4_span_20_Template","EmergencyAccessComponent_table_33_tr_4_span_22_Template","EmergencyAccessComponent_table_33_tr_4_small_24_Template","EmergencyAccessComponent_table_33_tr_4_a_39_Template","EmergencyAccessComponent_table_33_tr_4_a_41_Template","EmergencyAccessComponent_table_33_tr_4_a_43_Template","EmergencyAccessComponent_table_33_tr_4_a_45_Template","emergencyAccessStatusType","emergencyAccessType","View","Takeover","EmergencyAccessComponent_table_33_tr_4_Template","trustedContacts","c_r44","requestAccess","takeover","EmergencyAccessComponent_table_44_tr_4_span_12_Template","EmergencyAccessComponent_table_44_tr_4_span_14_Template","EmergencyAccessComponent_table_44_tr_4_span_16_Template","EmergencyAccessComponent_table_44_tr_4_span_18_Template","EmergencyAccessComponent_table_44_tr_4_span_20_Template","EmergencyAccessComponent_table_44_tr_4_span_22_Template","EmergencyAccessComponent_table_44_tr_4_small_24_Template","EmergencyAccessComponent_table_44_tr_4_a_39_Template","EmergencyAccessComponent_table_44_tr_4_a_41_Template","EmergencyAccessComponent_table_44_tr_4_a_43_Template","_r65","ctx_r43","EmergencyAccessComponent_table_44_tr_4_Template","grantedContacts","EmergencyAccessComponent","EmergencyAccessType","getEmergencyAccessGranted","EmergencyAccessAddEditComponent","emergencyAccessId","onSaved","contact","postEmergencyAccessReinvite","childComponent_1","EmergencyAccessConfirmComponent","onConfirmed","deleteEmergencyAccess","EmergencyAccessGranteeDetailsResponse","removeGrantee","removeGrantor","postEmergencyAccessInitiate","postEmergencyAccessApprove","postEmergencyAccessReject","EmergencyAccessTakeoverComponent","takeoverModalRef","onDone","EmergencyAccessConfirmRequest","postEmergencyAccessConfirm","EmergencyAccessComponent_a_20_Template","EmergencyAccessComponent_table_33_Template","EmergencyAccessComponent_p_35_Template","EmergencyAccessComponent_table_44_Template","EmergencyAccessComponent_p_46_Template","EmergencyAccessComponent_ng_template_48_Template","EmergencyAccessComponent_ng_template_51_Template","EmergencyAccessComponent_ng_template_54_Template","cipherResponse_1","creationDate","EmergencyAccessGrantorDetailsResponse","grantorId","EmergencyAccessTakeoverResponse","EmergencyAccessViewResponse","emergencyAccessInviteRequest_1","o_r12","EmergencyAccessAddEditComponent_div_26_ng_container_2_Template","waitTime","EmergencyAccessAddEditComponent_div_26_option_48_Template","waitTimes","getEmergencyAccess","EmergencyAccessInviteRequest","postEmergencyAccessInvite","EmergencyAccessAddEditComponent_span_11_Template","EmergencyAccessAddEditComponent_small_13_Template","EmergencyAccessAddEditComponent_div_24_Template","EmergencyAccessAddEditComponent_div_26_Template","EmergencyAccessAddEditComponent_i_32_Template","EmergencyAccessAddEditComponent_span_34_Template","EmergencyAccessAddEditComponent_button_43_Template","EmergencyAccessConfirmComponent_small_12_Template","emergencyAccessPasswordRequest_1","postEmergencyAccessTakeover","takeoverResponse","EmergencyAccessPasswordRequest","postEmergencyAccessPassword","EmergencyAccessTakeoverComponent_small_12_Template","apiKeyResponse_1","billingResponse_1","breachAccountResponse_1","collectionResponse_1","domainsResponse_1","errorResponse_1","eventResponse_1","folderResponse_1","groupResponse_1","identityTokenResponse_1","identityTwoFactorResponse_1","listResponse_1","organizationResponse_1","organizationSubscriptionResponse_1","organizationUserResponse_1","paymentResponse_1","planResponse_1","policyResponse_1","preloginResponse_1","profileResponse_1","selectionReadOnlyResponse_1","sendAccessResponse_1","sendResponse_1","subscriptionResponse_1","syncResponse_1","taxInfoResponse_1","taxRateResponse_1","twoFactorAuthenticatorResponse_1","twoFactorDuoResponse_1","twoFactorEmailResponse_1","twoFactorProviderResponse_1","twoFactorRescoverResponse_1","twoFactorU2fResponse_1","twoFactorYubiKeyResponse_1","userKeyResponse_1","logoutCallback","customUserAgent","urlsSet","isWebClient","isDesktopClient","usingBaseUrl","device","getDevice","setUrls","urls","apiBaseUrl","eventsBaseUrl","api","headers","Headers","Content-Type","Accept","Device-Type","qsStringify","toIdentityToken","identityClientId","credentials","getCredentials","cache","isJsonResponse","IdentityTokenResponse","TwoFactorProviders2","clearTwoFactorToken","IdentityTwoFactorResponse","ErrorResponse","doRefreshToken","BillingResponse","SubscriptionResponse","TaxInfoResponse","PreloginResponse","setPassword","getAccountRevisionDate","postPasswordHint","postRegister","PaymentResponse","postIapCheck","postAccountVerifyPassword","ApiKeyResponse","getFolder","FolderResponse","postFolder","putFolder","deleteFolder","getSend","SendResponse","postSendAccess","SendAccessResponse","getSends","ListResponse","postSend","postSendFile","putSend","putSendRemovePassword","deleteSend","getCipher","getCiphersOrganization","postCipher","postCipherCreate","putCipher","deleteManyCiphers","putMoveCiphers","putShareCipher","putShareCiphers","putCipherCollections","path","postImportCiphers","postImportOrganizationCiphers","putDeleteCipher","putDeleteManyCiphers","putRestoreCipher","putRestoreCipherAdmin","putRestoreManyCiphers","postCipherAttachment","postCipherAttachmentAdmin","postShareCipherAttachment","CollectionGroupDetailsResponse","CollectionResponse","dr","deleteCollectionUser","GroupDetailsResponse","GroupResponse","deleteGroupUser","PolicyResponse","OrganizationUserDetailsResponse","OrganizationUserUserDetailsResponse","PlanResponse","postImportDirectory","TaxRateResponse","DomainsResponse","getSync","SyncResponse","TwoFactorProviderResponse","TwoFactorAuthenticatorResponse","TwoFactorEmailResponse","TwoFactorDuoResponse","TwoFactorYubiKeyResponse","TwoFactorU2fResponse","ChallengeResponse","TwoFactorRecoverResponse","postTwoFactorEmail","OrganizationResponse","OrganizationSubscriptionResponse","getEvents","addEventParameters","EventResponse","postEventsCollect","getActiveBearerToken","authHeader","Authorization","UserKeyResponse","getHibpBreach","BreachAccountResponse","getToken","tokenNeedsRefresh","nativeFetch","handleError","hasResponse","requestInit","tokenError","getRefreshToken","decodedToken","decodeToken","grant_type","client_id","refresh_token","typeHeader","CollectionDetailsResponse","globalDomainResponse_1","GlobalDomainResponse","identityResponse","errorModel","responseErrorModel","getSingleMessage","messages","item","prefix","lastSep","lastIndexOf","businessAddress1","businessAddress2","businessAddress3","businessCountry","businessTaxNumber","maxAdditionalStorage","hasEvents","has2fa","upgradeSortOrder","displaySortOrder","stripePlanId","stripeSeatPlanId","stripeStoragePlanId","stripePremiumAccessPlanId","BillingSubscriptionResponse","BillingSubscriptionUpcomingInvoiceResponse","trialEndDate","periodStartDate","periodEndDate","cancelledDate","BillingSubscriptionItemResponse","sendFileApi_1","sendTextApi_1","makeAndGetAppId","getAnonymousAppId","existingId","guid","throttle_1","hashStart","hashEnding","leakedHashes","v","__decorate","throttle","cipherBulkMoveRequest_1","cipherBulkRestoreRequest_1","cipherBulkShareRequest_1","cipherShareRequest_1","sortedCiphersCache_1","sequentialize_1","Keys","DomainMatchBlacklist","Set","settingsService","sortedCiphersCache","SortedCiphersCache","sortCiphersByLastUsed","_decryptedCipherCache","clearIndex","indexCiphers","clearCache","decryptedCipherCache","existingCipher","existingHiddenFields","hiddenFields_1","ef","matchedField","encryptObjProperty","encryptCipherData","encryptFields","encryptPasswordHistories","encryptAttachments","attachmentsModel","encAttachments","fieldsModel","encFields","encryptField","encField","fieldModel","phModels","encPhs","encryptPasswordHistory","encPh","phModel","getAllDecryptedForGrouping","groupingId","getAllDecryptedForUrl","includeOtherTypes","defaultMatch","eqDomainsPromise","getEquivalentDomains","eqDomains","matches","eqDomain","matchingDomains","domainUrlHost","Host","urlHost","Exact","StartsWith","Never","decCiphers_1","promises_1","getLastUsedForUrl","getCipherForUrl","getLastLaunchedForUrl","getNextCipherForUrl","updateLastUsedIndexForUrl","updateLastUsedIndex","updateLastUsedDate","ciphersLocalData","cached","updateLastLaunchedDate","lastLaunched","saveNeverDomain","upsert","shareWithServer","attachmentPromises","shareAttachmentWithServer","encCipher","CipherShareRequest","encCiphers","ciphers_1","CipherBulkShareRequest","unencryptedFile","admin","readAsArrayBuffer","saveAttachmentRawWithServer","cData","filename","encFileName","dataEncKey","encryptToBytes","encData","blob","Blob","filepath","contentType","saveCollectionsWithServer","CipherBulkMoveRequest","deleteAttachment","deleteAttachmentWithServer","e_3","aLastUsed","bLastUsed","bothNotNull","sortCiphersByLastUsedThenName","aName","bName","softDelete","setDeletedDate","clearDeletedDate","constructor","CipherBulkRestoreRequest","restores","attachmentView","attachmentResponse","arrayBuffer","buf","decryptFromBytes","decBuf","e_4","theObj","modelProp","lastUsed","isCached","addCiphers","getLastLaunched","getLastUsed","getNext","sequentialize","propertyKey","descriptor","originalMethod","caches","args","arguments","getCache","argsCacheKey","onFinally","serviceUtils_1","decryptedCollectionCache","decCollections","nodes","collectionCopy","ServiceUtils","nestedTraverse","getNested","getTreeNodeObject","treeNode_1","nodeTree","partIndex","delimiter","partName","TreeNode","newPartName","ContainerService","attachToWindow","attachToGlobal","bigInt","encryptedObject_1","wordlist_1","secureStorageService","platformUtilService","option","biometric","supportsSecureStorage","keyHash","setOrgKeys","orgKeys","getKeyHash","encKeyCipher","decEncKey","stretchKey","getPublicKey","rsaExtractPublicKey","keyFingerprint","hkdfExpand","userFingerprint","hashPhrase","getOrgKeys","encOrgKeys","clearKey","legacyEtmKey","clearKeyHash","clearEncKey","memoryOnly","clearKeyPair","clearOrgKeys","clearPinProtectedKey","clearKeys","toggleKey","salt","pbkdf2","makeKeyFromPin","pin","protectedKeyCs","makePinKey","pinKey","decKey","randomBytes","rsaGenerateKeyPair","publicB64","privateEnc","makeSendKey","keyMaterial","hkdf","sendKey","getKeyForEncryption","theKey","buildEncKey","plainValue","plainBuf","aesEncrypt","encObj","encValue","macLen","encBytes","Rsa2048_OaepSha256_HmacSha256_B64","Rsa2048_OaepSha1_HmacSha256_B64","alg","cipherString","aesDecryptToBytes","decipher","aesDecryptToUtf8","encBuf","ctBytes","ivBytes","macBytes","randomNumber","min","rval","range","bitsNeeded","ceil","log2","bytesNeeded","mask","pow","byteArray","macData","hmac","keyForEnc","resolveLegacyKey","fastParams","aesDecryptFastParameters","hmacFast","computedMac","compareFast","aesDecryptFast","aesDecrypt","minimumEntropy","entropyPerWord","EEFLongWordList","hashArr","entropyAvailable","phrase","hashNumber","fromArray","remainder","divide","encKeyEnc","environmentUrls_1","notificationsService","setUrlsFromStorage","urlsObj","icons","notifications","webVault","enterprise","envUrls","apiUrl","identityUrl","notificationsUrl","eventsUrl","formatUrl","folderData_1","folder_1","folderRequest_1","decryptedFolderCache","decFolders","noneFolder","folderCopy","cId","updates","systemLanguage","localesDirectory","getLocalesJson","defaultMessages","localeMessages","translationLocale","Intl","Collator","numeric","sensitivity","loadMessages","translate","messagesObj","formattedLocale","locales","placeholders","placeProp","replaceToken","replaceContent","zxcvbn","generatedPasswordHistory_1","passwordGeneratorPolicyOptions_1","DefaultOptions","ambiguous","minUppercase","minLowercase","generatePassphrase","sanitizePasswordLength","positions","shuffleArray","allCharSet","lowercaseCharSet","uppercaseCharSet","numberCharSet","specialCharSet","positionChars","randomCharIndex","listLength","wordList","wordIndex","appendRandomNumberToRandomWord","optionsCache","enforcePasswordGeneratorPoliciesOnOptions","enforcedOptions","getPasswordGeneratorPolicyOptions","numberCount","specialCount","PasswordGeneratorPolicyOptions","currentPolicy","getHistory","encrypted","decryptHistory","addHistory","currentHistory","matchesPrevious","unshift","encryptHistory","newHistory","userInputs","globalUserInputs","finalUserInputs","normalizeOptions","decrypted","array","forGeneration","minUppercaseCalc","minLowercaseCalc","minNumberCalc","minSpecialCalc","settingsCache","getSettingsKey","setEquivalentDomains","setSettingsKey","getSettings","settings","purge","organizationData_1","sendData_1","syncInProgress","getLastSync","lastSync","setLastSync","toJSON","forceSync","allowThrowOnError","syncStarted","syncCompleted","needsSync","needsSyncing","syncProfile","syncFolders","syncCollections","syncCiphers","syncSends","syncSettings","syncPolicies","syncUpsertFolder","notification","isEdit","localFolder","remoteFolder","syncDeleteFolder","syncUpsertCipher","shouldUpdate","localCipher","checkCollections","remoteCipher","syncDeleteCipher","getSecurityStamp","stamp","setSecurityStamp","OrganizationData","replaceOrganizations","SendData","sendFileData_1","sendTextData_1","SendTextData","SendFileData","setToken","setRefreshToken","skipTokenStorage","toggleTokens","clearToken","decoded","getTokenExpirationDate","setUTCSeconds","tokenSecondsRemaining","offsetSeconds","msRemaining","valueOf","minutes","email_verified","getIssuer","iss","B32Chars","SteamChars","period","digits","keyB32","isOtpAuth","isSteamAuth","digitParams","periodParam","algParam","timeHex","leftPad","decToHex","timeBytes","keyBytes","b32ToBytes","sign","offset","otp","fullCode","trunc","isAutoCopyEnabled","b32ToHex","cleanedInput","bits","hex","byteIndex","chunk","signature","organization_1","clearOrganizations","lockedCallback","loggedOutCallback","checkOnInterval","checkVaultTimeout","isBiometricLockSet","isViewOpen","lockTimeout","lastActive","vaultTimeoutSeconds","allowSoftLock","isPinLockSet","logLevelType_1","hrtime","timersMap","debug","LogLevelType","Debug","info","Info","Warning","level","warn","time","timeEnd","elapsed","CipherWithIds","build","CollectionWithId","FolderWithId","importResult_1","baseImporter_1","cipherImportContext_1","IgnoredProperties","OnePasswordCsvImporter","loginPropertyParsers","setLoginUsername","setLoginPassword","setLoginUris","creditCardPropertyParsers","setCreditCardNumber","setCreditCardVerification","setCreditCardCardholderName","setCreditCardExpiry","identityPropertyParsers","setIdentityFirstName","setIdentityInitial","setIdentityLastName","setIdentityUserName","setIdentityEmail","setIdentityPhone","setIdentityCompany","quoteChar","escapeChar","getProp","setNotes","setCipherType","altUsername","context","CipherImportContext","setKnownLoginValue","setKnownCreditCardValue","setKnownIdentityValue","setUnknownValue","entries","agg","entry","getPropByRegexp","regexp","matchingKeys","getPropIncluding","includesMap","importRecord","func","lowerProperty","readableDate","toUTCString","view_1","NotificationType","enableProdMode","__NgCli_bootstrap_2","platformBrowser","bootstrapModule","__NgCli_bootstrap_1","AppModule","preserveWhitespaces","angular2_toaster_1","angulartics2_1","ngx_infinite_scroll_1","app_routing_module_1","drag_drop_1","platform_browser_1","animations_1","services_module_1","app_component_1","avatar_component_1","password_strength_component_1","footer_component_1","frontend_layout_component_1","navbar_component_1","organization_layout_component_1","user_layout_component_1","accept_emergency_component_1","accept_organization_component_1","recover_delete_component_1","recover_two_factor_component_1","verify_email_token_component_1","verify_recover_delete_component_1","events_component_1","groups_component_1","manage_component_1","people_component_1","policies_component_1","account_component_1","adjust_seats_component_1","change_plan_component_1","download_license_component_1","organization_billing_component_1","organization_subscription_component_1","settings_component_1","tools_component_1","collections_component_2","vault_component_1","access_component_1","send_component_1","account_component_2","add_credit_component_1","adjust_payment_component_1","adjust_storage_component_1","change_email_component_1","change_kdf_component_1","create_organization_component_1","domain_rules_component_1","emergency_access_component_1","emergency_access_view_component_1","link_sso_component_1","options_component_1","premium_component_1","profile_component_1","settings_component_2","two_factor_setup_component_2","two_factor_verify_component_1","update_license_component_1","user_subscription_component_1","verify_email_component_1","breach_report_component_1","export_component_2","exposed_passwords_report_component_2","import_component_2","inactive_two_factor_report_component_2","reused_passwords_report_component_2","tools_component_2","unsecured_websites_report_component_2","weak_passwords_report_component_2","add_edit_component_3","attachments_component_2","bulk_actions_component_1","ciphers_component_2","collections_component_3","groupings_component_2","vault_component_2","callout_component_1","icon_component_1","a11y_title_directive_1","api_action_directive_1","autofocus_directive_1","blur_click_directive_1","box_row_directive_1","fallback_src_directive_1","input_verbatim_directive_1","select_copy_directive_1","stop_click_directive_1","stop_prop_directive_1","true_false_value_directive_1","color_password_pipe_1","i18n_pipe_1","search_ciphers_pipe_1","search_pipe_1","common_1","ca_1","cs_1","da_1","de_1","el_1","en_GB_1","es_1","et_1","fr_1","he_1","it_1","ja_1","ko_1","lv_1","ml_1","nb_1","nl_1","pl_1","pt_1","pt_PT_1","ru_1","sk_1","sv_1","uk_1","zh_Hans_1","zh_Hant_1","registerLocaleData","bootstrap","AppComponent","imports","BrowserModule","BrowserAnimationsModule","FormsModule","AppRoutingModule","ServicesModule","Angulartics2Module","forRoot","pageTracking","clearQueryParams","ToasterModule","InfiniteScrollModule","DragDropModule","declarations","AccessComponent","BlurClickDirective","BoxRowDirective","SearchCiphersPipe","organization_guard_service_1","organization_type_guard_service_1","unauth_guard_service_1","auth_guard_service_1","routes","pathMatch","redirectTo","RouterModule","useHash","paramsInheritanceStrategy","subscribers","messageCallback","passwordHintRequest_1","PasswordHintRequest","pinLock","invalidPinAttempts","pinSet","supportsBiometric","biometricLock","vaultUrl","failed","decPin","setKeyAndContinue","passwordValid","storedKeyHash","unlockBiometric","authenticateBiometric","doContinue","launchSsoBrowser","ssoRedirectUri","ssoCodeVerifier","webUrl","registerRequest_1","useLowerKdf","isIE","RegisterRequest","confirmField","setPasswordRequest_1","SetPasswordRequest","orgIdentifier","onSuccessfulChangePassword","Window","backdrop","className","addEventListener","modals_1","DuoWebSDK","u2f_1","initU2f","loginRoute","authing","needsLock","customWebVaultUrl","cleanupU2f","providerData","Challenge","challenges","Challenges","keyHandle","iframe","sig_request","Signature","submit_callback","sig","stop","doToast","cleanup","getDeviceString","pushToken","codes","client_secret","code_verifier","redirect_uri","deviceIdentifier","deviceName","twoFactorRemember","errorCallback","infoCallback","parseFunction","parseMessage","connectorLink","base64Encode","sendMessage","contentWindow","postMessage","removeEventListener","validMessage","encryptedFormat","downloadFile","getExport","extension","csv","onEditAttachments","onShareCipher","onEditCollections","onGeneratePassword","currentDate","myEmail","policies_1","addEditCipherInfo","previousCipherId","editCollections","restorePromise","restoreCipher","toggleUriOptions","moveItemInArray","previousIndex","currentIndex","hasUpdatedKey","canAccessAttachments","foundAttachment","a2","activeCipherId","onCipherClicked","onCipherRightClicked","onAddCipher","onAddCipherOptions","pagedCiphersCount","deletedFilter","searchCiphers","rightClickCipher","addCipherOptions","selectedCollectionIds","onAllClicked","onFavoritesClicked","onTrashClicked","onCipherTypeClicked","onFolderClicked","onAddFolder","onEditFolder","onCollectionClicked","setLoaded","collapsedGroupings","idPrefix","showSelect","onSelected","optionsResponse","sliderChanged","sliderInput","copyOptions","toggleOptions","cipherView","broadcasterMessaging_service_1","htmlStorage_service_1","memoryStorage_service_1","webPlatformUtils_service_1","event_service_1","router_service_1","validation_service_1","analytics_1","container_service_1","event_service_2","export_service_1","import_service_1","notifications_service_1","policy_service_1","send_service_1","webCryptoFunction_service_1","api_service_2","audit_service_2","auth_service_2","cipher_service_2","collection_service_2","crypto_service_2","cryptoFunction_service_1","environment_service_2","event_service_3","export_service_2","folder_service_2","i18n_service_2","import_service_2","notifications_service_2","passwordGeneration_service_2","policy_service_2","search_service_2","send_service_2","settings_service_2","state_service_2","sync_service_2","token_service_2","totp_service_2","user_service_2","vaultTimeout_service_2","language","BroadcasterMessagingService","WebPlatformUtilsService","HtmlStorageService","MemoryStorageService","WebCryptoFunctionService","consoleLogService","__generator","eventLoggingService","Analytics","initFactory","htmlEl","documentElement","theme","useValue","APP_INITIALIZER","useFactory","deps","LOCALE_ID","subscriber","arg","services_1","localStorageKeys","localStorageStartsWithKeys","memoryStorageStartsWithKeys","memoryStorage","isLocalStorage","localStorage","getItem","isMemoryStorage","sessionStorage","setItem","removeItem","swKey","BillingSourceResponse","BillingTransactionResponse","BillingInvoiceResponse","cardBrand","partiallyRefunded","refundedAmount","isActive","isVerified","modifiedDate","access_token","expiresIn","expires_in","tokenType","token_type","OrganizationUserResponse","userProfile","taxIdType","KeyResponse","limit","throttleKey","allThrottles","throttles","getThrottles","argsThrottleKey","queue","exec","comparator","sortedCiphersByUrl","timeouts","Ciphers","resetTimer","lastUsedIndex","y","getNextIndex","filePath","store","sweetalert2_js_1","browserCache","chrome","isFirefox","isChrome","isEdge","isOpera","isVivaldi","isSafari","isMacAppStore","analyticsId","rel","click","blobData","blobOptions","fileNameLower","doDownload","endsWith","msSaveOrOpenBlob","msSaveBlob","createObjectURL","position","confirmText","cancelText","iconClasses","iconHtmlStr","fire","heightAuto","buttonsStyling","iconHtml","showCancelButton","cancelButtonText","showConfirmButton","confirmButtonText","clipboardData","setData","queryCommandSupported","textarea","copyEl","contains","execCommand","readFromClipboard","getDefaultSystemTheme","onDefaultSystemThemeChange","GaObj","AnalyticsIds","gaFilter","dependencyResolver","gaTrackingId","defaultDisabled","appVersion","GoogleAnalyticsObject","param1","param2","ga","gaAnonAppId","gaTrackPageView","hitType","page","gaTrackEvent","XMLHttpRequest","eventCategory","eventAction","eventLabel","eventValue","cleanPagePath","pagePath","paramIndex","pathParts","newPathParts","eventData_1","eventRequest_1","uploadEvents","eventType","uploadImmediately","orgIds","eventCollection","EventData","EventRequest","clearEvents","cipherWithIds_1","collectionWithId_1","folderWithId_1","getEncryptedExport","getDecryptedExport","getOrganizationEncryptedExport","getOrganizationDecryptedExport","padNumber","getSeconds","foldersMap_1","exportCiphers_1","buildCommonCipher","unparse","jsonDoc_1","jsonDoc","collectionPromises","decCol","cipherPromises","decCipher","collectionsMap_1","exportCiphers_2","jsonDoc_2","padCharacter","numString","login_uri","login_username","login_password","login_totp","toView","toDomain","_j","_k","_l","_m","_o","_p","_q","_r","_s","_t","importCiphersRequest_1","importOrganizationCiphersRequest_1","kvpRequest_1","ascendoCsvImporter_1","avastCsvImporter_1","avastJsonImporter_1","aviraCsvImporter_1","bitwardenCsvImporter_1","bitwardenJsonImporter_1","blackBerryCsvImporter_1","blurCsvImporter_1","buttercupCsvImporter_1","chromeCsvImporter_1","clipperzHtmlImporter_1","codebookCsvImporter_1","dashlaneJsonImporter_1","encryptrCsvImporter_1","enpassCsvImporter_1","enpassJsonImporter_1","firefoxCsvImporter_1","fsecureFskImporter_1","gnomeJsonImporter_1","kasperskyTxtImporter_1","keepass2XmlImporter_1","keepassxCsvImporter_1","keeperCsvImporter_1","lastpassCsvImporter_1","logMeOnceCsvImporter_1","meldiumCsvImporter_1","msecureCsvImporter_1","mykiCsvImporter_1","onepassword1PifImporter_1","onepasswordMacCsvImporter_1","onepasswordWinCsvImporter_1","padlockCsvImporter_1","passkeepCsvImporter_1","passmanJsonImporter_1","passpackCsvImporter_1","passwordAgentCsvImporter_1","passwordBossJsonImporter_1","passwordDragonXmlImporter_1","passwordSafeXmlImporter_1","passwordWalletTxtImporter_1","rememBearCsvImporter_1","roboformCsvImporter_1","safeInCloudXmlImporter_1","saferpassCsvImport_1","secureSafeCsvImporter_1","splashIdCsvImporter_1","stickyPasswordXmlImporter_1","truekeyCsvImporter_1","upmCsvImporter_1","yotiCsvImporter_1","zohoVaultCsvImporter_1","getImportOptions","importResult","halfway","last","badData","postImport","getImporterInstance","BitwardenCsvImporter","BitwardenJsonImporter","LastPassCsvImporter","KeePassXCsvImporter","AviraCsvImporter","BlurCsvImporter","SafeInCloudXmlImporter","PadlockCsvImporter","KeePass2XmlImporter","ChromeCsvImporter","FirefoxCsvImporter","UpmCsvImporter","SaferPassCsvImporter","MeldiumCsvImporter","OnePassword1PifImporter","OnePasswordWinCsvImporter","OnePasswordMacCsvImporter","KeeperCsvImporter","PasswordDragonXmlImporter","EnpassCsvImporter","EnpassJsonImporter","PasswordSafeXmlImporter","DashlaneJsonImporter","MSecureCsvImporter","StickyPasswordXmlImporter","TrueKeyCsvImporter","ClipperzHtmlImporter","RoboFormCsvImporter","AscendoCsvImporter","PasswordBossJsonImporter","ZohoVaultCsvImporter","SplashIdCsvImporter","PassKeepCsvImporter","GnomeJsonImporter","PasswordAgentCsvImporter","PasspackCsvImporter","PassmanJsonImporter","AvastCsvImporter","AvastJsonImporter","FSecureFskImporter","KasperskyTxtImporter","RememBearCsvImporter","PasswordWalletTxtImporter","MykiCsvImporter","SecureSafeCsvImporter","LogMeOnceCsvImporter","BlackBerryCsvImporter","ButtercupCsvImporter","CodebookCsvImporter","EncryptrCsvImporter","YotiCsvImporter","ImportCiphersRequest","KvpRequest","request_2","ImportOrganizationCiphersRequest","fieldLower","web","logins","custName","note","pwd","loginName","cards","holderName","cardNumber","cvv","website","secondary_username","col","addCollection","collectionIndex","delimPosition","parseEncrypted","parseDecrypted","groupingsMap","fav","extra","OfficialProps","processingCustomFields","currentVersion","actionType","labelLower","Category","Favorite","Entry","Note","Username","TOTP","Website","Phone","PIN","Account","HandledResults","ADDRESS","processAddress","AUTHENTIFIANT","processAuth","BANKSTATEMENT","processNote","IDCARD","PAYMENTMEANS_CREDITCARD","processCard","IDENTITY","processIdentity","credential","secondaryLogin","fullName","nameParts","pseudo","addressName","addressFull","zipcode","owner","nameProperty","Label","Notes","CVV","expiry","Expiry","expParts","firstRow","containsField","fieldValue","fieldName","fieldNameLower","foldersMap","foldersIndexMap","folderTree","buildFolderTree","flattenFolderTree","template_type","processLogin","sensitive","uuid","parent_uuid","titlePrefix","tree","creditNumber","creditCvv","creditExpiry","keyRing","display_name","secret","attributes","attr","username_value","notesData","applicationsData","websitesData","workingData","parseDataCategory","applications","websites","nameKey","itemComment","itemCommentKey","colonIndex","rootGroup","traverse","isRootNode","groupPrefixName","groupName","nameEl","cipherIndex","entryString","valueEl","keyEl","attrs","ProtectInMemory","Group","buildBaseCipher","parseSecureNote","parseCard","parseIdentity","ccnum","cardCipher","profilename","firstname","lastname","ccname","cccsc","ccexp","ccexpParts","middlename","zip","extraParts","processedNote","typeParts","mappedData","parseSecureNoteMapping","Number","Name on Card","Security Code","Expiration Date","monthString","First Name","Last Name","Middle Name","Company","Address 1","Address 2","Address 3","City / Town","State","Zip / Postal Code","Country","Email Address","processingNotes","extraPart","DisplayName","UserName","Url","nickname","additionalInfo","twoFactAuthToken","cardName","exp_month","exp_year","firstAddressLine","secondAddressLine","zipCode","line","trashed","processStandardItem","processWinOpVaultItem","overview","URLs","urls_1","parsePasswordHistory","notesPlain","parseFields","sections","section","openContents","faveIndex","typeName","secureContents","urls_2","maxSize","designationKey","valueKey","fieldDesignation","street","onepasswordCsvImporter_1","setIdentityAddress","expSplit","tags","tag","getValue","custom_fields","customField","field_type","tagsJson","Tags","tagJson","__parsed_extra","fieldsJson","extraFields","fieldJson","newVersion","altFormat","login_url","identifiers","valObj","expDate","cf","records","record","categoryText","accountName","tagName","passwordSafe","notesDelimiter","getAttribute","groupText","trash","cardholder","verification","expiryMonth","expMonthNumber","expiryYear","expYearNumber","Name","Pwd","Rf_fields","labelEl","cardEl","labelIdEl","labelId","fieldEl","notesEl","Comment","parseFieldsToNotes","startIndex","loginNodes","loginNode","accountId","usernameText","passwordText","titleText","linkText","notesText","accountLogin","account","parentElement","buildGroupText","PropertiesToIgnore","memo","kind","expiryDate","document_content","ChamberName","parseData","SecretData","CustomData","signalR","signalRMsgPack","notificationType_1","notificationResponse_1","connected","inactive","reconnectTimer","signalrConnection","off","HubConnectionBuilder","withUrl","accessTokenFactory","skipNegotiation","transport","HttpTransportType","WebSockets","withHubProtocol","MessagePackHubProtocol","processNotification","NotificationResponse","onclose","reconnect","isAuthedAndUnlocked","updateConnection","sync","reconnectFromActivity","disconnectFromInactivity","contextId","payloadUserId","UserId","myUserId","SyncCipherCreate","SyncCipherUpdate","SyncCipherDelete","SyncLoginDelete","SyncFolderCreate","SyncFolderUpdate","SyncFolderDelete","SyncVault","SyncCiphers","SyncSettings","SyncOrgKeys","LogOut","SyncCipherNotification","SyncFolderNotification","UserNotification","masterPasswordPolicyOptions_1","policyCache","MasterPasswordPolicyOptions","newPassword","toLocaleLowerCase","toLocaleUpperCase","lunr","indexing","builder","Builder","boost","extractor","uriExtractor","fieldExtractor","attachmentExtractor","isArray","every","getIndexForSearch","ciphersMap","searchResults","soWild_1","Query","wildcard","LEADING","TRAILING","q","tokenizer","term","joined","protocolIndex","queryIndex","sendRequest_1","send_1","sendFile_1","sendText_1","decryptedSendCache","fileData","Send","cryptoKey","passwordHash","parseFile","decSends","SendRequest","forge","decryptParameters_1","crypto","subtle","ua","isOldSafari","algorithm","iterations","forgeLen","passwordBytes","toByteString","saltBytes","derivedKeyBytes","wcLen","passwordBuf","toBuf","saltBuf","pbkdf2Params","toWebCryptoAlgorithm","importKey","impKey","deriveBits","ikm","outputByteSize","infoBuf","hkdfParams","prk","hashLen","infoArr","runningOkmLength","previousT","okm","md","md5","sha1","valueBytes","update","digest","valueBuf","signingAlgorithm","mac1","mac2","arr1","arr2","getBytes","rand","Uint32Array","util","createBuffer","putInt32","DecryptParameters","meta","encKeyByteString","macKeyByteString","decode64","parameters","dataBuffer","createDecipher","finish","rsaParams","impPrivateKey","exportKey","jwkPrivateKey","jwkPublicKeyParams","kty","ext","impPublicKey","modulusLength","publicExponent","generateKey","getRandomValues","encodeUtf8","angulartics2GoogleAnalytics","toasterConfig","ToasterConfig","showCloseButton","mouseoverTimerStop","animation","lastActivity","idleTimer","isIdle","runOutsideAngular","onmousemove","recordActivity","onmousedown","ontouchstart","onclick","onscroll","onkeypress","setFullWidth","idleStateChanged","message_1","sanitize","SecurityContext","HTML","bodyOutputType","BodyOutputType","TrustedHtml","trustedHtml","Angulartics2GoogleAnalytics","i15","i16","i17","i18","i19","i20","i21","i22","i23","i24","i25","i26","sendAccess_1","sendAccessRequest_1","toggleText","AccessComponent_div_20_ng_container_9_app_callout_2_Template","sendText","AccessComponent_div_20_ng_container_9_button_9_Template","AccessComponent_div_20_ng_container_9_Template","AccessComponent_div_20_ng_container_12_Template","passwordRequired","unavailable","maskedText","keyArray","accessRequest","SendAccessRequest","sendResponse","sendAccess","SendAccess","AccessComponent_div_12_Template","AccessComponent_div_14_Template","AccessComponent_div_16_Template","AccessComponent_div_18_Template","AccessComponent_div_20_Template","sendAccessView_1","SendAccessView","blur","elRef","formEls","formEl","inputEl"],"mappings":"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WACA,UACA,OACA,UACA,YACA,WACA,WACA,UACA,YACA,OACA,SACA,WACA,YACA,YACA,YACA,YACA,SACA,QACA,YACA,WACA,SACA,UACA,SACA,SACA,WACA,QACA,SACA,YACA,YACA,YACA,YACA,YACA,OACA,UACA,SACA,SACA,QACA,YACA,SACA,QACA,UACA,QACA,WACA,UACA,YACA,QACA,YACA,YACA,SACA,WACA,YACA,UACA,QACA,OACA,OACA,OACA,MACA,OACA,YACA,QACA,YACA,QACA,UACA,UACA,YACA,QACA,QACA,YACA,WACA,SACA,QACA,QACA,WACA,WACA,UACA,WACA,SACA,OACA,QACA,QACA,QACA,YACA,QACA,WACA,UACA,WACA,WACA,OACA,WACA,SACA,SACA,WACA,QACA,YACA,QACA,WACA,YACA,YACA,WACA,YACA,YACA,SACA,YACA,YACA,SACA,UACA,UACA,WACA,OACA,QACA,QACA,QACA,UACA,WACA,UACA,WACA,QACA,SACA,WACA,QACA,YACA,UACA,QACA,QACA,SACA,WACA,SACA,YACA,SACA,UACA,WACA,YACA,UACA,YACA,UACA,SACA,UACA,UACA,UACA,SACA,SACA,WACA,OACA,YACA,UACA,QACA,SACA,SACA,SACA,UACA,UACA,YACA,YACA,UACA,SACA,UACA,YACA,YACA,WACA,QACA,YACA,QACA,QACA,WACA,YACA,WACA,WACA,UACA,WACA,UACA,YACA,UACA,YACA,WACA,WACA,WACA,SACA,UACA,YACA,WACA,SACA,WACA,WACA,YACA,WACA,YACA,WACA,YACA,YACA,YACA,YACA,SACA,UACA,QACA,QACA,UACA,SACA,UACA,SACA,WACA,WACA,UACA,SACA,WACA,QACA,SACA,UACA,YACA,SACA,UACA,YACA,YACA,WACA,WACA,YACA,UACA,WACA,QACA,YACA,YACA,UACA,QACA,YACA,YACA,YACA,YACA,WACA,WACA,UACA,UACA,QACA,QACA,WACA,QACA,OACA,WACA,YACA,YACA,WACA,OACA,QACA,WACA,WACA,QACA,QACA,YACA,UACA,WACA,QACA,SACA,UACA,SACA,UACA,UACA,UACA,SACA,UACA,OACA,QACA,QACA,SACA,UACA,UACA,QACA,SACA,UACA,SACA,YACA,WACA,QACA,MACA,SACA,YACA,SACA,YACA,UACA,QACA,QACA,OACA,QACA,QACA,SACA,YACA,SACA,WACA,SACA,UACA,WACA,UACA,UACA,YACA,YACA,YACA,SACA,WACA,QACA,OACA,WACA,OACA,SACA,YACA,UACA,SACA,SACA,UACA,YACA,WACA,YACA,YACA,SACA,QACA,SACA,WACA,YACA,YACA,WACA,UACA,YACA,WACA,UACA,UACA,WACA,QACA,WACA,YACA,SACA,YACA,SACA,SACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,SACA,SACA,WACA,SACA,UACA,WACA,QACA,WACA,UACA,OACA,QACA,QACA,SACA,QACA,QACA,SACA,UACA,SACA,QACA,OACA,OACA,SACA,WACA,SACA,SACA,WACA,YACA,YACA,WACA,SACA,SACA,YACA,WACA,WACA,UACA,YACA,WACA,WACA,YACA,UACA,UACA,WACA,YACA,WACA,WACA,YACA,WACA,WACA,YACA,WACA,WACA,YACA,WACA,YACA,SACA,WACA,WACA,YACA,WACA,QACA,WACA,YACA,SACA,QACA,UACA,QACA,UACA,SACA,WACA,QACA,SACA,UACA,SACA,SACA,YACA,UACA,QACA,UACA,WACA,QACA,SACA,WACA,SACA,UACA,YACA,UACA,QACA,WACA,SACA,SACA,SACA,WACA,QACA,WACA,WACA,SACA,SACA,UACA,WACA,WACA,SACA,YACA,UACA,SACA,WACA,SACA,UACA,SACA,UACA,QACA,WACA,UACA,WACA,SACA,UACA,SACA,OACA,YACA,UACA,YACA,SACA,WACA,YACA,UACA,WACA,YACA,WACA,OACA,YACA,SACA,QACA,QACA,QACA,SACA,SACA,QACA,OACA,QACA,OACA,YACA,WACA,YACA,UACA,UACA,SACA,SACA,UACA,UACA,UACA,QACA,OACA,QACA,UACA,YACA,YACA,QACA,YACA,YACA,QACA,WACA,YACA,SACA,UACA,SACA,QACA,QACA,UACA,QACA,QACA,WACA,QACA,QACA,UACA,UACA,WACA,SACA,OACA,WACA,QACA,WACA,UACA,WACA,OACA,OACA,WACA,WACA,UACA,OACA,SACA,UACA,QACA,SACA,YACA,QACA,QACA,UACA,SACA,QACA,QACA,WACA,UACA,WACA,WACA,OACA,SACA,UACA,SACA,SACA,UACA,UACA,YACA,OACA,SACA,SACA,QACA,OACA,MACA,UACA,OACA,UACA,SACA,UACA,WACA,QACA,WACA,WACA,WACA,QACA,UACA,SACA,SACA,QACA,OACA,YACA,YACA,OACA,YACA,SACA,QACA,SACA,UACA,WACA,UACA,QACA,QACA,QACA,SACA,UACA,WACA,YACA,OACA,YACA,WACA,SACA,QACA,OACA,SACA,WACA,SACA,SACA,WACA,SACA,WACA,YACA,YACA,SACA,SACA,QACA,SACA,UACA,OACA,SACA,SACA,WACA,YACA,UACA,WACA,SACA,SACA,WACA,UACA,UACA,QACA,QACA,QACA,QACA,UACA,UACA,SACA,YACA,OACA,QACA,QACA,UACA,UACA,YACA,UACA,UACA,YACA,YACA,UACA,UACA,YACA,YACA,YACA,UACA,WACA,SACA,SACA,YACA,SACA,SACA,WACA,QACA,QACA,UACA,WACA,YACA,SACA,WACA,WACA,SACA,WACA,QACA,QACA,WACA,QACA,YACA,SACA,WACA,SACA,YACA,SACA,SACA,SACA,WACA,WACA,YACA,YACA,WACA,WACA,UACA,QACA,SACA,UACA,SACA,SACA,UACA,UACA,QACA,OACA,QACA,YACA,SACA,OACA,UACA,YACA,YACA,WACA,WACA,UACA,UACA,UACA,WACA,WACA,WACA,QACA,QACA,SACA,SACA,SACA,UACA,YACA,WACA,QACA,OACA,SACA,OACA,SACA,UACA,OACA,WACA,OACA,SACA,UACA,SACA,YACA,QACA,UACA,QACA,SACA,QACA,SACA,SACA,QACA,QACA,WACA,UACA,OACA,UACA,OACA,WACA,WACA,UACA,YACA,WACA,UACA,YACA,OACA,UACA,UACA,UACA,YACA,QACA,SACA,WACA,SACA,WACA,UACA,WACA,SACA,QACA,SACA,SACA,UACA,SACA,QACA,OACA,SACA,WACA,WACA,SACA,UACA,SACA,SACA,SACA,QACA,YACA,SACA,UACA,SACA,UACA,UACA,WACA,OACA,YACA,UACA,UACA,SACA,YACA,UACA,UACA,UACA,YACA,UACA,YACA,UACA,UACA,QACA,UACA,SACA,YACA,SACA,UACA,WACA,WACA,YACA,YACA,YACA,WACA,SACA,YACA,QACA,SACA,UACA,UACA,WACA,UACA,YACA,WACA,YACA,QACA,YACA,YACA,UACA,UACA,UACA,SACA,YACA,QACA,SACA,WACA,SACA,UACA,YACA,YACA,QACA,UACA,UACA,UACA,OACA,OACA,SACA,SACA,SACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,YACA,UACA,YACA,UACA,WACA,SACA,UACA,WACA,WACA,UACA,YACA,WACA,UACA,SACA,SACA,SACA,UACA,YACA,SACA,QACA,UACA,YACA,SACA,SACA,YACA,QACA,UACA,YACA,UACA,WACA,WACA,UACA,SACA,SACA,QACA,SACA,YACA,WACA,WACA,SACA,SACA,SACA,WACA,WACA,YACA,YACA,YACA,UACA,WACA,WACA,QACA,WACA,QACA,QACA,UACA,YACA,UACA,YACA,WACA,SACA,SACA,UACA,QACA,QACA,YACA,WACA,UACA,QACA,UACA,YACA,YACA,WACA,UACA,WACA,UACA,UACA,QACA,UACA,UACA,WACA,QACA,UACA,SACA,WACA,WACA,WACA,UACA,WACA,SACA,WACA,UACA,QACA,QACA,SACA,SACA,OACA,YACA,UACA,QACA,YACA,SACA,QACA,QACA,UACA,QACA,WACA,SACA,UACA,QACA,QACA,YACA,YACA,YACA,WACA,YACA,YACA,QACA,QACA,QACA,OACA,WACA,SACA,WACA,WACA,QACA,WACA,WACA,SACA,YACA,UACA,QACA,UACA,WACA,SACA,OACA,SACA,UACA,WACA,SACA,SACA,QACA,OACA,SACA,QACA,QACA,QACA,QACA,QACA,WACA,QACA,SACA,WACA,SACA,WACA,WACA,YACA,SACA,UACA,UACA,WACA,UACA,SACA,SACA,OACA,QACA,QACA,OACA,QACA,WACA,SACA,SACA,QACA,YACA,QACA,WACA,UACA,UACA,WACA,UACA,WACA,UACA,QACA,QACA,QACA,UACA,SACA,WACA,OACA,OACA,QACA,QACA,QACA,UACA,QACA,SACA,YACA,WACA,QACA,SACA,UACA,SACA,UACA,WACA,QACA,SACA,WACA,OACA,SACA,QACA,UACA,QACA,QACA,UACA,WACA,UACA,UACA,WACA,QACA,SACA,UACA,WACA,YACA,QACA,WACA,SACA,SACA,YACA,SACA,UACA,QACA,YACA,UACA,UACA,WACA,YACA,YACA,OACA,WACA,SACA,UACA,SACA,QACA,UACA,MACA,WACA,SACA,UACA,SACA,YACA,YACA,YACA,WACA,YACA,WACA,WACA,OACA,OACA,OACA,OACA,WACA,WACA,UACA,WACA,SACA,YACA,YACA,UACA,SACA,YACA,WACA,WACA,WACA,SACA,WACA,OACA,OACA,OACA,UACA,QACA,QACA,SACA,QACA,WACA,UACA,UACA,WACA,UACA,YACA,YACA,SACA,YACA,UACA,YACA,YACA,YACA,YACA,YACA,YACA,UACA,UACA,SACA,UACA,SACA,YACA,WACA,WACA,YACA,UACA,YACA,WACA,WACA,YACA,WACA,YACA,UACA,UACA,UACA,WACA,UACA,YACA,UACA,QACA,YACA,UACA,WACA,WACA,SACA,WACA,YACA,YACA,UACA,YACA,YACA,UACA,OACA,UACA,WACA,YACA,YACA,WACA,YACA,YACA,WACA,YACA,UACA,WACA,UACA,WACA,WACA,WACA,YACA,YACA,YACA,YACA,WACA,WACA,UACA,YACA,UACA,WACA,YACA,YACA,YACA,UACA,UACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,UACA,WACA,YACA,UACA,YACA,WACA,UACA,YACA,YACA,WACA,UACA,UACA,UACA,UACA,WACA,UACA,YACA,UACA,UACA,YACA,OACA,SACA,SACA,UACA,SACA,UACA,SACA,OACA,QACA,OACA,WACA,YACA,UACA,SACA,SACA,SACA,YACA,YACA,WACA,WACA,YACA,QACA,WACA,UACA,WACA,YACA,SACA,UACA,WACA,UACA,YACA,YACA,UACA,SACA,SACA,WACA,YACA,SACA,SACA,YACA,OACA,UACA,SACA,QACA,QACA,QACA,YACA,YACA,WACA,YACA,UACA,SACA,UACA,WACA,QACA,UACA,WACA,UACA,SACA,WACA,OACA,WACA,YACA,WACA,WACA,SACA,WACA,UACA,WACA,YACA,YACA,SACA,QACA,YACA,QACA,UACA,UACA,QACA,QACA,QACA,UACA,WACA,WACA,WACA,WACA,SACA,SACA,UACA,YACA,QACA,UACA,UACA,YACA,SACA,WACA,YACA,SACA,WACA,WACA,WACA,WACA,WACA,SACA,QACA,QACA,SACA,QACA,QACA,WACA,UACA,WACA,YACA,UACA,WACA,UACA,WACA,OACA,UACA,QACA,QACA,QACA,UACA,SACA,WACA,UACA,UACA,UACA,WACA,UACA,YACA,SACA,WACA,UACA,QACA,QACA,QACA,QACA,OACA,QACA,SACA,UACA,UACA,QACA,QACA,UACA,UACA,YACA,UACA,YACA,UACA,QACA,YACA,SACA,UACA,WACA,WACA,YACA,UACA,WACA,YACA,UACA,UACA,WACA,QACA,OACA,SACA,UACA,UACA,YACA,OACA,UACA,UACA,WACA,SACA,SACA,WACA,WACA,YACA,WACA,UACA,YACA,WACA,UACA,YACA,UACA,QACA,SACA,UACA,UACA,UACA,SACA,OACA,SACA,SACA,SACA,SACA,YACA,UACA,QACA,QACA,QACA,UACA,SACA,UACA,SACA,SACA,YACA,QACA,QACA,QACA,OACA,SACA,UACA,YACA,UACA,YACA,WACA,YACA,UACA,MACA,QACA,SACA,UACA,UACA,WACA,SACA,YACA,YACA,MACA,MACA,WACA,SACA,QACA,WACA,SACA,QACA,QACA,WACA,QACA,UACA,YACA,SACA,WACA,QACA,SACA,SACA,WACA,YACA,QACA,WACA,WACA,YACA,UACA,WACA,WACA,UACA,OACA,OACA,YACA,OACA,YACA,OACA,WACA,SACA,WACA,WACA,UACA,OACA,SACA,WACA,UACA,WACA,WACA,UACA,UACA,UACA,UACA,WACA,SACA,YACA,WACA,SACA,UACA,YACA,QACA,OACA,YACA,SACA,WACA,QACA,UACA,WACA,SACA,QACA,SACA,SACA,QACA,QACA,YACA,QACA,WACA,SACA,WACA,YACA,WACA,UACA,SACA,YACA,YACA,UACA,YACA,UACA,YACA,WACA,OACA,WACA,UACA,SACA,YACA,YACA,YACA,QACA,WACA,SACA,WACA,YACA,SACA,SACA,OACA,OACA,SACA,SACA,WACA,SACA,WACA,SACA,UACA,SACA,YACA,YACA,YACA,WACA,UACA,YACA,WACA,WACA,WACA,UACA,SACA,WACA,SACA,WACA,UACA,YACA,WACA,YACA,YACA,QACA,WACA,UACA,UACA,SACA,SACA,OACA,WACA,YACA,WACA,SACA,YACA,QACA,WACA,QACA,WACA,YACA,SACA,WACA,WACA,WACA,YACA,YACA,YACA,WACA,YACA,WACA,UACA,QACA,SACA,WACA,SACA,YACA,YACA,WACA,SACA,YACA,WACA,SACA,WACA,YACA,YACA,WACA,SACA,QACA,SACA,QACA,UACA,SACA,UACA,UACA,OACA,YACA,YACA,WACA,YACA,SACA,UACA,YACA,WACA,SACA,SACA,SACA,WACA,YACA,YACA,UACA,UACA,QACA,WACA,SACA,SACA,WACA,QACA,UACA,YACA,UACA,YACA,YACA,WACA,WACA,YACA,YACA,UACA,WACA,WACA,UACA,UACA,UACA,UACA,YACA,WACA,WACA,SACA,YACA,YACA,WACA,YACA,YACA,SACA,WACA,YACA,WACA,UACA,QACA,UACA,WACA,UACA,UACA,YACA,WACA,SACA,UACA,YACA,UACA,WACA,WACA,YACA,WACA,YACA,YACA,WACA,WACA,WACA,YACA,YACA,UACA,OACA,WACA,SACA,YACA,QACA,OACA,SACA,UACA,YACA,WACA,YACA,WACA,WACA,YACA,YACA,MACA,WACA,YACA,WACA,OACA,SACA,OACA,WACA,QACA,SACA,SACA,UACA,SACA,QACA,UACA,SACA,YACA,QACA,QACA,SACA,SACA,UACA,UACA,UACA,SACA,SACA,UACA,WACA,YACA,YACA,WACA,YACA,WACA,YACA,WACA,WACA,WACA,SACA,WACA,WACA,UACA,YACA,WACA,UACA,UACA,YACA,WACA,WACA,WACA,YACA,WACA,UACA,UACA,YACA,YACA,WACA,OACA,YACA,UACA,OACA,UACA,YACA,YACA,WACA,WACA,YACA,SACA,UACA,WACA,UACA,WACA,SACA,YACA,YACA,WACA,WACA,YACA,YACA,YACA,WACA,UACA,YACA,WACA,UACA,WACA,UACA,YACA,UACA,WACA,WACA,UACA,WACA,UACA,WACA,UACA,WACA,WACA,WACA,WACA,QACA,QACA,QACA,YACA,UACA,WACA,WACA,WACA,WACA,SACA,WACA,YACA,YACA,WACA,WACA,WACA,YACA,QACA,SACA,SACA,OACA,WACA,WACA,QACA,QACA,QACA,QACA,OACA,SACA,YACA,SACA,QACA,UACA,SACA,WACA,WACA,WACA,WACA,UACA,WACA,UACA,QACA,QACA,SACA,WACA,YACA,WACA,UACA,UACA,WACA,WACA,WACA,WACA,UACA,QACA,OACA,YACA,SACA,SACA,OACA,SACA,WACA,SACA,OACA,OACA,QACA,OACA,OACA,WACA,YACA,YACA,WACA,YACA,WACA,UACA,UACA,YACA,WACA,YACA,QACA,UACA,UACA,OACA,UACA,WACA,YACA,YACA,WACA,YACA,YACA,YACA,SACA,SACA,WACA,SACA,SACA,QACA,OACA,UACA,QACA,QACA,QACA,UACA,WACA,YACA,WACA,WACA,SACA,WACA,SACA,SACA,WACA,UACA,UACA,UACA,QACA,QACA,QACA,YACA,UACA,WACA,UACA,UACA,UACA,QACA,QACA,WACA,SACA,OACA,MACA,SACA,YACA,UACA,WACA,UACA,WACA,WACA,QACA,OACA,OACA,SACA,SACA,MACA,OACA,SACA,WACA,OACA,UACA,WACA,WACA,MACA,OACA,SACA,YACA,YACA,UACA,UACA,WACA,SACA,SACA,OACA,OACA,UACA,OACA,QACA,QACA,QACA,UACA,UACA,WACA,UACA,YACA,UACA,WACA,UACA,WACA,WACA,OACA,QACA,UACA,UACA,UACA,SACA,UACA,QACA,UACA,UACA,WACA,WACA,WACA,UACA,UACA,UACA,YACA,YACA,UACA,YACA,SACA,SACA,UACA,QACA,UACA,SACA,WACA,SACA,YACA,YACA,SACA,WACA,UACA,QACA,SACA,SACA,OACA,OACA,QACA,QACA,QACA,YACA,OACA,SACA,UACA,YACA,UACA,WACA,YACA,UACA,YACA,YACA,OACA,WACA,SACA,OACA,UACA,SACA,WACA,YACA,WACA,MACA,YACA,UACA,YACA,SACA,YACA,SACA,SACA,WACA,WACA,YACA,UACA,YACA,SACA,QACA,YACA,UACA,SACA,QACA,YACA,UACA,SACA,YACA,WACA,WACA,WACA,UACA,YACA,YACA,WACA,SACA,MACA,WACA,WACA,YACA,QACA,UACA,SACA,MACA,UACA,WACA,MACA,YACA,QACA,YACA,WACA,YACA,QACA,UACA,QACA,QACA,UACA,SACA,UACA,YACA,YACA,QACA,WACA,UACA,SACA,SACA,WACA,SACA,YACA,QACA,UACA,YACA,WACA,OACA,QACA,WACA,UACA,WACA,UACA,UACA,WACA,WACA,YACA,WACA,YACA,WACA,WACA,WACA,WACA,UACA,UACA,YACA,QACA,MACA,SACA,YACA,SACA,YACA,YACA,WACA,UACA,YACA,SACA,SACA,YACA,YACA,WACA,UACA,UACA,WACA,WACA,YACA,QACA,SACA,UACA,UACA,YACA,YACA,UACA,YACA,WACA,YACA,YACA,WACA,YACA,WACA,SACA,WACA,WACA,UACA,WACA,SACA,UACA,WACA,WACA,YACA,UACA,SACA,UACA,YACA,YACA,YACA,UACA,WACA,YACA,WACA,YACA,YACA,WACA,WACA,SACA,SACA,SACA,UACA,UACA,SACA,SACA,YACA,WACA,YACA,WACA,SACA,UACA,SACA,SACA,YACA,SACA,SACA,WACA,UACA,WACA,UACA,YACA,WACA,WACA,WACA,UACA,WACA,QACA,OACA,SACA,OACA,WACA,YACA,YACA,WACA,WACA,YACA,WACA,WACA,UACA,QACA,SACA,WACA,UACA,UACA,YACA,SACA,YACA,YACA,WACA,SACA,SACA,UACA,YACA,SACA,SACA,UACA,QACA,QACA,WACA,YACA,YACA,WACA,WACA,WACA,SACA,YACA,YACA,WACA,UACA,QACA,UACA,YACA,YACA,SACA,WACA,WACA,YACA,YACA,WACA,UACA,UACA,WACA,UACA,QACA,YACA,SACA,YACA,WACA,UACA,QACA,WACA,YACA,YACA,UACA,UACA,OACA,YACA,YACA,YACA,WACA,WACA,QACA,WACA,UACA,OACA,QACA,YACA,SACA,QACA,UACA,UACA,WACA,YACA,YACA,YACA,SACA,WACA,YACA,WACA,UACA,UACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,SACA,YACA,YACA,YACA,YACA,QACA,OACA,YACA,SACA,UACA,SACA,QACA,WACA,OACA,SACA,YACA,WACA,WACA,SACA,UACA,YACA,YACA,YACA,YACA,YACA,QACA,SACA,WACA,YACA,SACA,SACA,WACA,UACA,YACA,WACA,UACA,UACA,UACA,YACA,WACA,WACA,YACA,SACA,WACA,UACA,YACA,YACA,WACA,YACA,SACA,YACA,WACA,WACA,UACA,YACA,YACA,SACA,YACA,UACA,YACA,YACA,QACA,SACA,WACA,WACA,YACA,WACA,WACA,WACA,YACA,UACA,SACA,WACA,SACA,YACA,UACA,UACA,SACA,YACA,UACA,UACA,OACA,SACA,UACA,SACA,OACA,QACA,UACA,OACA,WACA,SACA,SACA,WACA,UACA,UACA,YACA,QACA,UACA,OACA,UACA,YACA,YACA,UACA,UACA,WACA,SACA,UACA,WACA,SACA,YACA,YACA,UACA,WACA,WACA,MACA,QACA,UACA,SACA,SACA,OACA,OACA,SACA,SACA,WACA,WACA,WACA,WACA,WACA,QACA,QACA,UACA,SACA,UACA,WACA,YACA,WACA,SACA,SACA,QACA,SACA,SACA,WACA,UACA,YACA,QACA,QACA,QACA,QACA,UACA,SACA,WACA,WACA,YACA,UACA,UACA,QACA,WACA,QACA,UACA,SACA,WACA,SACA,SACA,SACA,UACA,OACA,SACA,QACA,WACA,SACA,WACA,WACA,UACA,UACA,YACA,QACA,WACA,QACA,UACA,WACA,WACA,YACA,SACA,UACA,UACA,WACA,MACA,OACA,UACA,UACA,WACA,WACA,YACA,YACA,QACA,UACA,QACA,QACA,YACA,UACA,WACA,WACA,OACA,UACA,YACA,YACA,YACA,WACA,WACA,SACA,QACA,UACA,WACA,SACA,WACA,UACA,YACA,YACA,WACA,UACA,WACA,WACA,WACA,YACA,YACA,WACA,OACA,UACA,SACA,QACA,QACA,SACA,SACA,QACA,QACA,OACA,QACA,QACA,QACA,WACA,OACA,SACA,UACA,QACA,WACA,UACA,UACA,QACA,SACA,UACA,WACA,OACA,MACA,MACA,OACA,QACA,OACA,WACA,SACA,WACA,SACA,WACA,SACA,OACA,OACA,OACA,UACA,WACA,WACA,YACA,SACA,WACA,WACA,WACA,UACA,WACA,UACA,WACA,UACA,WACA,YACA,WACA,UACA,WACA,WACA,WACA,SACA,SACA,UACA,WACA,WACA,MACA,QACA,WACA,WACA,UACA,YACA,WACA,YACA,WACA,QACA,QACA,UACA,UACA,YACA,SACA,UACA,QACA,WACA,WACA,WACA,UACA,UACA,UACA,WACA,WACA,UACA,WACA,SACA,YACA,WACA,YACA,WACA,UACA,WACA,YACA,WACA,UACA,SACA,WACA,SACA,YACA,WACA,QACA,UACA,UACA,WACA,SACA,SACA,QACA,SACA,WACA,YACA,YACA,WACA,QACA,SACA,UACA,QACA,UACA,YACA,SACA,OACA,QACA,YACA,UACA,WACA,WACA,YACA,SACA,QACA,QACA,SACA,WACA,YACA,WACA,QACA,YACA,SACA,MACA,QACA,MACA,YACA,UACA,QACA,OACA,YACA,WACA,UACA,SACA,SACA,UACA,YACA,SACA,YACA,WACA,OACA,SACA,QACA,SACA,SACA,WACA,UACA,MACA,SACA,UACA,SACA,SACA,UACA,SACA,UACA,SACA,UACA,SACA,MACA,WACA,YACA,SACA,UACA,WACA,QACA,OACA,OACA,SACA,OACA,QACA,OACA,SACA,MACA,SACA,UACA,WACA,WACA,QACA,UACA,YACA,SACA,QACA,YACA,WACA,YACA,UACA,YACA,WACA,WACA,SACA,YACA,YACA,YACA,WACA,YACA,UACA,YACA,UACA,UACA,UACA,QACA,QACA,YACA,SACA,UACA,YACA,QACA,OACA,WACA,YACA,WACA,SACA,WACA,SACA,SACA,SACA,QACA,UACA,SACA,WACA,QACA,QACA,SACA,QACA,UACA,UACA,UACA,QACA,YACA,SACA,YACA,UACA,SACA,WACA,YACA,QACA,UACA,QACA,WACA,UACA,WACA,UACA,SACA,UACA,UACA,UACA,UACA,SACA,UACA,SACA,UACA,WACA,WACA,SACA,YACA,YACA,UACA,WACA,QACA,QACA,QACA,UACA,WACA,UACA,OACA,SACA,YACA,UACA,SACA,OACA,OACA,WACA,OACA,UACA,QACA,WACA,WACA,YACA,OACA,UACA,QACA,UACA,OACA,OACA,OACA,QACA,WACA,YACA,QACA,SACA,OACA,SACA,OACA,SACA,WACA,OACA,UACA,SACA,SACA,SACA,OACA,OACA,OACA,WACA,YACA,WACA,YACA,SACA,SACA,WACA,UACA,YACA,WACA,WACA,UACA,WACA,QACA,WACA,WACA,UACA,UACA,UACA,WACA,UACA,SACA,UACA,QACA,WACA,QACA,QACA,UACA,YACA,QACA,QACA,YACA,UACA,UACA,YACA,WACA,SACA,YACA,SACA,YACA,YACA,UACA,QACA,OACA,UACA,WACA,WACA,YACA,SACA,QACA,UACA,WACA,OACA,YACA,OACA,QACA,YACA,WACA,WACA,QACA,UACA,YACA,QACA,YACA,QACA,SACA,WACA,OACA,UACA,OACA,WACA,SACA,QACA,QACA,SACA,WACA,SACA,QACA,SACA,UACA,QACA,QACA,SACA,UACA,QACA,OACA,SACA,WACA,WACA,UACA,UACA,YACA,UACA,WACA,SACA,QACA,YACA,WACA,WACA,QACA,UACA,YACA,QACA,OACA,WACA,QACA,OACA,UACA,UACA,YACA,UACA,QACA,SACA,WACA,OACA,OACA,QACA,QACA,UACA,OACA,SACA,MACA,UACA,WACA,YACA,WACA,UACA,WACA,SACA,SACA,UACA,UACA,MACA,UACA,QACA,OACA,UACA,OACA,SACA,SACA,YACA,SACA,UACA,SACA,UACA,YACA,UACA,WACA,WACA,YACA,WACA,WACA,YACA,YACA,WACA,SACA,UACA,WACA,UACA,WACA,YACA,YACA,YACA,UACA,UACA,WACA,WACA,UACA,WACA,YACA,WACA,UACA,UACA,YACA,YACA,YACA,WACA,WACA,YACA,YACA,WACA,WACA,UACA,WACA,SACA,YACA,SACA,QACA,YACA,YACA,UACA,WACA,UACA,YACA,QACA,SACA,WACA,WACA,YACA,WACA,WACA,WACA,YACA,UACA,WACA,YACA,SACA,WACA,WACA,WACA,YACA,WACA,QACA,UACA,WACA,YACA,YACA,YACA,UACA,UACA,UACA,QACA,UACA,OACA,SACA,QACA,UACA,YACA,QACA,SACA,YACA,WACA,UACA,WACA,YACA,OACA,UACA,SACA,QACA,QACA,SACA,WACA,SACA,WACA,SACA,OACA,WACA,WACA,YACA,YACA,YACA,SACA,SACA,YACA,WACA,UACA,WACA,WACA,WACA,YACA,YACA,WACA,WACA,YACA,UACA,WACA,YACA,YACA,UACA,WACA,OACA,OACA,QACA,UACA,YACA,UACA,QACA,UACA,YACA,QACA,SACA,SACA,SACA,UACA,UACA,WACA,WACA,UACA,YACA,QACA,WACA,QACA,SACA,SACA,YACA,QACA,WACA,SACA,UACA,UACA,UACA,UACA,QACA,YACA,WACA,WACA,UACA,WACA,SACA,SACA,WACA,OACA,MACA,OACA,OACA,OACA,QACA,SACA,WACA,SACA,QACA,YACA,WACA,UACA,SACA,YACA,WACA,YACA,WACA,WACA,SACA,SACA,YACA,YACA,SACA,WACA,SACA,OACA,SACA,UACA,WACA,WACA,SACA,SACA,SACA,UACA,SACA,YACA,UACA,QACA,OACA,UACA,OACA,SACA,YACA,MACA,SACA,UACA,WACA,YACA,WACA,YACA,YACA,YACA,SACA,WACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,MACA,UACA,QACA,OACA,OACA,MACA,WACA,WACA,WACA,UACA,YACA,YACA,WACA,WACA,WACA,SACA,QACA,OACA,QACA,WACA,SACA,SACA,YACA,WACA,WACA,QACA,YACA,WACA,UACA,WACA,UACA,YACA,WACA,UACA,YACA,WACA,WACA,WACA,YACA,WACA,YACA,YACA,WACA,WACA,WACA,SACA,SACA,YACA,UACA,WACA,YACA,YACA,WACA,SACA,UACA,YACA,YACA,WACA,UACA,YACA,YACA,QACA,WACA,YACA,WACA,SACA,WACA,YACA,YACA,WACA,UACA,YACA,UACA,WACA,YACA,WACA,UACA,YACA,YACA,YACA,UACA,YACA,SACA,WACA,SACA,SACA,MACA,OACA,SACA,OACA,QACA,MACA,OACA,YACA,WACA,YACA,YACA,WACA,WACA,UACA,WACA,WACA,YACA,YACA,UACA,QACA,UACA,YACA,UACA,OACA,YACA,SACA,QACA,MACA,MACA,SACA,SACA,YACA,UACA,WACA,YACA,SACA,YACA,WACA,MACA,UACA,UACA,SACA,UACA,UACA,WACA,QACA,OACA,QACA,UACA,UACA,OACA,UACA,YACA,OACA,OACA,YACA,UACA,QACA,SACA,SACA,MACA,QACA,SACA,QACA,SACA,WACA,OACA,UACA,UACA,MACA,SACA,YACA,SACA,UACA,OACA,UACA,WACA,WACA,YACA,QACA,OACA,MACA,SACA,WACA,YACA,SACA,UACA,WACA,YACA,WACA,QACA,YACA,WACA,YACA,OACA,SACA,WACA,UACA,QACA,YACA,QACA,UACA,UACA,OACA,SACA,QACA,OACA,WACA,WACA,OACA,SACA,UACA,SACA,UACA,WACA,SACA,QACA,OACA,UACA,YACA,UACA,SACA,WACA,WACA,QACA,WACA,UACA,SACA,QACA,QACA,SACA,WACA,OACA,MACA,OACA,SACA,OACA,WACA,WACA,SACA,OACA,OACA,WACA,WACA,YACA,WACA,OACA,SACA,SACA,WACA,SACA,WACA,UACA,UACA,UACA,OACA,UACA,UACA,YACA,WACA,SACA,UACA,UACA,OACA,SACA,QACA,OACA,UACA,WACA,OACA,QACA,WACA,QACA,QACA,QACA,SACA,UACA,QACA,OACA,UACA,UACA,WACA,YACA,WACA,SACA,SACA,QACA,UACA,WACA,SACA,UACA,SACA,OACA,OACA,QACA,SACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,YACA,YACA,WACA,YACA,WACA,YACA,QACA,UACA,SACA,QACA,SACA,UACA,SACA,OACA,QACA,OACA,OACA,QACA,OACA,QACA,OACA,SACA,WACA,UACA,SACA,WACA,SACA,UACA,UACA,SACA,WACA,SACA,WACA,SACA,WACA,OACA,WACA,OACA,SACA,QACA,SACA,SACA,WACA,UACA,UACA,YACA,OACA,UACA,SACA,YACA,UACA,QACA,OACA,SACA,OACA,OACA,UACA,SACA,UACA,YACA,WACA,SACA,UACA,QACA,WACA,SACA,WACA,YACA,YACA,SACA,UACA,YACA,UACA,UACA,WACA,MACA,OACA,SACA,UACA,UACA,WACA,SACA,WACA,WACA,SACA,QACA,QACA,OACA,OACA,UACA,YACA,QACA,QACA,UACA,WACA,OACA,QACA,WACA,WACA,SACA,SACA,WACA,UACA,OACA,OACA,MACA,UACA,UACA,SACA,OACA,OACA,WACA,YACA,SACA,SACA,SACA,UACA,QACA,SACA,QACA,YACA,UACA,SACA,SACA,YACA,YACA,QACA,UACA,YACA,WACA,YACA,YACA,SACA,WACA,UACA,SACA,YACA,WACA,YACA,UACA,UACA,SACA,QACA,WACA,WACA,YACA,YACA,OACA,QACA,OACA,YACA,OACA,SACA,WACA,SACA,YACA,UACA,YACA,WACA,QACA,YACA,SACA,QACA,YACA,WACA,WACA,SACA,WACA,WACA,QACA,OACA,UACA,YACA,WACA,UACA,SACA,UACA,WACA,QACA,YACA,WACA,YACA,YACA,YACA,UACA,YACA,WACA,WACA,SACA,WACA,UACA,YACA,WACA,WACA,QACA,YACA,SACA,YACA,OACA,OACA,SACA,UACA,YACA,UACA,WACA,UACA,WACA,UACA,YACA,WACA,SACA,SACA,QACA,QACA,YACA,UACA,UACA,UACA,YACA,WACA,YACA,SACA,UACA,UACA,YACA,QACA,UACA,SACA,UACA,QACA,WACA,SACA,SACA,SACA,OACA,MACA,WACA,YACA,UACA,UACA,WACA,QACA,QACA,YACA,YACA,SACA,WACA,SACA,SACA,UACA,WACA,SACA,YACA,SACA,UACA,SACA,QACA,YACA,SACA,YACA,YACA,UACA,SACA,YACA,SACA,UACA,WACA,SACA,UACA,UACA,UACA,YACA,WACA,UACA,WACA,YACA,WACA,WACA,YACA,OACA,SACA,YACA,YACA,SACA,SACA,SACA,SACA,WACA,WACA,WACA,QACA,WACA,WACA,UACA,QACA,SACA,YACA,SACA,UACA,SACA,WACA,WACA,UACA,QACA,SACA,SACA,WACA,SACA,UACA,YACA,SACA,UACA,YACA,WACA,QACA,WACA,OACA,YACA,WACA,WACA,UACA,MACA,YACA,SACA,WACA,WACA,YACA,YACA,YACA,WACA,UACA,UACA,WACA,WACA,WACA,YACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,YACA,UACA,WACA,UACA,YACA,QACA,SACA,WACA,SACA,YACA,WACA,UACA,WACA,YACA,YACA,YACA,WACA,MACA,SACA,WACA,UACA,YACA,WACA,WACA,WACA,QACA,YACA,WACA,YACA,YACA,UACA,WACA,SACA,QACA,OACA,WACA,YACA,SACA,WACA,YACA,SACA,YACA,QACA,QACA,YACA,WACA,UACA,WACA,UACA,WACA,QACA,YACA,YACA,QACA,QACA,UACA,OACA,QACA,SACA,QACA,SACA,OACA,OACA,MACA,MACA,WACA,QACA,OACA,SACA,UACA,WACA,WACA,YACA,YACA,SACA,WACA,QACA,YACA,UACA,QACA,QACA,WACA,UACA,YACA,SACA,QACA,YACA,QACA,YACA,WACA,SACA,UACA,YACA,WACA,QACA,QACA,SACA,YACA,QACA,UACA,UACA,SACA,YACA,QACA,UACA,SACA,WACA,OACA,YACA,YACA,SACA,OACA,SACA,SACA,SACA,UACA,YACA,UACA,OACA,QACA,MACA,OACA,OACA,SACA,QACA,YACA,OACA,SACA,SACA,UACA,QACA,SACA,UACA,YACA,WACA,SACA,WACA,UACA,SACA,WACA,WACA,WACA,YACA,OACA,SACA,UACA,SACA,WACA,SACA,WACA,SACA,YACA,SACA,SACA,WACA,WACA,YACA,WACA,YACA,YACA,UACA,UACA,OACA,SACA,OACA,UACA,QACA,OACA,MACA,YACA,SACA,WACA,WACA,SACA,UACA,QACA,OACA,SACA,WACA,WACA,QACA,QACA,SACA,SACA,WACA,YACA,QACA,WACA,QACA,UACA,SACA,UACA,SACA,UACA,SACA,UACA,SACA,WACA,UACA,WACA,YACA,UACA,WACA,WACA,UACA,UACA,UACA,UACA,UACA,SACA,WACA,WACA,YACA,QACA,SACA,QACA,MACA,MACA,QACA,MACA,YACA,WACA,WACA,SACA,WACA,UACA,WACA,YACA,SACA,YACA,OACA,UACA,YACA,YACA,WACA,YACA,WACA,YACA,YACA,WACA,WACA,YACA,WACA,SACA,YACA,SACA,UACA,YACA,YACA,WACA,WACA,SACA,QACA,SACA,UACA,SACA,UACA,UACA,OACA,MACA,OACA,WACA,OACA,MACA,QACA,WACA,QACA,OACA,UACA,WACA,OACA,WACA,UACA,WACA,UACA,QACA,SACA,WACA,OACA,WACA,QACA,UACA,YACA,UACA,OACA,SACA,OACA,OACA,OACA,OACA,UACA,OACA,OACA,WACA,UACA,YACA,YACA,YACA,WACA,QACA,UACA,WACA,SACA,WACA,WACA,YACA,YACA,MACA,YACA,UACA,QACA,QACA,OACA,QACA,QACA,SACA,UACA,SACA,WACA,WACA,WACA,WACA,UACA,WACA,UACA,WACA,WACA,QACA,WACA,SACA,WACA,WACA,UACA,WACA,SACA,UACA,SACA,UACA,UACA,WACA,WACA,UACA,YACA,YACA,UACA,UACA,SACA,UACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,YACA,WACA,YACA,YACA,WACA,WACA,UACA,WACA,SACA,OACA,QACA,OACA,UACA,UACA,WACA,UACA,WACA,WACA,YACA,YACA,WACA,YACA,WACA,WACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,UACA,YACA,YACA,YACA,UACA,WACA,WACA,WACA,WACA,YACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,YACA,WACA,YACA,WACA,UACA,UACA,WACA,WACA,WACA,YACA,YACA,WACA,UACA,YACA,WACA,YACA,YACA,WACA,YACA,YACA,WACA,WACA,WACA,UACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,WACA,WACA,YACA,YACA,YACA,WACA,YACA,WACA,UACA,WACA,WACA,WACA,UACA,YACA,WACA,YACA,MACA,SACA,UACA,YACA,UACA,YACA,SACA,WACA,SACA,QACA,QACA,YACA,UACA,WACA,WACA,WACA,SACA,SACA,UACA,SACA,WACA,UACA,QACA,QACA,SACA,UACA,SACA,YACA,OACA,WACA,YACA,SACA,WACA,WACA,UACA,WACA,SACA,UACA,WACA,QACA,WACA,OACA,YACA,QACA,UACA,WACA,YACA,UACA,YACA,SACA,QACA,YACA,YACA,SACA,QACA,UACA,UACA,WACA,YACA,SACA,UACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,WACA,YACA,SACA,UACA,YACA,SACA,SACA,QACA,UACA,UACA,SACA,WACA,SACA,SACA,UACA,UACA,UACA,SACA,UACA,YACA,SACA,UACA,YACA,QACA,WACA,WACA,UACA,WACA,YACA,WACA,UACA,UACA,UACA,YACA,WACA,WACA,WACA,QACA,SACA,SACA,UACA,SACA,WACA,UACA,QACA,YACA,SACA,WACA,YACA,OACA,WACA,UACA,QACA,YACA,UACA,SACA,YACA,YACA,SACA,WACA,QACA,YACA,WACA,SACA,SACA,UACA,UACA,WACA,SACA,QACA,QACA,SACA,UACA,WACA,UACA,SACA,SACA,QACA,SACA,WACA,WACA,YACA,WACA,WACA,YACA,WACA,UACA,SACA,OACA,SACA,WACA,UACA,SACA,UACA,UACA,YACA,WACA,UACA,YACA,QACA,SACA,UACA,WACA,YACA,MACA,WACA,UACA,QACA,YACA,YACA,YACA,YACA,UACA,YACA,SACA,WACA,UACA,YACA,QACA,OACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,QACA,OACA,YACA,YACA,SACA,YACA,QACA,SACA,WACA,QACA,YACA,SACA,YACA,YACA,QACA,UACA,UACA,SACA,UACA,YACA,SACA,UACA,YACA,QACA,YACA,QACA,SACA,WACA,UACA,UACA,WACA,QACA,UACA,QACA,SACA,UACA,UACA,SACA,WACA,UACA,WACA,WACA,UACA,WACA,YACA,YACA,WACA,WACA,SACA,UACA,YACA,YACA,UACA,WACA,YACA,WACA,UACA,UACA,WACA,UACA,YACA,WACA,QACA,WACA,QACA,SACA,YACA,SACA,WACA,YACA,UACA,OACA,OACA,OACA,OACA,OACA,QACA,OACA,UACA,WACA,SACA,OACA,YACA,UACA,QACA,MACA,OACA,OACA,OACA,UACA,UACA,WACA,YACA,SACA,QACA,SACA,QACA,SACA,QACA,SACA,SACA,QACA,SACA,WACA,QACA,OACA,YACA,UACA,YACA,UACA,SACA,OACA,OACA,UACA,OACA,SACA,SACA,QACA,WACA,WACA,UACA,WACA,YACA,OACA,SACA,WACA,WACA,SACA,YACA,WACA,UACA,SACA,WACA,QACA,OACA,SACA,WACA,WACA,SACA,UACA,SACA,UACA,WACA,SACA,SACA,UACA,YACA,UACA,UACA,QACA,SACA,WACA,QACA,UACA,OACA,WACA,YACA,UACA,QACA,SACA,MACA,WACA,SACA,WACA,UACA,WACA,YACA,SACA,UACA,WACA,YACA,UACA,WACA,WACA,UACA,YACA,UACA,SACA,WACA,YACA,UACA,UACA,SACA,YACA,YACA,UACA,YACA,WACA,YACA,YACA,SACA,UACA,WACA,WACA,UACA,WACA,YACA,WACA,UACA,SACA,UACA,SACA,YACA,YACA,YACA,SACA,UACA,YACA,UACA,QACA,UACA,YACA,UACA,YACA,YACA,WACA,UACA,SACA,UACA,UACA,YACA,UACA,UACA,WACA,SACA,YACA,WACA,QACA,SACA,YACA,UACA,UACA,SACA,QACA,WACA,QACA,QACA,QACA,SACA,SACA,WACA,UACA,UACA,YACA,QACA,YACA,WACA,WACA,YACA,QACA,UACA,YACA,UACA,YACA,UACA,WACA,YACA,WACA,WACA,UACA,UACA,UACA,UACA,YACA,YACA,YACA,UACA,WACA,YACA,UACA,YACA,UACA,WACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,WACA,WACA,QACA,QACA,YACA,SACA,WACA,YACA,SACA,YACA,WACA,WACA,YACA,WACA,UACA,QACA,UACA,YACA,WACA,SACA,YACA,YACA,WACA,WACA,QACA,WACA,SACA,SACA,WACA,WACA,YACA,WACA,UACA,UACA,YACA,YACA,UACA,UACA,WACA,YACA,QACA,SACA,QACA,YACA,QACA,UACA,MACA,UACA,SACA,YACA,SACA,SACA,MACA,OACA,YACA,OACA,UACA,QACA,YACA,OACA,SACA,SACA,QACA,WACA,YACA,YACA,UACA,WACA,OACA,QACA,SACA,QACA,WACA,YACA,WACA,SACA,WACA,YACA,QACA,UACA,WACA,SACA,SACA,UACA,SACA,SACA,WACA,YACA,OACA,QACA,YACA,WACA,UACA,WACA,WACA,YACA,SACA,YACA,UACA,WACA,UACA,SACA,QACA,UACA,OACA,SACA,WACA,UACA,YACA,SACA,QACA,WACA,QACA,WACA,QACA,UACA,YACA,YACA,UACA,UACA,QACA,UACA,UACA,SACA,YACA,YACA,WACA,UACA,SACA,QACA,UACA,UACA,YACA,YACA,YACA,QACA,QACA,QACA,UACA,YACA,QACA,OACA,SACA,YACA,WACA,YACA,QACA,QACA,OACA,SACA,SACA,OACA,SACA,QACA,SACA,WACA,YACA,WACA,YACA,WACA,QACA,SACA,SACA,OACA,OACA,SACA,SACA,UACA,SACA,UACA,UACA,WACA,UACA,SACA,OACA,SACA,QACA,SACA,WACA,OACA,SACA,QACA,YACA,SACA,SACA,SACA,UACA,SACA,UACA,UACA,UACA,QACA,OACA,SACA,SACA,OACA,UACA,SACA,QACA,SACA,SACA,UACA,YACA,WACA,QACA,YACA,WACA,WACA,UACA,WACA,OACA,YACA,WACA,UACA,YACA,YACA,YACA,WACA,SACA,WACA,WACA,WACA,UACA,YACA,SACA,QACA,UACA,SACA,SACA,UACA,SACA,UACA,UACA,WACA,WACA,SACA,SACA,YACA,SACA,SACA,SACA,SACA,YACA,YACA,UACA,SACA,WACA,UACA,WACA,YACA,UACA,YACA,YACA,SACA,YACA,UACA,YACA,YACA,YACA,SACA,SACA,UACA,SACA,WACA,WACA,SACA,YACA,YACA,UACA,WACA,WACA,YACA,WACA,UACA,UACA,UACA,YACA,YACA,UACA,YACA,SACA,YACA,UACA,WACA,WACA,WACA,YACA,YACA,SACA,SACA,UACA,SACA,WACA,WACA,WACA,WACA,YACA,UACA,UACA,WACA,UACA,UACA,YACA,SACA,YACA,YACA,UACA,SACA,WACA,YACA,SACA,SACA,UACA,UACA,SACA,SACA,SACA,WACA,YACA,WACA,UACA,YACA,UACA,UACA,WACA,YACA,QACA,SACA,SACA,YACA,YACA,UACA,YACA,UACA,YACA,SACA,WACA,UACA,YACA,YACA,UACA,WACA,WACA,QACA,QACA,UACA,UACA,YACA,WACA,WACA,WACA,UACA,QACA,UACA,YACA,UACA,SACA,SACA,SACA,WACA,SACA,YACA,OACA,SACA,SACA,UACA,UACA,WACA,SACA,WACA,WACA,YACA,YACA,QACA,UACA,YACA,SACA,UACA,SACA,YACA,UACA,UACA,UACA,WACA,SACA,WACA,YACA,YACA,WACA,YACA,YACA,UACA,UACA,WACA,WACA,YACA,WACA,SACA,SACA,SACA,WACA,UACA,SACA,UACA,YACA,YACA,UACA,SACA,SACA,WACA,YACA,SACA,WACA,WACA,SACA,WACA,UACA,SACA,UACA,QACA,WACA,SACA,YACA,SACA,YACA,YACA,UACA,UACA,WACA,YACA,YACA,YACA,OACA,UACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,UACA,UACA,YACA,UACA,QACA,SACA,WACA,UACA,SACA,WACA,WACA,WACA,WACA,SACA,SACA,QACA,UACA,UACA,YACA,YACA,YACA,WACA,WACA,UACA,WACA,YACA,YACA,YACA,SACA,WACA,WACA,WACA,WACA,SACA,WACA,UACA,WACA,SACA,SACA,WACA,YACA,YACA,SACA,WACA,YACA,SACA,YACA,YACA,UACA,UACA,UACA,UACA,WACA,SACA,SACA,WACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,YACA,YACA,QACA,SACA,UACA,SACA,UACA,UACA,WACA,QACA,SACA,UACA,UACA,UACA,SACA,UACA,YACA,WACA,WACA,UACA,YACA,YACA,SACA,YACA,SACA,WACA,UACA,YACA,UACA,UACA,WACA,YACA,SACA,SACA,WACA,YACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UACA,QACA,SACA,UACA,OACA,SACA,SACA,WACA,UACA,UACA,WACA,SACA,OACA,SACA,UACA,OACA,UACA,QACA,QACA,UACA,SACA,OACA,OACA,QACA,UACA,OACA,UACA,WACA,WACA,UACA,SACA,WACA,UACA,OACA,SACA,OACA,UACA,UACA,QACA,QACA,YACA,WACA,YACA,YACA,UACA,WACA,SACA,UACA,QACA,UACA,OACA,QACA,WACA,SACA,WACA,SACA,SACA,WACA,YACA,UACA,WACA,YACA,WACA,QACA,QACA,QACA,OACA,OACA,SACA,SACA,OACA,SACA,UACA,UACA,WACA,WACA,WACA,YACA,UACA,YACA,UACA,UACA,QACA,SACA,QACA,SACA,SACA,UACA,SACA,UACA,OACA,SACA,SACA,MACA,SACA,OACA,SACA,WACA,UACA,QACA,YACA,UACA,SACA,UACA,QACA,OACA,SACA,UACA,QACA,OACA,OACA,OACA,MACA,UACA,WACA,YACA,SACA,YACA,SACA,YACA,UACA,WACA,QACA,UACA,SACA,YACA,YACA,SACA,WACA,UACA,OACA,OACA,UACA,QACA,OACA,QACA,OACA,QACA,SACA,WACA,SACA,SACA,QACA,SACA,QACA,OACA,WACA,SACA,UACA,YACA,YACA,OACA,SACA,WACA,WACA,WACA,YACA,SACA,UACA,WACA,UACA,YACA,UACA,SACA,WACA,UACA,UACA,YACA,UACA,YACA,YACA,WACA,QACA,WACA,YACA,OACA,QACA,UACA,YACA,QACA,UACA,YACA,UACA,OACA,YACA,QACA,UACA,WACA,QACA,YACA,YACA,UACA,WACA,WACA,YACA,QACA,QACA,SACA,UACA,QACA,UACA,SACA,QACA,YACA,MACA,UACA,SACA,UACA,WACA,QACA,UACA,WACA,UACA,WACA,OACA,UACA,UACA,WACA,QACA,YACA,SACA,WACA,YACA,SACA,QACA,UACA,YACA,WACA,QACA,YACA,SACA,WACA,YACA,SACA,WACA,YACA,WACA,UACA,UACA,YACA,QACA,QACA,WACA,QACA,QACA,UACA,QACA,SACA,YACA,YACA,SACA,YACA,SACA,UACA,QACA,WACA,SACA,YACA,UACA,WACA,WACA,SACA,WACA,WACA,WACA,YACA,YACA,QACA,UACA,UACA,SACA,WACA,SACA,WACA,YACA,SACA,SACA,UACA,YACA,WACA,WACA,UACA,UACA,WACA,QACA,QACA,WACA,YACA,SACA,UACA,WACA,YACA,YACA,SACA,UACA,SACA,YACA,SACA,UACA,WACA,WACA,QACA,SACA,WACA,WACA,WACA,SACA,WACA,UACA,UACA,UACA,SACA,WACA,YACA,YACA,WACA,OACA,UACA,WACA,WACA,YACA,YACA,UACA,WACA,YACA,SACA,UACA,OACA,SACA,WACA,YACA,YACA,YACA,YACA,WACA,QACA,YACA,SACA,SACA,SACA,WACA,YACA,SACA,SACA,YACA,UACA,WACA,QACA,UACA,UACA,SACA,WACA,UACA,UACA,SACA,WACA,QACA,YACA,YACA,UACA,UACA,WACA,SACA,QACA,SACA,UACA,YACA,UACA,SACA,QACA,QACA,WACA,UACA,YACA,UACA,QACA,QACA,UACA,UACA,QACA,UACA,WACA,QACA,SACA,QACA,UACA,QACA,YACA,UACA,UACA,UACA,YACA,QACA,SACA,OACA,QACA,QACA,QACA,QACA,UACA,SACA,WACA,SACA,SACA,UACA,WACA,YACA,SACA,UACA,SACA,UACA,QACA,UACA,YACA,UACA,QACA,OACA,QACA,YACA,QACA,QACA,WACA,UACA,WACA,WACA,QACA,WACA,YACA,WACA,UACA,UACA,YACA,YACA,UACA,YACA,SACA,YACA,SACA,QACA,QACA,UACA,WACA,WACA,SACA,WACA,UACA,UACA,QACA,UACA,YACA,YACA,WACA,QACA,SACA,WACA,WACA,YACA,WACA,SACA,SACA,SACA,SACA,SACA,UACA,WACA,YACA,SACA,QACA,SACA,WACA,UACA,UACA,YACA,OACA,QACA,OACA,MACA,UACA,WACA,UACA,SACA,SACA,SACA,OACA,UACA,WACA,WACA,SACA,SACA,UACA,OACA,YACA,QACA,OACA,OACA,SACA,YACA,SACA,YACA,SACA,WACA,SACA,UACA,YACA,SACA,UACA,SACA,WACA,WACA,UACA,SACA,UACA,MACA,QACA,SACA,SACA,SACA,UACA,WACA,YACA,UACA,UACA,QACA,UACA,WACA,YACA,UACA,UACA,OACA,SACA,SACA,WACA,SACA,UACA,YACA,WACA,WACA,UACA,SACA,SACA,SACA,OACA,QACA,QACA,QACA,SACA,UACA,UACA,WACA,UACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,SACA,YACA,UACA,WACA,WACA,QACA,UACA,WACA,WACA,UACA,QACA,YACA,UACA,OACA,UACA,UACA,WACA,YACA,SACA,QACA,OACA,UACA,QACA,WACA,YACA,UACA,WACA,QACA,UACA,OACA,OACA,QACA,QACA,QACA,SACA,QACA,YACA,SACA,SACA,UACA,QACA,SACA,YACA,UACA,WACA,YACA,WACA,WACA,QACA,WACA,YACA,SACA,OACA,OACA,SACA,WACA,SACA,SACA,UACA,WACA,SACA,OACA,YACA,UACA,SACA,OACA,OACA,QACA,QACA,MACA,QACA,UACA,YACA,UACA,WACA,UACA,QACA,WACA,QACA,YACA,QACA,QACA,QACA,UACA,QACA,OACA,SACA,YACA,YACA,UACA,QACA,UACA,SACA,UACA,SACA,SACA,WACA,YACA,SACA,WACA,QACA,UACA,UACA,OACA,QACA,QACA,SACA,QACA,QACA,SACA,WACA,QACA,QACA,UACA,WACA,SACA,UACA,SACA,QACA,UACA,UACA,QACA,QACA,WACA,YACA,YACA,UACA,YACA,WACA,WACA,YACA,YACA,YACA,WACA,UACA,WACA,WACA,YACA,WACA,QACA,OACA,QACA,UACA,SACA,WACA,QACA,YACA,YACA,WACA,YACA,UACA,WACA,UACA,WACA,SACA,YACA,YACA,WACA,YACA,SACA,QACA,YACA,UACA,WACA,YACA,UACA,WACA,QACA,OACA,SACA,YACA,SACA,SACA,QACA,SACA,QACA,QACA,UACA,SACA,UACA,UACA,WACA,UACA,WACA,QACA,SACA,WACA,YACA,UACA,YACA,WACA,YACA,UACA,WACA,SACA,WACA,WACA,SACA,WACA,WACA,WACA,UACA,WACA,UACA,UACA,WACA,SACA,SACA,YACA,SACA,SACA,UACA,QACA,WACA,SACA,QACA,QACA,QACA,WACA,SACA,SACA,WACA,YACA,UACA,UACA,WACA,SACA,UACA,SACA,QACA,SACA,SACA,SACA,QACA,QACA,QACA,SACA,YACA,YACA,SACA,SACA,SACA,SACA,SACA,OACA,OACA,OACA,UACA,WACA,WACA,QACA,SACA,WACA,SACA,WACA,WACA,YACA,SACA,WACA,YACA,YACA,WACA,UACA,YACA,QACA,WACA,WACA,SACA,SACA,SACA,YACA,UACA,YACA,YACA,SACA,QACA,UACA,QACA,QACA,UACA,WACA,WACA,YACA,UACA,WACA,YACA,YACA,YACA,WACA,WACA,UACA,UACA,QACA,QACA,QACA,SACA,WACA,YACA,SACA,UACA,WACA,WACA,YACA,UACA,QACA,WACA,UACA,YACA,UACA,WACA,SACA,WACA,UACA,WACA,UACA,YACA,UACA,UACA,WACA,QACA,QACA,SACA,YACA,SACA,UACA,SACA,UACA,YACA,UACA,QACA,YACA,WACA,WACA,YACA,QACA,QACA,QACA,YACA,WACA,YACA,YACA,UACA,OACA,SACA,UACA,OACA,SACA,UACA,YACA,YACA,WACA,YACA,UACA,OACA,QACA,UACA,UACA,YACA,SACA,WACA,YACA,QACA,YACA,YACA,UACA,WACA,UACA,WACA,WACA,WACA,SACA,WACA,SACA,UACA,YACA,OACA,SACA,QACA,QACA,QACA,QACA,QACA,YACA,YACA,YACA,UACA,QACA,QACA,SACA,QACA,QACA,YACA,YACA,WACA,UACA,UACA,WACA,YACA,WACA,UACA,YACA,YACA,QACA,QACA,QACA,WACA,UACA,WACA,YACA,WACA,WACA,YACA,YACA,WACA,WACA,YACA,WACA,UACA,QACA,QACA,SACA,SACA,SACA,WACA,YACA,QACA,SACA,UACA,SACA,WACA,SACA,SACA,SACA,SACA,WACA,SACA,WACA,SACA,SACA,WACA,YACA,WACA,YACA,SACA,YACA,UACA,WACA,QACA,SACA,QACA,UACA,UACA,UACA,WACA,SACA,QACA,UACA,UACA,SACA,QACA,UACA,WACA,SACA,UACA,YACA,QACA,QACA,UACA,UACA,WACA,QACA,SACA,WACA,SACA,UACA,YACA,UACA,WACA,SACA,QACA,YACA,YACA,YACA,UACA,WACA,WACA,WACA,YACA,UACA,WACA,SACA,WACA,UACA,YACA,WACA,YACA,YACA,WACA,SACA,UACA,WACA,YACA,YACA,YACA,UACA,YACA,YACA,UACA,UACA,WACA,YACA,YACA,UACA,WACA,SACA,WACA,WACA,UACA,SACA,SACA,YACA,UACA,YACA,OACA,UACA,SACA,SACA,OACA,WACA,YACA,UACA,SACA,YACA,WACA,QACA,UACA,QACA,WACA,WACA,WACA,SACA,UACA,UACA,UACA,SACA,OACA,SACA,WACA,YACA,SACA,YACA,YACA,YACA,WACA,WACA,WACA,WACA,YACA,YACA,SACA,WACA,SACA,UACA,YACA,UACA,YACA,SACA,WACA,UACA,YACA,YACA,SACA,UACA,WACA,UACA,UACA,UACA,UACA,WACA,UACA,YACA,YACA,WACA,SACA,WACA,UACA,YACA,WACA,QACA,UACA,UACA,WACA,YACA,YACA,OACA,YACA,UACA,YACA,OACA,WACA,QACA,OACA,QACA,QACA,QACA,QACA,QACA,SACA,UACA,UACA,YACA,YACA,UACA,WACA,WACA,WACA,UACA,WACA,QACA,QACA,SACA,SACA,UACA,UACA,QACA,SACA,QACA,QACA,QACA,WACA,WACA,YACA,WACA,UACA,UACA,WACA,UACA,WACA,WACA,YACA,YACA,QACA,SACA,UACA,UACA,QACA,WACA,SACA,SACA,YACA,UACA,YACA,UACA,SACA,WACA,QACA,OACA,UACA,WACA,UACA,UACA,WACA,UACA,YACA,MACA,UACA,OACA,SACA,SACA,WACA,OACA,QACA,SACA,WACA,QACA,SACA,OACA,SACA,UACA,UACA,UACA,WACA,UACA,WACA,WACA,UACA,UACA,OACA,YACA,SACA,SACA,UACA,QACA,SACA,SACA,WACA,OACA,SACA,QACA,YACA,UACA,QACA,WACA,SACA,WACA,SACA,QACA,SACA,QACA,OACA,OACA,UACA,YACA,OACA,QACA,QACA,WACA,WACA,UACA,UACA,YACA,QACA,SACA,WACA,UACA,UACA,YACA,WACA,WACA,QACA,UACA,QACA,QACA,SACA,UACA,WACA,WACA,YACA,YACA,UACA,WACA,SACA,QACA,QACA,QACA,WACA,SACA,SACA,WACA,YACA,SACA,SACA,SACA,WACA,SACA,YACA,SACA,WACA,YACA,YACA,UACA,WACA,OACA,QACA,WACA,WACA,OACA,YACA,UACA,QACA,QACA,QACA,SACA,WACA,UACA,OACA,QACA,UACA,UACA,YACA,YACA,WACA,UACA,OACA,SACA,OACA,OACA,QACA,SACA,UACA,YACA,UACA,SACA,WACA,SACA,SACA,WACA,SACA,WACA,OACA,UACA,OACA,SACA,SACA,SACA,UACA,YACA,SACA,SACA,SACA,QACA,UACA,QACA,WACA,UACA,QACA,UACA,YACA,UACA,UACA,WACA,YACA,QACA,UACA,SACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,WACA,UACA,YACA,UACA,UACA,WACA,QACA,QACA,SACA,WACA,WACA,OACA,YACA,WACA,YACA,UACA,QACA,SACA,OACA,UACA,UACA,YACA,SACA,SACA,QACA,WACA,SACA,QACA,WACA,YACA,WACA,UACA,YACA,UACA,UACA,WACA,WACA,WACA,UACA,YACA,SACA,WACA,WACA,UACA,QACA,SACA,YACA,WACA,UACA,YACA,UACA,WACA,WACA,UACA,OACA,SACA,WACA,UACA,UACA,UACA,WACA,WACA,SACA,WACA,UACA,UACA,YACA,SACA,WACA,QACA,SACA,QACA,QACA,UACA,QACA,SACA,YACA,UACA,WACA,WACA,YACA,QACA,MACA,QACA,WACA,UACA,UACA,UACA,MACA,UACA,QACA,SACA,WACA,QACA,SACA,UACA,WACA,WACA,YACA,OACA,SACA,UACA,SACA,SACA,OACA,QACA,OACA,MACA,QACA,QACA,QACA,WACA,SACA,YACA,SACA,QACA,QACA,UACA,YACA,OACA,WACA,QACA,QACA,QACA,YACA,UACA,UACA,WACA,SACA,SACA,UACA,SACA,QACA,OACA,QACA,WACA,YACA,QACA,YACA,WACA,SACA,YACA,SACA,YACA,YACA,WACA,UACA,YACA,YACA,YACA,YACA,YACA,UACA,UACA,UACA,YACA,WACA,SACA,SACA,WACA,WACA,YACA,YACA,UACA,WACA,YACA,UACA,YACA,WACA,WACA,YACA,WACA,WACA,WACA,UACA,WACA,WACA,YACA,UACA,YACA,YACA,UACA,UACA,SACA,YACA,YACA,UACA,QACA,SACA,UACA,SACA,YACA,WACA,WACA,YACA,WACA,WACA,WACA,SACA,YACA,YACA,WACA,UACA,UACA,UACA,UACA,YACA,UACA,YACA,WACA,QACA,YACA,UACA,YACA,SACA,YACA,YACA,WACA,WACA,YACA,YACA,WACA,WACA,YACA,WACA,YACA,YACA,UACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,UACA,SACA,YACA,UACA,YACA,WACA,UACA,WACA,UACA,SACA,WACA,SACA,YACA,UACA,WACA,YACA,WACA,YACA,WACA,UACA,YACA,SACA,YACA,YACA,YACA,SACA,WACA,UACA,YACA,UACA,WACA,WACA,YACA,YACA,UACA,WACA,YACA,SACA,YACA,WACA,WACA,YACA,WACA,WACA,WACA,WACA,SACA,UACA,WACA,YACA,YACA,WACA,YACA,UACA,WACA,YACA,UACA,YACA,WACA,YACA,WACA,UACA,YACA,SACA,SACA,UACA,WACA,UACA,UACA,YACA,YACA,QACA,YACA,YACA,YACA,YACA,YACA,QACA,WACA,YACA,SACA,WACA,OACA,YACA,WACA,WACA,UACA,SACA,YACA,YACA,UACA,UACA,UACA,WACA,WACA,YACA,UACA,SACA,YACA,YACA,YACA,YACA,UACA,WACA,WACA,QACA,YACA,WACA,WACA,WACA,YACA,YACA,UACA,WACA,WACA,YACA,UACA,SACA,YACA,WACA,WACA,WACA,WACA,YACA,YACA,YACA,YACA,UACA,WACA,UACA,YACA,UACA,WACA,YACA,UACA,YACA,WACA,UACA,YACA,YACA,WACA,YACA,SACA,WACA,SACA,YACA,WACA,UACA,WACA,WACA,YACA,WACA,YACA,YACA,YACA,YACA,WACA,SACA,YACA,WACA,UACA,WACA,UACA,YACA,YACA,SACA,SACA,YACA,YACA,YACA,WACA,SACA,YACA,YACA,WACA,SACA,YACA,YACA,UACA,SACA,YACA,SACA,WACA,WACA,SACA,SACA,WACA,UACA,WACA,YACA,YACA,UACA,WACA,WACA,YACA,WACA,WACA,SACA,WACA,YACA,SACA,YACA,YACA,WACA,WACA,WACA,YACA,YACA,YACA,WACA,YACA,WACA,WACA,SACA,WACA,WACA,SACA,WACA,WACA,YACA,WACA,WACA,YACA,YACA,WACA,YACA,YACA,WACA,YACA,UACA,YACA,YACA,WACA,WACA,WACA,SACA,UACA,WACA,YACA,UACA,UACA,YACA,WACA,UACA,WACA,WACA,SACA,QACA,QACA,UACA,WACA,WACA,YACA,SACA,YACA,YACA,YACA,YACA,UACA,YACA,SACA,UACA,WACA,UACA,UACA,WACA,SACA,UACA,WACA,WACA,YACA,WACA,YACA,WACA,WACA,YACA,UACA,WACA,YACA,SACA,WACA,YACA,UACA,QACA,YACA,SACA,WACA,YACA,SACA,UACA,YACA,YACA,YACA,SACA,YACA,WACA,UACA,UACA,YACA,YACA,QACA,SACA,UACA,WACA,YACA,SACA,UACA,UACA,WACA,SACA,SACA,SACA,WACA,YACA,SACA,OACA,QACA,UACA,WACA,UACA,SACA,SACA,UACA,SACA,UACA,WACA,UACA,UACA,WACA,WACA,UACA,SACA,UACA,SACA,WACA,SACA,SACA,UACA,QACA,SACA,WACA,UACA,SACA,SACA,YACA,UACA,SACA,QACA,UACA,OACA,YACA,OACA,QACA,QACA,UACA,UACA,UACA,SACA,SACA,QACA,UACA,SACA,SACA,WACA,WACA,WACA,YACA,UACA,YACA,UACA,QACA,SACA,SACA,YACA,QACA,UACA,SACA,SACA,WACA,UACA,YACA,WACA,WACA,SACA,UACA,UACA,UACA,UACA,UACA,UACA,WACA,WACA,SACA,WACA,OACA,QACA,SACA,YACA,SACA,WACA,SACA,WACA,UACA,SACA,YACA,WACA,WACA,YACA,UACA,QACA,QACA,YACA,WACA,UACA,UACA,SACA,QACA,UACA,SACA,YACA,WACA,UACA,OACA,SACA,OACA,UACA,OACA,WACA,YACA,SACA,QACA,OACA,WACA,UACA,QACA,WACA,SACA,UACA,WACA,YACA,WACA,UACA,UACA,YACA,WACA,UACA,UACA,YACA,WACA,SACA,SACA,QACA,QACA,UACA,WACA,QACA,OACA,YACA,UACA,WACA,UACA,UACA,SACA,WACA,UACA,QACA,QACA,WACA,WACA,UACA,WACA,YACA,UACA,YACA,QACA,WACA,WACA,UACA,WACA,QACA,UACA,OACA,WACA,SACA,UACA,UACA,QACA,SACA,UACA,QACA,QACA,SACA,YACA,MACA,QACA,SACA,QACA,QACA,QACA,SACA,QACA,OACA,SACA,OACA,UACA,SACA,SACA,QACA,OACA,UACA,SACA,UACA,SACA,WACA,YACA,YACA,WACA,YACA,UACA,SACA,SACA,YACA,UACA,UACA,WACA,YACA,UACA,OACA,UACA,QACA,QACA,WACA,SACA,OACA,WACA,SACA,OACA,QACA,QACA,WACA,QACA,YACA,SACA,QACA,WACA,UACA,QACA,WACA,UACA,WACA,SACA,MACA,OACA,SACA,QACA,SACA,QACA,QACA,YACA,UACA,OACA,OACA,YACA,WACA,UACA,SACA,WACA,WACA,WACA,WACA,SACA,WACA,SACA,YACA,UACA,SACA,YACA,OACA,OACA,QACA,UACA,OACA,OACA,UACA,SACA,WACA,SACA,OACA,QACA,WACA,SACA,OACA,SACA,OACA,OACA,WACA,QACA,UACA,SACA,SACA,WACA,SACA,MACA,OACA,YACA,YACA,YACA,YACA,YACA,UACA,OACA,OACA,SACA,OACA,QACA,OACA,OACA,UACA,UACA,YACA,QACA,YACA,YACA,QACA,QACA,QACA,MACA,UACA,QACA,SACA,WACA,UACA,WACA,SACA,UACA,UACA,UACA,UACA,QACA,UACA,UACA,YACA,UACA,WACA,UACA,YACA,UACA,OACA,QACA,QACA,MACA,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","file":"app/main.9f15875cff59b5963eea.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t0: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([739,2]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export abstract class I18nService {\n locale: string;\n supportedTranslationLocales: string[];\n translationLocale: string;\n collator: Intl.Collator;\n localeNames: Map;\n t: (id: string, p1?: string, p2?: string, p3?: string) => string;\n translate: (id: string, p1?: string, p2?: string, p3?: string) => string;\n}\n","import { PolicyType } from '../enums/policyType';\n\nimport { EnvironmentUrls } from '../models/domain/environmentUrls';\n\nimport { BitPayInvoiceRequest } from '../models/request/bitPayInvoiceRequest';\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\nimport { CipherBulkRestoreRequest } from '../models/request/cipherBulkRestoreRequest';\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\nimport { CipherCreateRequest } from '../models/request/cipherCreateRequest';\nimport { CipherRequest } from '../models/request/cipherRequest';\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\nimport { CollectionRequest } from '../models/request/collectionRequest';\nimport { DeleteRecoverRequest } from '../models/request/deleteRecoverRequest';\nimport { EmailRequest } from '../models/request/emailRequest';\nimport { EmailTokenRequest } from '../models/request/emailTokenRequest';\nimport { EmergencyAccessAcceptRequest } from '../models/request/emergencyAccessAcceptRequest';\nimport { EmergencyAccessConfirmRequest } from '../models/request/emergencyAccessConfirmRequest';\nimport { EmergencyAccessInviteRequest } from '../models/request/emergencyAccessInviteRequest';\nimport { EmergencyAccessPasswordRequest } from '../models/request/emergencyAccessPasswordRequest';\nimport { EmergencyAccessUpdateRequest } from '../models/request/emergencyAccessUpdateRequest';\nimport { EventRequest } from '../models/request/eventRequest';\nimport { FolderRequest } from '../models/request/folderRequest';\nimport { GroupRequest } from '../models/request/groupRequest';\nimport { IapCheckRequest } from '../models/request/iapCheckRequest';\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\nimport { ImportDirectoryRequest } from '../models/request/importDirectoryRequest';\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\nimport { KdfRequest } from '../models/request/kdfRequest';\nimport { KeysRequest } from '../models/request/keysRequest';\nimport { OrganizationCreateRequest } from '../models/request/organizationCreateRequest';\nimport { OrganizationTaxInfoUpdateRequest } from '../models/request/organizationTaxInfoUpdateRequest';\nimport { OrganizationUpdateRequest } from '../models/request/organizationUpdateRequest';\nimport { OrganizationUpgradeRequest } from '../models/request/organizationUpgradeRequest';\nimport { OrganizationUserAcceptRequest } from '../models/request/organizationUserAcceptRequest';\nimport { OrganizationUserConfirmRequest } from '../models/request/organizationUserConfirmRequest';\nimport { OrganizationUserInviteRequest } from '../models/request/organizationUserInviteRequest';\nimport { OrganizationUserUpdateGroupsRequest } from '../models/request/organizationUserUpdateGroupsRequest';\nimport { OrganizationUserUpdateRequest } from '../models/request/organizationUserUpdateRequest';\nimport { PasswordHintRequest } from '../models/request/passwordHintRequest';\nimport { PasswordRequest } from '../models/request/passwordRequest';\nimport { PasswordVerificationRequest } from '../models/request/passwordVerificationRequest';\nimport { PaymentRequest } from '../models/request/paymentRequest';\nimport { PolicyRequest } from '../models/request/policyRequest';\nimport { PreloginRequest } from '../models/request/preloginRequest';\nimport { RegisterRequest } from '../models/request/registerRequest';\nimport { SeatRequest } from '../models/request/seatRequest';\nimport { SelectionReadOnlyRequest } from '../models/request/selectionReadOnlyRequest';\nimport { SendAccessRequest } from '../models/request/sendAccessRequest';\nimport { SendRequest } from '../models/request/sendRequest';\nimport { SetPasswordRequest } from '../models/request/setPasswordRequest';\nimport { StorageRequest } from '../models/request/storageRequest';\nimport { TaxInfoUpdateRequest } from '../models/request/taxInfoUpdateRequest';\nimport { TokenRequest } from '../models/request/tokenRequest';\nimport { TwoFactorEmailRequest } from '../models/request/twoFactorEmailRequest';\nimport { TwoFactorProviderRequest } from '../models/request/twoFactorProviderRequest';\nimport { TwoFactorRecoveryRequest } from '../models/request/twoFactorRecoveryRequest';\nimport { UpdateDomainsRequest } from '../models/request/updateDomainsRequest';\nimport { UpdateKeyRequest } from '../models/request/updateKeyRequest';\nimport { UpdateProfileRequest } from '../models/request/updateProfileRequest';\nimport { UpdateTwoFactorAuthenticatorRequest } from '../models/request/updateTwoFactorAuthenticatorRequest';\nimport { UpdateTwoFactorDuoRequest } from '../models/request/updateTwoFactorDuoRequest';\nimport { UpdateTwoFactorEmailRequest } from '../models/request/updateTwoFactorEmailRequest';\nimport { UpdateTwoFactorU2fDeleteRequest } from '../models/request/updateTwoFactorU2fDeleteRequest';\nimport { UpdateTwoFactorU2fRequest } from '../models/request/updateTwoFactorU2fRequest';\nimport { UpdateTwoFactorYubioOtpRequest } from '../models/request/updateTwoFactorYubioOtpRequest';\nimport { VerifyBankRequest } from '../models/request/verifyBankRequest';\nimport { VerifyDeleteRecoverRequest } from '../models/request/verifyDeleteRecoverRequest';\nimport { VerifyEmailRequest } from '../models/request/verifyEmailRequest';\n\nimport { ApiKeyResponse } from '../models/response/apiKeyResponse';\nimport { BillingResponse } from '../models/response/billingResponse';\nimport { BreachAccountResponse } from '../models/response/breachAccountResponse';\nimport { CipherResponse } from '../models/response/cipherResponse';\nimport {\n CollectionGroupDetailsResponse,\n CollectionResponse,\n} from '../models/response/collectionResponse';\nimport { DomainsResponse } from '../models/response/domainsResponse';\nimport {\n EmergencyAccessGranteeDetailsResponse,\n EmergencyAccessGrantorDetailsResponse,\n EmergencyAccessTakeoverResponse,\n EmergencyAccessViewResponse\n} from '../models/response/emergencyAccessResponse';\nimport { EventResponse } from '../models/response/eventResponse';\nimport { FolderResponse } from '../models/response/folderResponse';\nimport {\n GroupDetailsResponse,\n GroupResponse,\n} from '../models/response/groupResponse';\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\nimport { ListResponse } from '../models/response/listResponse';\nimport { OrganizationResponse } from '../models/response/organizationResponse';\nimport { OrganizationSubscriptionResponse } from '../models/response/organizationSubscriptionResponse';\nimport {\n OrganizationUserDetailsResponse,\n OrganizationUserUserDetailsResponse,\n} from '../models/response/organizationUserResponse';\nimport { PaymentResponse } from '../models/response/paymentResponse';\nimport { PlanResponse } from '../models/response/planResponse';\nimport { PolicyResponse } from '../models/response/policyResponse';\nimport { PreloginResponse } from '../models/response/preloginResponse';\nimport { ProfileResponse } from '../models/response/profileResponse';\nimport { SelectionReadOnlyResponse } from '../models/response/selectionReadOnlyResponse';\nimport { SendAccessResponse } from '../models/response/sendAccessResponse';\nimport { SendResponse } from '../models/response/sendResponse';\nimport { SubscriptionResponse } from '../models/response/subscriptionResponse';\nimport { SyncResponse } from '../models/response/syncResponse';\nimport { TaxInfoResponse } from '../models/response/taxInfoResponse';\nimport { TaxRateResponse } from '../models/response/taxRateResponse';\nimport { TwoFactorAuthenticatorResponse } from '../models/response/twoFactorAuthenticatorResponse';\nimport { TwoFactorDuoResponse } from '../models/response/twoFactorDuoResponse';\nimport { TwoFactorEmailResponse } from '../models/response/twoFactorEmailResponse';\nimport { TwoFactorProviderResponse } from '../models/response/twoFactorProviderResponse';\nimport { TwoFactorRecoverResponse } from '../models/response/twoFactorRescoverResponse';\nimport {\n ChallengeResponse,\n TwoFactorU2fResponse,\n} from '../models/response/twoFactorU2fResponse';\nimport { TwoFactorYubiKeyResponse } from '../models/response/twoFactorYubiKeyResponse';\nimport { UserKeyResponse } from '../models/response/userKeyResponse';\n\nexport abstract class ApiService {\n urlsSet: boolean;\n apiBaseUrl: string;\n identityBaseUrl: string;\n eventsBaseUrl: string;\n\n setUrls: (urls: EnvironmentUrls) => void;\n postIdentityToken: (request: TokenRequest) => Promise;\n refreshIdentityToken: () => Promise;\n\n getProfile: () => Promise;\n getUserBilling: () => Promise;\n getUserSubscription: () => Promise;\n getTaxInfo: () => Promise;\n putProfile: (request: UpdateProfileRequest) => Promise;\n putTaxInfo: (request: TaxInfoUpdateRequest) => Promise;\n postPrelogin: (request: PreloginRequest) => Promise;\n postEmailToken: (request: EmailTokenRequest) => Promise;\n postEmail: (request: EmailRequest) => Promise;\n postPassword: (request: PasswordRequest) => Promise;\n setPassword: (request: SetPasswordRequest) => Promise;\n postSecurityStamp: (request: PasswordVerificationRequest) => Promise;\n deleteAccount: (request: PasswordVerificationRequest) => Promise;\n getAccountRevisionDate: () => Promise;\n postPasswordHint: (request: PasswordHintRequest) => Promise;\n postRegister: (request: RegisterRequest) => Promise;\n postPremium: (data: FormData) => Promise;\n postIapCheck: (request: IapCheckRequest) => Promise;\n postReinstatePremium: () => Promise;\n postCancelPremium: () => Promise;\n postAccountStorage: (request: StorageRequest) => Promise;\n postAccountPayment: (request: PaymentRequest) => Promise;\n postAccountLicense: (data: FormData) => Promise;\n postAccountKey: (request: UpdateKeyRequest) => Promise;\n postAccountKeys: (request: KeysRequest) => Promise;\n postAccountVerifyEmail: () => Promise;\n postAccountVerifyEmailToken: (request: VerifyEmailRequest) => Promise;\n postAccountVerifyPassword: (request: PasswordVerificationRequest) => Promise;\n postAccountRecoverDelete: (request: DeleteRecoverRequest) => Promise;\n postAccountRecoverDeleteToken: (request: VerifyDeleteRecoverRequest) => Promise;\n postAccountKdf: (request: KdfRequest) => Promise;\n getEnterprisePortalSignInToken: () => Promise;\n postUserApiKey: (id: string, request: PasswordVerificationRequest) => Promise;\n postUserRotateApiKey: (id: string, request: PasswordVerificationRequest) => Promise;\n\n getFolder: (id: string) => Promise;\n postFolder: (request: FolderRequest) => Promise;\n putFolder: (id: string, request: FolderRequest) => Promise;\n deleteFolder: (id: string) => Promise;\n\n getSend: (id: string) => Promise;\n postSendAccess: (id: string, request: SendAccessRequest) => Promise;\n getSends: () => Promise>;\n postSend: (request: SendRequest) => Promise;\n postSendFile: (data: FormData) => Promise;\n putSend: (id: string, request: SendRequest) => Promise;\n putSendRemovePassword: (id: string) => Promise;\n deleteSend: (id: string) => Promise;\n\n getCipher: (id: string) => Promise;\n getCipherAdmin: (id: string) => Promise;\n getCiphersOrganization: (organizationId: string) => Promise>;\n postCipher: (request: CipherRequest) => Promise;\n postCipherCreate: (request: CipherCreateRequest) => Promise;\n postCipherAdmin: (request: CipherCreateRequest) => Promise;\n putCipher: (id: string, request: CipherRequest) => Promise;\n putCipherAdmin: (id: string, request: CipherRequest) => Promise;\n deleteCipher: (id: string) => Promise;\n deleteCipherAdmin: (id: string) => Promise;\n deleteManyCiphers: (request: CipherBulkDeleteRequest) => Promise;\n deleteManyCiphersAdmin: (request: CipherBulkDeleteRequest) => Promise;\n putMoveCiphers: (request: CipherBulkMoveRequest) => Promise;\n putShareCipher: (id: string, request: CipherShareRequest) => Promise;\n putShareCiphers: (request: CipherBulkShareRequest) => Promise;\n putCipherCollections: (id: string, request: CipherCollectionsRequest) => Promise;\n putCipherCollectionsAdmin: (id: string, request: CipherCollectionsRequest) => Promise;\n postPurgeCiphers: (request: PasswordVerificationRequest, organizationId?: string) => Promise;\n postImportCiphers: (request: ImportCiphersRequest) => Promise;\n postImportOrganizationCiphers: (organizationId: string, request: ImportOrganizationCiphersRequest) => Promise;\n putDeleteCipher: (id: string) => Promise;\n putDeleteCipherAdmin: (id: string) => Promise;\n putDeleteManyCiphers: (request: CipherBulkDeleteRequest) => Promise;\n putDeleteManyCiphersAdmin: (request: CipherBulkDeleteRequest) => Promise;\n putRestoreCipher: (id: string) => Promise;\n putRestoreCipherAdmin: (id: string) => Promise;\n putRestoreManyCiphers: (request: CipherBulkRestoreRequest) => Promise>;\n\n postCipherAttachment: (id: string, data: FormData) => Promise;\n postCipherAttachmentAdmin: (id: string, data: FormData) => Promise;\n deleteCipherAttachment: (id: string, attachmentId: string) => Promise;\n deleteCipherAttachmentAdmin: (id: string, attachmentId: string) => Promise;\n postShareCipherAttachment: (id: string, attachmentId: string, data: FormData,\n organizationId: string) => Promise;\n\n getCollectionDetails: (organizationId: string, id: string) => Promise;\n getUserCollections: () => Promise>;\n getCollections: (organizationId: string) => Promise>;\n getCollectionUsers: (organizationId: string, id: string) => Promise;\n postCollection: (organizationId: string, request: CollectionRequest) => Promise;\n putCollectionUsers: (organizationId: string, id: string, request: SelectionReadOnlyRequest[]) => Promise;\n putCollection: (organizationId: string, id: string, request: CollectionRequest) => Promise;\n deleteCollection: (organizationId: string, id: string) => Promise;\n deleteCollectionUser: (organizationId: string, id: string, organizationUserId: string) => Promise;\n\n getGroupDetails: (organizationId: string, id: string) => Promise;\n getGroups: (organizationId: string) => Promise>;\n getGroupUsers: (organizationId: string, id: string) => Promise;\n postGroup: (organizationId: string, request: GroupRequest) => Promise;\n putGroup: (organizationId: string, id: string, request: GroupRequest) => Promise;\n putGroupUsers: (organizationId: string, id: string, request: string[]) => Promise;\n deleteGroup: (organizationId: string, id: string) => Promise;\n deleteGroupUser: (organizationId: string, id: string, organizationUserId: string) => Promise;\n\n getPolicy: (organizationId: string, type: PolicyType) => Promise;\n getPolicies: (organizationId: string) => Promise>;\n getPoliciesByToken: (organizationId: string, token: string, email: string, organizationUserId: string) =>\n Promise>;\n putPolicy: (organizationId: string, type: PolicyType, request: PolicyRequest) => Promise;\n\n getOrganizationUser: (organizationId: string, id: string) => Promise;\n getOrganizationUserGroups: (organizationId: string, id: string) => Promise;\n getOrganizationUsers: (organizationId: string) => Promise>;\n postOrganizationUserInvite: (organizationId: string, request: OrganizationUserInviteRequest) => Promise;\n postOrganizationUserReinvite: (organizationId: string, id: string) => Promise;\n postOrganizationUserAccept: (organizationId: string, id: string,\n request: OrganizationUserAcceptRequest) => Promise;\n postOrganizationUserConfirm: (organizationId: string, id: string,\n request: OrganizationUserConfirmRequest) => Promise;\n putOrganizationUser: (organizationId: string, id: string, request: OrganizationUserUpdateRequest) => Promise;\n putOrganizationUserGroups: (organizationId: string, id: string,\n request: OrganizationUserUpdateGroupsRequest) => Promise;\n deleteOrganizationUser: (organizationId: string, id: string) => Promise;\n\n getSync: () => Promise;\n postImportDirectory: (organizationId: string, request: ImportDirectoryRequest) => Promise;\n\n getSettingsDomains: () => Promise;\n putSettingsDomains: (request: UpdateDomainsRequest) => Promise;\n\n getTwoFactorProviders: () => Promise>;\n getTwoFactorOrganizationProviders: (organizationId: string) => Promise>;\n getTwoFactorAuthenticator: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorEmail: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorDuo: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorOrganizationDuo: (organizationId: string,\n request: PasswordVerificationRequest) => Promise;\n getTwoFactorYubiKey: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorU2f: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorU2fChallenge: (request: PasswordVerificationRequest) => Promise;\n getTwoFactorRecover: (request: PasswordVerificationRequest) => Promise;\n putTwoFactorAuthenticator: (\n request: UpdateTwoFactorAuthenticatorRequest) => Promise;\n putTwoFactorEmail: (request: UpdateTwoFactorEmailRequest) => Promise;\n putTwoFactorDuo: (request: UpdateTwoFactorDuoRequest) => Promise;\n putTwoFactorOrganizationDuo: (organizationId: string,\n request: UpdateTwoFactorDuoRequest) => Promise;\n putTwoFactorYubiKey: (request: UpdateTwoFactorYubioOtpRequest) => Promise;\n putTwoFactorU2f: (request: UpdateTwoFactorU2fRequest) => Promise;\n deleteTwoFactorU2f: (request: UpdateTwoFactorU2fDeleteRequest) => Promise;\n putTwoFactorDisable: (request: TwoFactorProviderRequest) => Promise;\n putTwoFactorOrganizationDisable: (organizationId: string,\n request: TwoFactorProviderRequest) => Promise;\n postTwoFactorRecover: (request: TwoFactorRecoveryRequest) => Promise;\n postTwoFactorEmailSetup: (request: TwoFactorEmailRequest) => Promise;\n postTwoFactorEmail: (request: TwoFactorEmailRequest) => Promise;\n\n getEmergencyAccessTrusted: () => Promise>;\n getEmergencyAccessGranted: () => Promise>;\n getEmergencyAccess: (id: string) => Promise;\n putEmergencyAccess: (id: string, request: EmergencyAccessUpdateRequest) => Promise;\n deleteEmergencyAccess: (id: string) => Promise;\n postEmergencyAccessInvite: (request: EmergencyAccessInviteRequest) => Promise;\n postEmergencyAccessReinvite: (id: string) => Promise;\n postEmergencyAccessAccept: (id: string, request: EmergencyAccessAcceptRequest) => Promise;\n postEmergencyAccessConfirm: (id: string, request: EmergencyAccessConfirmRequest) => Promise;\n postEmergencyAccessInitiate: (id: string) => Promise;\n postEmergencyAccessApprove: (id: string) => Promise;\n postEmergencyAccessReject: (id: string) => Promise;\n postEmergencyAccessTakeover: (id: string) => Promise;\n postEmergencyAccessPassword: (id: string, request: EmergencyAccessPasswordRequest) => Promise;\n postEmergencyAccessView: (id: string) => Promise;\n\n getOrganization: (id: string) => Promise;\n getOrganizationBilling: (id: string) => Promise;\n getOrganizationSubscription: (id: string) => Promise;\n getOrganizationLicense: (id: string, installationId: string) => Promise;\n getOrganizationTaxInfo: (id: string) => Promise;\n postOrganization: (request: OrganizationCreateRequest) => Promise;\n putOrganization: (id: string, request: OrganizationUpdateRequest) => Promise;\n putOrganizationTaxInfo: (id: string, request: OrganizationTaxInfoUpdateRequest) => Promise;\n postLeaveOrganization: (id: string) => Promise;\n postOrganizationLicense: (data: FormData) => Promise;\n postOrganizationLicenseUpdate: (id: string, data: FormData) => Promise;\n postOrganizationApiKey: (id: string, request: PasswordVerificationRequest) => Promise;\n postOrganizationRotateApiKey: (id: string, request: PasswordVerificationRequest) => Promise;\n postOrganizationUpgrade: (id: string, request: OrganizationUpgradeRequest) => Promise;\n postOrganizationSeat: (id: string, request: SeatRequest) => Promise;\n postOrganizationStorage: (id: string, request: StorageRequest) => Promise;\n postOrganizationPayment: (id: string, request: PaymentRequest) => Promise;\n postOrganizationVerifyBank: (id: string, request: VerifyBankRequest) => Promise;\n postOrganizationCancel: (id: string) => Promise;\n postOrganizationReinstate: (id: string) => Promise;\n deleteOrganization: (id: string, request: PasswordVerificationRequest) => Promise;\n getPlans: () => Promise>;\n getTaxRates: () => Promise>;\n\n getEvents: (start: string, end: string, token: string) => Promise>;\n getEventsCipher: (id: string, start: string, end: string, token: string) => Promise>;\n getEventsOrganization: (id: string, start: string, end: string,\n token: string) => Promise>;\n getEventsOrganizationUser: (organizationId: string, id: string,\n start: string, end: string, token: string) => Promise>;\n postEventsCollect: (request: EventRequest[]) => Promise;\n\n deleteSsoUser: (organizationId: string) => Promise;\n getSsoUserIdentifier: () => Promise;\n\n getUserPublicKey: (id: string) => Promise;\n\n getHibpBreach: (username: string) => Promise;\n\n postBitPayInvoice: (request: BitPayInvoiceRequest) => Promise;\n postSetupPayment: () => Promise;\n\n getActiveBearerToken: () => Promise;\n fetch: (request: Request) => Promise;\n nativeFetch: (request: Request) => Promise;\n\n preValidateSso: (identifier: string) => Promise;\n}\n","import { DeviceType } from '../enums/deviceType';\n\nexport abstract class PlatformUtilsService {\n identityClientId: string;\n getDevice: () => DeviceType;\n getDeviceString: () => string;\n isFirefox: () => boolean;\n isChrome: () => boolean;\n isEdge: () => boolean;\n isOpera: () => boolean;\n isVivaldi: () => boolean;\n isSafari: () => boolean;\n isIE: () => boolean;\n isMacAppStore: () => boolean;\n analyticsId: () => string;\n isViewOpen: () => Promise;\n /**\n * @deprecated This only ever returns null. Pull from your platform's storage using ConstantsService.vaultTimeoutKey\n */\n lockTimeout: () => number;\n launchUri: (uri: string, options?: any) => void;\n saveFile: (win: Window, blobData: any, blobOptions: any, fileName: string) => void;\n getApplicationVersion: () => string;\n supportsU2f: (win: Window) => boolean;\n supportsDuo: () => boolean;\n showToast: (type: 'error' | 'success' | 'warning' | 'info', title: string, text: string | string[],\n options?: any) => void;\n showDialog: (text: string, title?: string, confirmText?: string, cancelText?: string,\n type?: string) => Promise;\n eventTrack: (action: string, label?: string, options?: any) => void;\n isDev: () => boolean;\n isSelfHost: () => boolean;\n copyToClipboard: (text: string, options?: any) => void;\n readFromClipboard: (options?: any) => Promise;\n supportsBiometric: () => Promise;\n authenticateBiometric: () => Promise;\n getDefaultSystemTheme: () => 'light' | 'dark';\n onDefaultSystemThemeChange: (callback: ((theme: 'light' | 'dark') => unknown)) => unknown;\n supportsSecureStorage: () => boolean;\n}\n","import { OrganizationData } from '../models/data/organizationData';\nimport { Organization } from '../models/domain/organization';\n\nimport { KdfType } from '../enums/kdfType';\n\nexport abstract class UserService {\n setInformation: (userId: string, email: string, kdf: KdfType, kdfIterations: number) => Promise;\n setSecurityStamp: (stamp: string) => Promise;\n getUserId: () => Promise;\n getEmail: () => Promise;\n getSecurityStamp: () => Promise;\n getKdf: () => Promise;\n getKdfIterations: () => Promise;\n clear: () => Promise;\n isAuthenticated: () => Promise;\n canAccessPremium: () => Promise;\n getOrganization: (id: string) => Promise;\n getAllOrganizations: () => Promise;\n replaceOrganizations: (organizations: { [id: string]: OrganizationData; }) => Promise;\n clearOrganizations: (userId: string) => Promise;\n}\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\n\nimport { I18nService } from '../../abstractions/i18n.service';\n\n@Pipe({\n name: 'i18n',\n})\nexport class I18nPipe implements PipeTransform {\n constructor(private i18nService: I18nService) { }\n\n transform(id: string, p1?: string, p2?: string, p3?: string): string {\n return this.i18nService.t(id, p1, p2, p3);\n }\n}\n","export abstract class MessagingService {\n send: (subscriber: string, arg?: any) => void;\n}\n","import {\n Directive,\n ElementRef,\n Input,\n OnChanges,\n} from '@angular/core';\n\nimport { ValidationService } from '../services/validation.service';\n\n@Directive({\n selector: '[appApiAction]',\n})\nexport class ApiActionDirective implements OnChanges {\n @Input() appApiAction: Promise;\n\n constructor(private el: ElementRef, private validationService: ValidationService) { }\n\n ngOnChanges(changes: any) {\n if (this.appApiAction == null || this.appApiAction.then == null) {\n return;\n }\n\n this.el.nativeElement.loading = true;\n\n this.appApiAction.then((response: any) => {\n this.el.nativeElement.loading = false;\n }, (e: any) => {\n this.el.nativeElement.loading = false;\n this.validationService.showError(e);\n });\n }\n}\n","import {\n Directive,\n ElementRef,\n Input,\n Renderer2,\n} from '@angular/core';\n\n@Directive({\n selector: '[appA11yTitle]',\n})\nexport class A11yTitleDirective {\n @Input() set appA11yTitle(title: string) {\n this.title = title;\n }\n\n private title: string;\n\n constructor(private el: ElementRef, private renderer: Renderer2) { }\n\n ngOnInit() {\n if (!this.el.nativeElement.hasAttribute('title')) {\n this.renderer.setAttribute(this.el.nativeElement, 'title', this.title);\n }\n if (!this.el.nativeElement.hasAttribute('aria-label')) {\n this.renderer.setAttribute(this.el.nativeElement, 'aria-label', this.title);\n }\n }\n}\n","import { CipherString } from '../models/domain/cipherString';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { ProfileOrganizationResponse } from '../models/response/profileOrganizationResponse';\n\nimport { KdfType } from '../enums/kdfType';\n\nexport abstract class CryptoService {\n setKey: (key: SymmetricCryptoKey) => Promise;\n setKeyHash: (keyHash: string) => Promise<{}>;\n setEncKey: (encKey: string) => Promise<{}>;\n setEncPrivateKey: (encPrivateKey: string) => Promise<{}>;\n setOrgKeys: (orgs: ProfileOrganizationResponse[]) => Promise<{}>;\n getKey: () => Promise;\n getKeyHash: () => Promise;\n getEncKey: (key?: SymmetricCryptoKey) => Promise;\n getPublicKey: () => Promise;\n getPrivateKey: () => Promise;\n getFingerprint: (userId: string, publicKey?: ArrayBuffer) => Promise;\n getOrgKeys: () => Promise>;\n getOrgKey: (orgId: string) => Promise;\n hasKey: () => Promise;\n hasEncKey: () => Promise;\n clearKey: () => Promise;\n clearKeyHash: () => Promise;\n clearEncKey: (memoryOnly?: boolean) => Promise;\n clearKeyPair: (memoryOnly?: boolean) => Promise;\n clearOrgKeys: (memoryOnly?: boolean) => Promise;\n clearPinProtectedKey: () => Promise;\n clearKeys: () => Promise;\n toggleKey: () => Promise;\n makeKey: (password: string, salt: string, kdf: KdfType, kdfIterations: number) => Promise;\n makeKeyFromPin: (pin: string, salt: string, kdf: KdfType, kdfIterations: number,\n protectedKeyCs?: CipherString) => Promise;\n makeShareKey: () => Promise<[CipherString, SymmetricCryptoKey]>;\n makeKeyPair: (key?: SymmetricCryptoKey) => Promise<[string, CipherString]>;\n makePinKey: (pin: string, salt: string, kdf: KdfType, kdfIterations: number) => Promise;\n makeSendKey: (keyMaterial: ArrayBuffer) => Promise;\n hashPassword: (password: string, key: SymmetricCryptoKey) => Promise;\n makeEncKey: (key: SymmetricCryptoKey) => Promise<[SymmetricCryptoKey, CipherString]>;\n remakeEncKey: (key: SymmetricCryptoKey, encKey?: SymmetricCryptoKey) => Promise<[SymmetricCryptoKey, CipherString]>;\n encrypt: (plainValue: string | ArrayBuffer, key?: SymmetricCryptoKey) => Promise;\n encryptToBytes: (plainValue: ArrayBuffer, key?: SymmetricCryptoKey) => Promise;\n rsaEncrypt: (data: ArrayBuffer, publicKey?: ArrayBuffer) => Promise;\n rsaDecrypt: (encValue: string) => Promise;\n decryptToBytes: (cipherString: CipherString, key?: SymmetricCryptoKey) => Promise;\n decryptToUtf8: (cipherString: CipherString, key?: SymmetricCryptoKey) => Promise;\n decryptFromBytes: (encBuf: ArrayBuffer, key: SymmetricCryptoKey) => Promise;\n randomNumber: (min: number, max: number) => Promise;\n}\n","import { CipherType } from '../enums/cipherType';\nimport { UriMatchType } from '../enums/uriMatchType';\n\nimport { CipherData } from '../models/data/cipherData';\n\nimport { Cipher } from '../models/domain/cipher';\nimport { Field } from '../models/domain/field';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { CipherView } from '../models/view/cipherView';\nimport { FieldView } from '../models/view/fieldView';\n\nexport abstract class CipherService {\n decryptedCipherCache: CipherView[];\n\n clearCache: () => void;\n encrypt: (model: CipherView, key?: SymmetricCryptoKey, originalCipher?: Cipher) => Promise;\n encryptFields: (fieldsModel: FieldView[], key: SymmetricCryptoKey) => Promise;\n encryptField: (fieldModel: FieldView, key: SymmetricCryptoKey) => Promise;\n get: (id: string) => Promise;\n getAll: () => Promise;\n getAllDecrypted: () => Promise;\n getAllDecryptedForGrouping: (groupingId: string, folder?: boolean) => Promise;\n getAllDecryptedForUrl: (url: string, includeOtherTypes?: CipherType[],\n defaultMatch?: UriMatchType) => Promise;\n getAllFromApiForOrganization: (organizationId: string) => Promise;\n getLastUsedForUrl: (url: string) => Promise;\n getLastLaunchedForUrl: (url: string) => Promise;\n getNextCipherForUrl: (url: string) => Promise;\n updateLastUsedIndexForUrl: (url: string) => void;\n updateLastUsedDate: (id: string) => Promise;\n updateLastLaunchedDate: (id: string) => Promise;\n saveNeverDomain: (domain: string) => Promise;\n saveWithServer: (cipher: Cipher) => Promise;\n shareWithServer: (cipher: CipherView, organizationId: string, collectionIds: string[]) => Promise;\n shareManyWithServer: (ciphers: CipherView[], organizationId: string, collectionIds: string[]) => Promise;\n saveAttachmentWithServer: (cipher: Cipher, unencryptedFile: any, admin?: boolean) => Promise;\n saveAttachmentRawWithServer: (cipher: Cipher, filename: string, data: ArrayBuffer,\n admin?: boolean) => Promise;\n saveCollectionsWithServer: (cipher: Cipher) => Promise;\n upsert: (cipher: CipherData | CipherData[]) => Promise;\n replace: (ciphers: { [id: string]: CipherData; }) => Promise;\n clear: (userId: string) => Promise;\n moveManyWithServer: (ids: string[], folderId: string) => Promise;\n delete: (id: string | string[]) => Promise;\n deleteWithServer: (id: string) => Promise;\n deleteManyWithServer: (ids: string[]) => Promise;\n deleteAttachment: (id: string, attachmentId: string) => Promise;\n deleteAttachmentWithServer: (id: string, attachmentId: string) => Promise;\n sortCiphersByLastUsed: (a: any, b: any) => number;\n sortCiphersByLastUsedThenName: (a: any, b: any) => number;\n getLocaleSortingFunction: () => (a: CipherView, b: CipherView) => number;\n softDelete: (id: string | string[]) => Promise;\n softDeleteWithServer: (id: string) => Promise;\n softDeleteManyWithServer: (ids: string[]) => Promise;\n restore: (cipher: { id: string, revisionDate: string; } | { id: string, revisionDate: string; }[]) => Promise;\n restoreWithServer: (id: string) => Promise;\n restoreManyWithServer: (ids: string[]) => Promise;\n}\n","export abstract class BaseResponse {\n private response: any;\n\n constructor(response: any) {\n this.response = response;\n }\n\n protected getResponseProperty(propertyName: string, response: any = null, exactName = false): any {\n if (propertyName == null || propertyName === '') {\n throw new Error('propertyName must not be null/empty.');\n }\n if (response == null && this.response != null) {\n response = this.response;\n }\n if (response == null) {\n return null;\n }\n if (!exactName && response[propertyName] === undefined) {\n let otherCasePropertyName: string = null;\n if (propertyName.charAt(0) === propertyName.charAt(0).toUpperCase()) {\n otherCasePropertyName = propertyName.charAt(0).toLowerCase();\n } else {\n otherCasePropertyName = propertyName.charAt(0).toUpperCase();\n }\n if (propertyName.length > 1) {\n otherCasePropertyName += propertyName.slice(1);\n }\n\n propertyName = otherCasePropertyName;\n if (response[propertyName] === undefined) {\n propertyName = propertyName.toLowerCase();\n }\n if (response[propertyName] === undefined) {\n propertyName = propertyName.toUpperCase();\n }\n }\n return response[propertyName];\n }\n}\n","import * as papa from 'papaparse';\n\nimport { LogService } from '../abstractions/log.service';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherView } from '../models/view/cipherView';\nimport { CollectionView } from '../models/view/collectionView';\nimport { LoginUriView } from '../models/view/loginUriView';\n\nimport { Utils } from '../misc/utils';\n\nimport { FieldView } from '../models/view/fieldView';\nimport { FolderView } from '../models/view/folderView';\nimport { LoginView } from '../models/view/loginView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { FieldType } from '../enums/fieldType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nimport { ConsoleLogService } from '../services/consoleLog.service';\n\nexport abstract class BaseImporter {\n organizationId: string = null;\n\n protected logService: LogService = new ConsoleLogService(false);\n\n protected newLineRegex = /(?:\\r\\n|\\r|\\n)/;\n\n protected passwordFieldNames = [\n 'password', 'pass word', 'passphrase', 'pass phrase',\n 'pass', 'code', 'code word', 'codeword',\n 'secret', 'secret word', 'personpwd',\n 'key', 'keyword', 'key word', 'keyphrase', 'key phrase',\n 'form_pw', 'wppassword', 'pin', 'pwd', 'pw', 'pword', 'passwd',\n 'p', 'serial', 'serial#', 'license key', 'reg #',\n\n // Non-English names\n 'passwort',\n ];\n\n protected usernameFieldNames = [\n 'user', 'name', 'user name', 'username', 'login name',\n 'email', 'e-mail', 'id', 'userid', 'user id',\n 'login', 'form_loginname', 'wpname', 'mail',\n 'loginid', 'login id', 'log', 'personlogin',\n 'first name', 'last name', 'card#', 'account #',\n 'member', 'member #',\n\n // Non-English names\n 'nom', 'benutzername',\n ];\n\n protected notesFieldNames = [\n 'note', 'notes', 'comment', 'comments', 'memo',\n 'description', 'free form', 'freeform',\n 'free text', 'freetext', 'free',\n\n // Non-English names\n 'kommentar',\n ];\n\n protected uriFieldNames: string[] = [\n 'url', 'hyper link', 'hyperlink', 'link',\n 'host', 'hostname', 'host name', 'server', 'address',\n 'hyper ref', 'href', 'web', 'website', 'web site', 'site',\n 'web-site', 'uri',\n\n // Non-English names\n 'ort', 'adresse',\n ];\n\n protected parseCsvOptions = {\n encoding: 'UTF-8',\n skipEmptyLines: false,\n };\n\n protected get organization() {\n return this.organizationId != null;\n }\n\n protected parseXml(data: string): Document {\n const parser = new DOMParser();\n const doc = parser.parseFromString(data, 'application/xml');\n return doc != null && doc.querySelector('parsererror') == null ? doc : null;\n }\n\n protected parseCsv(data: string, header: boolean, options: any = {}): any[] {\n const parseOptions = Object.assign({ header: header }, this.parseCsvOptions, options);\n data = this.splitNewLine(data).join('\\n').trim();\n const result = papa.parse(data, parseOptions);\n if (result.errors != null && result.errors.length > 0) {\n result.errors.forEach((e) => {\n if (e.row != null) {\n // tslint:disable-next-line\n this.logService.warning('Error parsing row ' + e.row + ': ' + e.message);\n }\n });\n }\n return result.data && result.data.length > 0 ? result.data : null;\n }\n\n protected parseSingleRowCsv(rowData: string) {\n if (this.isNullOrWhitespace(rowData)) {\n return null;\n }\n const parsedRow = this.parseCsv(rowData, false);\n if (parsedRow != null && parsedRow.length > 0 && parsedRow[0].length > 0) {\n return parsedRow[0];\n }\n return null;\n }\n\n protected makeUriArray(uri: string | string[]): LoginUriView[] {\n if (uri == null) {\n return null;\n }\n\n if (typeof uri === 'string') {\n const loginUri = new LoginUriView();\n loginUri.uri = this.fixUri(uri);\n if (this.isNullOrWhitespace(loginUri.uri)) {\n return null;\n }\n loginUri.match = null;\n return [loginUri];\n }\n\n if (uri.length > 0) {\n const returnArr: LoginUriView[] = [];\n uri.forEach((u) => {\n const loginUri = new LoginUriView();\n loginUri.uri = this.fixUri(u);\n if (this.isNullOrWhitespace(loginUri.uri)) {\n return;\n }\n loginUri.match = null;\n returnArr.push(loginUri);\n });\n return returnArr.length === 0 ? null : returnArr;\n }\n\n return null;\n }\n\n protected fixUri(uri: string) {\n if (uri == null) {\n return null;\n }\n uri = uri.trim();\n if (uri.indexOf('://') === -1 && uri.indexOf('.') >= 0) {\n uri = 'http://' + uri;\n }\n if (uri.length > 1000) {\n return uri.substring(0, 1000);\n }\n return uri;\n }\n\n protected nameFromUrl(url: string) {\n const hostname = Utils.getHostname(url);\n if (this.isNullOrWhitespace(hostname)) {\n return null;\n }\n return hostname.startsWith('www.') ? hostname.replace('www.', '') : hostname;\n }\n\n protected isNullOrWhitespace(str: string): boolean {\n return Utils.isNullOrWhitespace(str);\n }\n\n protected getValueOrDefault(str: string, defaultValue: string = null): string {\n if (this.isNullOrWhitespace(str)) {\n return defaultValue;\n }\n return str;\n }\n\n protected splitNewLine(str: string): string[] {\n return str.split(this.newLineRegex);\n }\n\n // ref https://stackoverflow.com/a/5911300\n protected getCardBrand(cardNum: string) {\n if (this.isNullOrWhitespace(cardNum)) {\n return null;\n }\n\n // Visa\n let re = new RegExp('^4');\n if (cardNum.match(re) != null) {\n return 'Visa';\n }\n\n // Mastercard\n // Updated for Mastercard 2017 BINs expansion\n if (/^(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))$/\n .test(cardNum)) {\n return 'Mastercard';\n }\n\n // AMEX\n re = new RegExp('^3[47]');\n if (cardNum.match(re) != null) {\n return 'Amex';\n }\n\n // Discover\n re = new RegExp('^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)');\n if (cardNum.match(re) != null) {\n return 'Discover';\n }\n\n // Diners\n re = new RegExp('^36');\n if (cardNum.match(re) != null) {\n return 'Diners Club';\n }\n\n // Diners - Carte Blanche\n re = new RegExp('^30[0-5]');\n if (cardNum.match(re) != null) {\n return 'Diners Club';\n }\n\n // JCB\n re = new RegExp('^35(2[89]|[3-8][0-9])');\n if (cardNum.match(re) != null) {\n return 'JCB';\n }\n\n // Visa Electron\n re = new RegExp('^(4026|417500|4508|4844|491(3|7))');\n if (cardNum.match(re) != null) {\n return 'Visa';\n }\n\n return null;\n }\n\n protected setCardExpiration(cipher: CipherView, expiration: string): boolean {\n if (!this.isNullOrWhitespace(expiration)) {\n const parts = expiration.split('/');\n if (parts.length === 2) {\n let month: string = null;\n let year: string = null;\n if (parts[0].length === 1 || parts[0].length === 2) {\n month = parts[0];\n if (month.length === 2 && month[0] === '0') {\n month = month.substr(1, 1);\n }\n }\n if (parts[1].length === 2 || parts[1].length === 4) {\n year = month.length === 2 ? '20' + parts[1] : parts[1];\n }\n if (month != null && year != null) {\n cipher.card.expMonth = month;\n cipher.card.expYear = year;\n return true;\n }\n }\n }\n return false;\n }\n\n protected moveFoldersToCollections(result: ImportResult) {\n result.folderRelationships.forEach((r) => result.collectionRelationships.push(r));\n result.collections = result.folders.map((f) => {\n const collection = new CollectionView();\n collection.name = f.name;\n return collection;\n });\n result.folderRelationships = [];\n result.folders = [];\n }\n\n protected querySelectorDirectChild(parentEl: Element, query: string) {\n const els = this.querySelectorAllDirectChild(parentEl, query);\n return els.length === 0 ? null : els[0];\n }\n\n protected querySelectorAllDirectChild(parentEl: Element, query: string) {\n return Array.from(parentEl.querySelectorAll(query)).filter((el) => el.parentNode === parentEl);\n }\n\n protected initLoginCipher() {\n const cipher = new CipherView();\n cipher.favorite = false;\n cipher.notes = '';\n cipher.fields = [];\n cipher.login = new LoginView();\n cipher.type = CipherType.Login;\n return cipher;\n }\n\n protected cleanupCipher(cipher: CipherView) {\n if (cipher == null) {\n return;\n }\n if (cipher.type !== CipherType.Login) {\n cipher.login = null;\n }\n if (this.isNullOrWhitespace(cipher.name)) {\n cipher.name = '--';\n }\n if (this.isNullOrWhitespace(cipher.notes)) {\n cipher.notes = null;\n } else {\n cipher.notes = cipher.notes.trim();\n }\n if (cipher.fields != null && cipher.fields.length === 0) {\n cipher.fields = null;\n }\n }\n\n protected processKvp(cipher: CipherView, key: string, value: string, type: FieldType = FieldType.Text) {\n if (this.isNullOrWhitespace(value)) {\n return;\n }\n if (this.isNullOrWhitespace(key)) {\n key = '';\n }\n if (value.length > 200 || value.trim().search(this.newLineRegex) > -1) {\n if (cipher.notes == null) {\n cipher.notes = '';\n }\n cipher.notes += (key + ': ' + this.splitNewLine(value).join('\\n') + '\\n');\n } else {\n if (cipher.fields == null) {\n cipher.fields = [];\n }\n const field = new FieldView();\n field.type = type;\n field.name = key;\n field.value = value;\n cipher.fields.push(field);\n }\n }\n\n protected processFolder(result: ImportResult, folderName: string) {\n let folderIndex = result.folders.length;\n const hasFolder = !this.isNullOrWhitespace(folderName);\n let addFolder = hasFolder;\n\n if (hasFolder) {\n for (let i = 0; i < result.folders.length; i++) {\n if (result.folders[i].name === folderName) {\n addFolder = false;\n folderIndex = i;\n break;\n }\n }\n }\n\n if (addFolder) {\n const f = new FolderView();\n f.name = folderName;\n result.folders.push(f);\n }\n if (hasFolder) {\n result.folderRelationships.push([result.ciphers.length, folderIndex]);\n }\n }\n\n protected convertToNoteIfNeeded(cipher: CipherView) {\n if (cipher.type === CipherType.Login && this.isNullOrWhitespace(cipher.login.username) &&\n this.isNullOrWhitespace(cipher.login.password) &&\n (cipher.login.uris == null || cipher.login.uris.length === 0)) {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n }\n }\n}\n","import { CipherView } from '../view/cipherView';\nimport { CollectionView } from '../view/collectionView';\nimport { FolderView } from '../view/folderView';\n\nexport class ImportResult {\n success = false;\n errorMessage: string;\n ciphers: CipherView[] = [];\n folders: FolderView[] = [];\n folderRelationships: [number, number][] = [];\n collections: CollectionView[] = [];\n collectionRelationships: [number, number][] = [];\n}\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { I18nService } from '../../abstractions/i18n.service';\n\n@Component({\n selector: 'app-callout',\n templateUrl: 'callout.component.html',\n})\nexport class CalloutComponent implements OnInit {\n @Input() type = 'info';\n @Input() icon: string;\n @Input() title: string;\n\n calloutStyle: string;\n\n constructor(private i18nService: I18nService) { }\n\n ngOnInit() {\n this.calloutStyle = this.type;\n\n if (this.type === 'warning' || this.type === 'danger') {\n if (this.type === 'danger') {\n this.calloutStyle = 'danger';\n }\n if (this.title === undefined) {\n this.title = this.i18nService.t('warning');\n }\n if (this.icon === undefined) {\n this.icon = 'fa-warning';\n }\n } else if (this.type === 'error') {\n this.calloutStyle = 'danger';\n if (this.title === undefined) {\n this.title = this.i18nService.t('error');\n }\n if (this.icon === undefined) {\n this.icon = 'fa-bolt';\n }\n } else if (this.type === 'tip') {\n this.calloutStyle = 'success';\n if (this.title === undefined) {\n this.title = this.i18nService.t('tip');\n }\n if (this.icon === undefined) {\n this.icon = 'fa-lightbulb-o';\n }\n }\n }\n}\n","
\n

\n \n {{title}}\n

\n \n
\n","import * as tldjs from 'tldjs';\n\nimport { I18nService } from '../abstractions/i18n.service';\n\n// tslint:disable-next-line\nconst nodeURL = typeof window === 'undefined' ? require('url') : null;\n\nexport class Utils {\n static inited = false;\n static isNativeScript = false;\n static isNode = false;\n static isBrowser = true;\n static isMobileBrowser = false;\n static isAppleMobileBrowser = false;\n static global: any = null;\n static tldEndingRegex = /.*\\.(com|net|org|edu|uk|gov|ca|de|jp|fr|au|ru|ch|io|es|us|co|xyz|info|ly|mil)$/;\n\n static init() {\n if (Utils.inited) {\n return;\n }\n\n Utils.inited = true;\n Utils.isNode = typeof process !== 'undefined' && (process as any).release != null &&\n (process as any).release.name === 'node';\n Utils.isBrowser = typeof window !== 'undefined';\n Utils.isNativeScript = !Utils.isNode && !Utils.isBrowser;\n Utils.isMobileBrowser = Utils.isBrowser && this.isMobile(window);\n Utils.isAppleMobileBrowser = Utils.isBrowser && this.isAppleMobile(window);\n Utils.global = Utils.isNativeScript ? global : (Utils.isNode && !Utils.isBrowser ? global : window);\n }\n\n static fromB64ToArray(str: string): Uint8Array {\n if (Utils.isNode || Utils.isNativeScript) {\n return new Uint8Array(Buffer.from(str, 'base64'));\n } else {\n const binaryString = window.atob(str);\n const bytes = new Uint8Array(binaryString.length);\n for (let i = 0; i < binaryString.length; i++) {\n bytes[i] = binaryString.charCodeAt(i);\n }\n return bytes;\n }\n }\n\n static fromUrlB64ToArray(str: string): Uint8Array {\n return Utils.fromB64ToArray(Utils.fromUrlB64ToB64(str));\n }\n\n static fromHexToArray(str: string): Uint8Array {\n if (Utils.isNode || Utils.isNativeScript) {\n return new Uint8Array(Buffer.from(str, 'hex'));\n } else {\n const bytes = new Uint8Array(str.length / 2);\n for (let i = 0; i < str.length; i += 2) {\n bytes[i / 2] = parseInt(str.substr(i, 2), 16);\n }\n return bytes;\n }\n }\n\n static fromUtf8ToArray(str: string): Uint8Array {\n if (Utils.isNode || Utils.isNativeScript) {\n return new Uint8Array(Buffer.from(str, 'utf8'));\n } else {\n const strUtf8 = unescape(encodeURIComponent(str));\n const arr = new Uint8Array(strUtf8.length);\n for (let i = 0; i < strUtf8.length; i++) {\n arr[i] = strUtf8.charCodeAt(i);\n }\n return arr;\n }\n }\n\n static fromByteStringToArray(str: string): Uint8Array {\n const arr = new Uint8Array(str.length);\n for (let i = 0; i < str.length; i++) {\n arr[i] = str.charCodeAt(i);\n }\n return arr;\n }\n\n static fromBufferToB64(buffer: ArrayBuffer): string {\n if (Utils.isNode || Utils.isNativeScript) {\n return Buffer.from(buffer).toString('base64');\n } else {\n let binary = '';\n const bytes = new Uint8Array(buffer);\n for (let i = 0; i < bytes.byteLength; i++) {\n binary += String.fromCharCode(bytes[i]);\n }\n return window.btoa(binary);\n }\n }\n\n static fromBufferToUrlB64(buffer: ArrayBuffer): string {\n return Utils.fromB64toUrlB64(Utils.fromBufferToB64(buffer));\n }\n\n static fromB64toUrlB64(b64Str: string) {\n return b64Str.replace(/\\+/g, '-')\n .replace(/\\//g, '_')\n .replace(/=/g, '');\n }\n\n static fromBufferToUtf8(buffer: ArrayBuffer): string {\n if (Utils.isNode || Utils.isNativeScript) {\n return Buffer.from(buffer).toString('utf8');\n } else {\n const bytes = new Uint8Array(buffer);\n const encodedString = String.fromCharCode.apply(null, bytes);\n return decodeURIComponent(escape(encodedString));\n }\n }\n\n static fromBufferToByteString(buffer: ArrayBuffer): string {\n return String.fromCharCode.apply(null, new Uint8Array(buffer));\n }\n\n // ref: https://stackoverflow.com/a/40031979/1090359\n static fromBufferToHex(buffer: ArrayBuffer): string {\n if (Utils.isNode || Utils.isNativeScript) {\n return Buffer.from(buffer).toString('hex');\n } else {\n const bytes = new Uint8Array(buffer);\n return Array.prototype.map.call(bytes, (x: number) => ('00' + x.toString(16)).slice(-2)).join('');\n }\n }\n\n static fromUrlB64ToB64(urlB64Str: string): string {\n let output = urlB64Str.replace(/-/g, '+').replace(/_/g, '/');\n switch (output.length % 4) {\n case 0:\n break;\n case 2:\n output += '==';\n break;\n case 3:\n output += '=';\n break;\n default:\n throw new Error('Illegal base64url string!');\n }\n\n return output;\n }\n\n static fromUrlB64ToUtf8(urlB64Str: string): string {\n return Utils.fromB64ToUtf8(Utils.fromUrlB64ToB64(urlB64Str));\n }\n\n static fromB64ToUtf8(b64Str: string): string {\n if (Utils.isNode || Utils.isNativeScript) {\n return Buffer.from(b64Str, 'base64').toString('utf8');\n } else {\n return decodeURIComponent(escape(window.atob(b64Str)));\n }\n }\n\n // ref: http://stackoverflow.com/a/2117523/1090359\n static newGuid(): string {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n // tslint:disable-next-line\n const r = Math.random() * 16 | 0;\n // tslint:disable-next-line\n const v = c === 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n }\n\n static isGuid(id: string) {\n return RegExp(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/, 'i').test(id);\n }\n\n static getHostname(uriString: string): string {\n const url = Utils.getUrl(uriString);\n try {\n return url != null && url.hostname !== '' ? url.hostname : null;\n } catch {\n return null;\n }\n }\n\n static getHost(uriString: string): string {\n const url = Utils.getUrl(uriString);\n try {\n return url != null && url.host !== '' ? url.host : null;\n } catch {\n return null;\n }\n }\n\n static getDomain(uriString: string): string {\n if (uriString == null) {\n return null;\n }\n\n uriString = uriString.trim();\n if (uriString === '') {\n return null;\n }\n\n if (uriString.startsWith('data:')) {\n return null;\n }\n\n let httpUrl = uriString.startsWith('http://') || uriString.startsWith('https://');\n if (!httpUrl && uriString.indexOf('://') < 0 && Utils.tldEndingRegex.test(uriString)) {\n uriString = 'http://' + uriString;\n httpUrl = true;\n }\n\n if (httpUrl) {\n try {\n const url = Utils.getUrlObject(uriString);\n if (url.hostname === 'localhost' || Utils.validIpAddress(url.hostname)) {\n return url.hostname;\n }\n\n const urlDomain = tldjs != null && tldjs.getDomain != null ? tldjs.getDomain(url.hostname) : null;\n return urlDomain != null ? urlDomain : url.hostname;\n } catch (e) { }\n }\n\n try {\n const domain = tldjs != null && tldjs.getDomain != null ? tldjs.getDomain(uriString) : null;\n\n if (domain != null) {\n return domain;\n }\n } catch {\n return null;\n }\n\n return null;\n }\n\n static getQueryParams(uriString: string): Map {\n const url = Utils.getUrl(uriString);\n if (url == null || url.search == null || url.search === '') {\n return null;\n }\n const map = new Map();\n const pairs = (url.search[0] === '?' ? url.search.substr(1) : url.search).split('&');\n pairs.forEach((pair) => {\n const parts = pair.split('=');\n if (parts.length < 1) {\n return;\n }\n map.set(decodeURIComponent(parts[0]).toLowerCase(), parts[1] == null ? '' : decodeURIComponent(parts[1]));\n });\n return map;\n }\n\n static getSortFunction(i18nService: I18nService, prop: string) {\n return (a: any, b: any) => {\n if (a[prop] == null && b[prop] != null) {\n return -1;\n }\n if (a[prop] != null && b[prop] == null) {\n return 1;\n }\n if (a[prop] == null && b[prop] == null) {\n return 0;\n }\n\n return i18nService.collator ? i18nService.collator.compare(a[prop], b[prop]) :\n a[prop].localeCompare(b[prop]);\n };\n }\n\n static isNullOrWhitespace(str: string): boolean {\n return str == null || typeof str !== 'string' || str.trim() === '';\n }\n\n private static validIpAddress(ipString: string): boolean {\n // tslint:disable-next-line\n const ipRegex = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;\n return ipRegex.test(ipString);\n }\n\n private static isMobile(win: Window) {\n let mobile = false;\n ((a) => {\n // tslint:disable-next-line\n if (/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(a.substr(0, 4))) {\n mobile = true;\n }\n })(win.navigator.userAgent || win.navigator.vendor || (win as any).opera);\n return mobile || win.navigator.userAgent.match(/iPad/i) != null;\n }\n\n private static isAppleMobile(win: Window) {\n return win.navigator.userAgent.match(/iPhone/i) != null || win.navigator.userAgent.match(/iPad/i) != null;\n }\n\n private static getUrl(uriString: string): URL {\n if (uriString == null) {\n return null;\n }\n\n uriString = uriString.trim();\n if (uriString === '') {\n return null;\n }\n\n let url = Utils.getUrlObject(uriString);\n if (url == null) {\n const hasHttpProtocol = uriString.indexOf('http://') === 0 || uriString.indexOf('https://') === 0;\n if (!hasHttpProtocol && uriString.indexOf('.') > -1) {\n url = Utils.getUrlObject('http://' + uriString);\n }\n }\n return url;\n }\n\n private static getUrlObject(uriString: string): URL {\n try {\n if (nodeURL != null) {\n return nodeURL.URL ? new nodeURL.URL(uriString) : nodeURL.parse(uriString);\n } else if (typeof URL === 'function') {\n return new URL(uriString);\n } else if (window != null) {\n const hasProtocol = uriString.indexOf('://') > -1;\n if (!hasProtocol && uriString.indexOf('.') > -1) {\n uriString = 'http://' + uriString;\n } else if (!hasProtocol) {\n return null;\n }\n const anchor = window.document.createElement('a');\n anchor.href = uriString;\n return anchor as any;\n }\n } catch (e) { }\n\n return null;\n }\n}\n\nUtils.init();\n","import { GeneratedPasswordHistory } from '../models/domain/generatedPasswordHistory';\nimport { PasswordGeneratorPolicyOptions } from '../models/domain/passwordGeneratorPolicyOptions';\n\nexport abstract class PasswordGenerationService {\n generatePassword: (options: any) => Promise;\n generatePassphrase: (options: any) => Promise;\n getOptions: () => Promise<[any, PasswordGeneratorPolicyOptions]>;\n enforcePasswordGeneratorPoliciesOnOptions: (options: any) => Promise<[any, PasswordGeneratorPolicyOptions]>;\n getPasswordGeneratorPolicyOptions: () => Promise;\n saveOptions: (options: any) => Promise;\n getHistory: () => Promise;\n addHistory: (password: string) => Promise;\n clear: () => Promise;\n passwordStrength: (password: string, userInputs?: string[]) => zxcvbn.ZXCVBNResult;\n normalizeOptions: (options: any, enforcedPolicyOptions: PasswordGeneratorPolicyOptions) => void;\n}\n","export abstract class StateService {\n get: (key: string) => Promise;\n save: (key: string, obj: any) => Promise;\n remove: (key: string) => Promise;\n purge: () => Promise;\n}\n","import {\n Directive,\n HostListener,\n} from '@angular/core';\n\n@Directive({\n selector: '[appStopClick]',\n})\nexport class StopClickDirective {\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\n $event.preventDefault();\n }\n}\n","export enum CipherType {\n Login = 1,\n SecureNote = 2,\n Card = 3,\n Identity = 4,\n}\n","import { CollectionData } from '../models/data/collectionData';\n\nimport { Collection } from '../models/domain/collection';\nimport { TreeNode } from '../models/domain/treeNode';\n\nimport { CollectionView } from '../models/view/collectionView';\n\nexport abstract class CollectionService {\n decryptedCollectionCache: CollectionView[];\n\n clearCache: () => void;\n encrypt: (model: CollectionView) => Promise;\n decryptMany: (collections: Collection[]) => Promise;\n get: (id: string) => Promise;\n getAll: () => Promise;\n getAllDecrypted: () => Promise;\n getAllNested: (collections?: CollectionView[]) => Promise[]>;\n getNested: (id: string) => Promise>;\n upsert: (collection: CollectionData | CollectionData[]) => Promise;\n replace: (collections: { [id: string]: CollectionData; }) => Promise;\n clear: (userId: string) => Promise;\n delete: (id: string | string[]) => Promise;\n}\n","export abstract class StorageService {\n get: (key: string) => Promise;\n save: (key: string, obj: any) => Promise;\n remove: (key: string) => Promise;\n}\n","import {\n Directive,\n ElementRef,\n Input,\n Renderer2,\n} from '@angular/core';\n\n@Directive({\n selector: '[appInputVerbatim]',\n})\nexport class InputVerbatimDirective {\n @Input() set appInputVerbatim(condition: boolean | string) {\n this.disableComplete = condition === '' || condition === true;\n }\n\n private disableComplete: boolean;\n\n constructor(private el: ElementRef, private renderer: Renderer2) { }\n\n ngOnInit() {\n if (this.disableComplete && !this.el.nativeElement.hasAttribute('autocomplete')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocomplete', 'off');\n }\n if (!this.el.nativeElement.hasAttribute('autocapitalize')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocapitalize', 'none');\n }\n if (!this.el.nativeElement.hasAttribute('autocorrect')) {\n this.renderer.setAttribute(this.el.nativeElement, 'autocorrect', 'none');\n }\n if (!this.el.nativeElement.hasAttribute('spellcheck')) {\n this.renderer.setAttribute(this.el.nativeElement, 'spellcheck', 'false');\n }\n if (!this.el.nativeElement.hasAttribute('inputmode')) {\n this.renderer.setAttribute(this.el.nativeElement, 'inputmode', 'verbatim');\n }\n }\n}\n","import { FolderData } from '../models/data/folderData';\n\nimport { Folder } from '../models/domain/folder';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\nimport { TreeNode } from '../models/domain/treeNode';\n\nimport { FolderView } from '../models/view/folderView';\n\nexport abstract class FolderService {\n decryptedFolderCache: FolderView[];\n\n clearCache: () => void;\n encrypt: (model: FolderView, key?: SymmetricCryptoKey) => Promise;\n get: (id: string) => Promise;\n getAll: () => Promise;\n getAllDecrypted: () => Promise;\n getAllNested: () => Promise[]>;\n getNested: (id: string) => Promise>;\n saveWithServer: (folder: Folder) => Promise;\n upsert: (folder: FolderData | FolderData[]) => Promise;\n replace: (folders: { [id: string]: FolderData; }) => Promise;\n clear: (userId: string) => Promise;\n delete: (id: string | string[]) => Promise;\n deleteWithServer: (id: string) => Promise;\n}\n","import { PolicyData } from '../models/data/policyData';\n\nimport { MasterPasswordPolicyOptions } from '../models/domain/masterPasswordPolicyOptions';\nimport { Policy } from '../models/domain/policy';\n\nimport { PolicyType } from '../enums/policyType';\n\nexport abstract class PolicyService {\n policyCache: Policy[];\n\n clearCache: () => void;\n getAll: (type?: PolicyType) => Promise;\n replace: (policies: { [id: string]: PolicyData; }) => Promise;\n clear: (userId: string) => Promise;\n getMasterPasswordPolicyOptions: (policies?: Policy[]) => Promise;\n evaluateMasterPassword: (passwordStrength: number, newPassword: string,\n enforcedPolicyOptions?: MasterPasswordPolicyOptions) => boolean;\n}\n","import {\n Directive,\n HostListener,\n} from '@angular/core';\n\n@Directive({\n selector: '[appStopProp]',\n})\nexport class StopPropDirective {\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\n $event.stopPropagation();\n }\n}\n","import { TwoFactorProviderType } from '../enums/twoFactorProviderType';\n\nimport { AuthResult } from '../models/domain/authResult';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nexport abstract class AuthService {\n email: string;\n masterPasswordHash: string;\n code: string;\n codeVerifier: string;\n ssoRedirectUrl: string;\n clientId: string;\n clientSecret: string;\n twoFactorProvidersData: Map;\n selectedTwoFactorProviderType: TwoFactorProviderType;\n\n logIn: (email: string, masterPassword: string) => Promise;\n logInSso: (code: string, codeVerifier: string, redirectUrl: string) => Promise;\n logInApiKey: (clientId: string, clientSecret: string) => Promise;\n logInTwoFactor: (twoFactorProvider: TwoFactorProviderType, twoFactorToken: string,\n remember?: boolean) => Promise;\n logInComplete: (email: string, masterPassword: string, twoFactorProvider: TwoFactorProviderType,\n twoFactorToken: string, remember?: boolean) => Promise;\n logInSsoComplete: (code: string, codeVerifier: string, redirectUrl: string,\n twoFactorProvider: TwoFactorProviderType, twoFactorToken: string, remember?: boolean) => Promise;\n logInApiKeyComplete: (clientId: string, clientSecret: string, twoFactorProvider: TwoFactorProviderType,\n twoFactorToken: string, remember?: boolean) => Promise;\n logOut: (callback: Function) => void;\n getSupportedTwoFactorProviders: (win: Window) => any[];\n getDefaultTwoFactorProvider: (u2fSupported: boolean) => TwoFactorProviderType;\n makePreloginKey: (masterPassword: string, email: string) => Promise;\n authingWithApiKey: () => boolean;\n authingWithSso: () => boolean;\n authingWithPassword: () => boolean;\n}\n","import {\n Directive,\n ElementRef,\n Input,\n} from '@angular/core';\n\nimport { Utils } from '../../misc/utils';\n\n@Directive({\n selector: '[appAutofocus]',\n})\nexport class AutofocusDirective {\n @Input() set appAutofocus(condition: boolean | string) {\n this.autofocus = condition === '' || condition === true;\n }\n\n private autofocus: boolean;\n\n constructor(private el: ElementRef) { }\n\n ngOnInit() {\n if (!Utils.isMobileBrowser && this.autofocus) {\n this.el.nativeElement.focus();\n }\n }\n}\n","import {\n SyncCipherNotification,\n SyncFolderNotification,\n} from '../models/response/notificationResponse';\n\nexport abstract class SyncService {\n syncInProgress: boolean;\n\n getLastSync: () => Promise;\n setLastSync: (date: Date) => Promise;\n fullSync: (forceSync: boolean, allowThrowOnError?: boolean) => Promise;\n syncUpsertFolder: (notification: SyncFolderNotification, isEdit: boolean) => Promise;\n syncDeleteFolder: (notification: SyncFolderNotification) => Promise;\n syncUpsertCipher: (notification: SyncCipherNotification, isEdit: boolean) => Promise;\n syncDeleteCipher: (notification: SyncFolderNotification) => Promise;\n}\n","export class ConstantsService {\n static readonly environmentUrlsKey: string = 'environmentUrls';\n static readonly disableGaKey: string = 'disableGa';\n static readonly disableAddLoginNotificationKey: string = 'disableAddLoginNotification';\n static readonly disableChangedPasswordNotificationKey: string = 'disableChangedPasswordNotification';\n static readonly disableContextMenuItemKey: string = 'disableContextMenuItem';\n static readonly disableFaviconKey: string = 'disableFavicon';\n static readonly disableAutoTotpCopyKey: string = 'disableAutoTotpCopy';\n static readonly enableAutoFillOnPageLoadKey: string = 'enableAutoFillOnPageLoad';\n static readonly vaultTimeoutKey: string = 'lockOption';\n static readonly vaultTimeoutActionKey: string = 'vaultTimeoutAction';\n static readonly lastActiveKey: string = 'lastActive';\n static readonly neverDomainsKey: string = 'neverDomains';\n static readonly installedVersionKey: string = 'installedVersion';\n static readonly localeKey: string = 'locale';\n static readonly themeKey: string = 'theme';\n static readonly collapsedGroupingsKey: string = 'collapsedGroupings';\n static readonly autoConfirmFingerprints: string = 'autoConfirmFingerprints';\n static readonly dontShowCardsCurrentTab: string = 'dontShowCardsCurrentTab';\n static readonly dontShowIdentitiesCurrentTab: string = 'dontShowIdentitiesCurrentTab';\n static readonly defaultUriMatch: string = 'defaultUriMatch';\n static readonly pinProtectedKey: string = 'pinProtectedKey';\n static readonly protectedPin: string = 'protectedPin';\n static readonly clearClipboardKey: string = 'clearClipboardKey';\n static readonly eventCollectionKey: string = 'eventCollection';\n static readonly ssoCodeVerifierKey: string = 'ssoCodeVerifier';\n static readonly ssoStateKey: string = 'ssoState';\n static readonly biometricUnlockKey: string = 'biometric';\n static readonly biometricText: string = 'biometricText';\n static readonly biometricAwaitingAcceptance: string = 'biometricAwaitingAcceptance';\n static readonly biometricFingerprintValidated: string = 'biometricFingerprintValidated';\n\n readonly environmentUrlsKey: string = ConstantsService.environmentUrlsKey;\n readonly disableGaKey: string = ConstantsService.disableGaKey;\n readonly disableAddLoginNotificationKey: string = ConstantsService.disableAddLoginNotificationKey;\n readonly disableContextMenuItemKey: string = ConstantsService.disableContextMenuItemKey;\n readonly disableFaviconKey: string = ConstantsService.disableFaviconKey;\n readonly disableAutoTotpCopyKey: string = ConstantsService.disableAutoTotpCopyKey;\n readonly enableAutoFillOnPageLoadKey: string = ConstantsService.enableAutoFillOnPageLoadKey;\n readonly vaultTimeoutKey: string = ConstantsService.vaultTimeoutKey;\n readonly vaultTimeoutActionKey: string = ConstantsService.vaultTimeoutActionKey;\n readonly lastActiveKey: string = ConstantsService.lastActiveKey;\n readonly neverDomainsKey: string = ConstantsService.neverDomainsKey;\n readonly installedVersionKey: string = ConstantsService.installedVersionKey;\n readonly localeKey: string = ConstantsService.localeKey;\n readonly themeKey: string = ConstantsService.themeKey;\n readonly collapsedGroupingsKey: string = ConstantsService.collapsedGroupingsKey;\n readonly autoConfirmFingerprints: string = ConstantsService.autoConfirmFingerprints;\n readonly dontShowCardsCurrentTab: string = ConstantsService.dontShowCardsCurrentTab;\n readonly dontShowIdentitiesCurrentTab: string = ConstantsService.dontShowIdentitiesCurrentTab;\n readonly defaultUriMatch: string = ConstantsService.defaultUriMatch;\n readonly pinProtectedKey: string = ConstantsService.pinProtectedKey;\n readonly protectedPin: string = ConstantsService.protectedPin;\n readonly clearClipboardKey: string = ConstantsService.clearClipboardKey;\n readonly eventCollectionKey: string = ConstantsService.eventCollectionKey;\n readonly ssoCodeVerifierKey: string = ConstantsService.ssoCodeVerifierKey;\n readonly ssoStateKey: string = ConstantsService.ssoStateKey;\n readonly biometricUnlockKey: string = ConstantsService.biometricUnlockKey;\n readonly biometricText: string = ConstantsService.biometricText;\n readonly biometricAwaitingAcceptance: string = ConstantsService.biometricAwaitingAcceptance;\n readonly biometricFingerprintValidated: string = ConstantsService.biometricFingerprintValidated;\n}\n","import { EventType } from '../enums/eventType';\n\nexport abstract class EventService {\n collect: (eventType: EventType, cipherId?: string, uploadImmediately?: boolean) => Promise;\n uploadEvents: () => Promise;\n clearEvents: () => Promise;\n}\n","export abstract class EnvironmentService {\n baseUrl: string;\n webVaultUrl: string;\n apiUrl: string;\n identityUrl: string;\n iconsUrl: string;\n notificationsUrl: string;\n eventsUrl: string;\n enterpriseUrl: string;\n\n getWebVaultUrl: () => string;\n setUrlsFromStorage: () => Promise;\n setUrls: (urls: any) => Promise;\n}\n","export class PasswordVerificationRequest {\n masterPasswordHash: string;\n}\n","import { CipherString } from './cipherString';\n\nimport { View } from '../view/view';\n\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport default class Domain {\n protected buildDomainModel(domain: D, dataObj: any, map: any,\n alreadyEncrypted: boolean, notEncList: any[] = []) {\n for (const prop in map) {\n if (!map.hasOwnProperty(prop)) {\n continue;\n }\n\n const objProp = dataObj[(map[prop] || prop)];\n if (alreadyEncrypted === true || notEncList.indexOf(prop) > -1) {\n (domain as any)[prop] = objProp ? objProp : null;\n } else {\n (domain as any)[prop] = objProp ? new CipherString(objProp) : null;\n }\n }\n }\n protected buildDataModel(domain: D, dataObj: any, map: any, notCipherStringList: any[] = []) {\n for (const prop in map) {\n if (!map.hasOwnProperty(prop)) {\n continue;\n }\n\n const objProp = (domain as any)[(map[prop] || prop)];\n if (notCipherStringList.indexOf(prop) > -1) {\n (dataObj as any)[prop] = objProp != null ? objProp : null;\n } else {\n (dataObj as any)[prop] = objProp != null ? (objProp as CipherString).encryptedString : null;\n }\n }\n }\n\n protected async decryptObj(viewModel: T, map: any, orgId: string,\n key: SymmetricCryptoKey = null): Promise {\n const promises = [];\n const self: any = this;\n\n for (const prop in map) {\n if (!map.hasOwnProperty(prop)) {\n continue;\n }\n\n // tslint:disable-next-line\n (function (theProp) {\n const p = Promise.resolve().then(() => {\n const mapProp = map[theProp] || theProp;\n if (self[mapProp]) {\n return self[mapProp].decrypt(orgId, key);\n }\n return null;\n }).then((val: any) => {\n (viewModel as any)[theProp] = val;\n });\n promises.push(p);\n })(prop);\n }\n\n await Promise.all(promises);\n return viewModel;\n }\n}\n","import * as jq from 'jquery';\n\nimport {\n Component,\n ComponentFactoryResolver,\n Type,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { ModalComponent as BaseModalComponent } from 'jslib/angular/components/modal.component';\nimport { Utils } from 'jslib/misc/utils';\n\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\n\n@Component({\n selector: 'app-modal',\n template: ``,\n})\nexport class ModalComponent extends BaseModalComponent {\n el: any = null;\n\n constructor(componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService) {\n super(componentFactoryResolver, messagingService);\n }\n\n ngOnDestroy() { /* Nothing */ }\n\n show(type: Type, parentContainer: ViewContainerRef, fade: boolean = true,\n setComponentParameters: (component: T) => void = null): T {\n this.parentContainer = parentContainer;\n this.fade = fade;\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(type);\n const componentRef = this.container.createComponent(factory);\n if (setComponentParameters != null) {\n setComponentParameters(componentRef.instance);\n }\n\n const modals = Array.from(document.querySelectorAll('.modal'));\n if (modals.length > 0) {\n this.el = jq(modals[0]);\n this.el.modal('show');\n\n this.el.on('show.bs.modal', () => {\n this.onShow.emit();\n this.messagingService.send('modalShow');\n });\n this.el.on('shown.bs.modal', () => {\n this.onShown.emit();\n this.messagingService.send('modalShown');\n if (!Utils.isMobileBrowser) {\n this.el.find('*[appAutoFocus]').focus();\n }\n });\n this.el.on('hide.bs.modal', () => {\n this.onClose.emit();\n this.messagingService.send('modalClose');\n });\n this.el.on('hidden.bs.modal', () => {\n this.onClosed.emit();\n this.messagingService.send('modalClosed');\n if (this.parentContainer != null) {\n this.parentContainer.clear();\n }\n });\n }\n\n return componentRef.instance;\n }\n\n close() {\n if (this.el != null) {\n this.el.modal('hide');\n }\n }\n}\n","import { CipherView } from '../models/view/cipherView';\n\nexport abstract class SearchService {\n clearIndex: () => void;\n isSearchable: (query: string) => boolean;\n indexCiphers: () => Promise;\n searchCiphers: (query: string,\n filter?: ((cipher: CipherView) => boolean) | (((cipher: CipherView) => boolean)[]),\n ciphers?: CipherView[]) => Promise;\n searchCiphersBasic: (ciphers: CipherView[], query: string, deleted?: boolean) => CipherView[];\n}\n","import { BreachAccountResponse } from '../models/response/breachAccountResponse';\n\nexport abstract class AuditService {\n passwordLeaked: (password: string) => Promise;\n breachedAccounts: (username: string) => Promise;\n}\n","import { View } from './view';\n\nimport { Card } from '../domain/card';\n\nexport class CardView implements View {\n cardholderName: string = null;\n expMonth: string = null;\n expYear: string = null;\n code: string = null;\n\n // tslint:disable\n private _brand: string = null;\n private _number: string = null;\n private _subTitle: string = null;\n // tslint:enable\n\n constructor(c?: Card) {\n // ctor\n }\n\n get maskedCode(): string {\n return this.code != null ? '•'.repeat(this.code.length) : null;\n }\n\n get brand(): string {\n return this._brand;\n }\n set brand(value: string) {\n this._brand = value;\n this._subTitle = null;\n }\n\n get number(): string {\n return this._number;\n }\n set number(value: string) {\n this._number = value;\n this._subTitle = null;\n }\n\n get subTitle(): string {\n if (this._subTitle == null) {\n this._subTitle = this.brand;\n if (this.number != null && this.number.length >= 4) {\n if (this._subTitle != null && this._subTitle !== '') {\n this._subTitle += ', ';\n } else {\n this._subTitle = '';\n }\n\n // Show last 5 on amex, last 4 for all others\n const count = this.number.length >= 5 && this.number.match(new RegExp('^3[47]')) != null ? 5 : 4;\n this._subTitle += ('*' + this.number.substr(this.number.length - count));\n }\n }\n return this._subTitle;\n }\n\n get expiration(): string {\n if (!this.expMonth && !this.expYear) {\n return null;\n }\n\n let exp = this.expMonth != null ? ('0' + this.expMonth).slice(-2) : '__';\n exp += (' / ' + (this.expYear != null ? this.formatYear(this.expYear) : '____'));\n return exp;\n }\n\n private formatYear(year: string): string {\n return year.length === 2 ? '20' + year : year;\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\n\nimport { View } from './view';\n\nimport { SecureNote } from '../domain/secureNote';\n\nexport class SecureNoteView implements View {\n type: SecureNoteType = null;\n\n constructor(n?: SecureNote) {\n if (!n) {\n return;\n }\n\n this.type = n.type;\n }\n\n get subTitle(): string {\n return null;\n }\n}\n","export abstract class TokenService {\n token: string;\n decodedToken: any;\n refreshToken: string;\n setTokens: (accessToken: string, refreshToken: string) => Promise;\n setToken: (token: string) => Promise;\n getToken: () => Promise;\n setRefreshToken: (refreshToken: string) => Promise;\n getRefreshToken: () => Promise;\n toggleTokens: () => Promise;\n setTwoFactorToken: (token: string, email: string) => Promise;\n getTwoFactorToken: (email: string) => Promise;\n clearTwoFactorToken: (email: string) => Promise;\n clearToken: () => Promise;\n decodeToken: () => any;\n getTokenExpirationDate: () => Date;\n tokenSecondsRemaining: (offsetSeconds?: number) => number;\n tokenNeedsRefresh: (minutes?: number) => boolean;\n getUserId: () => string;\n getEmail: () => string;\n getEmailVerified: () => boolean;\n getName: () => string;\n getPremium: () => boolean;\n getIssuer: () => string;\n}\n","import { DecryptParameters } from '../models/domain/decryptParameters';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nexport abstract class CryptoFunctionService {\n pbkdf2: (password: string | ArrayBuffer, salt: string | ArrayBuffer, algorithm: 'sha256' | 'sha512',\n iterations: number) => Promise;\n hkdf: (ikm: ArrayBuffer, salt: string | ArrayBuffer, info: string | ArrayBuffer,\n outputByteSize: number, algorithm: 'sha256' | 'sha512') => Promise;\n hkdfExpand: (prk: ArrayBuffer, info: string | ArrayBuffer, outputByteSize: number,\n algorithm: 'sha256' | 'sha512') => Promise;\n hash: (value: string | ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512' | 'md5') => Promise;\n hmac: (value: ArrayBuffer, key: ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512') => Promise;\n compare: (a: ArrayBuffer, b: ArrayBuffer) => Promise;\n hmacFast: (value: ArrayBuffer | string, key: ArrayBuffer | string, algorithm: 'sha1' | 'sha256' | 'sha512') =>\n Promise;\n compareFast: (a: ArrayBuffer | string, b: ArrayBuffer | string) => Promise;\n aesEncrypt: (data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer) => Promise;\n aesDecryptFastParameters: (data: string, iv: string, mac: string, key: SymmetricCryptoKey) =>\n DecryptParameters;\n aesDecryptFast: (parameters: DecryptParameters) => Promise;\n aesDecrypt: (data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer) => Promise;\n rsaEncrypt: (data: ArrayBuffer, publicKey: ArrayBuffer, algorithm: 'sha1' | 'sha256') => Promise;\n rsaDecrypt: (data: ArrayBuffer, privateKey: ArrayBuffer, algorithm: 'sha1' | 'sha256') => Promise;\n rsaExtractPublicKey: (privateKey: ArrayBuffer) => Promise;\n rsaGenerateKeyPair: (length: 1024 | 2048 | 4096) => Promise<[ArrayBuffer, ArrayBuffer]>;\n randomBytes: (length: number) => Promise;\n}\n","import { EncryptionType } from '../../enums/encryptionType';\n\nimport { CryptoService } from '../../abstractions/crypto.service';\n\nimport { Utils } from '../../misc/utils';\n\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport class CipherString {\n encryptedString?: string;\n encryptionType?: EncryptionType;\n decryptedValue?: string;\n data?: string;\n iv?: string;\n mac?: string;\n\n constructor(encryptedStringOrType: string | EncryptionType, data?: string, iv?: string, mac?: string) {\n if (data != null) {\n // data and header\n const encType = encryptedStringOrType as EncryptionType;\n\n if (iv != null) {\n this.encryptedString = encType + '.' + iv + '|' + data;\n } else {\n this.encryptedString = encType + '.' + data;\n }\n\n // mac\n if (mac != null) {\n this.encryptedString += ('|' + mac);\n }\n\n this.encryptionType = encType;\n this.data = data;\n this.iv = iv;\n this.mac = mac;\n\n return;\n }\n\n this.encryptedString = encryptedStringOrType as string;\n if (!this.encryptedString) {\n return;\n }\n\n const headerPieces = this.encryptedString.split('.');\n let encPieces: string[] = null;\n\n if (headerPieces.length === 2) {\n try {\n this.encryptionType = parseInt(headerPieces[0], null);\n encPieces = headerPieces[1].split('|');\n } catch (e) {\n return;\n }\n } else {\n encPieces = this.encryptedString.split('|');\n this.encryptionType = encPieces.length === 3 ? EncryptionType.AesCbc128_HmacSha256_B64 :\n EncryptionType.AesCbc256_B64;\n }\n\n switch (this.encryptionType) {\n case EncryptionType.AesCbc128_HmacSha256_B64:\n case EncryptionType.AesCbc256_HmacSha256_B64:\n if (encPieces.length !== 3) {\n return;\n }\n\n this.iv = encPieces[0];\n this.data = encPieces[1];\n this.mac = encPieces[2];\n break;\n case EncryptionType.AesCbc256_B64:\n if (encPieces.length !== 2) {\n return;\n }\n\n this.iv = encPieces[0];\n this.data = encPieces[1];\n break;\n case EncryptionType.Rsa2048_OaepSha256_B64:\n case EncryptionType.Rsa2048_OaepSha1_B64:\n if (encPieces.length !== 1) {\n return;\n }\n\n this.data = encPieces[0];\n break;\n default:\n return;\n }\n }\n\n async decrypt(orgId: string, key: SymmetricCryptoKey = null): Promise {\n if (this.decryptedValue != null) {\n return this.decryptedValue;\n }\n\n let cryptoService: CryptoService;\n const containerService = (Utils.global as any).bitwardenContainerService;\n if (containerService) {\n cryptoService = containerService.getCryptoService();\n } else {\n throw new Error('global bitwardenContainerService not initialized.');\n }\n\n try {\n if (key == null) {\n key = await cryptoService.getOrgKey(orgId);\n }\n this.decryptedValue = await cryptoService.decryptToUtf8(this, key);\n } catch (e) {\n this.decryptedValue = '[error: cannot decrypt]';\n }\n return this.decryptedValue;\n }\n}\n","import {\n Component,\n Input,\n OnChanges,\n} from '@angular/core';\n\nimport { CipherType } from '../../enums/cipherType';\n\nimport { CipherView } from '../../models/view/cipherView';\n\nimport { EnvironmentService } from '../../abstractions/environment.service';\nimport { StateService } from '../../abstractions/state.service';\n\nimport { ConstantsService } from '../../services/constants.service';\n\nimport { Utils } from '../../misc/utils';\n\nconst IconMap: any = {\n 'fa-globe': String.fromCharCode(0xf0ac),\n 'fa-sticky-note-o': String.fromCharCode(0xf24a),\n 'fa-id-card-o': String.fromCharCode(0xf2c3),\n 'fa-credit-card': String.fromCharCode(0xf09d),\n 'fa-android': String.fromCharCode(0xf17b),\n 'fa-apple': String.fromCharCode(0xf179),\n};\n\n@Component({\n selector: 'app-vault-icon',\n templateUrl: 'icon.component.html',\n})\nexport class IconComponent implements OnChanges {\n @Input() cipher: CipherView;\n icon: string;\n image: string;\n fallbackImage: string;\n imageEnabled: boolean;\n\n private iconsUrl: string;\n\n constructor(environmentService: EnvironmentService, protected stateService: StateService) {\n this.iconsUrl = environmentService.iconsUrl;\n if (!this.iconsUrl) {\n if (environmentService.baseUrl) {\n this.iconsUrl = environmentService.baseUrl + '/icons';\n } else {\n this.iconsUrl = 'https://icons.bitwarden.net';\n }\n }\n }\n\n async ngOnChanges() {\n this.imageEnabled = !(await this.stateService.get(ConstantsService.disableFaviconKey));\n this.load();\n }\n\n get iconCode(): string {\n return IconMap[this.icon];\n }\n\n protected load() {\n switch (this.cipher.type) {\n case CipherType.Login:\n this.icon = 'fa-globe';\n this.setLoginIcon();\n break;\n case CipherType.SecureNote:\n this.icon = 'fa-sticky-note-o';\n break;\n case CipherType.Card:\n this.icon = 'fa-credit-card';\n break;\n case CipherType.Identity:\n this.icon = 'fa-id-card-o';\n break;\n default:\n break;\n }\n }\n\n private setLoginIcon() {\n if (this.cipher.login.uri) {\n let hostnameUri = this.cipher.login.uri;\n let isWebsite = false;\n\n if (hostnameUri.indexOf('androidapp://') === 0) {\n this.icon = 'fa-android';\n this.image = null;\n } else if (hostnameUri.indexOf('iosapp://') === 0) {\n this.icon = 'fa-apple';\n this.image = null;\n } else if (this.imageEnabled && hostnameUri.indexOf('://') === -1 && hostnameUri.indexOf('.') > -1) {\n hostnameUri = 'http://' + hostnameUri;\n isWebsite = true;\n } else if (this.imageEnabled) {\n isWebsite = hostnameUri.indexOf('http') === 0 && hostnameUri.indexOf('.') > -1;\n }\n\n if (this.imageEnabled && isWebsite) {\n try {\n this.image = this.iconsUrl + '/' + Utils.getHostname(hostnameUri) + '/icon.png';\n this.fallbackImage = 'images/fa-globe.png';\n } catch (e) { }\n }\n } else {\n this.image = null;\n }\n }\n}\n","
\n \"\"\n \n
\n","import { CipherString } from '../models/domain/cipherString';\n\nexport abstract class VaultTimeoutService {\n biometricLocked: boolean;\n pinProtectedKey: CipherString;\n isLocked: () => Promise;\n checkVaultTimeout: () => Promise;\n lock: (allowSoftLock?: boolean) => Promise;\n logOut: () => Promise;\n setVaultTimeoutOptions: (vaultTimeout: number, vaultTimeoutAction: string) => Promise;\n isPinLockSet: () => Promise<[boolean, boolean]>;\n isBiometricLockSet: () => Promise;\n clear: () => Promise;\n}\n","export enum SecureNoteType {\n Generic = 0,\n}\n","export enum TwoFactorProviderType {\n Authenticator = 0,\n Email = 1,\n Duo = 2,\n Yubikey = 3,\n U2f = 4,\n Remember = 5,\n OrganizationDuo = 6,\n}\n","export abstract class TotpService {\n getCode: (key: string) => Promise;\n getTimeInterval: (key: string) => number;\n isAutoCopyEnabled: () => Promise;\n}\n","import { Injectable } from '@angular/core';\n\nimport { BroadcasterService as BaseBroadcasterService } from '../../services/broadcaster.service';\n\n@Injectable()\nexport class BroadcasterService extends BaseBroadcasterService {\n}\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { WebConstants } from '../../services/webConstants';\n\nconst StripeElementStyle = {\n base: {\n color: '#333333',\n fontFamily: '\"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif, ' +\n '\"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\n fontSize: '14px',\n fontSmoothing: 'antialiased',\n },\n invalid: {\n color: '#333333',\n },\n};\n\nconst StripeElementClasses = {\n focus: 'is-focused',\n empty: 'is-empty',\n invalid: 'is-invalid',\n};\n\n@Component({\n selector: 'app-payment',\n templateUrl: 'payment.component.html',\n})\nexport class PaymentComponent implements OnInit {\n @Input() showMethods = true;\n @Input() showOptions = true;\n @Input() method = PaymentMethodType.Card;\n @Input() hideBank = false;\n @Input() hidePaypal = false;\n @Input() hideCredit = false;\n\n bank: any = {\n routing_number: null,\n account_number: null,\n account_holder_name: null,\n account_holder_type: '',\n currency: 'USD',\n country: 'US',\n };\n\n paymentMethodType = PaymentMethodType;\n\n private btScript: HTMLScriptElement;\n private btInstance: any = null;\n private stripeScript: HTMLScriptElement;\n private stripe: any = null;\n private stripeElements: any = null;\n private stripeCardNumberElement: any = null;\n private stripeCardExpiryElement: any = null;\n private stripeCardCvcElement: any = null;\n\n constructor(private platformUtilsService: PlatformUtilsService, private apiService: ApiService) {\n this.stripeScript = window.document.createElement('script');\n this.stripeScript.src = 'https://js.stripe.com/v3/';\n this.stripeScript.async = true;\n this.stripeScript.onload = () => {\n this.stripe = (window as any).Stripe(this.platformUtilsService.isDev() ?\n WebConstants.stripeTestKey : WebConstants.stripeLiveKey);\n this.stripeElements = this.stripe.elements();\n this.setStripeElement();\n };\n this.btScript = window.document.createElement('script');\n this.btScript.src = 'scripts/dropin.js';\n this.btScript.async = true;\n }\n\n ngOnInit() {\n if (!this.showOptions) {\n this.hidePaypal = this.method !== PaymentMethodType.PayPal;\n this.hideBank = this.method !== PaymentMethodType.BankAccount;\n this.hideCredit = this.method !== PaymentMethodType.Credit;\n }\n window.document.head.appendChild(this.stripeScript);\n if (!this.hidePaypal) {\n window.document.head.appendChild(this.btScript);\n }\n }\n\n ngOnDestroy() {\n window.document.head.removeChild(this.stripeScript);\n window.setTimeout(() => {\n Array.from(window.document.querySelectorAll('iframe')).forEach((el) => {\n if (el.src != null && el.src.indexOf('stripe') > -1) {\n try {\n window.document.body.removeChild(el);\n } catch { }\n }\n });\n }, 500);\n if (!this.hidePaypal) {\n window.document.head.removeChild(this.btScript);\n window.setTimeout(() => {\n Array.from(window.document.head.querySelectorAll('script')).forEach((el) => {\n if (el.src != null && el.src.indexOf('paypal') > -1) {\n try {\n window.document.head.removeChild(el);\n } catch { }\n }\n });\n const btStylesheet = window.document.head.querySelector('#braintree-dropin-stylesheet');\n if (btStylesheet != null) {\n try {\n window.document.head.removeChild(btStylesheet);\n } catch { }\n }\n }, 500);\n }\n }\n\n changeMethod() {\n this.btInstance = null;\n\n if (this.method === PaymentMethodType.PayPal) {\n window.setTimeout(() => {\n (window as any).braintree.dropin.create({\n authorization: this.platformUtilsService.isDev() ?\n WebConstants.btSandboxKey : WebConstants.btProductionKey,\n container: '#bt-dropin-container',\n paymentOptionPriority: ['paypal'],\n paypal: {\n flow: 'vault',\n buttonStyle: {\n label: 'pay',\n size: 'medium',\n shape: 'pill',\n color: 'blue',\n },\n },\n }, (createErr: any, instance: any) => {\n if (createErr != null) {\n // tslint:disable-next-line\n console.error(createErr);\n return;\n }\n this.btInstance = instance;\n });\n }, 250);\n } else {\n this.setStripeElement();\n }\n }\n\n createPaymentToken(): Promise<[string, PaymentMethodType]> {\n return new Promise((resolve, reject) => {\n if (this.method === PaymentMethodType.Credit) {\n resolve([null, this.method]);\n } else if (this.method === PaymentMethodType.PayPal) {\n this.btInstance.requestPaymentMethod().then((payload: any) => {\n resolve([payload.nonce, this.method]);\n }).catch((err: any) => {\n reject(err.message);\n });\n } else if (this.method === PaymentMethodType.Card || this.method === PaymentMethodType.BankAccount) {\n if (this.method === PaymentMethodType.Card) {\n this.apiService.postSetupPayment().then((clientSecret) =>\n this.stripe.handleCardSetup(clientSecret, this.stripeCardNumberElement))\n .then((result: any) => {\n if (result.error) {\n reject(result.error.message);\n } else if (result.setupIntent && result.setupIntent.status === 'succeeded') {\n resolve([result.setupIntent.payment_method, this.method]);\n } else {\n reject();\n }\n });\n } else {\n this.stripe.createToken('bank_account', this.bank).then((result: any) => {\n if (result.error) {\n reject(result.error.message);\n } else if (result.token && result.token.id != null) {\n resolve([result.token.id, this.method]);\n } else {\n reject();\n }\n });\n }\n }\n });\n }\n\n handleStripeCardPayment(clientSecret: string, successCallback: () => Promise): Promise {\n return new Promise((resolve, reject) => {\n if (this.showMethods && this.stripeCardNumberElement == null) {\n reject();\n return;\n }\n const handleCardPayment = () => this.showMethods ?\n this.stripe.handleCardSetup(clientSecret, this.stripeCardNumberElement) :\n this.stripe.handleCardSetup(clientSecret);\n return handleCardPayment().then(async (result: any) => {\n if (result.error) {\n reject(result.error.message);\n } else if (result.paymentIntent && result.paymentIntent.status === 'succeeded') {\n if (successCallback != null) {\n await successCallback();\n }\n resolve();\n } else {\n reject();\n }\n });\n });\n }\n\n private setStripeElement() {\n window.setTimeout(() => {\n if (this.showMethods && this.method === PaymentMethodType.Card) {\n if (this.stripeCardNumberElement == null) {\n this.stripeCardNumberElement = this.stripeElements.create('cardNumber', {\n style: StripeElementStyle,\n classes: StripeElementClasses,\n placeholder: '',\n });\n }\n if (this.stripeCardExpiryElement == null) {\n this.stripeCardExpiryElement = this.stripeElements.create('cardExpiry', {\n style: StripeElementStyle,\n classes: StripeElementClasses,\n });\n }\n if (this.stripeCardCvcElement == null) {\n this.stripeCardCvcElement = this.stripeElements.create('cardCvc', {\n style: StripeElementStyle,\n classes: StripeElementClasses,\n placeholder: '',\n });\n }\n this.stripeCardNumberElement.mount('#stripe-card-number-element');\n this.stripeCardExpiryElement.mount('#stripe-card-expiry-element');\n this.stripeCardCvcElement.mount('#stripe-card-cvc-element');\n }\n }, 50);\n }\n}\n","
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n\n
\n
\n \n
\n
\n
\n \"Visa,\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n
\n
\n
\n
\n
\n\n \n {{'verifyBankAccountInitialDesc' | i18n}} {{'verifyBankAccountFailureWarning' | i18n}}\n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n\n
\n
\n {{'paypalClickSubmit' | i18n}}\n
\n
\n\n \n {{'makeSureEnoughCredit' | i18n}}\n \n\n","export enum FieldType {\n Text = 0,\n Hidden = 1,\n Boolean = 2,\n}\n","import { View } from './view';\n\nimport { Folder } from '../domain/folder';\nimport { ITreeNodeObject } from '../domain/treeNode';\n\nexport class FolderView implements View, ITreeNodeObject {\n id: string = null;\n name: string = null;\n revisionDate: Date = null;\n\n constructor(f?: Folder) {\n if (!f) {\n return;\n }\n\n this.id = f.id;\n this.revisionDate = f.revisionDate;\n }\n}\n","import {\n Component,\n Input,\n OnChanges,\n OnInit,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\nimport { CryptoFunctionService } from 'jslib/abstractions/cryptoFunction.service';\nimport { StateService } from 'jslib/abstractions/state.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-avatar',\n template: '',\n})\nexport class AvatarComponent implements OnChanges, OnInit {\n @Input() data: string;\n @Input() email: string;\n @Input() size = 45;\n @Input() charCount = 2;\n @Input() textColor = '#ffffff';\n @Input() fontSize = 20;\n @Input() fontWeight = 300;\n @Input() dynamic = false;\n @Input() circle = false;\n\n src: string;\n\n constructor(public sanitizer: DomSanitizer, private cryptoFunctionService: CryptoFunctionService,\n private stateService: StateService) { }\n\n ngOnInit() {\n if (!this.dynamic) {\n this.generate();\n }\n }\n\n ngOnChanges() {\n if (this.dynamic) {\n this.generate();\n }\n }\n\n private async generate() {\n const enableGravatars = await this.stateService.get('enableGravatars');\n if (enableGravatars && this.email != null) {\n const hashBytes = await this.cryptoFunctionService.hash(this.email.toLowerCase().trim(), 'md5');\n const hash = Utils.fromBufferToHex(hashBytes).toLowerCase();\n this.src = 'https://www.gravatar.com/avatar/' + hash + '?s=' + this.size + '&r=pg&d=retro';\n } else {\n let chars: string = null;\n const upperData = this.data.toUpperCase();\n\n if (this.charCount > 1) {\n chars = this.getFirstLetters(upperData, this.charCount);\n }\n if (chars == null) {\n chars = upperData.substr(0, this.charCount);\n }\n\n const charObj = this.getCharText(chars);\n const color = this.stringToColor(upperData);\n const svg = this.getSvg(this.size, color);\n svg.appendChild(charObj);\n const html = window.document.createElement('div').appendChild(svg).outerHTML;\n const svgHtml = window.btoa(unescape(encodeURIComponent(html)));\n this.src = 'data:image/svg+xml;base64,' + svgHtml;\n }\n }\n\n private stringToColor(str: string): string {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n // tslint:disable-next-line\n hash = str.charCodeAt(i) + ((hash << 5) - hash);\n }\n let color = '#';\n for (let i = 0; i < 3; i++) {\n // tslint:disable-next-line\n const value = (hash >> (i * 8)) & 0xFF;\n color += ('00' + value.toString(16)).substr(-2);\n }\n return color;\n }\n\n private getFirstLetters(data: string, count: number): string {\n const parts = data.split(' ');\n if (parts.length > 1) {\n let text = '';\n for (let i = 0; i < count; i++) {\n text += parts[i].substr(0, 1);\n }\n return text;\n }\n return null;\n }\n\n private getSvg(size: number, color: string): HTMLElement {\n const svgTag = window.document.createElement('svg');\n svgTag.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n svgTag.setAttribute('pointer-events', 'none');\n svgTag.setAttribute('width', size.toString());\n svgTag.setAttribute('height', size.toString());\n svgTag.style.backgroundColor = color;\n svgTag.style.width = size + 'px';\n svgTag.style.height = size + 'px';\n return svgTag;\n }\n\n private getCharText(character: string): HTMLElement {\n const textTag = window.document.createElement('text');\n textTag.setAttribute('text-anchor', 'middle');\n textTag.setAttribute('y', '50%');\n textTag.setAttribute('x', '50%');\n textTag.setAttribute('dy', '0.35em');\n textTag.setAttribute('pointer-events', 'auto');\n textTag.setAttribute('fill', this.textColor);\n textTag.setAttribute('font-family', '\"Open Sans\",\"Helvetica Neue\",Helvetica,Arial,' +\n 'sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\"');\n textTag.textContent = character;\n textTag.style.fontWeight = this.fontWeight.toString();\n textTag.style.fontSize = this.fontSize + 'px';\n return textTag;\n }\n}\n","import { CollectionData } from '../data/collectionData';\n\nimport { CollectionView } from '../view/collectionView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nexport class Collection extends Domain {\n id: string;\n organizationId: string;\n name: CipherString;\n externalId: string;\n readOnly: boolean;\n hidePasswords: boolean;\n\n constructor(obj?: CollectionData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n id: null,\n organizationId: null,\n name: null,\n externalId: null,\n readOnly: null,\n hidePasswords: null,\n }, alreadyEncrypted, ['id', 'organizationId', 'externalId', 'readOnly', 'hidePasswords']);\n }\n\n decrypt(): Promise {\n return this.decryptObj(new CollectionView(this), {\n name: null,\n }, this.organizationId);\n }\n}\n","import {\n Component,\n EventEmitter,\n Output,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { OrganizationTaxInfoUpdateRequest } from 'jslib/models/request/organizationTaxInfoUpdateRequest';\nimport { TaxInfoUpdateRequest } from 'jslib/models/request/taxInfoUpdateRequest';\nimport { TaxRateResponse } from 'jslib/models/response/taxRateResponse';\n\n@Component({\n selector: 'app-tax-info',\n templateUrl: 'tax-info.component.html',\n})\nexport class TaxInfoComponent {\n @Output() onCountryChanged = new EventEmitter();\n\n loading: boolean = true;\n organizationId: string;\n taxInfo: any = {\n taxId: null,\n line1: null,\n line2: null,\n city: null,\n state: null,\n postalCode: null,\n country: 'US',\n includeTaxId: false,\n };\n\n taxRates: TaxRateResponse[];\n\n private pristine: any = {\n taxId: null,\n line1: null,\n line2: null,\n city: null,\n state: null,\n postalCode: null,\n country: 'US',\n includeTaxId: false,\n };\n\n constructor(private apiService: ApiService, private route: ActivatedRoute) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n if (this.organizationId) {\n try {\n const taxInfo = await this.apiService.getOrganizationTaxInfo(this.organizationId);\n if (taxInfo) {\n this.taxInfo.taxId = taxInfo.taxId;\n this.taxInfo.state = taxInfo.state;\n this.taxInfo.line1 = taxInfo.line1;\n this.taxInfo.line2 = taxInfo.line2;\n this.taxInfo.city = taxInfo.city;\n this.taxInfo.state = taxInfo.state;\n this.taxInfo.postalCode = taxInfo.postalCode;\n this.taxInfo.country = taxInfo.country || 'US';\n this.taxInfo.includeTaxId = this.taxInfo.country !== 'US' && (\n !!taxInfo.taxId\n || !!taxInfo.line1\n || !!taxInfo.line2\n || !!taxInfo.city\n || !!taxInfo.state);\n }\n } catch { }\n } else {\n const taxInfo = await this.apiService.getTaxInfo();\n if (taxInfo) {\n this.taxInfo.postalCode = taxInfo.postalCode;\n this.taxInfo.country = taxInfo.country || 'US';\n }\n }\n this.pristine = Object.assign({}, this.taxInfo);\n // If not the default (US) then trigger onCountryChanged\n if (this.taxInfo.country !== 'US') {\n this.onCountryChanged.emit();\n }\n });\n\n const taxRates = await this.apiService.getTaxRates();\n this.taxRates = taxRates.data;\n this.loading = false;\n }\n\n get taxRate() {\n if (this.taxRates != null) {\n const localTaxRate = this.taxRates.find(x =>\n x.country === this.taxInfo.country &&\n x.postalCode === this.taxInfo.postalCode\n );\n return localTaxRate?.rate ?? null;\n }\n }\n\n getTaxInfoRequest(): TaxInfoUpdateRequest {\n if (this.organizationId) {\n const request = new OrganizationTaxInfoUpdateRequest();\n request.taxId = this.taxInfo.taxId;\n request.state = this.taxInfo.state;\n request.line1 = this.taxInfo.line1;\n request.line2 = this.taxInfo.line2;\n request.city = this.taxInfo.city;\n request.state = this.taxInfo.state;\n request.postalCode = this.taxInfo.postalCode;\n request.country = this.taxInfo.country;\n return request;\n } else {\n const request = new TaxInfoUpdateRequest();\n request.postalCode = this.taxInfo.postalCode;\n request.country = this.taxInfo.country;\n return request;\n }\n }\n\n submitTaxInfo(): Promise {\n if (!this.hasChanged()) {\n return new Promise((resolve) => { resolve(); });\n }\n const request = this.getTaxInfoRequest();\n return this.organizationId ? this.apiService.putOrganizationTaxInfo(this.organizationId,\n request as OrganizationTaxInfoUpdateRequest) : this.apiService.putTaxInfo(request);\n }\n\n changeCountry() {\n if (this.taxInfo.country === 'US') {\n this.taxInfo.includeTaxId = false;\n this.taxInfo.taxId = null;\n this.taxInfo.line1 = null;\n this.taxInfo.line2 = null;\n this.taxInfo.city = null;\n this.taxInfo.state = null;\n }\n this.onCountryChanged.emit();\n }\n\n private hasChanged(): boolean {\n for (const key in this.taxInfo) {\n if (this.pristine.hasOwnProperty(key) && this.pristine[key] !== this.taxInfo[key]) {\n return true;\n }\n }\n return false;\n }\n}\n","
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n","import { CipherType } from '../../enums/cipherType';\n\nimport { Cipher } from '../domain/cipher';\n\nimport { AttachmentView } from './attachmentView';\nimport { CardView } from './cardView';\nimport { FieldView } from './fieldView';\nimport { IdentityView } from './identityView';\nimport { LoginView } from './loginView';\nimport { PasswordHistoryView } from './passwordHistoryView';\nimport { SecureNoteView } from './secureNoteView';\nimport { View } from './view';\n\nexport class CipherView implements View {\n id: string = null;\n organizationId: string = null;\n folderId: string = null;\n name: string = null;\n notes: string = null;\n type: CipherType = null;\n favorite = false;\n organizationUseTotp = false;\n edit = false;\n viewPassword = true;\n localData: any;\n login = new LoginView();\n identity = new IdentityView();\n card = new CardView();\n secureNote = new SecureNoteView();\n attachments: AttachmentView[] = null;\n fields: FieldView[] = null;\n passwordHistory: PasswordHistoryView[] = null;\n collectionIds: string[] = null;\n revisionDate: Date = null;\n deletedDate: Date = null;\n\n constructor(c?: Cipher) {\n if (!c) {\n return;\n }\n\n this.id = c.id;\n this.organizationId = c.organizationId;\n this.folderId = c.folderId;\n this.favorite = c.favorite;\n this.organizationUseTotp = c.organizationUseTotp;\n this.edit = c.edit;\n this.viewPassword = c.viewPassword;\n this.type = c.type;\n this.localData = c.localData;\n this.collectionIds = c.collectionIds;\n this.revisionDate = c.revisionDate;\n this.deletedDate = c.deletedDate;\n }\n\n get subTitle(): string {\n switch (this.type) {\n case CipherType.Login:\n return this.login.subTitle;\n case CipherType.SecureNote:\n return this.secureNote.subTitle;\n case CipherType.Card:\n return this.card.subTitle;\n case CipherType.Identity:\n return this.identity.subTitle;\n default:\n break;\n }\n\n return null;\n }\n\n get hasPasswordHistory(): boolean {\n return this.passwordHistory && this.passwordHistory.length > 0;\n }\n\n get hasAttachments(): boolean {\n return this.attachments && this.attachments.length > 0;\n }\n\n get hasOldAttachments(): boolean {\n if (this.hasAttachments) {\n for (let i = 0; i < this.attachments.length; i++) {\n if (this.attachments[i].key == null) {\n return true;\n }\n }\n }\n return false;\n }\n\n get hasFields(): boolean {\n return this.fields && this.fields.length > 0;\n }\n\n get passwordRevisionDisplayDate(): Date {\n if (this.type !== CipherType.Login || this.login == null) {\n return null;\n } else if (this.login.password == null || this.login.password === '') {\n return null;\n }\n return this.login.passwordRevisionDate;\n }\n\n get isDeleted(): boolean {\n return this.deletedDate != null;\n }\n}\n","import { View } from './view';\n\nimport { Identity } from '../domain/identity';\n\nimport { Utils } from '../../misc/utils';\n\nexport class IdentityView implements View {\n title: string = null;\n middleName: string = null;\n address1: string = null;\n address2: string = null;\n address3: string = null;\n city: string = null;\n state: string = null;\n postalCode: string = null;\n country: string = null;\n company: string = null;\n email: string = null;\n phone: string = null;\n ssn: string = null;\n username: string = null;\n passportNumber: string = null;\n licenseNumber: string = null;\n\n // tslint:disable\n private _firstName: string = null;\n private _lastName: string = null;\n private _subTitle: string = null;\n // tslint:enable\n\n constructor(i?: Identity) {\n // ctor\n }\n\n get firstName(): string {\n return this._firstName;\n }\n set firstName(value: string) {\n this._firstName = value;\n this._subTitle = null;\n }\n\n get lastName(): string {\n return this._lastName;\n }\n set lastName(value: string) {\n this._lastName = value;\n this._subTitle = null;\n }\n\n get subTitle(): string {\n if (this._subTitle == null && (this.firstName != null || this.lastName != null)) {\n this._subTitle = '';\n if (this.firstName != null) {\n this._subTitle = this.firstName;\n }\n if (this.lastName != null) {\n if (this._subTitle !== '') {\n this._subTitle += ' ';\n }\n this._subTitle += this.lastName;\n }\n }\n\n return this._subTitle;\n }\n\n get fullName(): string {\n if (this.title != null || this.firstName != null || this.middleName != null || this.lastName != null) {\n let name = '';\n if (this.title != null) {\n name += (this.title + ' ');\n }\n if (this.firstName != null) {\n name += (this.firstName + ' ');\n }\n if (this.middleName != null) {\n name += (this.middleName + ' ');\n }\n if (this.lastName != null) {\n name += this.lastName;\n }\n return name.trim();\n }\n\n return null;\n }\n\n get fullAddress(): string {\n let address = this.address1;\n if (!Utils.isNullOrWhitespace(this.address2)) {\n if (!Utils.isNullOrWhitespace(address)) {\n address += ', ';\n }\n address += this.address2;\n }\n if (!Utils.isNullOrWhitespace(this.address3)) {\n if (!Utils.isNullOrWhitespace(address)) {\n address += ', ';\n }\n address += this.address3;\n }\n return address;\n }\n\n get fullAddressPart2(): string {\n if (this.city == null && this.state == null && this.postalCode == null) {\n return null;\n }\n const city = this.city || '-';\n const state = this.state;\n const postalCode = this.postalCode || '-';\n let addressPart2 = city;\n if (!Utils.isNullOrWhitespace(state)) {\n addressPart2 += ', ' + state;\n }\n addressPart2 += ', ' + postalCode;\n return addressPart2;\n }\n}\n","import { CollectionDetailsResponse } from '../response/collectionResponse';\n\nexport class CollectionData {\n id: string;\n organizationId: string;\n name: string;\n externalId: string;\n readOnly: boolean;\n\n constructor(response: CollectionDetailsResponse) {\n this.id = response.id;\n this.organizationId = response.organizationId;\n this.name = response.name;\n this.externalId = response.externalId;\n this.readOnly = response.readOnly;\n }\n}\n","import { View } from './view';\n\nimport { Collection } from '../domain/collection';\nimport { ITreeNodeObject } from '../domain/treeNode';\n\nimport { CollectionGroupDetailsResponse } from '../response/collectionResponse';\n\nexport class CollectionView implements View, ITreeNodeObject {\n id: string = null;\n organizationId: string = null;\n name: string = null;\n externalId: string = null;\n readOnly: boolean = null;\n hidePasswords: boolean = null;\n\n constructor(c?: Collection | CollectionGroupDetailsResponse) {\n if (!c) {\n return;\n }\n\n this.id = c.id;\n this.organizationId = c.organizationId;\n this.externalId = c.externalId;\n if (c instanceof Collection) {\n this.readOnly = c.readOnly;\n this.hidePasswords = c.hidePasswords;\n }\n }\n}\n","import { CipherType } from '../../enums/cipherType';\n\nimport { AttachmentData } from './attachmentData';\nimport { CardData } from './cardData';\nimport { FieldData } from './fieldData';\nimport { IdentityData } from './identityData';\nimport { LoginData } from './loginData';\nimport { PasswordHistoryData } from './passwordHistoryData';\nimport { SecureNoteData } from './secureNoteData';\n\nimport { CipherResponse } from '../response/cipherResponse';\n\nexport class CipherData {\n id: string;\n organizationId: string;\n folderId: string;\n userId: string;\n edit: boolean;\n viewPassword: boolean;\n organizationUseTotp: boolean;\n favorite: boolean;\n revisionDate: string;\n type: CipherType;\n sizeName: string;\n name: string;\n notes: string;\n login?: LoginData;\n secureNote?: SecureNoteData;\n card?: CardData;\n identity?: IdentityData;\n fields?: FieldData[];\n attachments?: AttachmentData[];\n passwordHistory?: PasswordHistoryData[];\n collectionIds?: string[];\n deletedDate: string;\n\n constructor(response?: CipherResponse, userId?: string, collectionIds?: string[]) {\n if (response == null) {\n return;\n }\n\n this.id = response.id;\n this.organizationId = response.organizationId;\n this.folderId = response.folderId;\n this.userId = userId;\n this.edit = response.edit;\n this.viewPassword = response.viewPassword;\n this.organizationUseTotp = response.organizationUseTotp;\n this.favorite = response.favorite;\n this.revisionDate = response.revisionDate;\n this.type = response.type;\n this.name = response.name;\n this.notes = response.notes;\n this.collectionIds = collectionIds != null ? collectionIds : response.collectionIds;\n this.deletedDate = response.deletedDate;\n\n switch (this.type) {\n case CipherType.Login:\n this.login = new LoginData(response.login);\n break;\n case CipherType.SecureNote:\n this.secureNote = new SecureNoteData(response.secureNote);\n break;\n case CipherType.Card:\n this.card = new CardData(response.card);\n break;\n case CipherType.Identity:\n this.identity = new IdentityData(response.identity);\n break;\n default:\n break;\n }\n\n if (response.fields != null) {\n this.fields = response.fields.map((f) => new FieldData(f));\n }\n if (response.attachments != null) {\n this.attachments = response.attachments.map((a) => new AttachmentData(a));\n }\n if (response.passwordHistory != null) {\n this.passwordHistory = response.passwordHistory.map((ph) => new PasswordHistoryData(ph));\n }\n }\n}\n","import { LoginUriView } from './loginUriView';\nimport { View } from './view';\n\nimport { Utils } from '../../misc/utils';\nimport { Login } from '../domain/login';\n\nexport class LoginView implements View {\n username: string = null;\n password: string = null;\n passwordRevisionDate?: Date = null;\n totp: string = null;\n uris: LoginUriView[] = null;\n\n constructor(l?: Login) {\n if (!l) {\n return;\n }\n\n this.passwordRevisionDate = l.passwordRevisionDate;\n }\n\n get uri(): string {\n return this.hasUris ? this.uris[0].uri : null;\n }\n\n get maskedPassword(): string {\n return this.password != null ? '••••••••' : null;\n }\n\n get subTitle(): string {\n return this.username;\n }\n\n get canLaunch(): boolean {\n return this.hasUris && this.uris.some((u) => u.canLaunch);\n }\n\n get hasTotp(): boolean {\n return !Utils.isNullOrWhitespace(this.totp);\n }\n\n get launchUri(): string {\n if (this.hasUris) {\n const uri = this.uris.find((u) => u.canLaunch);\n if (uri != null) {\n return uri.launchUri;\n }\n }\n return null;\n }\n\n get hasUris(): boolean {\n return this.uris != null && this.uris.length > 0;\n }\n}\n","export enum SendType {\n Text = 0,\n File = 1,\n}\n","export enum PolicyType {\n TwoFactorAuthentication = 0, // Requires users to have 2fa enabled\n MasterPassword = 1, // Sets minimum requirements for master password complexity\n PasswordGenerator = 2, // Sets minimum requirements/default type for generated passwords/passphrases\n SingleOrg = 3, // Allows users to only be apart of one organization\n RequireSso = 4, // Requires users to authenticate with SSO\n PersonalOwnership = 5, // Disables personal vault ownership for adding/cloning items\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\n@Component({\n selector: 'app-two-factor-verify',\n templateUrl: 'two-factor-verify.component.html',\n})\nexport class TwoFactorVerifyComponent {\n @Input() type: TwoFactorProviderType;\n @Input() organizationId: string;\n @Output() onAuthed = new EventEmitter();\n\n masterPassword: string;\n formPromise: Promise;\n\n private masterPasswordHash: string;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private toasterService: ToasterService, private cryptoService: CryptoService) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = this.masterPasswordHash =\n await this.cryptoService.hashPassword(this.masterPassword, null);\n\n try {\n switch (this.type) {\n case -1:\n this.formPromise = this.apiService.getTwoFactorRecover(request);\n break;\n case TwoFactorProviderType.Duo:\n case TwoFactorProviderType.OrganizationDuo:\n if (this.organizationId != null) {\n this.formPromise = this.apiService.getTwoFactorOrganizationDuo(this.organizationId, request);\n } else {\n this.formPromise = this.apiService.getTwoFactorDuo(request);\n }\n break;\n case TwoFactorProviderType.Email:\n this.formPromise = this.apiService.getTwoFactorEmail(request);\n break;\n case TwoFactorProviderType.U2f:\n this.formPromise = this.apiService.getTwoFactorU2f(request);\n break;\n case TwoFactorProviderType.Authenticator:\n this.formPromise = this.apiService.getTwoFactorAuthenticator(request);\n break;\n case TwoFactorProviderType.Yubikey:\n this.formPromise = this.apiService.getTwoFactorYubiKey(request);\n break;\n }\n\n const response = await this.formPromise;\n this.onAuthed.emit({\n response: response,\n masterPasswordHash: this.masterPasswordHash,\n });\n } catch { }\n }\n}\n","
\n
\n

{{'twoStepLoginAuthDesc' | i18n}}

\n \n \n
\n
\n \n \n
\n
\n","export abstract class ExportService {\n getExport: (format?: 'csv' | 'json' | 'encrypted_json') => Promise;\n getOrganizationExport: (organizationId: string, format?: 'csv' | 'json' | 'encrypted_json') => Promise;\n getFileName: (prefix?: string, extension?: string) => string;\n}\n","import { CipherType } from '../../enums/cipherType';\n\nimport { CipherData } from '../data/cipherData';\n\nimport { CipherView } from '../view/cipherView';\n\nimport { Attachment } from './attachment';\nimport { Card } from './card';\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { Field } from './field';\nimport { Identity } from './identity';\nimport { Login } from './login';\nimport { Password } from './password';\nimport { SecureNote } from './secureNote';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport class Cipher extends Domain {\n id: string;\n organizationId: string;\n folderId: string;\n name: CipherString;\n notes: CipherString;\n type: CipherType;\n favorite: boolean;\n organizationUseTotp: boolean;\n edit: boolean;\n viewPassword: boolean;\n revisionDate: Date;\n localData: any;\n login: Login;\n identity: Identity;\n card: Card;\n secureNote: SecureNote;\n attachments: Attachment[];\n fields: Field[];\n passwordHistory: Password[];\n collectionIds: string[];\n deletedDate: Date;\n\n constructor(obj?: CipherData, alreadyEncrypted: boolean = false, localData: any = null) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n id: null,\n userId: null,\n organizationId: null,\n folderId: null,\n name: null,\n notes: null,\n }, alreadyEncrypted, ['id', 'userId', 'organizationId', 'folderId']);\n\n this.type = obj.type;\n this.favorite = obj.favorite;\n this.organizationUseTotp = obj.organizationUseTotp;\n this.edit = obj.edit;\n if (obj.viewPassword != null) {\n this.viewPassword = obj.viewPassword;\n } else {\n this.viewPassword = true; // Default for already synced Ciphers without viewPassword\n }\n this.revisionDate = obj.revisionDate != null ? new Date(obj.revisionDate) : null;\n this.collectionIds = obj.collectionIds;\n this.localData = localData;\n this.deletedDate = obj.deletedDate != null ? new Date(obj.deletedDate) : null;\n\n switch (this.type) {\n case CipherType.Login:\n this.login = new Login(obj.login, alreadyEncrypted);\n break;\n case CipherType.SecureNote:\n this.secureNote = new SecureNote(obj.secureNote, alreadyEncrypted);\n break;\n case CipherType.Card:\n this.card = new Card(obj.card, alreadyEncrypted);\n break;\n case CipherType.Identity:\n this.identity = new Identity(obj.identity, alreadyEncrypted);\n break;\n default:\n break;\n }\n\n if (obj.attachments != null) {\n this.attachments = obj.attachments.map((a) => new Attachment(a, alreadyEncrypted));\n } else {\n this.attachments = null;\n }\n\n if (obj.fields != null) {\n this.fields = obj.fields.map((f) => new Field(f, alreadyEncrypted));\n } else {\n this.fields = null;\n }\n\n if (obj.passwordHistory != null) {\n this.passwordHistory = obj.passwordHistory.map((ph) => new Password(ph, alreadyEncrypted));\n } else {\n this.passwordHistory = null;\n }\n }\n\n async decrypt(encKey?: SymmetricCryptoKey): Promise {\n const model = new CipherView(this);\n\n await this.decryptObj(model, {\n name: null,\n notes: null,\n }, this.organizationId, encKey);\n\n switch (this.type) {\n case CipherType.Login:\n model.login = await this.login.decrypt(this.organizationId, encKey);\n break;\n case CipherType.SecureNote:\n model.secureNote = await this.secureNote.decrypt(this.organizationId, encKey);\n break;\n case CipherType.Card:\n model.card = await this.card.decrypt(this.organizationId, encKey);\n break;\n case CipherType.Identity:\n model.identity = await this.identity.decrypt(this.organizationId, encKey);\n break;\n default:\n break;\n }\n\n const orgId = this.organizationId;\n\n if (this.attachments != null && this.attachments.length > 0) {\n const attachments: any[] = [];\n await this.attachments.reduce((promise, attachment) => {\n return promise.then(() => {\n return attachment.decrypt(orgId, encKey);\n }).then((decAttachment) => {\n attachments.push(decAttachment);\n });\n }, Promise.resolve());\n model.attachments = attachments;\n }\n\n if (this.fields != null && this.fields.length > 0) {\n const fields: any[] = [];\n await this.fields.reduce((promise, field) => {\n return promise.then(() => {\n return field.decrypt(orgId, encKey);\n }).then((decField) => {\n fields.push(decField);\n });\n }, Promise.resolve());\n model.fields = fields;\n }\n\n if (this.passwordHistory != null && this.passwordHistory.length > 0) {\n const passwordHistory: any[] = [];\n await this.passwordHistory.reduce((promise, ph) => {\n return promise.then(() => {\n return ph.decrypt(orgId, encKey);\n }).then((decPh) => {\n passwordHistory.push(decPh);\n });\n }, Promise.resolve());\n model.passwordHistory = passwordHistory;\n }\n\n return model;\n }\n\n toCipherData(userId: string): CipherData {\n const c = new CipherData();\n c.id = this.id;\n c.organizationId = this.organizationId;\n c.folderId = this.folderId;\n c.userId = this.organizationId != null ? userId : null;\n c.edit = this.edit;\n c.viewPassword = this.viewPassword;\n c.organizationUseTotp = this.organizationUseTotp;\n c.favorite = this.favorite;\n c.revisionDate = this.revisionDate != null ? this.revisionDate.toISOString() : null;\n c.type = this.type;\n c.collectionIds = this.collectionIds;\n c.deletedDate = this.deletedDate != null ? this.deletedDate.toISOString() : null;\n\n this.buildDataModel(this, c, {\n name: null,\n notes: null,\n });\n\n switch (c.type) {\n case CipherType.Login:\n c.login = this.login.toLoginData();\n break;\n case CipherType.SecureNote:\n c.secureNote = this.secureNote.toSecureNoteData();\n break;\n case CipherType.Card:\n c.card = this.card.toCardData();\n break;\n case CipherType.Identity:\n c.identity = this.identity.toIdentityData();\n break;\n default:\n break;\n }\n\n if (this.fields != null) {\n c.fields = this.fields.map((f) => f.toFieldData());\n }\n if (this.attachments != null) {\n c.attachments = this.attachments.map((a) => a.toAttachmentData());\n }\n if (this.passwordHistory != null) {\n c.passwordHistory = this.passwordHistory.map((ph) => ph.toPasswordHistoryData());\n }\n return c;\n }\n}\n","import { FieldType } from '../../enums/fieldType';\n\nimport { View } from './view';\n\nimport { Field } from '../domain/field';\n\nexport class FieldView implements View {\n name: string = null;\n value: string = null;\n type: FieldType = null;\n newField: boolean = false; // Marks if the field is new and hasn't been saved\n showValue: boolean = false;\n\n constructor(f?: Field) {\n if (!f) {\n return;\n }\n\n this.type = f.type;\n }\n\n get maskedValue(): string {\n return this.value != null ? '••••••••' : null;\n }\n}\n","import { CipherType } from '../../enums/cipherType';\n\nimport { Cipher } from '../domain/cipher';\n\nimport { CardApi } from '../api/cardApi';\nimport { FieldApi } from '../api/fieldApi';\nimport { IdentityApi } from '../api/identityApi';\nimport { LoginApi } from '../api/loginApi';\nimport { LoginUriApi } from '../api/loginUriApi';\nimport { SecureNoteApi } from '../api/secureNoteApi';\n\nimport { AttachmentRequest } from './attachmentRequest';\nimport { PasswordHistoryRequest } from './passwordHistoryRequest';\n\nexport class CipherRequest {\n type: CipherType;\n folderId: string;\n organizationId: string;\n name: string;\n notes: string;\n favorite: boolean;\n login: LoginApi;\n secureNote: SecureNoteApi;\n card: CardApi;\n identity: IdentityApi;\n fields: FieldApi[];\n passwordHistory: PasswordHistoryRequest[];\n // Deprecated, remove at some point and rename attachments2 to attachments\n attachments: { [id: string]: string; };\n attachments2: { [id: string]: AttachmentRequest; };\n lastKnownRevisionDate: Date;\n\n constructor(cipher: Cipher) {\n this.type = cipher.type;\n this.folderId = cipher.folderId;\n this.organizationId = cipher.organizationId;\n this.name = cipher.name ? cipher.name.encryptedString : null;\n this.notes = cipher.notes ? cipher.notes.encryptedString : null;\n this.favorite = cipher.favorite;\n this.lastKnownRevisionDate = cipher.revisionDate;\n\n switch (this.type) {\n case CipherType.Login:\n this.login = new LoginApi();\n this.login.uris = null;\n this.login.username = cipher.login.username ? cipher.login.username.encryptedString : null;\n this.login.password = cipher.login.password ? cipher.login.password.encryptedString : null;\n this.login.passwordRevisionDate = cipher.login.passwordRevisionDate != null ?\n cipher.login.passwordRevisionDate.toISOString() : null;\n this.login.totp = cipher.login.totp ? cipher.login.totp.encryptedString : null;\n\n if (cipher.login.uris != null) {\n this.login.uris = cipher.login.uris.map((u) => {\n const uri = new LoginUriApi();\n uri.uri = u.uri != null ? u.uri.encryptedString : null;\n uri.match = u.match != null ? u.match : null;\n return uri;\n });\n }\n break;\n case CipherType.SecureNote:\n this.secureNote = new SecureNoteApi();\n this.secureNote.type = cipher.secureNote.type;\n break;\n case CipherType.Card:\n this.card = new CardApi();\n this.card.cardholderName = cipher.card.cardholderName != null ?\n cipher.card.cardholderName.encryptedString : null;\n this.card.brand = cipher.card.brand != null ? cipher.card.brand.encryptedString : null;\n this.card.number = cipher.card.number != null ? cipher.card.number.encryptedString : null;\n this.card.expMonth = cipher.card.expMonth != null ? cipher.card.expMonth.encryptedString : null;\n this.card.expYear = cipher.card.expYear != null ? cipher.card.expYear.encryptedString : null;\n this.card.code = cipher.card.code != null ? cipher.card.code.encryptedString : null;\n break;\n case CipherType.Identity:\n this.identity = new IdentityApi();\n this.identity.title = cipher.identity.title != null ? cipher.identity.title.encryptedString : null;\n this.identity.firstName = cipher.identity.firstName != null ?\n cipher.identity.firstName.encryptedString : null;\n this.identity.middleName = cipher.identity.middleName != null ?\n cipher.identity.middleName.encryptedString : null;\n this.identity.lastName = cipher.identity.lastName != null ?\n cipher.identity.lastName.encryptedString : null;\n this.identity.address1 = cipher.identity.address1 != null ?\n cipher.identity.address1.encryptedString : null;\n this.identity.address2 = cipher.identity.address2 != null ?\n cipher.identity.address2.encryptedString : null;\n this.identity.address3 = cipher.identity.address3 != null ?\n cipher.identity.address3.encryptedString : null;\n this.identity.city = cipher.identity.city != null ? cipher.identity.city.encryptedString : null;\n this.identity.state = cipher.identity.state != null ? cipher.identity.state.encryptedString : null;\n this.identity.postalCode = cipher.identity.postalCode != null ?\n cipher.identity.postalCode.encryptedString : null;\n this.identity.country = cipher.identity.country != null ?\n cipher.identity.country.encryptedString : null;\n this.identity.company = cipher.identity.company != null ?\n cipher.identity.company.encryptedString : null;\n this.identity.email = cipher.identity.email != null ? cipher.identity.email.encryptedString : null;\n this.identity.phone = cipher.identity.phone != null ? cipher.identity.phone.encryptedString : null;\n this.identity.ssn = cipher.identity.ssn != null ? cipher.identity.ssn.encryptedString : null;\n this.identity.username = cipher.identity.username != null ?\n cipher.identity.username.encryptedString : null;\n this.identity.passportNumber = cipher.identity.passportNumber != null ?\n cipher.identity.passportNumber.encryptedString : null;\n this.identity.licenseNumber = cipher.identity.licenseNumber != null ?\n cipher.identity.licenseNumber.encryptedString : null;\n break;\n default:\n break;\n }\n\n if (cipher.fields != null) {\n this.fields = cipher.fields.map((f) => {\n const field = new FieldApi();\n field.type = f.type;\n field.name = f.name ? f.name.encryptedString : null;\n field.value = f.value ? f.value.encryptedString : null;\n return field;\n });\n }\n\n if (cipher.passwordHistory != null) {\n this.passwordHistory = [];\n cipher.passwordHistory.forEach((ph) => {\n this.passwordHistory.push({\n lastUsedDate: ph.lastUsedDate,\n password: ph.password ? ph.password.encryptedString : null,\n });\n });\n }\n\n if (cipher.attachments != null) {\n this.attachments = {};\n this.attachments2 = {};\n cipher.attachments.forEach((attachment) => {\n const fileName = attachment.fileName ? attachment.fileName.encryptedString : null;\n this.attachments[attachment.id] = fileName;\n const attachmentRequest = new AttachmentRequest();\n attachmentRequest.fileName = fileName;\n if (attachment.key != null) {\n attachmentRequest.key = attachment.key.encryptedString;\n }\n this.attachments2[attachment.id] = attachmentRequest;\n });\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport {\n ActivatedRoute,\n NavigationEnd,\n Router,\n} from '@angular/router';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\n@Injectable()\nexport class RouterService {\n private previousUrl: string = undefined;\n private currentUrl: string = undefined;\n\n constructor(private router: Router, private activatedRoute: ActivatedRoute,\n private titleService: Title, i18nService: I18nService) {\n this.currentUrl = this.router.url;\n router.events.subscribe((event) => {\n if (event instanceof NavigationEnd) {\n this.previousUrl = this.currentUrl;\n this.currentUrl = event.url;\n\n let title = i18nService.t('pageTitle', 'Bitwarden');\n let titleId: string = null;\n let rawTitle: string = null;\n let child = this.activatedRoute.firstChild;\n while (child != null) {\n if (child.firstChild != null) {\n child = child.firstChild;\n } else if (child.snapshot.data != null && child.snapshot.data.title != null) {\n rawTitle = child.snapshot.data.title;\n break;\n } else if (child.snapshot.data != null && child.snapshot.data.titleId != null) {\n titleId = child.snapshot.data.titleId;\n break;\n } else {\n titleId = null;\n rawTitle = null;\n break;\n }\n }\n\n if (titleId != null || rawTitle != null) {\n const newTitle = rawTitle != null ? rawTitle : i18nService.t(titleId);\n if (newTitle != null && newTitle !== '') {\n title = (newTitle + ' | ' + title);\n }\n }\n this.titleService.setTitle(title);\n }\n });\n }\n\n getPreviousUrl() {\n return this.previousUrl;\n }\n\n setPreviousUrl(url: string) {\n this.previousUrl = url;\n }\n}\n","export enum KdfType {\n PBKDF2_SHA256 = 0,\n}\n","import {\n Component,\n Input,\n OnChanges,\n} from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\n@Component({\n selector: 'app-password-strength',\n templateUrl: 'password-strength.component.html',\n})\nexport class PasswordStrengthComponent implements OnChanges {\n @Input() score?: number;\n @Input() showText = false;\n\n scoreWidth = 0;\n color = 'bg-danger';\n text: string;\n\n constructor(private i18nService: I18nService) { }\n\n ngOnChanges(): void {\n this.scoreWidth = this.score == null ? 0 : (this.score + 1) * 20;\n switch (this.score) {\n case 4:\n this.color = 'bg-success';\n this.text = this.i18nService.t('strong');\n break;\n case 3:\n this.color = 'bg-primary';\n this.text = this.i18nService.t('good');\n break;\n case 2:\n this.color = 'bg-warning';\n this.text = this.i18nService.t('weak');\n break;\n default:\n this.color = 'bg-danger';\n this.text = this.score != null ? this.i18nService.t('weak') : null;\n break;\n }\n }\n}\n","
\n
\n \n {{text}}\n \n
\n
\n","export enum OrganizationUserStatusType {\n Invited = 0,\n Accepted = 1,\n Confirmed = 2,\n}\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\n\n@Pipe({\n name: 'search',\n})\nexport class SearchPipe implements PipeTransform {\n transform(items: any[], searchText: string, prop1?: string, prop2?: string, prop3?: string): any[] {\n if (items == null || items.length === 0) {\n return [];\n }\n\n if (searchText == null || searchText.length < 2) {\n return items;\n }\n\n searchText = searchText.trim().toLowerCase();\n return items.filter((i) => {\n if (prop1 != null && i[prop1] != null && i[prop1].toString().toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n if (prop2 != null && i[prop2] != null && i[prop2].toString().toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n if (prop3 != null && i[prop3] != null && i[prop3].toString().toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n return false;\n });\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { DeviceType } from 'jslib/enums/deviceType';\nimport { EventType } from 'jslib/enums/eventType';\n\nimport { EventResponse } from 'jslib/models/response/eventResponse';\n\n@Injectable()\nexport class EventService {\n constructor(private i18nService: I18nService) { }\n\n getDefaultDateFilters() {\n const d = new Date();\n const end = new Date(d.getFullYear(), d.getMonth(), d.getDate(), 23, 59);\n d.setDate(d.getDate() - 30);\n const start = new Date(d.getFullYear(), d.getMonth(), d.getDate(), 0, 0);\n return [this.toDateTimeLocalString(start), this.toDateTimeLocalString(end)];\n }\n\n formatDateFilters(filterStart: string, filterEnd: string) {\n const start: Date = new Date(filterStart);\n const end: Date = new Date(filterEnd + ':59.999');\n if (isNaN(start.getTime()) || isNaN(end.getTime()) || end < start) {\n throw new Error('Invalid date range.');\n }\n return [start.toISOString(), end.toISOString()];\n }\n\n getEventInfo(ev: EventResponse, options = new EventOptions()): EventInfo {\n const appInfo = this.getAppInfo(ev.deviceType);\n return {\n message: this.getEventMessage(ev, options),\n appIcon: appInfo[0],\n appName: appInfo[1],\n };\n }\n\n private getEventMessage(ev: EventResponse, options: EventOptions) {\n let msg = '';\n switch (ev.type) {\n // User\n case EventType.User_LoggedIn:\n msg = this.i18nService.t('loggedIn');\n break;\n case EventType.User_ChangedPassword:\n msg = this.i18nService.t('changedPassword');\n break;\n case EventType.User_Updated2fa:\n msg = this.i18nService.t('enabledUpdated2fa');\n break;\n case EventType.User_Disabled2fa:\n msg = this.i18nService.t('disabled2fa');\n break;\n case EventType.User_Recovered2fa:\n msg = this.i18nService.t('recovered2fa');\n break;\n case EventType.User_FailedLogIn:\n msg = this.i18nService.t('failedLogin');\n break;\n case EventType.User_FailedLogIn2fa:\n msg = this.i18nService.t('failedLogin2fa');\n break;\n case EventType.User_ClientExportedVault:\n msg = this.i18nService.t('exportedVault');\n break;\n // Cipher\n case EventType.Cipher_Created:\n msg = this.i18nService.t('createdItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_Updated:\n msg = this.i18nService.t('editedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_Deleted:\n msg = this.i18nService.t('permanentlyDeletedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_SoftDeleted:\n msg = this.i18nService.t('deletedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_Restored:\n msg = this.i18nService.t('restoredItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_AttachmentCreated:\n msg = this.i18nService.t('createdAttachmentForItem', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_AttachmentDeleted:\n msg = this.i18nService.t('deletedAttachmentForItem', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_Shared:\n msg = this.i18nService.t('sharedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_ClientViewed:\n msg = this.i18nService.t('viewedItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_ClientToggledPasswordVisible:\n msg = this.i18nService.t('viewedPasswordItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_ClientToggledHiddenFieldVisible:\n msg = this.i18nService.t('viewedHiddenFieldItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_ClientToggledCardCodeVisible:\n msg = this.i18nService.t('viewedSecurityCodeItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_ClientCopiedHiddenField:\n msg = this.i18nService.t('copiedHiddenFieldItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_ClientCopiedPassword:\n msg = this.i18nService.t('copiedPasswordItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_ClientCopiedCardCode:\n msg = this.i18nService.t('copiedSecurityCodeItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_ClientAutofilled:\n msg = this.i18nService.t('autofilledItemId', this.formatCipherId(ev, options));\n break;\n case EventType.Cipher_UpdatedCollections:\n msg = this.i18nService.t('editedCollectionsForItem', this.formatCipherId(ev, options));\n break;\n // Collection\n case EventType.Collection_Created:\n msg = this.i18nService.t('createdCollectionId', this.formatCollectionId(ev));\n break;\n case EventType.Collection_Updated:\n msg = this.i18nService.t('editedCollectionId', this.formatCollectionId(ev));\n break;\n case EventType.Collection_Deleted:\n msg = this.i18nService.t('deletedCollectionId', this.formatCollectionId(ev));\n break;\n // Group\n case EventType.Group_Created:\n msg = this.i18nService.t('createdGroupId', this.formatGroupId(ev));\n break;\n case EventType.Group_Updated:\n msg = this.i18nService.t('editedGroupId', this.formatGroupId(ev));\n break;\n case EventType.Group_Deleted:\n msg = this.i18nService.t('deletedGroupId', this.formatGroupId(ev));\n break;\n // Org user\n case EventType.OrganizationUser_Invited:\n msg = this.i18nService.t('invitedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_Confirmed:\n msg = this.i18nService.t('confirmedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_Updated:\n msg = this.i18nService.t('editedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_Removed:\n msg = this.i18nService.t('removedUserId', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_UpdatedGroups:\n msg = this.i18nService.t('editedGroupsForUser', this.formatOrgUserId(ev));\n break;\n case EventType.OrganizationUser_UnlinkedSso:\n msg = this.i18nService.t('unlinkedSsoUser', this.formatOrgUserId(ev));\n // Org\n case EventType.Organization_Updated:\n msg = this.i18nService.t('editedOrgSettings');\n break;\n case EventType.Organization_PurgedVault:\n msg = this.i18nService.t('purgedOrganizationVault');\n break;\n /*\n case EventType.Organization_ClientExportedVault:\n msg = this.i18nService.t('exportedOrganizationVault');\n break;\n */\n // Policies\n case EventType.Policy_Updated:\n msg = this.i18nService.t('modifiedPolicy', this.formatPolicyId(ev));\n break;\n\n default:\n break;\n }\n return msg === '' ? null : msg;\n }\n\n private getAppInfo(deviceType: DeviceType): [string, string] {\n switch (deviceType) {\n case DeviceType.Android:\n return ['fa-android', this.i18nService.t('mobile') + ' - Android'];\n case DeviceType.iOS:\n return ['fa-apple', this.i18nService.t('mobile') + ' - iOS'];\n case DeviceType.UWP:\n return ['fa-windows', this.i18nService.t('mobile') + ' - Windows'];\n case DeviceType.ChromeExtension:\n return ['fa-chrome', this.i18nService.t('extension') + ' - Chrome'];\n case DeviceType.FirefoxExtension:\n return ['fa-firefox', this.i18nService.t('extension') + ' - Firefox'];\n case DeviceType.OperaExtension:\n return ['fa-opera', this.i18nService.t('extension') + ' - Opera'];\n case DeviceType.EdgeExtension:\n return ['fa-edge', this.i18nService.t('extension') + ' - Edge'];\n case DeviceType.VivaldiExtension:\n return ['fa-puzzle-piece', this.i18nService.t('extension') + ' - Vivaldi'];\n case DeviceType.SafariExtension:\n return ['fa-safari', this.i18nService.t('extension') + ' - Safari'];\n case DeviceType.WindowsDesktop:\n return ['fa-windows', this.i18nService.t('desktop') + ' - Windows'];\n case DeviceType.MacOsDesktop:\n return ['fa-apple', this.i18nService.t('desktop') + ' - macOS'];\n case DeviceType.LinuxDesktop:\n return ['fa-linux', this.i18nService.t('desktop') + ' - Linux'];\n case DeviceType.ChromeBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Chrome'];\n case DeviceType.FirefoxBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Firefox'];\n case DeviceType.OperaBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Opera'];\n case DeviceType.SafariBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Safari'];\n case DeviceType.VivaldiBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Vivaldi'];\n case DeviceType.EdgeBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - Edge'];\n case DeviceType.IEBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - IE'];\n case DeviceType.UnknownBrowser:\n return ['fa-globe', this.i18nService.t('webVault') + ' - ' + this.i18nService.t('unknown')];\n default:\n return ['fa-globe', this.i18nService.t('unknown')];\n }\n }\n\n private formatCipherId(ev: EventResponse, options: EventOptions) {\n const shortId = this.getShortId(ev.cipherId);\n if (ev.organizationId == null || !options.cipherInfo) {\n return '' + shortId + '';\n }\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/vault?search=' + shortId +\n '&viewEvents=' + ev.cipherId);\n return a.outerHTML;\n }\n\n private formatGroupId(ev: EventResponse) {\n const shortId = this.getShortId(ev.groupId);\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/groups?search=' + shortId);\n return a.outerHTML;\n }\n\n private formatCollectionId(ev: EventResponse) {\n const shortId = this.getShortId(ev.collectionId);\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/collections?search=' + shortId);\n return a.outerHTML;\n }\n\n private formatOrgUserId(ev: EventResponse) {\n const shortId = this.getShortId(ev.organizationUserId);\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/people?search=' + shortId +\n '&viewEvents=' + ev.organizationUserId);\n return a.outerHTML;\n }\n\n private formatPolicyId(ev: EventResponse) {\n const shortId = this.getShortId(ev.policyId);\n const a = this.makeAnchor(shortId);\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/policies?policyId=' + ev.policyId);\n return a.outerHTML;\n }\n\n private makeAnchor(shortId: string) {\n const a = document.createElement('a');\n a.title = this.i18nService.t('view');\n a.innerHTML = '' + shortId + '';\n return a;\n }\n\n private getShortId(id: string) {\n return id.substring(0, 8);\n }\n\n private toDateTimeLocalString(date: Date) {\n return date.getFullYear() +\n '-' + this.pad(date.getMonth() + 1) +\n '-' + this.pad(date.getDate()) +\n 'T' + this.pad(date.getHours()) +\n ':' + this.pad(date.getMinutes());\n }\n\n private pad(num: number) {\n const norm = Math.floor(Math.abs(num));\n return (norm < 10 ? '0' : '') + norm;\n }\n}\n\nexport class EventInfo {\n message: string;\n appIcon: string;\n appName: string;\n}\n\nexport class EventOptions {\n cipherInfo = true;\n}\n","export enum EventType {\n User_LoggedIn = 1000,\n User_ChangedPassword = 1001,\n User_Updated2fa = 1002,\n User_Disabled2fa = 1003,\n User_Recovered2fa = 1004,\n User_FailedLogIn = 1005,\n User_FailedLogIn2fa = 1006,\n User_ClientExportedVault = 1007,\n\n Cipher_Created = 1100,\n Cipher_Updated = 1101,\n Cipher_Deleted = 1102,\n Cipher_AttachmentCreated = 1103,\n Cipher_AttachmentDeleted = 1104,\n Cipher_Shared = 1105,\n Cipher_UpdatedCollections = 1106,\n Cipher_ClientViewed = 1107,\n Cipher_ClientToggledPasswordVisible = 1108,\n Cipher_ClientToggledHiddenFieldVisible = 1109,\n Cipher_ClientToggledCardCodeVisible = 1110,\n Cipher_ClientCopiedPassword = 1111,\n Cipher_ClientCopiedHiddenField = 1112,\n Cipher_ClientCopiedCardCode = 1113,\n Cipher_ClientAutofilled = 1114,\n Cipher_SoftDeleted = 1115,\n Cipher_Restored = 1116,\n\n Collection_Created = 1300,\n Collection_Updated = 1301,\n Collection_Deleted = 1302,\n\n Group_Created = 1400,\n Group_Updated = 1401,\n Group_Deleted = 1402,\n\n OrganizationUser_Invited = 1500,\n OrganizationUser_Confirmed = 1501,\n OrganizationUser_Updated = 1502,\n OrganizationUser_Removed = 1503,\n OrganizationUser_UpdatedGroups = 1504,\n OrganizationUser_UnlinkedSso = 1505,\n\n Organization_Updated = 1600,\n Organization_PurgedVault = 1601,\n // Organization_ClientExportedVault = 1602,\n\n Policy_Updated = 1700,\n}\n","export enum PaymentMethodType {\n Card = 0,\n BankAccount = 1,\n PayPal = 2,\n BitPay = 3,\n Credit = 4,\n WireTransfer = 5,\n AppleInApp = 6,\n GoogleInApp = 7,\n Check = 8,\n}\n","import {\n Directive,\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { TwoFactorProviderRequest } from 'jslib/models/request/twoFactorProviderRequest';\n\n@Directive()\nexport abstract class TwoFactorBaseComponent {\n @Output() onUpdated = new EventEmitter();\n\n type: TwoFactorProviderType;\n organizationId: string;\n twoFactorProviderType = TwoFactorProviderType;\n enabled = false;\n authed = false;\n\n protected masterPasswordHash: string;\n\n constructor(protected apiService: ApiService, protected i18nService: I18nService,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected platformUtilsService: PlatformUtilsService) { }\n\n protected auth(authResponse: any) {\n this.masterPasswordHash = authResponse.masterPasswordHash;\n this.authed = true;\n }\n\n protected async enable(enableFunction: () => Promise) {\n try {\n await enableFunction();\n this.analytics.eventTrack.next({\n action: 'Enabled Two-step ' + TwoFactorProviderType[this.type].toString(),\n });\n this.onUpdated.emit(true);\n } catch { }\n }\n\n protected async disable(promise: Promise) {\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('twoStepDisableDesc'),\n this.i18nService.t('disable'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n const request = new TwoFactorProviderRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.type = this.type;\n if (this.organizationId != null) {\n promise = this.apiService.putTwoFactorOrganizationDisable(this.organizationId, request);\n } else {\n promise = this.apiService.putTwoFactorDisable(request);\n }\n await promise;\n this.enabled = false;\n this.analytics.eventTrack.next({\n action: 'Disabled Two-step ' + TwoFactorProviderType[this.type].toString(),\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('twoStepDisabled'));\n this.onUpdated.emit(false);\n } catch { }\n }\n}\n","import {\n ComponentFactoryResolver,\n Directive,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\nimport { ModalComponent } from '../modal.component';\nimport { AddEditComponent as OrgAddEditComponent } from '../organizations/vault/add-edit.component';\nimport { AddEditComponent } from '../vault/add-edit.component';\n\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Directive()\nexport class CipherReportComponent {\n @ViewChild('cipherAddEdit', { read: ViewContainerRef, static: true }) cipherAddEditModalRef: ViewContainerRef;\n\n loading = false;\n hasLoaded = false;\n ciphers: CipherView[] = [];\n organization: Organization;\n\n private modal: ModalComponent = null;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver, protected userService: UserService,\n protected messagingService: MessagingService, public requiresPaid: boolean) { }\n\n async load() {\n this.loading = true;\n await this.setCiphers();\n this.loading = false;\n this.hasLoaded = true;\n }\n\n selectCipher(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.cipherAddEditModalRef.createComponent(factory).instance;\n let childComponent: OrgAddEditComponent | AddEditComponent;\n if (this.organization != null) {\n childComponent = this.modal.show(OrgAddEditComponent, this.cipherAddEditModalRef);\n (childComponent as OrgAddEditComponent).organization = this.organization;\n } else {\n childComponent = this.modal.show(AddEditComponent, this.cipherAddEditModalRef);\n }\n\n childComponent.cipherId = cipher == null ? null : cipher.id;\n if (this.organization != null) {\n childComponent.organizationId = this.organization.id;\n }\n childComponent.onSavedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.load();\n });\n childComponent.onDeletedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.load();\n });\n childComponent.onRestoredCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.load();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n\n return childComponent;\n }\n\n protected async checkAccess(): Promise {\n if (this.organization != null) {\n // TODO: Maybe we want to just make sure they are not on a free plan? Just compare useTotp for now\n // since all paid plans include useTotp\n if (this.requiresPaid && !this.organization.useTotp) {\n this.messagingService.send('upgradeOrganization', { organizationId: this.organization.id });\n return false;\n }\n } else {\n const accessPremium = await this.userService.canAccessPremium();\n if (this.requiresPaid && !accessPremium) {\n this.messagingService.send('premiumRequired');\n this.loading = false;\n return false;\n }\n }\n return true;\n }\n\n protected async setCiphers() {\n this.ciphers = [];\n }\n}\n","import { UriMatchType } from '../../enums/uriMatchType';\n\nimport { View } from './view';\n\nimport { LoginUri } from '../domain/loginUri';\n\nimport { Utils } from '../../misc/utils';\n\nconst CanLaunchWhitelist = [\n 'https://',\n 'http://',\n 'ssh://',\n 'ftp://',\n 'sftp://',\n 'irc://',\n 'vnc://',\n // https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/remote-desktop-uri\n 'rdp://', // Legacy RDP URI scheme\n 'ms-rd:', // Preferred RDP URI scheme\n 'chrome://',\n 'iosapp://',\n 'androidapp://',\n];\n\nexport class LoginUriView implements View {\n match: UriMatchType = null;\n\n // tslint:disable\n private _uri: string = null;\n private _domain: string = null;\n private _hostname: string = null;\n private _host: string = null;\n private _canLaunch: boolean = null;\n // tslint:enable\n\n constructor(u?: LoginUri) {\n if (!u) {\n return;\n }\n\n this.match = u.match;\n }\n\n get uri(): string {\n return this._uri;\n }\n set uri(value: string) {\n this._uri = value;\n this._domain = null;\n this._canLaunch = null;\n }\n\n get domain(): string {\n if (this._domain == null && this.uri != null) {\n this._domain = Utils.getDomain(this.uri);\n if (this._domain === '') {\n this._domain = null;\n }\n }\n\n return this._domain;\n }\n\n get hostname(): string {\n if (this.match === UriMatchType.RegularExpression) {\n return null;\n }\n if (this._hostname == null && this.uri != null) {\n this._hostname = Utils.getHostname(this.uri);\n if (this._hostname === '') {\n this._hostname = null;\n }\n }\n\n return this._hostname;\n }\n\n get host(): string {\n if (this.match === UriMatchType.RegularExpression) {\n return null;\n }\n if (this._host == null && this.uri != null) {\n this._host = Utils.getHost(this.uri);\n if (this._host === '') {\n this._host = null;\n }\n }\n\n return this._host;\n }\n\n get hostnameOrUri(): string {\n return this.hostname != null ? this.hostname : this.uri;\n }\n\n get hostOrUri(): string {\n return this.host != null ? this.host : this.uri;\n }\n\n get isWebsite(): boolean {\n return this.uri != null && (this.uri.indexOf('http://') === 0 || this.uri.indexOf('https://') === 0 ||\n (this.uri.indexOf('://') < 0 && Utils.tldEndingRegex.test(this.uri)));\n }\n\n get canLaunch(): boolean {\n if (this._canLaunch != null) {\n return this._canLaunch;\n }\n if (this.uri != null && this.match !== UriMatchType.RegularExpression) {\n const uri = this.launchUri;\n for (let i = 0; i < CanLaunchWhitelist.length; i++) {\n if (uri.indexOf(CanLaunchWhitelist[i]) === 0) {\n this._canLaunch = true;\n return this._canLaunch;\n }\n }\n }\n this._canLaunch = false;\n return this._canLaunch;\n }\n\n get launchUri(): string {\n return this.uri.indexOf('://') < 0 && Utils.tldEndingRegex.test(this.uri) ? ('http://' + this.uri) : this.uri;\n }\n}\n","import { Component } from '@angular/core';\n\nimport { CipherType } from 'jslib/enums/cipherType';\nimport { EventType } from 'jslib/enums/eventType';\n\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { EventService } from 'jslib/abstractions/event.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { PolicyService } from 'jslib/abstractions/policy.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { AddEditComponent as BaseAddEditComponent } from 'jslib/angular/components/add-edit.component';\nimport { LoginUriView } from 'jslib/models/view/loginUriView';\n\n@Component({\n selector: 'app-vault-add-edit',\n templateUrl: 'add-edit.component.html',\n})\nexport class AddEditComponent extends BaseAddEditComponent {\n canAccessPremium: boolean;\n totpCode: string;\n totpCodeFormatted: string;\n totpDash: number;\n totpSec: number;\n totpLow: boolean;\n showRevisionDate = false;\n hasPasswordHistory = false;\n viewingPasswordHistory = false;\n viewOnly = false;\n\n protected totpInterval: number;\n\n constructor(cipherService: CipherService, folderService: FolderService,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\n auditService: AuditService, stateService: StateService,\n userService: UserService, collectionService: CollectionService,\n protected totpService: TotpService, protected passwordGenerationService: PasswordGenerationService,\n protected messagingService: MessagingService, eventService: EventService,\n protected policyService: PolicyService) {\n super(cipherService, folderService, i18nService, platformUtilsService, auditService, stateService,\n userService, collectionService, messagingService, eventService, policyService);\n }\n\n async ngOnInit() {\n await super.ngOnInit();\n await this.load();\n this.showRevisionDate = this.cipher.passwordRevisionDisplayDate != null;\n this.hasPasswordHistory = this.cipher.hasPasswordHistory;\n this.cleanUp();\n\n this.canAccessPremium = await this.userService.canAccessPremium();\n if (this.cipher.type === CipherType.Login && this.cipher.login.totp &&\n (this.cipher.organizationUseTotp || this.canAccessPremium)) {\n await this.totpUpdateCode();\n const interval = this.totpService.getTimeInterval(this.cipher.login.totp);\n await this.totpTick(interval);\n\n this.totpInterval = window.setInterval(async () => {\n await this.totpTick(interval);\n }, 1000);\n }\n }\n\n toggleFavorite() {\n this.cipher.favorite = !this.cipher.favorite;\n }\n\n launch(uri: LoginUriView) {\n if (!uri.canLaunch) {\n return;\n }\n\n this.platformUtilsService.eventTrack('Launched Login URI');\n this.platformUtilsService.launchUri(uri.launchUri);\n }\n\n copy(value: string, typeI18nKey: string, aType: string) {\n if (value == null) {\n return;\n }\n\n this.platformUtilsService.eventTrack('Copied ' + aType);\n this.platformUtilsService.copyToClipboard(value, { window: window });\n this.platformUtilsService.showToast('info', null,\n this.i18nService.t('valueCopied', this.i18nService.t(typeI18nKey)));\n\n if (this.editMode) {\n if (typeI18nKey === 'password') {\n this.eventService.collect(EventType.Cipher_ClientToggledHiddenFieldVisible, this.cipherId);\n } else if (typeI18nKey === 'securityCode') {\n this.eventService.collect(EventType.Cipher_ClientCopiedCardCode, this.cipherId);\n } else if (aType === 'H_Field') {\n this.eventService.collect(EventType.Cipher_ClientCopiedHiddenField, this.cipherId);\n }\n }\n }\n\n async generatePassword(): Promise {\n const confirmed = await super.generatePassword();\n if (confirmed) {\n const options = (await this.passwordGenerationService.getOptions())[0];\n this.cipher.login.password = await this.passwordGenerationService.generatePassword(options);\n }\n return confirmed;\n }\n\n premiumRequired() {\n if (!this.canAccessPremium) {\n this.messagingService.send('premiumRequired');\n return;\n }\n }\n\n upgradeOrganization() {\n this.messagingService.send('upgradeOrganization', { organizationId: this.cipher.organizationId });\n }\n\n viewHistory() {\n this.viewingPasswordHistory = !this.viewingPasswordHistory;\n }\n\n protected cleanUp() {\n if (this.totpInterval) {\n window.clearInterval(this.totpInterval);\n }\n }\n\n protected async totpUpdateCode() {\n if (this.cipher == null || this.cipher.type !== CipherType.Login || this.cipher.login.totp == null) {\n if (this.totpInterval) {\n window.clearInterval(this.totpInterval);\n }\n return;\n }\n\n this.totpCode = await this.totpService.getCode(this.cipher.login.totp);\n if (this.totpCode != null) {\n if (this.totpCode.length > 4) {\n const half = Math.floor(this.totpCode.length / 2);\n this.totpCodeFormatted = this.totpCode.substring(0, half) + ' ' + this.totpCode.substring(half);\n } else {\n this.totpCodeFormatted = this.totpCode;\n }\n } else {\n this.totpCodeFormatted = null;\n if (this.totpInterval) {\n window.clearInterval(this.totpInterval);\n }\n }\n }\n\n protected allowOwnershipAssignment() {\n return (!this.editMode || this.cloneMode) && this.ownershipOptions != null\n && (this.ownershipOptions.length > 1 || !this.allowPersonal);\n }\n\n private async totpTick(intervalSeconds: number) {\n const epoch = Math.round(new Date().getTime() / 1000.0);\n const mod = epoch % intervalSeconds;\n\n this.totpSec = intervalSeconds - mod;\n this.totpDash = +(Math.round((((78.6 / intervalSeconds) * mod) + 'e+2') as any) + 'e-2');\n this.totpLow = this.totpSec <= 7;\n if (mod === 0) {\n await this.totpUpdateCode();\n }\n }\n}\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n {{'personalOwnershipPolicyInEffect' | i18n}}\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n \n
\n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n
\n
\n \n
\n \n {{totpSec}}\n \n \n \n \n \n \n \n {{totpCodeFormatted}}\n \n
\n
\n
\n \n
\n
\n \n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n \n \n \n
\n
\n \n \n
\n
\n
\n
\n \n {{'newUri' | i18n}}\n \n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n
\n \n
\n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n
\n \n
\n \n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n

{{'customFields' | i18n}}

\n
\n
\n
\n
\n \n \n \n \n
\n \n
\n
\n \n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n \n
\n
\n
\n \n
\n \n \n
\n
\n
\n
\n \n {{'newCustomField' | i18n}}\n \n
\n
\n \n \n
\n
\n \n

{{'ownership' | i18n}}

\n
\n
\n \n \n
\n
\n
\n \n

{{'collections' | i18n}}

\n
\n {{'noCollectionsInList' | i18n}}\n
\n \n
\n \n \n
\n
\n
\n \n
\n
\n {{'dateUpdated' | i18n}}:\n {{cipher.revisionDate | date:'medium'}}\n
\n
\n {{'datePasswordUpdated' | i18n}}:\n {{cipher.passwordRevisionDisplayDate | date:'medium'}}\n
\n
\n {{'passwordHistory' | i18n}}:\n \n {{cipher.passwordHistory.length}}\n \n
\n
\n
\n {{ph.lastUsedDate | date:'short'}} -\n {{ph.password}}\n
\n
\n
\n
\n
\n
\n \n \n
\n \n \n
\n
\n
\n
\n
\n","import { Importer } from '../importers/importer';\n\nexport interface ImportOption {\n id: string;\n name: string;\n}\nexport abstract class ImportService {\n featuredImportOptions: ImportOption[];\n regularImportOptions: ImportOption[];\n getImportOptions: () => ImportOption[];\n import: (importer: Importer, fileContents: string, organizationId?: string) => Promise;\n getImporter: (format: string, organizationId: string) => Importer;\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { EventService } from 'jslib/abstractions/event.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SearchService } from 'jslib/abstractions/search.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CiphersComponent as BaseCiphersComponent } from 'jslib/angular/components/ciphers.component';\n\nimport { CipherType } from 'jslib/enums/cipherType';\nimport { EventType } from 'jslib/enums/eventType';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nconst MaxCheckedCount = 500;\n\n@Component({\n selector: 'app-vault-ciphers',\n templateUrl: 'ciphers.component.html',\n})\nexport class CiphersComponent extends BaseCiphersComponent implements OnDestroy {\n @Input() showAddNew = true;\n @Output() onAttachmentsClicked = new EventEmitter();\n @Output() onShareClicked = new EventEmitter();\n @Output() onCollectionsClicked = new EventEmitter();\n @Output() onCloneClicked = new EventEmitter();\n\n cipherType = CipherType;\n actionPromise: Promise;\n userHasPremiumAccess = false;\n\n constructor(searchService: SearchService, protected analytics: Angulartics2,\n protected toasterService: ToasterService, protected i18nService: I18nService,\n protected platformUtilsService: PlatformUtilsService, protected cipherService: CipherService,\n protected eventService: EventService, protected totpService: TotpService, protected userService: UserService) {\n super(searchService);\n this.pageSize = 200;\n }\n\n async ngOnInit() {\n this.userHasPremiumAccess = await this.userService.canAccessPremium();\n }\n\n ngOnDestroy() {\n this.selectAll(false);\n }\n\n launch(uri: string) {\n this.platformUtilsService.eventTrack('Launched Login URI');\n this.platformUtilsService.launchUri(uri);\n }\n\n attachments(c: CipherView) {\n this.onAttachmentsClicked.emit(c);\n }\n\n share(c: CipherView) {\n this.onShareClicked.emit(c);\n }\n\n collections(c: CipherView) {\n this.onCollectionsClicked.emit(c);\n }\n\n clone(c: CipherView) {\n this.onCloneClicked.emit(c);\n }\n\n async delete(c: CipherView): Promise {\n if (this.actionPromise != null) {\n return;\n }\n const permanent = c.isDeleted;\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t(permanent ? 'permanentlyDeleteItemConfirmation' : 'deleteItemConfirmation'),\n this.i18nService.t(permanent ? 'permanentlyDeleteItem' : 'deleteItem'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.actionPromise = this.deleteCipher(c.id, permanent);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Deleted Cipher' });\n this.toasterService.popAsync('success', null, this.i18nService.t(permanent ? 'permanentlyDeletedItem'\n : 'deletedItem'));\n this.refresh();\n } catch { }\n this.actionPromise = null;\n }\n\n async restore(c: CipherView): Promise {\n if (this.actionPromise != null || !c.isDeleted) {\n return;\n }\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('restoreItemConfirmation'),\n this.i18nService.t('restoreItem'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.actionPromise = this.cipherService.restoreWithServer(c.id);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Restored Cipher' });\n this.toasterService.popAsync('success', null, this.i18nService.t('restoredItem'));\n this.refresh();\n } catch { }\n this.actionPromise = null;\n }\n\n async copy(cipher: CipherView, value: string, typeI18nKey: string, aType: string) {\n if (value == null || !this.displayTotpCopyButton(cipher)) {\n return;\n } else if (value === cipher.login.totp) {\n value = await this.totpService.getCode(value);\n }\n\n this.analytics.eventTrack.next({ action: 'Copied ' + aType.toLowerCase() + ' from listing.' });\n this.platformUtilsService.copyToClipboard(value, { window: window });\n this.toasterService.popAsync('info', null,\n this.i18nService.t('valueCopied', this.i18nService.t(typeI18nKey)));\n\n if (typeI18nKey === 'password' || typeI18nKey === 'verificationCodeTotp') {\n this.eventService.collect(EventType.Cipher_ClientToggledHiddenFieldVisible, cipher.id);\n } else if (typeI18nKey === 'securityCode') {\n this.eventService.collect(EventType.Cipher_ClientCopiedCardCode, cipher.id);\n }\n }\n\n selectAll(select: boolean) {\n if (select) {\n this.selectAll(false);\n }\n const selectCount = select && this.ciphers.length > MaxCheckedCount\n ? MaxCheckedCount\n : this.ciphers.length;\n for (let i = 0; i < selectCount; i++) {\n this.checkCipher(this.ciphers[i], select);\n }\n }\n\n checkCipher(c: CipherView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n }\n\n getSelected(): CipherView[] {\n if (this.ciphers == null) {\n return [];\n }\n return this.ciphers.filter((c) => !!(c as any).checked);\n }\n\n getSelectedIds(): string[] {\n return this.getSelected().map((c) => c.id);\n }\n\n displayTotpCopyButton(cipher: CipherView) {\n return (cipher?.login?.hasTotp ?? false) &&\n (cipher.organizationUseTotp || this.userHasPremiumAccess);\n }\n\n protected deleteCipher(id: string, permanent: boolean) {\n return permanent ? this.cipherService.deleteWithServer(id) : this.cipherService.softDeleteWithServer(id);\n }\n\n protected showFixOldAttachments(c: CipherView) {\n return c.hasOldAttachments && c.organizationId == null;\n }\n}\n","\n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n {{c.name}}\n \n \n {{'shared' | i18n}}\n \n \n \n {{'attachments' | i18n}}\n \n \n {{'attachmentsNeedFix' | i18n}}\n \n \n
\n {{c.subTitle}}\n
\n \n
\n
\n \n \n {{'loading' | i18n}}\n \n \n

{{'noItemsInList' | i18n}}

\n \n
\n
\n
\n","import { SendData } from '../models/data/sendData';\n\nimport { Send } from '../models/domain/send';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { SendView } from '../models/view/sendView';\n\nexport abstract class SendService {\n decryptedSendCache: SendView[];\n\n clearCache: () => void;\n encrypt: (model: SendView, file: File, password: string, key?: SymmetricCryptoKey) => Promise<[Send, ArrayBuffer]>;\n get: (id: string) => Promise;\n getAll: () => Promise;\n getAllDecrypted: () => Promise;\n saveWithServer: (sendData: [Send, ArrayBuffer]) => Promise;\n upsert: (send: SendData | SendData[]) => Promise;\n replace: (sends: { [id: string]: SendData; }) => Promise;\n clear: (userId: string) => Promise;\n delete: (id: string | string[]) => Promise;\n deleteWithServer: (id: string) => Promise;\n removePasswordWithServer: (id: string) => Promise;\n}\n","import { KdfType } from '../enums/kdfType';\nimport { TwoFactorProviderType } from '../enums/twoFactorProviderType';\n\nimport { AuthResult } from '../models/domain/authResult';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { DeviceRequest } from '../models/request/deviceRequest';\nimport { KeysRequest } from '../models/request/keysRequest';\nimport { PreloginRequest } from '../models/request/preloginRequest';\nimport { TokenRequest } from '../models/request/tokenRequest';\n\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { AppIdService } from '../abstractions/appId.service';\nimport { AuthService as AuthServiceAbstraction } from '../abstractions/auth.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport { LogService } from '../abstractions/log.service';\nimport { MessagingService } from '../abstractions/messaging.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { TokenService } from '../abstractions/token.service';\nimport { UserService } from '../abstractions/user.service';\nimport { VaultTimeoutService } from '../abstractions/vaultTimeout.service';\n\nexport const TwoFactorProviders = {\n [TwoFactorProviderType.Authenticator]: {\n type: TwoFactorProviderType.Authenticator,\n name: null as string,\n description: null as string,\n priority: 1,\n sort: 1,\n premium: false,\n },\n [TwoFactorProviderType.Yubikey]: {\n type: TwoFactorProviderType.Yubikey,\n name: null as string,\n description: null as string,\n priority: 3,\n sort: 2,\n premium: true,\n },\n [TwoFactorProviderType.Duo]: {\n type: TwoFactorProviderType.Duo,\n name: 'Duo',\n description: null as string,\n priority: 2,\n sort: 3,\n premium: true,\n },\n [TwoFactorProviderType.OrganizationDuo]: {\n type: TwoFactorProviderType.OrganizationDuo,\n name: 'Duo (Organization)',\n description: null as string,\n priority: 10,\n sort: 4,\n premium: false,\n },\n [TwoFactorProviderType.U2f]: {\n type: TwoFactorProviderType.U2f,\n name: null as string,\n description: null as string,\n priority: 4,\n sort: 5,\n premium: true,\n },\n [TwoFactorProviderType.Email]: {\n type: TwoFactorProviderType.Email,\n name: null as string,\n description: null as string,\n priority: 0,\n sort: 6,\n premium: false,\n },\n};\n\nexport class AuthService implements AuthServiceAbstraction {\n email: string;\n masterPasswordHash: string;\n code: string;\n codeVerifier: string;\n ssoRedirectUrl: string;\n clientId: string;\n clientSecret: string;\n twoFactorProvidersData: Map;\n selectedTwoFactorProviderType: TwoFactorProviderType = null;\n\n private key: SymmetricCryptoKey;\n\n constructor(private cryptoService: CryptoService, private apiService: ApiService,\n private userService: UserService, private tokenService: TokenService,\n private appIdService: AppIdService, private i18nService: I18nService,\n private platformUtilsService: PlatformUtilsService, private messagingService: MessagingService,\n private vaultTimeoutService: VaultTimeoutService, private logService: LogService,\n private setCryptoKeys = true) {\n }\n\n init() {\n TwoFactorProviders[TwoFactorProviderType.Email].name = this.i18nService.t('emailTitle');\n TwoFactorProviders[TwoFactorProviderType.Email].description = this.i18nService.t('emailDesc');\n\n TwoFactorProviders[TwoFactorProviderType.Authenticator].name = this.i18nService.t('authenticatorAppTitle');\n TwoFactorProviders[TwoFactorProviderType.Authenticator].description =\n this.i18nService.t('authenticatorAppDesc');\n\n TwoFactorProviders[TwoFactorProviderType.Duo].description = this.i18nService.t('duoDesc');\n\n TwoFactorProviders[TwoFactorProviderType.OrganizationDuo].name =\n 'Duo (' + this.i18nService.t('organization') + ')';\n TwoFactorProviders[TwoFactorProviderType.OrganizationDuo].description =\n this.i18nService.t('duoOrganizationDesc');\n\n TwoFactorProviders[TwoFactorProviderType.U2f].name = this.i18nService.t('u2fTitle');\n TwoFactorProviders[TwoFactorProviderType.U2f].description = this.i18nService.t('u2fDesc');\n\n TwoFactorProviders[TwoFactorProviderType.Yubikey].name = this.i18nService.t('yubiKeyTitle');\n TwoFactorProviders[TwoFactorProviderType.Yubikey].description = this.i18nService.t('yubiKeyDesc');\n }\n\n async logIn(email: string, masterPassword: string): Promise {\n this.selectedTwoFactorProviderType = null;\n const key = await this.makePreloginKey(masterPassword, email);\n const hashedPassword = await this.cryptoService.hashPassword(masterPassword, key);\n return await this.logInHelper(email, hashedPassword, null, null, null, null, null,\n key, null, null, null);\n }\n\n async logInSso(code: string, codeVerifier: string, redirectUrl: string): Promise {\n this.selectedTwoFactorProviderType = null;\n return await this.logInHelper(null, null, code, codeVerifier, redirectUrl, null, null,\n null, null, null, null);\n }\n\n async logInApiKey(clientId: string, clientSecret: string): Promise {\n this.selectedTwoFactorProviderType = null;\n return await this.logInHelper(null, null, null, null, null, clientId, clientSecret,\n null, null, null, null);\n }\n\n async logInTwoFactor(twoFactorProvider: TwoFactorProviderType, twoFactorToken: string,\n remember?: boolean): Promise {\n return await this.logInHelper(this.email, this.masterPasswordHash, this.code, this.codeVerifier,\n this.ssoRedirectUrl, this.clientId, this.clientSecret, this.key, twoFactorProvider,\n twoFactorToken, remember);\n }\n\n async logInComplete(email: string, masterPassword: string, twoFactorProvider: TwoFactorProviderType,\n twoFactorToken: string, remember?: boolean): Promise {\n this.selectedTwoFactorProviderType = null;\n const key = await this.makePreloginKey(masterPassword, email);\n const hashedPassword = await this.cryptoService.hashPassword(masterPassword, key);\n return await this.logInHelper(email, hashedPassword, null, null, null, null, null, key,\n twoFactorProvider, twoFactorToken, remember);\n }\n\n async logInSsoComplete(code: string, codeVerifier: string, redirectUrl: string,\n twoFactorProvider: TwoFactorProviderType, twoFactorToken: string, remember?: boolean): Promise {\n this.selectedTwoFactorProviderType = null;\n return await this.logInHelper(null, null, code, codeVerifier, redirectUrl, null,\n null, null, twoFactorProvider, twoFactorToken, remember);\n }\n\n async logInApiKeyComplete(clientId: string, clientSecret: string, twoFactorProvider: TwoFactorProviderType,\n twoFactorToken: string, remember?: boolean): Promise {\n this.selectedTwoFactorProviderType = null;\n return await this.logInHelper(null, null, null, null, null, clientId, clientSecret, null,\n twoFactorProvider, twoFactorToken, remember);\n }\n\n logOut(callback: Function) {\n callback();\n this.messagingService.send('loggedOut');\n }\n\n getSupportedTwoFactorProviders(win: Window): any[] {\n const providers: any[] = [];\n if (this.twoFactorProvidersData == null) {\n return providers;\n }\n\n if (this.twoFactorProvidersData.has(TwoFactorProviderType.OrganizationDuo) &&\n this.platformUtilsService.supportsDuo()) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.OrganizationDuo]);\n }\n\n if (this.twoFactorProvidersData.has(TwoFactorProviderType.Authenticator)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Authenticator]);\n }\n\n if (this.twoFactorProvidersData.has(TwoFactorProviderType.Yubikey)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Yubikey]);\n }\n\n if (this.twoFactorProvidersData.has(TwoFactorProviderType.Duo) && this.platformUtilsService.supportsDuo()) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Duo]);\n }\n\n if (this.twoFactorProvidersData.has(TwoFactorProviderType.U2f) && this.platformUtilsService.supportsU2f(win)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.U2f]);\n }\n\n if (this.twoFactorProvidersData.has(TwoFactorProviderType.Email)) {\n providers.push(TwoFactorProviders[TwoFactorProviderType.Email]);\n }\n\n return providers;\n }\n\n getDefaultTwoFactorProvider(u2fSupported: boolean): TwoFactorProviderType {\n if (this.twoFactorProvidersData == null) {\n return null;\n }\n\n if (this.selectedTwoFactorProviderType != null &&\n this.twoFactorProvidersData.has(this.selectedTwoFactorProviderType)) {\n return this.selectedTwoFactorProviderType;\n }\n\n let providerType: TwoFactorProviderType = null;\n let providerPriority = -1;\n this.twoFactorProvidersData.forEach((value, type) => {\n const provider = (TwoFactorProviders as any)[type];\n if (provider != null && provider.priority > providerPriority) {\n if (type === TwoFactorProviderType.U2f && !u2fSupported) {\n return;\n }\n\n providerType = type;\n providerPriority = provider.priority;\n }\n });\n\n return providerType;\n }\n\n async makePreloginKey(masterPassword: string, email: string): Promise {\n email = email.trim().toLowerCase();\n let kdf: KdfType = null;\n let kdfIterations: number = null;\n try {\n const preloginResponse = await this.apiService.postPrelogin(new PreloginRequest(email));\n if (preloginResponse != null) {\n kdf = preloginResponse.kdf;\n kdfIterations = preloginResponse.kdfIterations;\n }\n } catch (e) {\n if (e == null || e.statusCode !== 404) {\n throw e;\n }\n }\n return this.cryptoService.makeKey(masterPassword, email, kdf, kdfIterations);\n }\n\n authingWithApiKey(): boolean {\n return this.clientId != null && this.clientSecret != null;\n }\n\n authingWithSso(): boolean {\n return this.code != null && this.codeVerifier != null && this.ssoRedirectUrl != null;\n }\n\n authingWithPassword(): boolean {\n return this.email != null && this.masterPasswordHash != null;\n }\n\n private async logInHelper(email: string, hashedPassword: string, code: string, codeVerifier: string,\n redirectUrl: string, clientId: string, clientSecret: string, key: SymmetricCryptoKey,\n twoFactorProvider?: TwoFactorProviderType, twoFactorToken?: string, remember?: boolean): Promise {\n const storedTwoFactorToken = await this.tokenService.getTwoFactorToken(email);\n const appId = await this.appIdService.getAppId();\n const deviceRequest = new DeviceRequest(appId, this.platformUtilsService);\n\n let emailPassword: string[] = [];\n let codeCodeVerifier: string[] = [];\n let clientIdClientSecret: string[] = [];\n\n if (email != null && hashedPassword != null) {\n emailPassword = [email, hashedPassword];\n } else {\n emailPassword = null;\n }\n if (code != null && codeVerifier != null && redirectUrl != null) {\n codeCodeVerifier = [code, codeVerifier, redirectUrl];\n } else {\n codeCodeVerifier = null;\n }\n if (clientId != null && clientSecret != null) {\n clientIdClientSecret = [clientId, clientSecret];\n } else {\n clientIdClientSecret = null;\n }\n\n let request: TokenRequest;\n if (twoFactorToken != null && twoFactorProvider != null) {\n request = new TokenRequest(emailPassword, codeCodeVerifier, clientIdClientSecret, twoFactorProvider,\n twoFactorToken, remember, deviceRequest);\n } else if (storedTwoFactorToken != null) {\n request = new TokenRequest(emailPassword, codeCodeVerifier, clientIdClientSecret, TwoFactorProviderType.Remember,\n storedTwoFactorToken, false, deviceRequest);\n } else {\n request = new TokenRequest(emailPassword, codeCodeVerifier, clientIdClientSecret, null,\n null, false, deviceRequest);\n }\n\n const response = await this.apiService.postIdentityToken(request);\n\n this.clearState();\n const result = new AuthResult();\n result.twoFactor = !(response as any).accessToken;\n\n if (result.twoFactor) {\n // two factor required\n const twoFactorResponse = response as IdentityTwoFactorResponse;\n this.email = email;\n this.masterPasswordHash = hashedPassword;\n this.code = code;\n this.codeVerifier = codeVerifier;\n this.ssoRedirectUrl = redirectUrl;\n this.clientId = clientId;\n this.clientSecret = clientSecret;\n this.key = this.setCryptoKeys ? key : null;\n this.twoFactorProvidersData = twoFactorResponse.twoFactorProviders2;\n result.twoFactorProviders = twoFactorResponse.twoFactorProviders2;\n return result;\n }\n\n const tokenResponse = response as IdentityTokenResponse;\n result.resetMasterPassword = tokenResponse.resetMasterPassword;\n if (tokenResponse.twoFactorToken != null) {\n await this.tokenService.setTwoFactorToken(tokenResponse.twoFactorToken, email);\n }\n\n await this.tokenService.setTokens(tokenResponse.accessToken, tokenResponse.refreshToken);\n await this.userService.setInformation(this.tokenService.getUserId(), this.tokenService.getEmail(),\n tokenResponse.kdf, tokenResponse.kdfIterations);\n if (this.setCryptoKeys) {\n if (key != null) {\n await this.cryptoService.setKey(key);\n }\n if (hashedPassword != null) {\n await this.cryptoService.setKeyHash(hashedPassword);\n }\n\n // Skip this step during SSO new user flow. No key is returned from server.\n if (code == null || tokenResponse.key != null) {\n await this.cryptoService.setEncKey(tokenResponse.key);\n\n // User doesn't have a key pair yet (old account), let's generate one for them\n if (tokenResponse.privateKey == null) {\n try {\n const keyPair = await this.cryptoService.makeKeyPair();\n await this.apiService.postAccountKeys(new KeysRequest(keyPair[0], keyPair[1].encryptedString));\n tokenResponse.privateKey = keyPair[1].encryptedString;\n } catch (e) {\n // tslint:disable-next-line\n this.logService.error(e);\n }\n }\n\n await this.cryptoService.setEncPrivateKey(tokenResponse.privateKey);\n }\n }\n\n if (this.vaultTimeoutService != null) {\n this.vaultTimeoutService.biometricLocked = false;\n }\n this.messagingService.send('loggedIn');\n return result;\n }\n\n private clearState(): void {\n this.key = null;\n this.email = null;\n this.masterPasswordHash = null;\n this.code = null;\n this.codeVerifier = null;\n this.ssoRedirectUrl = null;\n this.clientId = null;\n this.clientSecret = null;\n this.twoFactorProvidersData = null;\n this.selectedTwoFactorProviderType = null;\n }\n}\n","export class SelectionReadOnlyRequest {\n id: string;\n readOnly: boolean;\n hidePasswords: boolean;\n\n constructor(id: string, readOnly: boolean, hidePasswords: boolean) {\n this.id = id;\n this.readOnly = readOnly;\n this.hidePasswords = hidePasswords;\n }\n}\n","export enum OrganizationUserType {\n Owner = 0,\n Admin = 1,\n User = 2,\n Manager = 3,\n Custom = 4,\n}\n","export enum DeviceType {\n Android = 0,\n iOS = 1,\n ChromeExtension = 2,\n FirefoxExtension = 3,\n OperaExtension = 4,\n EdgeExtension = 5,\n WindowsDesktop = 6,\n MacOsDesktop = 7,\n LinuxDesktop = 8,\n ChromeBrowser = 9,\n FirefoxBrowser = 10,\n OperaBrowser = 11,\n EdgeBrowser = 12,\n IEBrowser = 13,\n UnknownBrowser = 14,\n AndroidAmazon = 15,\n UWP = 16,\n SafariBrowser = 17,\n VivaldiBrowser = 18,\n VivaldiExtension = 19,\n SafariExtension = 20,\n}\n","export abstract class SettingsService {\n clearCache: () => void;\n getEquivalentDomains: () => Promise;\n setEquivalentDomains: (equivalentDomains: string[][]) => Promise;\n clear: (userId: string) => Promise;\n}\n","export enum PlanType {\n Free = 0,\n FamiliesAnnually2019 = 1,\n TeamsMonthly2019 = 2,\n TeamsAnnually2019 = 3,\n EnterpriseMonthly2019 = 4,\n EnterpriseAnnually2019 = 5,\n Custom = 6,\n FamiliesAnnually = 7,\n TeamsMonthly = 8,\n TeamsAnnually = 9,\n EnterpriseMonthly = 10,\n EnterpriseAnnually = 11,\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { PolicyService } from 'jslib/abstractions/policy.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\n\nimport { PaymentComponent } from './payment.component';\nimport { TaxInfoComponent } from './tax-info.component';\n\nimport { PlanType } from 'jslib/enums/planType';\nimport { PolicyType } from 'jslib/enums/policyType';\nimport { ProductType } from 'jslib/enums/productType';\n\nimport { OrganizationCreateRequest } from 'jslib/models/request/organizationCreateRequest';\nimport { OrganizationUpgradeRequest } from 'jslib/models/request/organizationUpgradeRequest';\nimport { PlanResponse } from 'jslib/models/response/planResponse';\n\n@Component({\n selector: 'app-organization-plans',\n templateUrl: 'organization-plans.component.html',\n})\nexport class OrganizationPlansComponent implements OnInit {\n @ViewChild(PaymentComponent) paymentComponent: PaymentComponent;\n @ViewChild(TaxInfoComponent) taxComponent: TaxInfoComponent;\n\n @Input() organizationId: string;\n @Input() showFree = true;\n @Input() showCancel = false;\n @Input() product: ProductType = ProductType.Free;\n @Input() plan: PlanType = PlanType.Free;\n @Output() onSuccess = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n loading: boolean = true;\n selfHosted: boolean = false;\n ownedBusiness: boolean = false;\n premiumAccessAddon: boolean = false;\n additionalStorage: number = 0;\n additionalSeats: number = 0;\n name: string;\n billingEmail: string;\n businessName: string;\n productTypes = ProductType;\n formPromise: Promise;\n singleOrgPolicyBlock: boolean = false;\n\n plans: PlanResponse[];\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private cryptoService: CryptoService,\n private router: Router, private syncService: SyncService,\n private policyService: PolicyService) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n if (!this.selfHosted) {\n const plans = await this.apiService.getPlans();\n this.plans = plans.data;\n if (this.product === ProductType.Enterprise || this.product === ProductType.Teams) {\n this.ownedBusiness = true;\n }\n }\n this.loading = false;\n }\n\n get createOrganization() {\n return this.organizationId == null;\n }\n\n get selectedPlan() {\n return this.plans.find((plan) => plan.type === this.plan);\n }\n\n get selectedPlanInterval() {\n return this.selectedPlan.isAnnual\n ? 'year'\n : 'month';\n }\n\n get selectableProducts() {\n let validPlans = this.plans.filter((plan) => plan.type !== PlanType.Custom);\n\n if (this.ownedBusiness) {\n validPlans = validPlans.filter((plan) => plan.canBeUsedByBusiness);\n }\n\n if (!this.showFree) {\n validPlans = validPlans.filter((plan) => plan.product !== ProductType.Free);\n }\n\n validPlans = validPlans\n .filter((plan) => !plan.legacyYear\n && !plan.disabled\n && (plan.isAnnual || plan.product === this.productTypes.Free));\n\n return validPlans;\n }\n\n get selectablePlans() {\n return this.plans.filter((plan) => !plan.legacyYear && !plan.disabled && plan.product === this.product);\n }\n\n additionalStoragePriceMonthly(selectedPlan: PlanResponse) {\n if (!selectedPlan.isAnnual) {\n return selectedPlan.additionalStoragePricePerGb;\n }\n return selectedPlan.additionalStoragePricePerGb / 12;\n }\n\n seatPriceMonthly(selectedPlan: PlanResponse) {\n if (!selectedPlan.isAnnual) {\n return selectedPlan.seatPrice;\n }\n return selectedPlan.seatPrice / 12;\n }\n\n additionalStorageTotal(plan: PlanResponse): number {\n if (!plan.hasAdditionalStorageOption) {\n return 0;\n }\n\n return plan.additionalStoragePricePerGb * Math.abs(this.additionalStorage || 0);\n }\n\n seatTotal(plan: PlanResponse): number {\n if (!plan.hasAdditionalSeatsOption) {\n return 0;\n }\n\n return plan.seatPrice * Math.abs(this.additionalSeats || 0);\n }\n\n get subtotal() {\n let subTotal = this.selectedPlan.basePrice;\n if (this.selectedPlan.hasAdditionalSeatsOption && this.additionalSeats) {\n subTotal += this.seatTotal(this.selectedPlan);\n }\n if (this.selectedPlan.hasAdditionalStorageOption && this.additionalStorage) {\n subTotal += this.additionalStorageTotal(this.selectedPlan);\n }\n if (this.selectedPlan.hasPremiumAccessOption && this.premiumAccessAddon) {\n subTotal += this.selectedPlan.premiumAccessOptionPrice;\n }\n return subTotal;\n }\n\n get taxCharges() {\n return this.taxComponent != null && this.taxComponent.taxRate != null ?\n (this.taxComponent.taxRate / 100) * this.subtotal :\n 0;\n }\n\n get total() {\n return (this.subtotal + this.taxCharges) || 0;\n }\n\n changedProduct() {\n this.plan = this.selectablePlans[0].type;\n if (!this.selectedPlan.hasPremiumAccessOption) {\n this.premiumAccessAddon = false;\n }\n if (!this.selectedPlan.hasAdditionalStorageOption) {\n this.additionalStorage = 0;\n }\n if (!this.selectedPlan.hasAdditionalSeatsOption) {\n this.additionalSeats = 0;\n } else if (!this.additionalSeats && !this.selectedPlan.baseSeats &&\n this.selectedPlan.hasAdditionalSeatsOption) {\n this.additionalSeats = 1;\n }\n }\n\n changedOwnedBusiness() {\n if (!this.ownedBusiness || this.selectedPlan.canBeUsedByBusiness) {\n return;\n }\n this.product = ProductType.Teams;\n this.plan = PlanType.TeamsAnnually;\n }\n\n changedCountry() {\n this.paymentComponent.hideBank = this.taxComponent.taxInfo.country !== 'US';\n // Bank Account payments are only available for US customers\n if (this.paymentComponent.hideBank &&\n this.paymentComponent.method === PaymentMethodType.BankAccount) {\n this.paymentComponent.method = PaymentMethodType.Card;\n this.paymentComponent.changeMethod();\n }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n async submit() {\n if (this.singleOrgPolicyBlock) {\n return;\n } else {\n const policies = await this.policyService.getAll(PolicyType.SingleOrg);\n this.singleOrgPolicyBlock = policies.some(policy => policy.enabled);\n if (this.singleOrgPolicyBlock) {\n return;\n }\n }\n\n let files: FileList = null;\n if (this.createOrganization && this.selfHosted) {\n const fileEl = document.getElementById('file') as HTMLInputElement;\n files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n }\n\n try {\n const doSubmit = async () => {\n let orgId: string = null;\n if (this.createOrganization) {\n let tokenResult: [string, PaymentMethodType] = null;\n if (!this.selfHosted && this.plan !== PlanType.Free) {\n tokenResult = await this.paymentComponent.createPaymentToken();\n }\n const shareKey = await this.cryptoService.makeShareKey();\n const key = shareKey[0].encryptedString;\n const collection = await this.cryptoService.encrypt(\n this.i18nService.t('defaultCollection'), shareKey[1]);\n const collectionCt = collection.encryptedString;\n\n if (this.selfHosted) {\n const fd = new FormData();\n fd.append('license', files[0]);\n fd.append('key', key);\n fd.append('collectionName', collectionCt);\n const response = await this.apiService.postOrganizationLicense(fd);\n orgId = response.id;\n } else {\n const request = new OrganizationCreateRequest();\n request.key = key;\n request.collectionName = collectionCt;\n request.name = this.name;\n request.billingEmail = this.billingEmail;\n\n if (this.selectedPlan.type === PlanType.Free) {\n request.planType = PlanType.Free;\n } else {\n request.paymentToken = tokenResult[0];\n request.paymentMethodType = tokenResult[1];\n request.businessName = this.ownedBusiness ? this.businessName : null;\n request.additionalSeats = this.additionalSeats;\n request.additionalStorageGb = this.additionalStorage;\n request.premiumAccessAddon = this.selectedPlan.hasPremiumAccessOption &&\n this.premiumAccessAddon;\n request.planType = this.selectedPlan.type;\n request.billingAddressPostalCode = this.taxComponent.taxInfo.postalCode;\n request.billingAddressCountry = this.taxComponent.taxInfo.country;\n if (this.taxComponent.taxInfo.includeTaxId) {\n request.taxIdNumber = this.taxComponent.taxInfo.taxId;\n request.billingAddressLine1 = this.taxComponent.taxInfo.line1;\n request.billingAddressLine2 = this.taxComponent.taxInfo.line2;\n request.billingAddressCity = this.taxComponent.taxInfo.city;\n request.billingAddressState = this.taxComponent.taxInfo.state;\n }\n }\n const response = await this.apiService.postOrganization(request);\n orgId = response.id;\n }\n } else {\n const request = new OrganizationUpgradeRequest();\n request.businessName = this.ownedBusiness ? this.businessName : null;\n request.additionalSeats = this.additionalSeats;\n request.additionalStorageGb = this.additionalStorage;\n request.premiumAccessAddon = this.selectedPlan.hasPremiumAccessOption &&\n this.premiumAccessAddon;\n request.planType = this.selectedPlan.type;\n request.billingAddressCountry = this.taxComponent.taxInfo.country;\n request.billingAddressPostalCode = this.taxComponent.taxInfo.postalCode;\n\n const result = await this.apiService.postOrganizationUpgrade(this.organizationId, request);\n if (!result.success && result.paymentIntentClientSecret != null) {\n await this.paymentComponent.handleStripeCardPayment(result.paymentIntentClientSecret, null);\n }\n orgId = this.organizationId;\n }\n\n if (orgId != null) {\n await this.apiService.refreshIdentityToken();\n await this.syncService.fullSync(true);\n if (this.createOrganization) {\n this.analytics.eventTrack.next({ action: 'Created Organization' });\n this.toasterService.popAsync('success',\n this.i18nService.t('organizationCreated'), this.i18nService.t('organizationReadyToGo'));\n } else {\n this.analytics.eventTrack.next({ action: 'Upgraded Organization' });\n this.toasterService.popAsync('success', null, this.i18nService.t('organizationUpgraded'));\n }\n this.router.navigate(['/organizations/' + orgId]);\n }\n };\n\n this.formPromise = doSubmit();\n await this.formPromise;\n this.onSuccess.emit();\n } catch { }\n }\n\n}\n","\n \n {{'loading' | i18n}}\n\n\n

{{'uploadLicenseFileOrg' | i18n}}

\n
\n
\n \n \n {{'licenseFileDesc' | i18n : 'bitwarden_organization_license.json'}}\n
\n \n
\n
\n
\n

{{'generalInformation' | i18n}}

\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n

{{'chooseYourPlan' | i18n}}

\n
\n \n \n
\n
\n \n

{{'users' | i18n}}

\n
\n
\n \n \n {{'userSeatsHowManyDesc' | i18n}}\n
\n
\n
\n

{{'addons' | i18n}}

\n
\n
\n \n \n {{'userSeatsAdditionalDesc' | i18n : selectedPlan.baseSeats : (seatPriceMonthly(selectedPlan) | currency:'$')}}\n
\n
\n
\n
\n \n \n {{'additionalStorageIntervalDesc' | i18n : '1 GB' : (additionalStoragePriceMonthly(selectedPlan) | currency:'$') : ('month' | i18n)}}\n
\n
\n
\n
\n
\n \n \n
\n {{'premiumAccessDesc' | i18n : (3.33 | currency:'$') : ('month' | i18n)}}\n
\n
\n

{{'summary' | i18n}}

\n
\n \n \n
\n
\n

{{ (createOrganization ? 'paymentInformation' : 'billingInformation') | i18n}}

\n \n \n
\n
\n {{ 'planPrice' | i18n }}: {{ subtotal | currency: 'USD $' }}\n
\n \n {{ 'estimatedTax' | i18n }}: {{ taxCharges | currency: 'USD $' }}\n \n
\n
\n

{{'total' | i18n}}:\n {{total | currency:'USD $'}}/{{selectedPlanInterval | i18n}}

\n
\n {{'paymentChargedWithTrial' | i18n : (selectedPlanInterval | i18n) }}\n \n \n \n \n {{'paymentCharged' | i18n : (selectedPlanInterval | i18n) }}\n
\n
\n {{'singleOrgBlockCreateMessage' | i18n}}\n
\n
\n \n \n
\n
\n","import { EncryptionType } from '../../enums/encryptionType';\n\nimport { Utils } from '../../misc/utils';\n\nexport class SymmetricCryptoKey {\n key: ArrayBuffer;\n encKey?: ArrayBuffer;\n macKey?: ArrayBuffer;\n encType: EncryptionType;\n\n keyB64: string;\n encKeyB64: string;\n macKeyB64: string;\n\n meta: any;\n\n constructor(key: ArrayBuffer, encType?: EncryptionType) {\n if (key == null) {\n throw new Error('Must provide key');\n }\n\n if (encType == null) {\n if (key.byteLength === 32) {\n encType = EncryptionType.AesCbc256_B64;\n } else if (key.byteLength === 64) {\n encType = EncryptionType.AesCbc256_HmacSha256_B64;\n } else {\n throw new Error('Unable to determine encType.');\n }\n }\n\n this.key = key;\n this.encType = encType;\n\n if (encType === EncryptionType.AesCbc256_B64 && key.byteLength === 32) {\n this.encKey = key;\n this.macKey = null;\n } else if (encType === EncryptionType.AesCbc128_HmacSha256_B64 && key.byteLength === 32) {\n this.encKey = key.slice(0, 16);\n this.macKey = key.slice(16, 32);\n } else if (encType === EncryptionType.AesCbc256_HmacSha256_B64 && key.byteLength === 64) {\n this.encKey = key.slice(0, 32);\n this.macKey = key.slice(32, 64);\n } else {\n throw new Error('Unsupported encType/key length.');\n }\n\n if (this.key != null) {\n this.keyB64 = Utils.fromBufferToB64(this.key);\n }\n if (this.encKey != null) {\n this.encKeyB64 = Utils.fromBufferToB64(this.encKey);\n }\n if (this.macKey != null) {\n this.macKeyB64 = Utils.fromBufferToB64(this.macKey);\n }\n }\n}\n","import { CardData } from '../data/cardData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nimport { CardView } from '../view/cardView';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport class Card extends Domain {\n cardholderName: CipherString;\n brand: CipherString;\n number: CipherString;\n expMonth: CipherString;\n expYear: CipherString;\n code: CipherString;\n\n constructor(obj?: CardData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string, encKey?: SymmetricCryptoKey): Promise {\n return this.decryptObj(new CardView(this), {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n }, orgId, encKey);\n }\n\n toCardData(): CardData {\n const c = new CardData();\n this.buildDataModel(this, c, {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n });\n return c;\n }\n}\n","import { FieldType } from '../../enums/fieldType';\n\nimport { FieldData } from '../data/fieldData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nimport { FieldView } from '../view/fieldView';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport class Field extends Domain {\n name: CipherString;\n value: CipherString;\n type: FieldType;\n\n constructor(obj?: FieldData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.type = obj.type;\n this.buildDomainModel(this, obj, {\n name: null,\n value: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string, encKey?: SymmetricCryptoKey): Promise {\n return this.decryptObj(new FieldView(this), {\n name: null,\n value: null,\n }, orgId, encKey);\n }\n\n toFieldData(): FieldData {\n const f = new FieldData();\n this.buildDataModel(this, f, {\n name: null,\n value: null,\n type: null,\n }, ['type']);\n return f;\n }\n}\n","import { IdentityData } from '../data/identityData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nimport { IdentityView } from '../view/identityView';\n\nexport class Identity extends Domain {\n title: CipherString;\n firstName: CipherString;\n middleName: CipherString;\n lastName: CipherString;\n address1: CipherString;\n address2: CipherString;\n address3: CipherString;\n city: CipherString;\n state: CipherString;\n postalCode: CipherString;\n country: CipherString;\n company: CipherString;\n email: CipherString;\n phone: CipherString;\n ssn: CipherString;\n username: CipherString;\n passportNumber: CipherString;\n licenseNumber: CipherString;\n\n constructor(obj?: IdentityData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n title: null,\n firstName: null,\n middleName: null,\n lastName: null,\n address1: null,\n address2: null,\n address3: null,\n city: null,\n state: null,\n postalCode: null,\n country: null,\n company: null,\n email: null,\n phone: null,\n ssn: null,\n username: null,\n passportNumber: null,\n licenseNumber: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string, encKey?: SymmetricCryptoKey): Promise {\n return this.decryptObj(new IdentityView(this), {\n title: null,\n firstName: null,\n middleName: null,\n lastName: null,\n address1: null,\n address2: null,\n address3: null,\n city: null,\n state: null,\n postalCode: null,\n country: null,\n company: null,\n email: null,\n phone: null,\n ssn: null,\n username: null,\n passportNumber: null,\n licenseNumber: null,\n }, orgId, encKey);\n }\n\n toIdentityData(): IdentityData {\n const i = new IdentityData();\n this.buildDataModel(this, i, {\n title: null,\n firstName: null,\n middleName: null,\n lastName: null,\n address1: null,\n address2: null,\n address3: null,\n city: null,\n state: null,\n postalCode: null,\n country: null,\n company: null,\n email: null,\n phone: null,\n ssn: null,\n username: null,\n passportNumber: null,\n licenseNumber: null,\n });\n return i;\n }\n}\n","import { LoginUri } from './loginUri';\n\nimport { LoginData } from '../data/loginData';\n\nimport { LoginView } from '../view/loginView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport class Login extends Domain {\n uris: LoginUri[];\n username: CipherString;\n password: CipherString;\n passwordRevisionDate?: Date;\n totp: CipherString;\n\n constructor(obj?: LoginData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.passwordRevisionDate = obj.passwordRevisionDate != null ? new Date(obj.passwordRevisionDate) : null;\n this.buildDomainModel(this, obj, {\n username: null,\n password: null,\n totp: null,\n }, alreadyEncrypted, []);\n\n if (obj.uris) {\n this.uris = [];\n obj.uris.forEach((u) => {\n this.uris.push(new LoginUri(u, alreadyEncrypted));\n });\n }\n }\n\n async decrypt(orgId: string, encKey?: SymmetricCryptoKey): Promise {\n const view = await this.decryptObj(new LoginView(this), {\n username: null,\n password: null,\n totp: null,\n }, orgId, encKey);\n\n if (this.uris != null) {\n view.uris = [];\n for (let i = 0; i < this.uris.length; i++) {\n const uri = await this.uris[i].decrypt(orgId, encKey);\n view.uris.push(uri);\n }\n }\n\n return view;\n }\n\n toLoginData(): LoginData {\n const l = new LoginData();\n l.passwordRevisionDate = this.passwordRevisionDate != null ? this.passwordRevisionDate.toISOString() : null;\n this.buildDataModel(this, l, {\n username: null,\n password: null,\n totp: null,\n });\n\n if (this.uris != null && this.uris.length > 0) {\n l.uris = [];\n this.uris.forEach((u) => {\n l.uris.push(u.toLoginUriData());\n });\n }\n\n return l;\n }\n}\n","import { UriMatchType } from '../../enums/uriMatchType';\n\nimport { LoginUriData } from '../data/loginUriData';\n\nimport { LoginUriView } from '../view/loginUriView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport class LoginUri extends Domain {\n uri: CipherString;\n match: UriMatchType;\n\n constructor(obj?: LoginUriData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.match = obj.match;\n this.buildDomainModel(this, obj, {\n uri: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(orgId: string, encKey?: SymmetricCryptoKey): Promise {\n return this.decryptObj(new LoginUriView(this), {\n uri: null,\n }, orgId, encKey);\n }\n\n toLoginUriData(): LoginUriData {\n const u = new LoginUriData();\n this.buildDataModel(this, u, {\n uri: null,\n }, ['match']);\n return u;\n }\n}\n","export enum UriMatchType {\n Domain = 0,\n Host = 1,\n StartsWith = 2,\n Exact = 3,\n RegularExpression = 4,\n Never = 5,\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\n\nimport { SecureNoteData } from '../data/secureNoteData';\n\nimport Domain from './domainBase';\n\nimport { SecureNoteView } from '../view/secureNoteView';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport class SecureNote extends Domain {\n type: SecureNoteType;\n\n constructor(obj?: SecureNoteData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.type = obj.type;\n }\n\n decrypt(orgId: string, encKey?: SymmetricCryptoKey): Promise {\n return Promise.resolve(new SecureNoteView(this));\n }\n\n toSecureNoteData(): SecureNoteData {\n const n = new SecureNoteData();\n n.type = this.type;\n return n;\n }\n}\n","import {\n Directive,\n ElementRef,\n forwardRef,\n HostListener,\n Input,\n Renderer2,\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NgControl,\n NG_VALUE_ACCESSOR,\n} from '@angular/forms';\n\n// ref: https://juristr.com/blog/2018/02/ng-true-value-directive/\n@Directive({\n selector: 'input[type=checkbox][appTrueFalseValue]',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TrueFalseValueDirective),\n multi: true,\n },\n ],\n})\nexport class TrueFalseValueDirective implements ControlValueAccessor {\n @Input() trueValue = true;\n @Input() falseValue = false;\n\n constructor(private elementRef: ElementRef, private renderer: Renderer2) { }\n\n @HostListener('change', ['$event'])\n onHostChange(ev: any) {\n this.propagateChange(ev.target.checked ? this.trueValue : this.falseValue);\n }\n\n writeValue(obj: any): void {\n if (obj === this.trueValue) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'checked', true);\n } else {\n this.renderer.setProperty(this.elementRef.nativeElement, 'checked', false);\n }\n }\n\n registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n registerOnTouched(fn: any): void { /* nothing */ }\n\n setDisabledState?(isDisabled: boolean): void { /* nothing */ }\n\n private propagateChange = (_: any) => { /* nothing */ };\n}\n","import {\n Component,\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { GroupingsComponent as BaseGroupingsComponent } from 'jslib/angular/components/groupings.component';\n\n@Component({\n selector: 'app-vault-groupings',\n templateUrl: 'groupings.component.html',\n})\nexport class GroupingsComponent extends BaseGroupingsComponent {\n @Output() onSearchTextChanged = new EventEmitter();\n\n searchText: string = '';\n searchPlaceholder: string = null;\n\n constructor(collectionService: CollectionService, folderService: FolderService,\n storageService: StorageService, userService: UserService) {\n super(collectionService, folderService, storageService, userService);\n }\n\n searchTextChanged() {\n this.onSearchTextChanged.emit(this.searchText);\n }\n}\n","
\n
\n {{'filters' | i18n}}\n \n \n \n
\n
\n \n \n

{{'types' | i18n}}

\n \n

\n \n {{'loading' | i18n}}\n

\n \n \n

\n {{'folders' | i18n}}\n \n \n \n

\n \n
\n \n

{{'collections' | i18n}}

\n \n
\n
\n
\n
\n","import { OrganizationData } from '../data/organizationData';\n\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\nimport { PermissionsApi } from '../api/permissionsApi';\n\n\nexport class Organization {\n id: string;\n name: string;\n status: OrganizationUserStatusType;\n type: OrganizationUserType;\n enabled: boolean;\n usePolicies: boolean;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n useApi: boolean;\n useBusinessPortal: boolean;\n useSso: boolean;\n selfHost: boolean;\n usersGetPremium: boolean;\n seats: number;\n maxCollections: number;\n maxStorageGb?: number;\n ssoBound: boolean;\n identifier: string;\n permissions: PermissionsApi;\n\n constructor(obj?: OrganizationData) {\n if (obj == null) {\n return;\n }\n\n this.id = obj.id;\n this.name = obj.name;\n this.status = obj.status;\n this.type = obj.type;\n this.enabled = obj.enabled;\n this.usePolicies = obj.usePolicies;\n this.useGroups = obj.useGroups;\n this.useDirectory = obj.useDirectory;\n this.useEvents = obj.useEvents;\n this.useTotp = obj.useTotp;\n this.use2fa = obj.use2fa;\n this.useApi = obj.useApi;\n this.useBusinessPortal = obj.useBusinessPortal;\n this.useSso = obj.useSso;\n this.selfHost = obj.selfHost;\n this.usersGetPremium = obj.usersGetPremium;\n this.seats = obj.seats;\n this.maxCollections = obj.maxCollections;\n this.maxStorageGb = obj.maxStorageGb;\n this.ssoBound = obj.ssoBound;\n this.identifier = obj.identifier;\n this.permissions = obj.permissions;\n }\n\n get canAccess() {\n if (this.type === OrganizationUserType.Owner) {\n return true;\n }\n return this.enabled && this.status === OrganizationUserStatusType.Confirmed;\n }\n\n get isManager() {\n return this.type === OrganizationUserType.Manager || this.type === OrganizationUserType.Owner ||\n this.type === OrganizationUserType.Admin;\n }\n\n get isAdmin() {\n return this.type === OrganizationUserType.Owner || this.type === OrganizationUserType.Admin;\n }\n\n get isOwner() {\n return this.type === OrganizationUserType.Owner;\n }\n\n get canAccessBusinessPortal() {\n return this.isAdmin || this.permissions.accessBusinessPortal;\n }\n\n get canAccessEventLogs() {\n return this.isAdmin || this.permissions.accessEventLogs;\n }\n\n get canAccessImportExport() {\n return this.isAdmin || this.permissions.accessImportExport;\n }\n\n get canAccessReports() {\n return this.isAdmin || this.permissions.accessReports;\n }\n\n get canManageAllCollections() {\n return this.isAdmin || this.permissions.manageAllCollections;\n }\n\n get canManageAssignedCollections() {\n return this.isManager || this.permissions.manageAssignedCollections;\n }\n\n get canManageGroups() {\n return this.isAdmin || this.permissions.manageGroups;\n }\n\n get canManageSso() {\n return this.isAdmin || this.permissions.manageSso;\n }\n\n get canManagePolicies() {\n return this.isAdmin || this.permissions.managePolicies;\n }\n\n get canManageUsers() {\n return this.isAdmin || this.permissions.manageUsers;\n }\n}\n","import { View } from './view';\n\nimport { SendFile } from '../domain/sendFile';\n\nexport class SendFileView implements View {\n id: string = null;\n url: string = null;\n size: string = null;\n sizeName: string = null;\n fileName: string = null;\n\n constructor(f?: SendFile) {\n if (!f) {\n return;\n }\n\n this.id = f.id;\n this.url = f.url;\n this.size = f.size;\n this.sizeName = f.sizeName;\n }\n\n get fileSize(): number {\n try {\n if (this.size != null) {\n return parseInt(this.size, null);\n }\n } catch { }\n return 0;\n }\n}\n","import { View } from './view';\n\nimport { SendText } from '../domain/sendText';\n\nexport class SendTextView implements View {\n text: string = null;\n hidden: boolean;\n\n constructor(t?: SendText) {\n if (!t) {\n return;\n }\n\n this.hidden = t.hidden;\n }\n\n get maskedText(): string {\n return this.text != null ? '••••••••' : null;\n }\n}\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-organizations',\n templateUrl: 'organizations.component.html',\n})\nexport class OrganizationsComponent implements OnInit {\n @Input() vault = false;\n\n organizations: Organization[];\n loaded: boolean = false;\n actionPromise: Promise;\n\n constructor(private userService: UserService, private platformUtilsService: PlatformUtilsService,\n private i18nService: I18nService, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private syncService: SyncService) { }\n\n async ngOnInit() {\n if (!this.vault) {\n await this.syncService.fullSync(true);\n await this.load();\n }\n }\n\n async load() {\n const orgs = await this.userService.getAllOrganizations();\n orgs.sort(Utils.getSortFunction(this.i18nService, 'name'));\n this.organizations = orgs;\n this.loaded = true;\n }\n\n async unlinkSso(org: Organization) {\n const confirmed = await this.platformUtilsService.showDialog(\n 'Are you sure you want to unlink SSO for this organization?', org.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.actionPromise = this.apiService.deleteSsoUser(org.id).then(() => {\n return this.syncService.fullSync(true);\n });\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Unlinked SSO' });\n this.toasterService.popAsync('success', null, 'Unlinked SSO');\n await this.load();\n } catch { }\n }\n\n async leave(org: Organization) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('leaveOrganizationConfirmation'), org.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.actionPromise = this.apiService.postLeaveOrganization(org.id).then(() => {\n return this.syncService.fullSync(true);\n });\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Left Organization' });\n this.toasterService.popAsync('success', null, this.i18nService.t('leftOrganization'));\n await this.load();\n } catch { }\n }\n}\n","\n

\n \n {{'loading' | i18n}}\n

\n \n \n

{{'noOrganizationsList' | i18n}}

\n
\n \n \n {{'newOrganization' | i18n}}\n \n
\n\n
\n

\n {{'organizations' | i18n}}\n \n \n \n {{'loading' | i18n}}\n \n \n

\n \n \n {{'newOrganization' | i18n}}\n \n
\n \n \n {{'loading' | i18n}}\n \n \n \n

{{'noOrganizationsList' | i18n}}

\n \n \n {{'newOrganization' | i18n}}\n \n
\n \n \n \n \n \n \n \n \n
\n \n \n {{o.name}}\n \n \n {{'organizationIsDisabled' | i18n}}\n \n \n
\n \n \n
\n
\n
\n
\n","import { BaseResponse } from './baseResponse';\n\nexport class SelectionReadOnlyResponse extends BaseResponse {\n id: string;\n readOnly: boolean;\n hidePasswords: boolean;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.readOnly = this.getResponseProperty('ReadOnly');\n this.hidePasswords = this.getResponseProperty('HidePasswords');\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\n@Component({\n selector: 'app-navbar',\n templateUrl: 'navbar.component.html',\n})\nexport class NavbarComponent implements OnInit {\n selfHosted = false;\n name: string;\n email: string;\n\n constructor(private messagingService: MessagingService, private platformUtilsService: PlatformUtilsService,\n private tokenService: TokenService) {\n this.selfHosted = this.platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n this.name = await this.tokenService.getName();\n this.email = await this.tokenService.getEmail();\n if (this.name == null || this.name.trim() === '') {\n this.name = this.email;\n }\n }\n\n lock() {\n this.messagingService.send('lockVault');\n }\n\n logOut() {\n this.messagingService.send('logout');\n }\n}\n","\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\n@Component({\n selector: 'app-footer',\n templateUrl: 'footer.component.html',\n})\nexport class FooterComponent implements OnInit {\n version: string;\n year: string = '2015';\n\n constructor(private platformUtilsService: PlatformUtilsService) { }\n\n ngOnInit() {\n this.year = new Date().getFullYear().toString();\n this.version = this.platformUtilsService.getApplicationVersion();\n }\n}\n","
\n
\n
\n © {{year}}, Bitwarden Inc.\n
\n
\n
\n {{'versionNumber' | i18n : version}}\n
\n
\n
\n","import { Injectable } from '@angular/core';\n\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { ErrorResponse } from '../../models/response/errorResponse';\n\n@Injectable()\nexport class ValidationService {\n constructor(private i18nService: I18nService, private platformUtilsService: PlatformUtilsService) { }\n\n showError(data: any): string[] {\n const defaultErrorMessage = this.i18nService.t('unexpectedError');\n let errors: string[] = [];\n\n if (data != null && typeof data === 'string') {\n errors.push(data);\n } else if (data == null || typeof data !== 'object') {\n errors.push(defaultErrorMessage);\n } else if (data.validationErrors != null) {\n errors = errors.concat((data as ErrorResponse).getAllMessages());\n } else {\n errors.push(data.message ? data.message : defaultErrorMessage);\n }\n\n if (errors.length === 1) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'), errors[0]);\n } else if (errors.length > 1) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'), errors, {\n timeout: 5000 * errors.length,\n });\n }\n\n return errors;\n }\n}\n","export enum EncryptionType {\n AesCbc256_B64 = 0,\n AesCbc128_HmacSha256_B64 = 1,\n AesCbc256_HmacSha256_B64 = 2,\n Rsa2048_OaepSha256_B64 = 3,\n Rsa2048_OaepSha1_B64 = 4,\n Rsa2048_OaepSha256_HmacSha256_B64 = 5,\n Rsa2048_OaepSha1_HmacSha256_B64 = 6,\n}\n","export class KeysRequest {\n publicKey: string;\n encryptedPrivateKey: string;\n\n constructor(publicKey: string, encryptedPrivateKey: string) {\n this.publicKey = publicKey;\n this.encryptedPrivateKey = encryptedPrivateKey;\n }\n}\n","import { OnInit } from '@angular/core';\n\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { MessagingService } from '../../abstractions/messaging.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { PolicyService } from '../../abstractions/policy.service';\nimport { UserService } from '../../abstractions/user.service';\n\nimport { CipherString } from '../../models/domain/cipherString';\nimport { MasterPasswordPolicyOptions } from '../../models/domain/masterPasswordPolicyOptions';\nimport { SymmetricCryptoKey } from '../../models/domain/symmetricCryptoKey';\n\nimport { KdfType } from '../../enums/kdfType';\n\nexport class ChangePasswordComponent implements OnInit {\n masterPassword: string;\n masterPasswordRetype: string;\n formPromise: Promise;\n masterPasswordScore: number;\n enforcedPolicyOptions: MasterPasswordPolicyOptions;\n\n protected email: string;\n protected kdf: KdfType;\n protected kdfIterations: number;\n\n private masterPasswordStrengthTimeout: any;\n\n constructor(protected i18nService: I18nService, protected cryptoService: CryptoService,\n protected messagingService: MessagingService, protected userService: UserService,\n protected passwordGenerationService: PasswordGenerationService,\n protected platformUtilsService: PlatformUtilsService, protected policyService: PolicyService) { }\n\n async ngOnInit() {\n this.email = await this.userService.getEmail();\n this.enforcedPolicyOptions = await this.policyService.getMasterPasswordPolicyOptions();\n }\n\n getPasswordScoreAlertDisplay() {\n if (this.enforcedPolicyOptions == null) {\n return '';\n }\n\n let str: string;\n switch (this.enforcedPolicyOptions.minComplexity) {\n case 4:\n str = this.i18nService.t('strong');\n break;\n case 3:\n str = this.i18nService.t('good');\n break;\n default:\n str = this.i18nService.t('weak');\n break;\n }\n return str + ' (' + this.enforcedPolicyOptions.minComplexity + ')';\n }\n\n async submit() {\n if (!await this.strongPassword()) {\n return;\n }\n\n if (!await this.setupSubmitActions()) {\n return;\n }\n\n const email = await this.userService.getEmail();\n if (this.kdf == null) {\n this.kdf = await this.userService.getKdf();\n }\n if (this.kdfIterations == null) {\n this.kdfIterations = await this.userService.getKdfIterations();\n }\n const key = await this.cryptoService.makeKey(this.masterPassword, email.trim().toLowerCase(),\n this.kdf, this.kdfIterations);\n const masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, key);\n\n let encKey: [SymmetricCryptoKey, CipherString] = null;\n const existingEncKey = await this.cryptoService.getEncKey();\n if (existingEncKey == null) {\n encKey = await this.cryptoService.makeEncKey(key);\n } else {\n encKey = await this.cryptoService.remakeEncKey(key);\n }\n\n await this.performSubmitActions(masterPasswordHash, key, encKey);\n }\n\n async setupSubmitActions(): Promise {\n // Override in sub-class\n // Can be used for additional validation and/or other processes the should occur before changing passwords\n return true;\n }\n\n async performSubmitActions(masterPasswordHash: string, key: SymmetricCryptoKey,\n encKey: [SymmetricCryptoKey, CipherString]) {\n // Override in sub-class\n }\n\n async strongPassword(): Promise {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return false;\n }\n if (this.masterPassword.length < 8) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassLength'));\n return false;\n }\n if (this.masterPassword !== this.masterPasswordRetype) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassDoesntMatch'));\n return false;\n }\n\n const strengthResult = this.passwordGenerationService.passwordStrength(this.masterPassword,\n this.getPasswordStrengthUserInput());\n\n if (this.enforcedPolicyOptions != null &&\n !this.policyService.evaluateMasterPassword(\n strengthResult.score,\n this.masterPassword,\n this.enforcedPolicyOptions)) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPasswordPolicyRequirementsNotMet'));\n return false;\n }\n\n if (strengthResult != null && strengthResult.score < 3) {\n const result = await this.platformUtilsService.showDialog(this.i18nService.t('weakMasterPasswordDesc'),\n this.i18nService.t('weakMasterPassword'), this.i18nService.t('yes'), this.i18nService.t('no'),\n 'warning');\n if (!result) {\n return false;\n }\n }\n\n return true;\n }\n\n updatePasswordStrength() {\n if (this.masterPasswordStrengthTimeout != null) {\n clearTimeout(this.masterPasswordStrengthTimeout);\n }\n this.masterPasswordStrengthTimeout = setTimeout(() => {\n const strengthResult = this.passwordGenerationService.passwordStrength(this.masterPassword,\n this.getPasswordStrengthUserInput());\n this.masterPasswordScore = strengthResult == null ? null : strengthResult.score;\n }, 300);\n }\n\n async logOut() {\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('logOutConfirmation'),\n this.i18nService.t('logOut'), this.i18nService.t('logOut'), this.i18nService.t('cancel'));\n if (confirmed) {\n this.messagingService.send('logout');\n }\n }\n\n private getPasswordStrengthUserInput() {\n let userInput: string[] = [];\n const atPosition = this.email.indexOf('@');\n if (atPosition > -1) {\n userInput = userInput.concat(this.email.substr(0, atPosition).trim().toLowerCase().split(/[^A-Za-z0-9]/));\n }\n return userInput;\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { OrganizationUserStatusType } from 'jslib/enums/organizationUserStatusType';\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\nimport { OrganizationUserUserDetailsResponse } from 'jslib/models/response/organizationUserResponse';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-entity-users',\n templateUrl: 'entity-users.component.html',\n})\nexport class EntityUsersComponent implements OnInit {\n @Input() entity: 'group' | 'collection';\n @Input() entityId: string;\n @Input() entityName: string;\n @Input() organizationId: string;\n @Output() onEditedUsers = new EventEmitter();\n\n organizationUserType = OrganizationUserType;\n organizationUserStatusType = OrganizationUserStatusType;\n\n showSelected = false;\n loading = true;\n formPromise: Promise;\n selectedCount = 0;\n searchText: string;\n\n private allUsers: OrganizationUserUserDetailsResponse[] = [];\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n await this.loadUsers();\n this.loading = false;\n }\n\n get users() {\n if (this.showSelected) {\n return this.allUsers.filter((u) => (u as any).checked);\n } else {\n return this.allUsers;\n }\n }\n\n async loadUsers() {\n const users = await this.apiService.getOrganizationUsers(this.organizationId);\n this.allUsers = users.data.map((r) => r).sort(Utils.getSortFunction(this.i18nService, 'email'));\n if (this.entity === 'group') {\n const response = await this.apiService.getGroupUsers(this.organizationId, this.entityId);\n if (response != null && users.data.length > 0) {\n response.forEach((s) => {\n const user = users.data.filter((u) => u.id === s);\n if (user != null && user.length > 0) {\n (user[0] as any).checked = true;\n }\n });\n }\n } else if (this.entity === 'collection') {\n const response = await this.apiService.getCollectionUsers(this.organizationId, this.entityId);\n if (response != null && users.data.length > 0) {\n response.forEach((s) => {\n const user = users.data.filter((u) => !u.accessAll && u.id === s.id);\n if (user != null && user.length > 0) {\n (user[0] as any).checked = true;\n (user[0] as any).readOnly = s.readOnly;\n (user[0] as any).hidePasswords = s.hidePasswords;\n }\n });\n }\n }\n\n this.allUsers.forEach((u) => {\n if (this.entity === 'collection' && u.accessAll) {\n (u as any).checked = true;\n }\n if ((u as any).checked) {\n this.selectedCount++;\n }\n });\n }\n\n check(u: OrganizationUserUserDetailsResponse) {\n if (this.entity === 'collection' && u.accessAll) {\n return;\n }\n (u as any).checked = !(u as any).checked;\n this.selectedChanged(u);\n }\n\n selectedChanged(u: OrganizationUserUserDetailsResponse) {\n if ((u as any).checked) {\n this.selectedCount++;\n } else {\n if (this.entity === 'collection') {\n (u as any).readOnly = false;\n (u as any).hidePasswords = false;\n }\n this.selectedCount--;\n }\n }\n\n filterSelected(showSelected: boolean) {\n this.showSelected = showSelected;\n }\n\n async submit() {\n try {\n if (this.entity === 'group') {\n const selections = this.users.filter((u) => (u as any).checked).map((u) => u.id);\n this.formPromise = this.apiService.putGroupUsers(this.organizationId, this.entityId, selections);\n } else {\n const selections = this.users.filter((u) => (u as any).checked && !u.accessAll)\n .map((u) => new SelectionReadOnlyRequest(u.id, !!(u as any).readOnly, !!(u as any).hidePasswords));\n this.formPromise = this.apiService.putCollectionUsers(this.organizationId, this.entityId, selections);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({\n action: this.entity === 'group' ? 'Edited Group Users' : 'Edited Collection Users',\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('updatedUsers'));\n this.onEditedUsers.emit();\n } catch { }\n }\n}\n","
\n
\n
\n
\n

\n {{'userAccess' | i18n}}\n {{entityName}}\n

\n \n
\n
\n \n {{'loading' | i18n}}\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n {{'noUsersInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
  {{'name' | i18n}} {{'userType' | i18n}}{{'hidePasswords' |\n i18n}}{{'readOnly' |\n i18n}}
\n \n \n \n \n {{u.email}}\n {{'invited'\n | i18n}}\n {{'accepted'\n | i18n}}\n {{u.name}}\n \n \n \n {{'userAccessAllItems' | i18n}}\n \n \n {{'owner' | i18n}}\n {{'admin' | i18n}}\n {{'manager' | i18n}}\n {{'user' | i18n}}\n {{'custom' | i18n}}\n \n \n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n","import {\n Component,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { EventService } from '../../services/event.service';\n\nimport { EventResponse } from 'jslib/models/response/eventResponse';\nimport { ListResponse } from 'jslib/models/response/listResponse';\n\n@Component({\n selector: 'app-entity-events',\n templateUrl: 'entity-events.component.html',\n})\nexport class EntityEventsComponent implements OnInit {\n @Input() name: string;\n @Input() entity: 'user' | 'cipher';\n @Input() entityId: string;\n @Input() organizationId: string;\n @Input() showUser = false;\n\n loading = true;\n loaded = false;\n events: any[];\n start: string;\n end: string;\n continuationToken: string;\n refreshPromise: Promise;\n morePromise: Promise;\n\n private orgUsersUserIdMap = new Map();\n private orgUsersIdMap = new Map();\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private eventService: EventService, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n const defaultDates = this.eventService.getDefaultDateFilters();\n this.start = defaultDates[0];\n this.end = defaultDates[1];\n await this.load();\n }\n\n async load() {\n if (this.showUser) {\n const response = await this.apiService.getOrganizationUsers(this.organizationId);\n response.data.forEach((u) => {\n const name = u.name == null || u.name.trim() === '' ? u.email : u.name;\n this.orgUsersIdMap.set(u.id, { name: name, email: u.email });\n this.orgUsersUserIdMap.set(u.userId, { name: name, email: u.email });\n });\n }\n await this.loadEvents(true);\n this.loaded = true;\n }\n\n async loadEvents(clearExisting: boolean) {\n if (this.refreshPromise != null || this.morePromise != null) {\n return;\n }\n\n let dates: string[] = null;\n try {\n dates = this.eventService.formatDateFilters(this.start, this.end);\n } catch (e) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidDateRange'));\n return;\n }\n\n this.loading = true;\n let response: ListResponse;\n try {\n let promise: Promise;\n if (this.entity === 'user') {\n promise = this.apiService.getEventsOrganizationUser(this.organizationId, this.entityId,\n dates[0], dates[1], clearExisting ? null : this.continuationToken);\n } else {\n promise = this.apiService.getEventsCipher(this.entityId,\n dates[0], dates[1], clearExisting ? null : this.continuationToken);\n }\n if (clearExisting) {\n this.refreshPromise = promise;\n } else {\n this.morePromise = promise;\n }\n response = await promise;\n } catch { }\n\n this.continuationToken = response.continuationToken;\n const events = response.data.map((r) => {\n const userId = r.actingUserId == null ? r.userId : r.actingUserId;\n const eventInfo = this.eventService.getEventInfo(r);\n const user = this.showUser && userId != null && this.orgUsersUserIdMap.has(userId) ?\n this.orgUsersUserIdMap.get(userId) : null;\n return {\n message: eventInfo.message,\n appIcon: eventInfo.appIcon,\n appName: eventInfo.appName,\n userId: userId,\n userName: user != null ? user.name : this.showUser ? this.i18nService.t('unknown') : null,\n userEmail: user != null ? user.email : this.showUser ? '' : null,\n date: r.date,\n ip: r.ipAddress,\n type: r.type,\n };\n });\n\n if (!clearExisting && this.events != null && this.events.length > 0) {\n this.events = this.events.concat(events);\n } else {\n this.events = events;\n }\n\n this.loading = false;\n this.morePromise = null;\n this.refreshPromise = null;\n }\n}\n","
\n
\n
\n
\n

\n {{'eventLogs' | i18n}}\n {{name}}\n

\n \n
\n
\n \n {{'loading' | i18n}}\n
\n
\n
\n
\n \n \n -\n \n \n
\n \n
\n
\n
\n {{'noEventsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{'timestamp' | i18n}}\n {{'device' | i18n}}\n {{'user' | i18n}}{{'event' | i18n}}
{{e.date | date:'medium'}}\n \n {{e.appName}}, {{e.ip}}\n \n {{e.userName}}\n
\n \n
\n
\n \n
\n
\n
\n
\n","import { BaseResponse } from '../response/baseResponse';\n\nexport class PermissionsApi extends BaseResponse {\n accessBusinessPortal: boolean;\n accessEventLogs: boolean;\n accessImportExport: boolean;\n accessReports: boolean;\n manageAllCollections: boolean;\n manageAssignedCollections: boolean;\n manageCiphers: boolean;\n manageGroups: boolean;\n manageSso: boolean;\n managePolicies: boolean;\n manageUsers: boolean;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return this;\n }\n this.accessBusinessPortal = this.getResponseProperty('AccessBusinessPortal');\n this.accessEventLogs = this.getResponseProperty('AccessEventLogs');\n this.accessImportExport = this.getResponseProperty('AccessImportExport');\n this.accessReports = this.getResponseProperty('AccessReports');\n this.manageAllCollections = this.getResponseProperty('ManageAllCollections');\n this.manageAssignedCollections = this.getResponseProperty('ManageAssignedCollections');\n this.manageCiphers = this.getResponseProperty('ManageCiphers');\n this.manageGroups = this.getResponseProperty('ManageGroups');\n this.manageSso = this.getResponseProperty('ManageSso');\n this.managePolicies = this.getResponseProperty('ManagePolicies');\n this.manageUsers = this.getResponseProperty('ManageUsers');\n }\n}\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\nimport { ApiKeyResponse } from 'jslib/models/response/apiKeyResponse';\n\n@Component({\n selector: 'app-api-key',\n templateUrl: 'api-key.component.html',\n})\nexport class ApiKeyComponent {\n keyType: string;\n isRotation: boolean;\n postKey: (entityId: string, request: PasswordVerificationRequest) => Promise;\n entityId: string;\n scope: string;\n grantType: string;\n apiKeyTitle: string;\n apiKeyWarning: string;\n apiKeyDescription: string;\n\n masterPassword: string;\n formPromise: Promise;\n clientId: string;\n clientSecret: string;\n\n constructor(private i18nService: I18nService, private analytics: Angulartics2,\n private toasterService: ToasterService, private cryptoService: CryptoService) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.postKey(this.entityId, request);\n const response = await this.formPromise;\n this.clientSecret = response.apiKey;\n this.clientId = `${this.keyType}.${this.entityId}`;\n this.analytics.eventTrack.next({ action: `Viewed ${this.keyType} API Key` });\n } catch { }\n }\n}\n","
\n
\n
\n
\n

{{apiKeyTitle | i18n}}

\n \n
\n
\n

{{apiKeyDescription | i18n}}

\n \n \n \n \n {{apiKeyWarning | i18n}}\n \n

\n client_id:
\n {{clientId}}\n

\n

\n client_secret:
\n {{clientSecret}}\n

\n

\n scope:
\n {{scope}}\n

\n

\n grant_type:
\n {{grantType}}\n

\n
\n
\n
\n \n \n
\n
\n
\n
\n","import {\n Component,\n Input,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\n@Component({\n selector: 'app-purge-vault',\n templateUrl: 'purge-vault.component.html',\n})\nexport class PurgeVaultComponent {\n @Input() organizationId?: string = null;\n\n masterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private router: Router) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.postPurgeCiphers(request, this.organizationId);\n await this.formPromise;\n this.analytics.eventTrack.next({\n action: this.organizationId != null ? 'Purged Organization Vault' : 'Purged Vault',\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('vaultPurged'));\n if (this.organizationId != null) {\n this.router.navigate(['organizations', this.organizationId, 'vault']);\n } else {\n this.router.navigate(['vault']);\n }\n } catch { }\n }\n}\n","
\n
\n
\n
\n

{{'purgeVault' | i18n}}

\n \n
\n
\n

{{(organizationId ? 'purgeOrgVaultDesc' : 'purgeVaultDesc') | i18n}}

\n {{'purgeVaultWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { BillingResponse } from 'jslib/models/response/billingResponse';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\nimport { TransactionType } from 'jslib/enums/transactionType';\nimport { VerifyBankRequest } from 'jslib/models/request/verifyBankRequest';\n\n@Component({\n selector: 'app-user-billing',\n templateUrl: 'user-billing.component.html',\n})\nexport class UserBillingComponent implements OnInit {\n loading = false;\n firstLoaded = false;\n showAdjustPayment = false;\n showAddCredit = false;\n billing: BillingResponse;\n paymentMethodType = PaymentMethodType;\n transactionType = TransactionType;\n organizationId: string;\n verifyAmount1: number;\n verifyAmount2: number;\n\n verifyBankPromise: Promise;\n\n constructor(protected apiService: ApiService, protected i18nService: I18nService,\n protected analytics: Angulartics2, protected toasterService: ToasterService,\n protected platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n await this.load();\n this.firstLoaded = true;\n }\n\n async load() {\n if (this.loading) {\n return;\n }\n this.loading = true;\n if (this.organizationId != null) {\n this.billing = await this.apiService.getOrganizationBilling(this.organizationId);\n } else {\n this.billing = await this.apiService.getUserBilling();\n }\n this.loading = false;\n }\n\n async verifyBank() {\n if (this.loading) {\n return;\n }\n\n try {\n const request = new VerifyBankRequest();\n request.amount1 = this.verifyAmount1;\n request.amount2 = this.verifyAmount2;\n this.verifyBankPromise = this.apiService.postOrganizationVerifyBank(this.organizationId, request);\n await this.verifyBankPromise;\n this.analytics.eventTrack.next({ action: 'Verified Bank Account' });\n this.toasterService.popAsync('success', null, this.i18nService.t('verifiedBankAccount'));\n this.load();\n } catch { }\n }\n\n addCredit() {\n if (this.paymentSourceInApp) {\n this.platformUtilsService.showDialog(this.i18nService.t('cannotPerformInAppPurchase'),\n this.i18nService.t('addCredit'), null, null, 'warning');\n return;\n }\n this.showAddCredit = true;\n }\n\n closeAddCredit(load: boolean) {\n this.showAddCredit = false;\n if (load) {\n this.load();\n }\n }\n\n changePayment() {\n if (this.paymentSourceInApp) {\n this.platformUtilsService.showDialog(this.i18nService.t('cannotPerformInAppPurchase'),\n this.i18nService.t('changePaymentMethod'), null, null, 'warning');\n return;\n }\n this.showAdjustPayment = true;\n }\n\n closePayment(load: boolean) {\n this.showAdjustPayment = false;\n if (load) {\n this.load();\n }\n }\n\n get isCreditBalance() {\n return this.billing == null || this.billing.balance <= 0;\n }\n\n get creditOrBalance() {\n return Math.abs(this.billing != null ? this.billing.balance : 0);\n }\n\n get paymentSource() {\n return this.billing != null ? this.billing.paymentSource : null;\n }\n\n get paymentSourceInApp() {\n return this.paymentSource != null &&\n (this.paymentSource.type === PaymentMethodType.AppleInApp ||\n this.paymentSource.type === PaymentMethodType.GoogleInApp);\n }\n\n get invoices() {\n return this.billing != null ? this.billing.invoices : null;\n }\n\n get transactions() {\n return this.billing != null ? this.billing.transactions : null;\n }\n}\n","
\n

\n {{'billing' | i18n}}\n

\n \n
\n\n \n {{'loading' | i18n}}\n\n\n

{{(isCreditBalance ? 'accountCredit' : 'accountBalance') | i18n}}

\n

{{creditOrBalance | currency:'$'}}

\n

{{'creditAppliedDesc' | i18n}}

\n \n \n \n

{{'paymentMethod' | i18n}}

\n

{{'noPaymentMethod' | i18n}}

\n \n \n

{{'verifyBankAccountDesc' | i18n}} {{'verifyBankAccountFailureWarning' | i18n}}

\n
\n \n
\n
\n
$0.
\n
\n \n
\n \n
\n
\n
$0.
\n
\n \n
\n \n
\n
\n

\n \n {{'inAppPurchase' | i18n}}\n {{paymentSource.description}}\n

\n
\n \n \n \n

{{'invoices' | i18n}}

\n

{{'noInvoices' | i18n}}

\n \n \n \n \n \n \n \n \n \n
{{i.date | date:'mediumDate'}}\n \n \n \n {{'invoiceNumber' | i18n : i.number}}\n {{i.amount | currency:'$'}}\n \n \n {{'paid' | i18n}}\n \n \n \n {{'unpaid' | i18n}}\n \n
\n

{{'transactions' | i18n}}

\n

{{'noTransactions' | i18n}}

\n \n \n \n \n \n \n \n \n \n
{{t.createdDate | date:'mediumDate'}}\n \n {{'chargeNoun' | i18n}}\n \n {{'refundNoun' | i18n}}\n \n \n {{t.details}}\n \n {{t.amount | currency:'$'}}
\n * {{'chargesStatement' | i18n : 'BITWARDEN'}}\n
\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n ViewChild,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\n\nimport { BitPayInvoiceRequest } from 'jslib/models/request/bitPayInvoiceRequest';\n\nimport { WebConstants } from '../../services/webConstants';\n\n@Component({\n selector: 'app-add-credit',\n templateUrl: 'add-credit.component.html',\n})\nexport class AddCreditComponent implements OnInit {\n @Input() creditAmount: string;\n @Input() showOptions = true;\n @Input() method = PaymentMethodType.PayPal;\n @Input() organizationId: string;\n @Output() onAdded = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n @ViewChild('ppButtonForm', { read: ElementRef, static: true }) ppButtonFormRef: ElementRef;\n\n paymentMethodType = PaymentMethodType;\n ppButtonFormAction = WebConstants.paypal.buttonActionProduction;\n ppButtonBusinessId = WebConstants.paypal.businessIdProduction;\n ppButtonCustomField: string;\n ppLoading = false;\n subject: string;\n returnUrl: string;\n formPromise: Promise;\n\n private userId: string;\n private name: string;\n private email: string;\n\n constructor(private userService: UserService, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private platformUtilsService: PlatformUtilsService) {\n if (platformUtilsService.isDev()) {\n this.ppButtonFormAction = WebConstants.paypal.buttonActionSandbox;\n this.ppButtonBusinessId = WebConstants.paypal.businessIdSandbox;\n }\n }\n\n async ngOnInit() {\n if (this.organizationId != null) {\n if (this.creditAmount == null) {\n this.creditAmount = '20.00';\n }\n this.ppButtonCustomField = 'organization_id:' + this.organizationId;\n const org = await this.userService.getOrganization(this.organizationId);\n if (org != null) {\n this.subject = org.name;\n this.name = org.name;\n }\n } else {\n if (this.creditAmount == null) {\n this.creditAmount = '10.00';\n }\n this.userId = await this.userService.getUserId();\n this.subject = await this.userService.getEmail();\n this.email = this.subject;\n this.ppButtonCustomField = 'user_id:' + this.userId;\n }\n this.ppButtonCustomField += ',account_credit:1';\n this.returnUrl = window.location.href;\n }\n\n async submit() {\n if (this.creditAmount == null || this.creditAmount === '') {\n return;\n }\n\n if (this.method === PaymentMethodType.PayPal) {\n this.ppButtonFormRef.nativeElement.submit();\n this.ppLoading = true;\n return;\n }\n if (this.method === PaymentMethodType.BitPay) {\n try {\n const req = new BitPayInvoiceRequest();\n req.email = this.email;\n req.name = this.name;\n req.credit = true;\n req.amount = this.creditAmountNumber;\n req.organizationId = this.organizationId;\n req.userId = this.userId;\n req.returnUrl = this.returnUrl;\n this.formPromise = this.apiService.postBitPayInvoice(req);\n const bitPayUrl: string = await this.formPromise;\n this.platformUtilsService.launchUri(bitPayUrl);\n } catch { }\n return;\n }\n try {\n this.analytics.eventTrack.next({\n action: 'Added Credit',\n });\n this.onAdded.emit();\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n formatAmount() {\n try {\n if (this.creditAmount != null && this.creditAmount !== '') {\n const floatAmount = Math.abs(parseFloat(this.creditAmount));\n if (floatAmount > 0) {\n this.creditAmount = parseFloat((Math.round(floatAmount * 100) / 100).toString())\n .toFixed(2).toString();\n return;\n }\n }\n } catch { }\n this.creditAmount = '';\n }\n\n get creditAmountNumber(): number {\n if (this.creditAmount != null && this.creditAmount !== '') {\n try {\n return parseFloat(this.creditAmount);\n } catch { }\n }\n return null;\n }\n}\n","
\n
\n \n

{{'addCredit' | i18n}}

\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n \n
\n
$USD
\n \n
\n
\n
\n {{'creditDelayed' | i18n}}\n
\n \n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PaymentRequest } from 'jslib/models/request/paymentRequest';\n\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\n\nimport { PaymentComponent } from './payment.component';\nimport { TaxInfoComponent } from './tax-info.component';\n\n@Component({\n selector: 'app-adjust-payment',\n templateUrl: 'adjust-payment.component.html',\n})\nexport class AdjustPaymentComponent {\n @ViewChild(PaymentComponent, { static: true }) paymentComponent: PaymentComponent;\n @ViewChild(TaxInfoComponent, { static: true }) taxInfoComponent: TaxInfoComponent;\n\n @Input() currentType?: PaymentMethodType;\n @Input() organizationId: string;\n @Output() onAdjusted = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n paymentMethodType = PaymentMethodType;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n try {\n const request = new PaymentRequest();\n this.formPromise = this.paymentComponent.createPaymentToken().then((result) => {\n request.paymentToken = result[0];\n request.paymentMethodType = result[1];\n request.postalCode = this.taxInfoComponent.taxInfo.postalCode;\n request.country = this.taxInfoComponent.taxInfo.country;\n if (this.organizationId == null) {\n return this.apiService.postAccountPayment(request);\n } else {\n request.taxId = this.taxInfoComponent.taxInfo.taxId;\n request.state = this.taxInfoComponent.taxInfo.state;\n request.line1 = this.taxInfoComponent.taxInfo.line1;\n request.line2 = this.taxInfoComponent.taxInfo.line2;\n request.city = this.taxInfoComponent.taxInfo.city;\n request.state = this.taxInfoComponent.taxInfo.state;\n return this.apiService.postOrganizationPayment(this.organizationId, request);\n }\n });\n await this.formPromise;\n this.analytics.eventTrack.next({\n action: this.currentType == null ? 'Added Payment Method' : 'Changed Payment Method',\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('updatedPaymentMethod'));\n this.onAdjusted.emit();\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n changeCountry() {\n if (this.taxInfoComponent.taxInfo.country === 'US') {\n this.paymentComponent.hideBank = !this.organizationId;\n } else {\n this.paymentComponent.hideBank = true;\n if (this.paymentComponent.method === PaymentMethodType.BankAccount) {\n this.paymentComponent.method = PaymentMethodType.Card;\n this.paymentComponent.changeMethod();\n }\n }\n }\n}\n","
\n
\n \n

{{(currentType != null ? 'changePaymentMethod' : 'addPaymentMethod') | i18n}}

\n \n \n \n \n
\n
\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\n@Component({\n selector: 'app-update-license',\n templateUrl: 'update-license.component.html',\n})\nexport class UpdateLicenseComponent {\n @Input() organizationId: string;\n @Output() onUpdated = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async submit() {\n const fileEl = document.getElementById('file') as HTMLInputElement;\n const files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n try {\n const fd = new FormData();\n fd.append('license', files[0]);\n\n let updatePromise: Promise = null;\n if (this.organizationId == null) {\n updatePromise = this.apiService.postAccountLicense(fd);\n } else {\n updatePromise = this.apiService.postOrganizationLicenseUpdate(this.organizationId, fd);\n }\n\n this.formPromise = updatePromise.then(() => {\n return this.apiService.refreshIdentityToken();\n });\n\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Updated License' });\n this.toasterService.popAsync('success', null, this.i18nService.t('updatedLicense'));\n this.onUpdated.emit();\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n}\n","
\n
\n \n \n {{'licenseFileDesc' | i18n : (!organizationId ? 'bitwarden_premium_license.json' : 'bitwarden_organization_license.json')}}\n
\n \n \n
\n","export enum ProductType {\n Free = 0,\n Families = 1,\n Teams = 2,\n Enterprise = 3,\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\n\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { StorageRequest } from 'jslib/models/request/storageRequest';\n\nimport { PaymentResponse } from 'jslib/models/response/paymentResponse';\n\nimport { PaymentComponent } from './payment.component';\n\n@Component({\n selector: 'app-adjust-storage',\n templateUrl: 'adjust-storage.component.html',\n})\nexport class AdjustStorageComponent {\n @Input() storageGbPrice = 0;\n @Input() add = true;\n @Input() organizationId: string;\n @Input() interval = 'year';\n @Output() onAdjusted = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n @ViewChild(PaymentComponent, { static: true }) paymentComponent: PaymentComponent;\n\n storageAdjustment = 0;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private router: Router, private activatedRoute: ActivatedRoute) { }\n\n async submit() {\n try {\n const request = new StorageRequest();\n request.storageGbAdjustment = this.storageAdjustment;\n if (!this.add) {\n request.storageGbAdjustment *= -1;\n }\n\n let paymentFailed = false;\n const action = async () => {\n let response: Promise;\n if (this.organizationId == null) {\n response = this.formPromise = this.apiService.postAccountStorage(request);\n } else {\n response = this.formPromise = this.apiService.postOrganizationStorage(this.organizationId, request);\n }\n const result = await response;\n if (result != null && result.paymentIntentClientSecret != null) {\n try {\n await this.paymentComponent.handleStripeCardPayment(result.paymentIntentClientSecret, null);\n } catch {\n paymentFailed = true;\n }\n }\n };\n this.formPromise = action();\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.add ? 'Added Storage' : 'Removed Storage' });\n this.onAdjusted.emit(this.storageAdjustment);\n if (paymentFailed) {\n this.toasterService.popAsync({\n body: this.i18nService.t('couldNotChargeCardPayInvoice'),\n type: 'warning',\n timeout: 10000,\n });\n this.router.navigate(['../billing'], { relativeTo: this.activatedRoute });\n } else {\n this.toasterService.popAsync('success', null,\n this.i18nService.t('adjustedStorage', request.storageGbAdjustment.toString()));\n }\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n get adjustedStorageTotal(): number {\n return this.storageGbPrice * this.storageAdjustment;\n }\n}\n","
\n
\n \n

{{(add ? 'addStorage' : 'removeStorage') | i18n}}

\n
\n
\n \n \n
\n
\n
\n {{'total' | i18n}}: {{storageAdjustment || 0}} GB × {{storageGbPrice | currency:'$'}}\n = {{adjustedStorageTotal\n | currency:'$'}} /{{interval | i18n}}\n
\n \n \n \n {{(add ? 'storageAddNote' : 'storageRemoveNote') | i18n}}\n \n
\n
\n\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { UpdateTwoFactorDuoRequest } from 'jslib/models/request/updateTwoFactorDuoRequest';\nimport { TwoFactorDuoResponse } from 'jslib/models/response/twoFactorDuoResponse';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-duo',\n templateUrl: 'two-factor-duo.component.html',\n})\nexport class TwoFactorDuoComponent extends TwoFactorBaseComponent {\n type = TwoFactorProviderType.Duo;\n ikey: string;\n skey: string;\n host: string;\n formPromise: Promise;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorDuoRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.integrationKey = this.ikey;\n request.secretKey = this.skey;\n request.host = this.host;\n\n return super.enable(async () => {\n if (this.organizationId != null) {\n this.formPromise = this.apiService.putTwoFactorOrganizationDuo(this.organizationId, request);\n } else {\n this.formPromise = this.apiService.putTwoFactorDuo(request);\n }\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private processResponse(response: TwoFactorDuoResponse) {\n this.ikey = response.integrationKey;\n this.skey = response.secretKey;\n this.host = response.host;\n this.enabled = response.enabled;\n }\n}\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n Duo\n

\n \n
\n \n \n
\n
\n \n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n \"\"\n {{'twoFactorDuoIntegrationKey' | i18n}}: {{ikey}}\n
\n {{'twoFactorDuoSecretKey' | i18n}}: {{skey}}\n
\n {{'twoFactorDuoApiHostname' | i18n}}: {{host}}\n
\n \n \"\"\n

{{'twoFactorDuoDesc' | i18n}}

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n Type,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PolicyService } from 'jslib/abstractions/policy.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { TwoFactorProviders } from 'jslib/services/auth.service';\n\nimport { PolicyType } from 'jslib/enums/policyType';\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { TwoFactorAuthenticatorComponent } from './two-factor-authenticator.component';\nimport { TwoFactorDuoComponent } from './two-factor-duo.component';\nimport { TwoFactorEmailComponent } from './two-factor-email.component';\nimport { TwoFactorRecoveryComponent } from './two-factor-recovery.component';\nimport { TwoFactorU2fComponent } from './two-factor-u2f.component';\nimport { TwoFactorYubiKeyComponent } from './two-factor-yubikey.component';\n\n@Component({\n selector: 'app-two-factor-setup',\n templateUrl: 'two-factor-setup.component.html',\n})\nexport class TwoFactorSetupComponent implements OnInit {\n @ViewChild('recoveryTemplate', { read: ViewContainerRef, static: true }) recoveryModalRef: ViewContainerRef;\n @ViewChild('authenticatorTemplate', { read: ViewContainerRef, static: true }) authenticatorModalRef: ViewContainerRef;\n @ViewChild('yubikeyTemplate', { read: ViewContainerRef, static: true }) yubikeyModalRef: ViewContainerRef;\n @ViewChild('u2fTemplate', { read: ViewContainerRef, static: true }) u2fModalRef: ViewContainerRef;\n @ViewChild('duoTemplate', { read: ViewContainerRef, static: true }) duoModalRef: ViewContainerRef;\n @ViewChild('emailTemplate', { read: ViewContainerRef, static: true }) emailModalRef: ViewContainerRef;\n\n organizationId: string;\n providers: any[] = [];\n canAccessPremium: boolean;\n showPolicyWarning = false;\n loading = true;\n\n private modal: ModalComponent = null;\n\n constructor(protected apiService: ApiService, protected userService: UserService,\n protected componentFactoryResolver: ComponentFactoryResolver, protected messagingService: MessagingService,\n protected policyService: PolicyService) { }\n\n async ngOnInit() {\n this.canAccessPremium = await this.userService.canAccessPremium();\n\n for (const key in TwoFactorProviders) {\n if (!TwoFactorProviders.hasOwnProperty(key)) {\n continue;\n }\n\n const p = (TwoFactorProviders as any)[key];\n if (this.filterProvider(p.type)) {\n continue;\n }\n\n this.providers.push({\n type: p.type,\n name: p.name,\n description: p.description,\n enabled: false,\n premium: p.premium,\n sort: p.sort,\n });\n }\n\n this.providers.sort((a: any, b: any) => a.sort - b.sort);\n await this.load();\n }\n\n async load() {\n this.loading = true;\n const providerList = await this.getTwoFactorProviders();\n providerList.data.forEach((p) => {\n this.providers.forEach((p2) => {\n if (p.type === p2.type) {\n p2.enabled = p.enabled;\n }\n });\n });\n this.evaluatePolicies();\n this.loading = false;\n }\n\n manage(type: TwoFactorProviderType) {\n switch (type) {\n case TwoFactorProviderType.Authenticator:\n const authComp = this.openModal(this.authenticatorModalRef, TwoFactorAuthenticatorComponent);\n authComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Authenticator);\n });\n break;\n case TwoFactorProviderType.Yubikey:\n const yubiComp = this.openModal(this.yubikeyModalRef, TwoFactorYubiKeyComponent);\n yubiComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Yubikey);\n });\n break;\n case TwoFactorProviderType.Duo:\n const duoComp = this.openModal(this.duoModalRef, TwoFactorDuoComponent);\n duoComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Duo);\n });\n break;\n case TwoFactorProviderType.Email:\n const emailComp = this.openModal(this.emailModalRef, TwoFactorEmailComponent);\n emailComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.Email);\n });\n break;\n case TwoFactorProviderType.U2f:\n const u2fComp = this.openModal(this.u2fModalRef, TwoFactorU2fComponent);\n u2fComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.U2f);\n });\n break;\n default:\n break;\n }\n }\n\n recoveryCode() {\n this.openModal(this.recoveryModalRef, TwoFactorRecoveryComponent);\n }\n\n async premiumRequired() {\n if (!this.canAccessPremium) {\n this.messagingService.send('premiumRequired');\n return;\n }\n }\n\n protected getTwoFactorProviders() {\n return this.apiService.getTwoFactorProviders();\n }\n\n protected filterProvider(type: TwoFactorProviderType) {\n return type === TwoFactorProviderType.OrganizationDuo;\n }\n\n protected openModal(ref: ViewContainerRef, type: Type): T {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = ref.createComponent(factory).instance;\n const childComponent = this.modal.show(type, ref);\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n return childComponent;\n }\n\n protected updateStatus(enabled: boolean, type: TwoFactorProviderType) {\n if (!enabled && this.modal != null) {\n this.modal.close();\n }\n this.providers.forEach((p) => {\n if (p.type === type) {\n p.enabled = enabled;\n }\n });\n this.evaluatePolicies();\n }\n\n private async evaluatePolicies() {\n if (this.organizationId == null && this.providers.filter((p) => p.enabled).length === 1) {\n const policies = await this.policyService.getAll(PolicyType.TwoFactorAuthentication);\n this.showPolicyWarning = policies != null && policies.some((p) => p.enabled);\n } else {\n this.showPolicyWarning = false;\n }\n }\n}\n","
\n

{{'twoStepLogin' | i18n}}

\n
\n

{{'twoStepLoginDesc' | i18n}}

\n

{{'twoStepLoginOrganizationDesc' | i18n}}

\n\n

{{'twoStepLoginRecoveryWarning' | i18n}}

\n \n
\n

\n {{'providers' | i18n}}\n \n \n {{'loading' | i18n}}\n \n

\n\n {{'twoStepLoginPolicyUserWarning' | i18n}}\n\n
    \n
  • \n
    \n \"\"\n
    \n
    \n

    \n {{p.name}}\n \n \n {{'enabled' | i18n}}\n \n \n {{'premium' | i18n}}\n \n

    \n {{p.description}}\n
    \n
    \n \n
    \n
  • \n
\n\n\n\n\n\n\n\n","import { Component } from '@angular/core';\n\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { EventService } from 'jslib/abstractions/event.service';\nimport { ExportService } from 'jslib/abstractions/export.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { ExportComponent as BaseExportComponent } from 'jslib/angular/components/export.component';\n\n@Component({\n selector: 'app-export',\n templateUrl: 'export.component.html',\n})\nexport class ExportComponent extends BaseExportComponent {\n organizationId: string;\n\n constructor(cryptoService: CryptoService, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService, exportService: ExportService,\n eventService: EventService) {\n super(cryptoService, i18nService, platformUtilsService, exportService, eventService, window);\n }\n\n protected saved() {\n super.saved();\n this.masterPassword = null;\n this.platformUtilsService.showToast('success', null, this.i18nService.t('exportSuccess'));\n }\n}\n","
\n
\n

{{'exportVault' | i18n}}

\n
\n

{{'exportMasterPassword' | i18n}}

\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n
\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n} from '@angular/core';\n\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherReportComponent } from './cipher-report.component';\n\n@Component({\n selector: 'app-exposed-passwords-report',\n templateUrl: 'exposed-passwords-report.component.html',\n})\nexport class ExposedPasswordsReportComponent extends CipherReportComponent implements OnInit {\n exposedPasswordMap = new Map();\n\n constructor(protected cipherService: CipherService, protected auditService: AuditService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n userService: UserService) {\n super(componentFactoryResolver, userService, messagingService, true);\n }\n\n ngOnInit() {\n this.checkAccess();\n }\n\n async load() {\n if (await this.checkAccess()) {\n super.load();\n }\n }\n\n async setCiphers() {\n const allCiphers = await this.getAllCiphers();\n const exposedPasswordCiphers: CipherView[] = [];\n const promises: Promise[] = [];\n allCiphers.forEach((c) => {\n if (c.type !== CipherType.Login || c.login.password == null || c.login.password === '' || c.isDeleted) {\n return;\n }\n const promise = this.auditService.passwordLeaked(c.login.password).then((exposedCount) => {\n if (exposedCount > 0) {\n exposedPasswordCiphers.push(c);\n this.exposedPasswordMap.set(c.id, exposedCount);\n }\n });\n promises.push(promise);\n });\n await Promise.all(promises);\n this.ciphers = exposedPasswordCiphers;\n }\n\n protected getAllCiphers(): Promise {\n return this.cipherService.getAllDecrypted();\n }\n\n protected canManageCipher(c: CipherView): boolean {\n // this will only ever be false from the org view;\n return true;\n }\n}\n","
\n

{{'exposedPasswordsReport' | i18n}}

\n
\n

{{'exposedPasswordsReportDesc' | i18n}}

\n\n
\n \n {{'noExposedPasswords' | i18n}}\n \n \n \n {{'exposedPasswordsFoundDesc' | i18n : (ciphers.length | number)}}\n \n \n \n \n \n \n \n \n \n
\n \n \n \n {{c.name}}\n \n \n {{c.name}}\n \n \n \n {{'shared' | i18n}}\n \n \n \n {{'attachments' | i18n}}\n \n
\n {{c.subTitle}}\n
\n \n {{'exposedXTimes' | i18n : (exposedPasswordMap.get(c.id) | number)}}\n \n
\n
\n
\n\n","import { Component } from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { EventService } from 'jslib/abstractions/event.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { PolicyService } from 'jslib/abstractions/policy.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherData } from 'jslib/models/data/cipherData';\nimport { Cipher } from 'jslib/models/domain/cipher';\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherCreateRequest } from 'jslib/models/request/cipherCreateRequest';\nimport { CipherRequest } from 'jslib/models/request/cipherRequest';\n\nimport { AddEditComponent as BaseAddEditComponent } from '../../vault/add-edit.component';\n\n@Component({\n selector: 'app-org-vault-add-edit',\n templateUrl: '../../vault/add-edit.component.html',\n})\nexport class AddEditComponent extends BaseAddEditComponent {\n organization: Organization;\n originalCipher: Cipher = null;\n\n constructor(cipherService: CipherService, folderService: FolderService,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\n auditService: AuditService, stateService: StateService,\n userService: UserService, collectionService: CollectionService,\n totpService: TotpService, passwordGenerationService: PasswordGenerationService,\n private apiService: ApiService, messagingService: MessagingService,\n eventService: EventService, policyService: PolicyService) {\n super(cipherService, folderService, i18nService, platformUtilsService, auditService, stateService,\n userService, collectionService, totpService, passwordGenerationService, messagingService,\n eventService, policyService);\n }\n\n protected allowOwnershipAssignment() {\n if (this.ownershipOptions != null && (this.ownershipOptions.length > 1 || !this.allowPersonal)) {\n if (this.organization != null) {\n return this.cloneMode && this.organization.canManageAllCollections;\n } else {\n return !this.editMode || this.cloneMode;\n }\n }\n return false;\n }\n\n protected loadCollections() {\n if (!this.organization.canManageAllCollections) {\n return super.loadCollections();\n }\n return Promise.resolve(this.collections);\n }\n\n protected async loadCipher() {\n if (!this.organization.canManageAllCollections) {\n return await super.loadCipher();\n }\n const response = await this.apiService.getCipherAdmin(this.cipherId);\n const data = new CipherData(response);\n this.originalCipher = new Cipher(data);\n return new Cipher(data);\n }\n\n protected encryptCipher() {\n if (!this.organization.canManageAllCollections) {\n return super.encryptCipher();\n }\n return this.cipherService.encrypt(this.cipher, null, this.originalCipher);\n }\n\n protected async saveCipher(cipher: Cipher) {\n if (!this.organization.canManageAllCollections || cipher.organizationId == null) {\n return super.saveCipher(cipher);\n }\n if (this.editMode && !this.cloneMode) {\n const request = new CipherRequest(cipher);\n return this.apiService.putCipherAdmin(this.cipherId, request);\n } else {\n const request = new CipherCreateRequest(cipher);\n return this.apiService.postCipherAdmin(request);\n }\n }\n\n protected async deleteCipher() {\n if (!this.organization.canManageAllCollections) {\n return super.deleteCipher();\n }\n return this.cipher.isDeleted ? this.apiService.deleteCipherAdmin(this.cipherId)\n : this.apiService.putDeleteCipherAdmin(this.cipherId);\n }\n}\n","import { AttachmentResponse } from '../response/attachmentResponse';\n\nexport class AttachmentData {\n id: string;\n url: string;\n fileName: string;\n key: string;\n size: string;\n sizeName: string;\n\n constructor(response?: AttachmentResponse) {\n if (response == null) {\n return;\n }\n this.id = response.id;\n this.url = response.url;\n this.fileName = response.fileName;\n this.key = response.key;\n this.size = response.size;\n this.sizeName = response.sizeName;\n }\n}\n","import { CardApi } from '../api/cardApi';\n\nexport class CardData {\n cardholderName: string;\n brand: string;\n number: string;\n expMonth: string;\n expYear: string;\n code: string;\n\n constructor(data?: CardApi) {\n if (data == null) {\n return;\n }\n\n this.cardholderName = data.cardholderName;\n this.brand = data.brand;\n this.number = data.number;\n this.expMonth = data.expMonth;\n this.expYear = data.expYear;\n this.code = data.code;\n }\n}\n","import { FieldType } from '../../enums/fieldType';\n\nimport { FieldApi } from '../api/fieldApi';\n\nexport class FieldData {\n type: FieldType;\n name: string;\n value: string;\n\n constructor(response?: FieldApi) {\n if (response == null) {\n return;\n }\n this.type = response.type;\n this.name = response.name;\n this.value = response.value;\n }\n}\n","import { IdentityApi } from '../api/identityApi';\n\nexport class IdentityData {\n title: string;\n firstName: string;\n middleName: string;\n lastName: string;\n address1: string;\n address2: string;\n address3: string;\n city: string;\n state: string;\n postalCode: string;\n country: string;\n company: string;\n email: string;\n phone: string;\n ssn: string;\n username: string;\n passportNumber: string;\n licenseNumber: string;\n\n constructor(data?: IdentityApi) {\n if (data == null) {\n return;\n }\n\n this.title = data.title;\n this.firstName = data.firstName;\n this.middleName = data.middleName;\n this.lastName = data.lastName;\n this.address1 = data.address1;\n this.address2 = data.address2;\n this.address3 = data.address3;\n this.city = data.city;\n this.state = data.state;\n this.postalCode = data.postalCode;\n this.country = data.country;\n this.company = data.company;\n this.email = data.email;\n this.phone = data.phone;\n this.ssn = data.ssn;\n this.username = data.username;\n this.passportNumber = data.passportNumber;\n this.licenseNumber = data.licenseNumber;\n }\n}\n","import { LoginApi } from '../api/loginApi';\n\nimport { LoginUriData } from './loginUriData';\n\nexport class LoginData {\n uris: LoginUriData[];\n username: string;\n password: string;\n passwordRevisionDate: string;\n totp: string;\n\n constructor(data?: LoginApi) {\n if (data == null) {\n return;\n }\n\n this.username = data.username;\n this.password = data.password;\n this.passwordRevisionDate = data.passwordRevisionDate;\n this.totp = data.totp;\n\n if (data.uris) {\n this.uris = data.uris.map((u) => new LoginUriData(u));\n }\n }\n}\n","import { UriMatchType } from '../../enums/uriMatchType';\n\nimport { LoginUriApi } from '../api/loginUriApi';\n\nexport class LoginUriData {\n uri: string;\n match: UriMatchType = null;\n\n constructor(data?: LoginUriApi) {\n if (data == null) {\n return;\n }\n this.uri = data.uri;\n this.match = data.match;\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\n\nimport { SecureNoteApi } from '../api/secureNoteApi';\n\nexport class SecureNoteData {\n type: SecureNoteType;\n\n constructor(data?: SecureNoteApi) {\n if (data == null) {\n return;\n }\n\n this.type = data.type;\n }\n}\n","import { AttachmentData } from '../data/attachmentData';\n\nimport { AttachmentView } from '../view/attachmentView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nimport { CryptoService } from '../../abstractions/crypto.service';\n\nimport { Utils } from '../../misc/utils';\n\nexport class Attachment extends Domain {\n id: string;\n url: string;\n size: string;\n sizeName: string;\n key: CipherString;\n fileName: CipherString;\n\n constructor(obj?: AttachmentData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.size = obj.size;\n this.buildDomainModel(this, obj, {\n id: null,\n url: null,\n sizeName: null,\n fileName: null,\n key: null,\n }, alreadyEncrypted, ['id', 'url', 'sizeName']);\n }\n\n async decrypt(orgId: string, encKey?: SymmetricCryptoKey): Promise {\n const view = await this.decryptObj(new AttachmentView(this), {\n fileName: null,\n }, orgId, encKey);\n\n if (this.key != null) {\n let cryptoService: CryptoService;\n const containerService = (Utils.global as any).bitwardenContainerService;\n if (containerService) {\n cryptoService = containerService.getCryptoService();\n } else {\n throw new Error('global bitwardenContainerService not initialized.');\n }\n\n try {\n const orgKey = await cryptoService.getOrgKey(orgId);\n const decValue = await cryptoService.decryptToBytes(this.key, orgKey ?? encKey);\n view.key = new SymmetricCryptoKey(decValue);\n } catch (e) {\n // TODO: error?\n }\n }\n\n return view;\n }\n\n toAttachmentData(): AttachmentData {\n const a = new AttachmentData();\n a.size = this.size;\n this.buildDataModel(this, a, {\n id: null,\n url: null,\n sizeName: null,\n fileName: null,\n key: null,\n }, ['id', 'url', 'sizeName']);\n return a;\n }\n}\n","import { View } from './view';\n\nimport { Password } from '../domain/password';\n\nexport class PasswordHistoryView implements View {\n password: string = null;\n lastUsedDate: Date = null;\n\n constructor(ph?: Password) {\n if (!ph) {\n return;\n }\n\n this.lastUsedDate = ph.lastUsedDate;\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { ImportOption, ImportService } from 'jslib/abstractions/import.service';\n\n@Component({\n selector: 'app-import',\n templateUrl: 'import.component.html',\n})\nexport class ImportComponent implements OnInit {\n featuredImportOptions: ImportOption[];\n importOptions: ImportOption[];\n format: string = null;\n fileContents: string;\n formPromise: Promise;\n\n protected organizationId: string = null;\n protected successNavigate: any[] = ['vault'];\n\n constructor(protected i18nService: I18nService, protected analytics: Angulartics2,\n protected toasterService: ToasterService, protected importService: ImportService,\n protected router: Router) { }\n\n ngOnInit() {\n this.setImportOptions();\n this.importOptions.sort((a, b) => {\n if (a.name == null && b.name != null) {\n return -1;\n }\n if (a.name != null && b.name == null) {\n return 1;\n }\n if (a.name == null && b.name == null) {\n return 0;\n }\n\n return this.i18nService.collator ? this.i18nService.collator.compare(a.name, b.name) :\n a.name.localeCompare(b.name);\n });\n }\n\n async submit() {\n const importer = this.importService.getImporter(this.format, this.organizationId);\n if (importer === null) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFormat'));\n return;\n }\n\n const fileEl = document.getElementById('file') as HTMLInputElement;\n const files = fileEl.files;\n if ((files == null || files.length === 0) && (this.fileContents == null || this.fileContents === '')) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n let fileContents = this.fileContents;\n if (files != null && files.length > 0) {\n try {\n const content = await this.getFileContents(files[0]);\n if (content != null) {\n fileContents = content;\n }\n } catch { }\n }\n\n if (fileContents == null || fileContents === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n try {\n this.formPromise = this.importService.import(importer, fileContents, this.organizationId);\n const error = await this.formPromise;\n if (error != null) {\n this.error(error);\n return;\n }\n this.analytics.eventTrack.next({\n action: 'Imported Data',\n properties: { label: this.format },\n });\n this.toasterService.popAsync('success', null, this.i18nService.t('importSuccess'));\n this.router.navigate(this.successNavigate);\n } catch { }\n }\n\n getFormatInstructionTitle() {\n if (this.format == null) {\n return null;\n }\n\n const results = this.featuredImportOptions.concat(this.importOptions).filter((o) => o.id === this.format);\n if (results.length > 0) {\n return this.i18nService.t('instructionsFor', results[0].name);\n }\n return null;\n }\n\n protected setImportOptions() {\n this.featuredImportOptions = [{\n id: null,\n name: '-- ' + this.i18nService.t('select') + ' --',\n }, ...this.importService.featuredImportOptions];\n this.importOptions = this.importService.regularImportOptions;\n }\n\n private error(error: Error) {\n this.analytics.eventTrack.next({\n action: 'Import Data Failed',\n properties: { label: this.format },\n });\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'), error.message);\n }\n\n private getFileContents(file: File): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsText(file, 'utf-8');\n reader.onload = (evt) => {\n if (this.format === 'lastpasscsv' && file.type === 'text/html') {\n const parser = new DOMParser();\n const doc = parser.parseFromString((evt.target as any).result, 'text/html');\n const pre = doc.querySelector('pre');\n if (pre != null) {\n resolve(pre.textContent);\n return;\n }\n reject();\n return;\n }\n\n resolve((evt.target as any).result);\n };\n reader.onerror = () => {\n reject();\n };\n });\n }\n}\n","
\n

{{'importData' | i18n}}

\n
\n
\n
\n
\n
\n \n \n
\n
\n
\n \n \n See detailed instructions on our help site at\n \n https://help.bitwarden.com/article/export-your-data/\n \n \n See detailed instructions on our help site at\n \n https://help.bitwarden.com/article/import-from-lastpass/\n \n \n Using the KeePassX desktop application, navigate to \"Database\" → \"Export to CSV file\" and save the CSV\n file.\n \n \n In the Avira web vault, go to \"Settings\" → \"My Data\" → \"Export data\" and save the CSV file.\n \n \n In the Blur web vault, click your username at the top and go to \"Settings\" → \"Export Data\", then click\n \"Export CSV\"\n for your \"Accounts\".\n \n \n Using the SaveInCloud desktop application, navigate to \"File\" → \"Export\" → \"As XML\" and save the\n XML file.\n \n \n Using the Padlock desktop application, click the hamburger icon in the top left corner and navigate to\n \"Settings\" →\n \"Export\" button and save the file \"As CSV\".\n \n \n Using the KeePass 2 desktop application, navigate to \"File\" → \"Export\" and select the \"KeePass XML\n (2.x)\" option.\n \n \n Using the Universal Password Manager desktop application, navigate to \"Database\" → \"Export\" and save\n the CSV file.\n \n \n Using the SaferPass browser extension, click the hamburger icon in the top left corner and navigate to\n \"Settings\". Click the \"Export accounts\" button to save the CSV file.\n \n \n Using the Meldium web vault, navigate to \"Settings\". Locate the \"Export data\" function and click \"Show me my\n data\" to save the CSV file.\n \n \n Log into the Keeper web vault (keepersecurity.com/vault). Navigate to \"Backup\" (top right) and find the\n \"Export to .csv File\" option. Click \"Export Now\" to save the CSV file.\n \n \n \n The process is exactly the same as importing from Google Chrome.\n \n See detailed instructions on our help site at\n \n https://help.bitwarden.com/article/import-from-chrome/\n \n \n See detailed instructions on our help site at\n \n https://bitwarden.com/help/article/import-from-firefox/.\n \n \n See detailed instructions on our help site at\n \n https://help.bitwarden.com/article/import-from-1password/.\n \n \n Using the Password Dragon desktop application, navigate to \"File\" → \"Export\" → \"To XML\". In the\n dialog that pops up select \"All Rows\" and check all fields. Click the \"Export\" button and save the XML file.\n \n \n Using the Enpass desktop application, navigate to \"File\" → \"Export\" → \"As CSV\". Select \"OK\" to the\n warning alert and save the CSV file. Note that the importer only supports files exported while Enpass is set\n to the English language, so adjust your settings accordingly.\n \n \n Using the Enpass 6 desktop application, click the menu button and navigate to \"File\" → \"Export\".\n Select the \".json\" file format option and save the JSON file.\n \n \n Using the Password Safe desktop application, navigate to \"File\" → \"Export To\" → \"XML format...\"\n and save the XML file.\n \n \n Using the Dashlane desktop application, navigate to \"File\" → \"Export\" → \"Unsecured archive\n (readable) in JSON format\" and save the JSON file.\n \n \n Using the mSecure desktop application, navigate to \"File\" → \"Export\" → \"CSV File...\" and save the\n CSV file.\n \n \n Using the Sticky Password desktop application, navigate to \"Menu\" (top right) → \"Export\" → \"Export\n all\". Select the unencrypted format XML option and save the XML file.\n \n \n Using the True Key desktop application, click the gear icon (top right) and then navigate to \"App Settings\".\n Click the \"Export\" button, enter your password and save the CSV file.\n \n \n Log into the Clipperz web application (clipperz.is/app). Click the hamburger menu icon in the top right to\n expand the navigation bar. Navigate to \"Data\" → \"Export\". Click the \"download HTML+JSON\" button to save\n the HTML file.\n \n \n Using the RoboForm Editor desktop application, navigate to \"RoboForm\" (top left) → \"Options\" →\n \"Account & Data\" and click the \"Export\" button. Select all of your data, change the \"Format\" to \"CSV\n file\" and then click the \"Export\" button to save the CSV file. Note: RoboForm only allows you to export\n Logins. Other items will not be exported.\n \n \n Log into the Passbolt web vault and navigate to the \"Passwords\" listing. Select all of the passwords you\n would like to export and click the \"Export\" button at the top of the listing. Choose the \"csv (lastpass)\"\n export format and click the \"Export\" button.\n \n \n Using the Ascendo DataVault desktop application, navigate to \"Tools\" → \"Export\". In the dialog that\n pops up, select the \"All Items (DVX, CSV)\" option. Click the \"Ok\" button to save the CSV file.\n \n \n Using the Password Boss desktop application, navigate to \"File\" → \"Export data\" → \"Password Boss\n JSON - not encrypted\" and save the JSON file.\n \n \n Log into the Zoho web vault (vault.zoho.com). Navigate to \"Tools\" → \"Export Secrets\". Select \"All\n Secrets\" and click the \"Zoho Vault Format CSV\" button. Highlight and copy the data from the textarea. Open a\n text editor like Notepad and paste the data. Save the data from the text editor as\n zoho_export.csv.\n \n \n Using the SplashID Safe desktop application, click on the SplashID blue lock logo in the top right corner.\n Navigate to \"Export\" → \"Export as CSV\" and save the CSV file.\n \n \n Using the PassKeep mobile app, navigate to \"Backup/Restore\". Locate the \"CSV Backup/Restore\" section and\n click \"Backup to CSV\" to save the CSV file.\n \n \n Make sure you have python-keyring and python-gnomekeyring installed. Save the\n GNOME Keyring Import/Export python\n script to your desktop as pw_helper.py. Open terminal and run\n chmod +rx Desktop/pw_helper.py and then\n python Desktop/pw_helper.py export Desktop/my_passwords.json. Then upload the resulting\n my_passwords.json file here to Bitwarden.\n \n \n Using the Password Agent desktop application navigate to \"File\" → \"Export\", select the \"Fields to\n export\" button and check all of the fields, change the \"Output format\" to \"CSV\", and then click the \"Start\"\n button to save the CSV file.\n \n \n Log into the Passpack website vault and navigate to \"Settings\" → \"Export\", then click the \"Download\"\n button to save the CSV file.\n \n \n Open your Passman vault and click on \"Settings\" in the bottom left corner. In the \"Settings\" window switch\n to the \"Export credentials\" tab and choose \"JSON\" as the export type. Enter your vault's passphrase and\n click the \"Export\" button to save the JSON file.\n \n \n Open the Avast Passwords desktop application and navigate to \"Settings\" → \"Import/export data\". Select\n the \"Export\" button for the \"Export to CSV file\" option to save the CSV file.\n \n \n Open the Avast Passwords desktop application and navigate to \"Settings\" → \"Import/export data\". Select\n the \"Export\" button for the \"Export to JSON file\" option to save the JSON file.\n \n \n Open the F-Secure KEY desktop application and navigate to \"Settings\" → \"Export Passwords\". Select the\n \"Export\" button, enter your master password, and save the FSK file.\n \n \n Open the Kaspersky Password Manager desktop application and navigate to \"Settings\" → \"Import/Export\".\n Locate the \"Export to text file\" section and select the \"Export\" button to save the TXT file.\n \n \n Open the RememBear desktop application and navigate to \"Settings\" → \"Account\" → \"Export\".\n Enter your master password and select the \"Export Anyway\" button to save the CSV file.\n \n \n Open the PasswordWallet desktop application and navigate to \"File\" → \"Export\" →\n \"Visible entries to text file\". Enter your password and select the \"Ok\" button to save the TXT file.\n \n \n Open the Myki desktop browser extension and navigate to \"Advanced\" → \"Export Accounts\" and then scan\n the QR code with your mobile device. Various CSV files will then be saved to your computer's\n downloads folder.\n \n \n Export your SecureSafe password safe to a CSV file with a comma delimiter.\n \n \n Open the LogMeOnce browser extension, then navigate to \"Open Menu\" → \"Export To\" and\n select \"CSV File\" to save the CSV file.\n \n \n Open the BlackBerry Password Keeper application, then navigate to \"Settings\" → \"Import/Export\".\n Select \"Export Passwords\" and follow the instructions on screen to save the unencrypted CSV file.\n \n \n Open the Buttercup desktop application and unlock your vault. Right click on your vault's icon and\n select \"Export\" to save the CSV file.\n \n \n Open the Codebook desktop application and log in. Navigate to \"File\" → \"Export all\", then click\n \"Yes\" on the dialog and save the CSV file.\n \n \n Open the newest version of the Encryptr desktop application and allow all of your data to sync.\n Once syncing of your data is complete, the download icon in the top right corner will turn pink. Click\n the download icon and save the CSV file.\n \n \n From the Yoti browser extension, click on \"Settings\", then \"Export Saved Logins\" and save the CSV file.\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n \n
\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { Utils } from 'jslib/misc/utils';\n\nimport { CipherReportComponent } from './cipher-report.component';\n\n@Component({\n selector: 'app-inactive-two-factor-report',\n templateUrl: 'inactive-two-factor-report.component.html',\n})\nexport class InactiveTwoFactorReportComponent extends CipherReportComponent implements OnInit {\n services = new Map();\n cipherDocs = new Map();\n\n constructor(protected cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService) {\n super(componentFactoryResolver, userService, messagingService, true);\n }\n\n async ngOnInit() {\n if (await this.checkAccess()) {\n await super.load();\n }\n }\n\n async setCiphers() {\n try {\n await this.load2fa();\n } catch { }\n if (this.services.size > 0) {\n const allCiphers = await this.getAllCiphers();\n const inactive2faCiphers: CipherView[] = [];\n const promises: Promise[] = [];\n const docs = new Map();\n allCiphers.forEach((c) => {\n if (c.type !== CipherType.Login || (c.login.totp != null && c.login.totp !== '') || !c.login.hasUris ||\n c.isDeleted) {\n return;\n }\n for (let i = 0; i < c.login.uris.length; i++) {\n const u = c.login.uris[i];\n if (u.uri != null && u.uri !== '') {\n const hostname = Utils.getHostname(u.uri);\n if (hostname != null && this.services.has(hostname)) {\n if (this.services.get(hostname) != null) {\n docs.set(c.id, this.services.get(hostname));\n }\n inactive2faCiphers.push(c);\n break;\n }\n }\n }\n });\n await Promise.all(promises);\n this.ciphers = inactive2faCiphers;\n this.cipherDocs = docs;\n }\n }\n\n protected getAllCiphers(): Promise {\n return this.cipherService.getAllDecrypted();\n }\n\n private async load2fa() {\n if (this.services.size > 0) {\n return;\n }\n const response = await fetch(new Request('https://twofactorauth.org/api/v1/data.json'));\n if (response.status !== 200) {\n throw new Error();\n }\n const responseJson = await response.json();\n for (const categoryName in responseJson) {\n if (responseJson.hasOwnProperty(categoryName)) {\n const category = responseJson[categoryName];\n for (const serviceName in category) {\n if (category.hasOwnProperty(serviceName)) {\n const service = category[serviceName];\n if (service.tfa && service.software && service.url != null) {\n const hostname = Utils.getHostname(service.url);\n if (hostname != null) {\n this.services.set(hostname, service.doc);\n }\n }\n }\n }\n }\n }\n }\n}\n","
\n

\n {{'inactive2faReport' | i18n}}\n \n \n {{'loading' | i18n}}\n \n

\n
\n

{{'inactive2faReportDesc' | i18n}}

\n
\n \n {{'loading' | i18n}}\n
\n
\n \n {{'noInactive2fa' | i18n}}\n \n \n \n {{'inactive2faFoundDesc' | i18n : (ciphers.length | number)}}\n \n \n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n \n \n {{'shared' | i18n}}\n \n \n \n {{'attachments' | i18n}}\n \n
\n {{c.subTitle}}\n
\n \n {{'instructions' | i18n}}\n
\n
\n
\n\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherReportComponent } from './cipher-report.component';\n\n@Component({\n selector: 'app-reused-passwords-report',\n templateUrl: 'reused-passwords-report.component.html',\n})\nexport class ReusedPasswordsReportComponent extends CipherReportComponent implements OnInit {\n passwordUseMap: Map;\n\n constructor(protected cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService) {\n super(componentFactoryResolver, userService, messagingService, true);\n }\n\n async ngOnInit() {\n if (await this.checkAccess()) {\n await super.load();\n }\n }\n\n async setCiphers() {\n const allCiphers = await this.getAllCiphers();\n const ciphersWithPasswords: CipherView[] = [];\n this.passwordUseMap = new Map();\n allCiphers.forEach((c) => {\n if (c.type !== CipherType.Login || c.login.password == null || c.login.password === '' || c.isDeleted) {\n return;\n }\n ciphersWithPasswords.push(c);\n if (this.passwordUseMap.has(c.login.password)) {\n this.passwordUseMap.set(c.login.password, this.passwordUseMap.get(c.login.password) + 1);\n } else {\n this.passwordUseMap.set(c.login.password, 1);\n }\n });\n const reusedPasswordCiphers = ciphersWithPasswords.filter((c) =>\n this.passwordUseMap.has(c.login.password) && this.passwordUseMap.get(c.login.password) > 1);\n this.ciphers = reusedPasswordCiphers;\n }\n\n protected getAllCiphers(): Promise {\n return this.cipherService.getAllDecrypted();\n }\n\n protected canManageCipher(c: CipherView): boolean {\n // this will only ever be false from an organization view\n return true;\n }\n}\n","
\n

\n {{'reusedPasswordsReport' | i18n}}\n \n \n {{'loading' | i18n}}\n \n

\n
\n

{{'reusedPasswordsReportDesc' | i18n}}

\n
\n \n {{'loading' | i18n}}\n
\n
\n \n {{'noReusedPasswords' | i18n}}\n \n \n \n {{'reusedPasswordsFoundDesc' | i18n : (ciphers.length | number)}}\n \n \n \n \n \n \n \n \n \n
\n \n \n \n {{c.name}}\n \n \n {{c.name}}\n \n \n \n {{'shared' | i18n}}\n \n \n \n {{'attachments' | i18n}}\n \n
\n {{c.subTitle}}\n
\n \n {{'reusedXTimes' | i18n : passwordUseMap.get(c.login.password)}}\n \n
\n
\n
\n\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherReportComponent } from './cipher-report.component';\n\n@Component({\n selector: 'app-unsecured-websites-report',\n templateUrl: 'unsecured-websites-report.component.html',\n})\nexport class UnsecuredWebsitesReportComponent extends CipherReportComponent implements OnInit {\n constructor(protected cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService) {\n super(componentFactoryResolver, userService, messagingService, true);\n }\n\n async ngOnInit() {\n if (await this.checkAccess()) {\n await super.load();\n }\n }\n\n async setCiphers() {\n const allCiphers = await this.getAllCiphers();\n const unsecuredCiphers = allCiphers.filter((c) => {\n if (c.type !== CipherType.Login || !c.login.hasUris || c.isDeleted) {\n return false;\n }\n return c.login.uris.some((u) => u.uri != null && u.uri.indexOf('http://') === 0);\n });\n this.ciphers = unsecuredCiphers;\n }\n\n protected getAllCiphers(): Promise {\n return this.cipherService.getAllDecrypted();\n }\n}\n","
\n

\n {{'unsecuredWebsitesReport' | i18n}}\n \n \n {{'loading' | i18n}}\n \n

\n
\n

{{'unsecuredWebsitesReportDesc' | i18n}}

\n
\n \n {{'loading' | i18n}}\n
\n
\n \n {{'noUnsecuredWebsites' | i18n}}\n \n \n \n {{'unsecuredWebsitesFoundDesc' | i18n : (ciphers.length | number)}}\n \n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n \n \n {{'shared' | i18n}}\n \n \n \n {{'attachments' | i18n}}\n \n
\n {{c.subTitle}}\n
\n
\n
\n\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherReportComponent } from './cipher-report.component';\n\n@Component({\n selector: 'app-weak-passwords-report',\n templateUrl: 'weak-passwords-report.component.html',\n})\nexport class WeakPasswordsReportComponent extends CipherReportComponent implements OnInit {\n passwordStrengthMap = new Map();\n\n private passwordStrengthCache = new Map();\n\n constructor(protected cipherService: CipherService, protected passwordGenerationService: PasswordGenerationService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n userService: UserService) {\n super(componentFactoryResolver, userService, messagingService, true);\n }\n\n async ngOnInit() {\n if (await this.checkAccess()) {\n await super.load();\n }\n }\n\n async setCiphers() {\n const allCiphers = await this.getAllCiphers();\n const weakPasswordCiphers: CipherView[] = [];\n allCiphers.forEach((c) => {\n if (c.type !== CipherType.Login || c.login.password == null || c.login.password === '' || c.isDeleted) {\n return;\n }\n const hasUsername = c.login.username != null && c.login.username.trim() !== '';\n const cacheKey = c.login.password + '_____' + (hasUsername ? c.login.username : '');\n if (!this.passwordStrengthCache.has(cacheKey)) {\n let userInput: string[] = [];\n if (hasUsername) {\n const atPosition = c.login.username.indexOf('@');\n if (atPosition > -1) {\n userInput = userInput.concat(\n c.login.username.substr(0, atPosition).trim().toLowerCase().split(/[^A-Za-z0-9]/))\n .filter((i) => i.length >= 3);\n } else {\n userInput = c.login.username.trim().toLowerCase().split(/[^A-Za-z0-9]/)\n .filter((i) => i.length >= 3);\n }\n }\n const result = this.passwordGenerationService.passwordStrength(c.login.password,\n userInput.length > 0 ? userInput : null);\n this.passwordStrengthCache.set(cacheKey, result.score);\n }\n const score = this.passwordStrengthCache.get(cacheKey);\n if (score != null && score <= 2) {\n this.passwordStrengthMap.set(c.id, this.scoreKey(score));\n weakPasswordCiphers.push(c);\n }\n });\n this.ciphers = weakPasswordCiphers;\n }\n\n protected getAllCiphers(): Promise {\n return this.cipherService.getAllDecrypted();\n }\n\n protected canManageCipher(c: CipherView): boolean {\n // this will only ever be false from the org view;\n return true;\n }\n\n private scoreKey(score: number): [string, string] {\n switch (score) {\n case 4:\n return ['strong', 'success'];\n case 3:\n return ['good', 'primary'];\n case 2:\n return ['weak', 'warning'];\n default:\n return ['veryWeak', 'danger'];\n }\n }\n}\n","
\n

\n {{'weakPasswordsReport' | i18n}}\n \n \n {{'loading' | i18n}}\n \n

\n
\n

{{'weakPasswordsReportDesc' | i18n}}

\n
\n \n {{'loading' | i18n}}\n
\n
\n \n {{'noWeakPasswords' | i18n}}\n \n \n \n {{'weakPasswordsFoundDesc' | i18n : (ciphers.length | number)}}\n \n \n \n \n \n \n \n \n \n
\n \n \n \n {{c.name}}\n \n \n {{c.name}}\n \n \n \n {{'shared' | i18n}}\n \n \n \n {{'attachments' | i18n}}\n \n
\n {{c.subTitle}}\n
\n \n {{passwordStrengthMap.get(c.id)[0] | i18n}}\n \n
\n
\n
\n\n","import { Component } from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { AttachmentView } from 'jslib/models/view/attachmentView';\n\nimport { AttachmentsComponent as BaseAttachmentsComponent } from 'jslib/angular/components/attachments.component';\n\n@Component({\n selector: 'app-vault-attachments',\n templateUrl: 'attachments.component.html',\n})\nexport class AttachmentsComponent extends BaseAttachmentsComponent {\n constructor(cipherService: CipherService, i18nService: I18nService,\n cryptoService: CryptoService, userService: UserService,\n platformUtilsService: PlatformUtilsService) {\n super(cipherService, i18nService, cryptoService, userService, platformUtilsService, window);\n }\n\n protected async reupload(attachment: AttachmentView) {\n if (this.showFixOldAttachments(attachment)) {\n await this.reuploadCipherAttachment(attachment, false);\n }\n }\n\n protected showFixOldAttachments(attachment: AttachmentView) {\n return attachment.key == null && this.cipher.organizationId == null;\n }\n}\n","
\n
\n
\n
\n

\n {{'attachments' | i18n}}\n {{cipher.name}}\n

\n \n
\n
\n \n \n \n \n \n \n \n \n
\n \n \n \n
\n {{a.fileName}}\n
\n \n \n {{'attachmentFixDesc' | i18n}}\n \n
\n
\n {{a.sizeName}}\n
\n \n
\n

{{'newAttachment' | i18n}}

\n \n \n {{'maxFileSize' | i18n}}\n
\n
\n \n \n
\n
\n
\n
\n","import {\n Component,\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { EventService } from 'jslib/abstractions/event.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SearchService } from 'jslib/abstractions/search.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CiphersComponent as BaseCiphersComponent } from '../../vault/ciphers.component';\n\n@Component({\n selector: 'app-org-vault-ciphers',\n templateUrl: '../../vault/ciphers.component.html',\n})\nexport class CiphersComponent extends BaseCiphersComponent {\n @Output() onEventsClicked = new EventEmitter();\n\n organization: Organization;\n accessEvents = false;\n\n protected allCiphers: CipherView[] = [];\n\n constructor(searchService: SearchService, analytics: Angulartics2,\n toasterService: ToasterService, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService, cipherService: CipherService,\n private apiService: ApiService, eventService: EventService, totpService: TotpService, userService: UserService) {\n super(searchService, analytics, toasterService, i18nService, platformUtilsService,\n cipherService, eventService, totpService, userService);\n }\n\n async load(filter: (cipher: CipherView) => boolean = null) {\n if (!this.organization.canManageAllCollections) {\n await super.load(filter, this.deleted);\n return;\n }\n this.accessEvents = this.organization.useEvents;\n this.allCiphers = await this.cipherService.getAllFromApiForOrganization(this.organization.id);\n this.applyFilter(filter);\n this.loaded = true;\n }\n\n async applyFilter(filter: (cipher: CipherView) => boolean = null) {\n if (this.organization.canManageAllCollections) {\n await super.applyFilter(filter);\n } else {\n const f = (c: CipherView) => c.organizationId === this.organization.id && (filter == null || filter(c));\n await super.applyFilter(f);\n }\n }\n\n async search(timeout: number = null) {\n if (!this.organization.canManageAllCollections) {\n return super.search(timeout);\n }\n this.searchPending = false;\n let filteredCiphers = this.allCiphers;\n\n if (this.searchText == null || this.searchText.trim().length < 2) {\n this.ciphers = filteredCiphers.filter((c) => {\n if (c.isDeleted !== this.deleted) {\n return false;\n }\n return this.filter == null || this.filter(c);\n });\n } else {\n if (this.filter != null) {\n filteredCiphers = filteredCiphers.filter(this.filter);\n }\n this.ciphers = this.searchService.searchCiphersBasic(filteredCiphers, this.searchText, this.deleted);\n }\n await this.resetPaging();\n }\n\n events(c: CipherView) {\n this.onEventsClicked.emit(c);\n }\n\n protected deleteCipher(id: string) {\n if (!this.organization.canManageAllCollections) {\n return super.deleteCipher(id, this.deleted);\n }\n return this.deleted ? this.apiService.deleteCipherAdmin(id) : this.apiService.putDeleteCipherAdmin(id);\n }\n\n protected showFixOldAttachments(c: CipherView) {\n return this.organization.canManageAllCollections && c.hasOldAttachments;\n }\n}\n","import {\n Component,\n OnDestroy,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { CollectionsComponent as BaseCollectionsComponent } from 'jslib/angular/components/collections.component';\n\n@Component({\n selector: 'app-vault-collections',\n templateUrl: 'collections.component.html',\n})\nexport class CollectionsComponent extends BaseCollectionsComponent implements OnDestroy {\n constructor(collectionService: CollectionService, platformUtilsService: PlatformUtilsService,\n i18nService: I18nService, cipherService: CipherService) {\n super(collectionService, platformUtilsService, i18nService, cipherService);\n }\n\n ngOnDestroy() {\n this.selectAll(false);\n }\n\n check(c: CollectionView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n }\n\n selectAll(select: boolean) {\n this.collections.forEach((c) => this.check(c, select));\n }\n}\n","
\n
\n
\n
\n

\n {{'collections' | i18n}}\n {{cipher.name}}\n

\n \n
\n
\n

{{'collectionsDesc' | i18n}}

\n
\n

{{'collections' | i18n}}

\n
\n \n \n
\n
\n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","import { Component } from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CollectionData } from 'jslib/models/data/collectionData';\nimport { Collection } from 'jslib/models/domain/collection';\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { GroupingsComponent as BaseGroupingsComponent } from '../../vault/groupings.component';\n\n@Component({\n selector: 'app-org-vault-groupings',\n templateUrl: '../../vault/groupings.component.html',\n})\nexport class GroupingsComponent extends BaseGroupingsComponent {\n organization: Organization;\n\n constructor(collectionService: CollectionService, folderService: FolderService,\n storageService: StorageService, userService: UserService,\n private apiService: ApiService, private i18nService: I18nService) {\n super(collectionService, folderService, storageService, userService);\n }\n\n async loadCollections() {\n if (!this.organization.canManageAllCollections) {\n await super.loadCollections(this.organization.id);\n return;\n }\n\n const collections = await this.apiService.getCollections(this.organization.id);\n if (collections != null && collections.data != null && collections.data.length) {\n const collectionDomains = collections.data.map((r) =>\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\n this.collections = await this.collectionService.decryptMany(collectionDomains);\n } else {\n this.collections = [];\n }\n\n const unassignedCollection = new CollectionView();\n unassignedCollection.name = this.i18nService.t('unassigned');\n unassignedCollection.id = 'unassigned';\n unassignedCollection.organizationId = this.organization.id;\n unassignedCollection.readOnly = true;\n this.collections.push(unassignedCollection);\n this.nestedCollections = await this.collectionService.getAllNested(this.collections);\n }\n\n collapse(grouping: CollectionView) {\n super.collapse(grouping, 'org_');\n }\n\n isCollapsed(grouping: CollectionView) {\n return super.isCollapsed(grouping, 'org_');\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n Input,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ToasterService } from 'angular2-toaster';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { BulkDeleteComponent } from './bulk-delete.component';\nimport { BulkMoveComponent } from './bulk-move.component';\nimport { BulkRestoreComponent } from './bulk-restore.component';\nimport { BulkShareComponent } from './bulk-share.component';\nimport { CiphersComponent } from './ciphers.component';\n\n@Component({\n selector: 'app-vault-bulk-actions',\n templateUrl: 'bulk-actions.component.html',\n})\nexport class BulkActionsComponent {\n @Input() ciphersComponent: CiphersComponent;\n @Input() modal: ModalComponent;\n @Input() deleted: boolean;\n @Input() organization: Organization;\n\n @ViewChild('bulkDeleteTemplate', { read: ViewContainerRef, static: true }) bulkDeleteModalRef: ViewContainerRef;\n @ViewChild('bulkRestoreTemplate', { read: ViewContainerRef, static: true }) bulkRestoreModalRef: ViewContainerRef;\n @ViewChild('bulkMoveTemplate', { read: ViewContainerRef, static: true }) bulkMoveModalRef: ViewContainerRef;\n @ViewChild('bulkShareTemplate', { read: ViewContainerRef, static: true }) bulkShareModalRef: ViewContainerRef;\n\n constructor(private toasterService: ToasterService,\n private i18nService: I18nService,\n private componentFactoryResolver: ComponentFactoryResolver) { }\n\n bulkDelete() {\n const selectedIds = this.ciphersComponent.getSelectedIds();\n if (selectedIds.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nothingSelected'));\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.bulkDeleteModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(BulkDeleteComponent, this.bulkDeleteModalRef);\n\n childComponent.permanent = this.deleted;\n childComponent.cipherIds = selectedIds;\n childComponent.organization = this.organization;\n childComponent.onDeleted.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n bulkRestore() {\n const selectedIds = this.ciphersComponent.getSelectedIds();\n if (selectedIds.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nothingSelected'));\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.bulkRestoreModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(BulkRestoreComponent, this.bulkRestoreModalRef);\n\n childComponent.cipherIds = selectedIds;\n childComponent.onRestored.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n bulkShare() {\n const selectedCiphers = this.ciphersComponent.getSelected();\n if (selectedCiphers.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nothingSelected'));\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.bulkShareModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(BulkShareComponent, this.bulkShareModalRef);\n\n childComponent.ciphers = selectedCiphers;\n childComponent.onShared.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n bulkMove() {\n const selectedIds = this.ciphersComponent.getSelectedIds();\n if (selectedIds.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nothingSelected'));\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.bulkMoveModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(BulkMoveComponent, this.bulkMoveModalRef);\n\n childComponent.cipherIds = selectedIds;\n childComponent.onMoved.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n selectAll(select: boolean) {\n this.ciphersComponent.selectAll(select);\n }\n}\n","
\n \n
\n \n \n \n \n
\n \n \n
\n
\n\n\n\n\n\n","import { CipherRequest } from './cipherRequest';\n\nimport { Cipher } from '../domain/cipher';\n\nexport class CipherWithIdRequest extends CipherRequest {\n id: string;\n\n constructor(cipher: Cipher) {\n super(cipher);\n this.id = cipher.id;\n }\n}\n","import { Folder } from '../domain/folder';\n\nexport class FolderRequest {\n name: string;\n\n constructor(folder: Folder) {\n this.name = folder.name ? folder.name.encryptedString : null;\n }\n}\n","import {\n Directive,\n ElementRef,\n HostListener,\n} from '@angular/core';\n\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\n@Directive({\n selector: '[appSelectCopy]',\n})\nexport class SelectCopyDirective {\n constructor(private el: ElementRef, private platformUtilsService: PlatformUtilsService) { }\n\n @HostListener('copy') onCopy() {\n if (window == null) {\n return;\n }\n let copyText = '';\n const selection = window.getSelection();\n for (let i = 0; i < selection.rangeCount; i++) {\n const range = selection.getRangeAt(i);\n const text = range.toString();\n\n // The selection should only contain one line of text. In some cases however, the\n // selection contains newlines and space characters from the indentation of following\n // sibling nodes. To avoid copying passwords containing trailing newlines and spaces\n // that aren't part of the password, the selection has to be trimmed.\n let stringEndPos = text.length;\n const newLinePos = text.search(/(?:\\r\\n|\\r|\\n)/);\n if (newLinePos > -1) {\n const otherPart = text.substr(newLinePos).trim();\n if (otherPart === '') {\n stringEndPos = newLinePos;\n }\n }\n copyText += text.substring(0, stringEndPos);\n }\n this.platformUtilsService.copyToClipboard(copyText, { window: window });\n }\n}\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\n\n/**\n * A pipe that sanitizes HTML and highlights numbers and special characters (in different colors each).\n */\n@Pipe({ name: 'colorPassword' })\nexport class ColorPasswordPipe implements PipeTransform {\n transform(password: string) {\n let colorizedPassword = '';\n for (let i = 0; i < password.length; i++) {\n let character = password[i];\n let isSpecial = false;\n // Sanitize HTML first.\n switch (character) {\n case '&':\n character = '&';\n isSpecial = true;\n break;\n case '<':\n character = '<';\n isSpecial = true;\n break;\n case '>':\n character = '>';\n isSpecial = true;\n break;\n case ' ':\n character = ' ';\n isSpecial = true;\n break;\n default:\n break;\n }\n let type = 'letter';\n if (isSpecial || character.match(/[^\\w ]/)) {\n type = 'special';\n } else if (character.match(/\\d/)) {\n type = 'number';\n }\n colorizedPassword += '' + character + '';\n }\n return colorizedPassword;\n }\n}\n","import { FolderResponse } from '../response/folderResponse';\n\nexport class FolderData {\n id: string;\n userId: string;\n name: string;\n revisionDate: string;\n\n constructor(response: FolderResponse, userId: string) {\n this.userId = userId;\n this.name = response.name;\n this.id = response.id;\n this.revisionDate = response.revisionDate;\n }\n}\n","import { FolderData } from '../data/folderData';\n\nimport { FolderView } from '../view/folderView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nexport class Folder extends Domain {\n id: string;\n name: CipherString;\n revisionDate: Date;\n\n constructor(obj?: FolderData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n id: null,\n name: null,\n }, alreadyEncrypted, ['id']);\n\n this.revisionDate = obj.revisionDate != null ? new Date(obj.revisionDate) : null;\n }\n\n decrypt(): Promise {\n return this.decryptObj(new FolderView(this), {\n name: null,\n }, null);\n }\n}\n","import { AttachmentResponse } from './attachmentResponse';\nimport { BaseResponse } from './baseResponse';\nimport { PasswordHistoryResponse } from './passwordHistoryResponse';\n\nimport { CardApi } from '../api/cardApi';\nimport { FieldApi } from '../api/fieldApi';\nimport { IdentityApi } from '../api/identityApi';\nimport { LoginApi } from '../api/loginApi';\nimport { SecureNoteApi } from '../api/secureNoteApi';\n\nexport class CipherResponse extends BaseResponse {\n id: string;\n organizationId: string;\n folderId: string;\n type: number;\n name: string;\n notes: string;\n fields: FieldApi[];\n login: LoginApi;\n card: CardApi;\n identity: IdentityApi;\n secureNote: SecureNoteApi;\n favorite: boolean;\n edit: boolean;\n viewPassword: boolean;\n organizationUseTotp: boolean;\n revisionDate: string;\n attachments: AttachmentResponse[];\n passwordHistory: PasswordHistoryResponse[];\n collectionIds: string[];\n deletedDate: string;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.organizationId = this.getResponseProperty('OrganizationId');\n this.folderId = this.getResponseProperty('FolderId') || null;\n this.type = this.getResponseProperty('Type');\n this.name = this.getResponseProperty('Name');\n this.notes = this.getResponseProperty('Notes');\n this.favorite = this.getResponseProperty('Favorite') || false;\n this.edit = !!this.getResponseProperty('Edit');\n if (this.getResponseProperty('ViewPassword') == null) {\n this.viewPassword = true;\n } else {\n this.viewPassword = this.getResponseProperty('ViewPassword');\n }\n this.organizationUseTotp = this.getResponseProperty('OrganizationUseTotp');\n this.revisionDate = this.getResponseProperty('RevisionDate');\n this.collectionIds = this.getResponseProperty('CollectionIds');\n this.deletedDate = this.getResponseProperty('DeletedDate');\n\n const login = this.getResponseProperty('Login');\n if (login != null) {\n this.login = new LoginApi(login);\n }\n\n const card = this.getResponseProperty('Card');\n if (card != null) {\n this.card = new CardApi(card);\n }\n\n const identity = this.getResponseProperty('Identity');\n if (identity != null) {\n this.identity = new IdentityApi(identity);\n }\n\n const secureNote = this.getResponseProperty('SecureNote');\n if (secureNote != null) {\n this.secureNote = new SecureNoteApi(secureNote);\n }\n\n const fields = this.getResponseProperty('Fields');\n if (fields != null) {\n this.fields = fields.map((f: any) => new FieldApi(f));\n }\n\n const attachments = this.getResponseProperty('Attachments');\n if (attachments != null) {\n this.attachments = attachments.map((a: any) => new AttachmentResponse(a));\n }\n\n const passwordHistory = this.getResponseProperty('PasswordHistory');\n if (passwordHistory != null) {\n this.passwordHistory = passwordHistory.map((h: any) => new PasswordHistoryResponse(h));\n }\n }\n}\n","import { BaseResponse } from './baseResponse';\nimport { ProfileOrganizationResponse } from './profileOrganizationResponse';\n\nexport class ProfileResponse extends BaseResponse {\n id: string;\n name: string;\n email: string;\n emailVerified: boolean;\n masterPasswordHint: string;\n premium: boolean;\n culture: string;\n twoFactorEnabled: boolean;\n key: string;\n privateKey: string;\n securityStamp: string;\n organizations: ProfileOrganizationResponse[] = [];\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.name = this.getResponseProperty('Name');\n this.email = this.getResponseProperty('Email');\n this.emailVerified = this.getResponseProperty('EmailVerified');\n this.masterPasswordHint = this.getResponseProperty('MasterPasswordHint');\n this.premium = this.getResponseProperty('Premium');\n this.culture = this.getResponseProperty('Culture');\n this.twoFactorEnabled = this.getResponseProperty('TwoFactorEnabled');\n this.key = this.getResponseProperty('Key');\n this.privateKey = this.getResponseProperty('PrivateKey');\n this.securityStamp = this.getResponseProperty('SecurityStamp');\n\n const organizations = this.getResponseProperty('Organizations');\n if (organizations != null) {\n this.organizations = organizations.map((o: any) => new ProfileOrganizationResponse(o));\n }\n }\n}\n","import { BaseResponse } from '../response/baseResponse';\n\nexport class SendFileApi extends BaseResponse {\n id: string;\n url: string;\n fileName: string;\n key: string;\n size: string;\n sizeName: string;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return;\n }\n this.id = this.getResponseProperty('Id');\n this.url = this.getResponseProperty('Url');\n this.fileName = this.getResponseProperty('FileName');\n this.key = this.getResponseProperty('Key');\n this.size = this.getResponseProperty('Size');\n this.sizeName = this.getResponseProperty('SizeName');\n }\n}\n","import { BaseResponse } from '../response/baseResponse';\n\nexport class SendTextApi extends BaseResponse {\n text: string;\n hidden: boolean;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return;\n }\n this.text = this.getResponseProperty('Text');\n this.hidden = this.getResponseProperty('Hidden') || false;\n }\n}\n","import { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nimport { SendFileData } from '../data/sendFileData';\n\nimport { SendFileView } from '../view/sendFileView';\n\nexport class SendFile extends Domain {\n id: string;\n url: string;\n size: string;\n sizeName: string;\n fileName: CipherString;\n\n constructor(obj?: SendFileData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.size = obj.size;\n this.buildDomainModel(this, obj, {\n id: null,\n url: null,\n sizeName: null,\n fileName: null,\n }, alreadyEncrypted, ['id', 'url', 'sizeName']);\n }\n\n async decrypt(key: SymmetricCryptoKey): Promise {\n const view = await this.decryptObj(new SendFileView(this), {\n fileName: null,\n }, null, key);\n return view;\n }\n}\n","import { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nimport { SendTextData } from '../data/sendTextData';\n\nimport { SendTextView } from '../view/sendTextView';\n\nexport class SendText extends Domain {\n text: CipherString;\n hidden: boolean;\n\n constructor(obj?: SendTextData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.hidden = obj.hidden;\n this.buildDomainModel(this, obj, {\n text: null,\n }, alreadyEncrypted, []);\n }\n\n decrypt(key: SymmetricCryptoKey): Promise {\n return this.decryptObj(new SendTextView(this), {\n text: null,\n }, null, key);\n }\n}\n","import { EnvironmentService } from './environment.service';\n\nexport abstract class NotificationsService {\n init: (environmentService: EnvironmentService) => Promise;\n updateConnection: (sync?: boolean) => Promise;\n reconnectFromActivity: () => Promise;\n disconnectFromInactivity: () => Promise;\n}\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 521;","import {\n Component,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\n@Component({\n selector: 'app-frontend-layout',\n templateUrl: 'frontend-layout.component.html',\n})\nexport class FrontendLayoutComponent implements OnInit, OnDestroy {\n version: string;\n year: string = '2015';\n\n constructor(private platformUtilsService: PlatformUtilsService) { }\n\n ngOnInit() {\n this.year = new Date().getFullYear().toString();\n this.version = this.platformUtilsService.getApplicationVersion();\n document.body.classList.add('layout_frontend');\n }\n\n ngOnDestroy() {\n document.body.classList.remove('layout_frontend');\n }\n}\n","\n
\n © {{year}}, Bitwarden Inc.\n
{{'versionNumber' | i18n : version}}\n
\n","import {\n Component,\n NgZone,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { ActivatedRoute } from '@angular/router';\n\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\nconst BroadcasterSubscriptionId = 'OrganizationLayoutComponent';\n\n@Component({\n selector: 'app-organization-layout',\n templateUrl: 'organization-layout.component.html',\n})\nexport class OrganizationLayoutComponent implements OnInit, OnDestroy {\n organization: Organization;\n businessTokenPromise: Promise;\n private organizationId: string;\n private businessUrl: string;\n\n constructor(private route: ActivatedRoute, private userService: UserService,\n private broadcasterService: BroadcasterService, private ngZone: NgZone,\n private apiService: ApiService, private platformUtilsService: PlatformUtilsService,\n private environmentService: EnvironmentService) { }\n\n ngOnInit() {\n this.businessUrl = 'https://portal.bitwarden.com';\n if (this.environmentService.enterpriseUrl != null) {\n this.businessUrl = this.environmentService.enterpriseUrl;\n } else if (this.environmentService.baseUrl != null) {\n this.businessUrl = this.environmentService.baseUrl + '/portal';\n }\n\n document.body.classList.remove('layout_frontend');\n this.route.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await this.load();\n });\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, (message: any) => {\n this.ngZone.run(async () => {\n switch (message.command) {\n case 'updatedOrgLicense':\n await this.load();\n break;\n }\n });\n });\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n async load() {\n this.organization = await this.userService.getOrganization(this.organizationId);\n }\n\n async goToBusinessPortal() {\n if (this.businessTokenPromise != null) {\n return;\n }\n try {\n this.businessTokenPromise = this.apiService.getEnterprisePortalSignInToken();\n const token = await this.businessTokenPromise;\n if (token != null) {\n const userId = await this.userService.getUserId();\n this.platformUtilsService.launchUri(this.businessUrl + '/login?userId=' + userId +\n '&token=' + (window as any).encodeURIComponent(token) + '&organizationId=' + this.organization.id);\n }\n } catch { }\n this.businessTokenPromise = null;\n }\n\n get showMenuBar() {\n return this.showManageTab || this.showToolsTab || this.organization.isOwner;\n }\n\n get showManageTab(): boolean {\n return this.organization.canManageUsers ||\n this.organization.canManageAssignedCollections ||\n this.organization.canManageAllCollections ||\n this.organization.canManageGroups ||\n this.organization.canManagePolicies ||\n this.organization.canAccessEventLogs;\n }\n\n get showToolsTab(): boolean {\n return this.organization.canAccessImportExport || this.organization.canAccessReports;\n }\n\n get showBusinessPortalButton(): boolean {\n return this.organization.useBusinessPortal && this.organization.canAccessBusinessPortal;\n }\n\n get toolsRoute(): string {\n return this.organization.canAccessImportExport ?\n 'tools/import' :\n 'tools/exposed-passwords-report';\n }\n\n get manageRoute(): string {\n let route: string;\n switch (true) {\n case this.organization.canManageUsers:\n route = 'manage/people';\n break;\n case this.organization.canManageAssignedCollections || this.organization.canManageAllCollections:\n route = 'manage/collections';\n break;\n case this.organization.canManageGroups:\n route = 'manage/groups';\n break;\n case this.organization.canManagePolicies:\n route = 'manage/policies';\n break;\n case this.organization.canAccessEventLogs:\n route = 'manage/events';\n break;\n }\n return route;\n }\n}\n","\n
\n
\n
\n
\n \n
\n {{organization.name}}\n {{'organization' | i18n}}\n
\n
\n
\n \n {{'organizationIsDisabled' | i18n}}\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n\n\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\n@Component({\n selector: 'app-user-layout',\n templateUrl: 'user-layout.component.html',\n})\nexport class UserLayoutComponent implements OnInit {\n ngOnInit() {\n document.body.classList.remove('layout_frontend');\n }\n}\n","\n\n\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport {\n Toast,\n ToasterService,\n} from 'angular2-toaster';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { UserService } from 'jslib/abstractions/user.service';\nimport { EmergencyAccessAcceptRequest } from 'jslib/models/request/emergencyAccessAcceptRequest';\n\n@Component({\n selector: 'app-accept-emergency',\n templateUrl: 'accept-emergency.component.html',\n})\nexport class AcceptEmergencyComponent implements OnInit {\n loading = true;\n authed = false;\n name: string;\n email: string;\n actionPromise: Promise;\n\n constructor(private router: Router, private toasterService: ToasterService,\n private i18nService: I18nService, private route: ActivatedRoute,\n private apiService: ApiService, private userService: UserService,\n private stateService: StateService) { }\n\n ngOnInit() {\n let fired = false;\n this.route.queryParams.subscribe(async (qParams) => {\n if (fired) {\n return;\n }\n fired = true;\n await this.stateService.remove('emergencyInvitation');\n let error = qParams.id == null || qParams.name == null || qParams.email == null || qParams.token == null;\n let errorMessage: string = null;\n if (!error) {\n this.authed = await this.userService.isAuthenticated();\n if (this.authed) {\n const request = new EmergencyAccessAcceptRequest();\n request.token = qParams.token;\n try {\n this.actionPromise = this.apiService.postEmergencyAccessAccept(qParams.id, request);\n await this.actionPromise;\n const toast: Toast = {\n type: 'success',\n title: this.i18nService.t('inviteAccepted'),\n body: this.i18nService.t('emergencyInviteAcceptedDesc'),\n timeout: 10000,\n };\n this.toasterService.popAsync(toast);\n this.router.navigate(['/vault']);\n } catch (e) {\n error = true;\n errorMessage = e.message;\n }\n } else {\n await this.stateService.save('emergencyInvitation', qParams);\n this.email = qParams.email;\n this.name = qParams.name;\n if (this.name != null) {\n // Fix URL encoding of space issue with Angular\n this.name = this.name.replace(/\\+/g, ' ');\n }\n }\n }\n\n if (error) {\n const toast: Toast = {\n type: 'error',\n title: null,\n body: errorMessage != null ? this.i18nService.t('emergencyInviteAcceptFailedShort', errorMessage) :\n this.i18nService.t('emergencyInviteAcceptFailed'),\n timeout: 10000,\n };\n this.toasterService.popAsync(toast);\n this.router.navigate(['/']);\n }\n\n this.loading = false;\n });\n }\n}\n","
\n
\n \"Bitwarden\"\n

\n \n {{'loading' | i18n}}\n

\n
\n
\n
\n
\n
\n

{{'emergencyAccess' | i18n}}

\n
\n
\n

\n {{name}}\n

\n

{{'acceptEmergencyAccess' | i18n}}

\n
\n \n
\n
\n
\n
\n
\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport {\n Toast,\n ToasterService,\n} from 'angular2-toaster';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { OrganizationUserAcceptRequest } from 'jslib/models/request/organizationUserAcceptRequest';\n\n@Component({\n selector: 'app-accept-organization',\n templateUrl: 'accept-organization.component.html',\n})\nexport class AcceptOrganizationComponent implements OnInit {\n loading = true;\n authed = false;\n orgName: string;\n email: string;\n actionPromise: Promise;\n\n constructor(private router: Router, private toasterService: ToasterService,\n private i18nService: I18nService, private route: ActivatedRoute,\n private apiService: ApiService, private userService: UserService,\n private stateService: StateService) { }\n\n ngOnInit() {\n let fired = false;\n this.route.queryParams.subscribe(async (qParams) => {\n if (fired) {\n return;\n }\n fired = true;\n await this.stateService.remove('orgInvitation');\n let error = qParams.organizationId == null || qParams.organizationUserId == null || qParams.token == null;\n let errorMessage: string = null;\n if (!error) {\n this.authed = await this.userService.isAuthenticated();\n if (this.authed) {\n const request = new OrganizationUserAcceptRequest();\n request.token = qParams.token;\n try {\n this.actionPromise = this.apiService.postOrganizationUserAccept(qParams.organizationId,\n qParams.organizationUserId, request);\n await this.actionPromise;\n const toast: Toast = {\n type: 'success',\n title: this.i18nService.t('inviteAccepted'),\n body: this.i18nService.t('inviteAcceptedDesc'),\n timeout: 10000,\n };\n this.toasterService.popAsync(toast);\n this.router.navigate(['/vault']);\n } catch (e) {\n error = true;\n errorMessage = e.message;\n }\n } else {\n await this.stateService.save('orgInvitation', qParams);\n this.email = qParams.email;\n this.orgName = qParams.organizationName;\n if (this.orgName != null) {\n // Fix URL encoding of space issue with Angular\n this.orgName = this.orgName.replace(/\\+/g, ' ');\n }\n }\n }\n\n if (error) {\n const toast: Toast = {\n type: 'error',\n title: null,\n body: errorMessage != null ? this.i18nService.t('inviteAcceptFailedShort', errorMessage) :\n this.i18nService.t('inviteAcceptFailed'),\n timeout: 10000,\n };\n this.toasterService.popAsync(toast);\n this.router.navigate(['/']);\n }\n\n this.loading = false;\n });\n }\n}\n","
\n
\n \"Bitwarden\"\n

\n \n {{'loading' | i18n}}\n

\n
\n
\n
\n
\n
\n

{{'joinOrganization' | i18n}}

\n
\n
\n

\n {{orgName}}\n {{email}}\n

\n

{{'joinOrganizationDesc' | i18n}}

\n
\n \n
\n
\n
\n
\n
\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { HintComponent as BaseHintComponent } from 'jslib/angular/components/hint.component';\n\n@Component({\n selector: 'app-hint',\n templateUrl: 'hint.component.html',\n})\nexport class HintComponent extends BaseHintComponent {\n constructor(router: Router, i18nService: I18nService,\n apiService: ApiService, platformUtilsService: PlatformUtilsService) {\n super(router, i18nService, apiService, platformUtilsService);\n }\n}\n","
\n
\n
\n

{{'passwordHint' | i18n}}

\n
\n
\n
\n \n \n {{'enterEmailToGetHint' | i18n}}\n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\nimport { UserService } from 'jslib/abstractions/user.service';\nimport { VaultTimeoutService } from 'jslib/abstractions/vaultTimeout.service';\n\nimport { RouterService } from '../services/router.service';\n\nimport { LockComponent as BaseLockComponent } from 'jslib/angular/components/lock.component';\n\n@Component({\n selector: 'app-lock',\n templateUrl: 'lock.component.html',\n})\nexport class LockComponent extends BaseLockComponent {\n constructor(router: Router, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService, messagingService: MessagingService,\n userService: UserService, cryptoService: CryptoService,\n storageService: StorageService, vaultTimeoutService: VaultTimeoutService,\n environmentService: EnvironmentService, private routerService: RouterService,\n stateService: StateService, apiService: ApiService) {\n super(router, i18nService, platformUtilsService, messagingService, userService, cryptoService,\n storageService, vaultTimeoutService, environmentService, stateService, apiService);\n }\n\n async ngOnInit() {\n await super.ngOnInit();\n const authed = await this.userService.isAuthenticated();\n if (!authed) {\n this.router.navigate(['/']);\n } else if (await this.cryptoService.hasKey()) {\n this.router.navigate(['vault']);\n }\n\n this.onSuccessfulSubmit = () => {\n const previousUrl = this.routerService.getPreviousUrl();\n if (previousUrl !== '/' && previousUrl.indexOf('lock') === -1) {\n this.successRoute = previousUrl;\n }\n this.router.navigate([this.successRoute]);\n };\n }\n}\n","
\n
\n
\n

\n \n

\n

{{'yourVaultIsLocked' | i18n}}

\n
\n
\n
\n \n
\n \n \n
\n \n {{'loggedInAsEmailOn' | i18n : email : webVaultHostname}}\n \n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { CryptoFunctionService } from 'jslib/abstractions/cryptoFunction.service';\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { LoginComponent as BaseLoginComponent } from 'jslib/angular/components/login.component';\n\n@Component({\n selector: 'app-login',\n templateUrl: 'login.component.html',\n})\nexport class LoginComponent extends BaseLoginComponent {\n constructor(authService: AuthService, router: Router,\n i18nService: I18nService, private route: ActivatedRoute,\n storageService: StorageService, stateService: StateService,\n platformUtilsService: PlatformUtilsService, environmentService: EnvironmentService,\n passwordGenerationService: PasswordGenerationService, cryptoFunctionService: CryptoFunctionService) {\n super(authService, router,\n platformUtilsService, i18nService,\n stateService, environmentService,\n passwordGenerationService, cryptoFunctionService,\n storageService);\n this.onSuccessfulLoginNavigate = this.goAfterLogIn;\n }\n\n async ngOnInit() {\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.email != null && qParams.email.indexOf('@') > -1) {\n this.email = qParams.email;\n }\n if (qParams.premium != null) {\n this.stateService.save('loginRedirect', { route: '/settings/premium' });\n } else if (qParams.org != null) {\n this.stateService.save('loginRedirect',\n { route: '/settings/create-organization', qParams: { plan: qParams.org } });\n }\n await super.ngOnInit();\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n }\n\n async goAfterLogIn() {\n const orgInvite = await this.stateService.get('orgInvitation');\n const emergencyInvite = await this.stateService.get('emergencyInvitation');\n if (orgInvite != null) {\n this.router.navigate(['accept-organization'], { queryParams: orgInvite });\n } else if (emergencyInvite != null) {\n this.router.navigate(['accept-emergency'], { queryParams: emergencyInvite });\n } else {\n const loginRedirect = await this.stateService.get('loginRedirect');\n if (loginRedirect != null) {\n this.router.navigate([loginRedirect.route], { queryParams: loginRedirect.qParams });\n await this.stateService.remove('loginRedirect');\n } else {\n this.router.navigate([this.successRoute]);\n }\n }\n }\n}\n","
\n
\n
\n \n

{{'loginOrCreateNewAccount' | i18n}}

\n
\n
\n
\n \n \n
\n
\n \n
\n \n \n
\n \n {{'getMasterPasswordHint' | i18n}}\n \n
\n
\n \n \n
\n
\n
\n \n \n {{'createAccount' | i18n}}\n \n
\n \n
\n
\n
\n
\n
\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { DeleteRecoverRequest } from 'jslib/models/request/deleteRecoverRequest';\n\n@Component({\n selector: 'app-recover-delete',\n templateUrl: 'recover-delete.component.html',\n})\nexport class RecoverDeleteComponent {\n email: string;\n formPromise: Promise;\n\n constructor(private router: Router, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService) {\n }\n\n async submit() {\n try {\n const request = new DeleteRecoverRequest();\n request.email = this.email.trim().toLowerCase();\n this.formPromise = this.apiService.postAccountRecoverDelete(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Started Delete Recovery' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deleteRecoverEmailSent'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","
\n
\n
\n

{{'deleteAccount' | i18n}}

\n
\n
\n

{{'deleteRecoverDesc' | i18n}}

\n
\n \n \n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { TwoFactorRecoveryRequest } from 'jslib/models/request/twoFactorRecoveryRequest';\n\n@Component({\n selector: 'app-recover-two-factor',\n templateUrl: 'recover-two-factor.component.html',\n})\nexport class RecoverTwoFactorComponent {\n email: string;\n masterPassword: string;\n recoveryCode: string;\n formPromise: Promise;\n\n constructor(private router: Router, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService, private cryptoService: CryptoService,\n private authService: AuthService) { }\n\n async submit() {\n try {\n const request = new TwoFactorRecoveryRequest();\n request.recoveryCode = this.recoveryCode.replace(/\\s/g, '').toLowerCase();\n request.email = this.email.trim().toLowerCase();\n const key = await this.authService.makePreloginKey(this.masterPassword, request.email);\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, key);\n this.formPromise = this.apiService.postTwoFactorRecover(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Recovered 2FA' });\n this.toasterService.popAsync('success', null, this.i18nService.t('twoStepRecoverDisabled'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","
\n
\n
\n

{{'recoverAccountTwoStep' | i18n}}

\n
\n
\n

{{'recoverAccountTwoStepDesc' | i18n}}\n {{'learnMore' | i18n}}\n

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { PolicyService } from 'jslib/abstractions/policy.service';\nimport { StateService } from 'jslib/abstractions/state.service';\n\nimport { RegisterComponent as BaseRegisterComponent } from 'jslib/angular/components/register.component';\n\nimport { MasterPasswordPolicyOptions } from 'jslib/models/domain/masterPasswordPolicyOptions';\nimport { Policy } from 'jslib/models/domain/policy';\n\nimport { PolicyData } from 'jslib/models/data/policyData';\nimport { ReferenceEventRequest } from 'jslib/models/request/referenceEventRequest';\n\n@Component({\n selector: 'app-register',\n templateUrl: 'register.component.html',\n})\nexport class RegisterComponent extends BaseRegisterComponent {\n showCreateOrgMessage = false;\n layout = '';\n enforcedPolicyOptions: MasterPasswordPolicyOptions;\n\n private policies: Policy[];\n\n constructor(authService: AuthService, router: Router,\n i18nService: I18nService, cryptoService: CryptoService,\n apiService: ApiService, private route: ActivatedRoute,\n stateService: StateService, platformUtilsService: PlatformUtilsService,\n passwordGenerationService: PasswordGenerationService, private policyService: PolicyService) {\n super(authService, router, i18nService, cryptoService, apiService, stateService, platformUtilsService,\n passwordGenerationService);\n }\n\n getPasswordScoreAlertDisplay() {\n if (this.enforcedPolicyOptions == null) {\n return '';\n }\n\n let str: string;\n switch (this.enforcedPolicyOptions.minComplexity) {\n case 4:\n str = this.i18nService.t('strong');\n break;\n case 3:\n str = this.i18nService.t('good');\n break;\n default:\n str = this.i18nService.t('weak');\n break;\n }\n return str + ' (' + this.enforcedPolicyOptions.minComplexity + ')';\n }\n\n async ngOnInit() {\n const queryParamsSub = this.route.queryParams.subscribe((qParams) => {\n this.referenceData = new ReferenceEventRequest();\n if (qParams.email != null && qParams.email.indexOf('@') > -1) {\n this.email = qParams.email;\n }\n if (qParams.premium != null) {\n this.stateService.save('loginRedirect', { route: '/settings/premium' });\n } else if (qParams.org != null) {\n this.showCreateOrgMessage = true;\n this.referenceData.flow = qParams.org;\n this.stateService.save('loginRedirect',\n { route: '/settings/create-organization', qParams: { plan: qParams.org } });\n }\n if (qParams.layout != null) {\n this.layout = this.referenceData.layout = qParams.layout;\n }\n if (qParams.reference != null) {\n this.referenceData.id = qParams.reference;\n } else {\n this.referenceData.id = ('; ' + document.cookie).split('; reference=').pop().split(';').shift();\n }\n if (this.referenceData.id === '') {\n this.referenceData.id = null;\n }\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n const invite = await this.stateService.get('orgInvitation');\n if (invite != null) {\n try {\n const policies = await this.apiService.getPoliciesByToken(invite.organizationId, invite.token,\n invite.email, invite.organizationUserId);\n if (policies.data != null) {\n const policiesData = policies.data.map((p) => new PolicyData(p));\n this.policies = policiesData.map((p) => new Policy(p));\n }\n } catch { }\n }\n\n if (this.policies != null) {\n this.enforcedPolicyOptions = await this.policyService.getMasterPasswordPolicyOptions(this.policies);\n }\n }\n\n async submit() {\n if (this.enforcedPolicyOptions != null &&\n !this.policyService.evaluateMasterPassword(this.masterPasswordScore, this.masterPassword,\n this.enforcedPolicyOptions)) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPasswordPolicyRequirementsNotMet'));\n return;\n }\n\n await super.submit();\n }\n}\n","
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n

Companies globally trust Bitwarden for password management.

\n

Start your 7-day free trial!

\n

Quickly deploy your organization

\n

Use Bitwarden across all platforms

\n

Collaborate and share securely

\n
\n
\n \n \"Wired\"\n \n
\n
\n \"Bitwarden has become a popular choice among open-source software advocates. After using\n it for a few months, I can see why.\" - February 2020\n
\n
\n
\n
\n

Enterprise 3 layout

\n
\n
\n

Enterprise 4 layout

\n
\n
\n
\n
\n
\n
\n

{{'createAccount' | i18n}}

\n
\n
\n \n {{'createOrganizationCreatePersonalAccount' | i18n}}\n \n
\n \n \n {{'emailAddressDesc' | i18n}}\n
\n
\n \n \n {{'yourNameDesc' | i18n}}\n
\n
\n \n {{'masterPasswordPolicyInEffect' | i18n}}\n
    \n
  • 0\">\n {{'policyInEffectMinComplexity' | i18n : getPasswordScoreAlertDisplay()}}\n
  • \n
  • 0\">\n {{'policyInEffectMinLength' | i18n : enforcedPolicyOptions?.minLength.toString()}}\n
  • \n
  • \n {{'policyInEffectUppercase' | i18n}}
  • \n
  • \n {{'policyInEffectLowercase' | i18n}}
  • \n
  • \n {{'policyInEffectNumbers' | i18n}}
  • \n
  • \n {{'policyInEffectSpecial' | i18n : '!@#$%^&*'}}
  • \n
\n
\n \n
\n
\n \n \n \n
\n
\n \n
\n
\n
\n {{'masterPassDesc' | i18n}}\n
\n
\n \n
\n \n \n
\n
\n
\n \n \n {{'masterPassHintDesc' | i18n}}\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n","import { PolicyData } from '../data/policyData';\n\nimport Domain from './domainBase';\n\nimport { PolicyType } from '../../enums/policyType';\n\nexport class Policy extends Domain {\n id: string;\n organizationId: string;\n type: PolicyType;\n data: any;\n enabled: boolean;\n\n constructor(obj?: PolicyData) {\n super();\n if (obj == null) {\n return;\n }\n\n this.id = obj.id;\n this.organizationId = obj.organizationId;\n this.type = obj.type;\n this.data = obj.data;\n this.enabled = obj.enabled;\n }\n}\n","import { PolicyResponse } from '../response/policyResponse';\n\nimport { PolicyType } from '../../enums/policyType';\n\nexport class PolicyData {\n id: string;\n organizationId: string;\n type: PolicyType;\n data: any;\n enabled: boolean;\n\n constructor(response: PolicyResponse) {\n this.id = response.id;\n this.organizationId = response.organizationId;\n this.type = response.type;\n this.data = response.data;\n this.enabled = response.enabled;\n }\n}\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { PolicyService } from 'jslib/abstractions/policy.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport {\n SetPasswordComponent as BaseSetPasswordComponent,\n} from 'jslib/angular/components/set-password.component';\n\n@Component({\n selector: 'app-set-password',\n templateUrl: 'set-password.component.html',\n})\nexport class SetPasswordComponent extends BaseSetPasswordComponent {\n constructor(apiService: ApiService, i18nService: I18nService,\n cryptoService: CryptoService, messagingService: MessagingService,\n userService: UserService, passwordGenerationService: PasswordGenerationService,\n platformUtilsService: PlatformUtilsService, policyService: PolicyService, router: Router,\n syncService: SyncService, route: ActivatedRoute) {\n super(i18nService, cryptoService, messagingService, userService, passwordGenerationService,\n platformUtilsService, policyService, router, apiService, syncService, route);\n }\n}\n","
\n
\n
\n

{{'setMasterPassword' | i18n}}

\n
\n
\n \n {{'loading' | i18n}}\n
\n
\n {{'ssoCompleteRegistration' | i18n}}\n
\n \n {{'masterPasswordPolicyInEffect' | i18n}}\n
    \n
  • 0\">\n {{'policyInEffectMinComplexity' | i18n : getPasswordScoreAlertDisplay()}}\n
  • \n
  • 0\">\n {{'policyInEffectMinLength' | i18n : enforcedPolicyOptions?.minLength.toString()}}\n
  • \n
  • \n {{'policyInEffectUppercase' | i18n}}
  • \n
  • \n {{'policyInEffectLowercase' | i18n}}
  • \n
  • \n {{'policyInEffectNumbers' | i18n}}
  • \n
  • \n {{'policyInEffectSpecial' | i18n : '!@#$%^&*'}}
  • \n
\n
\n \n
\n
\n \n \n \n
\n
\n \n
\n
\n
\n {{'masterPassDesc' | i18n}}\n
\n
\n \n
\n \n \n
\n
\n
\n \n \n {{'masterPassHintDesc' | i18n}}\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { CryptoFunctionService } from 'jslib/abstractions/cryptoFunction.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { SsoComponent as BaseSsoComponent } from 'jslib/angular/components/sso.component';\n\nconst IdentifierStorageKey = 'ssoOrgIdentifier';\n\n@Component({\n selector: 'app-sso',\n templateUrl: 'sso.component.html',\n})\nexport class SsoComponent extends BaseSsoComponent {\n constructor(authService: AuthService, router: Router,\n i18nService: I18nService, route: ActivatedRoute,\n storageService: StorageService, stateService: StateService,\n platformUtilsService: PlatformUtilsService, apiService: ApiService,\n cryptoFunctionService: CryptoFunctionService,\n passwordGenerationService: PasswordGenerationService) {\n super(authService, router, i18nService, route, storageService, stateService, platformUtilsService,\n apiService, cryptoFunctionService, passwordGenerationService);\n this.redirectUri = window.location.origin + '/sso-connector.html';\n this.clientId = 'web';\n }\n\n async ngOnInit() {\n super.ngOnInit();\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.identifier != null) {\n this.identifier = qParams.identifier;\n } else {\n const storedIdentifier = await this.storageService.get(IdentifierStorageKey);\n if (storedIdentifier != null) {\n this.identifier = storedIdentifier;\n }\n }\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n }\n\n async submit() {\n await this.storageService.save(IdentifierStorageKey, this.identifier);\n if (this.clientId === 'browser') {\n document.cookie = `ssoHandOffMessage=${this.i18nService.t('ssoHandOff')};SameSite=strict`;\n }\n super.submit();\n }\n}\n","
\n
\n
\n \n
\n
\n \n {{'loading' | i18n}}\n
\n
\n

{{'ssoLogInWithOrgIdentifier' | i18n}}

\n
\n \n \n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","import {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ApiService } from '../../abstractions/api.service';\nimport { AuthService } from '../../abstractions/auth.service';\nimport { CryptoFunctionService } from '../../abstractions/cryptoFunction.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { StateService } from '../../abstractions/state.service';\nimport { StorageService } from '../../abstractions/storage.service';\n\nimport { ConstantsService } from '../../services/constants.service';\n\nimport { Utils } from '../../misc/utils';\n\nimport { AuthResult } from '../../models/domain/authResult';\n\nexport class SsoComponent {\n identifier: string;\n loggingIn = false;\n\n formPromise: Promise;\n initiateSsoFormPromise: Promise;\n onSuccessfulLogin: () => Promise;\n onSuccessfulLoginNavigate: () => Promise;\n onSuccessfulLoginTwoFactorNavigate: () => Promise;\n onSuccessfulLoginChangePasswordNavigate: () => Promise;\n\n protected twoFactorRoute = '2fa';\n protected successRoute = 'lock';\n protected changePasswordRoute = 'set-password';\n protected clientId: string;\n protected redirectUri: string;\n protected state: string;\n protected codeChallenge: string;\n\n constructor(protected authService: AuthService, protected router: Router,\n protected i18nService: I18nService, protected route: ActivatedRoute,\n protected storageService: StorageService, protected stateService: StateService,\n protected platformUtilsService: PlatformUtilsService, protected apiService: ApiService,\n protected cryptoFunctionService: CryptoFunctionService,\n protected passwordGenerationService: PasswordGenerationService) { }\n\n async ngOnInit() {\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.code != null && qParams.state != null) {\n const codeVerifier = await this.storageService.get(ConstantsService.ssoCodeVerifierKey);\n const state = await this.storageService.get(ConstantsService.ssoStateKey);\n await this.storageService.remove(ConstantsService.ssoCodeVerifierKey);\n await this.storageService.remove(ConstantsService.ssoStateKey);\n if (qParams.code != null && codeVerifier != null && state != null && this.checkState(state, qParams.state)) {\n await this.logIn(qParams.code, codeVerifier, this.getOrgIdentiferFromState(qParams.state));\n }\n } else if (qParams.clientId != null && qParams.redirectUri != null && qParams.state != null &&\n qParams.codeChallenge != null) {\n this.redirectUri = qParams.redirectUri;\n this.state = qParams.state;\n this.codeChallenge = qParams.codeChallenge;\n this.clientId = qParams.clientId;\n }\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n }\n\n async submit(returnUri?: string, includeUserIdentifier?: boolean) {\n this.initiateSsoFormPromise = this.preValidate();\n if (await this.initiateSsoFormPromise) {\n const authorizeUrl = await this.buildAuthorizeUrl(returnUri, includeUserIdentifier);\n this.platformUtilsService.launchUri(authorizeUrl, { sameWindow: true });\n }\n }\n\n async preValidate(): Promise {\n if (this.identifier == null || this.identifier === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('ssoValidationFailed'),\n this.i18nService.t('ssoIdentifierRequired'));\n return false;\n }\n return await this.apiService.preValidateSso(this.identifier);\n }\n\n protected async buildAuthorizeUrl(returnUri?: string, includeUserIdentifier?: boolean): Promise {\n let codeChallenge = this.codeChallenge;\n let state = this.state;\n\n const passwordOptions: any = {\n type: 'password',\n length: 64,\n uppercase: true,\n lowercase: true,\n numbers: true,\n special: false,\n };\n\n if (codeChallenge == null) {\n const codeVerifier = await this.passwordGenerationService.generatePassword(passwordOptions);\n const codeVerifierHash = await this.cryptoFunctionService.hash(codeVerifier, 'sha256');\n codeChallenge = Utils.fromBufferToUrlB64(codeVerifierHash);\n await this.storageService.save(ConstantsService.ssoCodeVerifierKey, codeVerifier);\n }\n\n if (state == null) {\n state = await this.passwordGenerationService.generatePassword(passwordOptions);\n if (returnUri) {\n state += `_returnUri='${returnUri}'`;\n }\n }\n\n // Add Organization Identifier to state\n state += `_identifier=${this.identifier}`;\n\n // Save state (regardless of new or existing)\n await this.storageService.save(ConstantsService.ssoStateKey, state);\n\n let authorizeUrl = this.apiService.identityBaseUrl + '/connect/authorize?' +\n 'client_id=' + this.clientId + '&redirect_uri=' + encodeURIComponent(this.redirectUri) + '&' +\n 'response_type=code&scope=api offline_access&' +\n 'state=' + state + '&code_challenge=' + codeChallenge + '&' +\n 'code_challenge_method=S256&response_mode=query&' +\n 'domain_hint=' + encodeURIComponent(this.identifier);\n\n if (includeUserIdentifier) {\n const userIdentifier = await this.apiService.getSsoUserIdentifier();\n authorizeUrl += `&user_identifier=${encodeURIComponent(userIdentifier)}`;\n }\n\n return authorizeUrl;\n }\n\n private async logIn(code: string, codeVerifier: string, orgIdFromState: string) {\n this.loggingIn = true;\n try {\n this.formPromise = this.authService.logInSso(code, codeVerifier, this.redirectUri);\n const response = await this.formPromise;\n if (response.twoFactor) {\n this.platformUtilsService.eventTrack('SSO Logged In To Two-step');\n if (this.onSuccessfulLoginTwoFactorNavigate != null) {\n this.onSuccessfulLoginTwoFactorNavigate();\n } else {\n this.router.navigate([this.twoFactorRoute], {\n queryParams: {\n identifier: orgIdFromState,\n sso: 'true'\n },\n });\n }\n } else if (response.resetMasterPassword) {\n this.platformUtilsService.eventTrack('SSO - routing to complete registration');\n if (this.onSuccessfulLoginChangePasswordNavigate != null) {\n this.onSuccessfulLoginChangePasswordNavigate();\n } else {\n this.router.navigate([this.changePasswordRoute], {\n queryParams: {\n identifier: orgIdFromState,\n },\n });\n }\n } else {\n const disableFavicon = await this.storageService.get(ConstantsService.disableFaviconKey);\n await this.stateService.save(ConstantsService.disableFaviconKey, !!disableFavicon);\n if (this.onSuccessfulLogin != null) {\n this.onSuccessfulLogin();\n }\n this.platformUtilsService.eventTrack('SSO Logged In');\n if (this.onSuccessfulLoginNavigate != null) {\n this.onSuccessfulLoginNavigate();\n } else {\n this.router.navigate([this.successRoute]);\n }\n }\n } catch { }\n this.loggingIn = false;\n }\n\n private getOrgIdentiferFromState(state: string): string {\n if (state === null || state === undefined) {\n return null;\n }\n\n const stateSplit = state.split('_identifier=');\n return stateSplit.length > 1 ? stateSplit[1] : null;\n }\n\n private checkState(state: string, checkState: string): boolean {\n if (state === null || state === undefined) {\n return false;\n }\n if (checkState === null || checkState === undefined) {\n return false;\n }\n\n const stateSplit = state.split('_identifier=');\n const checkStateSplit = checkState.split('_identifier=');\n return stateSplit[0] === checkStateSplit[0];\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { TwoFactorOptionsComponent } from './two-factor-options.component';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { TwoFactorComponent as BaseTwoFactorComponent } from 'jslib/angular/components/two-factor.component';\n\n@Component({\n selector: 'app-two-factor',\n templateUrl: 'two-factor.component.html',\n})\nexport class TwoFactorComponent extends BaseTwoFactorComponent {\n @ViewChild('twoFactorOptions', { read: ViewContainerRef, static: true }) twoFactorOptionsModal: ViewContainerRef;\n\n constructor(authService: AuthService, router: Router,\n i18nService: I18nService, apiService: ApiService,\n platformUtilsService: PlatformUtilsService, stateService: StateService,\n environmentService: EnvironmentService, private componentFactoryResolver: ComponentFactoryResolver,\n storageService: StorageService, route: ActivatedRoute) {\n super(authService, router, i18nService, apiService, platformUtilsService, window, environmentService,\n stateService, storageService, route);\n this.onSuccessfulLoginNavigate = this.goAfterLogIn;\n }\n\n anotherMethod() {\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n const modal = this.twoFactorOptionsModal.createComponent(factory).instance;\n const childComponent = modal.show(TwoFactorOptionsComponent,\n this.twoFactorOptionsModal);\n\n childComponent.onProviderSelected.subscribe(async (provider: TwoFactorProviderType) => {\n modal.close();\n this.selectedProviderType = provider;\n await this.init();\n });\n childComponent.onRecoverSelected.subscribe(() => {\n modal.close();\n });\n }\n\n async goAfterLogIn() {\n const invite = await this.stateService.get('orgInvitation');\n if (invite != null) {\n this.router.navigate(['accept-organization'], { queryParams: invite });\n } else {\n const loginRedirect = await this.stateService.get('loginRedirect');\n if (loginRedirect != null) {\n this.router.navigate([loginRedirect.route], { queryParams: loginRedirect.qParams });\n await this.stateService.remove('loginRedirect');\n } else {\n this.router.navigate([this.successRoute], {\n queryParams: {\n identifier: this.identifier,\n },\n });\n }\n }\n }\n}\n","
\n
\n
\n

{{title}}

\n
\n
\n \n

\n {{'enterVerificationCodeApp' | i18n}}

\n

\n {{'enterVerificationCodeEmail' | i18n : twoFactorEmail}}\n

\n
\n \n \n \n \n {{'sendVerificationCodeEmailAgain' | i18n}}\n \n \n
\n \n \n

{{'insertYubiKey' | i18n}}

\n \"\"\n
\n \n \n
\n
\n \n

\n \n {{'loading' | i18n}}\n

\n \n

{{'insertU2f' | i18n}}

\n \"\"\n
\n
\n \n
\n \n
\n
\n \n
\n \n \n
\n \n

{{'noTwoStepProviders' | i18n}}

\n

{{'noTwoStepProviders2' | i18n}}

\n
\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n \n
\n
\n
\n
\n
\n\n\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport {\n TwoFactorOptionsComponent as BaseTwoFactorOptionsComponent,\n} from 'jslib/angular/components/two-factor-options.component';\n\n@Component({\n selector: 'app-two-factor-options',\n templateUrl: 'two-factor-options.component.html',\n})\nexport class TwoFactorOptionsComponent extends BaseTwoFactorOptionsComponent {\n constructor(authService: AuthService, router: Router,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService) {\n super(authService, router, i18nService, platformUtilsService, window);\n }\n}\n","
\n
\n
\n
\n

{{'twoStepOptions' | i18n}}

\n \n
\n \n
\n \n
\n
\n
\n
\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class TwoFactorEmailRequest extends PasswordVerificationRequest {\n email: string;\n\n constructor(email: string, masterPasswordHash: string) {\n super();\n this.masterPasswordHash = masterPasswordHash;\n this.email = email;\n }\n}\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nexport class AuthResult {\n twoFactor: boolean = false;\n resetMasterPassword: boolean = false;\n twoFactorProviders: Map = null;\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { VerifyEmailRequest } from 'jslib/models/request/verifyEmailRequest';\n\n@Component({\n selector: 'app-verify-email-token',\n templateUrl: 'verify-email-token.component.html',\n})\nexport class VerifyEmailTokenComponent implements OnInit {\n constructor(private router: Router, private toasterService: ToasterService,\n private i18nService: I18nService, private route: ActivatedRoute,\n private apiService: ApiService, private userService: UserService) { }\n\n ngOnInit() {\n let fired = false;\n this.route.queryParams.subscribe(async (qParams) => {\n if (fired) {\n return;\n }\n fired = true;\n if (qParams.userId != null && qParams.token != null) {\n try {\n await this.apiService.postAccountVerifyEmailToken(\n new VerifyEmailRequest(qParams.userId, qParams.token));\n const authed = await this.userService.isAuthenticated();\n if (authed) {\n await this.apiService.refreshIdentityToken();\n }\n this.toasterService.popAsync('success', null, this.i18nService.t('emailVerified'));\n this.router.navigate(['/']);\n return;\n } catch { }\n }\n this.toasterService.popAsync('error', null, this.i18nService.t('emailVerifiedFailed'));\n this.router.navigate(['/']);\n });\n }\n}\n","
\n
\n \"Bitwarden\"\n

\n \n {{'loading' | i18n}}\n

\n
\n
\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { VerifyDeleteRecoverRequest } from 'jslib/models/request/verifyDeleteRecoverRequest';\n\n@Component({\n selector: 'app-verify-recover-delete',\n templateUrl: 'verify-recover-delete.component.html',\n})\nexport class VerifyRecoverDeleteComponent implements OnInit {\n email: string;\n formPromise: Promise;\n\n private userId: string;\n private token: string;\n\n constructor(private router: Router, private apiService: ApiService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService, private route: ActivatedRoute) {\n }\n\n ngOnInit() {\n let fired = false;\n this.route.queryParams.subscribe(async (qParams) => {\n if (fired) {\n return;\n }\n fired = true;\n if (qParams.userId != null && qParams.token != null && qParams.email != null) {\n this.userId = qParams.userId;\n this.token = qParams.token;\n this.email = qParams.email;\n } else {\n this.router.navigate(['/']);\n }\n });\n }\n\n async submit() {\n try {\n const request = new VerifyDeleteRecoverRequest(this.userId, this.token);\n this.formPromise = this.apiService.postAccountRecoverDeleteToken(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Recovered Delete' });\n this.toasterService.popAsync('success', this.i18nService.t('accountDeleted'),\n this.i18nService.t('accountDeletedDesc'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","
\n
\n
\n

{{'deleteAccount' | i18n}}

\n
\n
\n {{'deleteAccountWarning' | i18n}}\n

\n {{email}}\n

\n

{{'deleteRecoverConfirmDesc' | i18n}}

\n
\n
\n \n \n {{'cancel' | i18n}}\n \n
\n
\n
\n
\n
\n
\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SearchService } from 'jslib/abstractions/search.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CollectionData } from 'jslib/models/data/collectionData';\nimport { Collection } from 'jslib/models/domain/collection';\nimport {\n CollectionDetailsResponse,\n CollectionResponse,\n} from 'jslib/models/response/collectionResponse';\nimport { ListResponse } from 'jslib/models/response/listResponse';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { ModalComponent } from '../../modal.component';\nimport { CollectionAddEditComponent } from './collection-add-edit.component';\nimport { EntityUsersComponent } from './entity-users.component';\n\n@Component({\n selector: 'app-org-manage-collections',\n templateUrl: 'collections.component.html',\n})\nexport class CollectionsComponent implements OnInit {\n @ViewChild('addEdit', { read: ViewContainerRef, static: true }) addEditModalRef: ViewContainerRef;\n @ViewChild('usersTemplate', { read: ViewContainerRef, static: true }) usersModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n collections: CollectionView[];\n pagedCollections: CollectionView[];\n searchText: string;\n\n protected didScroll = false;\n protected pageSize = 100;\n\n private pagedCollectionsCount = 0;\n private modal: ModalComponent = null;\n\n constructor(private apiService: ApiService, private route: ActivatedRoute,\n private collectionService: CollectionService, private componentFactoryResolver: ComponentFactoryResolver,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private i18nService: I18nService, private platformUtilsService: PlatformUtilsService,\n private userService: UserService, private searchService: SearchService) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await this.load();\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n this.searchText = qParams.search;\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n });\n }\n\n async load() {\n const organization = await this.userService.getOrganization(this.organizationId);\n let response: ListResponse;\n if (organization.canManageAllCollections) {\n response = await this.apiService.getCollections(this.organizationId);\n } else {\n response = await this.apiService.getUserCollections();\n }\n const collections = response.data.filter((c) => c.organizationId === this.organizationId).map((r) =>\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\n this.collections = await this.collectionService.decryptMany(collections);\n this.resetPaging();\n this.loading = false;\n }\n\n loadMore() {\n if (!this.collections || this.collections.length <= this.pageSize) {\n return;\n }\n const pagedLength = this.pagedCollections.length;\n let pagedSize = this.pageSize;\n if (pagedLength === 0 && this.pagedCollectionsCount > this.pageSize) {\n pagedSize = this.pagedCollectionsCount;\n }\n if (this.collections.length > pagedLength) {\n this.pagedCollections =\n this.pagedCollections.concat(this.collections.slice(pagedLength, pagedLength + pagedSize));\n }\n this.pagedCollectionsCount = this.pagedCollections.length;\n this.didScroll = this.pagedCollections.length > this.pageSize;\n }\n\n edit(collection: CollectionView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.addEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n CollectionAddEditComponent, this.addEditModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.collectionId = collection != null ? collection.id : null;\n childComponent.onSavedCollection.subscribe(() => {\n this.modal.close();\n this.load();\n });\n childComponent.onDeletedCollection.subscribe(() => {\n this.modal.close();\n this.removeCollection(collection);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n add() {\n this.edit(null);\n }\n\n async delete(collection: CollectionView) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteCollectionConfirmation'), collection.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n await this.apiService.deleteCollection(this.organizationId, collection.id);\n this.analytics.eventTrack.next({ action: 'Deleted Collection' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedCollectionId', collection.name));\n this.removeCollection(collection);\n } catch { }\n }\n\n users(collection: CollectionView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.usersModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityUsersComponent, this.usersModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.entity = 'collection';\n childComponent.entityId = collection.id;\n childComponent.entityName = collection.name;\n\n childComponent.onEditedUsers.subscribe(() => {\n this.load();\n this.modal.close();\n });\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n async resetPaging() {\n this.pagedCollections = [];\n this.loadMore();\n }\n\n isSearching() {\n return this.searchService.isSearchable(this.searchText);\n }\n\n isPaging() {\n const searching = this.isSearching();\n if (searching && this.didScroll) {\n this.resetPaging();\n }\n return !searching && this.collections && this.collections.length > this.pageSize;\n }\n\n private removeCollection(collection: CollectionView) {\n const index = this.collections.indexOf(collection);\n if (index > -1) {\n this.collections.splice(index, 1);\n this.resetPaging();\n }\n }\n}\n","
\n

{{'collections' | i18n}}

\n
\n
\n \n \n
\n \n
\n
\n\n \n {{'loading' | i18n}}\n\n\n

{{'noCollectionsInList' | i18n}}

\n \n \n \n \n \n \n \n
\n {{c.name}}\n \n \n
\n\n\n\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherString } from 'jslib/models/domain/cipherString';\nimport { SymmetricCryptoKey } from 'jslib/models/domain/symmetricCryptoKey';\nimport { CollectionRequest } from 'jslib/models/request/collectionRequest';\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\nimport { GroupResponse } from 'jslib/models/response/groupResponse';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-collection-add-edit',\n templateUrl: 'collection-add-edit.component.html',\n})\nexport class CollectionAddEditComponent implements OnInit {\n @Input() collectionId: string;\n @Input() organizationId: string;\n @Output() onSavedCollection = new EventEmitter();\n @Output() onDeletedCollection = new EventEmitter();\n\n loading = true;\n editMode: boolean = false;\n accessGroups: boolean = false;\n title: string;\n name: string;\n externalId: string;\n groups: GroupResponse[] = [];\n formPromise: Promise;\n deletePromise: Promise;\n\n private orgKey: SymmetricCryptoKey;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private platformUtilsService: PlatformUtilsService, private cryptoService: CryptoService,\n private userService: UserService) { }\n\n async ngOnInit() {\n const organization = await this.userService.getOrganization(this.organizationId);\n this.accessGroups = organization.useGroups;\n this.editMode = this.loading = this.collectionId != null;\n if (this.accessGroups) {\n const groupsResponse = await this.apiService.getGroups(this.organizationId);\n this.groups = groupsResponse.data.map((r) => r).sort(Utils.getSortFunction(this.i18nService, 'name'));\n }\n this.orgKey = await this.cryptoService.getOrgKey(this.organizationId);\n\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editCollection');\n try {\n const collection = await this.apiService.getCollectionDetails(this.organizationId, this.collectionId);\n this.name = await this.cryptoService.decryptToUtf8(new CipherString(collection.name), this.orgKey);\n this.externalId = collection.externalId;\n if (collection.groups != null && this.groups.length > 0) {\n collection.groups.forEach((s) => {\n const group = this.groups.filter((g) => !g.accessAll && g.id === s.id);\n if (group != null && group.length > 0) {\n (group[0] as any).checked = true;\n (group[0] as any).readOnly = s.readOnly;\n (group[0] as any).hidePasswords = s.hidePasswords;\n }\n });\n }\n } catch { }\n } else {\n this.title = this.i18nService.t('addCollection');\n }\n\n this.groups.forEach((g) => {\n if (g.accessAll) {\n (g as any).checked = true;\n }\n });\n\n this.loading = false;\n }\n\n check(g: GroupResponse, select?: boolean) {\n if (g.accessAll) {\n return;\n }\n (g as any).checked = select == null ? !(g as any).checked : select;\n if (!(g as any).checked) {\n (g as any).readOnly = false;\n (g as any).hidePasswords = false;\n }\n }\n\n selectAll(select: boolean) {\n this.groups.forEach((g) => this.check(g, select));\n }\n\n async submit() {\n if (this.orgKey == null) {\n throw new Error('No encryption key for this organization.');\n }\n\n const request = new CollectionRequest();\n request.name = (await this.cryptoService.encrypt(this.name, this.orgKey)).encryptedString;\n request.externalId = this.externalId;\n request.groups = this.groups.filter((g) => (g as any).checked && !g.accessAll)\n .map((g) => new SelectionReadOnlyRequest(g.id, !!(g as any).readOnly, !!(g as any).hidePasswords));\n\n try {\n if (this.editMode) {\n this.formPromise = this.apiService.putCollection(this.organizationId, this.collectionId, request);\n } else {\n this.formPromise = this.apiService.postCollection(this.organizationId, request);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Collection' : 'Created Collection' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedCollectionId' : 'createdCollectionId', this.name));\n this.onSavedCollection.emit();\n } catch { }\n }\n\n async delete() {\n if (!this.editMode) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteCollectionConfirmation'), this.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.deletePromise = this.apiService.deleteCollection(this.organizationId, this.collectionId);\n await this.deletePromise;\n this.analytics.eventTrack.next({ action: 'Deleted Collection' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedCollectionId', this.name));\n this.onDeletedCollection.emit();\n } catch { }\n }\n}\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n {{'loading' | i18n}}\n
\n
\n
\n \n \n
\n
\n \n \n {{'externalIdDesc' | i18n}}\n
\n \n

\n {{'groupAccess' | i18n}}\n
\n \n \n
\n

\n
\n {{'noGroupsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 {{'name' | i18n}}{{'hidePasswords' | i18n}}{{'readOnly' | i18n}}
\n \n \n {{g.name}}\n \n \n {{'groupAccessAllItems' | i18n}}\n \n \n \n \n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","import { Collection } from '../domain/collection';\n\nimport { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class CollectionRequest {\n name: string;\n externalId: string;\n groups: SelectionReadOnlyRequest[] = [];\n\n constructor(collection?: Collection) {\n if (collection == null) {\n return;\n }\n this.name = collection.name ? collection.name.encryptedString : null;\n this.externalId = collection.externalId;\n }\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { EventService } from '../../services/event.service';\n\nimport { EventResponse } from 'jslib/models/response/eventResponse';\nimport { ListResponse } from 'jslib/models/response/listResponse';\n\n@Component({\n selector: 'app-org-events',\n templateUrl: 'events.component.html',\n})\nexport class EventsComponent implements OnInit {\n loading = true;\n loaded = false;\n organizationId: string;\n events: any[];\n start: string;\n end: string;\n continuationToken: string;\n refreshPromise: Promise;\n morePromise: Promise;\n\n private orgUsersUserIdMap = new Map();\n private orgUsersIdMap = new Map();\n\n constructor(private apiService: ApiService, private route: ActivatedRoute,\n private eventService: EventService, private i18nService: I18nService,\n private toasterService: ToasterService, private userService: UserService,\n private router: Router) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n const organization = await this.userService.getOrganization(this.organizationId);\n if (organization == null || !organization.useEvents) {\n this.router.navigate(['/organizations', this.organizationId]);\n return;\n }\n const defaultDates = this.eventService.getDefaultDateFilters();\n this.start = defaultDates[0];\n this.end = defaultDates[1];\n await this.load();\n });\n }\n\n async load() {\n const response = await this.apiService.getOrganizationUsers(this.organizationId);\n response.data.forEach((u) => {\n const name = u.name == null || u.name.trim() === '' ? u.email : u.name;\n this.orgUsersIdMap.set(u.id, { name: name, email: u.email });\n this.orgUsersUserIdMap.set(u.userId, { name: name, email: u.email });\n });\n await this.loadEvents(true);\n this.loaded = true;\n }\n\n async loadEvents(clearExisting: boolean) {\n if (this.refreshPromise != null || this.morePromise != null) {\n return;\n }\n\n let dates: string[] = null;\n try {\n dates = this.eventService.formatDateFilters(this.start, this.end);\n } catch (e) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidDateRange'));\n return;\n }\n\n this.loading = true;\n let response: ListResponse;\n try {\n const promise = this.apiService.getEventsOrganization(this.organizationId, dates[0], dates[1],\n clearExisting ? null : this.continuationToken);\n if (clearExisting) {\n this.refreshPromise = promise;\n } else {\n this.morePromise = promise;\n }\n response = await promise;\n } catch { }\n\n this.continuationToken = response.continuationToken;\n const events = response.data.map((r) => {\n const userId = r.actingUserId == null ? r.userId : r.actingUserId;\n const eventInfo = this.eventService.getEventInfo(r);\n const user = userId != null && this.orgUsersUserIdMap.has(userId) ?\n this.orgUsersUserIdMap.get(userId) : null;\n return {\n message: eventInfo.message,\n appIcon: eventInfo.appIcon,\n appName: eventInfo.appName,\n userId: userId,\n userName: user != null ? user.name : this.i18nService.t('unknown'),\n userEmail: user != null ? user.email : '',\n date: r.date,\n ip: r.ipAddress,\n type: r.type,\n };\n });\n\n if (!clearExisting && this.events != null && this.events.length > 0) {\n this.events = this.events.concat(events);\n } else {\n this.events = events;\n }\n\n this.loading = false;\n this.morePromise = null;\n this.refreshPromise = null;\n }\n}\n","
\n

{{'eventLogs' | i18n}}

\n
\n
\n \n \n -\n \n \n
\n \n
\n
\n\n \n {{'loading' | i18n}}\n\n\n

{{'noEventsInList' | i18n}}

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{'timestamp' | i18n}}\n {{'device' | i18n}}\n {{'user' | i18n}}{{'event' | i18n}}
{{e.date | date:'medium'}}\n \n {{e.appName}}, {{e.ip}}\n \n {{e.userName}}\n
\n \n
\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SearchService } from 'jslib/abstractions/search.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { GroupResponse } from 'jslib/models/response/groupResponse';\n\nimport { Utils } from 'jslib/misc/utils';\n\nimport { ModalComponent } from '../../modal.component';\nimport { EntityUsersComponent } from './entity-users.component';\nimport { GroupAddEditComponent } from './group-add-edit.component';\n\n@Component({\n selector: 'app-org-groups',\n templateUrl: 'groups.component.html',\n})\nexport class GroupsComponent implements OnInit {\n @ViewChild('addEdit', { read: ViewContainerRef, static: true }) addEditModalRef: ViewContainerRef;\n @ViewChild('usersTemplate', { read: ViewContainerRef, static: true }) usersModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n groups: GroupResponse[];\n pagedGroups: GroupResponse[];\n searchText: string;\n\n protected didScroll = false;\n protected pageSize = 100;\n\n private pagedGroupsCount = 0;\n private modal: ModalComponent = null;\n\n constructor(private apiService: ApiService, private route: ActivatedRoute,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private platformUtilsService: PlatformUtilsService, private userService: UserService,\n private router: Router, private searchService: SearchService) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n const organization = await this.userService.getOrganization(this.organizationId);\n if (organization == null || !organization.useGroups) {\n this.router.navigate(['/organizations', this.organizationId]);\n return;\n }\n await this.load();\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n this.searchText = qParams.search;\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n });\n }\n\n async load() {\n const response = await this.apiService.getGroups(this.organizationId);\n const groups = response.data != null && response.data.length > 0 ? response.data : [];\n groups.sort(Utils.getSortFunction(this.i18nService, 'name'));\n this.groups = groups;\n this.resetPaging();\n this.loading = false;\n }\n\n loadMore() {\n if (!this.groups || this.groups.length <= this.pageSize) {\n return;\n }\n const pagedLength = this.pagedGroups.length;\n let pagedSize = this.pageSize;\n if (pagedLength === 0 && this.pagedGroupsCount > this.pageSize) {\n pagedSize = this.pagedGroupsCount;\n }\n if (this.groups.length > pagedLength) {\n this.pagedGroups = this.pagedGroups.concat(this.groups.slice(pagedLength, pagedLength + pagedSize));\n }\n this.pagedGroupsCount = this.pagedGroups.length;\n this.didScroll = this.pagedGroups.length > this.pageSize;\n }\n\n edit(group: GroupResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.addEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n GroupAddEditComponent, this.addEditModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.groupId = group != null ? group.id : null;\n childComponent.onSavedGroup.subscribe(() => {\n this.modal.close();\n this.load();\n });\n childComponent.onDeletedGroup.subscribe(() => {\n this.modal.close();\n this.removeGroup(group);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n add() {\n this.edit(null);\n }\n\n async delete(group: GroupResponse) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteGroupConfirmation'), group.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n await this.apiService.deleteGroup(this.organizationId, group.id);\n this.analytics.eventTrack.next({ action: 'Deleted Group' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedGroupId', group.name));\n this.removeGroup(group);\n } catch { }\n }\n\n users(group: GroupResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.usersModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityUsersComponent, this.usersModalRef);\n\n childComponent.organizationId = this.organizationId;\n childComponent.entity = 'group';\n childComponent.entityId = group.id;\n childComponent.entityName = group.name;\n\n childComponent.onEditedUsers.subscribe(() => {\n this.modal.close();\n });\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n async resetPaging() {\n this.pagedGroups = [];\n this.loadMore();\n }\n\n isSearching() {\n return this.searchService.isSearchable(this.searchText);\n }\n\n isPaging() {\n const searching = this.isSearching();\n if (searching && this.didScroll) {\n this.resetPaging();\n }\n return !searching && this.groups && this.groups.length > this.pageSize;\n }\n\n private removeGroup(group: GroupResponse) {\n const index = this.groups.indexOf(group);\n if (index > -1) {\n this.groups.splice(index, 1);\n this.resetPaging();\n }\n }\n}\n","
\n

{{'groups' | i18n}}

\n
\n
\n \n \n
\n \n
\n
\n\n \n {{'loading' | i18n}}\n\n\n

{{'noGroupsInList' | i18n}}

\n \n \n \n \n \n \n \n
\n {{g.name}}\n \n \n
\n
\n\n\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { CollectionData } from 'jslib/models/data/collectionData';\nimport { Collection } from 'jslib/models/domain/collection';\nimport { GroupRequest } from 'jslib/models/request/groupRequest';\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\n@Component({\n selector: 'app-group-add-edit',\n templateUrl: 'group-add-edit.component.html',\n})\nexport class GroupAddEditComponent implements OnInit {\n @Input() groupId: string;\n @Input() organizationId: string;\n @Output() onSavedGroup = new EventEmitter();\n @Output() onDeletedGroup = new EventEmitter();\n\n loading = true;\n editMode: boolean = false;\n title: string;\n name: string;\n externalId: string;\n access: 'all' | 'selected' = 'selected';\n collections: CollectionView[] = [];\n formPromise: Promise;\n deletePromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private collectionService: CollectionService, private platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n this.editMode = this.loading = this.groupId != null;\n await this.loadCollections();\n\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editGroup');\n try {\n const group = await this.apiService.getGroupDetails(this.organizationId, this.groupId);\n this.access = group.accessAll ? 'all' : 'selected';\n this.name = group.name;\n this.externalId = group.externalId;\n if (group.collections != null && this.collections != null) {\n group.collections.forEach((s) => {\n const collection = this.collections.filter((c) => c.id === s.id);\n if (collection != null && collection.length > 0) {\n (collection[0] as any).checked = true;\n collection[0].readOnly = s.readOnly;\n collection[0].hidePasswords = s.hidePasswords;\n }\n });\n }\n } catch { }\n } else {\n this.title = this.i18nService.t('addGroup');\n }\n\n this.loading = false;\n }\n\n async loadCollections() {\n const response = await this.apiService.getCollections(this.organizationId);\n const collections = response.data.map((r) =>\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\n this.collections = await this.collectionService.decryptMany(collections);\n }\n\n check(c: CollectionView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n if (!(c as any).checked) {\n c.readOnly = false;\n }\n }\n\n selectAll(select: boolean) {\n this.collections.forEach((c) => this.check(c, select));\n }\n\n async submit() {\n const request = new GroupRequest();\n request.name = this.name;\n request.externalId = this.externalId;\n request.accessAll = this.access === 'all';\n if (!request.accessAll) {\n request.collections = this.collections.filter((c) => (c as any).checked)\n .map((c) => new SelectionReadOnlyRequest(c.id, !!c.readOnly, !!c.hidePasswords));\n }\n\n try {\n if (this.editMode) {\n this.formPromise = this.apiService.putGroup(this.organizationId, this.groupId, request);\n } else {\n this.formPromise = this.apiService.postGroup(this.organizationId, request);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Group' : 'Created Group' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedGroupId' : 'createdGroupId', this.name));\n this.onSavedGroup.emit();\n } catch { }\n }\n\n async delete() {\n if (!this.editMode) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteGroupConfirmation'), this.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.deletePromise = this.apiService.deleteGroup(this.organizationId, this.groupId);\n await this.deletePromise;\n this.analytics.eventTrack.next({ action: 'Deleted Group' });\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedGroupId', this.name));\n this.onDeletedGroup.emit();\n } catch { }\n }\n}\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n {{'loading' | i18n}}\n
\n
\n
\n \n \n
\n
\n \n \n {{'externalIdDesc' | i18n}}\n
\n

\n
\n {{'accessControl' | i18n}}\n \n \n \n
\n
\n \n \n
\n

\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 {{'name' | i18n}}{{'hidePasswords' | i18n}}{{'readOnly' | i18n}}
\n \n \n {{c.name}}\n \n \n \n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\n@Component({\n selector: 'app-org-manage',\n templateUrl: 'manage.component.html',\n})\nexport class ManageComponent implements OnInit {\n organization: Organization;\n accessPolicies = false;\n accessGroups = false;\n accessEvents = false;\n\n constructor(private route: ActivatedRoute, private userService: UserService) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n this.accessPolicies = this.organization.usePolicies;\n this.accessEvents = this.organization.useEvents;\n this.accessGroups = this.organization.useGroups;\n });\n }\n}\n","\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SearchService } from 'jslib/abstractions/search.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { OrganizationUserConfirmRequest } from 'jslib/models/request/organizationUserConfirmRequest';\n\nimport { OrganizationUserUserDetailsResponse } from 'jslib/models/response/organizationUserResponse';\n\nimport { OrganizationUserStatusType } from 'jslib/enums/organizationUserStatusType';\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\n\nimport { Utils } from 'jslib/misc/utils';\n\nimport { ModalComponent } from '../../modal.component';\nimport { EntityEventsComponent } from './entity-events.component';\nimport { UserAddEditComponent } from './user-add-edit.component';\nimport { UserConfirmComponent } from './user-confirm.component';\nimport { UserGroupsComponent } from './user-groups.component';\n\n@Component({\n selector: 'app-org-people',\n templateUrl: 'people.component.html',\n})\nexport class PeopleComponent implements OnInit {\n @ViewChild('addEdit', { read: ViewContainerRef, static: true }) addEditModalRef: ViewContainerRef;\n @ViewChild('groupsTemplate', { read: ViewContainerRef, static: true }) groupsModalRef: ViewContainerRef;\n @ViewChild('eventsTemplate', { read: ViewContainerRef, static: true }) eventsModalRef: ViewContainerRef;\n @ViewChild('confirmTemplate', { read: ViewContainerRef, static: true }) confirmModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n users: OrganizationUserUserDetailsResponse[];\n pagedUsers: OrganizationUserUserDetailsResponse[];\n searchText: string;\n status: OrganizationUserStatusType = null;\n statusMap = new Map();\n organizationUserType = OrganizationUserType;\n organizationUserStatusType = OrganizationUserStatusType;\n actionPromise: Promise;\n accessEvents = false;\n accessGroups = false;\n\n protected didScroll = false;\n protected pageSize = 100;\n\n private pagedUsersCount = 0;\n private modal: ModalComponent = null;\n private allUsers: OrganizationUserUserDetailsResponse[];\n\n constructor(private apiService: ApiService, private route: ActivatedRoute,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private platformUtilsService: PlatformUtilsService, private analytics: Angulartics2,\n private toasterService: ToasterService, private cryptoService: CryptoService,\n private userService: UserService, private router: Router,\n private storageService: StorageService, private searchService: SearchService) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n const organization = await this.userService.getOrganization(this.organizationId);\n if (!organization.canManageUsers) {\n this.router.navigate(['../collections'], { relativeTo: this.route });\n return;\n }\n this.accessEvents = organization.useEvents;\n this.accessGroups = organization.useGroups;\n await this.load();\n\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n this.searchText = qParams.search;\n if (qParams.viewEvents != null) {\n const user = this.users.filter((u) => u.id === qParams.viewEvents);\n if (user.length > 0 && user[0].status === OrganizationUserStatusType.Confirmed) {\n this.events(user[0]);\n }\n }\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n });\n }\n\n async load() {\n const response = await this.apiService.getOrganizationUsers(this.organizationId);\n this.statusMap.clear();\n this.allUsers = response.data != null && response.data.length > 0 ? response.data : [];\n this.allUsers.sort(Utils.getSortFunction(this.i18nService, 'email'));\n this.allUsers.forEach((u) => {\n if (!this.statusMap.has(u.status)) {\n this.statusMap.set(u.status, [u]);\n } else {\n this.statusMap.get(u.status).push(u);\n }\n });\n this.filter(this.status);\n this.loading = false;\n }\n\n filter(status: OrganizationUserStatusType) {\n this.status = status;\n if (this.status != null) {\n this.users = this.statusMap.get(this.status);\n } else {\n this.users = this.allUsers;\n }\n this.resetPaging();\n }\n\n loadMore() {\n if (!this.users || this.users.length <= this.pageSize) {\n return;\n }\n const pagedLength = this.pagedUsers.length;\n let pagedSize = this.pageSize;\n if (pagedLength === 0 && this.pagedUsersCount > this.pageSize) {\n pagedSize = this.pagedUsersCount;\n }\n if (this.users.length > pagedLength) {\n this.pagedUsers = this.pagedUsers.concat(this.users.slice(pagedLength, pagedLength + pagedSize));\n }\n this.pagedUsersCount = this.pagedUsers.length;\n this.didScroll = this.pagedUsers.length > this.pageSize;\n }\n\n get allCount() {\n return this.allUsers != null ? this.allUsers.length : 0;\n }\n\n get invitedCount() {\n return this.statusMap.has(OrganizationUserStatusType.Invited) ?\n this.statusMap.get(OrganizationUserStatusType.Invited).length : 0;\n }\n\n get acceptedCount() {\n return this.statusMap.has(OrganizationUserStatusType.Accepted) ?\n this.statusMap.get(OrganizationUserStatusType.Accepted).length : 0;\n }\n\n get confirmedCount() {\n return this.statusMap.has(OrganizationUserStatusType.Confirmed) ?\n this.statusMap.get(OrganizationUserStatusType.Confirmed).length : 0;\n }\n\n get showConfirmUsers(): boolean {\n return this.allUsers != null && this.statusMap != null && this.allUsers.length > 1 &&\n this.confirmedCount > 0 && this.confirmedCount < 3 && this.acceptedCount > 0;\n }\n\n edit(user: OrganizationUserUserDetailsResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.addEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n UserAddEditComponent, this.addEditModalRef);\n\n childComponent.name = user != null ? user.name || user.email : null;\n childComponent.organizationId = this.organizationId;\n childComponent.organizationUserId = user != null ? user.id : null;\n childComponent.onSavedUser.subscribe(() => {\n this.modal.close();\n this.load();\n });\n childComponent.onDeletedUser.subscribe(() => {\n this.modal.close();\n this.removeUser(user);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n invite() {\n this.edit(null);\n }\n\n groups(user: OrganizationUserUserDetailsResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.groupsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n UserGroupsComponent, this.groupsModalRef);\n\n childComponent.name = user != null ? user.name || user.email : null;\n childComponent.organizationId = this.organizationId;\n childComponent.organizationUserId = user != null ? user.id : null;\n childComponent.onSavedUser.subscribe(() => {\n this.modal.close();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n async remove(user: OrganizationUserUserDetailsResponse) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('removeUserConfirmation'), user.name || user.email,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n await this.apiService.deleteOrganizationUser(this.organizationId, user.id);\n this.analytics.eventTrack.next({ action: 'Deleted User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', user.name || user.email));\n this.removeUser(user);\n } catch { }\n }\n\n async reinvite(user: OrganizationUserUserDetailsResponse) {\n if (this.actionPromise != null) {\n return;\n }\n this.actionPromise = this.apiService.postOrganizationUserReinvite(this.organizationId, user.id);\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Reinvited User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenReinvited', user.name || user.email));\n this.actionPromise = null;\n }\n\n async confirm(user: OrganizationUserUserDetailsResponse) {\n function updateUser(self: PeopleComponent) {\n user.status = OrganizationUserStatusType.Confirmed;\n const mapIndex = self.statusMap.get(OrganizationUserStatusType.Accepted).indexOf(user);\n if (mapIndex > -1) {\n self.statusMap.get(OrganizationUserStatusType.Accepted).splice(mapIndex, 1);\n self.statusMap.get(OrganizationUserStatusType.Confirmed).push(user);\n }\n }\n\n if (this.actionPromise != null) {\n return;\n }\n\n const autoConfirm = await this.storageService.get(ConstantsService.autoConfirmFingerprints);\n if (autoConfirm == null || !autoConfirm) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.confirmModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n UserConfirmComponent, this.confirmModalRef);\n\n childComponent.name = user != null ? user.name || user.email : null;\n childComponent.organizationId = this.organizationId;\n childComponent.organizationUserId = user != null ? user.id : null;\n childComponent.userId = user != null ? user.userId : null;\n childComponent.onConfirmedUser.subscribe(() => {\n this.modal.close();\n updateUser(this);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n return;\n }\n\n this.actionPromise = this.doConfirmation(user);\n await this.actionPromise;\n updateUser(this);\n this.analytics.eventTrack.next({ action: 'Confirmed User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenConfirmed', user.name || user.email));\n this.actionPromise = null;\n }\n\n async events(user: OrganizationUserUserDetailsResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.eventsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityEventsComponent, this.eventsModalRef);\n\n childComponent.name = user.name || user.email;\n childComponent.organizationId = this.organizationId;\n childComponent.entityId = user.id;\n childComponent.showUser = false;\n childComponent.entity = 'user';\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n async resetPaging() {\n this.pagedUsers = [];\n this.loadMore();\n }\n\n isSearching() {\n return this.searchService.isSearchable(this.searchText);\n }\n\n isPaging() {\n const searching = this.isSearching();\n if (searching && this.didScroll) {\n this.resetPaging();\n }\n return !searching && this.users && this.users.length > this.pageSize;\n }\n\n private async doConfirmation(user: OrganizationUserUserDetailsResponse) {\n const orgKey = await this.cryptoService.getOrgKey(this.organizationId);\n const publicKeyResponse = await this.apiService.getUserPublicKey(user.userId);\n const publicKey = Utils.fromB64ToArray(publicKeyResponse.publicKey);\n try {\n // tslint:disable-next-line\n console.log('User\\'s fingerprint: ' +\n (await this.cryptoService.getFingerprint(user.userId, publicKey.buffer)).join('-'));\n } catch { }\n const key = await this.cryptoService.rsaEncrypt(orgKey.key, publicKey.buffer);\n const request = new OrganizationUserConfirmRequest();\n request.key = key.encryptedString;\n await this.apiService.postOrganizationUserConfirm(this.organizationId, user.id, request);\n }\n\n private removeUser(user: OrganizationUserUserDetailsResponse) {\n let index = this.users.indexOf(user);\n if (index > -1) {\n this.users.splice(index, 1);\n this.resetPaging();\n }\n if (this.statusMap.has(OrganizationUserStatusType.Accepted)) {\n index = this.statusMap.get(OrganizationUserStatusType.Accepted).indexOf(user);\n if (index > -1) {\n this.statusMap.get(OrganizationUserStatusType.Accepted).splice(index, 1);\n }\n }\n if (this.statusMap.has(OrganizationUserStatusType.Invited)) {\n index = this.statusMap.get(OrganizationUserStatusType.Invited).indexOf(user);\n if (index > -1) {\n this.statusMap.get(OrganizationUserStatusType.Invited).splice(index, 1);\n }\n }\n if (this.statusMap.has(OrganizationUserStatusType.Confirmed)) {\n index = this.statusMap.get(OrganizationUserStatusType.Confirmed).indexOf(user);\n if (index > -1) {\n this.statusMap.get(OrganizationUserStatusType.Confirmed).splice(index, 1);\n }\n }\n }\n}\n","
\n

{{'people' | i18n}}

\n
\n
\n \n \n \n
\n
\n \n \n
\n \n
\n
\n\n \n {{'loading' | i18n}}\n\n\n

{{'noUsersInList' | i18n}}

\n \n \n {{'usersNeedConfirmed' | i18n}}\n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n {{u.email}}\n {{'invited' | i18n}}\n {{'accepted' | i18n}}\n {{u.name}}\n \n \n \n {{'userUsingTwoStep' | i18n}}\n \n \n {{'owner' | i18n}}\n {{'admin' | i18n}}\n {{'manager' | i18n}}\n {{'user' | i18n}}\n {{'custom' | i18n}}\n \n \n
\n
\n\n\n\n\n\n","export class OrganizationUserConfirmRequest {\n key: string;\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { CollectionData } from 'jslib/models/data/collectionData';\nimport { Collection } from 'jslib/models/domain/collection';\nimport { OrganizationUserInviteRequest } from 'jslib/models/request/organizationUserInviteRequest';\nimport { OrganizationUserUpdateRequest } from 'jslib/models/request/organizationUserUpdateRequest';\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\nimport { PermissionsApi } from 'jslib/models/api/permissionsApi';\n\n@Component({\n selector: 'app-user-add-edit',\n templateUrl: 'user-add-edit.component.html',\n})\nexport class UserAddEditComponent implements OnInit {\n @Input() name: string;\n @Input() organizationUserId: string;\n @Input() organizationId: string;\n @Output() onSavedUser = new EventEmitter();\n @Output() onDeletedUser = new EventEmitter();\n\n loading = true;\n editMode: boolean = false;\n title: string;\n emails: string;\n type: OrganizationUserType = OrganizationUserType.User;\n permissions = new PermissionsApi();\n showCustom = false;\n access: 'all' | 'selected' = 'selected';\n collections: CollectionView[] = [];\n formPromise: Promise;\n deletePromise: Promise;\n organizationUserType = OrganizationUserType;\n\n get customUserTypeSelected(): boolean {\n return this.type === OrganizationUserType.Custom;\n }\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private collectionService: CollectionService, private platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n this.editMode = this.loading = this.organizationUserId != null;\n await this.loadCollections();\n\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editUser');\n try {\n const user = await this.apiService.getOrganizationUser(this.organizationId, this.organizationUserId);\n this.access = user.accessAll ? 'all' : 'selected';\n this.type = user.type;\n if (user.type === OrganizationUserType.Custom) {\n this.permissions = user.permissions;\n }\n if (user.collections != null && this.collections != null) {\n user.collections.forEach((s) => {\n const collection = this.collections.filter((c) => c.id === s.id);\n if (collection != null && collection.length > 0) {\n (collection[0] as any).checked = true;\n collection[0].readOnly = s.readOnly;\n collection[0].hidePasswords = s.hidePasswords;\n }\n });\n }\n } catch { }\n } else {\n this.title = this.i18nService.t('inviteUser');\n }\n\n this.loading = false;\n }\n\n async loadCollections() {\n const response = await this.apiService.getCollections(this.organizationId);\n const collections = response.data.map((r) =>\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\n this.collections = await this.collectionService.decryptMany(collections);\n }\n\n check(c: CollectionView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n if (!(c as any).checked) {\n c.readOnly = false;\n }\n }\n\n selectAll(select: boolean) {\n this.collections.forEach((c) => this.check(c, select));\n }\n\n setRequestPermissions(p: PermissionsApi, clearPermissions: boolean) {\n p.accessBusinessPortal = clearPermissions ?\n false :\n this.permissions.accessBusinessPortal;\n p.accessEventLogs = this.permissions.accessEventLogs = clearPermissions ?\n false :\n this.permissions.accessEventLogs;\n p.accessImportExport = clearPermissions ?\n false :\n this.permissions.accessImportExport;\n p.accessReports = clearPermissions ?\n false :\n this.permissions.accessReports;\n p.manageAllCollections = clearPermissions ?\n false :\n this.permissions.manageAllCollections;\n p.manageAssignedCollections = clearPermissions ?\n false :\n this.permissions.manageAssignedCollections;\n p.manageGroups = clearPermissions ?\n false :\n this.permissions.manageGroups;\n p.manageSso = clearPermissions ?\n false :\n this.permissions.manageSso;\n p.managePolicies = clearPermissions ?\n false :\n this.permissions.managePolicies;\n p.manageUsers = clearPermissions ?\n false :\n this.permissions.manageUsers;\n return p;\n }\n\n async submit() {\n let collections: SelectionReadOnlyRequest[] = null;\n if (this.access !== 'all') {\n collections = this.collections.filter((c) => (c as any).checked)\n .map((c) => new SelectionReadOnlyRequest(c.id, !!c.readOnly, !!c.hidePasswords));\n }\n\n try {\n if (this.editMode) {\n const request = new OrganizationUserUpdateRequest();\n request.accessAll = this.access === 'all';\n request.type = this.type;\n request.collections = collections;\n request.permissions = this.setRequestPermissions(request.permissions ?? new PermissionsApi(), request.type !== OrganizationUserType.Custom);\n this.formPromise = this.apiService.putOrganizationUser(this.organizationId, this.organizationUserId,\n request);\n } else {\n const request = new OrganizationUserInviteRequest();\n request.emails = this.emails.trim().split(/\\s*,\\s*/);\n request.accessAll = this.access === 'all';\n request.type = this.type;\n request.permissions = this.setRequestPermissions(request.permissions ?? new PermissionsApi(), request.type !== OrganizationUserType.Custom);\n request.collections = collections;\n this.formPromise = this.apiService.postOrganizationUserInvite(this.organizationId, request);\n }\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited User' : 'Invited User' });\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedUserId' : 'invitedUsers', this.name));\n this.onSavedUser.emit();\n } catch { }\n }\n\n async delete() {\n if (!this.editMode) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('removeUserConfirmation'), this.name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.deletePromise = this.apiService.deleteOrganizationUser(this.organizationId, this.organizationUserId);\n await this.deletePromise;\n this.analytics.eventTrack.next({ action: 'Deleted User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', this.name));\n this.onDeletedUser.emit();\n } catch { }\n }\n\n}\n","
\n
\n
\n
\n

\n {{title}}\n {{name}}\n

\n \n
\n
\n \n {{'loading' | i18n}}\n
\n
\n \n

{{'inviteUserDesc' | i18n}}

\n
\n \n \n {{'inviteMultipleEmailDesc' | i18n : '20'}}\n
\n
\n

\n {{'userType' | i18n}}\n \n \n \n

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n \n

\n {{'permissions' | i18n}}\n

\n
\n
\n
\n \n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n

\n
\n {{'accessControl' | i18n}}\n \n \n \n
\n
\n \n \n
\n

\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 {{'name' | i18n}}{{'hidePasswords' | i18n}}{{'readOnly' | i18n}}
\n \n \n {{c.name}}\n \n \n \n \n
\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { OrganizationUserConfirmRequest } from 'jslib/models/request/organizationUserConfirmRequest';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-user-confirm',\n templateUrl: 'user-confirm.component.html',\n})\nexport class UserConfirmComponent implements OnInit {\n @Input() name: string;\n @Input() userId: string;\n @Input() organizationUserId: string;\n @Input() organizationId: string;\n @Output() onConfirmedUser = new EventEmitter();\n\n dontAskAgain = false;\n loading = true;\n fingerprint: string;\n formPromise: Promise;\n\n private publicKey: Uint8Array = null;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private storageService: StorageService) { }\n\n async ngOnInit() {\n try {\n const publicKeyResponse = await this.apiService.getUserPublicKey(this.userId);\n if (publicKeyResponse != null) {\n this.publicKey = Utils.fromB64ToArray(publicKeyResponse.publicKey);\n const fingerprint = await this.cryptoService.getFingerprint(this.userId, this.publicKey.buffer);\n if (fingerprint != null) {\n this.fingerprint = fingerprint.join('-');\n }\n }\n } catch { }\n this.loading = false;\n }\n\n async submit() {\n if (this.loading) {\n return;\n }\n\n if (this.dontAskAgain) {\n await this.storageService.save(ConstantsService.autoConfirmFingerprints, true);\n }\n\n try {\n this.formPromise = this.doConfirmation();\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Confirmed User' });\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenConfirmed', this.name));\n this.onConfirmedUser.emit();\n } catch { }\n }\n\n private async doConfirmation() {\n const orgKey = await this.cryptoService.getOrgKey(this.organizationId);\n const key = await this.cryptoService.rsaEncrypt(orgKey.key, this.publicKey.buffer);\n const request = new OrganizationUserConfirmRequest();\n request.key = key.encryptedString;\n await this.apiService.postOrganizationUserConfirm(this.organizationId, this.organizationUserId, request);\n }\n}\n","
\n
\n
\n
\n

\n {{'confirmUser' | i18n}}\n {{name}}\n

\n \n
\n
\n

\n {{'fingerprintEnsureIntegrityVerify' | i18n}}\n \n {{'learnMore' | i18n}}\n

\n

{{fingerprint}}

\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { OrganizationUserUpdateGroupsRequest } from 'jslib/models/request/organizationUserUpdateGroupsRequest';\nimport { GroupResponse } from 'jslib/models/response/groupResponse';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-user-groups',\n templateUrl: 'user-groups.component.html',\n})\nexport class UserGroupsComponent implements OnInit {\n @Input() name: string;\n @Input() organizationUserId: string;\n @Input() organizationId: string;\n @Output() onSavedUser = new EventEmitter();\n\n loading = true;\n groups: GroupResponse[] = [];\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n const groupsResponse = await this.apiService.getGroups(this.organizationId);\n const groups = groupsResponse.data.map((r) => r);\n groups.sort(Utils.getSortFunction(this.i18nService, 'name'));\n this.groups = groups;\n\n try {\n const userGroups = await this.apiService.getOrganizationUserGroups(\n this.organizationId, this.organizationUserId);\n if (userGroups != null && this.groups != null) {\n userGroups.forEach((ug) => {\n const group = this.groups.filter((g) => g.id === ug);\n if (group != null && group.length > 0) {\n (group[0] as any).checked = true;\n }\n });\n }\n } catch { }\n\n this.loading = false;\n }\n\n check(g: GroupResponse, select?: boolean) {\n (g as any).checked = select == null ? !(g as any).checked : select;\n if (!(g as any).checked) {\n (g as any).readOnly = false;\n }\n }\n\n selectAll(select: boolean) {\n this.groups.forEach((g) => this.check(g, select));\n }\n\n async submit() {\n const request = new OrganizationUserUpdateGroupsRequest();\n request.groupIds = this.groups.filter((g) => (g as any).checked).map((g) => g.id);\n\n try {\n this.formPromise = this.apiService.putOrganizationUserGroups(this.organizationId, this.organizationUserId,\n request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Edited User Groups' });\n this.toasterService.popAsync('success', null, this.i18nService.t('editedGroupsForUser', this.name));\n this.onSavedUser.emit();\n } catch { }\n }\n}\n","
\n
\n
\n
\n

\n {{'groupAccess' | i18n}}\n {{name}}\n

\n \n
\n
\n \n {{'loading' | i18n}}\n
\n
\n

{{'groupAccessUserDesc' | i18n}}

\n
\n {{'noGroupsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{g.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { PolicyType } from 'jslib/enums/policyType';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { EnvironmentService } from 'jslib/abstractions';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { PolicyResponse } from 'jslib/models/response/policyResponse';\n\nimport { ModalComponent } from '../../modal.component';\n\nimport { PolicyEditComponent } from './policy-edit.component';\n\n@Component({\n selector: 'app-org-policies',\n templateUrl: 'policies.component.html',\n})\nexport class PoliciesComponent implements OnInit {\n @ViewChild('editTemplate', { read: ViewContainerRef, static: true }) editModalRef: ViewContainerRef;\n\n loading = true;\n organizationId: string;\n policies: any[];\n\n // Remove when removing deprecation warning\n enterpriseTokenPromise: Promise;\n userCanAccessBusinessPortal = false;\n\n private enterpriseUrl: string;\n\n private modal: ModalComponent = null;\n private orgPolicies: PolicyResponse[];\n private policiesEnabledMap: Map = new Map();\n\n constructor(private apiService: ApiService, private route: ActivatedRoute,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private platformUtilsService: PlatformUtilsService, private userService: UserService,\n private router: Router, private environmentService: EnvironmentService) { }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n const organization = await this.userService.getOrganization(this.organizationId);\n if (organization == null || !organization.usePolicies) {\n this.router.navigate(['/organizations', this.organizationId]);\n return;\n }\n this.userCanAccessBusinessPortal = organization.canAccessBusinessPortal;\n this.policies = [\n {\n name: this.i18nService.t('twoStepLogin'),\n description: this.i18nService.t('twoStepLoginPolicyDesc'),\n type: PolicyType.TwoFactorAuthentication,\n enabled: false,\n display: true,\n },\n {\n name: this.i18nService.t('masterPass'),\n description: this.i18nService.t('masterPassPolicyDesc'),\n type: PolicyType.MasterPassword,\n enabled: false,\n display: true,\n },\n {\n name: this.i18nService.t('passwordGenerator'),\n description: this.i18nService.t('passwordGeneratorPolicyDesc'),\n type: PolicyType.PasswordGenerator,\n enabled: false,\n display: true,\n },\n {\n name: this.i18nService.t('singleOrg'),\n description: this.i18nService.t('singleOrgDesc'),\n type: PolicyType.SingleOrg,\n enabled: false,\n display: true,\n },\n {\n name: this.i18nService.t('requireSso'),\n description: this.i18nService.t('requireSsoPolicyDesc'),\n type: PolicyType.RequireSso,\n enabled: false,\n display: organization.useSso,\n },\n {\n name: this.i18nService.t('personalOwnership'),\n description: this.i18nService.t('personalOwnershipPolicyDesc'),\n type: PolicyType.PersonalOwnership,\n enabled: false,\n display: true,\n },\n ];\n await this.load();\n\n // Handle policies component launch from Event message\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.policyId != null) {\n const policyIdFromEvents: string = qParams.policyId;\n for (const orgPolicy of this.orgPolicies) {\n if (orgPolicy.id === policyIdFromEvents) {\n for (let i = 0; i < this.policies.length; i++) {\n if (this.policies[i].type === orgPolicy.type) {\n this.edit(this.policies[i]);\n break;\n }\n }\n break;\n }\n }\n }\n\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n });\n\n // Remove when removing deprecation warning\n this.enterpriseUrl = 'https://portal.bitwarden.com';\n if (this.environmentService.enterpriseUrl != null) {\n this.enterpriseUrl = this.environmentService.enterpriseUrl;\n } else if (this.environmentService.baseUrl != null) {\n this.enterpriseUrl = this.environmentService.baseUrl + '/portal';\n }\n }\n\n async load() {\n const response = await this.apiService.getPolicies(this.organizationId);\n this.orgPolicies = response.data != null && response.data.length > 0 ? response.data : [];\n this.orgPolicies.forEach((op) => {\n this.policiesEnabledMap.set(op.type, op.enabled);\n });\n this.policies.forEach((p) => {\n p.enabled = this.policiesEnabledMap.has(p.type) && this.policiesEnabledMap.get(p.type);\n });\n this.loading = false;\n }\n\n edit(p: any) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.editModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n PolicyEditComponent, this.editModalRef);\n\n childComponent.name = p.name;\n childComponent.description = p.description;\n childComponent.type = p.type;\n childComponent.organizationId = this.organizationId;\n childComponent.policiesEnabledMap = this.policiesEnabledMap;\n childComponent.onSavedPolicy.subscribe(() => {\n this.modal.close();\n this.load();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n\n // Remove when removing deprecation warning\n async goToEnterprisePortal() {\n if (this.enterpriseTokenPromise != null) {\n return;\n }\n try {\n this.enterpriseTokenPromise = this.apiService.getEnterprisePortalSignInToken();\n const token = await this.enterpriseTokenPromise;\n if (token != null) {\n const userId = await this.userService.getUserId();\n this.platformUtilsService.launchUri(this.enterpriseUrl + '/login?userId=' + userId +\n '&token=' + (window as any).encodeURIComponent(token) + '&organizationId=' + this.organizationId);\n }\n } catch { }\n this.enterpriseTokenPromise = null;\n }\n}\n","\n

{{'webPoliciesDeprecationWarning' | i18n}}

\n \n
\n
\n

{{'policies' | i18n}}

\n
\n\n \n {{'loading' | i18n}}\n\n\n \n \n \n \n \n
\n {{p.name}}\n {{'enabled' | i18n}}\n {{p.description}}\n
\n\n","// Using index.ts is deprecated, please do not extend\nexport { ApiService } from './api.service';\nexport { AppIdService } from './appId.service';\nexport { AuditService } from './audit.service';\nexport { AuthService } from './auth.service';\nexport { CipherService } from './cipher.service';\nexport { CollectionService } from './collection.service';\nexport { CryptoService } from './crypto.service';\nexport { EnvironmentService } from './environment.service';\nexport { FolderService } from './folder.service';\nexport { I18nService } from './i18n.service';\nexport { LogService } from './log.service';\nexport { MessagingService } from './messaging.service';\nexport { PasswordGenerationService } from './passwordGeneration.service';\nexport { PlatformUtilsService } from './platformUtils.service';\nexport { SearchService } from './search.service';\nexport { SettingsService } from './settings.service';\nexport { StorageService } from './storage.service';\nexport { StateService } from './state.service';\nexport { SyncService } from './sync.service';\nexport { TokenService } from './token.service';\nexport { TotpService } from './totp.service';\nexport { UserService } from './user.service';\nexport { VaultTimeoutService } from './vaultTimeout.service';\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PolicyType } from 'jslib/enums/policyType';\n\nimport { PolicyRequest } from 'jslib/models/request/policyRequest';\n\nimport { PolicyResponse } from 'jslib/models/response/policyResponse';\n\n@Component({\n selector: 'app-policy-edit',\n templateUrl: 'policy-edit.component.html',\n})\nexport class PolicyEditComponent implements OnInit {\n @Input() name: string;\n @Input() description: string;\n @Input() type: PolicyType;\n @Input() organizationId: string;\n @Input() policiesEnabledMap: Map = new Map();\n @Output() onSavedPolicy = new EventEmitter();\n\n policyType = PolicyType;\n loading = true;\n enabled = false;\n formPromise: Promise;\n passwordScores: any[];\n defaultTypes: any[];\n\n // Master password\n\n masterPassMinComplexity?: number = null;\n masterPassMinLength?: number;\n masterPassRequireUpper?: number;\n masterPassRequireLower?: number;\n masterPassRequireNumbers?: number;\n masterPassRequireSpecial?: number;\n\n // Password generator\n\n passGenDefaultType?: string;\n passGenMinLength?: number;\n passGenUseUpper?: boolean;\n passGenUseLower?: boolean;\n passGenUseNumbers?: boolean;\n passGenUseSpecial?: boolean;\n passGenMinNumbers?: number;\n passGenMinSpecial?: number;\n passGenMinNumberWords?: number;\n passGenCapitalize?: boolean;\n passGenIncludeNumber?: boolean;\n\n private policy: PolicyResponse;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) {\n this.passwordScores = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n { name: i18nService.t('weak') + ' (0)', value: 0 },\n { name: i18nService.t('weak') + ' (1)', value: 1 },\n { name: i18nService.t('weak') + ' (2)', value: 2 },\n { name: i18nService.t('good') + ' (3)', value: 3 },\n { name: i18nService.t('strong') + ' (4)', value: 4 },\n ];\n this.defaultTypes = [\n { name: i18nService.t('userPreference'), value: null },\n { name: i18nService.t('password'), value: 'password' },\n { name: i18nService.t('passphrase'), value: 'passphrase' },\n ];\n }\n\n async ngOnInit() {\n await this.load();\n this.loading = false;\n }\n\n async load() {\n try {\n this.policy = await this.apiService.getPolicy(this.organizationId, this.type);\n\n if (this.policy != null) {\n this.enabled = this.policy.enabled;\n if (this.policy.data != null) {\n switch (this.type) {\n case PolicyType.PasswordGenerator:\n this.passGenDefaultType = this.policy.data.defaultType;\n this.passGenMinLength = this.policy.data.minLength;\n this.passGenUseUpper = this.policy.data.useUpper;\n this.passGenUseLower = this.policy.data.useLower;\n this.passGenUseNumbers = this.policy.data.useNumbers;\n this.passGenUseSpecial = this.policy.data.useSpecial;\n this.passGenMinNumbers = this.policy.data.minNumbers;\n this.passGenMinSpecial = this.policy.data.minSpecial;\n this.passGenMinNumberWords = this.policy.data.minNumberWords;\n this.passGenCapitalize = this.policy.data.capitalize;\n this.passGenIncludeNumber = this.policy.data.includeNumber;\n break;\n case PolicyType.MasterPassword:\n this.masterPassMinComplexity = this.policy.data.minComplexity;\n this.masterPassMinLength = this.policy.data.minLength;\n this.masterPassRequireUpper = this.policy.data.requireUpper;\n this.masterPassRequireLower = this.policy.data.requireLower;\n this.masterPassRequireNumbers = this.policy.data.requireNumbers;\n this.masterPassRequireSpecial = this.policy.data.requireSpecial;\n break;\n default:\n break;\n }\n }\n }\n } catch (e) {\n if (e.statusCode === 404) {\n this.enabled = false;\n } else {\n throw e;\n }\n }\n }\n\n async submit() {\n if (this.preValidate()) {\n const request = new PolicyRequest();\n request.enabled = this.enabled;\n request.type = this.type;\n request.data = null;\n switch (this.type) {\n case PolicyType.PasswordGenerator:\n request.data = {\n defaultType: this.passGenDefaultType,\n minLength: this.passGenMinLength || null,\n useUpper: this.passGenUseUpper,\n useLower: this.passGenUseLower,\n useNumbers: this.passGenUseNumbers,\n useSpecial: this.passGenUseSpecial,\n minNumbers: this.passGenMinNumbers || null,\n minSpecial: this.passGenMinSpecial || null,\n minNumberWords: this.passGenMinNumberWords || null,\n capitalize: this.passGenCapitalize,\n includeNumber: this.passGenIncludeNumber,\n };\n break;\n case PolicyType.MasterPassword:\n request.data = {\n minComplexity: this.masterPassMinComplexity || null,\n minLength: this.masterPassMinLength || null,\n requireUpper: this.masterPassRequireUpper,\n requireLower: this.masterPassRequireLower,\n requireNumbers: this.masterPassRequireNumbers,\n requireSpecial: this.masterPassRequireSpecial,\n };\n break;\n default:\n break;\n }\n try {\n this.formPromise = this.apiService.putPolicy(this.organizationId, this.type, request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Edited Policy' });\n this.toasterService.popAsync('success', null, this.i18nService.t('editedPolicyId', this.name));\n this.onSavedPolicy.emit();\n } catch { }\n }\n }\n\n get checkboxDesc(): string {\n return this.type === PolicyType.PersonalOwnership ? this.i18nService.t('personalOwnershipCheckboxDesc') :\n this.i18nService.t('enabled');\n }\n\n private preValidate(): boolean {\n switch (this.type) {\n case PolicyType.RequireSso:\n // Don't need prevalidation checks if submitting to disable\n if (!this.enabled) {\n return true;\n }\n // Have SingleOrg policy enabled?\n if (!(this.policiesEnabledMap.has(PolicyType.SingleOrg)\n && this.policiesEnabledMap.get(PolicyType.SingleOrg))) {\n this.toasterService.popAsync('error', null, this.i18nService.t('requireSsoPolicyReqError'));\n return false;\n }\n return true;\n\n case PolicyType.SingleOrg:\n // Don't need prevalidation checks if submitting to enable\n if (this.enabled) {\n return true;\n }\n // If RequireSso Policy is enabled prevent submittal\n if (this.policiesEnabledMap.has(PolicyType.RequireSso)\n && this.policiesEnabledMap.get(PolicyType.RequireSso)) {\n this.toasterService.popAsync('error', null, this.i18nService.t('disableRequireSsoError'));\n return false;\n }\n return true;\n\n default:\n return true;\n }\n }\n}\n","
\n
\n
\n
\n

{{'editPolicy' | i18n}} - {{name}}

\n \n
\n
\n \n {{'loading' | i18n}}\n
\n
\n

{{description}}

\n \n {{'twoStepLoginPolicyWarning' | i18n}}\n \n \n {{'singleOrgPolicyWarning' | i18n}}\n \n \n \n {{'requireSsoPolicyReq' | i18n}}\n \n \n {{'requireSsoExemption' | i18n}}\n \n \n \n {{'personalOwnershipExemption' | i18n}}\n \n
\n
\n \n \n
\n
\n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n
\n
\n \n \n
\n
\n

{{'password' | i18n}}

\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n

{{'passphrase' | i18n}}

\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n","import {\n Component,\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\n\nimport { OrganizationUpdateRequest } from 'jslib/models/request/organizationUpdateRequest';\nimport { OrganizationResponse } from 'jslib/models/response/organizationResponse';\n\nimport { ModalComponent } from '../../modal.component';\nimport { ApiKeyComponent } from '../../settings/api-key.component';\nimport { PurgeVaultComponent } from '../../settings/purge-vault.component';\nimport { TaxInfoComponent } from '../../settings/tax-info.component';\nimport { DeleteOrganizationComponent } from './delete-organization.component';\n\n@Component({\n selector: 'app-org-account',\n templateUrl: 'account.component.html',\n})\nexport class AccountComponent {\n @ViewChild('deleteOrganizationTemplate', { read: ViewContainerRef, static: true }) deleteModalRef: ViewContainerRef;\n @ViewChild('purgeOrganizationTemplate', { read: ViewContainerRef, static: true }) purgeModalRef: ViewContainerRef;\n @ViewChild('apiKeyTemplate', { read: ViewContainerRef, static: true }) apiKeyModalRef: ViewContainerRef;\n @ViewChild('rotateApiKeyTemplate', { read: ViewContainerRef, static: true }) rotateApiKeyModalRef: ViewContainerRef;\n @ViewChild(TaxInfoComponent) taxInfo: TaxInfoComponent;\n\n selfHosted = false;\n loading = true;\n canUseApi = false;\n org: OrganizationResponse;\n formPromise: Promise;\n taxFormPromise: Promise;\n\n private organizationId: string;\n private modal: ModalComponent = null;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver,\n private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private route: ActivatedRoute, private syncService: SyncService,\n private platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n this.selfHosted = this.platformUtilsService.isSelfHost();\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n try {\n this.org = await this.apiService.getOrganization(this.organizationId);\n this.canUseApi = this.org.useApi;\n } catch { }\n });\n this.loading = false;\n }\n\n async submit() {\n try {\n const request = new OrganizationUpdateRequest();\n request.name = this.org.name;\n request.businessName = this.org.businessName;\n request.billingEmail = this.org.billingEmail;\n request.identifier = this.org.identifier;\n this.formPromise = this.apiService.putOrganization(this.organizationId, request).then(() => {\n return this.syncService.fullSync(true);\n });\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Updated Organization Settings' });\n this.toasterService.popAsync('success', null, this.i18nService.t('organizationUpdated'));\n } catch { }\n }\n\n async submitTaxInfo() {\n this.taxFormPromise = this.taxInfo.submitTaxInfo();\n await this.taxFormPromise;\n this.analytics.eventTrack.next({ action: 'Updated Organization Tax Info' });\n this.toasterService.popAsync('success', null, this.i18nService.t('taxInfoUpdated'));\n }\n\n deleteOrganization() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.deleteModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n DeleteOrganizationComponent, this.deleteModalRef);\n childComponent.organizationId = this.organizationId;\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n purgeVault() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.purgeModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(PurgeVaultComponent, this.purgeModalRef);\n childComponent.organizationId = this.organizationId;\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n viewApiKey() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.apiKeyModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(ApiKeyComponent, this.apiKeyModalRef);\n childComponent.keyType = 'organization';\n childComponent.entityId = this.organizationId;\n childComponent.postKey = this.apiService.postOrganizationApiKey.bind(this.apiService);\n childComponent.scope = 'api.organization';\n childComponent.grantType = 'client_credentials';\n childComponent.apiKeyTitle = 'apiKey';\n childComponent.apiKeyWarning = 'apiKeyWarning';\n childComponent.apiKeyDescription = 'apiKeyDesc';\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n rotateApiKey() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.rotateApiKeyModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(ApiKeyComponent, this.rotateApiKeyModalRef);\n childComponent.keyType = 'organization';\n childComponent.isRotation = true;\n childComponent.entityId = this.organizationId;\n childComponent.postKey = this.apiService.postOrganizationRotateApiKey.bind(this.apiService);\n childComponent.scope = 'api.organization';\n childComponent.grantType = 'client_credentials';\n childComponent.apiKeyTitle = 'apiKey';\n childComponent.apiKeyWarning = 'apiKeyWarning';\n childComponent.apiKeyDescription = 'apiKeyRotateDesc';\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n}\n","
\n

{{'myOrganization' | i18n}}

\n
\n
\n \n {{'loading' | i18n}}\n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n
\n \n
\n\n
\n

{{'apiKey' | i18n}}

\n
\n

\n {{'apiKeyDesc' | i18n}}\n \n {{'learnMore' | i18n}}\n \n

\n \n \n
\n
\n

{{'taxInformation' | i18n}}

\n
\n

{{'taxInformationDesc' | i18n}}

\n
\n \n {{'loading' | i18n}}\n
\n
\n \n \n
\n
\n

{{'dangerZone' | i18n}}

\n
\n
\n
\n

{{'dangerZoneDesc' | i18n}}

\n \n \n
\n
\n\n\n\n\n","import { TaxInfoUpdateRequest } from './taxInfoUpdateRequest';\n\nexport class OrganizationTaxInfoUpdateRequest extends TaxInfoUpdateRequest {\n taxId: string;\n line1: string;\n line2: string;\n city: string;\n state: string;\n}\n","export class TaxInfoUpdateRequest {\n country: string;\n postalCode: string;\n}\n","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\n@Component({\n selector: 'app-delete-organization',\n templateUrl: 'delete-organization.component.html',\n})\nexport class DeleteOrganizationComponent {\n organizationId: string;\n\n masterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private router: Router) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.deleteOrganization(this.organizationId, request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Deleted Organization' });\n this.toasterService.popAsync('success', this.i18nService.t('organizationDeleted'),\n this.i18nService.t('organizationDeletedDesc'));\n this.router.navigate(['/']);\n } catch { }\n }\n}\n","
\n
\n
\n
\n

{{'deleteOrganization' | i18n}}

\n \n
\n
\n

{{'deleteOrganizationDesc' | i18n}}

\n {{'deleteOrganizationWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { UserBillingComponent } from '../../settings/user-billing.component';\n\n@Component({\n selector: 'app-org-billing',\n templateUrl: '../../settings/user-billing.component.html',\n})\nexport class OrganizationBillingComponent extends UserBillingComponent implements OnInit {\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n private route: ActivatedRoute, platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await this.load();\n this.firstLoaded = true;\n });\n }\n}\n","export class WebConstants {\n static readonly stripeTestKey = 'pk_test_KPoCfZXu7mznb9uSCPZ2JpTD';\n static readonly stripeLiveKey = 'pk_live_bpN0P37nMxrMQkcaHXtAybJk';\n static readonly btSandboxKey = 'sandbox_r72q8jq6_9pnxkwm75f87sdc2';\n static readonly btProductionKey = 'production_qfbsv8kc_njj2zjtyngtjmbjd';\n static readonly paypal = {\n businessIdProduction: '4ZDA7DLUUJGMN',\n businessIdSandbox: 'AD3LAUZSNVPJY',\n buttonActionProduction: 'https://www.paypal.com/cgi-bin/webscr',\n buttonActionSandbox: 'https://www.sandbox.paypal.com/cgi-bin/webscr',\n };\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { OrganizationSubscriptionResponse } from 'jslib/models/response/organizationSubscriptionResponse';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { PlanType } from 'jslib/enums/planType';\n\n@Component({\n selector: 'app-org-subscription',\n templateUrl: 'organization-subscription.component.html',\n})\nexport class OrganizationSubscriptionComponent implements OnInit {\n loading = false;\n firstLoaded = false;\n organizationId: string;\n adjustSeatsAdd = true;\n showAdjustSeats = false;\n adjustStorageAdd = true;\n showAdjustStorage = false;\n showUpdateLicense = false;\n showDownloadLicense = false;\n showChangePlan = false;\n sub: OrganizationSubscriptionResponse;\n selfHosted = false;\n\n cancelPromise: Promise;\n reinstatePromise: Promise;\n\n constructor(private apiService: ApiService, private platformUtilsService: PlatformUtilsService,\n private i18nService: I18nService, private analytics: Angulartics2,\n private toasterService: ToasterService, private messagingService: MessagingService,\n private route: ActivatedRoute) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await this.load();\n this.firstLoaded = true;\n });\n }\n\n async load() {\n if (this.loading) {\n return;\n }\n this.loading = true;\n this.sub = await this.apiService.getOrganizationSubscription(this.organizationId);\n this.loading = false;\n }\n\n async reinstate() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('reinstateConfirmation'),\n this.i18nService.t('reinstateSubscription'), this.i18nService.t('yes'), this.i18nService.t('cancel'));\n if (!confirmed) {\n return;\n }\n\n try {\n this.reinstatePromise = this.apiService.postOrganizationReinstate(this.organizationId);\n await this.reinstatePromise;\n this.analytics.eventTrack.next({ action: 'Reinstated Plan' });\n this.toasterService.popAsync('success', null, this.i18nService.t('reinstated'));\n this.load();\n } catch { }\n }\n\n async cancel() {\n if (this.loading) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('cancelConfirmation'),\n this.i18nService.t('cancelSubscription'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n this.cancelPromise = this.apiService.postOrganizationCancel(this.organizationId);\n await this.cancelPromise;\n this.analytics.eventTrack.next({ action: 'Canceled Plan' });\n this.toasterService.popAsync('success', null, this.i18nService.t('canceledSubscription'));\n this.load();\n } catch { }\n }\n\n async changePlan() {\n if (this.subscription == null && this.sub.planType === PlanType.Free) {\n this.showChangePlan = !this.showChangePlan;\n return;\n }\n const contactSupport = await this.platformUtilsService.showDialog(this.i18nService.t('changeBillingPlanDesc'),\n this.i18nService.t('changeBillingPlan'), this.i18nService.t('contactSupport'), this.i18nService.t('close'));\n if (contactSupport) {\n this.platformUtilsService.launchUri('https://bitwarden.com/contact');\n }\n }\n\n closeChangePlan(changed: boolean) {\n this.showChangePlan = false;\n }\n\n downloadLicense() {\n this.showDownloadLicense = !this.showDownloadLicense;\n }\n\n closeDownloadLicense() {\n this.showDownloadLicense = false;\n }\n\n updateLicense() {\n if (this.loading) {\n return;\n }\n this.showUpdateLicense = true;\n }\n\n closeUpdateLicense(updated: boolean) {\n this.showUpdateLicense = false;\n if (updated) {\n this.load();\n this.messagingService.send('updatedOrgLicense');\n }\n }\n\n adjustSeats(add: boolean) {\n this.adjustSeatsAdd = add;\n this.showAdjustSeats = true;\n }\n\n closeSeats(load: boolean) {\n this.showAdjustSeats = false;\n if (load) {\n this.load();\n }\n }\n\n adjustStorage(add: boolean) {\n this.adjustStorageAdd = add;\n this.showAdjustStorage = true;\n }\n\n closeStorage(load: boolean) {\n this.showAdjustStorage = false;\n if (load) {\n this.load();\n }\n }\n\n get isExpired() {\n return this.sub != null && this.sub.expiration != null &&\n new Date(this.sub.expiration) < new Date();\n }\n\n get subscriptionMarkedForCancel() {\n return this.subscription != null && !this.subscription.cancelled && this.subscription.cancelAtEndDate;\n }\n\n get subscription() {\n return this.sub != null ? this.sub.subscription : null;\n }\n\n get nextInvoice() {\n return this.sub != null ? this.sub.upcomingInvoice : null;\n }\n\n get storagePercentage() {\n return this.sub != null && this.sub.maxStorageGb ?\n +(100 * (this.sub.storageGb / this.sub.maxStorageGb)).toFixed(2) : 0;\n }\n\n get storageProgressWidth() {\n return this.storagePercentage < 5 ? 5 : 0;\n }\n\n get billingInterval() {\n const monthly = !this.sub.plan.isAnnual;\n return monthly ? 'month' : 'year';\n }\n\n get storageGbPrice() {\n return this.sub.plan.additionalStoragePricePerGb;\n }\n\n get seatPrice() {\n return this.sub.plan.seatPrice;\n }\n\n get canAdjustSeats() {\n return this.sub.plan.hasAdditionalSeatsOption;\n }\n\n get canDownloadLicense() {\n return (this.sub.planType !== PlanType.Free && this.subscription == null) ||\n (this.subscription != null && !this.subscription.cancelled);\n }\n}\n","
\n

\n {{'subscription' | i18n}}\n \n \n {{'loading' | i18n}}\n \n

\n
\n\n \n {{'loading' | i18n}}\n\n\n \n {{'subscriptionCanceled' | i18n}}\n \n

{{'subscriptionPendingCanceled' | i18n}}

\n \n
\n
\n
{{'billingPlan' | i18n}}
\n
{{sub.plan.name}}
\n
{{'expiration' | i18n}}
\n
\n {{sub.expiration | date:'mediumDate'}}\n \n \n {{'licenseIsExpired' | i18n}}\n \n
\n
{{'neverExpires' | i18n}}
\n
\n
\n
\n
\n
{{'billingPlan' | i18n}}
\n
{{sub.plan.name}}
\n \n
{{'status' | i18n}}
\n
\n {{subscription.status || '-'}}\n {{'pendingCancellation' | i18n}}\n
\n
{{'nextCharge' | i18n}}
\n
{{nextInvoice ? ((nextInvoice.date | date: 'mediumDate') + ', ' + (nextInvoice.amount | currency:'$'))\n : '-'}}\n
\n
\n
\n
\n
\n {{'details' | i18n}}\n \n \n \n \n \n \n \n
\n {{i.name}} {{i.quantity > 1 ? '×' + i.quantity : ''}} @ {{i.amount | currency:'$'}}\n \n {{(i.quantity * i.amount) | currency:'$'}} /{{i.interval | i18n}}\n
\n
\n
\n \n
\n \n \n {{'manageSubscription' | i18n}}\n \n
\n
\n
\n \n

{{'updateLicense' | i18n}}

\n \n
\n
\n
\n \n
\n \n \n \n
\n \n
\n \n
\n

{{'userSeats' | i18n}}

\n

{{'subscriptionUserSeats' | i18n : sub.seats}}

\n \n
\n
\n \n \n
\n \n
\n
\n

{{'storage' | i18n}}

\n

{{'subscriptionStorage' | i18n : sub.maxStorageGb || 0 : sub.storageName || '0 MB'}}

\n
\n
\n {{(storagePercentage / 100) | percent}}
\n
\n \n
\n
\n \n \n
\n \n
\n
\n
\n
\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { PlanType } from 'jslib/enums/planType';\nimport { ProductType } from 'jslib/enums/productType';\n\n@Component({\n selector: 'app-change-plan',\n templateUrl: 'change-plan.component.html',\n})\nexport class ChangePlanComponent {\n @Input() organizationId: string;\n @Output() onChanged = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n formPromise: Promise;\n defaultUpgradePlan: PlanType = PlanType.FamiliesAnnually;\n defaultUpgradeProduct: ProductType = ProductType.Families;\n\n constructor(private apiService: ApiService, private platformUtilsService: PlatformUtilsService) { }\n\n async submit() {\n try {\n this.platformUtilsService.eventTrack('Changed Plan');\n this.onChanged.emit();\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n}\n","
\n
\n \n

{{'changeBillingPlan' | i18n}}

\n

{{'changeBillingPlanUpgrade' | i18n}}

\n \n \n
\n
\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\n@Component({\n selector: 'app-download-license',\n templateUrl: 'download-license.component.html',\n})\nexport class DownloadLicenseComponent {\n @Input() organizationId: string;\n @Output() onDownloaded = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n installationId: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private platformUtilsService: PlatformUtilsService) { }\n\n async submit() {\n if (this.installationId == null || this.installationId === '') {\n return;\n }\n\n try {\n this.formPromise = this.apiService.getOrganizationLicense(this.organizationId, this.installationId);\n const license = await this.formPromise;\n const licenseString = JSON.stringify(license, null, 2);\n this.platformUtilsService.saveFile(window, licenseString, null, 'bitwarden_organization_license.json');\n this.platformUtilsService.eventTrack('Downloaded License');\n this.onDownloaded.emit();\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n}\n","
\n
\n \n

{{'downloadLicense' | i18n}}

\n
\n
\n
\n \n \n \n \n
\n \n
\n
\n \n \n
\n
\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\n\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { SeatRequest } from 'jslib/models/request/seatRequest';\n\nimport { PaymentComponent } from '../../settings/payment.component';\n\n@Component({\n selector: 'app-adjust-seats',\n templateUrl: 'adjust-seats.component.html',\n})\nexport class AdjustSeatsComponent {\n @Input() seatPrice = 0;\n @Input() add = true;\n @Input() organizationId: string;\n @Input() interval = 'year';\n @Output() onAdjusted = new EventEmitter();\n @Output() onCanceled = new EventEmitter();\n\n @ViewChild(PaymentComponent, { static: true }) paymentComponent: PaymentComponent;\n\n seatAdjustment = 0;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private router: Router, private activatedRoute: ActivatedRoute) { }\n\n async submit() {\n try {\n const request = new SeatRequest();\n request.seatAdjustment = this.seatAdjustment;\n if (!this.add) {\n request.seatAdjustment *= -1;\n }\n\n let paymentFailed = false;\n const action = async () => {\n const result = await this.apiService.postOrganizationSeat(this.organizationId, request);\n if (result != null && result.paymentIntentClientSecret != null) {\n try {\n await this.paymentComponent.handleStripeCardPayment(result.paymentIntentClientSecret, null);\n } catch {\n paymentFailed = true;\n }\n }\n };\n this.formPromise = action();\n await this.formPromise;\n this.analytics.eventTrack.next({ action: this.add ? 'Added Seats' : 'Removed Seats' });\n this.onAdjusted.emit(this.seatAdjustment);\n if (paymentFailed) {\n this.toasterService.popAsync({\n body: this.i18nService.t('couldNotChargeCardPayInvoice'),\n type: 'warning',\n timeout: 10000,\n });\n this.router.navigate(['../billing'], { relativeTo: this.activatedRoute });\n } else {\n this.toasterService.popAsync('success', null,\n this.i18nService.t('adjustedSeats', request.seatAdjustment.toString()));\n }\n } catch { }\n }\n\n cancel() {\n this.onCanceled.emit();\n }\n\n get adjustedSeatTotal(): number {\n return this.seatAdjustment * this.seatPrice;\n }\n}\n","
\n
\n \n

{{(add ? 'addSeats' : 'removeSeats') | i18n}}

\n
\n
\n \n \n
\n
\n
\n {{'total' | i18n}}: {{seatAdjustment || 0}} × {{seatPrice | currency:'$'}} = {{adjustedSeatTotal\n | currency:'$'}} /{{interval | i18n}}\n
\n \n \n \n {{(add ? 'seatsAddNote' : 'seatsRemoveNote') | i18n}}\n \n
\n
\n\n","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Component({\n selector: 'app-org-settings',\n templateUrl: 'settings.component.html',\n})\nexport class SettingsComponent {\n access2fa = false;\n selfHosted: boolean;\n\n constructor(private route: ActivatedRoute, private userService: UserService,\n private platformUtilsService: PlatformUtilsService) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async (params) => {\n this.selfHosted = await this.platformUtilsService.isSelfHost();\n const organization = await this.userService.getOrganization(params.organizationId);\n this.access2fa = organization.use2fa;\n });\n }\n}\n","\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PolicyService } from 'jslib/abstractions/policy.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { TwoFactorDuoComponent } from '../../settings/two-factor-duo.component';\nimport { TwoFactorSetupComponent as BaseTwoFactorSetupComponent } from '../../settings/two-factor-setup.component';\n\n@Component({\n selector: 'app-two-factor-setup',\n templateUrl: '../../settings/two-factor-setup.component.html',\n})\nexport class TwoFactorSetupComponent extends BaseTwoFactorSetupComponent {\n constructor(apiService: ApiService, userService: UserService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n policyService: PolicyService, private route: ActivatedRoute) {\n super(apiService, userService, componentFactoryResolver, messagingService, policyService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n await super.ngOnInit();\n });\n }\n\n manage(type: TwoFactorProviderType) {\n switch (type) {\n case TwoFactorProviderType.OrganizationDuo:\n const duoComp = this.openModal(this.duoModalRef, TwoFactorDuoComponent);\n duoComp.type = TwoFactorProviderType.OrganizationDuo;\n duoComp.organizationId = this.organizationId;\n duoComp.onUpdated.subscribe((enabled: boolean) => {\n this.updateStatus(enabled, TwoFactorProviderType.OrganizationDuo);\n });\n break;\n default:\n break;\n }\n }\n\n protected getTwoFactorProviders() {\n return this.apiService.getTwoFactorOrganizationProviders(this.organizationId);\n }\n\n protected filterProvider(type: TwoFactorProviderType) {\n return type !== TwoFactorProviderType.OrganizationDuo;\n }\n}\n","import {\n Component,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { UpdateTwoFactorAuthenticatorRequest } from 'jslib/models/request/updateTwoFactorAuthenticatorRequest';\nimport { TwoFactorAuthenticatorResponse } from 'jslib/models/response/twoFactorAuthenticatorResponse';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-authenticator',\n templateUrl: 'two-factor-authenticator.component.html',\n})\nexport class TwoFactorAuthenticatorComponent extends TwoFactorBaseComponent implements OnInit, OnDestroy {\n type = TwoFactorProviderType.Authenticator;\n key: string;\n token: string;\n formPromise: Promise;\n\n private qrScript: HTMLScriptElement;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n private userService: UserService, platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n this.qrScript = window.document.createElement('script');\n this.qrScript.src = 'scripts/qrious.min.js';\n this.qrScript.async = true;\n }\n\n ngOnInit() {\n window.document.body.appendChild(this.qrScript);\n }\n\n ngOnDestroy() {\n window.document.body.removeChild(this.qrScript);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n return this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorAuthenticatorRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.token = this.token;\n request.key = this.key;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorAuthenticator(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private async processResponse(response: TwoFactorAuthenticatorResponse) {\n this.token = null;\n this.enabled = response.enabled;\n this.key = response.key;\n const email = await this.userService.getEmail();\n window.setTimeout(() => {\n const qr = new (window as any).QRious({\n element: document.getElementById('qr'),\n value: 'otpauth://totp/Bitwarden:' + encodeURIComponent(email) +\n '?secret=' + encodeURIComponent(this.key) + '&issuer=Bitwarden',\n size: 160,\n });\n }, 100);\n }\n}\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n {{'authenticatorAppTitle' | i18n}}\n

\n \n
\n \n \n
\n
\n \n \"\"\n

{{'twoStepAuthenticatorDesc' | i18n}}

\n

\n 1. {{'twoStepAuthenticatorDownloadApp' | i18n}}\n

\n
\n \n \n

{{'twoStepLoginProviderEnabled' | i18n}}

\n {{'twoStepAuthenticatorReaddDesc' | i18n}}\n
\n \"\"\n

{{'twoStepAuthenticatorNeedApp' | i18n}}

\n
\n \n

{{'twoStepAuthenticatorAppsRecommended' | i18n}}

\n

\n 2. {{'twoStepAuthenticatorScanCode' | i18n}}\n

\n
\n

\n
\n {{key}}\n

\n \n \n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { TwoFactorEmailRequest } from 'jslib/models/request/twoFactorEmailRequest';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\nimport { UpdateTwoFactorEmailRequest } from 'jslib/models/request/updateTwoFactorEmailRequest';\nimport { TwoFactorEmailResponse } from 'jslib/models/response/twoFactorEmailResponse';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-email',\n templateUrl: 'two-factor-email.component.html',\n})\nexport class TwoFactorEmailComponent extends TwoFactorBaseComponent {\n type = TwoFactorProviderType.Email;\n email: string;\n token: string;\n sentEmail: string;\n formPromise: Promise;\n emailPromise: Promise;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private userService: UserService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n return this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.enabled) {\n return super.disable(this.formPromise);\n } else {\n return this.enable();\n }\n }\n\n async sendEmail() {\n try {\n const request = new TwoFactorEmailRequest(this.email, this.masterPasswordHash);\n this.emailPromise = this.apiService.postTwoFactorEmailSetup(request);\n await this.emailPromise;\n this.sentEmail = this.email;\n } catch { }\n }\n\n protected enable() {\n const request = new UpdateTwoFactorEmailRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.email = this.email;\n request.token = this.token;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorEmail(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n private async processResponse(response: TwoFactorEmailResponse) {\n this.token = null;\n this.email = response.email;\n this.enabled = response.enabled;\n if (!this.enabled && (this.email == null || this.email === '')) {\n this.email = await this.userService.getEmail();\n }\n }\n}\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n {{'emailTitle' | i18n}}\n

\n \n
\n \n \n
\n
\n \n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n {{'email' | i18n}}: {{email}}\n \n \n

\n {{'twoFactorEmailDesc' | i18n}}\n \"\"\n

\n
\n \n \n
\n
\n \n \n {{'verificationCodeEmailSent' | i18n : sentEmail}}\n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n","import { Component } from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { TwoFactorRecoverResponse } from 'jslib/models/response/twoFactorRescoverResponse';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\n@Component({\n selector: 'app-two-factor-recovery',\n templateUrl: 'two-factor-recovery.component.html',\n})\nexport class TwoFactorRecoveryComponent {\n type = -1;\n code: string;\n authed: boolean;\n twoFactorProviderType = TwoFactorProviderType;\n\n constructor(private i18nService: I18nService) { }\n\n auth(authResponse: any) {\n this.authed = true;\n this.processResponse(authResponse.response);\n }\n\n print() {\n const w = window.open();\n w.document.write('
' +\n '

' + this.i18nService.t('twoFactorRecoveryYourCode') + ':

' +\n '' +\n this.code + '
' +\n '

' + new Date() + '

');\n w.onafterprint = () => w.close();\n w.print();\n }\n\n private formatString(s: string) {\n if (s == null) {\n return null;\n }\n return s.replace(/(.{4})/g, '$1 ').trim().toUpperCase();\n }\n\n private processResponse(response: TwoFactorRecoverResponse) {\n this.code = this.formatString(response.code);\n }\n}\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n {{'recoveryCodeTitle' | i18n}}\n

\n \n
\n \n \n \n
\n \n

{{'twoFactorRecoveryYourCode' | i18n}}:

\n {{code}}\n
\n \n {{'twoFactorRecoveryNoCode' | i18n}}\n \n
\n
\n \n \n
\n
\n
\n
\n
\n","import {\n Component,\n NgZone,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\nimport { UpdateTwoFactorU2fDeleteRequest } from 'jslib/models/request/updateTwoFactorU2fDeleteRequest';\nimport { UpdateTwoFactorU2fRequest } from 'jslib/models/request/updateTwoFactorU2fRequest';\nimport {\n ChallengeResponse,\n TwoFactorU2fResponse,\n} from 'jslib/models/response/twoFactorU2fResponse';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-u2f',\n templateUrl: 'two-factor-u2f.component.html',\n})\nexport class TwoFactorU2fComponent extends TwoFactorBaseComponent implements OnInit, OnDestroy {\n type = TwoFactorProviderType.U2f;\n name: string;\n keys: any[];\n keyIdAvailable: number = null;\n keysConfiguredCount = 0;\n u2fError: boolean;\n u2fListening: boolean;\n u2fResponse: string;\n challengePromise: Promise;\n formPromise: Promise;\n\n private u2fScript: HTMLScriptElement;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private ngZone: NgZone) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n this.u2fScript = window.document.createElement('script');\n this.u2fScript.src = 'scripts/u2f.js';\n this.u2fScript.async = true;\n }\n\n ngOnInit() {\n window.document.body.appendChild(this.u2fScript);\n }\n\n ngOnDestroy() {\n window.document.body.removeChild(this.u2fScript);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n this.processResponse(authResponse.response);\n }\n\n submit() {\n if (this.u2fResponse == null || this.keyIdAvailable == null) {\n // Should never happen.\n return Promise.reject();\n }\n const request = new UpdateTwoFactorU2fRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.deviceResponse = this.u2fResponse;\n request.id = this.keyIdAvailable;\n request.name = this.name;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorU2f(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n });\n }\n\n disable() {\n return super.disable(this.formPromise);\n }\n\n async remove(key: any) {\n if (this.keysConfiguredCount <= 1 || key.removePromise != null) {\n return;\n }\n const name = key.name != null ? key.name : this.i18nService.t('u2fkeyX', key.id);\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('removeU2fConfirmation'), name,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n const request = new UpdateTwoFactorU2fDeleteRequest();\n request.id = key.id;\n request.masterPasswordHash = this.masterPasswordHash;\n try {\n key.removePromise = this.apiService.deleteTwoFactorU2f(request);\n const response = await key.removePromise;\n key.removePromise = null;\n await this.processResponse(response);\n } catch { }\n }\n\n async readKey() {\n if (this.keyIdAvailable == null) {\n return;\n }\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n try {\n this.challengePromise = this.apiService.getTwoFactorU2fChallenge(request);\n const challenge = await this.challengePromise;\n this.readDevice(challenge);\n } catch { }\n }\n\n private readDevice(u2fChallenge: ChallengeResponse) {\n // tslint:disable-next-line\n console.log('listening for key...');\n this.resetU2f(true);\n (window as any).u2f.register(u2fChallenge.appId, [{\n version: u2fChallenge.version,\n challenge: u2fChallenge.challenge,\n }], [], (data: any) => {\n this.ngZone.run(() => {\n this.u2fListening = false;\n if (data.errorCode) {\n this.u2fError = true;\n // tslint:disable-next-line\n console.log('error: ' + data.errorCode);\n return;\n }\n this.u2fResponse = JSON.stringify(data);\n });\n }, 15);\n }\n\n private resetU2f(listening = false) {\n this.u2fResponse = null;\n this.u2fError = false;\n this.u2fListening = listening;\n }\n\n private processResponse(response: TwoFactorU2fResponse) {\n this.resetU2f();\n this.keys = [];\n this.keyIdAvailable = null;\n this.name = null;\n this.keysConfiguredCount = 0;\n for (let i = 1; i <= 5; i++) {\n if (response.keys != null) {\n const key = response.keys.filter((k) => k.id === i);\n if (key.length > 0) {\n this.keysConfiguredCount++;\n this.keys.push({\n id: i, name: key[0].name,\n configured: true,\n compromised: key[0].compromised,\n removePromise: null,\n });\n continue;\n }\n }\n this.keys.push({ id: i, name: null, configured: false, compromised: false, removePromise: null });\n if (this.keyIdAvailable == null) {\n this.keyIdAvailable = i;\n }\n }\n this.enabled = response.enabled;\n }\n}\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n FIDO U2F\n

\n \n
\n \n \n
\n
\n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n \n

{{'twoFactorU2fWarning' | i18n}}

\n
    \n
  • {{'twoFactorU2fSupportWeb' | i18n}}
  • \n
\n
\n \"\"\n
    \n
  • \n \n {{'u2fkeyX' | i18n : i + 1}}\n {{k.name}}\n \n \n \n {{'keyCompromised' | i18n}}\n \n \n \n {{'enabled' | i18n}}\n \n \n 1 && k.configured\">\n \n -\n {{'remove' | i18n}}\n \n
  • \n
\n
\n

{{'twoFactorU2fAdd' | i18n}}:

\n
    \n
  1. {{'twoFactorU2fGiveName' | i18n}}
  2. \n
  3. {{'twoFactorU2fPlugInReadKey' | i18n}}
  4. \n
  5. {{'twoFactorU2fTouchButton' | i18n}}
  6. \n
  7. {{'twoFactorU2fSaveForm' | i18n}}
  8. \n
\n
\n
\n \n \n
\n
\n \n \n \n \n \n \n \n {{'twoFactorU2fWaiting' | i18n}}...\n \n \n \n {{'twoFactorU2fClickSave' | i18n}}\n \n \n \n {{'twoFactorU2fProblemReadingTryAgain' | i18n}}\n \n \n
\n
\n \n \n \n
\n
\n
\n
\n
\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { UpdateTwoFactorYubioOtpRequest } from 'jslib/models/request/updateTwoFactorYubioOtpRequest';\nimport { TwoFactorYubiKeyResponse } from 'jslib/models/response/twoFactorYubiKeyResponse';\n\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\n\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\n\n@Component({\n selector: 'app-two-factor-yubikey',\n templateUrl: 'two-factor-yubikey.component.html',\n})\nexport class TwoFactorYubiKeyComponent extends TwoFactorBaseComponent {\n type = TwoFactorProviderType.Yubikey;\n keys: any[];\n nfc = false;\n\n formPromise: Promise;\n disablePromise: Promise;\n\n constructor(apiService: ApiService, i18nService: I18nService,\n analytics: Angulartics2, toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService) {\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\n }\n\n auth(authResponse: any) {\n super.auth(authResponse);\n this.processResponse(authResponse.response);\n }\n\n submit() {\n const request = new UpdateTwoFactorYubioOtpRequest();\n request.masterPasswordHash = this.masterPasswordHash;\n request.key1 = this.keys != null && this.keys.length > 0 ? this.keys[0].key : null;\n request.key2 = this.keys != null && this.keys.length > 1 ? this.keys[1].key : null;\n request.key3 = this.keys != null && this.keys.length > 2 ? this.keys[2].key : null;\n request.key4 = this.keys != null && this.keys.length > 3 ? this.keys[3].key : null;\n request.key5 = this.keys != null && this.keys.length > 4 ? this.keys[4].key : null;\n request.nfc = this.nfc;\n\n return super.enable(async () => {\n this.formPromise = this.apiService.putTwoFactorYubiKey(request);\n const response = await this.formPromise;\n await this.processResponse(response);\n this.toasterService.popAsync('success', null, this.i18nService.t('yubikeysUpdated'));\n });\n }\n\n disable() {\n return super.disable(this.disablePromise);\n }\n\n remove(key: any) {\n key.existingKey = null;\n key.key = null;\n }\n\n private processResponse(response: TwoFactorYubiKeyResponse) {\n this.enabled = response.enabled;\n this.keys = [\n { key: response.key1, existingKey: this.padRight(response.key1) },\n { key: response.key2, existingKey: this.padRight(response.key2) },\n { key: response.key3, existingKey: this.padRight(response.key3) },\n { key: response.key4, existingKey: this.padRight(response.key4) },\n { key: response.key5, existingKey: this.padRight(response.key5) },\n ];\n this.nfc = response.nfc || !response.enabled;\n }\n\n private padRight(str: string, character = '•', size = 44) {\n if (str == null || character == null || str.length >= size) {\n return str;\n }\n const max = (size - str.length) / character.length;\n for (let i = 0; i < max; i++) {\n str += character;\n }\n return str;\n }\n}\n","
\n
\n
\n
\n

\n {{'twoStepLogin' | i18n}}\n YubiKey\n

\n \n
\n \n \n
\n
\n \n {{'twoStepLoginProviderEnabled' | i18n}}\n \n \n

{{'twoFactorYubikeyWarning' | i18n}}

\n
    \n
  • {{'twoFactorYubikeySupportUsb' | i18n}}
  • \n
  • {{'twoFactorYubikeySupportMobile' | i18n}}
  • \n
\n
\n \"\"\n

{{'twoFactorYubikeyAdd' | i18n}}:

\n
    \n
  1. {{'twoFactorYubikeyPlugIn' | i18n}}
  2. \n
  3. {{'twoFactorYubikeySelectKey' | i18n}}
  4. \n
  5. {{'twoFactorYubikeyTouchButton' | i18n}}
  6. \n
  7. {{'twoFactorYubikeySaveForm' | i18n}}
  8. \n
\n
\n
\n
\n \n \n
\n {{k.existingKey}}\n \n
\n
\n
\n {{'nfcSupport' | i18n}}\n
\n \n \n
\n {{'twoFactorYubikeySupportsNfcDesc' | i18n}}\n
\n
\n \n \n \n
\n
\n
\n
\n
\n","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { EventService } from 'jslib/abstractions/event.service';\nimport { ExportService } from 'jslib/abstractions/export.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { ExportComponent as BaseExportComponent } from '../../tools/export.component';\n\nimport { EventType } from 'jslib/enums/eventType';\n\n@Component({\n selector: 'app-org-export',\n templateUrl: '../../tools/export.component.html',\n})\nexport class ExportComponent extends BaseExportComponent {\n constructor(cryptoService: CryptoService, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService, exportService: ExportService,\n eventService: EventService, private route: ActivatedRoute) {\n super(cryptoService, i18nService, platformUtilsService, exportService, eventService);\n }\n\n ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n });\n }\n\n getExportData() {\n return this.exportService.getOrganizationExport(this.organizationId, this.format);\n }\n\n getFileName() {\n return super.getFileName('org');\n }\n\n async collectEvent(): Promise {\n // TODO\n // await this.eventService.collect(EventType.Organization_ClientExportedVault);\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport {\n ExposedPasswordsReportComponent as BaseExposedPasswordsReportComponent,\n} from '../../tools/exposed-passwords-report.component';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\nimport { Cipher } from 'jslib/models/domain/cipher';\n\n@Component({\n selector: 'app-exposed-passwords-report',\n templateUrl: '../../tools/exposed-passwords-report.component.html',\n})\nexport class ExposedPasswordsReportComponent extends BaseExposedPasswordsReportComponent {\n manageableCiphers: Cipher[];\n\n constructor(cipherService: CipherService, auditService: AuditService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n userService: UserService, private route: ActivatedRoute) {\n super(cipherService, auditService, componentFactoryResolver, messagingService, userService);\n }\n\n ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n this.manageableCiphers = await this.cipherService.getAll();\n super.ngOnInit();\n });\n }\n\n getAllCiphers(): Promise {\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\n }\n\n canManageCipher(c: CipherView): boolean {\n return this.manageableCiphers.some(x => x.id === c.id);\n }\n}\n","import { PasswordHistoryResponse } from '../response/passwordHistoryResponse';\n\nexport class PasswordHistoryData {\n password: string;\n lastUsedDate: string;\n\n constructor(response?: PasswordHistoryResponse) {\n if (response == null) {\n return;\n }\n\n this.password = response.password;\n this.lastUsedDate = response.lastUsedDate;\n }\n}\n","import { View } from './view';\n\nimport { Attachment } from '../domain/attachment';\nimport { SymmetricCryptoKey } from '../domain/symmetricCryptoKey';\n\nexport class AttachmentView implements View {\n id: string = null;\n url: string = null;\n size: string = null;\n sizeName: string = null;\n fileName: string = null;\n key: SymmetricCryptoKey = null;\n\n constructor(a?: Attachment) {\n if (!a) {\n return;\n }\n\n this.id = a.id;\n this.url = a.url;\n this.size = a.size;\n this.sizeName = a.sizeName;\n }\n\n get fileSize(): number {\n try {\n if (this.size != null) {\n return parseInt(this.size, null);\n }\n } catch { }\n return 0;\n }\n}\n","import { PasswordHistoryData } from '../data/passwordHistoryData';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\n\nimport { PasswordHistoryView } from '../view/passwordHistoryView';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport class Password extends Domain {\n password: CipherString;\n lastUsedDate: Date;\n\n constructor(obj?: PasswordHistoryData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n password: null,\n }, alreadyEncrypted);\n this.lastUsedDate = new Date(obj.lastUsedDate);\n }\n\n decrypt(orgId: string, encKey?: SymmetricCryptoKey): Promise {\n return this.decryptObj(new PasswordHistoryView(this), {\n password: null,\n }, orgId, encKey);\n }\n\n toPasswordHistoryData(): PasswordHistoryData {\n const ph = new PasswordHistoryData();\n ph.lastUsedDate = this.lastUsedDate.toISOString();\n this.buildDataModel(this, ph, {\n password: null,\n });\n return ph;\n }\n}\n","import { CipherRequest } from './cipherRequest';\n\nimport { Cipher } from '../domain/cipher';\n\nexport class CipherCreateRequest {\n cipher: CipherRequest;\n collectionIds: string[];\n\n constructor(cipher: Cipher) {\n this.cipher = new CipherRequest(cipher);\n this.collectionIds = cipher.collectionIds;\n }\n}\n","import { BaseResponse } from '../response/baseResponse';\n\nexport class CardApi extends BaseResponse {\n cardholderName: string;\n brand: string;\n number: string;\n expMonth: string;\n expYear: string;\n code: string;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return;\n }\n this.cardholderName = this.getResponseProperty('CardholderName');\n this.brand = this.getResponseProperty('Brand');\n this.number = this.getResponseProperty('Number');\n this.expMonth = this.getResponseProperty('ExpMonth');\n this.expYear = this.getResponseProperty('ExpYear');\n this.code = this.getResponseProperty('Code');\n }\n}\n","import { BaseResponse } from '../response/baseResponse';\n\nimport { FieldType } from '../../enums/fieldType';\n\nexport class FieldApi extends BaseResponse {\n name: string;\n value: string;\n type: FieldType;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return;\n }\n this.type = this.getResponseProperty('Type');\n this.name = this.getResponseProperty('Name');\n this.value = this.getResponseProperty('Value');\n }\n}\n","import { BaseResponse } from '../response/baseResponse';\n\nexport class IdentityApi extends BaseResponse {\n title: string;\n firstName: string;\n middleName: string;\n lastName: string;\n address1: string;\n address2: string;\n address3: string;\n city: string;\n state: string;\n postalCode: string;\n country: string;\n company: string;\n email: string;\n phone: string;\n ssn: string;\n username: string;\n passportNumber: string;\n licenseNumber: string;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return;\n }\n this.title = this.getResponseProperty('Title');\n this.firstName = this.getResponseProperty('FirstName');\n this.middleName = this.getResponseProperty('MiddleName');\n this.lastName = this.getResponseProperty('LastName');\n this.address1 = this.getResponseProperty('Address1');\n this.address2 = this.getResponseProperty('Address2');\n this.address3 = this.getResponseProperty('Address3');\n this.city = this.getResponseProperty('City');\n this.state = this.getResponseProperty('State');\n this.postalCode = this.getResponseProperty('PostalCode');\n this.country = this.getResponseProperty('Country');\n this.company = this.getResponseProperty('Company');\n this.email = this.getResponseProperty('Email');\n this.phone = this.getResponseProperty('Phone');\n this.ssn = this.getResponseProperty('SSN');\n this.username = this.getResponseProperty('Username');\n this.passportNumber = this.getResponseProperty('PassportNumber');\n this.licenseNumber = this.getResponseProperty('LicenseNumber');\n }\n}\n","import { BaseResponse } from '../response/baseResponse';\n\nimport { LoginUriApi } from './loginUriApi';\n\nexport class LoginApi extends BaseResponse {\n uris: LoginUriApi[];\n username: string;\n password: string;\n passwordRevisionDate: string;\n totp: string;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return;\n }\n this.username = this.getResponseProperty('Username');\n this.password = this.getResponseProperty('Password');\n this.passwordRevisionDate = this.getResponseProperty('PasswordRevisionDate');\n this.totp = this.getResponseProperty('Totp');\n\n const uris = this.getResponseProperty('Uris');\n if (uris != null) {\n this.uris = uris.map((u: any) => new LoginUriApi(u));\n }\n }\n}\n","import { BaseResponse } from '../response/baseResponse';\n\nimport { UriMatchType } from '../../enums/uriMatchType';\n\nexport class LoginUriApi extends BaseResponse {\n uri: string;\n match: UriMatchType = null;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return;\n }\n this.uri = this.getResponseProperty('Uri');\n const match = this.getResponseProperty('Match');\n this.match = match != null ? match : null;\n }\n}\n","import { BaseResponse } from '../response/baseResponse';\n\nimport { SecureNoteType } from '../../enums/secureNoteType';\n\nexport class SecureNoteApi extends BaseResponse {\n type: SecureNoteType;\n\n constructor(data: any = null) {\n super(data);\n if (data == null) {\n return;\n }\n this.type = this.getResponseProperty('Type');\n }\n}\n","import {\n Directive,\n ElementRef,\n HostListener,\n Input,\n} from '@angular/core';\n\n@Directive({\n selector: '[appFallbackSrc]',\n})\nexport class FallbackSrcDirective {\n @Input('appFallbackSrc') appFallbackSrc: string;\n\n constructor(private el: ElementRef) {\n }\n\n @HostListener('error') onError() {\n this.el.nativeElement.src = this.appFallbackSrc;\n }\n}\n","import { Component } from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { ImportService } from 'jslib/abstractions/import.service';\n\nimport { ImportComponent as BaseImportComponent } from '../../tools/import.component';\n\n@Component({\n selector: 'app-org-import',\n templateUrl: '../../tools/import.component.html',\n})\nexport class ImportComponent extends BaseImportComponent {\n constructor(i18nService: I18nService, analytics: Angulartics2,\n toasterService: ToasterService, importService: ImportService,\n router: Router, private route: ActivatedRoute) {\n super(i18nService, analytics, toasterService, importService, router);\n }\n\n ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organizationId = params.organizationId;\n this.successNavigate = ['organizations', this.organizationId, 'vault'];\n super.ngOnInit();\n });\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport {\n InactiveTwoFactorReportComponent as BaseInactiveTwoFactorReportComponent,\n} from '../../tools/inactive-two-factor-report.component';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\n@Component({\n selector: 'app-inactive-two-factor-report',\n templateUrl: '../../tools/inactive-two-factor-report.component.html',\n})\nexport class InactiveTwoFactorReportComponent extends BaseInactiveTwoFactorReportComponent {\n constructor(cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService,\n private route: ActivatedRoute) {\n super(cipherService, componentFactoryResolver, messagingService, userService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n await super.ngOnInit();\n });\n }\n\n getAllCiphers(): Promise {\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Cipher } from 'jslib/models/domain/cipher';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport {\n ReusedPasswordsReportComponent as BaseReusedPasswordsReportComponent,\n} from '../../tools/reused-passwords-report.component';\n\n@Component({\n selector: 'app-reused-passwords-report',\n templateUrl: '../../tools/reused-passwords-report.component.html',\n})\nexport class ReusedPasswordsReportComponent extends BaseReusedPasswordsReportComponent {\n manageableCiphers: Cipher[];\n\n constructor(cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService,\n private route: ActivatedRoute) {\n super(cipherService, componentFactoryResolver, messagingService, userService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n this.manageableCiphers = await this.cipherService.getAll();\n await super.ngOnInit();\n });\n }\n\n getAllCiphers(): Promise {\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\n }\n\n canManageCipher(c: CipherView): boolean {\n return this.manageableCiphers.some(x => x.id === c.id);\n }\n}\n","import { Component } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Component({\n selector: 'app-org-tools',\n templateUrl: 'tools.component.html',\n})\nexport class ToolsComponent {\n organization: Organization;\n accessReports = false;\n loading = true;\n\n constructor(private route: ActivatedRoute, private userService: UserService,\n private messagingService: MessagingService) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n // TODO: Maybe we want to just make sure they are not on a free plan? Just compare useTotp for now\n // since all paid plans include useTotp\n this.accessReports = this.organization.useTotp;\n this.loading = false;\n });\n }\n\n upgradeOrganization() {\n this.messagingService.send('upgradeOrganization', { organizationId: this.organization.id });\n }\n}\n","\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport {\n UnsecuredWebsitesReportComponent as BaseUnsecuredWebsitesReportComponent,\n} from '../../tools/unsecured-websites-report.component';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\n@Component({\n selector: 'app-unsecured-websites-report',\n templateUrl: '../../tools/unsecured-websites-report.component.html',\n})\nexport class UnsecuredWebsitesReportComponent extends BaseUnsecuredWebsitesReportComponent {\n constructor(cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\n messagingService: MessagingService, userService: UserService,\n private route: ActivatedRoute) {\n super(cipherService, componentFactoryResolver, messagingService, userService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n await super.ngOnInit();\n });\n }\n\n getAllCiphers(): Promise {\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Cipher } from 'jslib/models/domain/cipher';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport {\n WeakPasswordsReportComponent as BaseWeakPasswordsReportComponent,\n} from '../../tools/weak-passwords-report.component';\n\n@Component({\n selector: 'app-weak-passwords-report',\n templateUrl: '../../tools/weak-passwords-report.component.html',\n})\nexport class WeakPasswordsReportComponent extends BaseWeakPasswordsReportComponent {\n manageableCiphers: Cipher[];\n\n constructor(cipherService: CipherService, passwordGenerationService: PasswordGenerationService,\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\n userService: UserService, private route: ActivatedRoute) {\n super(cipherService, passwordGenerationService, componentFactoryResolver, messagingService, userService);\n }\n\n async ngOnInit() {\n this.route.parent.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n this.manageableCiphers = await this.cipherService.getAll();\n await super.ngOnInit();\n });\n }\n\n getAllCiphers(): Promise {\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\n }\n\n canManageCipher(c: CipherView): boolean {\n return this.manageableCiphers.some(x => x.id === c.id);\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n NgZone,\n OnDestroy,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { ModalComponent } from '../../modal.component';\n\nimport { EntityEventsComponent } from '../manage/entity-events.component';\nimport { AddEditComponent } from './add-edit.component';\nimport { AttachmentsComponent } from './attachments.component';\nimport { CiphersComponent } from './ciphers.component';\nimport { CollectionsComponent } from './collections.component';\nimport { GroupingsComponent } from './groupings.component';\n\nconst BroadcasterSubscriptionId = 'OrgVaultComponent';\n\n@Component({\n selector: 'app-org-vault',\n templateUrl: 'vault.component.html',\n})\nexport class VaultComponent implements OnInit, OnDestroy {\n @ViewChild(GroupingsComponent, { static: true }) groupingsComponent: GroupingsComponent;\n @ViewChild(CiphersComponent, { static: true }) ciphersComponent: CiphersComponent;\n @ViewChild('attachments', { read: ViewContainerRef, static: true }) attachmentsModalRef: ViewContainerRef;\n @ViewChild('cipherAddEdit', { read: ViewContainerRef, static: true }) cipherAddEditModalRef: ViewContainerRef;\n @ViewChild('collections', { read: ViewContainerRef, static: true }) collectionsModalRef: ViewContainerRef;\n @ViewChild('eventsTemplate', { read: ViewContainerRef, static: true }) eventsModalRef: ViewContainerRef;\n\n organization: Organization;\n collectionId: string = null;\n type: CipherType = null;\n deleted: boolean = false;\n\n modal: ModalComponent = null;\n\n constructor(private route: ActivatedRoute, private userService: UserService,\n private router: Router, private changeDetectorRef: ChangeDetectorRef,\n private syncService: SyncService, private i18nService: I18nService,\n private componentFactoryResolver: ComponentFactoryResolver, private messagingService: MessagingService,\n private broadcasterService: BroadcasterService, private ngZone: NgZone) { }\n\n ngOnInit() {\n const queryParams = this.route.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n this.groupingsComponent.organization = this.organization;\n this.ciphersComponent.organization = this.organization;\n\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n this.ciphersComponent.searchText = this.groupingsComponent.searchText = qParams.search;\n if (!this.organization.canManageAllCollections) {\n await this.syncService.fullSync(false);\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, (message: any) => {\n this.ngZone.run(async () => {\n switch (message.command) {\n case 'syncCompleted':\n if (message.successfully) {\n await Promise.all([\n this.groupingsComponent.load(),\n this.ciphersComponent.refresh(),\n ]);\n this.changeDetectorRef.detectChanges();\n }\n break;\n }\n });\n });\n }\n await this.groupingsComponent.load();\n\n if (qParams == null) {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.reload();\n } else {\n if (qParams.deleted) {\n this.groupingsComponent.selectedTrash = true;\n await this.filterDeleted(true);\n } else if (qParams.type) {\n const t = parseInt(qParams.type, null);\n this.groupingsComponent.selectedType = t;\n await this.filterCipherType(t, true);\n } else if (qParams.collectionId) {\n this.groupingsComponent.selectedCollectionId = qParams.collectionId;\n await this.filterCollection(qParams.collectionId, true);\n } else {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.reload();\n }\n }\n\n if (qParams.viewEvents != null) {\n const cipher = this.ciphersComponent.ciphers.filter((c) => c.id === qParams.viewEvents);\n if (cipher.length > 0) {\n this.viewEvents(cipher[0]);\n }\n }\n\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n\n if (queryParams != null) {\n queryParams.unsubscribe();\n }\n });\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n async clearGroupingFilters() {\n this.ciphersComponent.showAddNew = true;\n this.ciphersComponent.deleted = false;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchVault');\n await this.ciphersComponent.applyFilter();\n this.clearFilters();\n this.go();\n }\n\n async filterCipherType(type: CipherType, load = false) {\n this.ciphersComponent.showAddNew = true;\n this.ciphersComponent.deleted = false;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchType');\n const filter = (c: CipherView) => c.type === type;\n if (load) {\n await this.ciphersComponent.reload(filter);\n } else {\n await this.ciphersComponent.applyFilter(filter);\n }\n this.clearFilters();\n this.type = type;\n this.go();\n }\n\n async filterCollection(collectionId: string, load = false) {\n this.ciphersComponent.showAddNew = true;\n this.ciphersComponent.deleted = false;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchCollection');\n const filter = (c: CipherView) => {\n if (collectionId === 'unassigned') {\n return c.collectionIds == null || c.collectionIds.length === 0;\n } else {\n return c.collectionIds != null && c.collectionIds.indexOf(collectionId) > -1;\n }\n };\n if (load) {\n await this.ciphersComponent.reload(filter);\n } else {\n await this.ciphersComponent.applyFilter(filter);\n }\n this.clearFilters();\n this.collectionId = collectionId;\n this.go();\n }\n\n async filterDeleted(load: boolean = false) {\n this.ciphersComponent.showAddNew = false;\n this.ciphersComponent.deleted = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchTrash');\n if (load) {\n await this.ciphersComponent.reload(null, true);\n } else {\n await this.ciphersComponent.applyFilter(null);\n }\n this.clearFilters();\n this.deleted = true;\n this.go();\n }\n\n filterSearchText(searchText: string) {\n this.ciphersComponent.searchText = searchText;\n this.ciphersComponent.search(200);\n }\n\n editCipherAttachments(cipher: CipherView) {\n if (this.organization.maxStorageGb == null || this.organization.maxStorageGb === 0) {\n this.messagingService.send('upgradeOrganization', { organizationId: cipher.organizationId });\n return;\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.attachmentsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(AttachmentsComponent, this.attachmentsModalRef);\n\n childComponent.organization = this.organization;\n childComponent.cipherId = cipher.id;\n let madeAttachmentChanges = false;\n childComponent.onUploadedAttachment.subscribe(() => madeAttachmentChanges = true);\n childComponent.onDeletedAttachment.subscribe(() => madeAttachmentChanges = true);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n if (madeAttachmentChanges) {\n await this.ciphersComponent.refresh();\n }\n madeAttachmentChanges = false;\n });\n }\n\n editCipherCollections(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.collectionsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(CollectionsComponent, this.collectionsModalRef);\n\n if (this.organization.canManageAllCollections) {\n childComponent.collectionIds = cipher.collectionIds;\n childComponent.collections = this.groupingsComponent.collections.filter((c) => !c.readOnly);\n }\n childComponent.organization = this.organization;\n childComponent.cipherId = cipher.id;\n childComponent.onSavedCollections.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n addCipher() {\n const component = this.editCipher(null);\n component.organizationId = this.organization.id;\n component.type = this.type;\n if (this.organization.canManageAllCollections) {\n component.collections = this.groupingsComponent.collections.filter((c) => !c.readOnly);\n }\n if (this.collectionId != null) {\n component.collectionIds = [this.collectionId];\n }\n }\n\n editCipher(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.cipherAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(AddEditComponent, this.cipherAddEditModalRef);\n\n childComponent.organization = this.organization;\n childComponent.cipherId = cipher == null ? null : cipher.id;\n childComponent.onSavedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n childComponent.onDeletedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n childComponent.onRestoredCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n\n return childComponent;\n }\n\n cloneCipher(cipher: CipherView) {\n const component = this.editCipher(cipher);\n component.cloneMode = true;\n component.organizationId = this.organization.id;\n if (this.organization.canManageAllCollections) {\n component.collections = this.groupingsComponent.collections.filter((c) => !c.readOnly);\n }\n // Regardless of Admin state, the collection Ids need to passed manually as they are not assigned value\n // in the add-edit componenet\n component.collectionIds = cipher.collectionIds;\n }\n\n async viewEvents(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.eventsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EntityEventsComponent, this.eventsModalRef);\n\n childComponent.name = cipher.name;\n childComponent.organizationId = this.organization.id;\n childComponent.entityId = cipher.id;\n childComponent.showUser = true;\n childComponent.entity = 'cipher';\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private clearFilters() {\n this.collectionId = null;\n this.type = null;\n this.deleted = false;\n }\n\n private go(queryParams: any = null) {\n if (queryParams == null) {\n queryParams = {\n type: this.type,\n collectionId: this.collectionId,\n deleted: this.deleted ? true : null,\n };\n }\n\n this.router.navigate([], {\n relativeTo: this.route,\n queryParams: queryParams,\n replaceUrl: true,\n });\n }\n}\n","
\n
\n
\n \n \n
\n
\n
\n

\n {{'vault' | i18n}}\n \n \n \n {{'loading' | i18n}}\n \n \n

\n
\n \n \n \n
\n
\n \n \n
\n
\n
\n\n\n\n\n","import { Component } from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherData } from 'jslib/models/data/cipherData';\nimport { Cipher } from 'jslib/models/domain/cipher';\nimport { Organization } from 'jslib/models/domain/organization';\n\nimport { AttachmentView } from 'jslib/models/view/attachmentView';\n\nimport { AttachmentsComponent as BaseAttachmentsComponent } from '../../vault/attachments.component';\n\n@Component({\n selector: 'app-org-vault-attachments',\n templateUrl: '../../vault/attachments.component.html',\n})\nexport class AttachmentsComponent extends BaseAttachmentsComponent {\n organization: Organization;\n\n constructor(cipherService: CipherService, i18nService: I18nService,\n cryptoService: CryptoService, userService: UserService,\n platformUtilsService: PlatformUtilsService, private apiService: ApiService) {\n super(cipherService, i18nService, cryptoService, userService, platformUtilsService);\n }\n\n protected async reupload(attachment: AttachmentView) {\n if (this.organization.canManageAllCollections && this.showFixOldAttachments(attachment)) {\n await super.reuploadCipherAttachment(attachment, true);\n }\n }\n\n protected async loadCipher() {\n if (!this.organization.canManageAllCollections) {\n return await super.loadCipher();\n }\n const response = await this.apiService.getCipherAdmin(this.cipherId);\n return new Cipher(new CipherData(response));\n }\n\n protected saveCipherAttachment(file: File) {\n return this.cipherService.saveAttachmentWithServer(this.cipherDomain, file, this.organization.canManageAllCollections);\n }\n\n protected deleteCipherAttachment(attachmentId: string) {\n if (!this.organization.canManageAllCollections) {\n return super.deleteCipherAttachment(attachmentId);\n }\n return this.apiService.deleteCipherAttachmentAdmin(this.cipherId, attachmentId);\n }\n\n protected showFixOldAttachments(attachment: AttachmentView) {\n return attachment.key == null && this.organization.canManageAllCollections;\n }\n}\n","import { Component } from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { CipherData } from 'jslib/models/data/cipherData';\nimport { Cipher } from 'jslib/models/domain/cipher';\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherCollectionsRequest } from 'jslib/models/request/cipherCollectionsRequest';\n\nimport { CollectionsComponent as BaseCollectionsComponent } from '../../vault/collections.component';\n\n@Component({\n selector: 'app-org-vault-collections',\n templateUrl: '../../vault/collections.component.html',\n})\nexport class CollectionsComponent extends BaseCollectionsComponent {\n organization: Organization;\n\n constructor(collectionService: CollectionService, platformUtilsService: PlatformUtilsService,\n i18nService: I18nService, cipherService: CipherService,\n private apiService: ApiService) {\n super(collectionService, platformUtilsService, i18nService, cipherService);\n this.allowSelectNone = true;\n }\n\n protected async loadCipher() {\n if (!this.organization.canManageAllCollections) {\n return await super.loadCipher();\n }\n const response = await this.apiService.getCipherAdmin(this.cipherId);\n return new Cipher(new CipherData(response));\n }\n\n protected loadCipherCollections() {\n if (!this.organization.canManageAllCollections) {\n return super.loadCipherCollections();\n }\n return this.collectionIds;\n }\n\n protected loadCollections() {\n if (!this.organization.canManageAllCollections) {\n return super.loadCollections();\n }\n return Promise.resolve(this.collections);\n }\n\n protected saveCollections() {\n if (this.organization.canManageAllCollections) {\n const request = new CipherCollectionsRequest(this.cipherDomain.collectionIds);\n return this.apiService.putCipherCollectionsAdmin(this.cipherId, request);\n } else {\n return super.saveCollections();\n }\n }\n}\n","export class CipherCollectionsRequest {\n collectionIds: string[];\n\n constructor(collectionIds: string[]) {\n this.collectionIds = collectionIds == null ? [] : collectionIds;\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\nimport { CipherBulkDeleteRequest } from 'jslib/models/request/cipherBulkDeleteRequest';\n\n@Component({\n selector: 'app-vault-bulk-delete',\n templateUrl: 'bulk-delete.component.html',\n})\nexport class BulkDeleteComponent {\n @Input() cipherIds: string[] = [];\n @Input() permanent: boolean = false;\n @Input() organization: Organization;\n @Output() onDeleted = new EventEmitter();\n\n formPromise: Promise;\n\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\n private toasterService: ToasterService, private i18nService: I18nService,\n private apiService: ApiService) { }\n\n async submit() {\n if (!this.organization || !this.organization.canManageAllCollections) {\n await this.deleteCiphers();\n } else {\n await this.deleteCiphersAdmin();\n }\n\n await this.formPromise;\n\n this.onDeleted.emit();\n this.analytics.eventTrack.next({ action: 'Bulk Deleted Items' });\n this.toasterService.popAsync('success', null, this.i18nService.t(this.permanent ? 'permanentlyDeletedItems'\n : 'deletedItems'));\n }\n\n private async deleteCiphers() {\n if (this.permanent) {\n this.formPromise = await this.cipherService.deleteManyWithServer(this.cipherIds);\n } else {\n this.formPromise = await this.cipherService.softDeleteManyWithServer(this.cipherIds);\n }\n }\n\n private async deleteCiphersAdmin() {\n const deleteRequest = new CipherBulkDeleteRequest(this.cipherIds, this.organization.id);\n if (this.permanent) {\n this.formPromise = await this.apiService.deleteManyCiphersAdmin(deleteRequest);\n } else {\n this.formPromise = await this.apiService.putDeleteManyCiphersAdmin(deleteRequest);\n }\n }\n}\n","
\n
\n
\n
\n

\n {{(permanent ? 'permanentlyDeleteSelected' : 'deleteSelected') | i18n}}\n

\n \n
\n
\n {{(permanent ? 'permanentlyDeleteSelectedItemsDesc' : 'deleteSelectedItemsDesc') | i18n: cipherIds.length}}\n
\n
\n \n \n
\n
\n
\n
\n","export class CipherBulkDeleteRequest {\n ids: string[];\n organizationId: string;\n\n constructor(ids: string[], organizationId?: string) {\n this.ids = ids == null ? [] : ids;\n this.organizationId = organizationId;\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { FolderView } from 'jslib/models/view/folderView';\n\n@Component({\n selector: 'app-vault-bulk-move',\n templateUrl: 'bulk-move.component.html',\n})\nexport class BulkMoveComponent implements OnInit {\n @Input() cipherIds: string[] = [];\n @Output() onMoved = new EventEmitter();\n\n folderId: string = null;\n folders: FolderView[] = [];\n formPromise: Promise;\n\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\n private toasterService: ToasterService, private i18nService: I18nService,\n private folderService: FolderService) { }\n\n async ngOnInit() {\n this.folders = await this.folderService.getAllDecrypted();\n this.folderId = this.folders[0].id;\n }\n\n async submit() {\n this.formPromise = this.cipherService.moveManyWithServer(this.cipherIds, this.folderId);\n await this.formPromise;\n this.onMoved.emit();\n this.analytics.eventTrack.next({ action: 'Bulk Moved Items' });\n this.toasterService.popAsync('success', null, this.i18nService.t('movedItems'));\n }\n}\n","
\n
\n
\n
\n

\n {{'moveSelected' | i18n}}\n

\n \n
\n
\n

{{'moveSelectedItemsDesc' | i18n: cipherIds.length}}

\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n","import {\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\n@Component({\n selector: 'app-vault-bulk-restore',\n templateUrl: 'bulk-restore.component.html',\n})\nexport class BulkRestoreComponent {\n @Input() cipherIds: string[] = [];\n @Output() onRestored = new EventEmitter();\n\n formPromise: Promise;\n\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\n private toasterService: ToasterService, private i18nService: I18nService) { }\n\n async submit() {\n this.formPromise = this.cipherService.restoreManyWithServer(this.cipherIds);\n await this.formPromise;\n this.onRestored.emit();\n this.analytics.eventTrack.next({ action: 'Bulk Restored Items' });\n this.toasterService.popAsync('success', null, this.i18nService.t('restoredItems'));\n }\n}\n","
\n
\n
\n
\n

\n {{'restoreSelected' | i18n}}\n

\n \n
\n
\n {{'restoreSelectedItemsDesc' | i18n: cipherIds.length}}\n
\n
\n \n \n
\n
\n
\n
\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CipherView } from 'jslib/models/view';\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\n@Component({\n selector: 'app-vault-bulk-share',\n templateUrl: 'bulk-share.component.html',\n})\nexport class BulkShareComponent implements OnInit {\n @Input() ciphers: CipherView[] = [];\n @Input() organizationId: string;\n @Output() onShared = new EventEmitter();\n\n nonShareableCount = 0;\n collections: CollectionView[] = [];\n organizations: Organization[] = [];\n shareableCiphers: CipherView[] = [];\n formPromise: Promise;\n\n private writeableCollections: CollectionView[] = [];\n\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\n private toasterService: ToasterService, private i18nService: I18nService,\n private collectionService: CollectionService, private userService: UserService) { }\n\n async ngOnInit() {\n this.shareableCiphers = this.ciphers.filter((c) => !c.hasOldAttachments && c.organizationId == null);\n this.nonShareableCount = this.ciphers.length - this.shareableCiphers.length;\n const allCollections = await this.collectionService.getAllDecrypted();\n this.writeableCollections = allCollections.filter((c) => !c.readOnly);\n this.organizations = await this.userService.getAllOrganizations();\n if (this.organizationId == null && this.organizations.length > 0) {\n this.organizationId = this.organizations[0].id;\n }\n this.filterCollections();\n }\n\n ngOnDestroy() {\n this.selectAll(false);\n }\n\n filterCollections() {\n this.selectAll(false);\n if (this.organizationId == null || this.writeableCollections.length === 0) {\n this.collections = [];\n } else {\n this.collections = this.writeableCollections.filter((c) => c.organizationId === this.organizationId);\n }\n }\n\n async submit() {\n const checkedCollectionIds = this.collections.filter((c) => (c as any).checked).map((c) => c.id);\n try {\n this.formPromise = this.cipherService.shareManyWithServer(this.shareableCiphers, this.organizationId,\n checkedCollectionIds);\n await this.formPromise;\n this.onShared.emit();\n this.analytics.eventTrack.next({ action: 'Bulk Shared Items' });\n this.toasterService.popAsync('success', null, this.i18nService.t('sharedItems'));\n } catch { }\n }\n\n check(c: CollectionView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n }\n\n selectAll(select: boolean) {\n const collections = select ? this.collections : this.writeableCollections;\n collections.forEach((c) => this.check(c, select));\n }\n\n get canSave() {\n if (this.shareableCiphers != null && this.shareableCiphers.length > 0 && this.collections != null) {\n for (let i = 0; i < this.collections.length; i++) {\n if ((this.collections[i] as any).checked) {\n return true;\n }\n }\n }\n return false;\n }\n}\n","
\n
\n
\n
\n

\n {{'shareSelected' | i18n}}\n

\n \n
\n
\n

{{'shareManyDesc' | i18n}}

\n

{{'shareSelectedItemsCountDesc' | i18n: this.ciphers.length : shareableCiphers.length : nonShareableCount}}\n

\n
\n \n \n
\n
\n

{{'collections' | i18n}}

\n
\n \n \n
\n
\n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n
\n
\n
\n \n \n
\n
\n
\n
\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { SendType } from 'jslib/enums/sendType';\n\nimport { SendView } from 'jslib/models/view/sendView';\n\nimport { AddEditComponent } from './add-edit.component';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SendService } from 'jslib/abstractions/send.service';\n\n@Component({\n selector: 'app-send',\n templateUrl: 'send.component.html',\n})\nexport class SendComponent implements OnInit {\n @ViewChild('sendAddEdit', { read: ViewContainerRef, static: true }) sendAddEditModalRef: ViewContainerRef;\n\n sendType = SendType;\n loaded = false;\n loading = true;\n refreshing = false;\n expired: boolean = false;\n type: SendType = null;\n sends: SendView[] = [];\n filteredSends: SendView[] = [];\n searchText: string;\n selectedType: SendType;\n selectedAll: boolean;\n searchPlaceholder: string;\n filter: (cipher: SendView) => boolean;\n searchPending = false;\n\n modal: ModalComponent = null;\n actionPromise: any;\n\n private searchTimeout: any;\n\n constructor(private apiService: ApiService, private sendService: SendService,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private platformUtilsService: PlatformUtilsService, private environmentService: EnvironmentService) { }\n\n async ngOnInit() {\n await this.load();\n }\n async load(filter: (send: SendView) => boolean = null) {\n this.loading = true;\n const sends = await this.sendService.getAllDecrypted();\n this.sends = sends;\n this.selectAll();\n this.loading = false;\n this.loaded = true;\n }\n\n async reload(filter: (send: SendView) => boolean = null) {\n this.loaded = false;\n this.sends = [];\n await this.load(filter);\n }\n\n async refresh() {\n try {\n this.refreshing = true;\n await this.reload(this.filter);\n } finally {\n this.refreshing = false;\n }\n }\n\n async applyFilter(filter: (send: SendView) => boolean = null) {\n this.filter = filter;\n await this.search(null);\n }\n\n async search(timeout: number = null) {\n this.searchPending = false;\n if (this.searchTimeout != null) {\n clearTimeout(this.searchTimeout);\n }\n if (timeout == null) {\n this.filteredSends = this.sends.filter((s) => this.filter == null || this.filter(s));\n return;\n }\n this.searchPending = true;\n this.searchTimeout = setTimeout(async () => {\n this.filteredSends = this.sends.filter((s) => this.filter == null || this.filter(s));\n this.searchPending = false;\n }, timeout);\n }\n\n addSend() {\n const component = this.editSend(null);\n component.type = this.type;\n }\n\n editSend(send: SendView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.sendAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n AddEditComponent, this.sendAddEditModalRef);\n\n childComponent.sendId = send == null ? null : send.id;\n childComponent.onSavedSend.subscribe(async (s: SendView) => {\n this.modal.close();\n await this.load();\n });\n childComponent.onDeletedSend.subscribe(async (s: SendView) => {\n this.modal.close();\n await this.load();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n\n return childComponent;\n }\n\n async removePassword(s: SendView): Promise {\n if (this.actionPromise != null || s.password == null) {\n return;\n }\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('removePasswordConfirmation'),\n this.i18nService.t('removePassword'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.actionPromise = this.sendService.removePasswordWithServer(s.id);\n await this.actionPromise;\n this.platformUtilsService.showToast('success', null, this.i18nService.t('removedPassword'));\n await this.load();\n } catch { }\n this.actionPromise = null;\n }\n\n async delete(s: SendView): Promise {\n if (this.actionPromise != null) {\n return false;\n }\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteSendConfirmation'),\n this.i18nService.t('deleteSend'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.actionPromise = this.sendService.deleteWithServer(s.id);\n await this.actionPromise;\n this.platformUtilsService.showToast('success', null, this.i18nService.t('deletedSend'));\n await this.load();\n } catch { }\n this.actionPromise = null;\n return true;\n }\n\n copy(s: SendView) {\n let webVaultUrl = this.environmentService.getWebVaultUrl();\n if (webVaultUrl == null) {\n webVaultUrl = 'https://vault.bitwarden.com';\n }\n const link = webVaultUrl + '/#/send/' + s.accessId + '/' + s.urlB64Key;\n this.platformUtilsService.copyToClipboard(link);\n this.platformUtilsService.showToast('success', null,\n this.i18nService.t('valueCopied', this.i18nService.t('sendLink')));\n }\n\n searchTextChanged() {\n this.search(200);\n }\n\n selectAll() {\n this.clearSelections();\n this.selectedAll = true;\n this.applyFilter(null);\n }\n\n selectType(type: SendType) {\n this.clearSelections();\n this.selectedType = type;\n this.applyFilter((s) => s.type === type);\n }\n\n clearSelections() {\n this.selectedAll = false;\n this.selectedType = null;\n }\n}\n","
\n
\n
\n
\n
\n {{'filters' | i18n}}\n
\n
\n \n \n

{{'types' | i18n}}

\n \n
\n
\n
\n
\n
\n

\n Send\n \n \n \n {{'loading' | i18n}}\n \n \n

\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n
\n
\n {{s.name}}\n \n {{'disabled' | i18n}}\n \n \n \n {{'password' | i18n}}\n \n \n \n {{'maxAccessCountReached' | i18n}}\n \n \n \n {{'expired' | i18n}}\n \n \n \n {{'pendingDeletion' | i18n}}\n \n
\n {{s.deletionDate | date:'medium'}}\n
\n \n
\n
\n \n \n {{'loading' | i18n}}\n \n \n

{{'noSendsInList' | i18n}}

\n \n
\n
\n
\n
\n
\n\n","import { DatePipe } from '@angular/common';\n\nimport {\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { Component } from '@angular/core';\n\nimport { SendType } from 'jslib/enums/sendType';\n\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SendService } from 'jslib/abstractions/send.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { SendFileView } from 'jslib/models/view/sendFileView';\nimport { SendTextView } from 'jslib/models/view/sendTextView';\nimport { SendView } from 'jslib/models/view/sendView';\n\nimport { Send } from 'jslib/models/domain/send';\n\n@Component({\n selector: 'app-send-add-edit',\n templateUrl: 'add-edit.component.html',\n})\nexport class AddEditComponent {\n @Input() sendId: string;\n @Input() type: SendType;\n\n @Output() onSavedSend = new EventEmitter();\n @Output() onDeletedSend = new EventEmitter();\n @Output() onCancelled = new EventEmitter();\n\n editMode: boolean = false;\n send: SendView;\n link: string;\n title: string;\n deletionDate: string;\n expirationDate: string;\n hasPassword: boolean;\n password: string;\n formPromise: Promise;\n deletePromise: Promise;\n sendType = SendType;\n typeOptions: any[];\n deletionDateOptions: any[];\n expirationDateOptions: any[];\n deletionDateSelect = 168;\n expirationDateSelect: number = null;\n canAccessPremium = true;\n premiumRequiredAlertShown = false;\n\n constructor(private i18nService: I18nService, private platformUtilsService: PlatformUtilsService,\n private environmentService: EnvironmentService, private datePipe: DatePipe,\n private sendService: SendService, private userService: UserService,\n private messagingService: MessagingService) {\n this.typeOptions = [\n { name: i18nService.t('sendTypeFile'), value: SendType.File },\n { name: i18nService.t('sendTypeText'), value: SendType.Text },\n ];\n this.deletionDateOptions = this.expirationDateOptions = [\n { name: i18nService.t('oneHour'), value: 1 },\n { name: i18nService.t('oneDay'), value: 24 },\n { name: i18nService.t('days', '2'), value: 48 },\n { name: i18nService.t('days', '3'), value: 72 },\n { name: i18nService.t('days', '7'), value: 168 },\n { name: i18nService.t('days', '30'), value: 720 },\n { name: i18nService.t('custom'), value: 0 },\n ];\n this.expirationDateOptions = [\n { name: i18nService.t('never'), value: null },\n ].concat([...this.deletionDateOptions]);\n }\n\n async ngOnInit() {\n await this.load();\n }\n\n async load() {\n this.editMode = this.sendId != null;\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editSend');\n } else {\n this.title = this.i18nService.t('createSend');\n }\n\n this.canAccessPremium = await this.userService.canAccessPremium();\n if (!this.canAccessPremium) {\n this.type = SendType.Text;\n }\n\n if (this.send == null) {\n if (this.editMode) {\n const send = await this.loadSend();\n this.send = await send.decrypt();\n } else {\n this.send = new SendView();\n this.send.type = this.type == null ? SendType.File : this.type;\n this.send.file = new SendFileView();\n this.send.text = new SendTextView();\n this.send.deletionDate = new Date();\n this.send.deletionDate.setDate(this.send.deletionDate.getDate() + 7);\n }\n }\n\n this.hasPassword = this.send.password != null && this.send.password.trim() !== '';\n\n // Parse dates\n this.deletionDate = this.dateToString(this.send.deletionDate);\n this.expirationDate = this.dateToString(this.send.expirationDate);\n\n if (this.editMode) {\n let webVaultUrl = this.environmentService.getWebVaultUrl();\n if (webVaultUrl == null) {\n webVaultUrl = 'https://vault.bitwarden.com';\n }\n this.link = webVaultUrl + '/#/send/' + this.send.accessId + '/' + this.send.urlB64Key;\n }\n }\n\n async submit(): Promise {\n if (this.send.name == null || this.send.name === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nameRequired'));\n return false;\n }\n\n let file: File = null;\n if (this.send.type === SendType.File && !this.editMode) {\n const fileEl = document.getElementById('file') as HTMLInputElement;\n const files = fileEl.files;\n if (files == null || files.length === 0) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n file = files[0];\n if (file.size > 104857600) { // 100 MB\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('maxFileSize'));\n return;\n }\n }\n\n if (!this.editMode) {\n const now = new Date();\n if (this.deletionDateSelect > 0) {\n const d = new Date();\n d.setHours(now.getHours() + this.deletionDateSelect);\n this.deletionDate = this.dateToString(d);\n }\n if (this.expirationDateSelect != null && this.expirationDateSelect > 0) {\n const d = new Date();\n d.setHours(now.getHours() + this.expirationDateSelect);\n this.expirationDate = this.dateToString(d);\n }\n }\n\n const encSend = await this.encryptSend(file);\n try {\n this.formPromise = this.sendService.saveWithServer(encSend);\n await this.formPromise;\n this.send.id = encSend[0].id;\n this.platformUtilsService.showToast('success', null,\n this.i18nService.t(this.editMode ? 'editedSend' : 'createdSend'));\n this.onSavedSend.emit(this.send);\n return true;\n } catch { }\n\n return false;\n }\n\n clearExpiration() {\n this.expirationDate = null;\n }\n\n async delete(): Promise {\n if (this.deletePromise != null) {\n return;\n }\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteSendConfirmation'),\n this.i18nService.t('deleteSend'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n this.deletePromise = this.sendService.deleteWithServer(this.send.id);\n await this.deletePromise;\n this.platformUtilsService.showToast('success', null, this.i18nService.t('deletedSend'));\n await this.load();\n this.onDeletedSend.emit(this.send);\n } catch { }\n }\n\n typeChanged() {\n if (!this.canAccessPremium && this.send.type === SendType.File && !this.premiumRequiredAlertShown) {\n this.premiumRequiredAlertShown = true;\n this.messagingService.send('premiumRequired');\n }\n }\n\n protected async loadSend(): Promise {\n return this.sendService.get(this.sendId);\n }\n\n protected async encryptSend(file: File): Promise<[Send, ArrayBuffer]> {\n const sendData = await this.sendService.encrypt(this.send, file, this.password, null);\n\n // Parse dates\n try {\n sendData[0].deletionDate = this.deletionDate == null ? null : new Date(this.deletionDate);\n } catch {\n sendData[0].deletionDate = null;\n }\n try {\n sendData[0].expirationDate = this.expirationDate == null ? null : new Date(this.expirationDate);\n } catch {\n sendData[0].expirationDate = null;\n }\n\n return sendData;\n }\n\n protected dateToString(d: Date) {\n return d == null ? null : this.datePipe.transform(d, 'yyyy-MM-ddTHH:mm');\n }\n}\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n {{'file' | i18n}}\n {{send.file.fileName}} ({{send.file.sizeName}})\n
\n
\n \n \n {{'maxFileSize' | i18n}}\n
\n
\n
\n

{{'options' | i18n}}

\n
\n
\n \n
\n \n \n
\n
\n \n
\n
{{'deletionDateDesc' | i18n}}
\n
\n
\n
\n \n \n {{'clear' | i18n}}\n \n
\n
\n \n \n
\n
\n \n
\n
{{'expirationDateDesc' | i18n}}
\n
\n
\n
\n
\n \n \n
{{'maxAccessCountDesc' | i18n}}
\n
\n
\n \n \n
\n
\n
\n
\n \n \n \n
{{'sendPasswordDesc' | i18n}}
\n
\n
\n
\n \n \n
{{'sendNotesDesc' | i18n}}
\n
\n
\n
\n \n \n
\n
\n

{{'share' | i18n}}

\n
\n \n \n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","import { SendType } from '../../enums/sendType';\nimport { Utils } from '../../misc/utils';\n\nimport { Send } from '../domain/send';\nimport { SymmetricCryptoKey } from '../domain/symmetricCryptoKey';\n\nimport { SendFileView } from './sendFileView';\nimport { SendTextView } from './sendTextView';\nimport { View } from './view';\n\nexport class SendView implements View {\n id: string = null;\n accessId: string = null;\n name: string = null;\n notes: string = null;\n key: ArrayBuffer;\n cryptoKey: SymmetricCryptoKey;\n type: SendType = null;\n text = new SendTextView();\n file = new SendFileView();\n maxAccessCount?: number = null;\n accessCount: number = 0;\n revisionDate: Date = null;\n deletionDate: Date = null;\n expirationDate: Date = null;\n password: string = null;\n disabled: boolean = false;\n\n constructor(s?: Send) {\n if (!s) {\n return;\n }\n\n this.id = s.id;\n this.accessId = s.accessId;\n this.type = s.type;\n this.maxAccessCount = s.maxAccessCount;\n this.accessCount = s.accessCount;\n this.revisionDate = s.revisionDate;\n this.deletionDate = s.deletionDate;\n this.expirationDate = s.expirationDate;\n this.disabled = s.disabled;\n this.password = s.password;\n }\n\n get urlB64Key(): string {\n return Utils.fromBufferToUrlB64(this.key);\n }\n\n get maxAccessCountReached(): boolean {\n if (this.maxAccessCount == null) {\n return false;\n }\n return this.accessCount >= this.maxAccessCount;\n }\n\n get expired(): boolean {\n if (this.expirationDate == null) {\n return false;\n }\n return this.expirationDate <= new Date();\n }\n\n get pendingDelete(): boolean {\n return this.deletionDate <= new Date();\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { ModalComponent } from '../modal.component';\nimport { ApiKeyComponent } from './api-key.component';\nimport { DeauthorizeSessionsComponent } from './deauthorize-sessions.component';\nimport { DeleteAccountComponent } from './delete-account.component';\nimport { PurgeVaultComponent } from './purge-vault.component';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Component({\n selector: 'app-account',\n templateUrl: 'account.component.html',\n})\nexport class AccountComponent {\n @ViewChild('deauthorizeSessionsTemplate', { read: ViewContainerRef, static: true }) deauthModalRef: ViewContainerRef;\n @ViewChild('purgeVaultTemplate', { read: ViewContainerRef, static: true }) purgeModalRef: ViewContainerRef;\n @ViewChild('deleteAccountTemplate', { read: ViewContainerRef, static: true }) deleteModalRef: ViewContainerRef;\n @ViewChild('viewUserApiKeyTemplate', { read: ViewContainerRef, static: true }) viewUserApiKeyModalRef: ViewContainerRef;\n @ViewChild('rotateUserApiKeyTemplate', { read: ViewContainerRef, static: true }) rotateUserApiKeyModalRef: ViewContainerRef;\n\n private modal: ModalComponent = null;\n\n constructor(private componentFactoryResolver: ComponentFactoryResolver, private apiService: ApiService,\n private userService: UserService) { }\n\n deauthorizeSessions() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.deauthModalRef.createComponent(factory).instance;\n this.modal.show(DeauthorizeSessionsComponent, this.deauthModalRef);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n purgeVault() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.purgeModalRef.createComponent(factory).instance;\n this.modal.show(PurgeVaultComponent, this.purgeModalRef);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n deleteAccount() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.deleteModalRef.createComponent(factory).instance;\n this.modal.show(DeleteAccountComponent, this.deleteModalRef);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n async viewUserApiKey() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.viewUserApiKeyModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(ApiKeyComponent, this.viewUserApiKeyModalRef);\n childComponent.keyType = 'user';\n childComponent.entityId = await this.userService.getUserId();\n childComponent.postKey = this.apiService.postUserApiKey.bind(this.apiService);\n childComponent.scope = 'api';\n childComponent.grantType = 'client_credentials';\n childComponent.apiKeyTitle = 'apiKey';\n childComponent.apiKeyWarning = 'userApiKeyWarning';\n childComponent.apiKeyDescription = 'userApiKeyDesc';\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n async rotateUserApiKey() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.rotateUserApiKeyModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(ApiKeyComponent, this.rotateUserApiKeyModalRef);\n childComponent.keyType = 'user';\n childComponent.isRotation = true;\n childComponent.entityId = await this.userService.getUserId();\n childComponent.postKey = this.apiService.postUserRotateApiKey.bind(this.apiService);\n childComponent.scope = 'api';\n childComponent.grantType = 'client_credentials';\n childComponent.apiKeyTitle = 'apiKey';\n childComponent.apiKeyWarning = 'userApiKeyWarning';\n childComponent.apiKeyDescription = 'apiKeyRotateDesc';\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n}\n","
\n

{{'myAccount' | i18n}}

\n
\n\n
\n

{{'changeEmail' | i18n}}

\n
\n\n
\n

{{'changeMasterPassword' | i18n}}

\n
\n\n
\n

{{'encKeySettings' | i18n}}

\n
\n\n
\n

{{'apiKey' | i18n}}

\n
\n

\n {{'userApiKeyDesc' | i18n}}\n

\n\n\n
\n

{{'dangerZone' | i18n}}

\n
\n
\n
\n

{{'dangerZoneDesc' | i18n}}

\n \n \n \n
\n
\n\n\n\n\n\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\n@Component({\n selector: 'app-deauthorize-sessions',\n templateUrl: 'deauthorize-sessions.component.html',\n})\nexport class DeauthorizeSessionsComponent {\n masterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.postSecurityStamp(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Deauthorized Sessions' });\n this.toasterService.popAsync('success', this.i18nService.t('sessionsDeauthorized'),\n this.i18nService.t('logBackIn'));\n this.messagingService.send('logout');\n } catch { }\n }\n}\n","
\n
\n
\n
\n

{{'deauthorizeSessions' | i18n}}

\n \n
\n
\n

{{'deauthorizeSessionsDesc' | i18n}}

\n {{'deauthorizeSessionsWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\n\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\n\n@Component({\n selector: 'app-delete-account',\n templateUrl: 'delete-account.component.html',\n})\nexport class DeleteAccountComponent {\n masterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService) { }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.deleteAccount(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Deleted Account' });\n this.toasterService.popAsync('success', this.i18nService.t('accountDeleted'),\n this.i18nService.t('accountDeletedDesc'));\n this.messagingService.send('logout');\n } catch { }\n }\n}\n","
\n
\n
\n
\n

{{'deleteAccount' | i18n}}

\n \n
\n
\n

{{'deleteAccountDesc' | i18n}}

\n {{'deleteAccountWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { UpdateProfileRequest } from 'jslib/models/request/updateProfileRequest';\n\nimport { ProfileResponse } from 'jslib/models/response/profileResponse';\n\n@Component({\n selector: 'app-profile',\n templateUrl: 'profile.component.html',\n})\nexport class ProfileComponent implements OnInit {\n loading = true;\n profile: ProfileResponse;\n fingerprint: string;\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private userService: UserService, private cryptoService: CryptoService) { }\n\n async ngOnInit() {\n this.profile = await this.apiService.getProfile();\n this.loading = false;\n const fingerprint = await this.cryptoService.getFingerprint(await this.userService.getUserId());\n if (fingerprint != null) {\n this.fingerprint = fingerprint.join('-');\n }\n }\n\n async submit() {\n try {\n const request = new UpdateProfileRequest(this.profile.name, this.profile.masterPasswordHint);\n this.formPromise = this.apiService.putProfile(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Updated Profile' });\n this.toasterService.popAsync('success', null, this.i18nService.t('accountUpdated'));\n } catch { }\n }\n}\n","
\n \n {{'loading' | i18n}}\n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n
\n
\n

\n {{'yourAccountsFingerprint' | i18n}}:\n \n
\n {{fingerprint}}\n

\n
\n
\n \n
\n","import {\n Component,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { EmailRequest } from 'jslib/models/request/emailRequest';\nimport { EmailTokenRequest } from 'jslib/models/request/emailTokenRequest';\n\n@Component({\n selector: 'app-change-email',\n templateUrl: 'change-email.component.html',\n})\nexport class ChangeEmailComponent {\n masterPassword: string;\n newEmail: string;\n token: string;\n tokenSent = false;\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService,\n private userService: UserService) { }\n\n async submit() {\n const hasEncKey = await this.cryptoService.hasEncKey();\n if (!hasEncKey) {\n this.toasterService.popAsync('error', null, this.i18nService.t('updateKey'));\n return;\n }\n\n this.newEmail = this.newEmail.trim().toLowerCase();\n if (!this.tokenSent) {\n const request = new EmailTokenRequest();\n request.newEmail = this.newEmail;\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n try {\n this.formPromise = this.apiService.postEmailToken(request);\n await this.formPromise;\n this.tokenSent = true;\n } catch { }\n } else {\n const request = new EmailRequest();\n request.token = this.token;\n request.newEmail = this.newEmail;\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n const kdf = await this.userService.getKdf();\n const kdfIterations = await this.userService.getKdfIterations();\n const newKey = await this.cryptoService.makeKey(this.masterPassword, this.newEmail, kdf, kdfIterations);\n request.newMasterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, newKey);\n const newEncKey = await this.cryptoService.remakeEncKey(newKey);\n request.key = newEncKey[1].encryptedString;\n try {\n this.formPromise = this.apiService.postEmail(request);\n await this.formPromise;\n this.reset();\n this.analytics.eventTrack.next({ action: 'Changed Email' });\n this.toasterService.popAsync('success', this.i18nService.t('emailChanged'),\n this.i18nService.t('logBackIn'));\n this.messagingService.send('logout');\n } catch { }\n }\n }\n\n reset() {\n this.token = this.newEmail = this.masterPassword = null;\n this.tokenSent = false;\n }\n}\n","
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n
\n

{{'changeEmailDesc' | i18n : newEmail}}

\n {{'loggedOutWarning' | i18n}}\n
\n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class EmailTokenRequest extends PasswordVerificationRequest {\n newEmail: string;\n masterPasswordHash: string;\n}\n","import { Component } from '@angular/core';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { PolicyService } from 'jslib/abstractions/policy.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport {\n ChangePasswordComponent as BaseChangePasswordComponent,\n} from 'jslib/angular/components/change-password.component';\n\nimport { EmergencyAccessStatusType } from 'jslib/enums/emergencyAccessStatusType';\nimport { Utils } from 'jslib/misc/utils';\n\nimport { CipherString } from 'jslib/models/domain/cipherString';\nimport { SymmetricCryptoKey } from 'jslib/models/domain/symmetricCryptoKey';\n\nimport { CipherWithIdRequest } from 'jslib/models/request/cipherWithIdRequest';\nimport { EmergencyAccessUpdateRequest } from 'jslib/models/request/emergencyAccessUpdateRequest';\nimport { FolderWithIdRequest } from 'jslib/models/request/folderWithIdRequest';\nimport { PasswordRequest } from 'jslib/models/request/passwordRequest';\nimport { UpdateKeyRequest } from 'jslib/models/request/updateKeyRequest';\n\n@Component({\n selector: 'app-change-password',\n templateUrl: 'change-password.component.html',\n})\nexport class ChangePasswordComponent extends BaseChangePasswordComponent {\n rotateEncKey = false;\n currentMasterPassword: string;\n\n constructor(i18nService: I18nService,\n cryptoService: CryptoService, messagingService: MessagingService,\n userService: UserService, passwordGenerationService: PasswordGenerationService,\n platformUtilsService: PlatformUtilsService, policyService: PolicyService,\n private folderService: FolderService, private cipherService: CipherService,\n private syncService: SyncService, private apiService: ApiService ) {\n super(i18nService, cryptoService, messagingService, userService, passwordGenerationService,\n platformUtilsService, policyService);\n }\n\n async rotateEncKeyClicked() {\n if (this.rotateEncKey) {\n const ciphers = await this.cipherService.getAllDecrypted();\n let hasOldAttachments = false;\n if (ciphers != null) {\n for (let i = 0; i < ciphers.length; i++) {\n if (ciphers[i].organizationId == null && ciphers[i].hasOldAttachments) {\n hasOldAttachments = true;\n break;\n }\n }\n }\n\n if (hasOldAttachments) {\n const learnMore = await this.platformUtilsService.showDialog(\n this.i18nService.t('oldAttachmentsNeedFixDesc'), null,\n this.i18nService.t('learnMore'), this.i18nService.t('close'), 'warning');\n if (learnMore) {\n this.platformUtilsService.launchUri(\n 'https://help.bitwarden.com/article/attachments/#fixing-old-attachments');\n }\n this.rotateEncKey = false;\n return;\n }\n\n const result = await this.platformUtilsService.showDialog(\n this.i18nService.t('updateEncryptionKeyWarning') + ' ' +\n this.i18nService.t('updateEncryptionKeyExportWarning') + ' ' +\n this.i18nService.t('rotateEncKeyConfirmation'), this.i18nService.t('rotateEncKeyTitle'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!result) {\n this.rotateEncKey = false;\n }\n }\n }\n\n async submit() {\n const hasEncKey = await this.cryptoService.hasEncKey();\n if (!hasEncKey) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('updateKey'));\n return;\n }\n\n await super.submit();\n }\n\n async setupSubmitActions() {\n if (this.currentMasterPassword == null || this.currentMasterPassword === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return false;\n }\n\n if (this.rotateEncKey) {\n await this.syncService.fullSync(true);\n }\n\n return super.setupSubmitActions();\n }\n\n async performSubmitActions(newMasterPasswordHash: string, newKey: SymmetricCryptoKey,\n newEncKey: [SymmetricCryptoKey, CipherString]) {\n const request = new PasswordRequest();\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.currentMasterPassword, null);\n request.newMasterPasswordHash = newMasterPasswordHash;\n request.key = newEncKey[1].encryptedString;\n\n try {\n if (this.rotateEncKey) {\n this.formPromise = this.apiService.postPassword(request).then(() => {\n return this.updateKey(newKey, request.newMasterPasswordHash);\n });\n } else {\n this.formPromise = this.apiService.postPassword(request);\n }\n\n await this.formPromise;\n\n this.platformUtilsService.showToast('success', this.i18nService.t('masterPasswordChanged'),\n this.i18nService.t('logBackIn'));\n this.messagingService.send('logout');\n } catch {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n }\n }\n\n private async updateKey(key: SymmetricCryptoKey, masterPasswordHash: string) {\n const encKey = await this.cryptoService.makeEncKey(key);\n const privateKey = await this.cryptoService.getPrivateKey();\n let encPrivateKey: CipherString = null;\n if (privateKey != null) {\n encPrivateKey = await this.cryptoService.encrypt(privateKey, encKey[0]);\n }\n const request = new UpdateKeyRequest();\n request.privateKey = encPrivateKey != null ? encPrivateKey.encryptedString : null;\n request.key = encKey[1].encryptedString;\n request.masterPasswordHash = masterPasswordHash;\n\n const folders = await this.folderService.getAllDecrypted();\n for (let i = 0; i < folders.length; i++) {\n if (folders[i].id == null) {\n continue;\n }\n const folder = await this.folderService.encrypt(folders[i], encKey[0]);\n request.folders.push(new FolderWithIdRequest(folder));\n }\n\n const ciphers = await this.cipherService.getAllDecrypted();\n for (let i = 0; i < ciphers.length; i++) {\n if (ciphers[i].organizationId != null) {\n continue;\n }\n\n const cipher = await this.cipherService.encrypt(ciphers[i], encKey[0]);\n request.ciphers.push(new CipherWithIdRequest(cipher));\n }\n\n await this.apiService.postAccountKey(request);\n\n await this.updateEmergencyAccesses(encKey[0]);\n }\n\n private async updateEmergencyAccesses(encKey: SymmetricCryptoKey) {\n const emergencyAccess = await this.apiService.getEmergencyAccessTrusted();\n const allowedStatuses = [\n EmergencyAccessStatusType.Confirmed,\n EmergencyAccessStatusType.RecoveryInitiated,\n EmergencyAccessStatusType.RecoveryApproved,\n ];\n\n const filteredAccesses = emergencyAccess.data.filter(d => allowedStatuses.includes(d.status));\n\n for (const details of filteredAccesses) {\n const publicKeyResponse = await this.apiService.getUserPublicKey(details.granteeId);\n const publicKey = Utils.fromB64ToArray(publicKeyResponse.publicKey);\n\n const encryptedKey = await this.cryptoService.rsaEncrypt(encKey.key, publicKey.buffer);\n\n const updateRequest = new EmergencyAccessUpdateRequest();\n updateRequest.type = details.type;\n updateRequest.waitTimeDays = details.waitTimeDays;\n updateRequest.keyEncrypted = encryptedKey.encryptedString;\n\n await this.apiService.putEmergencyAccess(details.id, updateRequest);\n }\n }\n}\n","{{'loggedOutWarning' | i18n}}\n\n {{'masterPasswordPolicyInEffect' | i18n}}\n
    \n
  • 0\">\n {{'policyInEffectMinComplexity' | i18n : getPasswordScoreAlertDisplay()}}\n
  • \n
  • 0\">\n {{'policyInEffectMinLength' | i18n : enforcedPolicyOptions?.minLength.toString()}}\n
  • \n
  • {{'policyInEffectUppercase' | i18n}}
  • \n
  • {{'policyInEffectLowercase' | i18n}}
  • \n
  • {{'policyInEffectNumbers' | i18n}}
  • \n
  • {{'policyInEffectSpecial' | i18n : '!@#$%^&*'}}
  • \n
\n
\n\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n \n \n \n \n \n
\n
\n \n
\n","export enum EmergencyAccessStatusType {\n Invited = 0,\n Accepted = 1,\n Confirmed = 2,\n RecoveryInitiated = 3,\n RecoveryApproved = 4,\n}\n","import { EmergencyAccessType } from '../../enums/emergencyAccessType';\n\nexport class EmergencyAccessUpdateRequest {\n type: EmergencyAccessType;\n waitTimeDays: number;\n keyEncrypted?: string;\n}\n","import { FolderRequest } from './folderRequest';\n\nimport { Folder } from '../domain/folder';\n\nexport class FolderWithIdRequest extends FolderRequest {\n id: string;\n\n constructor(folder: Folder) {\n super(folder);\n this.id = folder.id;\n }\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class PasswordRequest extends PasswordVerificationRequest {\n newMasterPasswordHash: string;\n key: string;\n}\n","import { CipherWithIdRequest } from './cipherWithIdRequest';\nimport { FolderWithIdRequest } from './folderWithIdRequest';\n\nexport class UpdateKeyRequest {\n ciphers: CipherWithIdRequest[] = [];\n folders: FolderWithIdRequest[] = [];\n masterPasswordHash: string;\n privateKey: string;\n key: string;\n}\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { KdfRequest } from 'jslib/models/request/kdfRequest';\n\nimport { KdfType } from 'jslib/enums/kdfType';\n\n@Component({\n selector: 'app-change-kdf',\n templateUrl: 'change-kdf.component.html',\n})\nexport class ChangeKdfComponent implements OnInit {\n masterPassword: string;\n kdfIterations: number;\n kdf = KdfType.PBKDF2_SHA256;\n kdfOptions: any[] = [];\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService,\n private userService: UserService) {\n this.kdfOptions = [\n { name: 'PBKDF2 SHA-256', value: KdfType.PBKDF2_SHA256 },\n ];\n }\n\n async ngOnInit() {\n this.kdf = await this.userService.getKdf();\n this.kdfIterations = await this.userService.getKdfIterations();\n }\n\n async submit() {\n const hasEncKey = await this.cryptoService.hasEncKey();\n if (!hasEncKey) {\n this.toasterService.popAsync('error', null, this.i18nService.t('updateKey'));\n return;\n }\n\n const request = new KdfRequest();\n request.kdf = this.kdf;\n request.kdfIterations = this.kdfIterations;\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n const email = await this.userService.getEmail();\n const newKey = await this.cryptoService.makeKey(this.masterPassword, email, this.kdf, this.kdfIterations);\n request.newMasterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, newKey);\n const newEncKey = await this.cryptoService.remakeEncKey(newKey);\n request.key = newEncKey[1].encryptedString;\n try {\n this.formPromise = this.apiService.postAccountKdf(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Changed KDF' });\n this.toasterService.popAsync('success', this.i18nService.t('encKeySettingsChanged'),\n this.i18nService.t('logBackIn'));\n this.messagingService.send('logout');\n } catch { }\n }\n}\n","{{'loggedOutWarning' | i18n}}\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n
\n
\n

{{'kdfIterationsDesc' | i18n : (100000 | number)}}

\n {{'warning' | i18n}}: {{'kdfIterationsWarning' | i18n : (50000 | number)}}\n
\n
\n
\n
\n \n
\n","import {\n Component,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { PlanType } from 'jslib/enums/planType';\nimport { ProductType } from 'jslib/enums/productType';\n\nimport { OrganizationPlansComponent } from './organization-plans.component';\n\n@Component({\n selector: 'app-create-organization',\n templateUrl: 'create-organization.component.html',\n})\nexport class CreateOrganizationComponent implements OnInit {\n @ViewChild(OrganizationPlansComponent, { static: true }) orgPlansComponent: OrganizationPlansComponent;\n\n constructor(private route: ActivatedRoute) { }\n\n ngOnInit() {\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.plan === 'families') {\n this.orgPlansComponent.plan = PlanType.FamiliesAnnually;\n this.orgPlansComponent.product = ProductType.Families;\n } else if (qParams.plan === 'teams') {\n this.orgPlansComponent.plan = PlanType.TeamsAnnually;\n this.orgPlansComponent.product = ProductType.Teams;\n } else if (qParams.plan === 'enterprise') {\n this.orgPlansComponent.plan = PlanType.EnterpriseAnnually;\n this.orgPlansComponent.product = ProductType.Enterprise;\n }\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n }\n}\n","
\n

{{'newOrganization' | i18n}}

\n
\n

{{'newOrganizationDesc' | i18n}}

\n\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { UpdateDomainsRequest } from 'jslib/models/request/updateDomainsRequest';\n\n@Component({\n selector: 'app-domain-rules',\n templateUrl: 'domain-rules.component.html',\n})\nexport class DomainRulesComponent implements OnInit {\n loading = true;\n custom: string[] = [];\n global: any[] = [];\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async ngOnInit() {\n const response = await this.apiService.getSettingsDomains();\n this.loading = false;\n if (response.equivalentDomains != null) {\n this.custom = response.equivalentDomains.map((d) => d.join(', '));\n }\n if (response.globalEquivalentDomains != null) {\n this.global = response.globalEquivalentDomains.map((d) => {\n return {\n domains: d.domains.join(', '),\n excluded: d.excluded,\n key: d.type,\n };\n });\n }\n }\n\n toggleExcluded(globalDomain: any) {\n globalDomain.excluded = !globalDomain.excluded;\n }\n\n customize(globalDomain: any) {\n globalDomain.excluded = true;\n this.custom.push(globalDomain.domains);\n }\n\n remove(index: number) {\n this.custom.splice(index, 1);\n }\n\n add() {\n this.custom.push('');\n }\n\n async submit() {\n const request = new UpdateDomainsRequest();\n request.excludedGlobalEquivalentDomains = this.global.filter((d) => d.excluded)\n .map((d) => d.key);\n if (request.excludedGlobalEquivalentDomains.length === 0) {\n request.excludedGlobalEquivalentDomains = null;\n }\n request.equivalentDomains = this.custom.filter((d) => d != null && d.trim() !== '')\n .map((d) => d.split(',').map((d2) => d2.trim()));\n if (request.equivalentDomains.length === 0) {\n request.equivalentDomains = null;\n }\n\n try {\n this.formPromise = this.apiService.putSettingsDomains(request);\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Saved Equivalent Domains' });\n this.toasterService.popAsync('success', null, this.i18nService.t('domainsUpdated'));\n } catch { }\n }\n\n indexTrackBy(index: number, obj: any): any {\n return index;\n }\n}\n","
\n

{{'domainRules' | i18n}}

\n
\n

{{'domainRulesDesc' | i18n}}

\n
\n

{{'customEqDomains' | i18n}}

\n

\n \n {{'loading' | i18n}}\n

\n \n
\n
\n \n \n
\n \n
\n \n {{'newCustomDomainDesc' | i18n}}\n
\n \n

{{'globalEqDomains' | i18n}}

\n

\n \n {{'loading' | i18n}}\n

\n 0\">\n \n \n \n \n \n \n
{{d.domains}}\n \n
\n \n
\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\nimport { VaultTimeoutService } from 'jslib/abstractions/vaultTimeout.service';\n\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'app-options',\n templateUrl: 'options.component.html',\n})\nexport class OptionsComponent implements OnInit {\n vaultTimeout: number = null;\n vaultTimeoutAction: string = 'lock';\n disableIcons: boolean;\n enableGravatars: boolean;\n enableFullWidth: boolean;\n locale: string;\n vaultTimeouts: any[];\n localeOptions: any[];\n\n private startingLocale: string;\n\n constructor(private storageService: StorageService, private stateService: StateService,\n private analytics: Angulartics2, private i18nService: I18nService,\n private toasterService: ToasterService, private vaultTimeoutService: VaultTimeoutService,\n private platformUtilsService: PlatformUtilsService, private messagingService: MessagingService) {\n this.vaultTimeouts = [\n { name: i18nService.t('oneMinute'), value: 1 },\n { name: i18nService.t('fiveMinutes'), value: 5 },\n { name: i18nService.t('fifteenMinutes'), value: 15 },\n { name: i18nService.t('thirtyMinutes'), value: 30 },\n { name: i18nService.t('oneHour'), value: 60 },\n { name: i18nService.t('fourHours'), value: 240 },\n { name: i18nService.t('onRefresh'), value: -1 },\n ];\n if (this.platformUtilsService.isDev()) {\n this.vaultTimeouts.push({ name: i18nService.t('never'), value: null });\n }\n\n const localeOptions: any[] = [];\n i18nService.supportedTranslationLocales.forEach((locale) => {\n let name = locale;\n if (i18nService.localeNames.has(locale)) {\n name += (' - ' + i18nService.localeNames.get(locale));\n }\n localeOptions.push({ name: name, value: locale });\n });\n localeOptions.sort(Utils.getSortFunction(i18nService, 'name'));\n localeOptions.splice(0, 0, { name: i18nService.t('default'), value: null });\n this.localeOptions = localeOptions;\n }\n\n async ngOnInit() {\n this.vaultTimeout = await this.storageService.get(ConstantsService.vaultTimeoutKey);\n this.vaultTimeoutAction = await this.storageService.get(ConstantsService.vaultTimeoutActionKey);\n this.disableIcons = await this.storageService.get(ConstantsService.disableFaviconKey);\n this.enableGravatars = await this.storageService.get('enableGravatars');\n this.enableFullWidth = await this.storageService.get('enableFullWidth');\n this.locale = this.startingLocale = await this.storageService.get(ConstantsService.localeKey);\n }\n\n async submit() {\n await this.vaultTimeoutService.setVaultTimeoutOptions(this.vaultTimeout != null ? this.vaultTimeout : null,\n this.vaultTimeoutAction);\n await this.storageService.save(ConstantsService.disableFaviconKey, this.disableIcons);\n await this.stateService.save(ConstantsService.disableFaviconKey, this.disableIcons);\n await this.storageService.save('enableGravatars', this.enableGravatars);\n await this.stateService.save('enableGravatars', this.enableGravatars);\n await this.storageService.save('enableFullWidth', this.enableFullWidth);\n this.messagingService.send('setFullWidth');\n await this.storageService.save(ConstantsService.localeKey, this.locale);\n this.analytics.eventTrack.next({ action: 'Saved Options' });\n if (this.locale !== this.startingLocale) {\n window.location.reload();\n } else {\n this.toasterService.popAsync('success', null, this.i18nService.t('optionsUpdated'));\n }\n }\n\n async vaultTimeoutActionChanged(newValue: string) {\n if (newValue === 'logOut') {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('vaultTimeoutLogOutConfirmation'),\n this.i18nService.t('vaultTimeoutLogOutConfirmationTitle'),\n this.i18nService.t('yes'), this.i18nService.t('cancel'), 'warning');\n if (!confirmed) {\n this.vaultTimeoutAction = 'lock';\n return;\n }\n }\n this.vaultTimeoutAction = newValue;\n }\n}\n","
\n

{{'options' | i18n}}

\n
\n

{{'optionsDesc' | i18n}}

\n
\n
\n
\n
\n \n \n {{'vaultTimeoutDesc' | i18n}}\n
\n
\n
\n
\n \n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n
\n \n \n \n \n
\n \n {{'languageDesc' | i18n}}\n
\n
\n
\n
\n
\n \n \n \n \n \n
\n {{'disableIconsDesc' | i18n}}\n
\n
\n
\n \n \n \n \n \n
\n {{'enableGravatarsDesc' | i18n}}\n
\n\t
\n
\n \n \n
\n {{'enableFullWidthDesc' | i18n}}\n
\n \n
\n","import {\n AfterContentInit,\n Component,\n Input,\n} from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { CryptoFunctionService } from 'jslib/abstractions/cryptoFunction.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { SsoComponent } from 'jslib/angular/components/sso.component';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\n@Component({\n selector: 'app-link-sso',\n templateUrl: 'link-sso.component.html',\n})\nexport class LinkSsoComponent extends SsoComponent implements AfterContentInit {\n @Input() organization: Organization;\n returnUri: string = '/settings/organizations';\n\n constructor(platformUtilsService: PlatformUtilsService, i18nService: I18nService,\n apiService: ApiService, authService: AuthService,\n router: Router, route: ActivatedRoute,\n cryptoFunctionService: CryptoFunctionService, passwordGenerationService: PasswordGenerationService,\n storageService: StorageService, stateService: StateService) {\n super(authService, router,\n i18nService, route,\n storageService, stateService,\n platformUtilsService, apiService,\n cryptoFunctionService, passwordGenerationService);\n\n this.returnUri = '/settings/organizations';\n this.redirectUri = window.location.origin + '/sso-connector.html';\n this.clientId = 'web';\n }\n\n async ngAfterContentInit() {\n this.identifier = this.organization.identifier;\n }\n}\n","\n \n {{'linkSso' | i18n}}\n\n","import {\n Component,\n OnInit,\n ViewChild,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { PaymentComponent } from './payment.component';\nimport { TaxInfoComponent } from './tax-info.component';\n\n@Component({\n selector: 'app-premium',\n templateUrl: 'premium.component.html',\n})\nexport class PremiumComponent implements OnInit {\n @ViewChild(PaymentComponent) paymentComponent: PaymentComponent;\n @ViewChild(TaxInfoComponent) taxInfoComponent: TaxInfoComponent;\n\n canAccessPremium = false;\n selfHosted = false;\n premiumPrice = 10;\n storageGbPrice = 4;\n additionalStorage = 0;\n\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n platformUtilsService: PlatformUtilsService, private tokenService: TokenService,\n private router: Router, private messagingService: MessagingService,\n private syncService: SyncService, private userService: UserService) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n this.canAccessPremium = await this.userService.canAccessPremium();\n const premium = await this.tokenService.getPremium();\n if (premium) {\n this.router.navigate(['/settings/subscription']);\n return;\n }\n }\n\n async submit() {\n let files: FileList = null;\n if (this.selfHosted) {\n const fileEl = document.getElementById('file') as HTMLInputElement;\n files = fileEl.files;\n if (files == null || files.length === 0) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n }\n\n try {\n if (this.selfHosted) {\n if (!this.tokenService.getEmailVerified()) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('verifyEmailFirst'));\n return;\n }\n\n const fd = new FormData();\n fd.append('license', files[0]);\n this.formPromise = this.apiService.postAccountLicense(fd).then(() => {\n return this.finalizePremium();\n });\n } else {\n this.formPromise = this.paymentComponent.createPaymentToken().then((result) => {\n const fd = new FormData();\n fd.append('paymentMethodType', result[1].toString());\n if (result[0] != null) {\n fd.append('paymentToken', result[0]);\n }\n fd.append('additionalStorageGb', (this.additionalStorage || 0).toString());\n fd.append('country', this.taxInfoComponent.taxInfo.country);\n fd.append('postalCode', this.taxInfoComponent.taxInfo.postalCode);\n return this.apiService.postPremium(fd);\n }).then((paymentResponse) => {\n if (!paymentResponse.success && paymentResponse.paymentIntentClientSecret != null) {\n return this.paymentComponent.handleStripeCardPayment(paymentResponse.paymentIntentClientSecret,\n () => this.finalizePremium());\n } else {\n return this.finalizePremium();\n }\n });\n }\n await this.formPromise;\n } catch { }\n }\n\n async finalizePremium() {\n await this.apiService.refreshIdentityToken();\n await this.syncService.fullSync(true);\n this.analytics.eventTrack.next({ action: 'Signed Up Premium' });\n this.toasterService.popAsync('success', null, this.i18nService.t('premiumUpdated'));\n this.messagingService.send('purchasedPremium');\n this.router.navigate(['/settings/subscription']);\n }\n\n get additionalStorageTotal(): number {\n return this.storageGbPrice * Math.abs(this.additionalStorage || 0);\n }\n\n get subtotal(): number {\n return this.premiumPrice + this.additionalStorageTotal;\n }\n\n get taxCharges(): number {\n return this.taxInfoComponent != null && this.taxInfoComponent.taxRate != null ?\n (this.taxInfoComponent.taxRate / 100) * this.subtotal :\n 0;\n }\n\n get total(): number {\n return (this.subtotal + this.taxCharges) || 0;\n }\n}\n","
\n

{{'goPremium' | i18n}}

\n
\n\n {{'alreadyPremiumFromOrg' | i18n}}\n\n\n

{{'premiumUpgradeUnlockFeatures' | i18n}}

\n
    \n
  • \n \n {{'premiumSignUpStorage' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpTwoStep' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpReports' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpTotp' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpSupport' | i18n}}\n
  • \n
  • \n \n {{'premiumSignUpFuture' | i18n}}\n
  • \n
\n

{{'premiumPrice' | i18n : (premiumPrice | currency:'$')}}

\n \n {{'purchasePremium' | i18n}}\n \n
\n\n

{{'uploadLicenseFilePremium' | i18n}}

\n
\n
\n \n \n {{'licenseFileDesc' | i18n : 'bitwarden_premium_license.json'}}\n
\n \n
\n
\n
\n

{{'addons' | i18n}}

\n
\n
\n \n \n {{'additionalStorageIntervalDesc' | i18n : '1 GB' : (storageGbPrice | currency:'$') : ('year' | i18n)}}\n
\n
\n

{{'summary' | i18n}}

\n {{'premiumMembership' | i18n}}: {{premiumPrice | currency:'$'}}\n
{{'additionalStorageGb' | i18n}}: {{additionalStorage || 0}} GB × {{storageGbPrice | currency:'$'}} = {{additionalStorageTotal\n | currency:'$'}}\n
\n

{{'paymentInformation' | i18n}}

\n \n \n
\n
\n {{ 'planPrice' | i18n }}: {{ subtotal | currency: 'USD $' }}\n
\n \n {{ 'estimatedTax' | i18n }}: {{ taxCharges | currency: 'USD $' }}\n \n
\n
\n

{{'total' | i18n}}:\n {{total | currency:'USD $'}}/{{'year' | i18n}}

\n
\n {{'paymentChargedAnnually' | i18n}}\n \n
\n","import {\n Component,\n NgZone,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nconst BroadcasterSubscriptionId = 'SettingsComponent';\n\n@Component({\n selector: 'app-settings',\n templateUrl: 'settings.component.html',\n})\nexport class SettingsComponent implements OnInit, OnDestroy {\n premium: boolean;\n selfHosted: boolean;\n\n constructor(private tokenService: TokenService, private broadcasterService: BroadcasterService,\n private ngZone: NgZone, private platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, async (message: any) => {\n this.ngZone.run(async () => {\n switch (message.command) {\n case 'purchasedPremium':\n await this.load();\n break;\n default:\n }\n });\n });\n\n this.selfHosted = await this.platformUtilsService.isSelfHost();\n await this.load();\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n async load() {\n this.premium = await this.tokenService.getPremium();\n }\n}\n","\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { SubscriptionResponse } from 'jslib/models/response/subscriptionResponse';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\n\n@Component({\n selector: 'app-user-subscription',\n templateUrl: 'user-subscription.component.html',\n})\nexport class UserSubscriptionComponent implements OnInit {\n loading = false;\n firstLoaded = false;\n adjustStorageAdd = true;\n showAdjustStorage = false;\n showUpdateLicense = false;\n sub: SubscriptionResponse;\n selfHosted = false;\n\n cancelPromise: Promise;\n reinstatePromise: Promise;\n\n constructor(private tokenService: TokenService, private apiService: ApiService,\n private platformUtilsService: PlatformUtilsService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private router: Router) {\n this.selfHosted = platformUtilsService.isSelfHost();\n }\n\n async ngOnInit() {\n await this.load();\n this.firstLoaded = true;\n }\n\n async load() {\n if (this.loading) {\n return;\n }\n\n if (this.tokenService.getPremium()) {\n this.loading = true;\n this.sub = await this.apiService.getUserSubscription();\n } else {\n this.router.navigate(['/settings/premium']);\n return;\n }\n\n this.loading = false;\n }\n\n async reinstate() {\n if (this.loading) {\n return;\n }\n\n if (this.usingInAppPurchase) {\n this.platformUtilsService.showDialog(this.i18nService.t('manageSubscriptionFromStore'),\n this.i18nService.t('cancelSubscription'), null, null, 'warning');\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('reinstateConfirmation'),\n this.i18nService.t('reinstateSubscription'), this.i18nService.t('yes'), this.i18nService.t('cancel'));\n if (!confirmed) {\n return;\n }\n\n try {\n this.reinstatePromise = this.apiService.postReinstatePremium();\n await this.reinstatePromise;\n this.analytics.eventTrack.next({ action: 'Reinstated Premium' });\n this.toasterService.popAsync('success', null, this.i18nService.t('reinstated'));\n this.load();\n } catch { }\n }\n\n async cancel() {\n if (this.loading) {\n return;\n }\n\n if (this.usingInAppPurchase) {\n this.platformUtilsService.showDialog(this.i18nService.t('manageSubscriptionFromStore'),\n this.i18nService.t('cancelSubscription'), null, null, 'warning');\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('cancelConfirmation'),\n this.i18nService.t('cancelSubscription'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n this.cancelPromise = this.apiService.postCancelPremium();\n await this.cancelPromise;\n this.analytics.eventTrack.next({ action: 'Canceled Premium' });\n this.toasterService.popAsync('success', null, this.i18nService.t('canceledSubscription'));\n this.load();\n } catch { }\n }\n\n downloadLicense() {\n if (this.loading) {\n return;\n }\n\n const licenseString = JSON.stringify(this.sub.license, null, 2);\n this.platformUtilsService.saveFile(window, licenseString, null, 'bitwarden_premium_license.json');\n }\n\n updateLicense() {\n if (this.loading) {\n return;\n }\n this.showUpdateLicense = true;\n }\n\n closeUpdateLicense(load: boolean) {\n this.showUpdateLicense = false;\n if (load) {\n this.load();\n }\n }\n\n adjustStorage(add: boolean) {\n if (this.usingInAppPurchase) {\n this.platformUtilsService.showDialog(this.i18nService.t('cannotPerformInAppPurchase'),\n this.i18nService.t(add ? 'addStorage' : 'removeStorage'), null, null, 'warning');\n return;\n }\n this.adjustStorageAdd = add;\n this.showAdjustStorage = true;\n }\n\n closeStorage(load: boolean) {\n this.showAdjustStorage = false;\n if (load) {\n this.load();\n }\n }\n\n get subscriptionMarkedForCancel() {\n return this.subscription != null && !this.subscription.cancelled && this.subscription.cancelAtEndDate;\n }\n\n get subscription() {\n return this.sub != null ? this.sub.subscription : null;\n }\n\n get nextInvoice() {\n return this.sub != null ? this.sub.upcomingInvoice : null;\n }\n\n get storagePercentage() {\n return this.sub != null && this.sub.maxStorageGb ?\n +(100 * (this.sub.storageGb / this.sub.maxStorageGb)).toFixed(2) : 0;\n }\n\n get storageProgressWidth() {\n return this.storagePercentage < 5 ? 5 : 0;\n }\n\n get usingInAppPurchase() {\n return this.sub != null ? this.sub.usingInAppPurchase : false;\n }\n}\n","
\n

\n {{'premiumMembership' | i18n}}\n \n \n {{'loading' | i18n}}\n \n

\n
\n\n \n {{'loading' | i18n}}\n\n\n \n {{'subscriptionCanceled' | i18n}}\n \n

{{'subscriptionPendingCanceled' | i18n}}

\n \n
\n
\n
{{'expiration' | i18n}}
\n
{{sub.expiration | date:'mediumDate'}}
\n
{{'neverExpires' | i18n}}
\n
\n
\n
\n
\n
{{'status' | i18n}}
\n
\n {{(subscription && subscription.status) || '-'}}\n {{'pendingCancellation' | i18n}}\n
\n
{{'nextCharge' | i18n}}
\n
{{nextInvoice ? ((nextInvoice.date | date: 'mediumDate') + ', ' + (nextInvoice.amount | currency:'$')) :\n '-'}}\n
\n
\n
\n
\n {{'details' | i18n}}\n \n \n \n \n \n \n \n
\n {{i.name}} {{i.quantity > 1 ? '×' + i.quantity : ''}} @ {{i.amount | currency:'$'}}\n \n {{(i.quantity * i.amount) | currency:'$'}} /{{i.interval | i18n}}\n
\n
\n
\n \n
\n \n \n {{'manageSubscription' | i18n}}\n \n
\n
\n
\n \n

{{'updateLicense' | i18n}}

\n \n \n
\n
\n
\n \n
\n \n \n
\n

{{'storage' | i18n}}

\n

{{'subscriptionStorage' | i18n : sub.maxStorageGb || 0 : sub.storageName || '0 MB'}}

\n
\n
\n {{(storagePercentage / 100) | percent}}
\n
\n \n
\n
\n \n \n
\n \n
\n
\n
\n
\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { UserService } from 'jslib/abstractions/user.service';\nimport { BreachAccountResponse } from 'jslib/models/response/breachAccountResponse';\n\n@Component({\n selector: 'app-breach-report',\n templateUrl: 'breach-report.component.html',\n})\nexport class BreachReportComponent implements OnInit {\n error = false;\n username: string;\n checkedUsername: string;\n breachedAccounts: BreachAccountResponse[] = [];\n formPromise: Promise;\n\n constructor(private auditService: AuditService, private userService: UserService) { }\n\n async ngOnInit() {\n this.username = await this.userService.getEmail();\n }\n\n async submit() {\n this.error = false;\n this.username = this.username.toLowerCase();\n try {\n this.formPromise = this.auditService.breachedAccounts(this.username);\n this.breachedAccounts = await this.formPromise;\n } catch {\n this.error = true;\n }\n this.checkedUsername = this.username;\n }\n}\n","
\n

{{'dataBreachReport' | i18n}}

\n
\n

{{'breachDesc' | i18n}}

\n
\n
\n
\n \n \n {{'breachCheckUsernameEmail' | i18n}}\n
\n
\n \n
\n
\n

{{'reportError' | i18n}}...

\n \n \n {{'breachUsernameNotFound' | i18n : checkedUsername}}\n \n \n {{'breachUsernameFound' | i18n : checkedUsername : breachedAccounts.length}}\n \n
    \n
  • \n
    \n
    \n \"\"\n
    \n
    \n

    {{a.title}}

    \n

    \n

    {{'compromisedData' | i18n}}:

    \n
      \n
    • {{d}}
    • \n
    \n
    \n
    \n
    \n
    {{'website' | i18n}}
    \n
    {{a.domain}}
    \n
    {{'affectedUsers' | i18n}}
    \n
    {{a.pwnCount | number}}
    \n
    {{'breachOccurred' | i18n}}
    \n
    {{a.breachDate | date: 'mediumDate'}}
    \n
    {{'breachReported' | i18n}}
    \n
    {{a.addedDate | date: 'mediumDate'}}
    \n
    \n
    \n
    \n
  • \n
\n
\n
\n","import {\n Component,\n ComponentFactoryResolver,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport {\n PasswordGeneratorComponent as BasePasswordGeneratorComponent,\n} from 'jslib/angular/components/password-generator.component';\n\nimport { ModalComponent } from '../modal.component';\nimport { PasswordGeneratorHistoryComponent } from './password-generator-history.component';\n\n@Component({\n selector: 'app-password-generator',\n templateUrl: 'password-generator.component.html',\n})\nexport class PasswordGeneratorComponent extends BasePasswordGeneratorComponent {\n @ViewChild('historyTemplate', { read: ViewContainerRef, static: true }) historyModalRef: ViewContainerRef;\n\n private modal: ModalComponent = null;\n\n constructor(passwordGenerationService: PasswordGenerationService, platformUtilsService: PlatformUtilsService,\n i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver) {\n super(passwordGenerationService, platformUtilsService, i18nService, window);\n }\n\n history() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.historyModalRef.createComponent(factory).instance;\n this.modal.show(PasswordGeneratorHistoryComponent, this.historyModalRef);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n lengthChanged() {\n document.getElementById('length').focus();\n }\n\n minNumberChanged() {\n document.getElementById('min-number').focus();\n }\n\n minSpecialChanged() {\n document.getElementById('min-special').focus();\n }\n}\n","
\n

{{'passwordGenerator' | i18n}}

\n
\n\n {{'passwordGeneratorPolicyInEffect' | i18n}}\n\n
\n
\n
\n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n \n \n
\n
\n \n
\n
\n\n","import { Component } from '@angular/core';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport {\n PasswordGeneratorHistoryComponent as BasePasswordGeneratorHistoryComponent,\n} from 'jslib/angular/components/password-generator-history.component';\n\n@Component({\n selector: 'app-password-generator-history',\n templateUrl: 'password-generator-history.component.html',\n})\nexport class PasswordGeneratorHistoryComponent extends BasePasswordGeneratorHistoryComponent {\n constructor(passwordGenerationService: PasswordGenerationService, platformUtilsService: PlatformUtilsService,\n i18nService: I18nService) {\n super(passwordGenerationService, platformUtilsService, i18nService, window);\n }\n}\n","
\n
\n
\n
\n

{{'passwordHistory' | i18n}}

\n \n
\n
    \n
  • \n
    \n
    \n {{h.date | date:'medium'}}\n
    \n
    \n \n
    \n
  • \n
\n
\n {{'noPasswordsInList' | i18n}}\n
\n
\n \n
\n \n
\n
\n
\n
\n
\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Component({\n selector: 'app-tools',\n templateUrl: 'tools.component.html',\n})\nexport class ToolsComponent implements OnInit {\n canAccessPremium = false;\n\n constructor(private userService: UserService, private messagingService: MessagingService) { }\n\n async ngOnInit() {\n this.canAccessPremium = await this.userService.canAccessPremium();\n }\n\n premiumRequired() {\n if (!this.canAccessPremium) {\n this.messagingService.send('premiumRequired');\n return;\n }\n }\n}\n","\n","import {\n ChangeDetectorRef,\n Component,\n ComponentFactoryResolver,\n NgZone,\n OnDestroy,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { CipherType } from 'jslib/enums/cipherType';\n\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { OrganizationsComponent } from '../settings/organizations.component';\nimport { UpdateKeyComponent } from '../settings/update-key.component';\nimport { AddEditComponent } from './add-edit.component';\nimport { AttachmentsComponent } from './attachments.component';\nimport { CiphersComponent } from './ciphers.component';\nimport { CollectionsComponent } from './collections.component';\nimport { FolderAddEditComponent } from './folder-add-edit.component';\nimport { GroupingsComponent } from './groupings.component';\nimport { ShareComponent } from './share.component';\n\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nconst BroadcasterSubscriptionId = 'VaultComponent';\n\n@Component({\n selector: 'app-vault',\n templateUrl: 'vault.component.html',\n})\nexport class VaultComponent implements OnInit, OnDestroy {\n @ViewChild(GroupingsComponent, { static: true }) groupingsComponent: GroupingsComponent;\n @ViewChild(CiphersComponent, { static: true }) ciphersComponent: CiphersComponent;\n @ViewChild(OrganizationsComponent, { static: true }) organizationsComponent: OrganizationsComponent;\n @ViewChild('attachments', { read: ViewContainerRef, static: true }) attachmentsModalRef: ViewContainerRef;\n @ViewChild('folderAddEdit', { read: ViewContainerRef, static: true }) folderAddEditModalRef: ViewContainerRef;\n @ViewChild('cipherAddEdit', { read: ViewContainerRef, static: true }) cipherAddEditModalRef: ViewContainerRef;\n @ViewChild('share', { read: ViewContainerRef, static: true }) shareModalRef: ViewContainerRef;\n @ViewChild('collections', { read: ViewContainerRef, static: true }) collectionsModalRef: ViewContainerRef;\n @ViewChild('updateKeyTemplate', { read: ViewContainerRef, static: true }) updateKeyModalRef: ViewContainerRef;\n\n favorites: boolean = false;\n type: CipherType = null;\n folderId: string = null;\n collectionId: string = null;\n showVerifyEmail = false;\n showBrowserOutdated = false;\n showUpdateKey = false;\n showPremiumCallout = false;\n deleted: boolean = false;\n\n modal: ModalComponent = null;\n\n constructor(private syncService: SyncService, private route: ActivatedRoute,\n private router: Router, private changeDetectorRef: ChangeDetectorRef,\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\n private tokenService: TokenService, private cryptoService: CryptoService,\n private messagingService: MessagingService, private userService: UserService,\n private platformUtilsService: PlatformUtilsService, private broadcasterService: BroadcasterService,\n private ngZone: NgZone) { }\n\n async ngOnInit() {\n this.showVerifyEmail = !(await this.tokenService.getEmailVerified());\n this.showBrowserOutdated = window.navigator.userAgent.indexOf('MSIE') !== -1;\n\n const queryParamsSub = this.route.queryParams.subscribe(async (params) => {\n await this.syncService.fullSync(false);\n\n this.showUpdateKey = !(await this.cryptoService.hasEncKey());\n const canAccessPremium = await this.userService.canAccessPremium();\n this.showPremiumCallout = !this.showVerifyEmail && !canAccessPremium &&\n !this.platformUtilsService.isSelfHost();\n\n await Promise.all([\n this.groupingsComponent.load(),\n this.organizationsComponent.load(),\n ]);\n\n if (params == null) {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.reload();\n } else {\n if (params.deleted) {\n this.groupingsComponent.selectedTrash = true;\n await this.filterDeleted();\n } else if (params.favorites) {\n this.groupingsComponent.selectedFavorites = true;\n await this.filterFavorites();\n } else if (params.type) {\n const t = parseInt(params.type, null);\n this.groupingsComponent.selectedType = t;\n await this.filterCipherType(t);\n } else if (params.folderId) {\n this.groupingsComponent.selectedFolder = true;\n this.groupingsComponent.selectedFolderId = params.folderId;\n await this.filterFolder(params.folderId);\n } else if (params.collectionId) {\n this.groupingsComponent.selectedCollectionId = params.collectionId;\n await this.filterCollection(params.collectionId);\n } else {\n this.groupingsComponent.selectedAll = true;\n await this.ciphersComponent.reload();\n }\n }\n\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, (message: any) => {\n this.ngZone.run(async () => {\n switch (message.command) {\n case 'syncCompleted':\n if (message.successfully) {\n await Promise.all([\n this.groupingsComponent.load(),\n this.organizationsComponent.load(),\n this.ciphersComponent.load(this.ciphersComponent.filter),\n ]);\n this.changeDetectorRef.detectChanges();\n }\n break;\n }\n });\n });\n\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n async clearGroupingFilters() {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchVault');\n await this.ciphersComponent.reload();\n this.clearFilters();\n this.go();\n }\n\n async filterFavorites() {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchFavorites');\n await this.ciphersComponent.reload((c) => c.favorite);\n this.clearFilters();\n this.favorites = true;\n this.go();\n }\n\n async filterDeleted() {\n this.ciphersComponent.showAddNew = false;\n this.ciphersComponent.deleted = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchTrash');\n await this.ciphersComponent.reload(null, true);\n this.clearFilters();\n this.deleted = true;\n this.go();\n }\n\n async filterCipherType(type: CipherType) {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchType');\n await this.ciphersComponent.reload((c) => c.type === type);\n this.clearFilters();\n this.type = type;\n this.go();\n }\n\n async filterFolder(folderId: string) {\n this.ciphersComponent.showAddNew = true;\n folderId = folderId === 'none' ? null : folderId;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchFolder');\n await this.ciphersComponent.reload((c) => c.folderId === folderId);\n this.clearFilters();\n this.folderId = folderId == null ? 'none' : folderId;\n this.go();\n }\n\n async filterCollection(collectionId: string) {\n this.ciphersComponent.showAddNew = true;\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchCollection');\n await this.ciphersComponent.reload((c) => c.collectionIds != null &&\n c.collectionIds.indexOf(collectionId) > -1);\n this.clearFilters();\n this.collectionId = collectionId;\n this.go();\n }\n\n filterSearchText(searchText: string) {\n this.ciphersComponent.searchText = searchText;\n this.ciphersComponent.search(200);\n }\n\n async editCipherAttachments(cipher: CipherView) {\n const canAccessPremium = await this.userService.canAccessPremium();\n if (cipher.organizationId == null && !canAccessPremium) {\n this.messagingService.send('premiumRequired');\n return;\n } else if (cipher.organizationId != null) {\n const org = await this.userService.getOrganization(cipher.organizationId);\n if (org != null && (org.maxStorageGb == null || org.maxStorageGb === 0)) {\n this.messagingService.send('upgradeOrganization', { organizationId: cipher.organizationId });\n return;\n }\n }\n\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.attachmentsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(AttachmentsComponent, this.attachmentsModalRef);\n\n childComponent.cipherId = cipher.id;\n let madeAttachmentChanges = false;\n childComponent.onUploadedAttachment.subscribe(() => madeAttachmentChanges = true);\n childComponent.onDeletedAttachment.subscribe(() => madeAttachmentChanges = true);\n childComponent.onReuploadedAttachment.subscribe(() => madeAttachmentChanges = true);\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n if (madeAttachmentChanges) {\n await this.ciphersComponent.refresh();\n }\n madeAttachmentChanges = false;\n });\n }\n\n shareCipher(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.shareModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(ShareComponent, this.shareModalRef);\n\n childComponent.cipherId = cipher.id;\n childComponent.onSharedCipher.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n editCipherCollections(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.collectionsModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(CollectionsComponent, this.collectionsModalRef);\n\n childComponent.cipherId = cipher.id;\n childComponent.onSavedCollections.subscribe(async () => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(async () => {\n this.modal = null;\n });\n }\n\n async addFolder() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.folderAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n FolderAddEditComponent, this.folderAddEditModalRef);\n\n childComponent.folderId = null;\n childComponent.onSavedFolder.subscribe(async () => {\n this.modal.close();\n await this.groupingsComponent.loadFolders();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n async editFolder(folderId: string) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.folderAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n FolderAddEditComponent, this.folderAddEditModalRef);\n\n childComponent.folderId = folderId;\n childComponent.onSavedFolder.subscribe(async () => {\n this.modal.close();\n await this.groupingsComponent.loadFolders();\n });\n childComponent.onDeletedFolder.subscribe(async () => {\n this.modal.close();\n await this.groupingsComponent.loadFolders();\n await this.filterFolder('none');\n this.groupingsComponent.selectedFolderId = null;\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n addCipher() {\n const component = this.editCipher(null);\n component.type = this.type;\n component.folderId = this.folderId === 'none' ? null : this.folderId;\n if (this.collectionId != null) {\n const collection = this.groupingsComponent.collections.filter((c) => c.id === this.collectionId);\n if (collection.length > 0) {\n component.organizationId = collection[0].organizationId;\n component.collectionIds = [this.collectionId];\n }\n }\n }\n\n editCipher(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.cipherAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n AddEditComponent, this.cipherAddEditModalRef);\n\n childComponent.cipherId = cipher == null ? null : cipher.id;\n childComponent.onSavedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n childComponent.onDeletedCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n childComponent.onRestoredCipher.subscribe(async (c: CipherView) => {\n this.modal.close();\n await this.ciphersComponent.refresh();\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n\n return childComponent;\n }\n\n cloneCipher(cipher: CipherView) {\n const component = this.editCipher(cipher);\n component.cloneMode = true;\n }\n\n updateKey() {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.updateKeyModalRef.createComponent(factory).instance;\n this.modal.show(UpdateKeyComponent, this.updateKeyModalRef);\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private clearFilters() {\n this.folderId = null;\n this.collectionId = null;\n this.favorites = false;\n this.type = null;\n this.deleted = false;\n }\n\n private go(queryParams: any = null) {\n if (queryParams == null) {\n queryParams = {\n favorites: this.favorites ? true : null,\n type: this.type,\n folderId: this.folderId,\n collectionId: this.collectionId,\n deleted: this.deleted ? true : null,\n };\n }\n\n this.router.navigate([], {\n relativeTo: this.route,\n queryParams: queryParams,\n replaceUrl: true,\n });\n }\n}\n","
\n
\n
\n \n \n
\n
\n
\n

\n {{'myVault' | i18n}}\n \n \n \n {{'loading' | i18n}}\n \n \n

\n
\n \n \n \n
\n
\n \n \n
\n
\n
\n
\n {{'updateKeyTitle' | i18n}}\n
\n
\n

{{'updateEncryptionKeyShortDesc' | i18n}}

\n \n
\n
\n \n
\n
\n {{'updateBrowser' | i18n}}\n
\n
\n

{{'updateBrowserDesc' | i18n}}

\n \n {{'updateBrowser' | i18n}}\n \n
\n
\n
\n
\n {{'goPremium' | i18n}}\n
\n
\n

{{'premiumUpgradeUnlockFeatures' | i18n}}

\n \n {{'goPremium' | i18n}}\n \n
\n
\n
\n
\n {{'organizations' | i18n}}\n \n \n \n
\n
\n \n
\n
\n
\n
\n
\n\n\n\n\n\n\n","import { Component } from '@angular/core';\n\nimport {\n Toast,\n ToasterService,\n} from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\n\nimport { CipherString } from 'jslib/models/domain/cipherString';\n\nimport { CipherWithIdRequest } from 'jslib/models/request/cipherWithIdRequest';\nimport { FolderWithIdRequest } from 'jslib/models/request/folderWithIdRequest';\nimport { UpdateKeyRequest } from 'jslib/models/request/updateKeyRequest';\n\n@Component({\n selector: 'app-update-key',\n templateUrl: 'update-key.component.html',\n})\nexport class UpdateKeyComponent {\n masterPassword: string;\n formPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService,\n private cryptoService: CryptoService, private messagingService: MessagingService,\n private syncService: SyncService, private folderService: FolderService,\n private cipherService: CipherService) { }\n\n async submit() {\n const hasEncKey = await this.cryptoService.hasEncKey();\n if (hasEncKey) {\n return;\n }\n\n if (this.masterPassword == null || this.masterPassword === '') {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n try {\n this.formPromise = this.makeRequest().then((request) => {\n return this.apiService.postAccountKey(request);\n });\n await this.formPromise;\n this.analytics.eventTrack.next({ action: 'Key Updated' });\n const toast: Toast = {\n type: 'success',\n title: this.i18nService.t('keyUpdated'),\n body: this.i18nService.t('logBackInOthersToo'),\n timeout: 15000,\n };\n this.toasterService.popAsync(toast);\n this.messagingService.send('logout');\n } catch { }\n }\n\n private async makeRequest(): Promise {\n const key = await this.cryptoService.getKey();\n const encKey = await this.cryptoService.makeEncKey(key);\n const privateKey = await this.cryptoService.getPrivateKey();\n let encPrivateKey: CipherString = null;\n if (privateKey != null) {\n encPrivateKey = await this.cryptoService.encrypt(privateKey, encKey[0]);\n }\n const request = new UpdateKeyRequest();\n request.privateKey = encPrivateKey != null ? encPrivateKey.encryptedString : null;\n request.key = encKey[1].encryptedString;\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n\n await this.syncService.fullSync(true);\n\n const folders = await this.folderService.getAllDecrypted();\n for (let i = 0; i < folders.length; i++) {\n if (folders[i].id == null) {\n continue;\n }\n const folder = await this.folderService.encrypt(folders[i], encKey[0]);\n request.folders.push(new FolderWithIdRequest(folder));\n }\n\n const ciphers = await this.cipherService.getAllDecrypted();\n for (let i = 0; i < ciphers.length; i++) {\n if (ciphers[i].organizationId != null) {\n continue;\n }\n const cipher = await this.cipherService.encrypt(ciphers[i], encKey[0]);\n request.ciphers.push(new CipherWithIdRequest(cipher));\n }\n\n return request;\n }\n}\n","
\n
\n
\n
\n

{{'updateEncryptionKey' | i18n}}

\n \n
\n
\n

{{'updateEncryptionKeyShortDesc' | i18n}} {{'updateEncryptionKeyDesc' | i18n}}\n {{'learnMore' | i18n}}\n

\n {{'updateEncryptionKeyWarning' | i18n}}\n \n \n
\n
\n \n \n
\n
\n
\n
\n","import { Component } from '@angular/core';\n\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport {\n FolderAddEditComponent as BaseFolderAddEditComponent,\n} from 'jslib/angular/components/folder-add-edit.component';\n\n@Component({\n selector: 'app-folder-add-edit',\n templateUrl: 'folder-add-edit.component.html',\n})\nexport class FolderAddEditComponent extends BaseFolderAddEditComponent {\n constructor(folderService: FolderService, i18nService: I18nService,\n platformUtilsService: PlatformUtilsService) {\n super(folderService, i18nService, platformUtilsService);\n }\n}\n","
\n
\n
\n
\n

{{title}}

\n \n
\n
\n \n \n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","import {\n Component,\n OnDestroy,\n} from '@angular/core';\n\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { CollectionView } from 'jslib/models/view/collectionView';\n\nimport { ShareComponent as BaseShareComponent } from 'jslib/angular/components/share.component';\n\n@Component({\n selector: 'app-vault-share',\n templateUrl: 'share.component.html',\n})\nexport class ShareComponent extends BaseShareComponent implements OnDestroy {\n constructor(collectionService: CollectionService, platformUtilsService: PlatformUtilsService,\n i18nService: I18nService, userService: UserService,\n cipherService: CipherService) {\n super(collectionService, platformUtilsService, i18nService, userService, cipherService);\n }\n\n ngOnDestroy() {\n this.selectAll(false);\n }\n\n check(c: CollectionView, select?: boolean) {\n (c as any).checked = select == null ? !(c as any).checked : select;\n }\n\n selectAll(select: boolean) {\n const collections = select ? this.collections : this.writeableCollections;\n collections.forEach((c) => this.check(c, select));\n }\n}\n","
\n
\n
\n
\n

\n {{'share' | i18n}}\n {{cipher.name}}\n

\n \n
\n
\n {{'noOrganizationsList' | i18n}}\n
\n
\n

{{'shareDesc' | i18n}}

\n
\n \n \n
\n
\n

{{'collections' | i18n}}

\n
\n \n \n
\n
\n
\n {{'noCollectionsInList' | i18n}}\n
\n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n
\n
\n
\n \n \n {{'newOrganization' | i18n}}\n \n \n
\n
\n
\n
\n","import { Component } from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\n@Component({\n selector: 'app-verify-email',\n templateUrl: 'verify-email.component.html',\n})\nexport class VerifyEmailComponent {\n actionPromise: Promise;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private analytics: Angulartics2, private toasterService: ToasterService) { }\n\n async send() {\n if (this.actionPromise != null) {\n return;\n }\n try {\n this.actionPromise = this.apiService.postAccountVerifyEmail();\n await this.actionPromise;\n this.analytics.eventTrack.next({ action: 'Sent Verification Email' });\n this.toasterService.popAsync('success', null, this.i18nService.t('checkInboxForVerification'));\n } catch { }\n this.actionPromise = null;\n }\n}\n","
\n
\n {{'verifyEmail' | i18n}}\n
\n
\n

{{'verifyEmailDesc' | i18n}}

\n \n
\n
\n","import { Injectable } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivate,\n Router,\n} from '@angular/router';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\n@Injectable()\nexport class OrganizationGuardService implements CanActivate {\n constructor(private userService: UserService, private router: Router,\n private toasterService: ToasterService, private i18nService: I18nService) { }\n\n async canActivate(route: ActivatedRouteSnapshot) {\n const org = await this.userService.getOrganization(route.params.organizationId);\n if (org == null) {\n this.router.navigate(['/']);\n return false;\n }\n if (!org.isOwner && !org.enabled) {\n this.toasterService.popAsync('error', null, this.i18nService.t('organizationIsDisabled'));\n this.router.navigate(['/']);\n return false;\n }\n\n return true;\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivate,\n Router,\n} from '@angular/router';\n\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Permissions } from 'jslib/enums/permissions';\n\n@Injectable()\nexport class OrganizationTypeGuardService implements CanActivate {\n constructor(private userService: UserService, private router: Router) { }\n\n async canActivate(route: ActivatedRouteSnapshot) {\n const org = await this.userService.getOrganization(route.params.organizationId);\n const permissions = route.data == null ? null : route.data.permissions as Permissions[];\n\n if (\n (permissions.indexOf(Permissions.AccessBusinessPortal) !== -1 && org.canAccessBusinessPortal) ||\n (permissions.indexOf(Permissions.AccessEventLogs) !== -1 && org.canAccessEventLogs) ||\n (permissions.indexOf(Permissions.AccessImportExport) !== -1 && org.canAccessImportExport) ||\n (permissions.indexOf(Permissions.AccessReports) !== -1 && org.canAccessReports) ||\n (permissions.indexOf(Permissions.ManageAllCollections) !== -1 && org.canManageAllCollections) ||\n (permissions.indexOf(Permissions.ManageAssignedCollections) !== -1 && org.canManageAssignedCollections) ||\n (permissions.indexOf(Permissions.ManageGroups) !== -1 && org.canManageGroups) ||\n (permissions.indexOf(Permissions.ManageOrganization) !== -1 && org.isOwner) ||\n (permissions.indexOf(Permissions.ManagePolicies) !== -1 && org.canManagePolicies) ||\n (permissions.indexOf(Permissions.ManageUsers) !== -1 && org.canManageUsers)\n ) {\n return true;\n }\n\n this.router.navigate(['/organizations', org.id]);\n return false;\n }\n}\n","export enum Permissions {\n AccessBusinessPortal,\n AccessEventLogs,\n AccessImportExport,\n AccessReports,\n ManageAllCollections,\n ManageAssignedCollections,\n ManageGroups,\n ManageOrganization,\n ManagePolicies,\n ManageUsers,\n}\n","import { Injectable } from '@angular/core';\nimport {\n CanActivate,\n Router,\n} from '@angular/router';\n\nimport { UserService } from 'jslib/abstractions/user.service';\nimport { VaultTimeoutService } from 'jslib/abstractions/vaultTimeout.service';\n\n@Injectable()\nexport class UnauthGuardService implements CanActivate {\n constructor(private vaultTimeoutService: VaultTimeoutService, private userService: UserService,\n private router: Router) { }\n\n async canActivate() {\n const isAuthed = await this.userService.isAuthenticated();\n if (isAuthed) {\n const locked = await this.vaultTimeoutService.isLocked();\n if (locked) {\n this.router.navigate(['lock']);\n } else {\n this.router.navigate(['vault']);\n }\n return false;\n }\n\n return true;\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n ActivatedRouteSnapshot,\n CanActivate,\n Router,\n RouterStateSnapshot,\n} from '@angular/router';\n\nimport { MessagingService } from '../../abstractions/messaging.service';\nimport { UserService } from '../../abstractions/user.service';\nimport { VaultTimeoutService } from '../../abstractions/vaultTimeout.service';\n\n@Injectable()\nexport class AuthGuardService implements CanActivate {\n constructor(private vaultTimeoutService: VaultTimeoutService, private userService: UserService,\n private router: Router, private messagingService: MessagingService) { }\n\n async canActivate(route: ActivatedRouteSnapshot, routerState: RouterStateSnapshot) {\n const isAuthed = await this.userService.isAuthenticated();\n if (!isAuthed) {\n this.messagingService.send('authBlocked');\n return false;\n }\n\n const locked = await this.vaultTimeoutService.isLocked();\n if (locked) {\n if (routerState != null) {\n this.messagingService.send('lockedUrl', { url: routerState.url });\n }\n this.router.navigate(['lock'], { queryParams: { promptBiometric: true }});\n return false;\n }\n\n return true;\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n OnInit,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\n\nimport { CipherData } from 'jslib/models/data';\nimport { Cipher, SymmetricCryptoKey } from 'jslib/models/domain';\nimport { EmergencyAccessViewResponse } from 'jslib/models/response/emergencyAccessResponse';\nimport { CipherView } from 'jslib/models/view/cipherView';\n\nimport { ModalComponent } from '../modal.component';\n\nimport { EmergencyAddEditComponent } from './emergency-add-edit.component';\n\n@Component({\n selector: 'emergency-access-view',\n templateUrl: 'emergency-access-view.component.html',\n})\nexport class EmergencyAccessViewComponent implements OnInit {\n @ViewChild('cipherAddEdit', { read: ViewContainerRef, static: true }) cipherAddEditModalRef: ViewContainerRef;\n\n id: string;\n ciphers: CipherView[] = [];\n\n private modal: ModalComponent = null;\n\n constructor(private cipherService: CipherService, private cryptoService: CryptoService,\n private componentFactoryResolver: ComponentFactoryResolver, private router: Router,\n private route: ActivatedRoute, private apiService: ApiService) { }\n\n ngOnInit() {\n this.route.params.subscribe((qParams) => {\n if (qParams.id == null) {\n return this.router.navigate(['settings/emergency-access']);\n }\n\n this.id = qParams.id;\n\n this.load();\n });\n }\n\n selectCipher(cipher: CipherView) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.cipherAddEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(EmergencyAddEditComponent, this.cipherAddEditModalRef);\n\n childComponent.cipherId = cipher == null ? null : cipher.id;\n childComponent.cipher = cipher;\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n\n return childComponent;\n }\n\n async load() {\n const response = await this.apiService.postEmergencyAccessView(this.id);\n this.ciphers = await this.getAllCiphers(response);\n }\n\n protected async getAllCiphers(response: EmergencyAccessViewResponse): Promise {\n const ciphers = response.ciphers;\n\n const decCiphers: CipherView[] = [];\n const oldKeyBuffer = await this.cryptoService.rsaDecrypt(response.keyEncrypted);\n const oldEncKey = new SymmetricCryptoKey(oldKeyBuffer);\n\n const promises: any[] = [];\n ciphers.forEach((cipherResponse) => {\n const cipherData = new CipherData(cipherResponse);\n const cipher = new Cipher(cipherData);\n promises.push(cipher.decrypt(oldEncKey).then((c) => decCiphers.push(c)));\n });\n\n await Promise.all(promises);\n decCiphers.sort(this.cipherService.getLocaleSortingFunction());\n\n return decCiphers;\n }\n}\n","
\n

{{'vault' | i18n}}

\n
\n
\n \n \n \n \n \n \n \n \n
\n \n \n {{c.name}}\n \n \n {{'shared' | i18n}}\n \n \n \n {{'attachments' | i18n}}\n \n
\n {{c.subTitle}}\n
\n
\n
\n\n","import { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport class EncryptedObject {\n iv: ArrayBuffer;\n data: ArrayBuffer;\n mac: ArrayBuffer;\n key: SymmetricCryptoKey;\n}\n","export class EnvironmentUrls {\n base: string;\n api: string;\n identity: string;\n events: string;\n}\n","export class GeneratedPasswordHistory {\n password: string;\n date: number;\n\n constructor(password: string, date: number) {\n this.password = password;\n this.date = date;\n }\n}\n","import { Component } from '@angular/core';\n\nimport { AuditService } from 'jslib/abstractions/audit.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { EventService } from 'jslib/abstractions/event.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { PolicyService } from 'jslib/abstractions/policy.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { TotpService } from 'jslib/abstractions/totp.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Cipher } from 'jslib/models/domain/cipher';\n\nimport { AddEditComponent as BaseAddEditComponent } from '../vault/add-edit.component';\n\n@Component({\n selector: 'app-org-vault-add-edit',\n templateUrl: '../vault/add-edit.component.html',\n})\nexport class EmergencyAddEditComponent extends BaseAddEditComponent {\n originalCipher: Cipher = null;\n viewOnly = true;\n\n constructor(cipherService: CipherService, folderService: FolderService,\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\n auditService: AuditService, stateService: StateService,\n userService: UserService, collectionService: CollectionService,\n totpService: TotpService, passwordGenerationService: PasswordGenerationService,\n messagingService: MessagingService, eventService: EventService, policyService: PolicyService) {\n super(cipherService, folderService, i18nService, platformUtilsService, auditService, stateService,\n userService, collectionService, totpService, passwordGenerationService, messagingService,\n eventService, policyService);\n }\n\n async load() {\n this.title = this.i18nService.t('viewItem');\n }\n\n protected async loadCipher() {\n return Promise.resolve(this.originalCipher);\n }\n}\n","import { Component, ComponentFactoryResolver, OnInit, ViewChild, ViewContainerRef } from '@angular/core';\nimport { ToasterService } from 'angular2-toaster';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { EmergencyAccessStatusType } from 'jslib/enums/emergencyAccessStatusType';\nimport { EmergencyAccessType } from 'jslib/enums/emergencyAccessType';\nimport { Utils } from 'jslib/misc/utils';\nimport { EmergencyAccessConfirmRequest } from 'jslib/models/request/emergencyAccessConfirmRequest';\nimport { EmergencyAccessGranteeDetailsResponse, EmergencyAccessGrantorDetailsResponse } from 'jslib/models/response/emergencyAccessResponse';\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { ModalComponent } from '../modal.component';\nimport { EmergencyAccessAddEditComponent } from './emergency-access-add-edit.component';\nimport { EmergencyAccessConfirmComponent } from './emergency-access-confirm.component';\nimport { EmergencyAccessTakeoverComponent } from './emergency-access-takeover.component';\n\n@Component({\n selector: 'emergency-access',\n templateUrl: 'emergency-access.component.html',\n})\nexport class EmergencyAccessComponent implements OnInit {\n @ViewChild('addEdit', { read: ViewContainerRef, static: true }) addEditModalRef: ViewContainerRef;\n @ViewChild('takeoverTemplate', { read: ViewContainerRef, static: true}) takeoverModalRef: ViewContainerRef;\n @ViewChild('confirmTemplate', { read: ViewContainerRef, static: true }) confirmModalRef: ViewContainerRef;\n\n canAccessPremium: boolean;\n trustedContacts: EmergencyAccessGranteeDetailsResponse[];\n grantedContacts: EmergencyAccessGrantorDetailsResponse[];\n emergencyAccessType = EmergencyAccessType;\n emergencyAccessStatusType = EmergencyAccessStatusType;\n actionPromise: Promise;\n\n private modal: ModalComponent = null;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private componentFactoryResolver: ComponentFactoryResolver,\n private platformUtilsService: PlatformUtilsService,\n private toasterService: ToasterService, private cryptoService: CryptoService,\n private storageService: StorageService, private userService: UserService,\n private messagingService: MessagingService) { }\n\n async ngOnInit() {\n this.canAccessPremium = await this.userService.canAccessPremium();\n this.load();\n }\n\n async load() {\n this.trustedContacts = (await this.apiService.getEmergencyAccessTrusted()).data;\n this.grantedContacts = (await this.apiService.getEmergencyAccessGranted()).data;\n }\n\n async premiumRequired() {\n if (!this.canAccessPremium) {\n this.messagingService.send('premiumRequired');\n return;\n }\n }\n\n edit(details: EmergencyAccessGranteeDetailsResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.addEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EmergencyAccessAddEditComponent, this.addEditModalRef);\n\n childComponent.name = details?.name ?? details?.email;\n childComponent.emergencyAccessId = details?.id;\n childComponent.readOnly = !this.canAccessPremium;\n childComponent.onSaved.subscribe(() => {\n this.modal.close();\n this.load();\n });\n childComponent.onDeleted.subscribe(() => {\n this.modal.close();\n this.remove(details);\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n invite() {\n this.edit(null);\n }\n\n async reinvite(contact: EmergencyAccessGranteeDetailsResponse) {\n if (this.actionPromise != null) {\n return;\n }\n this.actionPromise = this.apiService.postEmergencyAccessReinvite(contact.id);\n await this.actionPromise;\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenReinvited', contact.email));\n this.actionPromise = null;\n }\n\n async confirm(contact: EmergencyAccessGranteeDetailsResponse) {\n function updateUser() {\n contact.status = EmergencyAccessStatusType.Confirmed;\n }\n\n if (this.actionPromise != null) {\n return;\n }\n\n const autoConfirm = await this.storageService.get(ConstantsService.autoConfirmFingerprints);\n if (autoConfirm == null || !autoConfirm) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.confirmModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EmergencyAccessConfirmComponent, this.confirmModalRef);\n\n childComponent.name = contact?.name ?? contact?.email;\n childComponent.emergencyAccessId = contact.id;\n childComponent.userId = contact?.granteeId;\n childComponent.onConfirmed.subscribe(async () => {\n this.modal.close();\n\n childComponent.formPromise = this.doConfirmation(contact);\n await childComponent.formPromise;\n\n updateUser();\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenConfirmed', contact.name || contact.email));\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n return;\n }\n\n this.actionPromise = this.doConfirmation(contact);\n await this.actionPromise;\n updateUser();\n\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenConfirmed', contact.name || contact.email));\n this.actionPromise = null;\n }\n\n async remove(details: EmergencyAccessGranteeDetailsResponse | EmergencyAccessGrantorDetailsResponse) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('removeUserConfirmation'), details.name || details.email,\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n await this.apiService.deleteEmergencyAccess(details.id);\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', details.name || details.email));\n\n if (details instanceof EmergencyAccessGranteeDetailsResponse) {\n this.removeGrantee(details);\n } else {\n this.removeGrantor(details);\n }\n } catch { }\n }\n\n async requestAccess(details: EmergencyAccessGrantorDetailsResponse) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('requestAccessConfirmation', details.waitTimeDays.toString()),\n details.name || details.email,\n this.i18nService.t('requestAccess'),\n this.i18nService.t('no'),\n 'warning',\n );\n\n if (!confirmed) {\n return false;\n }\n\n await this.apiService.postEmergencyAccessInitiate(details.id);\n\n details.status = EmergencyAccessStatusType.RecoveryInitiated;\n this.toasterService.popAsync('success', null, this.i18nService.t('requestSent', details.name || details.email));\n }\n\n async approve(details: EmergencyAccessGranteeDetailsResponse) {\n const type = this.i18nService.t(details.type === EmergencyAccessType.View ? 'view' : 'takeover');\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('approveAccessConfirmation', details.name, type),\n details.name || details.email,\n this.i18nService.t('approve'),\n this.i18nService.t('no'),\n 'warning',\n );\n\n if (!confirmed) {\n return false;\n }\n\n await this.apiService.postEmergencyAccessApprove(details.id);\n details.status = EmergencyAccessStatusType.RecoveryApproved;\n\n this.toasterService.popAsync('success', null, this.i18nService.t('emergencyApproved', details.name || details.email));\n }\n\n async reject(details: EmergencyAccessGranteeDetailsResponse) {\n await this.apiService.postEmergencyAccessReject(details.id);\n details.status = EmergencyAccessStatusType.Confirmed;\n\n this.toasterService.popAsync('success', null, this.i18nService.t('emergencyRejected', details.name || details.email));\n }\n\n async takeover(details: EmergencyAccessGrantorDetailsResponse) {\n if (this.modal != null) {\n this.modal.close();\n }\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\n this.modal = this.addEditModalRef.createComponent(factory).instance;\n const childComponent = this.modal.show(\n EmergencyAccessTakeoverComponent, this.takeoverModalRef);\n\n childComponent.name = details != null ? details.name || details.email : null;\n childComponent.email = details.email;\n childComponent.emergencyAccessId = details != null ? details.id : null;\n\n childComponent.onDone.subscribe(() => {\n this.modal.close();\n this.toasterService.popAsync('success', null, this.i18nService.t('passwordResetFor', details.name || details.email));\n });\n\n this.modal.onClosed.subscribe(() => {\n this.modal = null;\n });\n }\n\n private removeGrantee(details: EmergencyAccessGranteeDetailsResponse) {\n const index = this.trustedContacts.indexOf(details);\n if (index > -1) {\n this.trustedContacts.splice(index, 1);\n }\n }\n\n private removeGrantor(details: EmergencyAccessGrantorDetailsResponse) {\n const index = this.grantedContacts.indexOf(details);\n if (index > -1) {\n this.grantedContacts.splice(index, 1);\n }\n }\n\n // Encrypt the master password hash using the grantees public key, and send it to bitwarden for escrow.\n private async doConfirmation(details: EmergencyAccessGranteeDetailsResponse) {\n const encKey = await this.cryptoService.getEncKey();\n const publicKeyResponse = await this.apiService.getUserPublicKey(details.granteeId);\n const publicKey = Utils.fromB64ToArray(publicKeyResponse.publicKey);\n\n try {\n // tslint:disable-next-line\n console.log('User\\'s fingerprint: ' +\n (await this.cryptoService.getFingerprint(details.granteeId, publicKey.buffer)).join('-'));\n } catch { }\n\n const encryptedKey = await this.cryptoService.rsaEncrypt(encKey.key, publicKey.buffer);\n const request = new EmergencyAccessConfirmRequest();\n request.key = encryptedKey.encryptedString;\n await this.apiService.postEmergencyAccessConfirm(details.id, request);\n }\n}\n","
\n

{{'emergencyAccess' | i18n}}

\n
\n

\n {{'emergencyAccessDesc' | i18n}}\n \n {{'learnMore' | i18n}}.\n \n

\n\n
\n

\n {{'trustedEmergencyContacts' | i18n}}\n \n {{'premium' | i18n}}\n \n

\n
\n \n
\n
\n\n\n \n \n \n \n \n \n \n
\n \n \n {{c.email}}\n {{'invited' | i18n}}\n {{'accepted' | i18n}}\n {{'emergencyAccessRecoveryInitiated' | i18n}}\n {{'emergencyAccessRecoveryApproved' | i18n}}\n \n {{'view' | i18n}}\n {{'takeover' | i18n}}\n\n {{c.name}}\n \n \n
\n\n

{{'noTrustedContacts' | i18n}}

\n\n
\n

{{'designatedEmergencyContacts' | i18n}}

\n
\n\n\n \n \n \n \n \n \n \n
\n \n \n {{c.email}}\n {{'invited' | i18n}}\n {{'accepted' | i18n}}\n {{'emergencyAccessRecoveryInitiated' | i18n}}\n {{'emergencyAccessRecoveryApproved' | i18n}}\n \n {{'view' | i18n}}\n {{'takeover' | i18n}}\n\n {{c.name}}\n \n \n
\n\n

{{'noGrantedAccess' | i18n}}

\n\n\n\n\n","export enum EmergencyAccessType\n{\n View = 0,\n Takeover = 1,\n}\n","import { EmergencyAccessStatusType } from '../../enums/emergencyAccessStatusType';\nimport { EmergencyAccessType } from '../../enums/emergencyAccessType';\nimport { KdfType } from '../../enums/kdfType';\nimport { BaseResponse } from './baseResponse';\nimport { CipherResponse } from './cipherResponse';\n\nexport class EmergencyAccessGranteeDetailsResponse extends BaseResponse {\n id: string;\n granteeId: string;\n name: string;\n email: string;\n type: EmergencyAccessType;\n status: EmergencyAccessStatusType;\n waitTimeDays: number;\n creationDate: string;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.granteeId = this.getResponseProperty('GranteeId');\n this.name = this.getResponseProperty('Name');\n this.email = this.getResponseProperty('Email');\n this.type = this.getResponseProperty('Type');\n this.status = this.getResponseProperty('Status');\n this.waitTimeDays = this.getResponseProperty('WaitTimeDays');\n this.creationDate = this.getResponseProperty('CreationDate');\n }\n}\n\nexport class EmergencyAccessGrantorDetailsResponse extends BaseResponse {\n id: string;\n grantorId: string;\n name: string;\n email: string;\n type: EmergencyAccessType;\n status: EmergencyAccessStatusType;\n waitTimeDays: number;\n creationDate: string;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.grantorId = this.getResponseProperty('GrantorId');\n this.name = this.getResponseProperty('Name');\n this.email = this.getResponseProperty('Email');\n this.type = this.getResponseProperty('Type');\n this.status = this.getResponseProperty('Status');\n this.waitTimeDays = this.getResponseProperty('WaitTimeDays');\n this.creationDate = this.getResponseProperty('CreationDate');\n }\n}\n\nexport class EmergencyAccessTakeoverResponse extends BaseResponse {\n keyEncrypted: string;\n kdf: KdfType;\n kdfIterations: number;\n\n constructor(response: any) {\n super(response);\n\n this.keyEncrypted = this.getResponseProperty('KeyEncrypted');\n this.kdf = this.getResponseProperty('Kdf');\n this.kdfIterations = this.getResponseProperty('KdfIterations');\n }\n}\n\nexport class EmergencyAccessViewResponse extends BaseResponse {\n keyEncrypted: string;\n ciphers: CipherResponse[] = [];\n\n constructor(response: any) {\n super(response);\n\n this.keyEncrypted = this.getResponseProperty('KeyEncrypted');\n\n const ciphers = this.getResponseProperty('Ciphers');\n if (ciphers != null) {\n this.ciphers = ciphers.map((c: any) => new CipherResponse(c));\n }\n }\n}\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\n\nimport { EmergencyAccessType } from 'jslib/enums/emergencyAccessType';\nimport { EmergencyAccessInviteRequest } from 'jslib/models/request/emergencyAccessInviteRequest';\nimport { EmergencyAccessUpdateRequest } from 'jslib/models/request/emergencyAccessUpdateRequest';\n\n@Component({\n selector: 'emergency-access-add-edit',\n templateUrl: 'emergency-access-add-edit.component.html',\n})\nexport class EmergencyAccessAddEditComponent implements OnInit {\n @Input() name: string;\n @Input() emergencyAccessId: string;\n @Output() onSaved = new EventEmitter();\n @Output() onDeleted = new EventEmitter();\n\n loading = true;\n readOnly: boolean = false;\n editMode: boolean = false;\n title: string;\n email: string;\n type: EmergencyAccessType = EmergencyAccessType.View;\n\n formPromise: Promise;\n\n emergencyAccessType = EmergencyAccessType;\n waitTimes: { name: string; value: number; }[];\n waitTime: number;\n\n constructor(private apiService: ApiService, private i18nService: I18nService,\n private toasterService: ToasterService) { }\n\n async ngOnInit() {\n this.editMode = this.loading = this.emergencyAccessId != null;\n\n this.waitTimes = [\n { name: this.i18nService.t('oneDay'), value: 1 },\n { name: this.i18nService.t('days', '2'), value: 2 },\n { name: this.i18nService.t('days', '7'), value: 7 },\n { name: this.i18nService.t('days', '14'), value: 14 },\n { name: this.i18nService.t('days', '30'), value: 30 },\n { name: this.i18nService.t('days', '90'), value: 90 },\n ];\n\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editEmergencyContact');\n try {\n const emergencyAccess = await this.apiService.getEmergencyAccess(this.emergencyAccessId);\n this.type = emergencyAccess.type;\n this.waitTime = emergencyAccess.waitTimeDays;\n } catch { }\n } else {\n this.title = this.i18nService.t('inviteEmergencyContact');\n this.waitTime = this.waitTimes[2].value;\n }\n\n this.loading = false;\n }\n\n async submit() {\n try {\n if (this.editMode) {\n const request = new EmergencyAccessUpdateRequest();\n request.type = this.type;\n request.waitTimeDays = this.waitTime;\n\n this.formPromise = this.apiService.putEmergencyAccess(this.emergencyAccessId, request);\n } else {\n const request = new EmergencyAccessInviteRequest();\n request.email = this.email.trim();\n request.type = this.type;\n request.waitTimeDays = this.waitTime;\n\n this.formPromise = this.apiService.postEmergencyAccessInvite(request);\n }\n\n await this.formPromise;\n this.toasterService.popAsync('success', null,\n this.i18nService.t(this.editMode ? 'editedUserId' : 'invitedUsers', this.name));\n this.onSaved.emit();\n } catch { }\n }\n\n async delete() {\n this.onDeleted.emit();\n }\n}\n","
\n
\n
\n
\n

\n {{'premium' | i18n}}\n {{title}}\n {{name}}\n

\n \n
\n
\n \n {{'loading' | i18n}}\n
\n
\n \n

{{'inviteEmergencyContactDesc' | i18n}}

\n
\n \n \n
\n
\n

\n {{'userAccess' | i18n}}\n \n \n \n

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n {{'waitTimeDesc' | i18n}}\n
\n
\n
\n \n \n
\n \n
\n
\n
\n
\n
\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\n@Component({\n selector: 'emergency-access-confirm',\n templateUrl: 'emergency-access-confirm.component.html',\n})\nexport class EmergencyAccessConfirmComponent implements OnInit {\n @Input() name: string;\n @Input() userId: string;\n @Input() emergencyAccessId: string;\n @Input() formPromise: Promise;\n @Output() onConfirmed = new EventEmitter();\n\n dontAskAgain = false;\n loading = true;\n fingerprint: string;\n\n constructor(private apiService: ApiService, private cryptoService: CryptoService,\n private storageService: StorageService) { }\n\n async ngOnInit() {\n try {\n const publicKeyResponse = await this.apiService.getUserPublicKey(this.userId);\n if (publicKeyResponse != null) {\n const publicKey = Utils.fromB64ToArray(publicKeyResponse.publicKey);\n const fingerprint = await this.cryptoService.getFingerprint(this.userId, publicKey.buffer);\n if (fingerprint != null) {\n this.fingerprint = fingerprint.join('-');\n }\n }\n } catch { }\n this.loading = false;\n }\n\n async submit() {\n if (this.loading) {\n return;\n }\n\n if (this.dontAskAgain) {\n await this.storageService.save(ConstantsService.autoConfirmFingerprints, true);\n }\n\n try {\n this.onConfirmed.emit();\n } catch { }\n }\n}\n","
\n
\n
\n
\n

\n {{'confirmUser' | i18n}}\n {{name}}\n

\n \n
\n
\n

\n {{'fingerprintEnsureIntegrityVerify' | i18n}}\n \n {{'learnMore' | i18n}}\n

\n

{{fingerprint}}

\n
\n \n \n
\n
\n
\n \n \n
\n
\n
\n
\n","import {\n Component,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { ToasterService } from 'angular2-toaster';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { PolicyService } from 'jslib/abstractions/policy.service';\nimport { UserService } from 'jslib/abstractions/user.service';\nimport { ChangePasswordComponent } from 'jslib/angular/components/change-password.component';\n\nimport { KdfType } from 'jslib/enums/kdfType';\nimport { SymmetricCryptoKey } from 'jslib/models/domain/symmetricCryptoKey';\nimport { EmergencyAccessPasswordRequest } from 'jslib/models/request/emergencyAccessPasswordRequest';\n\n@Component({\n selector: 'emergency-access-takeover',\n templateUrl: 'emergency-access-takeover.component.html',\n})\nexport class EmergencyAccessTakeoverComponent extends ChangePasswordComponent implements OnInit {\n @Output() onDone = new EventEmitter();\n @Input() emergencyAccessId: string;\n @Input() name: string;\n @Input() email: string;\n @Input() kdf: KdfType;\n @Input() kdfIterations: number;\n\n formPromise: Promise;\n\n constructor(i18nService: I18nService, cryptoService: CryptoService,\n messagingService: MessagingService, userService: UserService,\n passwordGenerationService: PasswordGenerationService,\n platformUtilsService: PlatformUtilsService, policyService: PolicyService,\n private apiService: ApiService, private toasterService: ToasterService) {\n super(i18nService, cryptoService, messagingService, userService, passwordGenerationService,\n platformUtilsService, policyService);\n }\n\n // tslint:disable-next-line\n async ngOnInit() { }\n\n async submit() {\n if (!await this.strongPassword()) {\n return;\n }\n\n const takeoverResponse = await this.apiService.postEmergencyAccessTakeover(this.emergencyAccessId);\n\n const oldKeyBuffer = await this.cryptoService.rsaDecrypt(takeoverResponse.keyEncrypted);\n const oldEncKey = new SymmetricCryptoKey(oldKeyBuffer);\n\n if (oldEncKey == null) {\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'), this.i18nService.t('unexpectedError'));\n return;\n }\n\n const key = await this.cryptoService.makeKey(this.masterPassword, this.email, takeoverResponse.kdf, takeoverResponse.kdfIterations);\n const masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, key);\n\n const encKey = await this.cryptoService.remakeEncKey(key, oldEncKey);\n\n const request = new EmergencyAccessPasswordRequest();\n request.newMasterPasswordHash = masterPasswordHash;\n request.key = encKey[1].encryptedString;\n\n this.apiService.postEmergencyAccessPassword(this.emergencyAccessId, request);\n\n try {\n this.onDone.emit();\n } catch { }\n }\n}\n","
\n
\n
\n
\n

\n {{'takeover' | i18n}}\n {{name}}\n

\n \n
\n
\n {{'loggedOutWarning' | i18n}}\n
\n
\n
\n \n \n \n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n","import { DeviceType } from '../enums/deviceType';\nimport { PolicyType } from '../enums/policyType';\n\nimport { ApiService as ApiServiceAbstraction } from '../abstractions/api.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { TokenService } from '../abstractions/token.service';\n\nimport { EnvironmentUrls } from '../models/domain/environmentUrls';\n\nimport { BitPayInvoiceRequest } from '../models/request/bitPayInvoiceRequest';\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\nimport { CipherCreateRequest } from '../models/request/cipherCreateRequest';\nimport { CipherRequest } from '../models/request/cipherRequest';\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\nimport { CollectionRequest } from '../models/request/collectionRequest';\nimport { DeleteRecoverRequest } from '../models/request/deleteRecoverRequest';\nimport { EmailRequest } from '../models/request/emailRequest';\nimport { EmailTokenRequest } from '../models/request/emailTokenRequest';\nimport { EmergencyAccessAcceptRequest } from '../models/request/emergencyAccessAcceptRequest';\nimport { EmergencyAccessConfirmRequest } from '../models/request/emergencyAccessConfirmRequest';\nimport { EmergencyAccessInviteRequest } from '../models/request/emergencyAccessInviteRequest';\nimport { EmergencyAccessPasswordRequest } from '../models/request/emergencyAccessPasswordRequest';\nimport { EmergencyAccessUpdateRequest } from '../models/request/emergencyAccessUpdateRequest';\nimport { EventRequest } from '../models/request/eventRequest';\nimport { FolderRequest } from '../models/request/folderRequest';\nimport { GroupRequest } from '../models/request/groupRequest';\nimport { IapCheckRequest } from '../models/request/iapCheckRequest';\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\nimport { ImportDirectoryRequest } from '../models/request/importDirectoryRequest';\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\nimport { KdfRequest } from '../models/request/kdfRequest';\nimport { KeysRequest } from '../models/request/keysRequest';\nimport { OrganizationCreateRequest } from '../models/request/organizationCreateRequest';\nimport { OrganizationTaxInfoUpdateRequest } from '../models/request/organizationTaxInfoUpdateRequest';\nimport { OrganizationUpdateRequest } from '../models/request/organizationUpdateRequest';\nimport { OrganizationUpgradeRequest } from '../models/request/organizationUpgradeRequest';\nimport { OrganizationUserAcceptRequest } from '../models/request/organizationUserAcceptRequest';\nimport { OrganizationUserConfirmRequest } from '../models/request/organizationUserConfirmRequest';\nimport { OrganizationUserInviteRequest } from '../models/request/organizationUserInviteRequest';\nimport { OrganizationUserUpdateGroupsRequest } from '../models/request/organizationUserUpdateGroupsRequest';\nimport { OrganizationUserUpdateRequest } from '../models/request/organizationUserUpdateRequest';\nimport { PasswordHintRequest } from '../models/request/passwordHintRequest';\nimport { PasswordRequest } from '../models/request/passwordRequest';\nimport { PasswordVerificationRequest } from '../models/request/passwordVerificationRequest';\nimport { PaymentRequest } from '../models/request/paymentRequest';\nimport { PolicyRequest } from '../models/request/policyRequest';\nimport { PreloginRequest } from '../models/request/preloginRequest';\nimport { RegisterRequest } from '../models/request/registerRequest';\nimport { SeatRequest } from '../models/request/seatRequest';\nimport { SelectionReadOnlyRequest } from '../models/request/selectionReadOnlyRequest';\nimport { SendAccessRequest } from '../models/request/sendAccessRequest';\nimport { SendRequest } from '../models/request/sendRequest';\nimport { SetPasswordRequest } from '../models/request/setPasswordRequest';\nimport { StorageRequest } from '../models/request/storageRequest';\nimport { TaxInfoUpdateRequest } from '../models/request/taxInfoUpdateRequest';\nimport { TokenRequest } from '../models/request/tokenRequest';\nimport { TwoFactorEmailRequest } from '../models/request/twoFactorEmailRequest';\nimport { TwoFactorProviderRequest } from '../models/request/twoFactorProviderRequest';\nimport { TwoFactorRecoveryRequest } from '../models/request/twoFactorRecoveryRequest';\nimport { UpdateDomainsRequest } from '../models/request/updateDomainsRequest';\nimport { UpdateKeyRequest } from '../models/request/updateKeyRequest';\nimport { UpdateProfileRequest } from '../models/request/updateProfileRequest';\nimport { UpdateTwoFactorAuthenticatorRequest } from '../models/request/updateTwoFactorAuthenticatorRequest';\nimport { UpdateTwoFactorDuoRequest } from '../models/request/updateTwoFactorDuoRequest';\nimport { UpdateTwoFactorEmailRequest } from '../models/request/updateTwoFactorEmailRequest';\nimport { UpdateTwoFactorU2fDeleteRequest } from '../models/request/updateTwoFactorU2fDeleteRequest';\nimport { UpdateTwoFactorU2fRequest } from '../models/request/updateTwoFactorU2fRequest';\nimport { UpdateTwoFactorYubioOtpRequest } from '../models/request/updateTwoFactorYubioOtpRequest';\nimport { VerifyBankRequest } from '../models/request/verifyBankRequest';\nimport { VerifyDeleteRecoverRequest } from '../models/request/verifyDeleteRecoverRequest';\nimport { VerifyEmailRequest } from '../models/request/verifyEmailRequest';\n\nimport { ApiKeyResponse } from '../models/response/apiKeyResponse';\nimport { BillingResponse } from '../models/response/billingResponse';\nimport { BreachAccountResponse } from '../models/response/breachAccountResponse';\nimport { CipherResponse } from '../models/response/cipherResponse';\nimport {\n CollectionGroupDetailsResponse,\n CollectionResponse,\n} from '../models/response/collectionResponse';\nimport { DomainsResponse } from '../models/response/domainsResponse';\nimport {\n EmergencyAccessGranteeDetailsResponse,\n EmergencyAccessGrantorDetailsResponse,\n EmergencyAccessTakeoverResponse,\n EmergencyAccessViewResponse\n} from '../models/response/emergencyAccessResponse';\nimport { ErrorResponse } from '../models/response/errorResponse';\nimport { EventResponse } from '../models/response/eventResponse';\nimport { FolderResponse } from '../models/response/folderResponse';\nimport {\n GroupDetailsResponse,\n GroupResponse,\n} from '../models/response/groupResponse';\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\nimport { ListResponse } from '../models/response/listResponse';\nimport { OrganizationResponse } from '../models/response/organizationResponse';\nimport { OrganizationSubscriptionResponse } from '../models/response/organizationSubscriptionResponse';\nimport {\n OrganizationUserDetailsResponse,\n OrganizationUserUserDetailsResponse,\n} from '../models/response/organizationUserResponse';\nimport { PaymentResponse } from '../models/response/paymentResponse';\nimport { PlanResponse } from '../models/response/planResponse';\nimport { PolicyResponse } from '../models/response/policyResponse';\nimport { PreloginResponse } from '../models/response/preloginResponse';\nimport { ProfileResponse } from '../models/response/profileResponse';\nimport { SelectionReadOnlyResponse } from '../models/response/selectionReadOnlyResponse';\nimport { SendAccessResponse } from '../models/response/sendAccessResponse';\nimport { SendResponse } from '../models/response/sendResponse';\nimport { SubscriptionResponse } from '../models/response/subscriptionResponse';\nimport { SyncResponse } from '../models/response/syncResponse';\nimport { TaxInfoResponse } from '../models/response/taxInfoResponse';\nimport { TaxRateResponse } from '../models/response/taxRateResponse';\nimport { TwoFactorAuthenticatorResponse } from '../models/response/twoFactorAuthenticatorResponse';\nimport { TwoFactorDuoResponse } from '../models/response/twoFactorDuoResponse';\nimport { TwoFactorEmailResponse } from '../models/response/twoFactorEmailResponse';\nimport { TwoFactorProviderResponse } from '../models/response/twoFactorProviderResponse';\nimport { TwoFactorRecoverResponse } from '../models/response/twoFactorRescoverResponse';\nimport {\n ChallengeResponse,\n TwoFactorU2fResponse,\n} from '../models/response/twoFactorU2fResponse';\nimport { TwoFactorYubiKeyResponse } from '../models/response/twoFactorYubiKeyResponse';\nimport { UserKeyResponse } from '../models/response/userKeyResponse';\n\nexport class ApiService implements ApiServiceAbstraction {\n urlsSet: boolean = false;\n apiBaseUrl: string;\n identityBaseUrl: string;\n eventsBaseUrl: string;\n\n private device: DeviceType;\n private deviceType: string;\n private isWebClient = false;\n private isDesktopClient = false;\n private usingBaseUrl = false;\n\n constructor(private tokenService: TokenService, private platformUtilsService: PlatformUtilsService,\n private logoutCallback: (expired: boolean) => Promise, private customUserAgent: string = null) {\n this.device = platformUtilsService.getDevice();\n this.deviceType = this.device.toString();\n this.isWebClient = this.device === DeviceType.IEBrowser || this.device === DeviceType.ChromeBrowser ||\n this.device === DeviceType.EdgeBrowser || this.device === DeviceType.FirefoxBrowser ||\n this.device === DeviceType.OperaBrowser || this.device === DeviceType.SafariBrowser ||\n this.device === DeviceType.UnknownBrowser || this.device === DeviceType.VivaldiBrowser;\n this.isDesktopClient = this.device === DeviceType.WindowsDesktop || this.device === DeviceType.MacOsDesktop ||\n this.device === DeviceType.LinuxDesktop;\n }\n\n setUrls(urls: EnvironmentUrls): void {\n this.urlsSet = true;\n\n if (urls.base != null) {\n this.usingBaseUrl = true;\n this.apiBaseUrl = urls.base + '/api';\n this.identityBaseUrl = urls.base + '/identity';\n this.eventsBaseUrl = urls.base + '/events';\n return;\n }\n\n this.apiBaseUrl = urls.api;\n this.identityBaseUrl = urls.identity;\n this.eventsBaseUrl = urls.events;\n\n // Production\n if (this.apiBaseUrl == null) {\n this.apiBaseUrl = 'https://api.bitwarden.com';\n }\n if (this.identityBaseUrl == null) {\n this.identityBaseUrl = 'https://identity.bitwarden.com';\n }\n if (this.eventsBaseUrl == null) {\n this.eventsBaseUrl = 'https://events.bitwarden.com';\n }\n }\n\n // Auth APIs\n\n async postIdentityToken(request: TokenRequest): Promise {\n const headers = new Headers({\n 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\n 'Accept': 'application/json',\n 'Device-Type': this.deviceType,\n });\n if (this.customUserAgent != null) {\n headers.set('User-Agent', this.customUserAgent);\n }\n const response = await this.fetch(new Request(this.identityBaseUrl + '/connect/token', {\n body: this.qsStringify(request.toIdentityToken(request.clientId ?? this.platformUtilsService.identityClientId)),\n credentials: this.getCredentials(),\n cache: 'no-store',\n headers: headers,\n method: 'POST',\n }));\n\n let responseJson: any = null;\n if (this.isJsonResponse(response)) {\n responseJson = await response.json();\n }\n\n if (responseJson != null) {\n if (response.status === 200) {\n return new IdentityTokenResponse(responseJson);\n } else if (response.status === 400 && responseJson.TwoFactorProviders2 &&\n Object.keys(responseJson.TwoFactorProviders2).length) {\n await this.tokenService.clearTwoFactorToken(request.email);\n return new IdentityTwoFactorResponse(responseJson);\n }\n }\n\n return Promise.reject(new ErrorResponse(responseJson, response.status, true));\n }\n\n async refreshIdentityToken(): Promise {\n try {\n await this.doRefreshToken();\n } catch (e) {\n return Promise.reject(null);\n }\n }\n\n // Account APIs\n\n async getProfile(): Promise {\n const r = await this.send('GET', '/accounts/profile', null, true, true);\n return new ProfileResponse(r);\n }\n\n async getUserBilling(): Promise {\n const r = await this.send('GET', '/accounts/billing', null, true, true);\n return new BillingResponse(r);\n }\n\n async getUserSubscription(): Promise {\n const r = await this.send('GET', '/accounts/subscription', null, true, true);\n return new SubscriptionResponse(r);\n }\n\n async getTaxInfo(): Promise {\n const r = await this.send('GET', '/accounts/tax', null, true, true);\n return new TaxInfoResponse(r);\n }\n\n async putProfile(request: UpdateProfileRequest): Promise {\n const r = await this.send('PUT', '/accounts/profile', request, true, true);\n return new ProfileResponse(r);\n }\n\n putTaxInfo(request: TaxInfoUpdateRequest): Promise {\n return this.send('PUT', '/accounts/tax', request, true, false);\n }\n\n async postPrelogin(request: PreloginRequest): Promise {\n const r = await this.send('POST', '/accounts/prelogin', request, false, true);\n return new PreloginResponse(r);\n }\n\n postEmailToken(request: EmailTokenRequest): Promise {\n return this.send('POST', '/accounts/email-token', request, true, false);\n }\n\n postEmail(request: EmailRequest): Promise {\n return this.send('POST', '/accounts/email', request, true, false);\n }\n\n postPassword(request: PasswordRequest): Promise {\n return this.send('POST', '/accounts/password', request, true, false);\n }\n\n setPassword(request: SetPasswordRequest): Promise {\n return this.send('POST', '/accounts/set-password', request, true, false);\n }\n\n postSecurityStamp(request: PasswordVerificationRequest): Promise {\n return this.send('POST', '/accounts/security-stamp', request, true, false);\n }\n\n deleteAccount(request: PasswordVerificationRequest): Promise {\n return this.send('DELETE', '/accounts', request, true, false);\n }\n\n async getAccountRevisionDate(): Promise {\n const r = await this.send('GET', '/accounts/revision-date', null, true, true);\n return r as number;\n }\n\n postPasswordHint(request: PasswordHintRequest): Promise {\n return this.send('POST', '/accounts/password-hint', request, false, false);\n }\n\n postRegister(request: RegisterRequest): Promise {\n return this.send('POST', '/accounts/register', request, false, false);\n }\n\n async postPremium(data: FormData): Promise {\n const r = await this.send('POST', '/accounts/premium', data, true, true);\n return new PaymentResponse(r);\n }\n\n async postIapCheck(request: IapCheckRequest): Promise {\n return this.send('POST', '/accounts/iap-check', request, true, false);\n }\n\n postReinstatePremium(): Promise {\n return this.send('POST', '/accounts/reinstate-premium', null, true, false);\n }\n\n postCancelPremium(): Promise {\n return this.send('POST', '/accounts/cancel-premium', null, true, false);\n }\n\n async postAccountStorage(request: StorageRequest): Promise {\n const r = await this.send('POST', '/accounts/storage', request, true, true);\n return new PaymentResponse(r);\n }\n\n postAccountPayment(request: PaymentRequest): Promise {\n return this.send('POST', '/accounts/payment', request, true, false);\n }\n\n postAccountLicense(data: FormData): Promise {\n return this.send('POST', '/accounts/license', data, true, false);\n }\n\n postAccountKeys(request: KeysRequest): Promise {\n return this.send('POST', '/accounts/keys', request, true, false);\n }\n\n postAccountKey(request: UpdateKeyRequest): Promise {\n return this.send('POST', '/accounts/key', request, true, false);\n }\n\n postAccountVerifyEmail(): Promise {\n return this.send('POST', '/accounts/verify-email', null, true, false);\n }\n\n postAccountVerifyEmailToken(request: VerifyEmailRequest): Promise {\n return this.send('POST', '/accounts/verify-email-token', request, false, false);\n }\n\n postAccountVerifyPassword(request: PasswordVerificationRequest): Promise {\n return this.send('POST', '/accounts/verify-password', request, true, false);\n }\n\n postAccountRecoverDelete(request: DeleteRecoverRequest): Promise {\n return this.send('POST', '/accounts/delete-recover', request, false, false);\n }\n\n postAccountRecoverDeleteToken(request: VerifyDeleteRecoverRequest): Promise {\n return this.send('POST', '/accounts/delete-recover-token', request, false, false);\n }\n\n postAccountKdf(request: KdfRequest): Promise {\n return this.send('POST', '/accounts/kdf', request, true, false);\n }\n\n async getEnterprisePortalSignInToken(): Promise {\n const r = await this.send('GET', '/accounts/enterprise-portal-signin-token', null, true, true);\n return r as string;\n }\n\n async deleteSsoUser(organizationId: string): Promise {\n return this.send('DELETE', '/accounts/sso/' + organizationId, null, true, false);\n }\n\n async getSsoUserIdentifier(): Promise {\n return this.send('GET', '/accounts/sso/user-identifier', null, true, true);\n }\n\n async postUserApiKey(id: string, request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/accounts/api-key', request, true, true);\n return new ApiKeyResponse(r);\n }\n\n async postUserRotateApiKey(id: string, request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/accounts/rotate-api-key', request, true, true);\n return new ApiKeyResponse(r);\n }\n\n // Folder APIs\n\n async getFolder(id: string): Promise {\n const r = await this.send('GET', '/folders/' + id, null, true, true);\n return new FolderResponse(r);\n }\n\n async postFolder(request: FolderRequest): Promise {\n const r = await this.send('POST', '/folders', request, true, true);\n return new FolderResponse(r);\n }\n\n async putFolder(id: string, request: FolderRequest): Promise {\n const r = await this.send('PUT', '/folders/' + id, request, true, true);\n return new FolderResponse(r);\n }\n\n deleteFolder(id: string): Promise {\n return this.send('DELETE', '/folders/' + id, null, true, false);\n }\n\n // Send APIs\n\n async getSend(id: string): Promise {\n const r = await this.send('GET', '/sends/' + id, null, true, true);\n return new SendResponse(r);\n }\n\n async postSendAccess(id: string, request: SendAccessRequest): Promise {\n const r = await this.send('POST', '/sends/access/' + id, request, false, true);\n return new SendAccessResponse(r);\n }\n\n async getSends(): Promise> {\n const r = await this.send('GET', '/sends', null, true, true);\n return new ListResponse(r, SendResponse);\n }\n\n async postSend(request: SendRequest): Promise {\n const r = await this.send('POST', '/sends', request, true, true);\n return new SendResponse(r);\n }\n\n async postSendFile(data: FormData): Promise {\n const r = await this.send('POST', '/sends/file', data, true, true);\n return new SendResponse(r);\n }\n\n async putSend(id: string, request: SendRequest): Promise {\n const r = await this.send('PUT', '/sends/' + id, request, true, true);\n return new SendResponse(r);\n }\n\n async putSendRemovePassword(id: string): Promise {\n const r = await this.send('PUT', '/sends/' + id + '/remove-password', null, true, true);\n return new SendResponse(r);\n }\n\n deleteSend(id: string): Promise {\n return this.send('DELETE', '/sends/' + id, null, true, false);\n }\n\n // Cipher APIs\n\n async getCipher(id: string): Promise {\n const r = await this.send('GET', '/ciphers/' + id, null, true, true);\n return new CipherResponse(r);\n }\n\n async getCipherAdmin(id: string): Promise {\n const r = await this.send('GET', '/ciphers/' + id + '/admin', null, true, true);\n return new CipherResponse(r);\n }\n\n async getCiphersOrganization(organizationId: string): Promise> {\n const r = await this.send('GET', '/ciphers/organization-details?organizationId=' + organizationId,\n null, true, true);\n return new ListResponse(r, CipherResponse);\n }\n\n async postCipher(request: CipherRequest): Promise {\n const r = await this.send('POST', '/ciphers', request, true, true);\n return new CipherResponse(r);\n }\n\n async postCipherCreate(request: CipherCreateRequest): Promise {\n const r = await this.send('POST', '/ciphers/create', request, true, true);\n return new CipherResponse(r);\n }\n\n async postCipherAdmin(request: CipherCreateRequest): Promise {\n const r = await this.send('POST', '/ciphers/admin', request, true, true);\n return new CipherResponse(r);\n }\n\n async putCipher(id: string, request: CipherRequest): Promise {\n const r = await this.send('PUT', '/ciphers/' + id, request, true, true);\n return new CipherResponse(r);\n }\n\n async putCipherAdmin(id: string, request: CipherRequest): Promise {\n const r = await this.send('PUT', '/ciphers/' + id + '/admin', request, true, true);\n return new CipherResponse(r);\n }\n\n deleteCipher(id: string): Promise {\n return this.send('DELETE', '/ciphers/' + id, null, true, false);\n }\n\n deleteCipherAdmin(id: string): Promise {\n return this.send('DELETE', '/ciphers/' + id + '/admin', null, true, false);\n }\n\n deleteManyCiphers(request: CipherBulkDeleteRequest): Promise {\n return this.send('DELETE', '/ciphers', request, true, false);\n }\n\n deleteManyCiphersAdmin(request: CipherBulkDeleteRequest): Promise {\n return this.send('DELETE', '/ciphers/admin', request, true, false);\n }\n\n putMoveCiphers(request: CipherBulkMoveRequest): Promise {\n return this.send('PUT', '/ciphers/move', request, true, false);\n }\n\n async putShareCipher(id: string, request: CipherShareRequest): Promise {\n const r = await this.send('PUT', '/ciphers/' + id + '/share', request, true, true);\n return new CipherResponse(r);\n }\n\n putShareCiphers(request: CipherBulkShareRequest): Promise {\n return this.send('PUT', '/ciphers/share', request, true, false);\n }\n\n putCipherCollections(id: string, request: CipherCollectionsRequest): Promise {\n return this.send('PUT', '/ciphers/' + id + '/collections', request, true, false);\n }\n\n putCipherCollectionsAdmin(id: string, request: CipherCollectionsRequest): Promise {\n return this.send('PUT', '/ciphers/' + id + '/collections-admin', request, true, false);\n }\n\n postPurgeCiphers(request: PasswordVerificationRequest, organizationId: string = null): Promise {\n let path = '/ciphers/purge';\n if (organizationId != null) {\n path += '?organizationId=' + organizationId;\n }\n return this.send('POST', path, request, true, false);\n }\n\n postImportCiphers(request: ImportCiphersRequest): Promise {\n return this.send('POST', '/ciphers/import', request, true, false);\n }\n\n postImportOrganizationCiphers(organizationId: string, request: ImportOrganizationCiphersRequest): Promise {\n return this.send('POST', '/ciphers/import-organization?organizationId=' + organizationId, request, true, false);\n }\n\n putDeleteCipher(id: string): Promise {\n return this.send('PUT', '/ciphers/' + id + '/delete', null, true, false);\n }\n\n putDeleteCipherAdmin(id: string): Promise {\n return this.send('PUT', '/ciphers/' + id + '/delete-admin', null, true, false);\n }\n\n putDeleteManyCiphers(request: CipherBulkDeleteRequest): Promise {\n return this.send('PUT', '/ciphers/delete', request, true, false);\n }\n\n putDeleteManyCiphersAdmin(request: CipherBulkDeleteRequest): Promise {\n return this.send('PUT', '/ciphers/delete-admin', request, true, false);\n }\n\n async putRestoreCipher(id: string): Promise {\n const r = await this.send('PUT', '/ciphers/' + id + '/restore', null, true, true);\n return new CipherResponse(r);\n }\n\n async putRestoreCipherAdmin(id: string): Promise {\n const r = await this.send('PUT', '/ciphers/' + id + '/restore-admin', null, true, true);\n return new CipherResponse(r);\n }\n\n async putRestoreManyCiphers(request: CipherBulkDeleteRequest): Promise> {\n const r = await this.send('PUT', '/ciphers/restore', request, true, true);\n return new ListResponse(r, CipherResponse);\n }\n\n // Attachments APIs\n\n async postCipherAttachment(id: string, data: FormData): Promise {\n const r = await this.send('POST', '/ciphers/' + id + '/attachment', data, true, true);\n return new CipherResponse(r);\n }\n\n async postCipherAttachmentAdmin(id: string, data: FormData): Promise {\n const r = await this.send('POST', '/ciphers/' + id + '/attachment-admin', data, true, true);\n return new CipherResponse(r);\n }\n\n deleteCipherAttachment(id: string, attachmentId: string): Promise {\n return this.send('DELETE', '/ciphers/' + id + '/attachment/' + attachmentId, null, true, false);\n }\n\n deleteCipherAttachmentAdmin(id: string, attachmentId: string): Promise {\n return this.send('DELETE', '/ciphers/' + id + '/attachment/' + attachmentId + '/admin', null, true, false);\n }\n\n postShareCipherAttachment(id: string, attachmentId: string, data: FormData,\n organizationId: string): Promise {\n return this.send('POST', '/ciphers/' + id + '/attachment/' +\n attachmentId + '/share?organizationId=' + organizationId, data, true, false);\n }\n\n // Collections APIs\n\n async getCollectionDetails(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections/' + id + '/details',\n null, true, true);\n return new CollectionGroupDetailsResponse(r);\n }\n\n async getUserCollections(): Promise> {\n const r = await this.send('GET', '/collections', null, true, true);\n return new ListResponse(r, CollectionResponse);\n }\n\n async getCollections(organizationId: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections', null, true, true);\n return new ListResponse(r, CollectionResponse);\n }\n\n async getCollectionUsers(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections/' + id + '/users',\n null, true, true);\n return r.map((dr: any) => new SelectionReadOnlyResponse(dr));\n }\n\n async postCollection(organizationId: string, request: CollectionRequest): Promise {\n const r = await this.send('POST', '/organizations/' + organizationId + '/collections', request, true, true);\n return new CollectionResponse(r);\n }\n\n async putCollection(organizationId: string, id: string, request: CollectionRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + organizationId + '/collections/' + id,\n request, true, true);\n return new CollectionResponse(r);\n }\n\n async putCollectionUsers(organizationId: string, id: string, request: SelectionReadOnlyRequest[]): Promise {\n await this.send('PUT', '/organizations/' + organizationId + '/collections/' + id + '/users',\n request, true, false);\n }\n\n deleteCollection(organizationId: string, id: string): Promise {\n return this.send('DELETE', '/organizations/' + organizationId + '/collections/' + id, null, true, false);\n }\n\n deleteCollectionUser(organizationId: string, id: string, organizationUserId: string): Promise {\n return this.send('DELETE',\n '/organizations/' + organizationId + '/collections/' + id + '/user/' + organizationUserId,\n null, true, false);\n }\n\n // Groups APIs\n\n async getGroupDetails(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups/' + id + '/details',\n null, true, true);\n return new GroupDetailsResponse(r);\n }\n\n async getGroups(organizationId: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups', null, true, true);\n return new ListResponse(r, GroupResponse);\n }\n\n async getGroupUsers(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups/' + id + '/users',\n null, true, true);\n return r;\n }\n\n async postGroup(organizationId: string, request: GroupRequest): Promise {\n const r = await this.send('POST', '/organizations/' + organizationId + '/groups', request, true, true);\n return new GroupResponse(r);\n }\n\n async putGroup(organizationId: string, id: string, request: GroupRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + organizationId + '/groups/' + id, request, true, true);\n return new GroupResponse(r);\n }\n\n async putGroupUsers(organizationId: string, id: string, request: string[]): Promise {\n await this.send('PUT', '/organizations/' + organizationId + '/groups/' + id + '/users', request, true, false);\n }\n\n deleteGroup(organizationId: string, id: string): Promise {\n return this.send('DELETE', '/organizations/' + organizationId + '/groups/' + id, null, true, false);\n }\n\n deleteGroupUser(organizationId: string, id: string, organizationUserId: string): Promise {\n return this.send('DELETE',\n '/organizations/' + organizationId + '/groups/' + id + '/user/' + organizationUserId, null, true, false);\n }\n\n // Policy APIs\n\n async getPolicy(organizationId: string, type: PolicyType): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/policies/' + type, null, true, true);\n return new PolicyResponse(r);\n }\n\n async getPolicies(organizationId: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/policies', null, true, true);\n return new ListResponse(r, PolicyResponse);\n }\n\n async getPoliciesByToken(organizationId: string, token: string, email: string, organizationUserId: string):\n Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/policies/token?' +\n 'token=' + encodeURIComponent(token) + '&email=' + encodeURIComponent(email) +\n '&organizationUserId=' + organizationUserId, null, false, true);\n return new ListResponse(r, PolicyResponse);\n }\n\n async putPolicy(organizationId: string, type: PolicyType, request: PolicyRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + organizationId + '/policies/' + type, request, true, true);\n return new PolicyResponse(r);\n }\n\n // Organization User APIs\n\n async getOrganizationUser(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/users/' + id, null, true, true);\n return new OrganizationUserDetailsResponse(r);\n }\n\n async getOrganizationUserGroups(organizationId: string, id: string): Promise {\n const r = await this.send('GET', '/organizations/' + organizationId + '/users/' + id + '/groups',\n null, true, true);\n return r;\n }\n\n async getOrganizationUsers(organizationId: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/users', null, true, true);\n return new ListResponse(r, OrganizationUserUserDetailsResponse);\n }\n\n postOrganizationUserInvite(organizationId: string, request: OrganizationUserInviteRequest): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/users/invite', request, true, false);\n }\n\n postOrganizationUserReinvite(organizationId: string, id: string): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/reinvite', null, true, false);\n }\n\n postOrganizationUserAccept(organizationId: string, id: string,\n request: OrganizationUserAcceptRequest): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/accept', request, true, false);\n }\n\n postOrganizationUserConfirm(organizationId: string, id: string,\n request: OrganizationUserConfirmRequest): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/confirm',\n request, true, false);\n }\n\n putOrganizationUser(organizationId: string, id: string, request: OrganizationUserUpdateRequest): Promise {\n return this.send('PUT', '/organizations/' + organizationId + '/users/' + id, request, true, false);\n }\n\n putOrganizationUserGroups(organizationId: string, id: string,\n request: OrganizationUserUpdateGroupsRequest): Promise {\n return this.send('PUT', '/organizations/' + organizationId + '/users/' + id + '/groups', request, true, false);\n }\n\n deleteOrganizationUser(organizationId: string, id: string): Promise {\n return this.send('DELETE', '/organizations/' + organizationId + '/users/' + id, null, true, false);\n }\n\n // Plan APIs\n\n async getPlans(): Promise> {\n const r = await this.send('GET', '/plans/', null, true, true);\n return new ListResponse(r, PlanResponse);\n }\n\n async postImportDirectory(organizationId: string, request: ImportDirectoryRequest): Promise {\n return this.send('POST', '/organizations/' + organizationId + '/import', request, true, false);\n }\n\n async getTaxRates(): Promise> {\n const r = await this.send('GET', '/plans/sales-tax-rates/', null, true, true);\n return new ListResponse(r, TaxRateResponse);\n }\n\n // Settings APIs\n\n async getSettingsDomains(): Promise {\n const r = await this.send('GET', '/settings/domains', null, true, true);\n return new DomainsResponse(r);\n }\n\n async putSettingsDomains(request: UpdateDomainsRequest): Promise {\n const r = await this.send('PUT', '/settings/domains', request, true, true);\n return new DomainsResponse(r);\n }\n\n // Sync APIs\n\n async getSync(): Promise {\n const path = this.isDesktopClient || this.isWebClient ? '/sync?excludeDomains=true' : '/sync';\n const r = await this.send('GET', path, null, true, true);\n return new SyncResponse(r);\n }\n\n // Two-factor APIs\n\n async getTwoFactorProviders(): Promise> {\n const r = await this.send('GET', '/two-factor', null, true, true);\n return new ListResponse(r, TwoFactorProviderResponse);\n }\n\n async getTwoFactorOrganizationProviders(organizationId: string): Promise> {\n const r = await this.send('GET', '/organizations/' + organizationId + '/two-factor', null, true, true);\n return new ListResponse(r, TwoFactorProviderResponse);\n }\n\n async getTwoFactorAuthenticator(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-authenticator', request, true, true);\n return new TwoFactorAuthenticatorResponse(r);\n }\n\n async getTwoFactorEmail(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-email', request, true, true);\n return new TwoFactorEmailResponse(r);\n }\n\n async getTwoFactorDuo(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-duo', request, true, true);\n return new TwoFactorDuoResponse(r);\n }\n\n async getTwoFactorOrganizationDuo(organizationId: string,\n request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/organizations/' + organizationId + '/two-factor/get-duo',\n request, true, true);\n return new TwoFactorDuoResponse(r);\n }\n\n async getTwoFactorYubiKey(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-yubikey', request, true, true);\n return new TwoFactorYubiKeyResponse(r);\n }\n\n async getTwoFactorU2f(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-u2f', request, true, true);\n return new TwoFactorU2fResponse(r);\n }\n\n async getTwoFactorU2fChallenge(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-u2f-challenge', request, true, true);\n return new ChallengeResponse(r);\n }\n\n async getTwoFactorRecover(request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/two-factor/get-recover', request, true, true);\n return new TwoFactorRecoverResponse(r);\n }\n\n async putTwoFactorAuthenticator(\n request: UpdateTwoFactorAuthenticatorRequest): Promise {\n const r = await this.send('PUT', '/two-factor/authenticator', request, true, true);\n return new TwoFactorAuthenticatorResponse(r);\n }\n\n async putTwoFactorEmail(request: UpdateTwoFactorEmailRequest): Promise {\n const r = await this.send('PUT', '/two-factor/email', request, true, true);\n return new TwoFactorEmailResponse(r);\n }\n\n async putTwoFactorDuo(request: UpdateTwoFactorDuoRequest): Promise {\n const r = await this.send('PUT', '/two-factor/duo', request, true, true);\n return new TwoFactorDuoResponse(r);\n }\n\n async putTwoFactorOrganizationDuo(organizationId: string,\n request: UpdateTwoFactorDuoRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + organizationId + '/two-factor/duo', request, true, true);\n return new TwoFactorDuoResponse(r);\n }\n\n async putTwoFactorYubiKey(request: UpdateTwoFactorYubioOtpRequest): Promise {\n const r = await this.send('PUT', '/two-factor/yubikey', request, true, true);\n return new TwoFactorYubiKeyResponse(r);\n }\n\n async putTwoFactorU2f(request: UpdateTwoFactorU2fRequest): Promise {\n const r = await this.send('PUT', '/two-factor/u2f', request, true, true);\n return new TwoFactorU2fResponse(r);\n }\n\n async deleteTwoFactorU2f(request: UpdateTwoFactorU2fDeleteRequest): Promise {\n const r = await this.send('DELETE', '/two-factor/u2f', request, true, true);\n return new TwoFactorU2fResponse(r);\n }\n\n async putTwoFactorDisable(request: TwoFactorProviderRequest): Promise {\n const r = await this.send('PUT', '/two-factor/disable', request, true, true);\n return new TwoFactorProviderResponse(r);\n }\n\n async putTwoFactorOrganizationDisable(organizationId: string,\n request: TwoFactorProviderRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + organizationId + '/two-factor/disable',\n request, true, true);\n return new TwoFactorProviderResponse(r);\n }\n\n postTwoFactorRecover(request: TwoFactorRecoveryRequest): Promise {\n return this.send('POST', '/two-factor/recover', request, false, false);\n }\n\n postTwoFactorEmailSetup(request: TwoFactorEmailRequest): Promise {\n return this.send('POST', '/two-factor/send-email', request, true, false);\n }\n\n postTwoFactorEmail(request: TwoFactorEmailRequest): Promise {\n return this.send('POST', '/two-factor/send-email-login', request, false, false);\n }\n\n // Emergency Access APIs\n\n async getEmergencyAccessTrusted(): Promise> {\n const r = await this.send('GET', '/emergency-access/trusted', null, true, true);\n return new ListResponse(r, EmergencyAccessGranteeDetailsResponse);\n }\n\n async getEmergencyAccessGranted(): Promise> {\n const r = await this.send('GET', '/emergency-access/granted', null, true, true);\n return new ListResponse(r, EmergencyAccessGrantorDetailsResponse);\n }\n\n async getEmergencyAccess(id: string): Promise {\n const r = await this.send('GET', '/emergency-access/' + id, null, true, true);\n return new EmergencyAccessGranteeDetailsResponse(r);\n }\n\n putEmergencyAccess(id: string, request: EmergencyAccessUpdateRequest): Promise {\n return this.send('PUT', '/emergency-access/' + id, request, true, false);\n }\n\n deleteEmergencyAccess(id: string): Promise {\n return this.send('DELETE', '/emergency-access/' + id, null, true, false);\n }\n\n postEmergencyAccessInvite(request: EmergencyAccessInviteRequest): Promise {\n return this.send('POST', '/emergency-access/invite', request, true, false);\n }\n\n postEmergencyAccessReinvite(id: string): Promise {\n return this.send('POST', '/emergency-access/' + id + '/reinvite', null, true, false);\n }\n\n postEmergencyAccessAccept(id: string, request: EmergencyAccessAcceptRequest): Promise {\n return this.send('POST', '/emergency-access/' + id + '/accept', request, true, false);\n }\n\n postEmergencyAccessConfirm(id: string, request: EmergencyAccessConfirmRequest): Promise {\n return this.send('POST', '/emergency-access/' + id + '/confirm', request, true, false);\n }\n\n postEmergencyAccessInitiate(id: string): Promise {\n return this.send('POST', '/emergency-access/' + id + '/initiate', null, true, false);\n }\n\n postEmergencyAccessApprove(id: string): Promise {\n return this.send('POST', '/emergency-access/' + id + '/approve', null, true, false);\n }\n\n postEmergencyAccessReject(id: string): Promise {\n return this.send('POST', '/emergency-access/' + id + '/reject', null, true, false);\n }\n\n async postEmergencyAccessTakeover(id: string): Promise {\n const r = await this.send('POST', '/emergency-access/' + id + '/takeover', null, true, true);\n return new EmergencyAccessTakeoverResponse(r);\n }\n\n async postEmergencyAccessPassword(id: string, request: EmergencyAccessPasswordRequest): Promise {\n const r = await this.send('POST', '/emergency-access/' + id + '/password', request, true, true);\n }\n\n async postEmergencyAccessView(id: string): Promise {\n const r = await this.send('POST', '/emergency-access/' + id + '/view', null, true, true);\n return new EmergencyAccessViewResponse(r);\n }\n\n // Organization APIs\n\n async getOrganization(id: string): Promise {\n const r = await this.send('GET', '/organizations/' + id, null, true, true);\n return new OrganizationResponse(r);\n }\n\n async getOrganizationBilling(id: string): Promise {\n const r = await this.send('GET', '/organizations/' + id + '/billing', null, true, true);\n return new BillingResponse(r);\n }\n\n async getOrganizationSubscription(id: string): Promise {\n const r = await this.send('GET', '/organizations/' + id + '/subscription', null, true, true);\n return new OrganizationSubscriptionResponse(r);\n }\n\n async getOrganizationLicense(id: string, installationId: string): Promise {\n return this.send('GET', '/organizations/' + id + '/license?installationId=' + installationId,\n null, true, true);\n }\n\n async getOrganizationTaxInfo(id: string): Promise {\n const r = await this.send('GET', '/organizations/' + id + '/tax', null, true, true);\n return new TaxInfoResponse(r);\n }\n\n async postOrganization(request: OrganizationCreateRequest): Promise {\n const r = await this.send('POST', '/organizations', request, true, true);\n return new OrganizationResponse(r);\n }\n\n async putOrganization(id: string, request: OrganizationUpdateRequest): Promise {\n const r = await this.send('PUT', '/organizations/' + id, request, true, true);\n return new OrganizationResponse(r);\n }\n\n async putOrganizationTaxInfo(id: string, request: OrganizationTaxInfoUpdateRequest): Promise {\n return this.send('PUT', '/organizations/' + id + '/tax', request, true, false);\n }\n\n postLeaveOrganization(id: string): Promise {\n return this.send('POST', '/organizations/' + id + '/leave', null, true, false);\n }\n\n async postOrganizationLicense(data: FormData): Promise {\n const r = await this.send('POST', '/organizations/license', data, true, true);\n return new OrganizationResponse(r);\n }\n\n async postOrganizationLicenseUpdate(id: string, data: FormData): Promise {\n return this.send('POST', '/organizations/' + id + '/license', data, true, false);\n }\n\n async postOrganizationApiKey(id: string, request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/organizations/' + id + '/api-key', request, true, true);\n return new ApiKeyResponse(r);\n }\n\n async postOrganizationRotateApiKey(id: string, request: PasswordVerificationRequest): Promise {\n const r = await this.send('POST', '/organizations/' + id + '/rotate-api-key', request, true, true);\n return new ApiKeyResponse(r);\n }\n\n async postOrganizationUpgrade(id: string, request: OrganizationUpgradeRequest): Promise {\n const r = await this.send('POST', '/organizations/' + id + '/upgrade', request, true, true);\n return new PaymentResponse(r);\n }\n\n async postOrganizationSeat(id: string, request: SeatRequest): Promise {\n const r = await this.send('POST', '/organizations/' + id + '/seat', request, true, true);\n return new PaymentResponse(r);\n }\n\n async postOrganizationStorage(id: string, request: StorageRequest): Promise {\n const r = await this.send('POST', '/organizations/' + id + '/storage', request, true, true);\n return new PaymentResponse(r);\n }\n\n postOrganizationPayment(id: string, request: PaymentRequest): Promise {\n return this.send('POST', '/organizations/' + id + '/payment', request, true, false);\n }\n\n postOrganizationVerifyBank(id: string, request: VerifyBankRequest): Promise {\n return this.send('POST', '/organizations/' + id + '/verify-bank', request, true, false);\n }\n\n postOrganizationCancel(id: string): Promise {\n return this.send('POST', '/organizations/' + id + '/cancel', null, true, false);\n }\n\n postOrganizationReinstate(id: string): Promise {\n return this.send('POST', '/organizations/' + id + '/reinstate', null, true, false);\n }\n\n deleteOrganization(id: string, request: PasswordVerificationRequest): Promise {\n return this.send('DELETE', '/organizations/' + id, request, true, false);\n }\n\n // Event APIs\n\n async getEvents(start: string, end: string, token: string): Promise> {\n const r = await this.send('GET', this.addEventParameters('/events', start, end, token), null, true, true);\n return new ListResponse(r, EventResponse);\n }\n\n async getEventsCipher(id: string, start: string, end: string,\n token: string): Promise> {\n const r = await this.send('GET', this.addEventParameters('/ciphers/' + id + '/events', start, end, token),\n null, true, true);\n return new ListResponse(r, EventResponse);\n }\n\n async getEventsOrganization(id: string, start: string, end: string,\n token: string): Promise> {\n const r = await this.send('GET', this.addEventParameters('/organizations/' + id + '/events', start, end, token),\n null, true, true);\n return new ListResponse(r, EventResponse);\n }\n\n async getEventsOrganizationUser(organizationId: string, id: string,\n start: string, end: string, token: string): Promise> {\n const r = await this.send('GET',\n this.addEventParameters('/organizations/' + organizationId + '/users/' + id + '/events', start, end, token),\n null, true, true);\n return new ListResponse(r, EventResponse);\n }\n\n async postEventsCollect(request: EventRequest[]): Promise {\n const authHeader = await this.getActiveBearerToken();\n const headers = new Headers({\n 'Device-Type': this.deviceType,\n 'Authorization': 'Bearer ' + authHeader,\n 'Content-Type': 'application/json; charset=utf-8',\n });\n if (this.customUserAgent != null) {\n headers.set('User-Agent', this.customUserAgent);\n }\n const response = await this.fetch(new Request(this.eventsBaseUrl + '/collect', {\n cache: 'no-store',\n credentials: this.getCredentials(),\n method: 'POST',\n body: JSON.stringify(request),\n headers: headers,\n }));\n if (response.status !== 200) {\n return Promise.reject('Event post failed.');\n }\n }\n\n // User APIs\n\n async getUserPublicKey(id: string): Promise {\n const r = await this.send('GET', '/users/' + id + '/public-key', null, true, true);\n return new UserKeyResponse(r);\n }\n\n // HIBP APIs\n\n async getHibpBreach(username: string): Promise {\n const r = await this.send('GET', '/hibp/breach?username=' + username, null, true, true);\n return r.map((a: any) => new BreachAccountResponse(a));\n }\n\n // Misc\n\n async postBitPayInvoice(request: BitPayInvoiceRequest): Promise {\n const r = await this.send('POST', '/bitpay-invoice', request, true, true);\n return r as string;\n }\n\n async postSetupPayment(): Promise {\n const r = await this.send('POST', '/setup-payment', null, true, true);\n return r as string;\n }\n\n // Helpers\n\n async getActiveBearerToken(): Promise {\n let accessToken = await this.tokenService.getToken();\n if (this.tokenService.tokenNeedsRefresh()) {\n const tokenResponse = await this.doRefreshToken();\n accessToken = tokenResponse.accessToken;\n }\n return accessToken;\n }\n\n fetch(request: Request): Promise {\n if (request.method === 'GET') {\n request.headers.set('Cache-Control', 'no-store');\n request.headers.set('Pragma', 'no-cache');\n }\n return this.nativeFetch(request);\n }\n\n nativeFetch(request: Request): Promise {\n return fetch(request);\n }\n\n async preValidateSso(identifier: string): Promise {\n if (identifier == null || identifier === '') {\n throw new Error('Organization Identifier was not provided.');\n }\n const headers = new Headers({\n 'Accept': 'application/json',\n 'Device-Type': this.deviceType,\n });\n if (this.customUserAgent != null) {\n headers.set('User-Agent', this.customUserAgent);\n }\n\n const path = `/account/prevalidate?domainHint=${encodeURIComponent(identifier)}`;\n const response = await this.fetch(new Request(this.identityBaseUrl + path, {\n cache: 'no-store',\n credentials: this.getCredentials(),\n headers: headers,\n method: 'GET',\n }));\n\n if (response.status === 200) {\n return true;\n } else {\n const error = await this.handleError(response, false, true);\n return Promise.reject(error);\n }\n }\n\n private async send(method: 'GET' | 'POST' | 'PUT' | 'DELETE', path: string, body: any,\n authed: boolean, hasResponse: boolean): Promise {\n const headers = new Headers({\n 'Device-Type': this.deviceType,\n });\n if (this.customUserAgent != null) {\n headers.set('User-Agent', this.customUserAgent);\n }\n\n const requestInit: RequestInit = {\n cache: 'no-store',\n credentials: this.getCredentials(),\n method: method,\n };\n\n if (authed) {\n const authHeader = await this.getActiveBearerToken();\n headers.set('Authorization', 'Bearer ' + authHeader);\n }\n if (body != null) {\n if (typeof body === 'string') {\n requestInit.body = body;\n headers.set('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8');\n } else if (typeof body === 'object') {\n if (body instanceof FormData) {\n requestInit.body = body;\n } else {\n headers.set('Content-Type', 'application/json; charset=utf-8');\n requestInit.body = JSON.stringify(body);\n }\n }\n }\n if (hasResponse) {\n headers.set('Accept', 'application/json');\n }\n\n requestInit.headers = headers;\n const response = await this.fetch(new Request(this.apiBaseUrl + path, requestInit));\n\n if (hasResponse && response.status === 200) {\n const responseJson = await response.json();\n return responseJson;\n } else if (response.status !== 200) {\n const error = await this.handleError(response, false, authed);\n return Promise.reject(error);\n }\n }\n\n private async handleError(response: Response, tokenError: boolean, authed: boolean): Promise {\n if (authed && ((tokenError && response.status === 400) || response.status === 401 || response.status === 403)) {\n await this.logoutCallback(true);\n return null;\n }\n\n let responseJson: any = null;\n if (this.isJsonResponse(response)) {\n responseJson = await response.json();\n }\n\n return new ErrorResponse(responseJson, response.status, tokenError);\n }\n\n private async doRefreshToken(): Promise {\n const refreshToken = await this.tokenService.getRefreshToken();\n if (refreshToken == null || refreshToken === '') {\n throw new Error();\n }\n const headers = new Headers({\n 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\n 'Accept': 'application/json',\n 'Device-Type': this.deviceType,\n });\n if (this.customUserAgent != null) {\n headers.set('User-Agent', this.customUserAgent);\n }\n\n const decodedToken = this.tokenService.decodeToken();\n const response = await this.fetch(new Request(this.identityBaseUrl + '/connect/token', {\n body: this.qsStringify({\n grant_type: 'refresh_token',\n client_id: decodedToken.client_id,\n refresh_token: refreshToken,\n }),\n cache: 'no-store',\n credentials: this.getCredentials(),\n headers: headers,\n method: 'POST',\n }));\n\n if (response.status === 200) {\n const responseJson = await response.json();\n const tokenResponse = new IdentityTokenResponse(responseJson);\n await this.tokenService.setTokens(tokenResponse.accessToken, tokenResponse.refreshToken);\n return tokenResponse;\n } else {\n const error = await this.handleError(response, true, true);\n return Promise.reject(error);\n }\n }\n\n private qsStringify(params: any): string {\n return Object.keys(params).map((key) => {\n return encodeURIComponent(key) + '=' + encodeURIComponent(params[key]);\n }).join('&');\n }\n\n private getCredentials(): RequestCredentials {\n if (this.device !== DeviceType.SafariExtension && (!this.isWebClient || this.usingBaseUrl)) {\n return 'include';\n }\n return undefined;\n }\n\n private addEventParameters(base: string, start: string, end: string, token: string) {\n if (start != null) {\n base += ('?start=' + start);\n }\n if (end != null) {\n base += (base.indexOf('?') > -1 ? '&' : '?');\n base += ('end=' + end);\n }\n if (token != null) {\n base += (base.indexOf('?') > -1 ? '&' : '?');\n base += ('continuationToken=' + token);\n }\n return base;\n }\n\n private isJsonResponse(response: Response): boolean {\n const typeHeader = response.headers.get('content-type');\n return typeHeader != null && typeHeader.indexOf('application/json') > -1;\n }\n}\n","import { BaseResponse } from './baseResponse';\nimport { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\n\nexport class CollectionResponse extends BaseResponse {\n id: string;\n organizationId: string;\n name: string;\n externalId: string;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.organizationId = this.getResponseProperty('OrganizationId');\n this.name = this.getResponseProperty('Name');\n this.externalId = this.getResponseProperty('ExternalId');\n }\n}\n\nexport class CollectionDetailsResponse extends CollectionResponse {\n readOnly: boolean;\n\n constructor(response: any) {\n super(response);\n this.readOnly = this.getResponseProperty('ReadOnly') || false;\n }\n}\n\nexport class CollectionGroupDetailsResponse extends CollectionResponse {\n groups: SelectionReadOnlyResponse[] = [];\n\n constructor(response: any) {\n super(response);\n const groups = this.getResponseProperty('Groups');\n if (groups != null) {\n this.groups = groups.map((g: any) => new SelectionReadOnlyResponse(g));\n }\n }\n}\n","import { BaseResponse } from './baseResponse';\nimport { GlobalDomainResponse } from './globalDomainResponse';\n\nexport class DomainsResponse extends BaseResponse {\n equivalentDomains: string[][];\n globalEquivalentDomains: GlobalDomainResponse[] = [];\n\n constructor(response: any) {\n super(response);\n this.equivalentDomains = this.getResponseProperty('EquivalentDomains');\n const globalEquivalentDomains = this.getResponseProperty('GlobalEquivalentDomains');\n if (globalEquivalentDomains != null) {\n this.globalEquivalentDomains = globalEquivalentDomains.map((d: any) => new GlobalDomainResponse(d));\n } else {\n this.globalEquivalentDomains = [];\n }\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class ErrorResponse extends BaseResponse {\n message: string;\n validationErrors: { [key: string]: string[]; };\n statusCode: number;\n\n constructor(response: any, status: number, identityResponse?: boolean) {\n super(response);\n let errorModel = null;\n if (response != null) {\n const responseErrorModel = this.getResponseProperty('ErrorModel');\n if (responseErrorModel && identityResponse) {\n errorModel = responseErrorModel;\n } else {\n errorModel = response;\n }\n }\n\n if (errorModel) {\n this.message = this.getResponseProperty('Message', errorModel);\n this.validationErrors = this.getResponseProperty('ValidationErrors', errorModel);\n } else {\n if (status === 429) {\n this.message = 'Rate limit exceeded. Try again later.';\n }\n }\n this.statusCode = status;\n }\n\n getSingleMessage(): string {\n if (this.validationErrors == null) {\n return this.message;\n }\n for (const key in this.validationErrors) {\n if (!this.validationErrors.hasOwnProperty(key)) {\n continue;\n }\n if (this.validationErrors[key].length) {\n return this.validationErrors[key][0];\n }\n }\n return this.message;\n }\n\n getAllMessages(): string[] {\n const messages: string[] = [];\n if (this.validationErrors == null) {\n return messages;\n }\n for (const key in this.validationErrors) {\n if (!this.validationErrors.hasOwnProperty(key)) {\n continue;\n }\n this.validationErrors[key].forEach((item: string) => {\n let prefix = '';\n if (key.indexOf('[') > -1 && key.indexOf(']') > -1) {\n const lastSep = key.lastIndexOf('.');\n prefix = key.substr(0, lastSep > -1 ? lastSep : key.length) + ': ';\n }\n messages.push(prefix + item);\n });\n }\n return messages;\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class FolderResponse extends BaseResponse {\n id: string;\n name: string;\n revisionDate: string;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.name = this.getResponseProperty('Name');\n this.revisionDate = this.getResponseProperty('RevisionDate');\n }\n}\n","import { BaseResponse } from './baseResponse';\nimport { PlanResponse } from './planResponse';\n\nimport { PlanType } from '../../enums/planType';\n\nexport class OrganizationResponse extends BaseResponse {\n id: string;\n identifier: string;\n name: string;\n businessName: string;\n businessAddress1: string;\n businessAddress2: string;\n businessAddress3: string;\n businessCountry: string;\n businessTaxNumber: string;\n billingEmail: string;\n plan: PlanResponse;\n planType: PlanType;\n seats: number;\n maxCollections: number;\n maxStorageGb: number;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n useApi: boolean;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.identifier = this.getResponseProperty('Identifier');\n this.name = this.getResponseProperty('Name');\n this.businessName = this.getResponseProperty('BusinessName');\n this.businessAddress1 = this.getResponseProperty('BusinessAddress1');\n this.businessAddress2 = this.getResponseProperty('BusinessAddress2');\n this.businessAddress3 = this.getResponseProperty('BusinessAddress3');\n this.businessCountry = this.getResponseProperty('BusinessCountry');\n this.businessTaxNumber = this.getResponseProperty('BusinessTaxNumber');\n this.billingEmail = this.getResponseProperty('BillingEmail');\n const plan = this.getResponseProperty('Plan');\n this.plan = plan == null ? null : new PlanResponse(plan);\n this.planType = this.getResponseProperty('PlanType');\n this.seats = this.getResponseProperty('Seats');\n this.maxCollections = this.getResponseProperty('MaxCollections');\n this.maxStorageGb = this.getResponseProperty('MaxStorageGb');\n this.useGroups = this.getResponseProperty('UseGroups');\n this.useDirectory = this.getResponseProperty('UseDirectory');\n this.useEvents = this.getResponseProperty('UseEvents');\n this.useTotp = this.getResponseProperty('UseTotp');\n this.use2fa = this.getResponseProperty('Use2fa');\n this.useApi = this.getResponseProperty('UseApi');\n }\n}\n","import { PlanType } from '../../enums/planType';\nimport { ProductType } from '../../enums/productType';\n\nimport { BaseResponse } from './baseResponse';\n\nexport class PlanResponse extends BaseResponse {\n type: PlanType;\n product: ProductType;\n name: string;\n isAnnual: boolean;\n nameLocalizationKey: string;\n descriptionLocalizationKey: string;\n canBeUsedByBusiness: boolean;\n baseSeats: number;\n baseStorageGb: number;\n maxCollections: number;\n maxUsers: number;\n\n hasAdditionalSeatsOption: boolean;\n maxAdditionalSeats: number;\n hasAdditionalStorageOption: boolean;\n maxAdditionalStorage: number;\n hasPremiumAccessOption: boolean;\n trialPeriodDays: number;\n\n hasSelfHost: boolean;\n hasPolicies: boolean;\n hasGroups: boolean;\n hasDirectory: boolean;\n hasEvents: boolean;\n hasTotp: boolean;\n has2fa: boolean;\n hasApi: boolean;\n hasSso: boolean;\n usersGetPremium: boolean;\n\n upgradeSortOrder: number;\n displaySortOrder: number;\n legacyYear: number;\n disabled: boolean;\n\n stripePlanId: string;\n stripeSeatPlanId: string;\n stripeStoragePlanId: string;\n stripePremiumAccessPlanId: string;\n basePrice: number;\n seatPrice: number;\n additionalStoragePricePerGb: number;\n premiumAccessOptionPrice: number;\n\n constructor(response: any) {\n super(response);\n this.type = this.getResponseProperty('Type');\n this.product = this.getResponseProperty('Product');\n this.name = this.getResponseProperty('Name');\n this.isAnnual = this.getResponseProperty('IsAnnual');\n this.nameLocalizationKey = this.getResponseProperty('NameLocalizationKey');\n this.descriptionLocalizationKey = this.getResponseProperty('DescriptionLocalizationKey');\n this.canBeUsedByBusiness = this.getResponseProperty('CanBeUsedByBusiness');\n this.baseSeats = this.getResponseProperty('BaseSeats');\n this.baseStorageGb = this.getResponseProperty('BaseStorageGb');\n this.maxCollections = this.getResponseProperty('MaxCollections');\n this.maxUsers = this.getResponseProperty('MaxUsers');\n this.hasAdditionalSeatsOption = this.getResponseProperty('HasAdditionalSeatsOption');\n this.maxAdditionalSeats = this.getResponseProperty('MaxAdditionalSeats');\n this.hasAdditionalStorageOption = this.getResponseProperty('HasAdditionalStorageOption');\n this.maxAdditionalStorage = this.getResponseProperty('MaxAdditionalStorage');\n this.hasPremiumAccessOption = this.getResponseProperty('HasPremiumAccessOption');\n this.trialPeriodDays = this.getResponseProperty('TrialPeriodDays');\n this.hasSelfHost = this.getResponseProperty('HasSelfHost');\n this.hasPolicies = this.getResponseProperty('HasPolicies');\n this.hasGroups = this.getResponseProperty('HasGroups');\n this.hasDirectory = this.getResponseProperty('HasDirectory');\n this.hasEvents = this.getResponseProperty('HasEvents');\n this.hasTotp = this.getResponseProperty('HasTotp');\n this.has2fa = this.getResponseProperty('Has2fa');\n this.hasApi = this.getResponseProperty('HasApi');\n this.hasSso = this.getResponseProperty('HasSso');\n this.usersGetPremium = this.getResponseProperty('UsersGetPremium');\n this.upgradeSortOrder = this.getResponseProperty('UpgradeSortOrder');\n this.displaySortOrder = this.getResponseProperty('SortOrder');\n this.legacyYear = this.getResponseProperty('LegacyYear');\n this.disabled = this.getResponseProperty('Disabled');\n this.stripePlanId = this.getResponseProperty('StripePlanId');\n this.stripeSeatPlanId = this.getResponseProperty('StripeSeatPlanId');\n this.stripeStoragePlanId = this.getResponseProperty('StripeStoragePlanId');\n this.stripePremiumAccessPlanId = this.getResponseProperty('StripePremiumAccessPlanId');\n this.basePrice = this.getResponseProperty('BasePrice');\n this.seatPrice = this.getResponseProperty('SeatPrice');\n this.additionalStoragePricePerGb = this.getResponseProperty('AdditionalStoragePricePerGb');\n this.premiumAccessOptionPrice = this.getResponseProperty('PremiumAccessOptionPrice');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class SubscriptionResponse extends BaseResponse {\n storageName: string;\n storageGb: number;\n maxStorageGb: number;\n subscription: BillingSubscriptionResponse;\n upcomingInvoice: BillingSubscriptionUpcomingInvoiceResponse;\n license: any;\n expiration: string;\n usingInAppPurchase: boolean;\n\n constructor(response: any) {\n super(response);\n this.storageName = this.getResponseProperty('StorageName');\n this.storageGb = this.getResponseProperty('StorageGb');\n this.maxStorageGb = this.getResponseProperty('MaxStorageGb');\n this.license = this.getResponseProperty('License');\n this.expiration = this.getResponseProperty('Expiration');\n this.usingInAppPurchase = this.getResponseProperty('UsingInAppPurchase');\n const subscription = this.getResponseProperty('Subscription');\n const upcomingInvoice = this.getResponseProperty('UpcomingInvoice');\n this.subscription = subscription == null ? null : new BillingSubscriptionResponse(subscription);\n this.upcomingInvoice = upcomingInvoice == null ? null :\n new BillingSubscriptionUpcomingInvoiceResponse(upcomingInvoice);\n }\n}\n\nexport class BillingSubscriptionResponse extends BaseResponse {\n trialStartDate: string;\n trialEndDate: string;\n periodStartDate: string;\n periodEndDate: string;\n cancelledDate: string;\n cancelAtEndDate: boolean;\n status: string;\n cancelled: boolean;\n items: BillingSubscriptionItemResponse[] = [];\n\n constructor(response: any) {\n super(response);\n this.trialEndDate = this.getResponseProperty('TrialStartDate');\n this.trialEndDate = this.getResponseProperty('TrialEndDate');\n this.periodStartDate = this.getResponseProperty('PeriodStartDate');\n this.periodEndDate = this.getResponseProperty('PeriodEndDate');\n this.cancelledDate = this.getResponseProperty('CancelledDate');\n this.cancelAtEndDate = this.getResponseProperty('CancelAtEndDate');\n this.status = this.getResponseProperty('Status');\n this.cancelled = this.getResponseProperty('Cancelled');\n const items = this.getResponseProperty('Items');\n if (items != null) {\n this.items = items.map((i: any) => new BillingSubscriptionItemResponse(i));\n }\n }\n}\n\nexport class BillingSubscriptionItemResponse extends BaseResponse {\n name: string;\n amount: number;\n quantity: number;\n interval: string;\n\n constructor(response: any) {\n super(response);\n this.name = this.getResponseProperty('Name');\n this.amount = this.getResponseProperty('Amount');\n this.quantity = this.getResponseProperty('Quantity');\n this.interval = this.getResponseProperty('Interval');\n }\n}\n\nexport class BillingSubscriptionUpcomingInvoiceResponse extends BaseResponse {\n date: string;\n amount: number;\n\n constructor(response: any) {\n super(response);\n this.date = this.getResponseProperty('Date');\n this.amount = this.getResponseProperty('Amount');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { PolicyType } from '../../enums/policyType';\n\nexport class PolicyResponse extends BaseResponse {\n id: string;\n organizationId: string;\n type: PolicyType;\n data: any;\n enabled: boolean;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.organizationId = this.getResponseProperty('OrganizationId');\n this.type = this.getResponseProperty('Type');\n this.data = this.getResponseProperty('Data');\n this.enabled = this.getResponseProperty('Enabled');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { SendType } from '../../enums/sendType';\n\nimport { SendFileApi } from '../api/sendFileApi';\nimport { SendTextApi } from '../api/sendTextApi';\n\nexport class SendResponse extends BaseResponse {\n id: string;\n accessId: string;\n type: SendType;\n name: string;\n notes: string;\n file: SendFileApi;\n text: SendTextApi;\n key: string;\n maxAccessCount?: number;\n accessCount: number;\n revisionDate: string;\n expirationDate: string;\n deletionDate: string;\n password: string;\n disable: boolean;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.accessId = this.getResponseProperty('AccessId');\n this.type = this.getResponseProperty('Type');\n this.name = this.getResponseProperty('Name');\n this.notes = this.getResponseProperty('Notes');\n this.key = this.getResponseProperty('Key');\n this.maxAccessCount = this.getResponseProperty('MaxAccessCount');\n this.accessCount = this.getResponseProperty('AccessCount');\n this.revisionDate = this.getResponseProperty('RevisionDate');\n this.expirationDate = this.getResponseProperty('ExpirationDate');\n this.deletionDate = this.getResponseProperty('DeletionDate');\n this.password = this.getResponseProperty('Password');\n this.disable = this.getResponseProperty('Disabled') || false;\n\n const text = this.getResponseProperty('Text');\n if (text != null) {\n this.text = new SendTextApi(text);\n }\n\n const file = this.getResponseProperty('File');\n if (file != null) {\n this.file = new SendFileApi(file);\n }\n }\n}\n","import { Utils } from '../misc/utils';\n\nimport { AppIdService as AppIdServiceAbstraction } from '../abstractions/appId.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nexport class AppIdService implements AppIdServiceAbstraction {\n constructor(private storageService: StorageService) {\n }\n\n getAppId(): Promise {\n return this.makeAndGetAppId('appId');\n }\n\n getAnonymousAppId(): Promise {\n return this.makeAndGetAppId('anonymousAppId');\n }\n\n private async makeAndGetAppId(key: string) {\n const existingId = await this.storageService.get(key);\n if (existingId != null) {\n return existingId;\n }\n\n const guid = Utils.newGuid();\n await this.storageService.save(key, guid);\n return guid;\n }\n}\n","import { ApiService } from '../abstractions/api.service';\nimport { AuditService as AuditServiceAbstraction } from '../abstractions/audit.service';\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\n\nimport { throttle } from '../misc/throttle';\nimport { Utils } from '../misc/utils';\n\nimport { BreachAccountResponse } from '../models/response/breachAccountResponse';\nimport { ErrorResponse } from '../models/response/errorResponse';\n\nconst PwnedPasswordsApi = 'https://api.pwnedpasswords.com/range/';\n\nexport class AuditService implements AuditServiceAbstraction {\n constructor(private cryptoFunctionService: CryptoFunctionService, private apiService: ApiService) { }\n\n @throttle(100, () => 'passwordLeaked')\n async passwordLeaked(password: string): Promise {\n const hashBytes = await this.cryptoFunctionService.hash(password, 'sha1');\n const hash = Utils.fromBufferToHex(hashBytes).toUpperCase();\n const hashStart = hash.substr(0, 5);\n const hashEnding = hash.substr(5);\n\n const response = await this.apiService.nativeFetch(new Request(PwnedPasswordsApi + hashStart));\n const leakedHashes = await response.text();\n const match = leakedHashes.split(/\\r?\\n/).find((v) => {\n return v.split(':')[0] === hashEnding;\n });\n\n return match != null ? parseInt(match.split(':')[1], 10) : 0;\n }\n\n async breachedAccounts(username: string): Promise {\n try {\n return await this.apiService.getHibpBreach(username);\n } catch (e) {\n const error = e as ErrorResponse;\n if (error.statusCode === 404) {\n return [];\n }\n throw new Error();\n }\n }\n}\n","import { CipherType } from '../enums/cipherType';\nimport { FieldType } from '../enums/fieldType';\nimport { UriMatchType } from '../enums/uriMatchType';\n\nimport { CipherData } from '../models/data/cipherData';\n\nimport { Attachment } from '../models/domain/attachment';\nimport { Card } from '../models/domain/card';\nimport { Cipher } from '../models/domain/cipher';\nimport { CipherString } from '../models/domain/cipherString';\nimport Domain from '../models/domain/domainBase';\nimport { Field } from '../models/domain/field';\nimport { Identity } from '../models/domain/identity';\nimport { Login } from '../models/domain/login';\nimport { LoginUri } from '../models/domain/loginUri';\nimport { Password } from '../models/domain/password';\nimport { SecureNote } from '../models/domain/secureNote';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\nimport { CipherBulkRestoreRequest } from '../models/request/cipherBulkRestoreRequest';\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\nimport { CipherCreateRequest } from '../models/request/cipherCreateRequest';\nimport { CipherRequest } from '../models/request/cipherRequest';\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\n\nimport { CipherResponse } from '../models/response/cipherResponse';\nimport { ErrorResponse } from '../models/response/errorResponse';\n\nimport { AttachmentView } from '../models/view/attachmentView';\nimport { CipherView } from '../models/view/cipherView';\nimport { FieldView } from '../models/view/fieldView';\nimport { PasswordHistoryView } from '../models/view/passwordHistoryView';\nimport { View } from '../models/view/view';\n\nimport { SortedCiphersCache } from '../models/domain/sortedCiphersCache';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { CipherService as CipherServiceAbstraction } from '../abstractions/cipher.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport { SearchService } from '../abstractions/search.service';\nimport { SettingsService } from '../abstractions/settings.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { UserService } from '../abstractions/user.service';\n\nimport { ConstantsService } from './constants.service';\n\nimport { sequentialize } from '../misc/sequentialize';\nimport { Utils } from '../misc/utils';\n\nconst Keys = {\n ciphersPrefix: 'ciphers_',\n localData: 'sitesLocalData',\n neverDomains: 'neverDomains',\n};\n\nconst DomainMatchBlacklist = new Map>([\n ['google.com', new Set(['script.google.com'])],\n]);\n\nexport class CipherService implements CipherServiceAbstraction {\n // tslint:disable-next-line\n _decryptedCipherCache: CipherView[];\n\n private sortedCiphersCache: SortedCiphersCache = new SortedCiphersCache(this.sortCiphersByLastUsed);\n\n constructor(private cryptoService: CryptoService, private userService: UserService,\n private settingsService: SettingsService, private apiService: ApiService,\n private storageService: StorageService, private i18nService: I18nService,\n private searchService: () => SearchService) {\n }\n\n get decryptedCipherCache() {\n return this._decryptedCipherCache;\n }\n set decryptedCipherCache(value: CipherView[]) {\n this._decryptedCipherCache = value;\n if (this.searchService != null) {\n if (value == null) {\n this.searchService().clearIndex();\n } else {\n this.searchService().indexCiphers();\n }\n }\n }\n\n clearCache(): void {\n this.decryptedCipherCache = null;\n this.sortedCiphersCache.clear();\n }\n\n async encrypt(model: CipherView, key?: SymmetricCryptoKey, originalCipher: Cipher = null): Promise {\n // Adjust password history\n if (model.id != null) {\n if (originalCipher == null) {\n originalCipher = await this.get(model.id);\n }\n if (originalCipher != null) {\n const existingCipher = await originalCipher.decrypt();\n model.passwordHistory = existingCipher.passwordHistory || [];\n if (model.type === CipherType.Login && existingCipher.type === CipherType.Login) {\n if (existingCipher.login.password != null && existingCipher.login.password !== '' &&\n existingCipher.login.password !== model.login.password) {\n const ph = new PasswordHistoryView();\n ph.password = existingCipher.login.password;\n ph.lastUsedDate = model.login.passwordRevisionDate = new Date();\n model.passwordHistory.splice(0, 0, ph);\n } else {\n model.login.passwordRevisionDate = existingCipher.login.passwordRevisionDate;\n }\n }\n if (existingCipher.hasFields) {\n const existingHiddenFields = existingCipher.fields.filter((f) => f.type === FieldType.Hidden &&\n f.name != null && f.name !== '' && f.value != null && f.value !== '');\n const hiddenFields = model.fields == null ? [] :\n model.fields.filter((f) => f.type === FieldType.Hidden && f.name != null && f.name !== '');\n existingHiddenFields.forEach((ef) => {\n const matchedField = hiddenFields.find((f) => f.name === ef.name);\n if (matchedField == null || matchedField.value !== ef.value) {\n const ph = new PasswordHistoryView();\n ph.password = ef.name + ': ' + ef.value;\n ph.lastUsedDate = new Date();\n model.passwordHistory.splice(0, 0, ph);\n }\n });\n }\n }\n if (model.passwordHistory != null && model.passwordHistory.length === 0) {\n model.passwordHistory = null;\n } else if (model.passwordHistory != null && model.passwordHistory.length > 5) {\n // only save last 5 history\n model.passwordHistory = model.passwordHistory.slice(0, 5);\n }\n }\n\n const cipher = new Cipher();\n cipher.id = model.id;\n cipher.folderId = model.folderId;\n cipher.favorite = model.favorite;\n cipher.organizationId = model.organizationId;\n cipher.type = model.type;\n cipher.collectionIds = model.collectionIds;\n cipher.revisionDate = model.revisionDate;\n\n if (key == null && cipher.organizationId != null) {\n key = await this.cryptoService.getOrgKey(cipher.organizationId);\n if (key == null) {\n throw new Error('Cannot encrypt cipher for organization. No key.');\n }\n }\n await Promise.all([\n this.encryptObjProperty(model, cipher, {\n name: null,\n notes: null,\n }, key),\n this.encryptCipherData(cipher, model, key),\n this.encryptFields(model.fields, key).then((fields) => {\n cipher.fields = fields;\n }),\n this.encryptPasswordHistories(model.passwordHistory, key).then((ph) => {\n cipher.passwordHistory = ph;\n }),\n this.encryptAttachments(model.attachments, key).then((attachments) => {\n cipher.attachments = attachments;\n }),\n ]);\n\n return cipher;\n }\n\n async encryptAttachments(attachmentsModel: AttachmentView[], key: SymmetricCryptoKey): Promise {\n if (attachmentsModel == null || attachmentsModel.length === 0) {\n return null;\n }\n\n const promises: Promise[] = [];\n const encAttachments: Attachment[] = [];\n attachmentsModel.forEach(async (model) => {\n const attachment = new Attachment();\n attachment.id = model.id;\n attachment.size = model.size;\n attachment.sizeName = model.sizeName;\n attachment.url = model.url;\n const promise = this.encryptObjProperty(model, attachment, {\n fileName: null,\n }, key).then(async () => {\n if (model.key != null) {\n attachment.key = await this.cryptoService.encrypt(model.key.key, key);\n }\n encAttachments.push(attachment);\n });\n promises.push(promise);\n });\n\n await Promise.all(promises);\n return encAttachments;\n }\n\n async encryptFields(fieldsModel: FieldView[], key: SymmetricCryptoKey): Promise {\n if (!fieldsModel || !fieldsModel.length) {\n return null;\n }\n\n const self = this;\n const encFields: Field[] = [];\n await fieldsModel.reduce((promise, field) => {\n return promise.then(() => {\n return self.encryptField(field, key);\n }).then((encField: Field) => {\n encFields.push(encField);\n });\n }, Promise.resolve());\n\n return encFields;\n }\n\n async encryptField(fieldModel: FieldView, key: SymmetricCryptoKey): Promise {\n const field = new Field();\n field.type = fieldModel.type;\n // normalize boolean type field values\n if (fieldModel.type === FieldType.Boolean && fieldModel.value !== 'true') {\n fieldModel.value = 'false';\n }\n\n await this.encryptObjProperty(fieldModel, field, {\n name: null,\n value: null,\n }, key);\n\n return field;\n }\n\n async encryptPasswordHistories(phModels: PasswordHistoryView[], key: SymmetricCryptoKey): Promise {\n if (!phModels || !phModels.length) {\n return null;\n }\n\n const self = this;\n const encPhs: Password[] = [];\n await phModels.reduce((promise, ph) => {\n return promise.then(() => {\n return self.encryptPasswordHistory(ph, key);\n }).then((encPh: Password) => {\n encPhs.push(encPh);\n });\n }, Promise.resolve());\n\n return encPhs;\n }\n\n async encryptPasswordHistory(phModel: PasswordHistoryView, key: SymmetricCryptoKey): Promise {\n const ph = new Password();\n ph.lastUsedDate = phModel.lastUsedDate;\n\n await this.encryptObjProperty(phModel, ph, {\n password: null,\n }, key);\n\n return ph;\n }\n\n async get(id: string): Promise {\n const userId = await this.userService.getUserId();\n const localData = await this.storageService.get(Keys.localData);\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n if (ciphers == null || !ciphers.hasOwnProperty(id)) {\n return null;\n }\n\n return new Cipher(ciphers[id], false, localData ? localData[id] : null);\n }\n\n async getAll(): Promise {\n const userId = await this.userService.getUserId();\n const localData = await this.storageService.get(Keys.localData);\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n const response: Cipher[] = [];\n for (const id in ciphers) {\n if (ciphers.hasOwnProperty(id)) {\n response.push(new Cipher(ciphers[id], false, localData ? localData[id] : null));\n }\n }\n return response;\n }\n\n @sequentialize(() => 'getAllDecrypted')\n async getAllDecrypted(): Promise {\n if (this.decryptedCipherCache != null) {\n return this.decryptedCipherCache;\n }\n\n const decCiphers: CipherView[] = [];\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n throw new Error('No key.');\n }\n\n const promises: any[] = [];\n const ciphers = await this.getAll();\n ciphers.forEach((cipher) => {\n promises.push(cipher.decrypt().then((c) => decCiphers.push(c)));\n });\n\n await Promise.all(promises);\n decCiphers.sort(this.getLocaleSortingFunction());\n this.decryptedCipherCache = decCiphers;\n return this.decryptedCipherCache;\n }\n\n async getAllDecryptedForGrouping(groupingId: string, folder: boolean = true): Promise {\n const ciphers = await this.getAllDecrypted();\n\n return ciphers.filter((cipher) => {\n if (cipher.isDeleted) {\n return false;\n }\n if (folder && cipher.folderId === groupingId) {\n return true;\n } else if (!folder && cipher.collectionIds != null && cipher.collectionIds.indexOf(groupingId) > -1) {\n return true;\n }\n\n return false;\n });\n }\n\n async getAllDecryptedForUrl(url: string, includeOtherTypes?: CipherType[],\n defaultMatch: UriMatchType = null): Promise {\n if (url == null && includeOtherTypes == null) {\n return Promise.resolve([]);\n }\n\n const domain = Utils.getDomain(url);\n const eqDomainsPromise = domain == null ? Promise.resolve([]) :\n this.settingsService.getEquivalentDomains().then((eqDomains: any[][]) => {\n let matches: any[] = [];\n eqDomains.forEach((eqDomain) => {\n if (eqDomain.length && eqDomain.indexOf(domain) >= 0) {\n matches = matches.concat(eqDomain);\n }\n });\n\n if (!matches.length) {\n matches.push(domain);\n }\n\n return matches;\n });\n\n const result = await Promise.all([eqDomainsPromise, this.getAllDecrypted()]);\n const matchingDomains = result[0];\n const ciphers = result[1];\n\n if (defaultMatch == null) {\n defaultMatch = await this.storageService.get(ConstantsService.defaultUriMatch);\n if (defaultMatch == null) {\n defaultMatch = UriMatchType.Domain;\n }\n }\n\n return ciphers.filter((cipher) => {\n if (cipher.deletedDate != null) {\n return false;\n }\n if (includeOtherTypes != null && includeOtherTypes.indexOf(cipher.type) > -1) {\n return true;\n }\n\n if (url != null && cipher.type === CipherType.Login && cipher.login.uris != null) {\n for (let i = 0; i < cipher.login.uris.length; i++) {\n const u = cipher.login.uris[i];\n if (u.uri == null) {\n continue;\n }\n\n const match = u.match == null ? defaultMatch : u.match;\n switch (match) {\n case UriMatchType.Domain:\n if (domain != null && u.domain != null && matchingDomains.indexOf(u.domain) > -1) {\n if (DomainMatchBlacklist.has(u.domain)) {\n const domainUrlHost = Utils.getHost(url);\n if (!DomainMatchBlacklist.get(u.domain).has(domainUrlHost)) {\n return true;\n }\n } else {\n return true;\n }\n }\n break;\n case UriMatchType.Host:\n const urlHost = Utils.getHost(url);\n if (urlHost != null && urlHost === Utils.getHost(u.uri)) {\n return true;\n }\n break;\n case UriMatchType.Exact:\n if (url === u.uri) {\n return true;\n }\n break;\n case UriMatchType.StartsWith:\n if (url.startsWith(u.uri)) {\n return true;\n }\n break;\n case UriMatchType.RegularExpression:\n try {\n const regex = new RegExp(u.uri, 'i');\n if (regex.test(url)) {\n return true;\n }\n } catch { }\n break;\n case UriMatchType.Never:\n default:\n break;\n }\n }\n }\n\n return false;\n });\n }\n\n async getAllFromApiForOrganization(organizationId: string): Promise {\n const ciphers = await this.apiService.getCiphersOrganization(organizationId);\n if (ciphers != null && ciphers.data != null && ciphers.data.length) {\n const decCiphers: CipherView[] = [];\n const promises: any[] = [];\n ciphers.data.forEach((r) => {\n const data = new CipherData(r);\n const cipher = new Cipher(data);\n promises.push(cipher.decrypt().then((c) => decCiphers.push(c)));\n });\n await Promise.all(promises);\n decCiphers.sort(this.getLocaleSortingFunction());\n return decCiphers;\n } else {\n return [];\n }\n }\n\n async getLastUsedForUrl(url: string): Promise {\n return this.getCipherForUrl(url, true, false);\n }\n\n async getLastLaunchedForUrl(url: string): Promise {\n return this.getCipherForUrl(url, false, true);\n }\n\n async getNextCipherForUrl(url: string): Promise {\n return this.getCipherForUrl(url, false, false);\n }\n\n updateLastUsedIndexForUrl(url: string) {\n this.sortedCiphersCache.updateLastUsedIndex(url);\n }\n\n async updateLastUsedDate(id: string): Promise {\n let ciphersLocalData = await this.storageService.get(Keys.localData);\n if (!ciphersLocalData) {\n ciphersLocalData = {};\n }\n\n if (ciphersLocalData[id]) {\n ciphersLocalData[id].lastUsedDate = new Date().getTime();\n } else {\n ciphersLocalData[id] = {\n lastUsedDate: new Date().getTime(),\n };\n }\n\n await this.storageService.save(Keys.localData, ciphersLocalData);\n\n if (this.decryptedCipherCache == null) {\n return;\n }\n\n for (let i = 0; i < this.decryptedCipherCache.length; i++) {\n const cached = this.decryptedCipherCache[i];\n if (cached.id === id) {\n cached.localData = ciphersLocalData[id];\n break;\n }\n }\n }\n\n async updateLastLaunchedDate(id: string): Promise {\n let ciphersLocalData = await this.storageService.get(Keys.localData);\n if (!ciphersLocalData) {\n ciphersLocalData = {};\n }\n\n if (ciphersLocalData[id]) {\n ciphersLocalData[id].lastLaunched = new Date().getTime();\n } else {\n ciphersLocalData[id] = {\n lastUsedDate: new Date().getTime(),\n };\n }\n\n await this.storageService.save(Keys.localData, ciphersLocalData);\n\n if (this.decryptedCipherCache == null) {\n return;\n }\n\n for (let i = 0; i < this.decryptedCipherCache.length; i++) {\n const cached = this.decryptedCipherCache[i];\n if (cached.id === id) {\n cached.localData = ciphersLocalData[id];\n break;\n }\n }\n }\n\n async saveNeverDomain(domain: string): Promise {\n if (domain == null) {\n return;\n }\n\n let domains = await this.storageService.get<{ [id: string]: any; }>(Keys.neverDomains);\n if (!domains) {\n domains = {};\n }\n domains[domain] = null;\n await this.storageService.save(Keys.neverDomains, domains);\n }\n\n async saveWithServer(cipher: Cipher): Promise {\n let response: CipherResponse;\n if (cipher.id == null) {\n if (cipher.collectionIds != null) {\n const request = new CipherCreateRequest(cipher);\n response = await this.apiService.postCipherCreate(request);\n } else {\n const request = new CipherRequest(cipher);\n response = await this.apiService.postCipher(request);\n }\n cipher.id = response.id;\n } else {\n const request = new CipherRequest(cipher);\n response = await this.apiService.putCipher(cipher.id, request);\n }\n\n const userId = await this.userService.getUserId();\n const data = new CipherData(response, userId, cipher.collectionIds);\n await this.upsert(data);\n }\n\n async shareWithServer(cipher: CipherView, organizationId: string, collectionIds: string[]): Promise {\n const attachmentPromises: Promise[] = [];\n if (cipher.attachments != null) {\n cipher.attachments.forEach((attachment) => {\n if (attachment.key == null) {\n attachmentPromises.push(this.shareAttachmentWithServer(attachment, cipher.id, organizationId));\n }\n });\n }\n await Promise.all(attachmentPromises);\n\n cipher.organizationId = organizationId;\n cipher.collectionIds = collectionIds;\n const encCipher = await this.encrypt(cipher);\n const request = new CipherShareRequest(encCipher);\n const response = await this.apiService.putShareCipher(cipher.id, request);\n const userId = await this.userService.getUserId();\n const data = new CipherData(response, userId, collectionIds);\n await this.upsert(data);\n }\n\n async shareManyWithServer(ciphers: CipherView[], organizationId: string, collectionIds: string[]): Promise {\n const promises: Promise[] = [];\n const encCiphers: Cipher[] = [];\n for (const cipher of ciphers) {\n cipher.organizationId = organizationId;\n cipher.collectionIds = collectionIds;\n promises.push(this.encrypt(cipher).then((c) => {\n encCiphers.push(c);\n }));\n }\n await Promise.all(promises);\n const request = new CipherBulkShareRequest(encCiphers, collectionIds);\n await this.apiService.putShareCiphers(request);\n const userId = await this.userService.getUserId();\n await this.upsert(encCiphers.map((c) => c.toCipherData(userId)));\n }\n\n saveAttachmentWithServer(cipher: Cipher, unencryptedFile: any, admin = false): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsArrayBuffer(unencryptedFile);\n reader.onload = async (evt: any) => {\n try {\n const cData = await this.saveAttachmentRawWithServer(cipher,\n unencryptedFile.name, evt.target.result, admin);\n resolve(cData);\n } catch (e) {\n reject(e);\n }\n };\n reader.onerror = (evt) => {\n reject('Error reading file.');\n };\n });\n }\n\n async saveAttachmentRawWithServer(cipher: Cipher, filename: string,\n data: ArrayBuffer, admin = false): Promise {\n const key = await this.cryptoService.getOrgKey(cipher.organizationId);\n const encFileName = await this.cryptoService.encrypt(filename, key);\n\n const dataEncKey = await this.cryptoService.makeEncKey(key);\n const encData = await this.cryptoService.encryptToBytes(data, dataEncKey[0]);\n\n const fd = new FormData();\n try {\n const blob = new Blob([encData], { type: 'application/octet-stream' });\n fd.append('key', dataEncKey[1].encryptedString);\n fd.append('data', blob, encFileName.encryptedString);\n } catch (e) {\n if (Utils.isNode && !Utils.isBrowser) {\n fd.append('key', dataEncKey[1].encryptedString);\n fd.append('data', Buffer.from(encData) as any, {\n filepath: encFileName.encryptedString,\n contentType: 'application/octet-stream',\n } as any);\n } else {\n throw e;\n }\n }\n\n let response: CipherResponse;\n try {\n if (admin) {\n response = await this.apiService.postCipherAttachmentAdmin(cipher.id, fd);\n } else {\n response = await this.apiService.postCipherAttachment(cipher.id, fd);\n }\n } catch (e) {\n throw new Error((e as ErrorResponse).getSingleMessage());\n }\n\n const userId = await this.userService.getUserId();\n const cData = new CipherData(response, userId, cipher.collectionIds);\n if (!admin) {\n await this.upsert(cData);\n }\n return new Cipher(cData);\n }\n\n async saveCollectionsWithServer(cipher: Cipher): Promise {\n const request = new CipherCollectionsRequest(cipher.collectionIds);\n await this.apiService.putCipherCollections(cipher.id, request);\n const userId = await this.userService.getUserId();\n const data = cipher.toCipherData(userId);\n await this.upsert(data);\n }\n\n async upsert(cipher: CipherData | CipherData[]): Promise {\n const userId = await this.userService.getUserId();\n let ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n if (ciphers == null) {\n ciphers = {};\n }\n\n if (cipher instanceof CipherData) {\n const c = cipher as CipherData;\n ciphers[c.id] = c;\n } else {\n (cipher as CipherData[]).forEach((c) => {\n ciphers[c.id] = c;\n });\n }\n\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async replace(ciphers: { [id: string]: CipherData; }): Promise {\n const userId = await this.userService.getUserId();\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async clear(userId: string): Promise {\n await this.storageService.remove(Keys.ciphersPrefix + userId);\n this.clearCache();\n }\n\n async moveManyWithServer(ids: string[], folderId: string): Promise {\n await this.apiService.putMoveCiphers(new CipherBulkMoveRequest(ids, folderId));\n\n const userId = await this.userService.getUserId();\n let ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n if (ciphers == null) {\n ciphers = {};\n }\n\n ids.forEach((id) => {\n if (ciphers.hasOwnProperty(id)) {\n ciphers[id].folderId = folderId;\n }\n });\n\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async delete(id: string | string[]): Promise {\n const userId = await this.userService.getUserId();\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n if (ciphers == null) {\n return;\n }\n\n if (typeof id === 'string') {\n if (ciphers[id] == null) {\n return;\n }\n delete ciphers[id];\n } else {\n (id as string[]).forEach((i) => {\n delete ciphers[i];\n });\n }\n\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async deleteWithServer(id: string): Promise {\n await this.apiService.deleteCipher(id);\n await this.delete(id);\n }\n\n async deleteManyWithServer(ids: string[]): Promise {\n await this.apiService.deleteManyCiphers(new CipherBulkDeleteRequest(ids));\n await this.delete(ids);\n }\n\n async deleteAttachment(id: string, attachmentId: string): Promise {\n const userId = await this.userService.getUserId();\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n\n if (ciphers == null || !ciphers.hasOwnProperty(id) || ciphers[id].attachments == null) {\n return;\n }\n\n for (let i = 0; i < ciphers[id].attachments.length; i++) {\n if (ciphers[id].attachments[i].id === attachmentId) {\n ciphers[id].attachments.splice(i, 1);\n }\n }\n\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async deleteAttachmentWithServer(id: string, attachmentId: string): Promise {\n try {\n await this.apiService.deleteCipherAttachment(id, attachmentId);\n } catch (e) {\n return Promise.reject((e as ErrorResponse).getSingleMessage());\n }\n await this.deleteAttachment(id, attachmentId);\n }\n\n sortCiphersByLastUsed(a: CipherView, b: CipherView): number {\n const aLastUsed = a.localData && a.localData.lastUsedDate ? a.localData.lastUsedDate as number : null;\n const bLastUsed = b.localData && b.localData.lastUsedDate ? b.localData.lastUsedDate as number : null;\n\n const bothNotNull = aLastUsed != null && bLastUsed != null;\n if (bothNotNull && aLastUsed < bLastUsed) {\n return 1;\n }\n if (aLastUsed != null && bLastUsed == null) {\n return -1;\n }\n\n if (bothNotNull && aLastUsed > bLastUsed) {\n return -1;\n }\n if (bLastUsed != null && aLastUsed == null) {\n return 1;\n }\n\n return 0;\n }\n\n sortCiphersByLastUsedThenName(a: CipherView, b: CipherView): number {\n const result = this.sortCiphersByLastUsed(a, b);\n if (result !== 0) {\n return result;\n }\n\n return this.getLocaleSortingFunction()(a, b);\n }\n\n getLocaleSortingFunction(): (a: CipherView, b: CipherView) => number {\n return (a, b) => {\n let aName = a.name;\n let bName = b.name;\n\n if (aName == null && bName != null) {\n return -1;\n }\n if (aName != null && bName == null) {\n return 1;\n }\n if (aName == null && bName == null) {\n return 0;\n }\n\n const result = this.i18nService.collator ? this.i18nService.collator.compare(aName, bName) :\n aName.localeCompare(bName);\n\n if (result !== 0 || a.type !== CipherType.Login || b.type !== CipherType.Login) {\n return result;\n }\n\n if (a.login.username != null) {\n aName += a.login.username;\n }\n\n if (b.login.username != null) {\n bName += b.login.username;\n }\n\n return this.i18nService.collator ? this.i18nService.collator.compare(aName, bName) :\n aName.localeCompare(bName);\n };\n }\n\n async softDelete(id: string | string[]): Promise {\n const userId = await this.userService.getUserId();\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n if (ciphers == null) {\n return;\n }\n\n const setDeletedDate = (cipherId: string) => {\n if (ciphers[cipherId] == null) {\n return;\n }\n ciphers[cipherId].deletedDate = new Date().toISOString();\n };\n\n if (typeof id === 'string') {\n setDeletedDate(id);\n } else {\n (id as string[]).forEach(setDeletedDate);\n }\n\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async softDeleteWithServer(id: string): Promise {\n await this.apiService.putDeleteCipher(id);\n await this.softDelete(id);\n }\n\n async softDeleteManyWithServer(ids: string[]): Promise {\n await this.apiService.putDeleteManyCiphers(new CipherBulkDeleteRequest(ids));\n await this.softDelete(ids);\n }\n\n async restore(cipher: { id: string, revisionDate: string; } | { id: string, revisionDate: string; }[]) {\n const userId = await this.userService.getUserId();\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\n Keys.ciphersPrefix + userId);\n if (ciphers == null) {\n return;\n }\n\n const clearDeletedDate = (c: { id: string, revisionDate: string; }) => {\n if (ciphers[c.id] == null) {\n return;\n }\n ciphers[c.id].deletedDate = null;\n ciphers[c.id].revisionDate = c.revisionDate;\n };\n\n\n if (cipher.constructor.name === 'Array') {\n (cipher as { id: string, revisionDate: string; }[]).forEach(clearDeletedDate);\n } else {\n clearDeletedDate(cipher as { id: string, revisionDate: string; });\n }\n\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\n this.decryptedCipherCache = null;\n }\n\n async restoreWithServer(id: string): Promise {\n const response = await this.apiService.putRestoreCipher(id);\n await this.restore({ id: id, revisionDate: response.revisionDate });\n }\n\n async restoreManyWithServer(ids: string[]): Promise {\n const response = await this.apiService.putRestoreManyCiphers(new CipherBulkRestoreRequest(ids));\n const restores: { id: string, revisionDate: string; }[] = [];\n for (const cipher of response.data) {\n restores.push({ id: cipher.id, revisionDate: cipher.revisionDate });\n }\n await this.restore(restores);\n }\n\n // Helpers\n\n private async shareAttachmentWithServer(attachmentView: AttachmentView, cipherId: string,\n organizationId: string): Promise {\n const attachmentResponse = await this.apiService.nativeFetch(\n new Request(attachmentView.url, { cache: 'no-store' }));\n if (attachmentResponse.status !== 200) {\n throw Error('Failed to download attachment: ' + attachmentResponse.status.toString());\n }\n\n const buf = await attachmentResponse.arrayBuffer();\n const decBuf = await this.cryptoService.decryptFromBytes(buf, null);\n const key = await this.cryptoService.getOrgKey(organizationId);\n const encFileName = await this.cryptoService.encrypt(attachmentView.fileName, key);\n\n const dataEncKey = await this.cryptoService.makeEncKey(key);\n const encData = await this.cryptoService.encryptToBytes(decBuf, dataEncKey[0]);\n\n const fd = new FormData();\n try {\n const blob = new Blob([encData], { type: 'application/octet-stream' });\n fd.append('key', dataEncKey[1].encryptedString);\n fd.append('data', blob, encFileName.encryptedString);\n } catch (e) {\n if (Utils.isNode && !Utils.isBrowser) {\n fd.append('key', dataEncKey[1].encryptedString);\n fd.append('data', Buffer.from(encData) as any, {\n filepath: encFileName.encryptedString,\n contentType: 'application/octet-stream',\n } as any);\n } else {\n throw e;\n }\n }\n\n try {\n await this.apiService.postShareCipherAttachment(cipherId, attachmentView.id, fd, organizationId);\n } catch (e) {\n throw new Error((e as ErrorResponse).getSingleMessage());\n }\n }\n\n private async encryptObjProperty(model: V, obj: D,\n map: any, key: SymmetricCryptoKey): Promise {\n const promises = [];\n const self = this;\n\n for (const prop in map) {\n if (!map.hasOwnProperty(prop)) {\n continue;\n }\n\n // tslint:disable-next-line\n (function (theProp, theObj) {\n const p = Promise.resolve().then(() => {\n const modelProp = (model as any)[(map[theProp] || theProp)];\n if (modelProp && modelProp !== '') {\n return self.cryptoService.encrypt(modelProp, key);\n }\n return null;\n }).then((val: CipherString) => {\n (theObj as any)[theProp] = val;\n });\n promises.push(p);\n })(prop, obj);\n }\n\n await Promise.all(promises);\n }\n\n private async encryptCipherData(cipher: Cipher, model: CipherView, key: SymmetricCryptoKey) {\n switch (cipher.type) {\n case CipherType.Login:\n cipher.login = new Login();\n cipher.login.passwordRevisionDate = model.login.passwordRevisionDate;\n await this.encryptObjProperty(model.login, cipher.login, {\n username: null,\n password: null,\n totp: null,\n }, key);\n\n if (model.login.uris != null) {\n cipher.login.uris = [];\n for (let i = 0; i < model.login.uris.length; i++) {\n const loginUri = new LoginUri();\n loginUri.match = model.login.uris[i].match;\n await this.encryptObjProperty(model.login.uris[i], loginUri, {\n uri: null,\n }, key);\n cipher.login.uris.push(loginUri);\n }\n }\n return;\n case CipherType.SecureNote:\n cipher.secureNote = new SecureNote();\n cipher.secureNote.type = model.secureNote.type;\n return;\n case CipherType.Card:\n cipher.card = new Card();\n await this.encryptObjProperty(model.card, cipher.card, {\n cardholderName: null,\n brand: null,\n number: null,\n expMonth: null,\n expYear: null,\n code: null,\n }, key);\n return;\n case CipherType.Identity:\n cipher.identity = new Identity();\n await this.encryptObjProperty(model.identity, cipher.identity, {\n title: null,\n firstName: null,\n middleName: null,\n lastName: null,\n address1: null,\n address2: null,\n address3: null,\n city: null,\n state: null,\n postalCode: null,\n country: null,\n company: null,\n email: null,\n phone: null,\n ssn: null,\n username: null,\n passportNumber: null,\n licenseNumber: null,\n }, key);\n return;\n default:\n throw new Error('Unknown cipher type.');\n }\n }\n\n private async getCipherForUrl(url: string, lastUsed: boolean, lastLaunched: boolean): Promise {\n if (!this.sortedCiphersCache.isCached(url)) {\n const ciphers = await this.getAllDecryptedForUrl(url);\n if (!ciphers) {\n return null;\n }\n this.sortedCiphersCache.addCiphers(url, ciphers);\n }\n\n if (lastLaunched) {\n return this.sortedCiphersCache.getLastLaunched(url);\n } else if (lastUsed) {\n return this.sortedCiphersCache.getLastUsed(url);\n } else {\n return this.sortedCiphersCache.getNext(url);\n }\n }\n}\n","/**\n * Use as a Decorator on async functions, it will prevent multiple 'active' calls as the same time\n *\n * If a promise was returned from a previous call to this function, that hasn't yet resolved it will\n * be returned, instead of calling the original function again\n *\n * Results are not cached, once the promise has returned, the next call will result in a fresh call\n *\n * Read more at https://github.com/bitwarden/jslib/pull/7\n */\nexport function sequentialize(cacheKey: (args: any[]) => string) {\n return (target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n const originalMethod: () => Promise = descriptor.value;\n const caches = new Map>>();\n\n const getCache = (obj: any) => {\n let cache = caches.get(obj);\n if (cache != null) {\n return cache;\n }\n cache = new Map>();\n caches.set(obj, cache);\n return cache;\n };\n\n return {\n value: function(...args: any[]) {\n const cache = getCache(this);\n const argsCacheKey = cacheKey(args);\n let response = cache.get(argsCacheKey);\n if (response != null) {\n return response;\n }\n\n const onFinally = () => {\n cache.delete(argsCacheKey);\n if (cache.size === 0) {\n caches.delete(this);\n }\n };\n response = originalMethod.apply(this, args).then((val: any) => {\n onFinally();\n return val;\n }).catch((err: any) => {\n onFinally();\n throw err;\n });\n\n cache.set(argsCacheKey, response);\n return response;\n },\n };\n };\n}\n","import { CollectionData } from '../models/data/collectionData';\n\nimport { Collection } from '../models/domain/collection';\nimport { TreeNode } from '../models/domain/treeNode';\n\nimport { CollectionView } from '../models/view/collectionView';\n\nimport { CollectionService as CollectionServiceAbstraction } from '../abstractions/collection.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { UserService } from '../abstractions/user.service';\n\nimport { ServiceUtils } from '../misc/serviceUtils';\nimport { Utils } from '../misc/utils';\n\nconst Keys = {\n collectionsPrefix: 'collections_',\n};\nconst NestingDelimiter = '/';\n\nexport class CollectionService implements CollectionServiceAbstraction {\n decryptedCollectionCache: CollectionView[];\n\n constructor(private cryptoService: CryptoService, private userService: UserService,\n private storageService: StorageService, private i18nService: I18nService) {\n }\n\n clearCache(): void {\n this.decryptedCollectionCache = null;\n }\n\n async encrypt(model: CollectionView): Promise {\n if (model.organizationId == null) {\n throw new Error('Collection has no organization id.');\n }\n const key = await this.cryptoService.getOrgKey(model.organizationId);\n if (key == null) {\n throw new Error('No key for this collection\\'s organization.');\n }\n const collection = new Collection();\n collection.id = model.id;\n collection.organizationId = model.organizationId;\n collection.readOnly = model.readOnly;\n collection.name = await this.cryptoService.encrypt(model.name, key);\n return collection;\n }\n\n async decryptMany(collections: Collection[]): Promise {\n if (collections == null) {\n return [];\n }\n const decCollections: CollectionView[] = [];\n const promises: Promise[] = [];\n collections.forEach((collection) => {\n promises.push(collection.decrypt().then((c) => decCollections.push(c)));\n });\n await Promise.all(promises);\n return decCollections.sort(Utils.getSortFunction(this.i18nService, 'name'));\n }\n\n async get(id: string): Promise {\n const userId = await this.userService.getUserId();\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\n Keys.collectionsPrefix + userId);\n if (collections == null || !collections.hasOwnProperty(id)) {\n return null;\n }\n\n return new Collection(collections[id]);\n }\n\n async getAll(): Promise {\n const userId = await this.userService.getUserId();\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\n Keys.collectionsPrefix + userId);\n const response: Collection[] = [];\n for (const id in collections) {\n if (collections.hasOwnProperty(id)) {\n response.push(new Collection(collections[id]));\n }\n }\n return response;\n }\n\n async getAllDecrypted(): Promise {\n if (this.decryptedCollectionCache != null) {\n return this.decryptedCollectionCache;\n }\n\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n throw new Error('No key.');\n }\n\n const collections = await this.getAll();\n this.decryptedCollectionCache = await this.decryptMany(collections);\n return this.decryptedCollectionCache;\n }\n\n async getAllNested(collections: CollectionView[] = null): Promise[]> {\n if (collections == null) {\n collections = await this.getAllDecrypted();\n }\n const nodes: TreeNode[] = [];\n collections.forEach((c) => {\n const collectionCopy = new CollectionView();\n collectionCopy.id = c.id;\n collectionCopy.organizationId = c.organizationId;\n const parts = c.name != null ? c.name.replace(/^\\/+|\\/+$/g, '').split(NestingDelimiter) : [];\n ServiceUtils.nestedTraverse(nodes, 0, parts, collectionCopy, null, NestingDelimiter);\n });\n return nodes;\n }\n\n async getNested(id: string): Promise> {\n const collections = await this.getAllNested();\n return ServiceUtils.getTreeNodeObject(collections, id) as TreeNode;\n }\n\n async upsert(collection: CollectionData | CollectionData[]): Promise {\n const userId = await this.userService.getUserId();\n let collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\n Keys.collectionsPrefix + userId);\n if (collections == null) {\n collections = {};\n }\n\n if (collection instanceof CollectionData) {\n const c = collection as CollectionData;\n collections[c.id] = c;\n } else {\n (collection as CollectionData[]).forEach((c) => {\n collections[c.id] = c;\n });\n }\n\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\n this.decryptedCollectionCache = null;\n }\n\n async replace(collections: { [id: string]: CollectionData; }): Promise {\n const userId = await this.userService.getUserId();\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\n this.decryptedCollectionCache = null;\n }\n\n async clear(userId: string): Promise {\n await this.storageService.remove(Keys.collectionsPrefix + userId);\n this.decryptedCollectionCache = null;\n }\n\n async delete(id: string | string[]): Promise {\n const userId = await this.userService.getUserId();\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\n Keys.collectionsPrefix + userId);\n if (collections == null) {\n return;\n }\n\n if (typeof id === 'string') {\n const i = id as string;\n delete collections[id];\n } else {\n (id as string[]).forEach((i) => {\n delete collections[i];\n });\n }\n\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\n this.decryptedCollectionCache = null;\n }\n}\n","import {\n ITreeNodeObject,\n TreeNode,\n} from '../models/domain/treeNode';\n\nexport class ServiceUtils {\n static nestedTraverse(nodeTree: TreeNode[], partIndex: number, parts: string[],\n obj: ITreeNodeObject, parent: ITreeNodeObject, delimiter: string) {\n if (parts.length <= partIndex) {\n return;\n }\n\n const end = partIndex === parts.length - 1;\n const partName = parts[partIndex];\n\n for (let i = 0; i < nodeTree.length; i++) {\n if (nodeTree[i].node.name !== parts[partIndex]) {\n continue;\n }\n if (end && nodeTree[i].node.id !== obj.id) {\n // Another node with the same name.\n nodeTree.push(new TreeNode(obj, partName, parent));\n return;\n }\n ServiceUtils.nestedTraverse(nodeTree[i].children, partIndex + 1, parts,\n obj, nodeTree[i].node, delimiter);\n return;\n }\n\n if (nodeTree.filter((n) => n.node.name === partName).length === 0) {\n if (end) {\n nodeTree.push(new TreeNode(obj, partName, parent));\n return;\n }\n const newPartName = parts[partIndex] + delimiter + parts[partIndex + 1];\n ServiceUtils.nestedTraverse(nodeTree, 0, [newPartName, ...parts.slice(partIndex + 2)],\n obj, parent, delimiter);\n }\n }\n\n static getTreeNodeObject(nodeTree: TreeNode[], id: string): TreeNode {\n for (let i = 0; i < nodeTree.length; i++) {\n if (nodeTree[i].node.id === id) {\n return nodeTree[i];\n } else if (nodeTree[i].children != null) {\n const node = ServiceUtils.getTreeNodeObject(nodeTree[i].children, id);\n if (node !== null) {\n return node;\n }\n }\n }\n return null;\n }\n}\n","import { CryptoService } from '../abstractions/crypto.service';\n\nexport class ContainerService {\n constructor(private cryptoService: CryptoService) {\n }\n\n // deprecated, use attachToGlobal instead\n attachToWindow(win: any) {\n this.attachToGlobal(win);\n }\n\n attachToGlobal(global: any) {\n if (!global.bitwardenContainerService) {\n global.bitwardenContainerService = this;\n }\n }\n\n getCryptoService(): CryptoService {\n return this.cryptoService;\n }\n}\n","import * as bigInt from 'big-integer';\n\nimport { EncryptionType } from '../enums/encryptionType';\nimport { KdfType } from '../enums/kdfType';\n\nimport { CipherString } from '../models/domain/cipherString';\nimport { EncryptedObject } from '../models/domain/encryptedObject';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\nimport { ProfileOrganizationResponse } from '../models/response/profileOrganizationResponse';\n\nimport { CryptoService as CryptoServiceAbstraction } from '../abstractions/crypto.service';\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\nimport { LogService } from '../abstractions/log.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nimport { ConstantsService } from './constants.service';\n\nimport { sequentialize } from '../misc/sequentialize';\nimport { Utils } from '../misc/utils';\nimport { EEFLongWordList } from '../misc/wordlist';\n\nconst Keys = {\n key: 'key', // Master Key\n encOrgKeys: 'encOrgKeys',\n encPrivateKey: 'encPrivateKey',\n encKey: 'encKey', // Generated Symmetric Key\n keyHash: 'keyHash',\n};\n\nexport class CryptoService implements CryptoServiceAbstraction {\n private key: SymmetricCryptoKey;\n private encKey: SymmetricCryptoKey;\n private legacyEtmKey: SymmetricCryptoKey;\n private keyHash: string;\n private publicKey: ArrayBuffer;\n private privateKey: ArrayBuffer;\n private orgKeys: Map;\n\n constructor(private storageService: StorageService, private secureStorageService: StorageService,\n private cryptoFunctionService: CryptoFunctionService, private platformUtilService: PlatformUtilsService,\n private logService: LogService) {\n }\n\n async setKey(key: SymmetricCryptoKey): Promise {\n this.key = key;\n\n const option = await this.storageService.get(ConstantsService.vaultTimeoutKey);\n const biometric = await this.storageService.get(ConstantsService.biometricUnlockKey);\n if (option != null && !(biometric && this.platformUtilService.supportsSecureStorage())) {\n // if we have a lock option set, we do not store the key\n return;\n }\n\n return this.secureStorageService.save(Keys.key, key.keyB64);\n }\n\n setKeyHash(keyHash: string): Promise<{}> {\n this.keyHash = keyHash;\n return this.storageService.save(Keys.keyHash, keyHash);\n }\n\n async setEncKey(encKey: string): Promise<{}> {\n if (encKey == null) {\n return;\n }\n\n await this.storageService.save(Keys.encKey, encKey);\n this.encKey = null;\n }\n\n async setEncPrivateKey(encPrivateKey: string): Promise<{}> {\n if (encPrivateKey == null) {\n return;\n }\n\n await this.storageService.save(Keys.encPrivateKey, encPrivateKey);\n this.privateKey = null;\n }\n\n setOrgKeys(orgs: ProfileOrganizationResponse[]): Promise<{}> {\n const orgKeys: any = {};\n orgs.forEach((org) => {\n orgKeys[org.id] = org.key;\n });\n\n this.orgKeys = null;\n return this.storageService.save(Keys.encOrgKeys, orgKeys);\n }\n\n async getKey(): Promise {\n if (this.key != null) {\n return this.key;\n }\n\n const key = await this.secureStorageService.get(Keys.key);\n if (key != null) {\n this.key = new SymmetricCryptoKey(Utils.fromB64ToArray(key).buffer);\n }\n\n return key == null ? null : this.key;\n }\n\n async getKeyHash(): Promise {\n if (this.keyHash != null) {\n return this.keyHash;\n }\n\n const keyHash = await this.storageService.get(Keys.keyHash);\n if (keyHash != null) {\n this.keyHash = keyHash;\n }\n\n return keyHash == null ? null : this.keyHash;\n }\n\n @sequentialize(() => 'getEncKey')\n async getEncKey(key: SymmetricCryptoKey = null): Promise {\n if (this.encKey != null) {\n return this.encKey;\n }\n\n const encKey = await this.storageService.get(Keys.encKey);\n if (encKey == null) {\n return null;\n }\n\n if (key == null) {\n key = await this.getKey();\n }\n if (key == null) {\n return null;\n }\n\n let decEncKey: ArrayBuffer;\n const encKeyCipher = new CipherString(encKey);\n if (encKeyCipher.encryptionType === EncryptionType.AesCbc256_B64) {\n decEncKey = await this.decryptToBytes(encKeyCipher, key);\n } else if (encKeyCipher.encryptionType === EncryptionType.AesCbc256_HmacSha256_B64) {\n const newKey = await this.stretchKey(key);\n decEncKey = await this.decryptToBytes(encKeyCipher, newKey);\n } else {\n throw new Error('Unsupported encKey type.');\n }\n\n if (decEncKey == null) {\n return null;\n }\n this.encKey = new SymmetricCryptoKey(decEncKey);\n return this.encKey;\n }\n\n async getPublicKey(): Promise {\n if (this.publicKey != null) {\n return this.publicKey;\n }\n\n const privateKey = await this.getPrivateKey();\n if (privateKey == null) {\n return null;\n }\n\n this.publicKey = await this.cryptoFunctionService.rsaExtractPublicKey(privateKey);\n return this.publicKey;\n }\n\n async getPrivateKey(): Promise {\n if (this.privateKey != null) {\n return this.privateKey;\n }\n\n const encPrivateKey = await this.storageService.get(Keys.encPrivateKey);\n if (encPrivateKey == null) {\n return null;\n }\n\n this.privateKey = await this.decryptToBytes(new CipherString(encPrivateKey), null);\n return this.privateKey;\n }\n\n async getFingerprint(userId: string, publicKey?: ArrayBuffer): Promise {\n if (publicKey == null) {\n publicKey = await this.getPublicKey();\n }\n if (publicKey === null) {\n throw new Error('No public key available.');\n }\n const keyFingerprint = await this.cryptoFunctionService.hash(publicKey, 'sha256');\n const userFingerprint = await this.cryptoFunctionService.hkdfExpand(keyFingerprint, userId, 32, 'sha256');\n return this.hashPhrase(userFingerprint);\n }\n\n @sequentialize(() => 'getOrgKeys')\n async getOrgKeys(): Promise> {\n if (this.orgKeys != null && this.orgKeys.size > 0) {\n return this.orgKeys;\n }\n\n const encOrgKeys = await this.storageService.get(Keys.encOrgKeys);\n if (encOrgKeys == null) {\n return null;\n }\n\n const orgKeys: Map = new Map();\n let setKey = false;\n\n for (const orgId in encOrgKeys) {\n if (!encOrgKeys.hasOwnProperty(orgId)) {\n continue;\n }\n\n const decValue = await this.rsaDecrypt(encOrgKeys[orgId]);\n orgKeys.set(orgId, new SymmetricCryptoKey(decValue));\n setKey = true;\n }\n\n if (setKey) {\n this.orgKeys = orgKeys;\n }\n\n return this.orgKeys;\n }\n\n async getOrgKey(orgId: string): Promise {\n if (orgId == null) {\n return null;\n }\n\n const orgKeys = await this.getOrgKeys();\n if (orgKeys == null || !orgKeys.has(orgId)) {\n return null;\n }\n\n return orgKeys.get(orgId);\n }\n\n async hasKey(): Promise {\n return (await this.getKey()) != null;\n }\n\n async hasEncKey(): Promise {\n const encKey = await this.storageService.get(Keys.encKey);\n return encKey != null;\n }\n\n clearKey(): Promise {\n this.key = this.legacyEtmKey = null;\n return this.secureStorageService.remove(Keys.key);\n }\n\n clearKeyHash(): Promise {\n this.keyHash = null;\n return this.storageService.remove(Keys.keyHash);\n }\n\n clearEncKey(memoryOnly?: boolean): Promise {\n this.encKey = null;\n if (memoryOnly) {\n return Promise.resolve();\n }\n return this.storageService.remove(Keys.encKey);\n }\n\n clearKeyPair(memoryOnly?: boolean): Promise {\n this.privateKey = null;\n this.publicKey = null;\n if (memoryOnly) {\n return Promise.resolve();\n }\n return this.storageService.remove(Keys.encPrivateKey);\n }\n\n clearOrgKeys(memoryOnly?: boolean): Promise {\n this.orgKeys = null;\n if (memoryOnly) {\n return Promise.resolve();\n }\n return this.storageService.remove(Keys.encOrgKeys);\n }\n\n clearPinProtectedKey(): Promise {\n return this.storageService.remove(ConstantsService.pinProtectedKey);\n }\n\n clearKeys(): Promise {\n return Promise.all([\n this.clearKey(),\n this.clearKeyHash(),\n this.clearOrgKeys(),\n this.clearEncKey(),\n this.clearKeyPair(),\n this.clearPinProtectedKey(),\n ]);\n }\n\n async toggleKey(): Promise {\n const key = await this.getKey();\n const option = await this.storageService.get(ConstantsService.vaultTimeoutKey);\n const biometric = await this.storageService.get(ConstantsService.biometricUnlockKey);\n if ((!biometric && this.platformUtilService.supportsSecureStorage()) && (option != null || option === 0)) {\n // if we have a lock option set, clear the key\n await this.clearKey();\n this.key = key;\n return;\n }\n\n await this.setKey(key);\n }\n\n async makeKey(password: string, salt: string, kdf: KdfType, kdfIterations: number):\n Promise {\n let key: ArrayBuffer = null;\n if (kdf == null || kdf === KdfType.PBKDF2_SHA256) {\n if (kdfIterations == null) {\n kdfIterations = 5000;\n } else if (kdfIterations < 5000) {\n throw new Error('PBKDF2 iteration minimum is 5000.');\n }\n key = await this.cryptoFunctionService.pbkdf2(password, salt, 'sha256', kdfIterations);\n } else {\n throw new Error('Unknown Kdf.');\n }\n return new SymmetricCryptoKey(key);\n }\n\n async makeKeyFromPin(pin: string, salt: string, kdf: KdfType, kdfIterations: number,\n protectedKeyCs: CipherString = null):\n Promise {\n if (protectedKeyCs == null) {\n const pinProtectedKey = await this.storageService.get(ConstantsService.pinProtectedKey);\n if (pinProtectedKey == null) {\n throw new Error('No PIN protected key found.');\n }\n protectedKeyCs = new CipherString(pinProtectedKey);\n }\n const pinKey = await this.makePinKey(pin, salt, kdf, kdfIterations);\n const decKey = await this.decryptToBytes(protectedKeyCs, pinKey);\n return new SymmetricCryptoKey(decKey);\n }\n\n async makeShareKey(): Promise<[CipherString, SymmetricCryptoKey]> {\n const shareKey = await this.cryptoFunctionService.randomBytes(64);\n const publicKey = await this.getPublicKey();\n const encShareKey = await this.rsaEncrypt(shareKey, publicKey);\n return [encShareKey, new SymmetricCryptoKey(shareKey)];\n }\n\n async makeKeyPair(key?: SymmetricCryptoKey): Promise<[string, CipherString]> {\n const keyPair = await this.cryptoFunctionService.rsaGenerateKeyPair(2048);\n const publicB64 = Utils.fromBufferToB64(keyPair[0]);\n const privateEnc = await this.encrypt(keyPair[1], key);\n return [publicB64, privateEnc];\n }\n\n async makePinKey(pin: string, salt: string, kdf: KdfType, kdfIterations: number): Promise {\n const pinKey = await this.makeKey(pin, salt, kdf, kdfIterations);\n return await this.stretchKey(pinKey);\n }\n\n async makeSendKey(keyMaterial: ArrayBuffer): Promise {\n const sendKey = await this.cryptoFunctionService.hkdf(keyMaterial, 'bitwarden-send', 'send', 64, 'sha256');\n return new SymmetricCryptoKey(sendKey);\n }\n\n async hashPassword(password: string, key: SymmetricCryptoKey): Promise {\n if (key == null) {\n key = await this.getKey();\n }\n if (password == null || key == null) {\n throw new Error('Invalid parameters.');\n }\n\n const hash = await this.cryptoFunctionService.pbkdf2(key.key, password, 'sha256', 1);\n return Utils.fromBufferToB64(hash);\n }\n\n async makeEncKey(key: SymmetricCryptoKey): Promise<[SymmetricCryptoKey, CipherString]> {\n const theKey = await this.getKeyForEncryption(key);\n const encKey = await this.cryptoFunctionService.randomBytes(64);\n return this.buildEncKey(theKey, encKey);\n }\n\n async remakeEncKey(key: SymmetricCryptoKey, encKey?: SymmetricCryptoKey): Promise<[SymmetricCryptoKey, CipherString]> {\n if (encKey == null) {\n encKey = await this.getEncKey();\n }\n return this.buildEncKey(key, encKey.key);\n }\n\n async encrypt(plainValue: string | ArrayBuffer, key?: SymmetricCryptoKey): Promise {\n if (plainValue == null) {\n return Promise.resolve(null);\n }\n\n let plainBuf: ArrayBuffer;\n if (typeof (plainValue) === 'string') {\n plainBuf = Utils.fromUtf8ToArray(plainValue).buffer;\n } else {\n plainBuf = plainValue;\n }\n\n const encObj = await this.aesEncrypt(plainBuf, key);\n const iv = Utils.fromBufferToB64(encObj.iv);\n const data = Utils.fromBufferToB64(encObj.data);\n const mac = encObj.mac != null ? Utils.fromBufferToB64(encObj.mac) : null;\n return new CipherString(encObj.key.encType, data, iv, mac);\n }\n\n async encryptToBytes(plainValue: ArrayBuffer, key?: SymmetricCryptoKey): Promise {\n const encValue = await this.aesEncrypt(plainValue, key);\n let macLen = 0;\n if (encValue.mac != null) {\n macLen = encValue.mac.byteLength;\n }\n\n const encBytes = new Uint8Array(1 + encValue.iv.byteLength + macLen + encValue.data.byteLength);\n encBytes.set([encValue.key.encType]);\n encBytes.set(new Uint8Array(encValue.iv), 1);\n if (encValue.mac != null) {\n encBytes.set(new Uint8Array(encValue.mac), 1 + encValue.iv.byteLength);\n }\n\n encBytes.set(new Uint8Array(encValue.data), 1 + encValue.iv.byteLength + macLen);\n return encBytes.buffer;\n }\n\n async rsaEncrypt(data: ArrayBuffer, publicKey?: ArrayBuffer): Promise {\n if (publicKey == null) {\n publicKey = await this.getPublicKey();\n }\n if (publicKey == null) {\n throw new Error('Public key unavailable.');\n }\n\n const encBytes = await this.cryptoFunctionService.rsaEncrypt(data, publicKey, 'sha1');\n return new CipherString(EncryptionType.Rsa2048_OaepSha1_B64, Utils.fromBufferToB64(encBytes));\n }\n\n async rsaDecrypt(encValue: string): Promise {\n const headerPieces = encValue.split('.');\n let encType: EncryptionType = null;\n let encPieces: string[];\n\n if (headerPieces.length === 1) {\n encType = EncryptionType.Rsa2048_OaepSha256_B64;\n encPieces = [headerPieces[0]];\n } else if (headerPieces.length === 2) {\n try {\n encType = parseInt(headerPieces[0], null);\n encPieces = headerPieces[1].split('|');\n } catch (e) { }\n }\n\n switch (encType) {\n case EncryptionType.Rsa2048_OaepSha256_B64:\n case EncryptionType.Rsa2048_OaepSha1_B64:\n // HmacSha256 types are deprecated\n case EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:\n case EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:\n break;\n default:\n throw new Error('encType unavailable.');\n }\n\n if (encPieces == null || encPieces.length <= 0) {\n throw new Error('encPieces unavailable.');\n }\n\n const data = Utils.fromB64ToArray(encPieces[0]).buffer;\n const privateKey = await this.getPrivateKey();\n if (privateKey == null) {\n throw new Error('No private key.');\n }\n\n let alg: 'sha1' | 'sha256' = 'sha1';\n switch (encType) {\n case EncryptionType.Rsa2048_OaepSha256_B64:\n case EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:\n alg = 'sha256';\n break;\n case EncryptionType.Rsa2048_OaepSha1_B64:\n case EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:\n break;\n default:\n throw new Error('encType unavailable.');\n }\n\n return this.cryptoFunctionService.rsaDecrypt(data, privateKey, alg);\n }\n\n async decryptToBytes(cipherString: CipherString, key?: SymmetricCryptoKey): Promise {\n const iv = Utils.fromB64ToArray(cipherString.iv).buffer;\n const data = Utils.fromB64ToArray(cipherString.data).buffer;\n const mac = cipherString.mac ? Utils.fromB64ToArray(cipherString.mac).buffer : null;\n const decipher = await this.aesDecryptToBytes(cipherString.encryptionType, data, iv, mac, key);\n if (decipher == null) {\n return null;\n }\n\n return decipher;\n }\n\n async decryptToUtf8(cipherString: CipherString, key?: SymmetricCryptoKey): Promise {\n return await this.aesDecryptToUtf8(cipherString.encryptionType, cipherString.data,\n cipherString.iv, cipherString.mac, key);\n }\n\n async decryptFromBytes(encBuf: ArrayBuffer, key: SymmetricCryptoKey): Promise {\n if (encBuf == null) {\n throw new Error('no encBuf.');\n }\n\n const encBytes = new Uint8Array(encBuf);\n const encType = encBytes[0];\n let ctBytes: Uint8Array = null;\n let ivBytes: Uint8Array = null;\n let macBytes: Uint8Array = null;\n\n switch (encType) {\n case EncryptionType.AesCbc128_HmacSha256_B64:\n case EncryptionType.AesCbc256_HmacSha256_B64:\n if (encBytes.length <= 49) { // 1 + 16 + 32 + ctLength\n return null;\n }\n\n ivBytes = encBytes.slice(1, 17);\n macBytes = encBytes.slice(17, 49);\n ctBytes = encBytes.slice(49);\n break;\n case EncryptionType.AesCbc256_B64:\n if (encBytes.length <= 17) { // 1 + 16 + ctLength\n return null;\n }\n\n ivBytes = encBytes.slice(1, 17);\n ctBytes = encBytes.slice(17);\n break;\n default:\n return null;\n }\n\n return await this.aesDecryptToBytes(encType, ctBytes.buffer, ivBytes.buffer,\n macBytes != null ? macBytes.buffer : null, key);\n }\n\n // EFForg/OpenWireless\n // ref https://github.com/EFForg/OpenWireless/blob/master/app/js/diceware.js\n async randomNumber(min: number, max: number): Promise {\n let rval = 0;\n const range = max - min + 1;\n const bitsNeeded = Math.ceil(Math.log2(range));\n if (bitsNeeded > 53) {\n throw new Error('We cannot generate numbers larger than 53 bits.');\n }\n\n const bytesNeeded = Math.ceil(bitsNeeded / 8);\n const mask = Math.pow(2, bitsNeeded) - 1;\n // 7776 -> (2^13 = 8192) -1 == 8191 or 0x00001111 11111111\n\n // Fill a byte array with N random numbers\n const byteArray = new Uint8Array(await this.cryptoFunctionService.randomBytes(bytesNeeded));\n\n let p = (bytesNeeded - 1) * 8;\n for (let i = 0; i < bytesNeeded; i++) {\n rval += byteArray[i] * Math.pow(2, p);\n p -= 8;\n }\n\n // Use & to apply the mask and reduce the number of recursive lookups\n // tslint:disable-next-line\n rval = rval & mask;\n\n if (rval >= range) {\n // Integer out of acceptable range\n return this.randomNumber(min, max);\n }\n\n // Return an integer that falls within the range\n return min + rval;\n }\n\n // Helpers\n\n private async aesEncrypt(data: ArrayBuffer, key: SymmetricCryptoKey): Promise {\n const obj = new EncryptedObject();\n obj.key = await this.getKeyForEncryption(key);\n obj.iv = await this.cryptoFunctionService.randomBytes(16);\n obj.data = await this.cryptoFunctionService.aesEncrypt(data, obj.iv, obj.key.encKey);\n\n if (obj.key.macKey != null) {\n const macData = new Uint8Array(obj.iv.byteLength + obj.data.byteLength);\n macData.set(new Uint8Array(obj.iv), 0);\n macData.set(new Uint8Array(obj.data), obj.iv.byteLength);\n obj.mac = await this.cryptoFunctionService.hmac(macData.buffer, obj.key.macKey, 'sha256');\n }\n\n return obj;\n }\n\n private async aesDecryptToUtf8(encType: EncryptionType, data: string, iv: string, mac: string,\n key: SymmetricCryptoKey): Promise {\n const keyForEnc = await this.getKeyForEncryption(key);\n const theKey = this.resolveLegacyKey(encType, keyForEnc);\n\n if (theKey.macKey != null && mac == null) {\n this.logService.error('mac required.');\n return null;\n }\n\n if (theKey.encType !== encType) {\n this.logService.error('encType unavailable.');\n return null;\n }\n\n const fastParams = this.cryptoFunctionService.aesDecryptFastParameters(data, iv, mac, theKey);\n if (fastParams.macKey != null && fastParams.mac != null) {\n const computedMac = await this.cryptoFunctionService.hmacFast(fastParams.macData,\n fastParams.macKey, 'sha256');\n const macsEqual = await this.cryptoFunctionService.compareFast(fastParams.mac, computedMac);\n if (!macsEqual) {\n this.logService.error('mac failed.');\n return null;\n }\n }\n\n return this.cryptoFunctionService.aesDecryptFast(fastParams);\n }\n\n private async aesDecryptToBytes(encType: EncryptionType, data: ArrayBuffer, iv: ArrayBuffer,\n mac: ArrayBuffer, key: SymmetricCryptoKey): Promise {\n const keyForEnc = await this.getKeyForEncryption(key);\n const theKey = this.resolveLegacyKey(encType, keyForEnc);\n\n if (theKey.macKey != null && mac == null) {\n return null;\n }\n\n if (theKey.encType !== encType) {\n return null;\n }\n\n if (theKey.macKey != null && mac != null) {\n const macData = new Uint8Array(iv.byteLength + data.byteLength);\n macData.set(new Uint8Array(iv), 0);\n macData.set(new Uint8Array(data), iv.byteLength);\n const computedMac = await this.cryptoFunctionService.hmac(macData.buffer, theKey.macKey, 'sha256');\n if (computedMac === null) {\n return null;\n }\n\n const macsMatch = await this.cryptoFunctionService.compare(mac, computedMac);\n if (!macsMatch) {\n this.logService.error('mac failed.');\n return null;\n }\n }\n\n return await this.cryptoFunctionService.aesDecrypt(data, iv, theKey.encKey);\n }\n\n private async getKeyForEncryption(key?: SymmetricCryptoKey): Promise {\n if (key != null) {\n return key;\n }\n\n const encKey = await this.getEncKey();\n if (encKey != null) {\n return encKey;\n }\n\n return await this.getKey();\n }\n\n private resolveLegacyKey(encType: EncryptionType, key: SymmetricCryptoKey): SymmetricCryptoKey {\n if (encType === EncryptionType.AesCbc128_HmacSha256_B64 &&\n key.encType === EncryptionType.AesCbc256_B64) {\n // Old encrypt-then-mac scheme, make a new key\n if (this.legacyEtmKey == null) {\n this.legacyEtmKey = new SymmetricCryptoKey(key.key, EncryptionType.AesCbc128_HmacSha256_B64);\n }\n return this.legacyEtmKey;\n }\n\n return key;\n }\n\n private async stretchKey(key: SymmetricCryptoKey): Promise {\n const newKey = new Uint8Array(64);\n const encKey = await this.cryptoFunctionService.hkdfExpand(key.key, 'enc', 32, 'sha256');\n const macKey = await this.cryptoFunctionService.hkdfExpand(key.key, 'mac', 32, 'sha256');\n newKey.set(new Uint8Array(encKey));\n newKey.set(new Uint8Array(macKey), 32);\n return new SymmetricCryptoKey(newKey.buffer);\n }\n\n private async hashPhrase(hash: ArrayBuffer, minimumEntropy: number = 64) {\n const entropyPerWord = Math.log(EEFLongWordList.length) / Math.log(2);\n let numWords = Math.ceil(minimumEntropy / entropyPerWord);\n\n const hashArr = Array.from(new Uint8Array(hash));\n const entropyAvailable = hashArr.length * 4;\n if (numWords * entropyPerWord > entropyAvailable) {\n throw new Error('Output entropy of hash function is too small');\n }\n\n const phrase: string[] = [];\n let hashNumber = bigInt.fromArray(hashArr, 256);\n while (numWords--) {\n const remainder = hashNumber.mod(EEFLongWordList.length);\n hashNumber = hashNumber.divide(EEFLongWordList.length);\n phrase.push(EEFLongWordList[remainder as any]);\n }\n return phrase;\n }\n\n private async buildEncKey(key: SymmetricCryptoKey, encKey: ArrayBuffer)\n : Promise<[SymmetricCryptoKey, CipherString]> {\n let encKeyEnc: CipherString = null;\n if (key.key.byteLength === 32) {\n const newKey = await this.stretchKey(key);\n encKeyEnc = await this.encrypt(encKey, newKey);\n } else if (key.key.byteLength === 64) {\n encKeyEnc = await this.encrypt(encKey, key);\n } else {\n throw new Error('Invalid key size.');\n }\n return [new SymmetricCryptoKey(encKey), encKeyEnc];\n }\n}\n","// EFF's Long Wordlist from https://www.eff.org/dice\nexport const EEFLongWordList = [\n 'abacus',\n 'abdomen',\n 'abdominal',\n 'abide',\n 'abiding',\n 'ability',\n 'ablaze',\n 'able',\n 'abnormal',\n 'abrasion',\n 'abrasive',\n 'abreast',\n 'abridge',\n 'abroad',\n 'abruptly',\n 'absence',\n 'absentee',\n 'absently',\n 'absinthe',\n 'absolute',\n 'absolve',\n 'abstain',\n 'abstract',\n 'absurd',\n 'accent',\n 'acclaim',\n 'acclimate',\n 'accompany',\n 'account',\n 'accuracy',\n 'accurate',\n 'accustom',\n 'acetone',\n 'achiness',\n 'aching',\n 'acid',\n 'acorn',\n 'acquaint',\n 'acquire',\n 'acre',\n 'acrobat',\n 'acronym',\n 'acting',\n 'action',\n 'activate',\n 'activator',\n 'active',\n 'activism',\n 'activist',\n 'activity',\n 'actress',\n 'acts',\n 'acutely',\n 'acuteness',\n 'aeration',\n 'aerobics',\n 'aerosol',\n 'aerospace',\n 'afar',\n 'affair',\n 'affected',\n 'affecting',\n 'affection',\n 'affidavit',\n 'affiliate',\n 'affirm',\n 'affix',\n 'afflicted',\n 'affluent',\n 'afford',\n 'affront',\n 'aflame',\n 'afloat',\n 'aflutter',\n 'afoot',\n 'afraid',\n 'afterglow',\n 'afterlife',\n 'aftermath',\n 'aftermost',\n 'afternoon',\n 'aged',\n 'ageless',\n 'agency',\n 'agenda',\n 'agent',\n 'aggregate',\n 'aghast',\n 'agile',\n 'agility',\n 'aging',\n 'agnostic',\n 'agonize',\n 'agonizing',\n 'agony',\n 'agreeable',\n 'agreeably',\n 'agreed',\n 'agreeing',\n 'agreement',\n 'aground',\n 'ahead',\n 'ahoy',\n 'aide',\n 'aids',\n 'aim',\n 'ajar',\n 'alabaster',\n 'alarm',\n 'albatross',\n 'album',\n 'alfalfa',\n 'algebra',\n 'algorithm',\n 'alias',\n 'alibi',\n 'alienable',\n 'alienate',\n 'aliens',\n 'alike',\n 'alive',\n 'alkaline',\n 'alkalize',\n 'almanac',\n 'almighty',\n 'almost',\n 'aloe',\n 'aloft',\n 'aloha',\n 'alone',\n 'alongside',\n 'aloof',\n 'alphabet',\n 'alright',\n 'although',\n 'altitude',\n 'alto',\n 'aluminum',\n 'alumni',\n 'always',\n 'amaretto',\n 'amaze',\n 'amazingly',\n 'amber',\n 'ambiance',\n 'ambiguity',\n 'ambiguous',\n 'ambition',\n 'ambitious',\n 'ambulance',\n 'ambush',\n 'amendable',\n 'amendment',\n 'amends',\n 'amenity',\n 'amiable',\n 'amicably',\n 'amid',\n 'amigo',\n 'amino',\n 'amiss',\n 'ammonia',\n 'ammonium',\n 'amnesty',\n 'amniotic',\n 'among',\n 'amount',\n 'amperage',\n 'ample',\n 'amplifier',\n 'amplify',\n 'amply',\n 'amuck',\n 'amulet',\n 'amusable',\n 'amused',\n 'amusement',\n 'amuser',\n 'amusing',\n 'anaconda',\n 'anaerobic',\n 'anagram',\n 'anatomist',\n 'anatomy',\n 'anchor',\n 'anchovy',\n 'ancient',\n 'android',\n 'anemia',\n 'anemic',\n 'aneurism',\n 'anew',\n 'angelfish',\n 'angelic',\n 'anger',\n 'angled',\n 'angler',\n 'angles',\n 'angling',\n 'angrily',\n 'angriness',\n 'anguished',\n 'angular',\n 'animal',\n 'animate',\n 'animating',\n 'animation',\n 'animator',\n 'anime',\n 'animosity',\n 'ankle',\n 'annex',\n 'annotate',\n 'announcer',\n 'annoying',\n 'annually',\n 'annuity',\n 'anointer',\n 'another',\n 'answering',\n 'antacid',\n 'antarctic',\n 'anteater',\n 'antelope',\n 'antennae',\n 'anthem',\n 'anthill',\n 'anthology',\n 'antibody',\n 'antics',\n 'antidote',\n 'antihero',\n 'antiquely',\n 'antiques',\n 'antiquity',\n 'antirust',\n 'antitoxic',\n 'antitrust',\n 'antiviral',\n 'antivirus',\n 'antler',\n 'antonym',\n 'antsy',\n 'anvil',\n 'anybody',\n 'anyhow',\n 'anymore',\n 'anyone',\n 'anyplace',\n 'anything',\n 'anytime',\n 'anyway',\n 'anywhere',\n 'aorta',\n 'apache',\n 'apostle',\n 'appealing',\n 'appear',\n 'appease',\n 'appeasing',\n 'appendage',\n 'appendix',\n 'appetite',\n 'appetizer',\n 'applaud',\n 'applause',\n 'apple',\n 'appliance',\n 'applicant',\n 'applied',\n 'apply',\n 'appointee',\n 'appraisal',\n 'appraiser',\n 'apprehend',\n 'approach',\n 'approval',\n 'approve',\n 'apricot',\n 'april',\n 'apron',\n 'aptitude',\n 'aptly',\n 'aqua',\n 'aqueduct',\n 'arbitrary',\n 'arbitrate',\n 'ardently',\n 'area',\n 'arena',\n 'arguable',\n 'arguably',\n 'argue',\n 'arise',\n 'armadillo',\n 'armband',\n 'armchair',\n 'armed',\n 'armful',\n 'armhole',\n 'arming',\n 'armless',\n 'armoire',\n 'armored',\n 'armory',\n 'armrest',\n 'army',\n 'aroma',\n 'arose',\n 'around',\n 'arousal',\n 'arrange',\n 'array',\n 'arrest',\n 'arrival',\n 'arrive',\n 'arrogance',\n 'arrogant',\n 'arson',\n 'art',\n 'ascend',\n 'ascension',\n 'ascent',\n 'ascertain',\n 'ashamed',\n 'ashen',\n 'ashes',\n 'ashy',\n 'aside',\n 'askew',\n 'asleep',\n 'asparagus',\n 'aspect',\n 'aspirate',\n 'aspire',\n 'aspirin',\n 'astonish',\n 'astound',\n 'astride',\n 'astrology',\n 'astronaut',\n 'astronomy',\n 'astute',\n 'atlantic',\n 'atlas',\n 'atom',\n 'atonable',\n 'atop',\n 'atrium',\n 'atrocious',\n 'atrophy',\n 'attach',\n 'attain',\n 'attempt',\n 'attendant',\n 'attendee',\n 'attention',\n 'attentive',\n 'attest',\n 'attic',\n 'attire',\n 'attitude',\n 'attractor',\n 'attribute',\n 'atypical',\n 'auction',\n 'audacious',\n 'audacity',\n 'audible',\n 'audibly',\n 'audience',\n 'audio',\n 'audition',\n 'augmented',\n 'august',\n 'authentic',\n 'author',\n 'autism',\n 'autistic',\n 'autograph',\n 'automaker',\n 'automated',\n 'automatic',\n 'autopilot',\n 'available',\n 'avalanche',\n 'avatar',\n 'avenge',\n 'avenging',\n 'avenue',\n 'average',\n 'aversion',\n 'avert',\n 'aviation',\n 'aviator',\n 'avid',\n 'avoid',\n 'await',\n 'awaken',\n 'award',\n 'aware',\n 'awhile',\n 'awkward',\n 'awning',\n 'awoke',\n 'awry',\n 'axis',\n 'babble',\n 'babbling',\n 'babied',\n 'baboon',\n 'backache',\n 'backboard',\n 'backboned',\n 'backdrop',\n 'backed',\n 'backer',\n 'backfield',\n 'backfire',\n 'backhand',\n 'backing',\n 'backlands',\n 'backlash',\n 'backless',\n 'backlight',\n 'backlit',\n 'backlog',\n 'backpack',\n 'backpedal',\n 'backrest',\n 'backroom',\n 'backshift',\n 'backside',\n 'backslid',\n 'backspace',\n 'backspin',\n 'backstab',\n 'backstage',\n 'backtalk',\n 'backtrack',\n 'backup',\n 'backward',\n 'backwash',\n 'backwater',\n 'backyard',\n 'bacon',\n 'bacteria',\n 'bacterium',\n 'badass',\n 'badge',\n 'badland',\n 'badly',\n 'badness',\n 'baffle',\n 'baffling',\n 'bagel',\n 'bagful',\n 'baggage',\n 'bagged',\n 'baggie',\n 'bagginess',\n 'bagging',\n 'baggy',\n 'bagpipe',\n 'baguette',\n 'baked',\n 'bakery',\n 'bakeshop',\n 'baking',\n 'balance',\n 'balancing',\n 'balcony',\n 'balmy',\n 'balsamic',\n 'bamboo',\n 'banana',\n 'banish',\n 'banister',\n 'banjo',\n 'bankable',\n 'bankbook',\n 'banked',\n 'banker',\n 'banking',\n 'banknote',\n 'bankroll',\n 'banner',\n 'bannister',\n 'banshee',\n 'banter',\n 'barbecue',\n 'barbed',\n 'barbell',\n 'barber',\n 'barcode',\n 'barge',\n 'bargraph',\n 'barista',\n 'baritone',\n 'barley',\n 'barmaid',\n 'barman',\n 'barn',\n 'barometer',\n 'barrack',\n 'barracuda',\n 'barrel',\n 'barrette',\n 'barricade',\n 'barrier',\n 'barstool',\n 'bartender',\n 'barterer',\n 'bash',\n 'basically',\n 'basics',\n 'basil',\n 'basin',\n 'basis',\n 'basket',\n 'batboy',\n 'batch',\n 'bath',\n 'baton',\n 'bats',\n 'battalion',\n 'battered',\n 'battering',\n 'battery',\n 'batting',\n 'battle',\n 'bauble',\n 'bazooka',\n 'blabber',\n 'bladder',\n 'blade',\n 'blah',\n 'blame',\n 'blaming',\n 'blanching',\n 'blandness',\n 'blank',\n 'blaspheme',\n 'blasphemy',\n 'blast',\n 'blatancy',\n 'blatantly',\n 'blazer',\n 'blazing',\n 'bleach',\n 'bleak',\n 'bleep',\n 'blemish',\n 'blend',\n 'bless',\n 'blighted',\n 'blimp',\n 'bling',\n 'blinked',\n 'blinker',\n 'blinking',\n 'blinks',\n 'blip',\n 'blissful',\n 'blitz',\n 'blizzard',\n 'bloated',\n 'bloating',\n 'blob',\n 'blog',\n 'bloomers',\n 'blooming',\n 'blooper',\n 'blot',\n 'blouse',\n 'blubber',\n 'bluff',\n 'bluish',\n 'blunderer',\n 'blunt',\n 'blurb',\n 'blurred',\n 'blurry',\n 'blurt',\n 'blush',\n 'blustery',\n 'boaster',\n 'boastful',\n 'boasting',\n 'boat',\n 'bobbed',\n 'bobbing',\n 'bobble',\n 'bobcat',\n 'bobsled',\n 'bobtail',\n 'bodacious',\n 'body',\n 'bogged',\n 'boggle',\n 'bogus',\n 'boil',\n 'bok',\n 'bolster',\n 'bolt',\n 'bonanza',\n 'bonded',\n 'bonding',\n 'bondless',\n 'boned',\n 'bonehead',\n 'boneless',\n 'bonelike',\n 'boney',\n 'bonfire',\n 'bonnet',\n 'bonsai',\n 'bonus',\n 'bony',\n 'boogeyman',\n 'boogieman',\n 'book',\n 'boondocks',\n 'booted',\n 'booth',\n 'bootie',\n 'booting',\n 'bootlace',\n 'bootleg',\n 'boots',\n 'boozy',\n 'borax',\n 'boring',\n 'borough',\n 'borrower',\n 'borrowing',\n 'boss',\n 'botanical',\n 'botanist',\n 'botany',\n 'botch',\n 'both',\n 'bottle',\n 'bottling',\n 'bottom',\n 'bounce',\n 'bouncing',\n 'bouncy',\n 'bounding',\n 'boundless',\n 'bountiful',\n 'bovine',\n 'boxcar',\n 'boxer',\n 'boxing',\n 'boxlike',\n 'boxy',\n 'breach',\n 'breath',\n 'breeches',\n 'breeching',\n 'breeder',\n 'breeding',\n 'breeze',\n 'breezy',\n 'brethren',\n 'brewery',\n 'brewing',\n 'briar',\n 'bribe',\n 'brick',\n 'bride',\n 'bridged',\n 'brigade',\n 'bright',\n 'brilliant',\n 'brim',\n 'bring',\n 'brink',\n 'brisket',\n 'briskly',\n 'briskness',\n 'bristle',\n 'brittle',\n 'broadband',\n 'broadcast',\n 'broaden',\n 'broadly',\n 'broadness',\n 'broadside',\n 'broadways',\n 'broiler',\n 'broiling',\n 'broken',\n 'broker',\n 'bronchial',\n 'bronco',\n 'bronze',\n 'bronzing',\n 'brook',\n 'broom',\n 'brought',\n 'browbeat',\n 'brownnose',\n 'browse',\n 'browsing',\n 'bruising',\n 'brunch',\n 'brunette',\n 'brunt',\n 'brush',\n 'brussels',\n 'brute',\n 'brutishly',\n 'bubble',\n 'bubbling',\n 'bubbly',\n 'buccaneer',\n 'bucked',\n 'bucket',\n 'buckle',\n 'buckshot',\n 'buckskin',\n 'bucktooth',\n 'buckwheat',\n 'buddhism',\n 'buddhist',\n 'budding',\n 'buddy',\n 'budget',\n 'buffalo',\n 'buffed',\n 'buffer',\n 'buffing',\n 'buffoon',\n 'buggy',\n 'bulb',\n 'bulge',\n 'bulginess',\n 'bulgur',\n 'bulk',\n 'bulldog',\n 'bulldozer',\n 'bullfight',\n 'bullfrog',\n 'bullhorn',\n 'bullion',\n 'bullish',\n 'bullpen',\n 'bullring',\n 'bullseye',\n 'bullwhip',\n 'bully',\n 'bunch',\n 'bundle',\n 'bungee',\n 'bunion',\n 'bunkbed',\n 'bunkhouse',\n 'bunkmate',\n 'bunny',\n 'bunt',\n 'busboy',\n 'bush',\n 'busily',\n 'busload',\n 'bust',\n 'busybody',\n 'buzz',\n 'cabana',\n 'cabbage',\n 'cabbie',\n 'cabdriver',\n 'cable',\n 'caboose',\n 'cache',\n 'cackle',\n 'cacti',\n 'cactus',\n 'caddie',\n 'caddy',\n 'cadet',\n 'cadillac',\n 'cadmium',\n 'cage',\n 'cahoots',\n 'cake',\n 'calamari',\n 'calamity',\n 'calcium',\n 'calculate',\n 'calculus',\n 'caliber',\n 'calibrate',\n 'calm',\n 'caloric',\n 'calorie',\n 'calzone',\n 'camcorder',\n 'cameo',\n 'camera',\n 'camisole',\n 'camper',\n 'campfire',\n 'camping',\n 'campsite',\n 'campus',\n 'canal',\n 'canary',\n 'cancel',\n 'candied',\n 'candle',\n 'candy',\n 'cane',\n 'canine',\n 'canister',\n 'cannabis',\n 'canned',\n 'canning',\n 'cannon',\n 'cannot',\n 'canola',\n 'canon',\n 'canopener',\n 'canopy',\n 'canteen',\n 'canyon',\n 'capable',\n 'capably',\n 'capacity',\n 'cape',\n 'capillary',\n 'capital',\n 'capitol',\n 'capped',\n 'capricorn',\n 'capsize',\n 'capsule',\n 'caption',\n 'captivate',\n 'captive',\n 'captivity',\n 'capture',\n 'caramel',\n 'carat',\n 'caravan',\n 'carbon',\n 'cardboard',\n 'carded',\n 'cardiac',\n 'cardigan',\n 'cardinal',\n 'cardstock',\n 'carefully',\n 'caregiver',\n 'careless',\n 'caress',\n 'caretaker',\n 'cargo',\n 'caring',\n 'carless',\n 'carload',\n 'carmaker',\n 'carnage',\n 'carnation',\n 'carnival',\n 'carnivore',\n 'carol',\n 'carpenter',\n 'carpentry',\n 'carpool',\n 'carport',\n 'carried',\n 'carrot',\n 'carrousel',\n 'carry',\n 'cartel',\n 'cartload',\n 'carton',\n 'cartoon',\n 'cartridge',\n 'cartwheel',\n 'carve',\n 'carving',\n 'carwash',\n 'cascade',\n 'case',\n 'cash',\n 'casing',\n 'casino',\n 'casket',\n 'cassette',\n 'casually',\n 'casualty',\n 'catacomb',\n 'catalog',\n 'catalyst',\n 'catalyze',\n 'catapult',\n 'cataract',\n 'catatonic',\n 'catcall',\n 'catchable',\n 'catcher',\n 'catching',\n 'catchy',\n 'caterer',\n 'catering',\n 'catfight',\n 'catfish',\n 'cathedral',\n 'cathouse',\n 'catlike',\n 'catnap',\n 'catnip',\n 'catsup',\n 'cattail',\n 'cattishly',\n 'cattle',\n 'catty',\n 'catwalk',\n 'caucasian',\n 'caucus',\n 'causal',\n 'causation',\n 'cause',\n 'causing',\n 'cauterize',\n 'caution',\n 'cautious',\n 'cavalier',\n 'cavalry',\n 'caviar',\n 'cavity',\n 'cedar',\n 'celery',\n 'celestial',\n 'celibacy',\n 'celibate',\n 'celtic',\n 'cement',\n 'census',\n 'ceramics',\n 'ceremony',\n 'certainly',\n 'certainty',\n 'certified',\n 'certify',\n 'cesarean',\n 'cesspool',\n 'chafe',\n 'chaffing',\n 'chain',\n 'chair',\n 'chalice',\n 'challenge',\n 'chamber',\n 'chamomile',\n 'champion',\n 'chance',\n 'change',\n 'channel',\n 'chant',\n 'chaos',\n 'chaperone',\n 'chaplain',\n 'chapped',\n 'chaps',\n 'chapter',\n 'character',\n 'charbroil',\n 'charcoal',\n 'charger',\n 'charging',\n 'chariot',\n 'charity',\n 'charm',\n 'charred',\n 'charter',\n 'charting',\n 'chase',\n 'chasing',\n 'chaste',\n 'chastise',\n 'chastity',\n 'chatroom',\n 'chatter',\n 'chatting',\n 'chatty',\n 'cheating',\n 'cheddar',\n 'cheek',\n 'cheer',\n 'cheese',\n 'cheesy',\n 'chef',\n 'chemicals',\n 'chemist',\n 'chemo',\n 'cherisher',\n 'cherub',\n 'chess',\n 'chest',\n 'chevron',\n 'chevy',\n 'chewable',\n 'chewer',\n 'chewing',\n 'chewy',\n 'chief',\n 'chihuahua',\n 'childcare',\n 'childhood',\n 'childish',\n 'childless',\n 'childlike',\n 'chili',\n 'chill',\n 'chimp',\n 'chip',\n 'chirping',\n 'chirpy',\n 'chitchat',\n 'chivalry',\n 'chive',\n 'chloride',\n 'chlorine',\n 'choice',\n 'chokehold',\n 'choking',\n 'chomp',\n 'chooser',\n 'choosing',\n 'choosy',\n 'chop',\n 'chosen',\n 'chowder',\n 'chowtime',\n 'chrome',\n 'chubby',\n 'chuck',\n 'chug',\n 'chummy',\n 'chump',\n 'chunk',\n 'churn',\n 'chute',\n 'cider',\n 'cilantro',\n 'cinch',\n 'cinema',\n 'cinnamon',\n 'circle',\n 'circling',\n 'circular',\n 'circulate',\n 'circus',\n 'citable',\n 'citadel',\n 'citation',\n 'citizen',\n 'citric',\n 'citrus',\n 'city',\n 'civic',\n 'civil',\n 'clad',\n 'claim',\n 'clambake',\n 'clammy',\n 'clamor',\n 'clamp',\n 'clamshell',\n 'clang',\n 'clanking',\n 'clapped',\n 'clapper',\n 'clapping',\n 'clarify',\n 'clarinet',\n 'clarity',\n 'clash',\n 'clasp',\n 'class',\n 'clatter',\n 'clause',\n 'clavicle',\n 'claw',\n 'clay',\n 'clean',\n 'clear',\n 'cleat',\n 'cleaver',\n 'cleft',\n 'clench',\n 'clergyman',\n 'clerical',\n 'clerk',\n 'clever',\n 'clicker',\n 'client',\n 'climate',\n 'climatic',\n 'cling',\n 'clinic',\n 'clinking',\n 'clip',\n 'clique',\n 'cloak',\n 'clobber',\n 'clock',\n 'clone',\n 'cloning',\n 'closable',\n 'closure',\n 'clothes',\n 'clothing',\n 'cloud',\n 'clover',\n 'clubbed',\n 'clubbing',\n 'clubhouse',\n 'clump',\n 'clumsily',\n 'clumsy',\n 'clunky',\n 'clustered',\n 'clutch',\n 'clutter',\n 'coach',\n 'coagulant',\n 'coastal',\n 'coaster',\n 'coasting',\n 'coastland',\n 'coastline',\n 'coat',\n 'coauthor',\n 'cobalt',\n 'cobbler',\n 'cobweb',\n 'cocoa',\n 'coconut',\n 'cod',\n 'coeditor',\n 'coerce',\n 'coexist',\n 'coffee',\n 'cofounder',\n 'cognition',\n 'cognitive',\n 'cogwheel',\n 'coherence',\n 'coherent',\n 'cohesive',\n 'coil',\n 'coke',\n 'cola',\n 'cold',\n 'coleslaw',\n 'coliseum',\n 'collage',\n 'collapse',\n 'collar',\n 'collected',\n 'collector',\n 'collide',\n 'collie',\n 'collision',\n 'colonial',\n 'colonist',\n 'colonize',\n 'colony',\n 'colossal',\n 'colt',\n 'coma',\n 'come',\n 'comfort',\n 'comfy',\n 'comic',\n 'coming',\n 'comma',\n 'commence',\n 'commend',\n 'comment',\n 'commerce',\n 'commode',\n 'commodity',\n 'commodore',\n 'common',\n 'commotion',\n 'commute',\n 'commuting',\n 'compacted',\n 'compacter',\n 'compactly',\n 'compactor',\n 'companion',\n 'company',\n 'compare',\n 'compel',\n 'compile',\n 'comply',\n 'component',\n 'composed',\n 'composer',\n 'composite',\n 'compost',\n 'composure',\n 'compound',\n 'compress',\n 'comprised',\n 'computer',\n 'computing',\n 'comrade',\n 'concave',\n 'conceal',\n 'conceded',\n 'concept',\n 'concerned',\n 'concert',\n 'conch',\n 'concierge',\n 'concise',\n 'conclude',\n 'concrete',\n 'concur',\n 'condense',\n 'condiment',\n 'condition',\n 'condone',\n 'conducive',\n 'conductor',\n 'conduit',\n 'cone',\n 'confess',\n 'confetti',\n 'confidant',\n 'confident',\n 'confider',\n 'confiding',\n 'configure',\n 'confined',\n 'confining',\n 'confirm',\n 'conflict',\n 'conform',\n 'confound',\n 'confront',\n 'confused',\n 'confusing',\n 'confusion',\n 'congenial',\n 'congested',\n 'congrats',\n 'congress',\n 'conical',\n 'conjoined',\n 'conjure',\n 'conjuror',\n 'connected',\n 'connector',\n 'consensus',\n 'consent',\n 'console',\n 'consoling',\n 'consonant',\n 'constable',\n 'constant',\n 'constrain',\n 'constrict',\n 'construct',\n 'consult',\n 'consumer',\n 'consuming',\n 'contact',\n 'container',\n 'contempt',\n 'contend',\n 'contented',\n 'contently',\n 'contents',\n 'contest',\n 'context',\n 'contort',\n 'contour',\n 'contrite',\n 'control',\n 'contusion',\n 'convene',\n 'convent',\n 'copartner',\n 'cope',\n 'copied',\n 'copier',\n 'copilot',\n 'coping',\n 'copious',\n 'copper',\n 'copy',\n 'coral',\n 'cork',\n 'cornball',\n 'cornbread',\n 'corncob',\n 'cornea',\n 'corned',\n 'corner',\n 'cornfield',\n 'cornflake',\n 'cornhusk',\n 'cornmeal',\n 'cornstalk',\n 'corny',\n 'coronary',\n 'coroner',\n 'corporal',\n 'corporate',\n 'corral',\n 'correct',\n 'corridor',\n 'corrode',\n 'corroding',\n 'corrosive',\n 'corsage',\n 'corset',\n 'cortex',\n 'cosigner',\n 'cosmetics',\n 'cosmic',\n 'cosmos',\n 'cosponsor',\n 'cost',\n 'cottage',\n 'cotton',\n 'couch',\n 'cough',\n 'could',\n 'countable',\n 'countdown',\n 'counting',\n 'countless',\n 'country',\n 'county',\n 'courier',\n 'covenant',\n 'cover',\n 'coveted',\n 'coveting',\n 'coyness',\n 'cozily',\n 'coziness',\n 'cozy',\n 'crabbing',\n 'crabgrass',\n 'crablike',\n 'crabmeat',\n 'cradle',\n 'cradling',\n 'crafter',\n 'craftily',\n 'craftsman',\n 'craftwork',\n 'crafty',\n 'cramp',\n 'cranberry',\n 'crane',\n 'cranial',\n 'cranium',\n 'crank',\n 'crate',\n 'crave',\n 'craving',\n 'crawfish',\n 'crawlers',\n 'crawling',\n 'crayfish',\n 'crayon',\n 'crazed',\n 'crazily',\n 'craziness',\n 'crazy',\n 'creamed',\n 'creamer',\n 'creamlike',\n 'crease',\n 'creasing',\n 'creatable',\n 'create',\n 'creation',\n 'creative',\n 'creature',\n 'credible',\n 'credibly',\n 'credit',\n 'creed',\n 'creme',\n 'creole',\n 'crepe',\n 'crept',\n 'crescent',\n 'crested',\n 'cresting',\n 'crestless',\n 'crevice',\n 'crewless',\n 'crewman',\n 'crewmate',\n 'crib',\n 'cricket',\n 'cried',\n 'crier',\n 'crimp',\n 'crimson',\n 'cringe',\n 'cringing',\n 'crinkle',\n 'crinkly',\n 'crisped',\n 'crisping',\n 'crisply',\n 'crispness',\n 'crispy',\n 'criteria',\n 'critter',\n 'croak',\n 'crock',\n 'crook',\n 'croon',\n 'crop',\n 'cross',\n 'crouch',\n 'crouton',\n 'crowbar',\n 'crowd',\n 'crown',\n 'crucial',\n 'crudely',\n 'crudeness',\n 'cruelly',\n 'cruelness',\n 'cruelty',\n 'crumb',\n 'crummiest',\n 'crummy',\n 'crumpet',\n 'crumpled',\n 'cruncher',\n 'crunching',\n 'crunchy',\n 'crusader',\n 'crushable',\n 'crushed',\n 'crusher',\n 'crushing',\n 'crust',\n 'crux',\n 'crying',\n 'cryptic',\n 'crystal',\n 'cubbyhole',\n 'cube',\n 'cubical',\n 'cubicle',\n 'cucumber',\n 'cuddle',\n 'cuddly',\n 'cufflink',\n 'culinary',\n 'culminate',\n 'culpable',\n 'culprit',\n 'cultivate',\n 'cultural',\n 'culture',\n 'cupbearer',\n 'cupcake',\n 'cupid',\n 'cupped',\n 'cupping',\n 'curable',\n 'curator',\n 'curdle',\n 'cure',\n 'curfew',\n 'curing',\n 'curled',\n 'curler',\n 'curliness',\n 'curling',\n 'curly',\n 'curry',\n 'curse',\n 'cursive',\n 'cursor',\n 'curtain',\n 'curtly',\n 'curtsy',\n 'curvature',\n 'curve',\n 'curvy',\n 'cushy',\n 'cusp',\n 'cussed',\n 'custard',\n 'custodian',\n 'custody',\n 'customary',\n 'customer',\n 'customize',\n 'customs',\n 'cut',\n 'cycle',\n 'cyclic',\n 'cycling',\n 'cyclist',\n 'cylinder',\n 'cymbal',\n 'cytoplasm',\n 'cytoplast',\n 'dab',\n 'dad',\n 'daffodil',\n 'dagger',\n 'daily',\n 'daintily',\n 'dainty',\n 'dairy',\n 'daisy',\n 'dallying',\n 'dance',\n 'dancing',\n 'dandelion',\n 'dander',\n 'dandruff',\n 'dandy',\n 'danger',\n 'dangle',\n 'dangling',\n 'daredevil',\n 'dares',\n 'daringly',\n 'darkened',\n 'darkening',\n 'darkish',\n 'darkness',\n 'darkroom',\n 'darling',\n 'darn',\n 'dart',\n 'darwinism',\n 'dash',\n 'dastardly',\n 'data',\n 'datebook',\n 'dating',\n 'daughter',\n 'daunting',\n 'dawdler',\n 'dawn',\n 'daybed',\n 'daybreak',\n 'daycare',\n 'daydream',\n 'daylight',\n 'daylong',\n 'dayroom',\n 'daytime',\n 'dazzler',\n 'dazzling',\n 'deacon',\n 'deafening',\n 'deafness',\n 'dealer',\n 'dealing',\n 'dealmaker',\n 'dealt',\n 'dean',\n 'debatable',\n 'debate',\n 'debating',\n 'debit',\n 'debrief',\n 'debtless',\n 'debtor',\n 'debug',\n 'debunk',\n 'decade',\n 'decaf',\n 'decal',\n 'decathlon',\n 'decay',\n 'deceased',\n 'deceit',\n 'deceiver',\n 'deceiving',\n 'december',\n 'decency',\n 'decent',\n 'deception',\n 'deceptive',\n 'decibel',\n 'decidable',\n 'decimal',\n 'decimeter',\n 'decipher',\n 'deck',\n 'declared',\n 'decline',\n 'decode',\n 'decompose',\n 'decorated',\n 'decorator',\n 'decoy',\n 'decrease',\n 'decree',\n 'dedicate',\n 'dedicator',\n 'deduce',\n 'deduct',\n 'deed',\n 'deem',\n 'deepen',\n 'deeply',\n 'deepness',\n 'deface',\n 'defacing',\n 'defame',\n 'default',\n 'defeat',\n 'defection',\n 'defective',\n 'defendant',\n 'defender',\n 'defense',\n 'defensive',\n 'deferral',\n 'deferred',\n 'defiance',\n 'defiant',\n 'defile',\n 'defiling',\n 'define',\n 'definite',\n 'deflate',\n 'deflation',\n 'deflator',\n 'deflected',\n 'deflector',\n 'defog',\n 'deforest',\n 'defraud',\n 'defrost',\n 'deftly',\n 'defuse',\n 'defy',\n 'degraded',\n 'degrading',\n 'degrease',\n 'degree',\n 'dehydrate',\n 'deity',\n 'dejected',\n 'delay',\n 'delegate',\n 'delegator',\n 'delete',\n 'deletion',\n 'delicacy',\n 'delicate',\n 'delicious',\n 'delighted',\n 'delirious',\n 'delirium',\n 'deliverer',\n 'delivery',\n 'delouse',\n 'delta',\n 'deluge',\n 'delusion',\n 'deluxe',\n 'demanding',\n 'demeaning',\n 'demeanor',\n 'demise',\n 'democracy',\n 'democrat',\n 'demote',\n 'demotion',\n 'demystify',\n 'denatured',\n 'deniable',\n 'denial',\n 'denim',\n 'denote',\n 'dense',\n 'density',\n 'dental',\n 'dentist',\n 'denture',\n 'deny',\n 'deodorant',\n 'deodorize',\n 'departed',\n 'departure',\n 'depict',\n 'deplete',\n 'depletion',\n 'deplored',\n 'deploy',\n 'deport',\n 'depose',\n 'depraved',\n 'depravity',\n 'deprecate',\n 'depress',\n 'deprive',\n 'depth',\n 'deputize',\n 'deputy',\n 'derail',\n 'deranged',\n 'derby',\n 'derived',\n 'desecrate',\n 'deserve',\n 'deserving',\n 'designate',\n 'designed',\n 'designer',\n 'designing',\n 'deskbound',\n 'desktop',\n 'deskwork',\n 'desolate',\n 'despair',\n 'despise',\n 'despite',\n 'destiny',\n 'destitute',\n 'destruct',\n 'detached',\n 'detail',\n 'detection',\n 'detective',\n 'detector',\n 'detention',\n 'detergent',\n 'detest',\n 'detonate',\n 'detonator',\n 'detoxify',\n 'detract',\n 'deuce',\n 'devalue',\n 'deviancy',\n 'deviant',\n 'deviate',\n 'deviation',\n 'deviator',\n 'device',\n 'devious',\n 'devotedly',\n 'devotee',\n 'devotion',\n 'devourer',\n 'devouring',\n 'devoutly',\n 'dexterity',\n 'dexterous',\n 'diabetes',\n 'diabetic',\n 'diabolic',\n 'diagnoses',\n 'diagnosis',\n 'diagram',\n 'dial',\n 'diameter',\n 'diaper',\n 'diaphragm',\n 'diary',\n 'dice',\n 'dicing',\n 'dictate',\n 'dictation',\n 'dictator',\n 'difficult',\n 'diffused',\n 'diffuser',\n 'diffusion',\n 'diffusive',\n 'dig',\n 'dilation',\n 'diligence',\n 'diligent',\n 'dill',\n 'dilute',\n 'dime',\n 'diminish',\n 'dimly',\n 'dimmed',\n 'dimmer',\n 'dimness',\n 'dimple',\n 'diner',\n 'dingbat',\n 'dinghy',\n 'dinginess',\n 'dingo',\n 'dingy',\n 'dining',\n 'dinner',\n 'diocese',\n 'dioxide',\n 'diploma',\n 'dipped',\n 'dipper',\n 'dipping',\n 'directed',\n 'direction',\n 'directive',\n 'directly',\n 'directory',\n 'direness',\n 'dirtiness',\n 'disabled',\n 'disagree',\n 'disallow',\n 'disarm',\n 'disarray',\n 'disaster',\n 'disband',\n 'disbelief',\n 'disburse',\n 'discard',\n 'discern',\n 'discharge',\n 'disclose',\n 'discolor',\n 'discount',\n 'discourse',\n 'discover',\n 'discuss',\n 'disdain',\n 'disengage',\n 'disfigure',\n 'disgrace',\n 'dish',\n 'disinfect',\n 'disjoin',\n 'disk',\n 'dislike',\n 'disliking',\n 'dislocate',\n 'dislodge',\n 'disloyal',\n 'dismantle',\n 'dismay',\n 'dismiss',\n 'dismount',\n 'disobey',\n 'disorder',\n 'disown',\n 'disparate',\n 'disparity',\n 'dispatch',\n 'dispense',\n 'dispersal',\n 'dispersed',\n 'disperser',\n 'displace',\n 'display',\n 'displease',\n 'disposal',\n 'dispose',\n 'disprove',\n 'dispute',\n 'disregard',\n 'disrupt',\n 'dissuade',\n 'distance',\n 'distant',\n 'distaste',\n 'distill',\n 'distinct',\n 'distort',\n 'distract',\n 'distress',\n 'district',\n 'distrust',\n 'ditch',\n 'ditto',\n 'ditzy',\n 'dividable',\n 'divided',\n 'dividend',\n 'dividers',\n 'dividing',\n 'divinely',\n 'diving',\n 'divinity',\n 'divisible',\n 'divisibly',\n 'division',\n 'divisive',\n 'divorcee',\n 'dizziness',\n 'dizzy',\n 'doable',\n 'docile',\n 'dock',\n 'doctrine',\n 'document',\n 'dodge',\n 'dodgy',\n 'doily',\n 'doing',\n 'dole',\n 'dollar',\n 'dollhouse',\n 'dollop',\n 'dolly',\n 'dolphin',\n 'domain',\n 'domelike',\n 'domestic',\n 'dominion',\n 'dominoes',\n 'donated',\n 'donation',\n 'donator',\n 'donor',\n 'donut',\n 'doodle',\n 'doorbell',\n 'doorframe',\n 'doorknob',\n 'doorman',\n 'doormat',\n 'doornail',\n 'doorpost',\n 'doorstep',\n 'doorstop',\n 'doorway',\n 'doozy',\n 'dork',\n 'dormitory',\n 'dorsal',\n 'dosage',\n 'dose',\n 'dotted',\n 'doubling',\n 'douche',\n 'dove',\n 'down',\n 'dowry',\n 'doze',\n 'drab',\n 'dragging',\n 'dragonfly',\n 'dragonish',\n 'dragster',\n 'drainable',\n 'drainage',\n 'drained',\n 'drainer',\n 'drainpipe',\n 'dramatic',\n 'dramatize',\n 'drank',\n 'drapery',\n 'drastic',\n 'draw',\n 'dreaded',\n 'dreadful',\n 'dreadlock',\n 'dreamboat',\n 'dreamily',\n 'dreamland',\n 'dreamless',\n 'dreamlike',\n 'dreamt',\n 'dreamy',\n 'drearily',\n 'dreary',\n 'drench',\n 'dress',\n 'drew',\n 'dribble',\n 'dried',\n 'drier',\n 'drift',\n 'driller',\n 'drilling',\n 'drinkable',\n 'drinking',\n 'dripping',\n 'drippy',\n 'drivable',\n 'driven',\n 'driver',\n 'driveway',\n 'driving',\n 'drizzle',\n 'drizzly',\n 'drone',\n 'drool',\n 'droop',\n 'drop-down',\n 'dropbox',\n 'dropkick',\n 'droplet',\n 'dropout',\n 'dropper',\n 'drove',\n 'drown',\n 'drowsily',\n 'drudge',\n 'drum',\n 'dry',\n 'dubbed',\n 'dubiously',\n 'duchess',\n 'duckbill',\n 'ducking',\n 'duckling',\n 'ducktail',\n 'ducky',\n 'duct',\n 'dude',\n 'duffel',\n 'dugout',\n 'duh',\n 'duke',\n 'duller',\n 'dullness',\n 'duly',\n 'dumping',\n 'dumpling',\n 'dumpster',\n 'duo',\n 'dupe',\n 'duplex',\n 'duplicate',\n 'duplicity',\n 'durable',\n 'durably',\n 'duration',\n 'duress',\n 'during',\n 'dusk',\n 'dust',\n 'dutiful',\n 'duty',\n 'duvet',\n 'dwarf',\n 'dweeb',\n 'dwelled',\n 'dweller',\n 'dwelling',\n 'dwindle',\n 'dwindling',\n 'dynamic',\n 'dynamite',\n 'dynasty',\n 'dyslexia',\n 'dyslexic',\n 'each',\n 'eagle',\n 'earache',\n 'eardrum',\n 'earflap',\n 'earful',\n 'earlobe',\n 'early',\n 'earmark',\n 'earmuff',\n 'earphone',\n 'earpiece',\n 'earplugs',\n 'earring',\n 'earshot',\n 'earthen',\n 'earthlike',\n 'earthling',\n 'earthly',\n 'earthworm',\n 'earthy',\n 'earwig',\n 'easeful',\n 'easel',\n 'easiest',\n 'easily',\n 'easiness',\n 'easing',\n 'eastbound',\n 'eastcoast',\n 'easter',\n 'eastward',\n 'eatable',\n 'eaten',\n 'eatery',\n 'eating',\n 'eats',\n 'ebay',\n 'ebony',\n 'ebook',\n 'ecard',\n 'eccentric',\n 'echo',\n 'eclair',\n 'eclipse',\n 'ecologist',\n 'ecology',\n 'economic',\n 'economist',\n 'economy',\n 'ecosphere',\n 'ecosystem',\n 'edge',\n 'edginess',\n 'edging',\n 'edgy',\n 'edition',\n 'editor',\n 'educated',\n 'education',\n 'educator',\n 'eel',\n 'effective',\n 'effects',\n 'efficient',\n 'effort',\n 'eggbeater',\n 'egging',\n 'eggnog',\n 'eggplant',\n 'eggshell',\n 'egomaniac',\n 'egotism',\n 'egotistic',\n 'either',\n 'eject',\n 'elaborate',\n 'elastic',\n 'elated',\n 'elbow',\n 'eldercare',\n 'elderly',\n 'eldest',\n 'electable',\n 'election',\n 'elective',\n 'elephant',\n 'elevate',\n 'elevating',\n 'elevation',\n 'elevator',\n 'eleven',\n 'elf',\n 'eligible',\n 'eligibly',\n 'eliminate',\n 'elite',\n 'elitism',\n 'elixir',\n 'elk',\n 'ellipse',\n 'elliptic',\n 'elm',\n 'elongated',\n 'elope',\n 'eloquence',\n 'eloquent',\n 'elsewhere',\n 'elude',\n 'elusive',\n 'elves',\n 'email',\n 'embargo',\n 'embark',\n 'embassy',\n 'embattled',\n 'embellish',\n 'ember',\n 'embezzle',\n 'emblaze',\n 'emblem',\n 'embody',\n 'embolism',\n 'emboss',\n 'embroider',\n 'emcee',\n 'emerald',\n 'emergency',\n 'emission',\n 'emit',\n 'emote',\n 'emoticon',\n 'emotion',\n 'empathic',\n 'empathy',\n 'emperor',\n 'emphases',\n 'emphasis',\n 'emphasize',\n 'emphatic',\n 'empirical',\n 'employed',\n 'employee',\n 'employer',\n 'emporium',\n 'empower',\n 'emptier',\n 'emptiness',\n 'empty',\n 'emu',\n 'enable',\n 'enactment',\n 'enamel',\n 'enchanted',\n 'enchilada',\n 'encircle',\n 'enclose',\n 'enclosure',\n 'encode',\n 'encore',\n 'encounter',\n 'encourage',\n 'encroach',\n 'encrust',\n 'encrypt',\n 'endanger',\n 'endeared',\n 'endearing',\n 'ended',\n 'ending',\n 'endless',\n 'endnote',\n 'endocrine',\n 'endorphin',\n 'endorse',\n 'endowment',\n 'endpoint',\n 'endurable',\n 'endurance',\n 'enduring',\n 'energetic',\n 'energize',\n 'energy',\n 'enforced',\n 'enforcer',\n 'engaged',\n 'engaging',\n 'engine',\n 'engorge',\n 'engraved',\n 'engraver',\n 'engraving',\n 'engross',\n 'engulf',\n 'enhance',\n 'enigmatic',\n 'enjoyable',\n 'enjoyably',\n 'enjoyer',\n 'enjoying',\n 'enjoyment',\n 'enlarged',\n 'enlarging',\n 'enlighten',\n 'enlisted',\n 'enquirer',\n 'enrage',\n 'enrich',\n 'enroll',\n 'enslave',\n 'ensnare',\n 'ensure',\n 'entail',\n 'entangled',\n 'entering',\n 'entertain',\n 'enticing',\n 'entire',\n 'entitle',\n 'entity',\n 'entomb',\n 'entourage',\n 'entrap',\n 'entree',\n 'entrench',\n 'entrust',\n 'entryway',\n 'entwine',\n 'enunciate',\n 'envelope',\n 'enviable',\n 'enviably',\n 'envious',\n 'envision',\n 'envoy',\n 'envy',\n 'enzyme',\n 'epic',\n 'epidemic',\n 'epidermal',\n 'epidermis',\n 'epidural',\n 'epilepsy',\n 'epileptic',\n 'epilogue',\n 'epiphany',\n 'episode',\n 'equal',\n 'equate',\n 'equation',\n 'equator',\n 'equinox',\n 'equipment',\n 'equity',\n 'equivocal',\n 'eradicate',\n 'erasable',\n 'erased',\n 'eraser',\n 'erasure',\n 'ergonomic',\n 'errand',\n 'errant',\n 'erratic',\n 'error',\n 'erupt',\n 'escalate',\n 'escalator',\n 'escapable',\n 'escapade',\n 'escapist',\n 'escargot',\n 'eskimo',\n 'esophagus',\n 'espionage',\n 'espresso',\n 'esquire',\n 'essay',\n 'essence',\n 'essential',\n 'establish',\n 'estate',\n 'esteemed',\n 'estimate',\n 'estimator',\n 'estranged',\n 'estrogen',\n 'etching',\n 'eternal',\n 'eternity',\n 'ethanol',\n 'ether',\n 'ethically',\n 'ethics',\n 'euphemism',\n 'evacuate',\n 'evacuee',\n 'evade',\n 'evaluate',\n 'evaluator',\n 'evaporate',\n 'evasion',\n 'evasive',\n 'even',\n 'everglade',\n 'evergreen',\n 'everybody',\n 'everyday',\n 'everyone',\n 'evict',\n 'evidence',\n 'evident',\n 'evil',\n 'evoke',\n 'evolution',\n 'evolve',\n 'exact',\n 'exalted',\n 'example',\n 'excavate',\n 'excavator',\n 'exceeding',\n 'exception',\n 'excess',\n 'exchange',\n 'excitable',\n 'exciting',\n 'exclaim',\n 'exclude',\n 'excluding',\n 'exclusion',\n 'exclusive',\n 'excretion',\n 'excretory',\n 'excursion',\n 'excusable',\n 'excusably',\n 'excuse',\n 'exemplary',\n 'exemplify',\n 'exemption',\n 'exerciser',\n 'exert',\n 'exes',\n 'exfoliate',\n 'exhale',\n 'exhaust',\n 'exhume',\n 'exile',\n 'existing',\n 'exit',\n 'exodus',\n 'exonerate',\n 'exorcism',\n 'exorcist',\n 'expand',\n 'expanse',\n 'expansion',\n 'expansive',\n 'expectant',\n 'expedited',\n 'expediter',\n 'expel',\n 'expend',\n 'expenses',\n 'expensive',\n 'expert',\n 'expire',\n 'expiring',\n 'explain',\n 'expletive',\n 'explicit',\n 'explode',\n 'exploit',\n 'explore',\n 'exploring',\n 'exponent',\n 'exporter',\n 'exposable',\n 'expose',\n 'exposure',\n 'express',\n 'expulsion',\n 'exquisite',\n 'extended',\n 'extending',\n 'extent',\n 'extenuate',\n 'exterior',\n 'external',\n 'extinct',\n 'extortion',\n 'extradite',\n 'extras',\n 'extrovert',\n 'extrude',\n 'extruding',\n 'exuberant',\n 'fable',\n 'fabric',\n 'fabulous',\n 'facebook',\n 'facecloth',\n 'facedown',\n 'faceless',\n 'facelift',\n 'faceplate',\n 'faceted',\n 'facial',\n 'facility',\n 'facing',\n 'facsimile',\n 'faction',\n 'factoid',\n 'factor',\n 'factsheet',\n 'factual',\n 'faculty',\n 'fade',\n 'fading',\n 'failing',\n 'falcon',\n 'fall',\n 'false',\n 'falsify',\n 'fame',\n 'familiar',\n 'family',\n 'famine',\n 'famished',\n 'fanatic',\n 'fancied',\n 'fanciness',\n 'fancy',\n 'fanfare',\n 'fang',\n 'fanning',\n 'fantasize',\n 'fantastic',\n 'fantasy',\n 'fascism',\n 'fastball',\n 'faster',\n 'fasting',\n 'fastness',\n 'faucet',\n 'favorable',\n 'favorably',\n 'favored',\n 'favoring',\n 'favorite',\n 'fax',\n 'feast',\n 'federal',\n 'fedora',\n 'feeble',\n 'feed',\n 'feel',\n 'feisty',\n 'feline',\n 'felt-tip',\n 'feminine',\n 'feminism',\n 'feminist',\n 'feminize',\n 'femur',\n 'fence',\n 'fencing',\n 'fender',\n 'ferment',\n 'fernlike',\n 'ferocious',\n 'ferocity',\n 'ferret',\n 'ferris',\n 'ferry',\n 'fervor',\n 'fester',\n 'festival',\n 'festive',\n 'festivity',\n 'fetal',\n 'fetch',\n 'fever',\n 'fiber',\n 'fiction',\n 'fiddle',\n 'fiddling',\n 'fidelity',\n 'fidgeting',\n 'fidgety',\n 'fifteen',\n 'fifth',\n 'fiftieth',\n 'fifty',\n 'figment',\n 'figure',\n 'figurine',\n 'filing',\n 'filled',\n 'filler',\n 'filling',\n 'film',\n 'filter',\n 'filth',\n 'filtrate',\n 'finale',\n 'finalist',\n 'finalize',\n 'finally',\n 'finance',\n 'financial',\n 'finch',\n 'fineness',\n 'finer',\n 'finicky',\n 'finished',\n 'finisher',\n 'finishing',\n 'finite',\n 'finless',\n 'finlike',\n 'fiscally',\n 'fit',\n 'five',\n 'flaccid',\n 'flagman',\n 'flagpole',\n 'flagship',\n 'flagstick',\n 'flagstone',\n 'flail',\n 'flakily',\n 'flaky',\n 'flame',\n 'flammable',\n 'flanked',\n 'flanking',\n 'flannels',\n 'flap',\n 'flaring',\n 'flashback',\n 'flashbulb',\n 'flashcard',\n 'flashily',\n 'flashing',\n 'flashy',\n 'flask',\n 'flatbed',\n 'flatfoot',\n 'flatly',\n 'flatness',\n 'flatten',\n 'flattered',\n 'flatterer',\n 'flattery',\n 'flattop',\n 'flatware',\n 'flatworm',\n 'flavored',\n 'flavorful',\n 'flavoring',\n 'flaxseed',\n 'fled',\n 'fleshed',\n 'fleshy',\n 'flick',\n 'flier',\n 'flight',\n 'flinch',\n 'fling',\n 'flint',\n 'flip',\n 'flirt',\n 'float',\n 'flock',\n 'flogging',\n 'flop',\n 'floral',\n 'florist',\n 'floss',\n 'flounder',\n 'flyable',\n 'flyaway',\n 'flyer',\n 'flying',\n 'flyover',\n 'flypaper',\n 'foam',\n 'foe',\n 'fog',\n 'foil',\n 'folic',\n 'folk',\n 'follicle',\n 'follow',\n 'fondling',\n 'fondly',\n 'fondness',\n 'fondue',\n 'font',\n 'food',\n 'fool',\n 'footage',\n 'football',\n 'footbath',\n 'footboard',\n 'footer',\n 'footgear',\n 'foothill',\n 'foothold',\n 'footing',\n 'footless',\n 'footman',\n 'footnote',\n 'footpad',\n 'footpath',\n 'footprint',\n 'footrest',\n 'footsie',\n 'footsore',\n 'footwear',\n 'footwork',\n 'fossil',\n 'foster',\n 'founder',\n 'founding',\n 'fountain',\n 'fox',\n 'foyer',\n 'fraction',\n 'fracture',\n 'fragile',\n 'fragility',\n 'fragment',\n 'fragrance',\n 'fragrant',\n 'frail',\n 'frame',\n 'framing',\n 'frantic',\n 'fraternal',\n 'frayed',\n 'fraying',\n 'frays',\n 'freckled',\n 'freckles',\n 'freebase',\n 'freebee',\n 'freebie',\n 'freedom',\n 'freefall',\n 'freehand',\n 'freeing',\n 'freeload',\n 'freely',\n 'freemason',\n 'freeness',\n 'freestyle',\n 'freeware',\n 'freeway',\n 'freewill',\n 'freezable',\n 'freezing',\n 'freight',\n 'french',\n 'frenzied',\n 'frenzy',\n 'frequency',\n 'frequent',\n 'fresh',\n 'fretful',\n 'fretted',\n 'friction',\n 'friday',\n 'fridge',\n 'fried',\n 'friend',\n 'frighten',\n 'frightful',\n 'frigidity',\n 'frigidly',\n 'frill',\n 'fringe',\n 'frisbee',\n 'frisk',\n 'fritter',\n 'frivolous',\n 'frolic',\n 'from',\n 'front',\n 'frostbite',\n 'frosted',\n 'frostily',\n 'frosting',\n 'frostlike',\n 'frosty',\n 'froth',\n 'frown',\n 'frozen',\n 'fructose',\n 'frugality',\n 'frugally',\n 'fruit',\n 'frustrate',\n 'frying',\n 'gab',\n 'gaffe',\n 'gag',\n 'gainfully',\n 'gaining',\n 'gains',\n 'gala',\n 'gallantly',\n 'galleria',\n 'gallery',\n 'galley',\n 'gallon',\n 'gallows',\n 'gallstone',\n 'galore',\n 'galvanize',\n 'gambling',\n 'game',\n 'gaming',\n 'gamma',\n 'gander',\n 'gangly',\n 'gangrene',\n 'gangway',\n 'gap',\n 'garage',\n 'garbage',\n 'garden',\n 'gargle',\n 'garland',\n 'garlic',\n 'garment',\n 'garnet',\n 'garnish',\n 'garter',\n 'gas',\n 'gatherer',\n 'gathering',\n 'gating',\n 'gauging',\n 'gauntlet',\n 'gauze',\n 'gave',\n 'gawk',\n 'gazing',\n 'gear',\n 'gecko',\n 'geek',\n 'geiger',\n 'gem',\n 'gender',\n 'generic',\n 'generous',\n 'genetics',\n 'genre',\n 'gentile',\n 'gentleman',\n 'gently',\n 'gents',\n 'geography',\n 'geologic',\n 'geologist',\n 'geology',\n 'geometric',\n 'geometry',\n 'geranium',\n 'gerbil',\n 'geriatric',\n 'germicide',\n 'germinate',\n 'germless',\n 'germproof',\n 'gestate',\n 'gestation',\n 'gesture',\n 'getaway',\n 'getting',\n 'getup',\n 'giant',\n 'gibberish',\n 'giblet',\n 'giddily',\n 'giddiness',\n 'giddy',\n 'gift',\n 'gigabyte',\n 'gigahertz',\n 'gigantic',\n 'giggle',\n 'giggling',\n 'giggly',\n 'gigolo',\n 'gilled',\n 'gills',\n 'gimmick',\n 'girdle',\n 'giveaway',\n 'given',\n 'giver',\n 'giving',\n 'gizmo',\n 'gizzard',\n 'glacial',\n 'glacier',\n 'glade',\n 'gladiator',\n 'gladly',\n 'glamorous',\n 'glamour',\n 'glance',\n 'glancing',\n 'glandular',\n 'glare',\n 'glaring',\n 'glass',\n 'glaucoma',\n 'glazing',\n 'gleaming',\n 'gleeful',\n 'glider',\n 'gliding',\n 'glimmer',\n 'glimpse',\n 'glisten',\n 'glitch',\n 'glitter',\n 'glitzy',\n 'gloater',\n 'gloating',\n 'gloomily',\n 'gloomy',\n 'glorified',\n 'glorifier',\n 'glorify',\n 'glorious',\n 'glory',\n 'gloss',\n 'glove',\n 'glowing',\n 'glowworm',\n 'glucose',\n 'glue',\n 'gluten',\n 'glutinous',\n 'glutton',\n 'gnarly',\n 'gnat',\n 'goal',\n 'goatskin',\n 'goes',\n 'goggles',\n 'going',\n 'goldfish',\n 'goldmine',\n 'goldsmith',\n 'golf',\n 'goliath',\n 'gonad',\n 'gondola',\n 'gone',\n 'gong',\n 'good',\n 'gooey',\n 'goofball',\n 'goofiness',\n 'goofy',\n 'google',\n 'goon',\n 'gopher',\n 'gore',\n 'gorged',\n 'gorgeous',\n 'gory',\n 'gosling',\n 'gossip',\n 'gothic',\n 'gotten',\n 'gout',\n 'gown',\n 'grab',\n 'graceful',\n 'graceless',\n 'gracious',\n 'gradation',\n 'graded',\n 'grader',\n 'gradient',\n 'grading',\n 'gradually',\n 'graduate',\n 'graffiti',\n 'grafted',\n 'grafting',\n 'grain',\n 'granddad',\n 'grandkid',\n 'grandly',\n 'grandma',\n 'grandpa',\n 'grandson',\n 'granite',\n 'granny',\n 'granola',\n 'grant',\n 'granular',\n 'grape',\n 'graph',\n 'grapple',\n 'grappling',\n 'grasp',\n 'grass',\n 'gratified',\n 'gratify',\n 'grating',\n 'gratitude',\n 'gratuity',\n 'gravel',\n 'graveness',\n 'graves',\n 'graveyard',\n 'gravitate',\n 'gravity',\n 'gravy',\n 'gray',\n 'grazing',\n 'greasily',\n 'greedily',\n 'greedless',\n 'greedy',\n 'green',\n 'greeter',\n 'greeting',\n 'grew',\n 'greyhound',\n 'grid',\n 'grief',\n 'grievance',\n 'grieving',\n 'grievous',\n 'grill',\n 'grimace',\n 'grimacing',\n 'grime',\n 'griminess',\n 'grimy',\n 'grinch',\n 'grinning',\n 'grip',\n 'gristle',\n 'grit',\n 'groggily',\n 'groggy',\n 'groin',\n 'groom',\n 'groove',\n 'grooving',\n 'groovy',\n 'grope',\n 'ground',\n 'grouped',\n 'grout',\n 'grove',\n 'grower',\n 'growing',\n 'growl',\n 'grub',\n 'grudge',\n 'grudging',\n 'grueling',\n 'gruffly',\n 'grumble',\n 'grumbling',\n 'grumbly',\n 'grumpily',\n 'grunge',\n 'grunt',\n 'guacamole',\n 'guidable',\n 'guidance',\n 'guide',\n 'guiding',\n 'guileless',\n 'guise',\n 'gulf',\n 'gullible',\n 'gully',\n 'gulp',\n 'gumball',\n 'gumdrop',\n 'gumminess',\n 'gumming',\n 'gummy',\n 'gurgle',\n 'gurgling',\n 'guru',\n 'gush',\n 'gusto',\n 'gusty',\n 'gutless',\n 'guts',\n 'gutter',\n 'guy',\n 'guzzler',\n 'gyration',\n 'habitable',\n 'habitant',\n 'habitat',\n 'habitual',\n 'hacked',\n 'hacker',\n 'hacking',\n 'hacksaw',\n 'had',\n 'haggler',\n 'haiku',\n 'half',\n 'halogen',\n 'halt',\n 'halved',\n 'halves',\n 'hamburger',\n 'hamlet',\n 'hammock',\n 'hamper',\n 'hamster',\n 'hamstring',\n 'handbag',\n 'handball',\n 'handbook',\n 'handbrake',\n 'handcart',\n 'handclap',\n 'handclasp',\n 'handcraft',\n 'handcuff',\n 'handed',\n 'handful',\n 'handgrip',\n 'handgun',\n 'handheld',\n 'handiness',\n 'handiwork',\n 'handlebar',\n 'handled',\n 'handler',\n 'handling',\n 'handmade',\n 'handoff',\n 'handpick',\n 'handprint',\n 'handrail',\n 'handsaw',\n 'handset',\n 'handsfree',\n 'handshake',\n 'handstand',\n 'handwash',\n 'handwork',\n 'handwoven',\n 'handwrite',\n 'handyman',\n 'hangnail',\n 'hangout',\n 'hangover',\n 'hangup',\n 'hankering',\n 'hankie',\n 'hanky',\n 'haphazard',\n 'happening',\n 'happier',\n 'happiest',\n 'happily',\n 'happiness',\n 'happy',\n 'harbor',\n 'hardcopy',\n 'hardcore',\n 'hardcover',\n 'harddisk',\n 'hardened',\n 'hardener',\n 'hardening',\n 'hardhat',\n 'hardhead',\n 'hardiness',\n 'hardly',\n 'hardness',\n 'hardship',\n 'hardware',\n 'hardwired',\n 'hardwood',\n 'hardy',\n 'harmful',\n 'harmless',\n 'harmonica',\n 'harmonics',\n 'harmonize',\n 'harmony',\n 'harness',\n 'harpist',\n 'harsh',\n 'harvest',\n 'hash',\n 'hassle',\n 'haste',\n 'hastily',\n 'hastiness',\n 'hasty',\n 'hatbox',\n 'hatchback',\n 'hatchery',\n 'hatchet',\n 'hatching',\n 'hatchling',\n 'hate',\n 'hatless',\n 'hatred',\n 'haunt',\n 'haven',\n 'hazard',\n 'hazelnut',\n 'hazily',\n 'haziness',\n 'hazing',\n 'hazy',\n 'headache',\n 'headband',\n 'headboard',\n 'headcount',\n 'headdress',\n 'headed',\n 'header',\n 'headfirst',\n 'headgear',\n 'heading',\n 'headlamp',\n 'headless',\n 'headlock',\n 'headphone',\n 'headpiece',\n 'headrest',\n 'headroom',\n 'headscarf',\n 'headset',\n 'headsman',\n 'headstand',\n 'headstone',\n 'headway',\n 'headwear',\n 'heap',\n 'heat',\n 'heave',\n 'heavily',\n 'heaviness',\n 'heaving',\n 'hedge',\n 'hedging',\n 'heftiness',\n 'hefty',\n 'helium',\n 'helmet',\n 'helper',\n 'helpful',\n 'helping',\n 'helpless',\n 'helpline',\n 'hemlock',\n 'hemstitch',\n 'hence',\n 'henchman',\n 'henna',\n 'herald',\n 'herbal',\n 'herbicide',\n 'herbs',\n 'heritage',\n 'hermit',\n 'heroics',\n 'heroism',\n 'herring',\n 'herself',\n 'hertz',\n 'hesitancy',\n 'hesitant',\n 'hesitate',\n 'hexagon',\n 'hexagram',\n 'hubcap',\n 'huddle',\n 'huddling',\n 'huff',\n 'hug',\n 'hula',\n 'hulk',\n 'hull',\n 'human',\n 'humble',\n 'humbling',\n 'humbly',\n 'humid',\n 'humiliate',\n 'humility',\n 'humming',\n 'hummus',\n 'humongous',\n 'humorist',\n 'humorless',\n 'humorous',\n 'humpback',\n 'humped',\n 'humvee',\n 'hunchback',\n 'hundredth',\n 'hunger',\n 'hungrily',\n 'hungry',\n 'hunk',\n 'hunter',\n 'hunting',\n 'huntress',\n 'huntsman',\n 'hurdle',\n 'hurled',\n 'hurler',\n 'hurling',\n 'hurray',\n 'hurricane',\n 'hurried',\n 'hurry',\n 'hurt',\n 'husband',\n 'hush',\n 'husked',\n 'huskiness',\n 'hut',\n 'hybrid',\n 'hydrant',\n 'hydrated',\n 'hydration',\n 'hydrogen',\n 'hydroxide',\n 'hyperlink',\n 'hypertext',\n 'hyphen',\n 'hypnoses',\n 'hypnosis',\n 'hypnotic',\n 'hypnotism',\n 'hypnotist',\n 'hypnotize',\n 'hypocrisy',\n 'hypocrite',\n 'ibuprofen',\n 'ice',\n 'iciness',\n 'icing',\n 'icky',\n 'icon',\n 'icy',\n 'idealism',\n 'idealist',\n 'idealize',\n 'ideally',\n 'idealness',\n 'identical',\n 'identify',\n 'identity',\n 'ideology',\n 'idiocy',\n 'idiom',\n 'idly',\n 'igloo',\n 'ignition',\n 'ignore',\n 'iguana',\n 'illicitly',\n 'illusion',\n 'illusive',\n 'image',\n 'imaginary',\n 'imagines',\n 'imaging',\n 'imbecile',\n 'imitate',\n 'imitation',\n 'immature',\n 'immerse',\n 'immersion',\n 'imminent',\n 'immobile',\n 'immodest',\n 'immorally',\n 'immortal',\n 'immovable',\n 'immovably',\n 'immunity',\n 'immunize',\n 'impaired',\n 'impale',\n 'impart',\n 'impatient',\n 'impeach',\n 'impeding',\n 'impending',\n 'imperfect',\n 'imperial',\n 'impish',\n 'implant',\n 'implement',\n 'implicate',\n 'implicit',\n 'implode',\n 'implosion',\n 'implosive',\n 'imply',\n 'impolite',\n 'important',\n 'importer',\n 'impose',\n 'imposing',\n 'impotence',\n 'impotency',\n 'impotent',\n 'impound',\n 'imprecise',\n 'imprint',\n 'imprison',\n 'impromptu',\n 'improper',\n 'improve',\n 'improving',\n 'improvise',\n 'imprudent',\n 'impulse',\n 'impulsive',\n 'impure',\n 'impurity',\n 'iodine',\n 'iodize',\n 'ion',\n 'ipad',\n 'iphone',\n 'ipod',\n 'irate',\n 'irk',\n 'iron',\n 'irregular',\n 'irrigate',\n 'irritable',\n 'irritably',\n 'irritant',\n 'irritate',\n 'islamic',\n 'islamist',\n 'isolated',\n 'isolating',\n 'isolation',\n 'isotope',\n 'issue',\n 'issuing',\n 'italicize',\n 'italics',\n 'item',\n 'itinerary',\n 'itunes',\n 'ivory',\n 'ivy',\n 'jab',\n 'jackal',\n 'jacket',\n 'jackknife',\n 'jackpot',\n 'jailbird',\n 'jailbreak',\n 'jailer',\n 'jailhouse',\n 'jalapeno',\n 'jam',\n 'janitor',\n 'january',\n 'jargon',\n 'jarring',\n 'jasmine',\n 'jaundice',\n 'jaunt',\n 'java',\n 'jawed',\n 'jawless',\n 'jawline',\n 'jaws',\n 'jaybird',\n 'jaywalker',\n 'jazz',\n 'jeep',\n 'jeeringly',\n 'jellied',\n 'jelly',\n 'jersey',\n 'jester',\n 'jet',\n 'jiffy',\n 'jigsaw',\n 'jimmy',\n 'jingle',\n 'jingling',\n 'jinx',\n 'jitters',\n 'jittery',\n 'job',\n 'jockey',\n 'jockstrap',\n 'jogger',\n 'jogging',\n 'john',\n 'joining',\n 'jokester',\n 'jokingly',\n 'jolliness',\n 'jolly',\n 'jolt',\n 'jot',\n 'jovial',\n 'joyfully',\n 'joylessly',\n 'joyous',\n 'joyride',\n 'joystick',\n 'jubilance',\n 'jubilant',\n 'judge',\n 'judgingly',\n 'judicial',\n 'judiciary',\n 'judo',\n 'juggle',\n 'juggling',\n 'jugular',\n 'juice',\n 'juiciness',\n 'juicy',\n 'jujitsu',\n 'jukebox',\n 'july',\n 'jumble',\n 'jumbo',\n 'jump',\n 'junction',\n 'juncture',\n 'june',\n 'junior',\n 'juniper',\n 'junkie',\n 'junkman',\n 'junkyard',\n 'jurist',\n 'juror',\n 'jury',\n 'justice',\n 'justifier',\n 'justify',\n 'justly',\n 'justness',\n 'juvenile',\n 'kabob',\n 'kangaroo',\n 'karaoke',\n 'karate',\n 'karma',\n 'kebab',\n 'keenly',\n 'keenness',\n 'keep',\n 'keg',\n 'kelp',\n 'kennel',\n 'kept',\n 'kerchief',\n 'kerosene',\n 'kettle',\n 'kick',\n 'kiln',\n 'kilobyte',\n 'kilogram',\n 'kilometer',\n 'kilowatt',\n 'kilt',\n 'kimono',\n 'kindle',\n 'kindling',\n 'kindly',\n 'kindness',\n 'kindred',\n 'kinetic',\n 'kinfolk',\n 'king',\n 'kinship',\n 'kinsman',\n 'kinswoman',\n 'kissable',\n 'kisser',\n 'kissing',\n 'kitchen',\n 'kite',\n 'kitten',\n 'kitty',\n 'kiwi',\n 'kleenex',\n 'knapsack',\n 'knee',\n 'knelt',\n 'knickers',\n 'knoll',\n 'koala',\n 'kooky',\n 'kosher',\n 'krypton',\n 'kudos',\n 'kung',\n 'labored',\n 'laborer',\n 'laboring',\n 'laborious',\n 'labrador',\n 'ladder',\n 'ladies',\n 'ladle',\n 'ladybug',\n 'ladylike',\n 'lagged',\n 'lagging',\n 'lagoon',\n 'lair',\n 'lake',\n 'lance',\n 'landed',\n 'landfall',\n 'landfill',\n 'landing',\n 'landlady',\n 'landless',\n 'landline',\n 'landlord',\n 'landmark',\n 'landmass',\n 'landmine',\n 'landowner',\n 'landscape',\n 'landside',\n 'landslide',\n 'language',\n 'lankiness',\n 'lanky',\n 'lantern',\n 'lapdog',\n 'lapel',\n 'lapped',\n 'lapping',\n 'laptop',\n 'lard',\n 'large',\n 'lark',\n 'lash',\n 'lasso',\n 'last',\n 'latch',\n 'late',\n 'lather',\n 'latitude',\n 'latrine',\n 'latter',\n 'latticed',\n 'launch',\n 'launder',\n 'laundry',\n 'laurel',\n 'lavender',\n 'lavish',\n 'laxative',\n 'lazily',\n 'laziness',\n 'lazy',\n 'lecturer',\n 'left',\n 'legacy',\n 'legal',\n 'legend',\n 'legged',\n 'leggings',\n 'legible',\n 'legibly',\n 'legislate',\n 'lego',\n 'legroom',\n 'legume',\n 'legwarmer',\n 'legwork',\n 'lemon',\n 'lend',\n 'length',\n 'lens',\n 'lent',\n 'leotard',\n 'lesser',\n 'letdown',\n 'lethargic',\n 'lethargy',\n 'letter',\n 'lettuce',\n 'level',\n 'leverage',\n 'levers',\n 'levitate',\n 'levitator',\n 'liability',\n 'liable',\n 'liberty',\n 'librarian',\n 'library',\n 'licking',\n 'licorice',\n 'lid',\n 'life',\n 'lifter',\n 'lifting',\n 'liftoff',\n 'ligament',\n 'likely',\n 'likeness',\n 'likewise',\n 'liking',\n 'lilac',\n 'lilly',\n 'lily',\n 'limb',\n 'limeade',\n 'limelight',\n 'limes',\n 'limit',\n 'limping',\n 'limpness',\n 'line',\n 'lingo',\n 'linguini',\n 'linguist',\n 'lining',\n 'linked',\n 'linoleum',\n 'linseed',\n 'lint',\n 'lion',\n 'lip',\n 'liquefy',\n 'liqueur',\n 'liquid',\n 'lisp',\n 'list',\n 'litigate',\n 'litigator',\n 'litmus',\n 'litter',\n 'little',\n 'livable',\n 'lived',\n 'lively',\n 'liver',\n 'livestock',\n 'lividly',\n 'living',\n 'lizard',\n 'lubricant',\n 'lubricate',\n 'lucid',\n 'luckily',\n 'luckiness',\n 'luckless',\n 'lucrative',\n 'ludicrous',\n 'lugged',\n 'lukewarm',\n 'lullaby',\n 'lumber',\n 'luminance',\n 'luminous',\n 'lumpiness',\n 'lumping',\n 'lumpish',\n 'lunacy',\n 'lunar',\n 'lunchbox',\n 'luncheon',\n 'lunchroom',\n 'lunchtime',\n 'lung',\n 'lurch',\n 'lure',\n 'luridness',\n 'lurk',\n 'lushly',\n 'lushness',\n 'luster',\n 'lustfully',\n 'lustily',\n 'lustiness',\n 'lustrous',\n 'lusty',\n 'luxurious',\n 'luxury',\n 'lying',\n 'lyrically',\n 'lyricism',\n 'lyricist',\n 'lyrics',\n 'macarena',\n 'macaroni',\n 'macaw',\n 'mace',\n 'machine',\n 'machinist',\n 'magazine',\n 'magenta',\n 'maggot',\n 'magical',\n 'magician',\n 'magma',\n 'magnesium',\n 'magnetic',\n 'magnetism',\n 'magnetize',\n 'magnifier',\n 'magnify',\n 'magnitude',\n 'magnolia',\n 'mahogany',\n 'maimed',\n 'majestic',\n 'majesty',\n 'majorette',\n 'majority',\n 'makeover',\n 'maker',\n 'makeshift',\n 'making',\n 'malformed',\n 'malt',\n 'mama',\n 'mammal',\n 'mammary',\n 'mammogram',\n 'manager',\n 'managing',\n 'manatee',\n 'mandarin',\n 'mandate',\n 'mandatory',\n 'mandolin',\n 'manger',\n 'mangle',\n 'mango',\n 'mangy',\n 'manhandle',\n 'manhole',\n 'manhood',\n 'manhunt',\n 'manicotti',\n 'manicure',\n 'manifesto',\n 'manila',\n 'mankind',\n 'manlike',\n 'manliness',\n 'manly',\n 'manmade',\n 'manned',\n 'mannish',\n 'manor',\n 'manpower',\n 'mantis',\n 'mantra',\n 'manual',\n 'many',\n 'map',\n 'marathon',\n 'marauding',\n 'marbled',\n 'marbles',\n 'marbling',\n 'march',\n 'mardi',\n 'margarine',\n 'margarita',\n 'margin',\n 'marigold',\n 'marina',\n 'marine',\n 'marital',\n 'maritime',\n 'marlin',\n 'marmalade',\n 'maroon',\n 'married',\n 'marrow',\n 'marry',\n 'marshland',\n 'marshy',\n 'marsupial',\n 'marvelous',\n 'marxism',\n 'mascot',\n 'masculine',\n 'mashed',\n 'mashing',\n 'massager',\n 'masses',\n 'massive',\n 'mastiff',\n 'matador',\n 'matchbook',\n 'matchbox',\n 'matcher',\n 'matching',\n 'matchless',\n 'material',\n 'maternal',\n 'maternity',\n 'math',\n 'mating',\n 'matriarch',\n 'matrimony',\n 'matrix',\n 'matron',\n 'matted',\n 'matter',\n 'maturely',\n 'maturing',\n 'maturity',\n 'mauve',\n 'maverick',\n 'maximize',\n 'maximum',\n 'maybe',\n 'mayday',\n 'mayflower',\n 'moaner',\n 'moaning',\n 'mobile',\n 'mobility',\n 'mobilize',\n 'mobster',\n 'mocha',\n 'mocker',\n 'mockup',\n 'modified',\n 'modify',\n 'modular',\n 'modulator',\n 'module',\n 'moisten',\n 'moistness',\n 'moisture',\n 'molar',\n 'molasses',\n 'mold',\n 'molecular',\n 'molecule',\n 'molehill',\n 'mollusk',\n 'mom',\n 'monastery',\n 'monday',\n 'monetary',\n 'monetize',\n 'moneybags',\n 'moneyless',\n 'moneywise',\n 'mongoose',\n 'mongrel',\n 'monitor',\n 'monkhood',\n 'monogamy',\n 'monogram',\n 'monologue',\n 'monopoly',\n 'monorail',\n 'monotone',\n 'monotype',\n 'monoxide',\n 'monsieur',\n 'monsoon',\n 'monstrous',\n 'monthly',\n 'monument',\n 'moocher',\n 'moodiness',\n 'moody',\n 'mooing',\n 'moonbeam',\n 'mooned',\n 'moonlight',\n 'moonlike',\n 'moonlit',\n 'moonrise',\n 'moonscape',\n 'moonshine',\n 'moonstone',\n 'moonwalk',\n 'mop',\n 'morale',\n 'morality',\n 'morally',\n 'morbidity',\n 'morbidly',\n 'morphine',\n 'morphing',\n 'morse',\n 'mortality',\n 'mortally',\n 'mortician',\n 'mortified',\n 'mortify',\n 'mortuary',\n 'mosaic',\n 'mossy',\n 'most',\n 'mothball',\n 'mothproof',\n 'motion',\n 'motivate',\n 'motivator',\n 'motive',\n 'motocross',\n 'motor',\n 'motto',\n 'mountable',\n 'mountain',\n 'mounted',\n 'mounting',\n 'mourner',\n 'mournful',\n 'mouse',\n 'mousiness',\n 'moustache',\n 'mousy',\n 'mouth',\n 'movable',\n 'move',\n 'movie',\n 'moving',\n 'mower',\n 'mowing',\n 'much',\n 'muck',\n 'mud',\n 'mug',\n 'mulberry',\n 'mulch',\n 'mule',\n 'mulled',\n 'mullets',\n 'multiple',\n 'multiply',\n 'multitask',\n 'multitude',\n 'mumble',\n 'mumbling',\n 'mumbo',\n 'mummified',\n 'mummify',\n 'mummy',\n 'mumps',\n 'munchkin',\n 'mundane',\n 'municipal',\n 'muppet',\n 'mural',\n 'murkiness',\n 'murky',\n 'murmuring',\n 'muscular',\n 'museum',\n 'mushily',\n 'mushiness',\n 'mushroom',\n 'mushy',\n 'music',\n 'musket',\n 'muskiness',\n 'musky',\n 'mustang',\n 'mustard',\n 'muster',\n 'mustiness',\n 'musty',\n 'mutable',\n 'mutate',\n 'mutation',\n 'mute',\n 'mutilated',\n 'mutilator',\n 'mutiny',\n 'mutt',\n 'mutual',\n 'muzzle',\n 'myself',\n 'myspace',\n 'mystified',\n 'mystify',\n 'myth',\n 'nacho',\n 'nag',\n 'nail',\n 'name',\n 'naming',\n 'nanny',\n 'nanometer',\n 'nape',\n 'napkin',\n 'napped',\n 'napping',\n 'nappy',\n 'narrow',\n 'nastily',\n 'nastiness',\n 'national',\n 'native',\n 'nativity',\n 'natural',\n 'nature',\n 'naturist',\n 'nautical',\n 'navigate',\n 'navigator',\n 'navy',\n 'nearby',\n 'nearest',\n 'nearly',\n 'nearness',\n 'neatly',\n 'neatness',\n 'nebula',\n 'nebulizer',\n 'nectar',\n 'negate',\n 'negation',\n 'negative',\n 'neglector',\n 'negligee',\n 'negligent',\n 'negotiate',\n 'nemeses',\n 'nemesis',\n 'neon',\n 'nephew',\n 'nerd',\n 'nervous',\n 'nervy',\n 'nest',\n 'net',\n 'neurology',\n 'neuron',\n 'neurosis',\n 'neurotic',\n 'neuter',\n 'neutron',\n 'never',\n 'next',\n 'nibble',\n 'nickname',\n 'nicotine',\n 'niece',\n 'nifty',\n 'nimble',\n 'nimbly',\n 'nineteen',\n 'ninetieth',\n 'ninja',\n 'nintendo',\n 'ninth',\n 'nuclear',\n 'nuclei',\n 'nucleus',\n 'nugget',\n 'nullify',\n 'number',\n 'numbing',\n 'numbly',\n 'numbness',\n 'numeral',\n 'numerate',\n 'numerator',\n 'numeric',\n 'numerous',\n 'nuptials',\n 'nursery',\n 'nursing',\n 'nurture',\n 'nutcase',\n 'nutlike',\n 'nutmeg',\n 'nutrient',\n 'nutshell',\n 'nuttiness',\n 'nutty',\n 'nuzzle',\n 'nylon',\n 'oaf',\n 'oak',\n 'oasis',\n 'oat',\n 'obedience',\n 'obedient',\n 'obituary',\n 'object',\n 'obligate',\n 'obliged',\n 'oblivion',\n 'oblivious',\n 'oblong',\n 'obnoxious',\n 'oboe',\n 'obscure',\n 'obscurity',\n 'observant',\n 'observer',\n 'observing',\n 'obsessed',\n 'obsession',\n 'obsessive',\n 'obsolete',\n 'obstacle',\n 'obstinate',\n 'obstruct',\n 'obtain',\n 'obtrusive',\n 'obtuse',\n 'obvious',\n 'occultist',\n 'occupancy',\n 'occupant',\n 'occupier',\n 'occupy',\n 'ocean',\n 'ocelot',\n 'octagon',\n 'octane',\n 'october',\n 'octopus',\n 'ogle',\n 'oil',\n 'oink',\n 'ointment',\n 'okay',\n 'old',\n 'olive',\n 'olympics',\n 'omega',\n 'omen',\n 'ominous',\n 'omission',\n 'omit',\n 'omnivore',\n 'onboard',\n 'oncoming',\n 'ongoing',\n 'onion',\n 'online',\n 'onlooker',\n 'only',\n 'onscreen',\n 'onset',\n 'onshore',\n 'onslaught',\n 'onstage',\n 'onto',\n 'onward',\n 'onyx',\n 'oops',\n 'ooze',\n 'oozy',\n 'opacity',\n 'opal',\n 'open',\n 'operable',\n 'operate',\n 'operating',\n 'operation',\n 'operative',\n 'operator',\n 'opium',\n 'opossum',\n 'opponent',\n 'oppose',\n 'opposing',\n 'opposite',\n 'oppressed',\n 'oppressor',\n 'opt',\n 'opulently',\n 'osmosis',\n 'other',\n 'otter',\n 'ouch',\n 'ought',\n 'ounce',\n 'outage',\n 'outback',\n 'outbid',\n 'outboard',\n 'outbound',\n 'outbreak',\n 'outburst',\n 'outcast',\n 'outclass',\n 'outcome',\n 'outdated',\n 'outdoors',\n 'outer',\n 'outfield',\n 'outfit',\n 'outflank',\n 'outgoing',\n 'outgrow',\n 'outhouse',\n 'outing',\n 'outlast',\n 'outlet',\n 'outline',\n 'outlook',\n 'outlying',\n 'outmatch',\n 'outmost',\n 'outnumber',\n 'outplayed',\n 'outpost',\n 'outpour',\n 'output',\n 'outrage',\n 'outrank',\n 'outreach',\n 'outright',\n 'outscore',\n 'outsell',\n 'outshine',\n 'outshoot',\n 'outsider',\n 'outskirts',\n 'outsmart',\n 'outsource',\n 'outspoken',\n 'outtakes',\n 'outthink',\n 'outward',\n 'outweigh',\n 'outwit',\n 'oval',\n 'ovary',\n 'oven',\n 'overact',\n 'overall',\n 'overarch',\n 'overbid',\n 'overbill',\n 'overbite',\n 'overblown',\n 'overboard',\n 'overbook',\n 'overbuilt',\n 'overcast',\n 'overcoat',\n 'overcome',\n 'overcook',\n 'overcrowd',\n 'overdraft',\n 'overdrawn',\n 'overdress',\n 'overdrive',\n 'overdue',\n 'overeager',\n 'overeater',\n 'overexert',\n 'overfed',\n 'overfeed',\n 'overfill',\n 'overflow',\n 'overfull',\n 'overgrown',\n 'overhand',\n 'overhang',\n 'overhaul',\n 'overhead',\n 'overhear',\n 'overheat',\n 'overhung',\n 'overjoyed',\n 'overkill',\n 'overlabor',\n 'overlaid',\n 'overlap',\n 'overlay',\n 'overload',\n 'overlook',\n 'overlord',\n 'overlying',\n 'overnight',\n 'overpass',\n 'overpay',\n 'overplant',\n 'overplay',\n 'overpower',\n 'overprice',\n 'overrate',\n 'overreach',\n 'overreact',\n 'override',\n 'overripe',\n 'overrule',\n 'overrun',\n 'overshoot',\n 'overshot',\n 'oversight',\n 'oversized',\n 'oversleep',\n 'oversold',\n 'overspend',\n 'overstate',\n 'overstay',\n 'overstep',\n 'overstock',\n 'overstuff',\n 'oversweet',\n 'overtake',\n 'overthrow',\n 'overtime',\n 'overtly',\n 'overtone',\n 'overture',\n 'overturn',\n 'overuse',\n 'overvalue',\n 'overview',\n 'overwrite',\n 'owl',\n 'oxford',\n 'oxidant',\n 'oxidation',\n 'oxidize',\n 'oxidizing',\n 'oxygen',\n 'oxymoron',\n 'oyster',\n 'ozone',\n 'paced',\n 'pacemaker',\n 'pacific',\n 'pacifier',\n 'pacifism',\n 'pacifist',\n 'pacify',\n 'padded',\n 'padding',\n 'paddle',\n 'paddling',\n 'padlock',\n 'pagan',\n 'pager',\n 'paging',\n 'pajamas',\n 'palace',\n 'palatable',\n 'palm',\n 'palpable',\n 'palpitate',\n 'paltry',\n 'pampered',\n 'pamperer',\n 'pampers',\n 'pamphlet',\n 'panama',\n 'pancake',\n 'pancreas',\n 'panda',\n 'pandemic',\n 'pang',\n 'panhandle',\n 'panic',\n 'panning',\n 'panorama',\n 'panoramic',\n 'panther',\n 'pantomime',\n 'pantry',\n 'pants',\n 'pantyhose',\n 'paparazzi',\n 'papaya',\n 'paper',\n 'paprika',\n 'papyrus',\n 'parabola',\n 'parachute',\n 'parade',\n 'paradox',\n 'paragraph',\n 'parakeet',\n 'paralegal',\n 'paralyses',\n 'paralysis',\n 'paralyze',\n 'paramedic',\n 'parameter',\n 'paramount',\n 'parasail',\n 'parasite',\n 'parasitic',\n 'parcel',\n 'parched',\n 'parchment',\n 'pardon',\n 'parish',\n 'parka',\n 'parking',\n 'parkway',\n 'parlor',\n 'parmesan',\n 'parole',\n 'parrot',\n 'parsley',\n 'parsnip',\n 'partake',\n 'parted',\n 'parting',\n 'partition',\n 'partly',\n 'partner',\n 'partridge',\n 'party',\n 'passable',\n 'passably',\n 'passage',\n 'passcode',\n 'passenger',\n 'passerby',\n 'passing',\n 'passion',\n 'passive',\n 'passivism',\n 'passover',\n 'passport',\n 'password',\n 'pasta',\n 'pasted',\n 'pastel',\n 'pastime',\n 'pastor',\n 'pastrami',\n 'pasture',\n 'pasty',\n 'patchwork',\n 'patchy',\n 'paternal',\n 'paternity',\n 'path',\n 'patience',\n 'patient',\n 'patio',\n 'patriarch',\n 'patriot',\n 'patrol',\n 'patronage',\n 'patronize',\n 'pauper',\n 'pavement',\n 'paver',\n 'pavestone',\n 'pavilion',\n 'paving',\n 'pawing',\n 'payable',\n 'payback',\n 'paycheck',\n 'payday',\n 'payee',\n 'payer',\n 'paying',\n 'payment',\n 'payphone',\n 'payroll',\n 'pebble',\n 'pebbly',\n 'pecan',\n 'pectin',\n 'peculiar',\n 'peddling',\n 'pediatric',\n 'pedicure',\n 'pedigree',\n 'pedometer',\n 'pegboard',\n 'pelican',\n 'pellet',\n 'pelt',\n 'pelvis',\n 'penalize',\n 'penalty',\n 'pencil',\n 'pendant',\n 'pending',\n 'penholder',\n 'penknife',\n 'pennant',\n 'penniless',\n 'penny',\n 'penpal',\n 'pension',\n 'pentagon',\n 'pentagram',\n 'pep',\n 'perceive',\n 'percent',\n 'perch',\n 'percolate',\n 'perennial',\n 'perfected',\n 'perfectly',\n 'perfume',\n 'periscope',\n 'perish',\n 'perjurer',\n 'perjury',\n 'perkiness',\n 'perky',\n 'perm',\n 'peroxide',\n 'perpetual',\n 'perplexed',\n 'persecute',\n 'persevere',\n 'persuaded',\n 'persuader',\n 'pesky',\n 'peso',\n 'pessimism',\n 'pessimist',\n 'pester',\n 'pesticide',\n 'petal',\n 'petite',\n 'petition',\n 'petri',\n 'petroleum',\n 'petted',\n 'petticoat',\n 'pettiness',\n 'petty',\n 'petunia',\n 'phantom',\n 'phobia',\n 'phoenix',\n 'phonebook',\n 'phoney',\n 'phonics',\n 'phoniness',\n 'phony',\n 'phosphate',\n 'photo',\n 'phrase',\n 'phrasing',\n 'placard',\n 'placate',\n 'placidly',\n 'plank',\n 'planner',\n 'plant',\n 'plasma',\n 'plaster',\n 'plastic',\n 'plated',\n 'platform',\n 'plating',\n 'platinum',\n 'platonic',\n 'platter',\n 'platypus',\n 'plausible',\n 'plausibly',\n 'playable',\n 'playback',\n 'player',\n 'playful',\n 'playgroup',\n 'playhouse',\n 'playing',\n 'playlist',\n 'playmaker',\n 'playmate',\n 'playoff',\n 'playpen',\n 'playroom',\n 'playset',\n 'plaything',\n 'playtime',\n 'plaza',\n 'pleading',\n 'pleat',\n 'pledge',\n 'plentiful',\n 'plenty',\n 'plethora',\n 'plexiglas',\n 'pliable',\n 'plod',\n 'plop',\n 'plot',\n 'plow',\n 'ploy',\n 'pluck',\n 'plug',\n 'plunder',\n 'plunging',\n 'plural',\n 'plus',\n 'plutonium',\n 'plywood',\n 'poach',\n 'pod',\n 'poem',\n 'poet',\n 'pogo',\n 'pointed',\n 'pointer',\n 'pointing',\n 'pointless',\n 'pointy',\n 'poise',\n 'poison',\n 'poker',\n 'poking',\n 'polar',\n 'police',\n 'policy',\n 'polio',\n 'polish',\n 'politely',\n 'polka',\n 'polo',\n 'polyester',\n 'polygon',\n 'polygraph',\n 'polymer',\n 'poncho',\n 'pond',\n 'pony',\n 'popcorn',\n 'pope',\n 'poplar',\n 'popper',\n 'poppy',\n 'popsicle',\n 'populace',\n 'popular',\n 'populate',\n 'porcupine',\n 'pork',\n 'porous',\n 'porridge',\n 'portable',\n 'portal',\n 'portfolio',\n 'porthole',\n 'portion',\n 'portly',\n 'portside',\n 'poser',\n 'posh',\n 'posing',\n 'possible',\n 'possibly',\n 'possum',\n 'postage',\n 'postal',\n 'postbox',\n 'postcard',\n 'posted',\n 'poster',\n 'posting',\n 'postnasal',\n 'posture',\n 'postwar',\n 'pouch',\n 'pounce',\n 'pouncing',\n 'pound',\n 'pouring',\n 'pout',\n 'powdered',\n 'powdering',\n 'powdery',\n 'power',\n 'powwow',\n 'pox',\n 'praising',\n 'prance',\n 'prancing',\n 'pranker',\n 'prankish',\n 'prankster',\n 'prayer',\n 'praying',\n 'preacher',\n 'preaching',\n 'preachy',\n 'preamble',\n 'precinct',\n 'precise',\n 'precision',\n 'precook',\n 'precut',\n 'predator',\n 'predefine',\n 'predict',\n 'preface',\n 'prefix',\n 'preflight',\n 'preformed',\n 'pregame',\n 'pregnancy',\n 'pregnant',\n 'preheated',\n 'prelaunch',\n 'prelaw',\n 'prelude',\n 'premiere',\n 'premises',\n 'premium',\n 'prenatal',\n 'preoccupy',\n 'preorder',\n 'prepaid',\n 'prepay',\n 'preplan',\n 'preppy',\n 'preschool',\n 'prescribe',\n 'preseason',\n 'preset',\n 'preshow',\n 'president',\n 'presoak',\n 'press',\n 'presume',\n 'presuming',\n 'preteen',\n 'pretended',\n 'pretender',\n 'pretense',\n 'pretext',\n 'pretty',\n 'pretzel',\n 'prevail',\n 'prevalent',\n 'prevent',\n 'preview',\n 'previous',\n 'prewar',\n 'prewashed',\n 'prideful',\n 'pried',\n 'primal',\n 'primarily',\n 'primary',\n 'primate',\n 'primer',\n 'primp',\n 'princess',\n 'print',\n 'prior',\n 'prism',\n 'prison',\n 'prissy',\n 'pristine',\n 'privacy',\n 'private',\n 'privatize',\n 'prize',\n 'proactive',\n 'probable',\n 'probably',\n 'probation',\n 'probe',\n 'probing',\n 'probiotic',\n 'problem',\n 'procedure',\n 'process',\n 'proclaim',\n 'procreate',\n 'procurer',\n 'prodigal',\n 'prodigy',\n 'produce',\n 'product',\n 'profane',\n 'profanity',\n 'professed',\n 'professor',\n 'profile',\n 'profound',\n 'profusely',\n 'progeny',\n 'prognosis',\n 'program',\n 'progress',\n 'projector',\n 'prologue',\n 'prolonged',\n 'promenade',\n 'prominent',\n 'promoter',\n 'promotion',\n 'prompter',\n 'promptly',\n 'prone',\n 'prong',\n 'pronounce',\n 'pronto',\n 'proofing',\n 'proofread',\n 'proofs',\n 'propeller',\n 'properly',\n 'property',\n 'proponent',\n 'proposal',\n 'propose',\n 'props',\n 'prorate',\n 'protector',\n 'protegee',\n 'proton',\n 'prototype',\n 'protozoan',\n 'protract',\n 'protrude',\n 'proud',\n 'provable',\n 'proved',\n 'proven',\n 'provided',\n 'provider',\n 'providing',\n 'province',\n 'proving',\n 'provoke',\n 'provoking',\n 'provolone',\n 'prowess',\n 'prowler',\n 'prowling',\n 'proximity',\n 'proxy',\n 'prozac',\n 'prude',\n 'prudishly',\n 'prune',\n 'pruning',\n 'pry',\n 'psychic',\n 'public',\n 'publisher',\n 'pucker',\n 'pueblo',\n 'pug',\n 'pull',\n 'pulmonary',\n 'pulp',\n 'pulsate',\n 'pulse',\n 'pulverize',\n 'puma',\n 'pumice',\n 'pummel',\n 'punch',\n 'punctual',\n 'punctuate',\n 'punctured',\n 'pungent',\n 'punisher',\n 'punk',\n 'pupil',\n 'puppet',\n 'puppy',\n 'purchase',\n 'pureblood',\n 'purebred',\n 'purely',\n 'pureness',\n 'purgatory',\n 'purge',\n 'purging',\n 'purifier',\n 'purify',\n 'purist',\n 'puritan',\n 'purity',\n 'purple',\n 'purplish',\n 'purposely',\n 'purr',\n 'purse',\n 'pursuable',\n 'pursuant',\n 'pursuit',\n 'purveyor',\n 'pushcart',\n 'pushchair',\n 'pusher',\n 'pushiness',\n 'pushing',\n 'pushover',\n 'pushpin',\n 'pushup',\n 'pushy',\n 'putdown',\n 'putt',\n 'puzzle',\n 'puzzling',\n 'pyramid',\n 'pyromania',\n 'python',\n 'quack',\n 'quadrant',\n 'quail',\n 'quaintly',\n 'quake',\n 'quaking',\n 'qualified',\n 'qualifier',\n 'qualify',\n 'quality',\n 'qualm',\n 'quantum',\n 'quarrel',\n 'quarry',\n 'quartered',\n 'quarterly',\n 'quarters',\n 'quartet',\n 'quench',\n 'query',\n 'quicken',\n 'quickly',\n 'quickness',\n 'quicksand',\n 'quickstep',\n 'quiet',\n 'quill',\n 'quilt',\n 'quintet',\n 'quintuple',\n 'quirk',\n 'quit',\n 'quiver',\n 'quizzical',\n 'quotable',\n 'quotation',\n 'quote',\n 'rabid',\n 'race',\n 'racing',\n 'racism',\n 'rack',\n 'racoon',\n 'radar',\n 'radial',\n 'radiance',\n 'radiantly',\n 'radiated',\n 'radiation',\n 'radiator',\n 'radio',\n 'radish',\n 'raffle',\n 'raft',\n 'rage',\n 'ragged',\n 'raging',\n 'ragweed',\n 'raider',\n 'railcar',\n 'railing',\n 'railroad',\n 'railway',\n 'raisin',\n 'rake',\n 'raking',\n 'rally',\n 'ramble',\n 'rambling',\n 'ramp',\n 'ramrod',\n 'ranch',\n 'rancidity',\n 'random',\n 'ranged',\n 'ranger',\n 'ranging',\n 'ranked',\n 'ranking',\n 'ransack',\n 'ranting',\n 'rants',\n 'rare',\n 'rarity',\n 'rascal',\n 'rash',\n 'rasping',\n 'ravage',\n 'raven',\n 'ravine',\n 'raving',\n 'ravioli',\n 'ravishing',\n 'reabsorb',\n 'reach',\n 'reacquire',\n 'reaction',\n 'reactive',\n 'reactor',\n 'reaffirm',\n 'ream',\n 'reanalyze',\n 'reappear',\n 'reapply',\n 'reappoint',\n 'reapprove',\n 'rearrange',\n 'rearview',\n 'reason',\n 'reassign',\n 'reassure',\n 'reattach',\n 'reawake',\n 'rebalance',\n 'rebate',\n 'rebel',\n 'rebirth',\n 'reboot',\n 'reborn',\n 'rebound',\n 'rebuff',\n 'rebuild',\n 'rebuilt',\n 'reburial',\n 'rebuttal',\n 'recall',\n 'recant',\n 'recapture',\n 'recast',\n 'recede',\n 'recent',\n 'recess',\n 'recharger',\n 'recipient',\n 'recital',\n 'recite',\n 'reckless',\n 'reclaim',\n 'recliner',\n 'reclining',\n 'recluse',\n 'reclusive',\n 'recognize',\n 'recoil',\n 'recollect',\n 'recolor',\n 'reconcile',\n 'reconfirm',\n 'reconvene',\n 'recopy',\n 'record',\n 'recount',\n 'recoup',\n 'recovery',\n 'recreate',\n 'rectal',\n 'rectangle',\n 'rectified',\n 'rectify',\n 'recycled',\n 'recycler',\n 'recycling',\n 'reemerge',\n 'reenact',\n 'reenter',\n 'reentry',\n 'reexamine',\n 'referable',\n 'referee',\n 'reference',\n 'refill',\n 'refinance',\n 'refined',\n 'refinery',\n 'refining',\n 'refinish',\n 'reflected',\n 'reflector',\n 'reflex',\n 'reflux',\n 'refocus',\n 'refold',\n 'reforest',\n 'reformat',\n 'reformed',\n 'reformer',\n 'reformist',\n 'refract',\n 'refrain',\n 'refreeze',\n 'refresh',\n 'refried',\n 'refueling',\n 'refund',\n 'refurbish',\n 'refurnish',\n 'refusal',\n 'refuse',\n 'refusing',\n 'refutable',\n 'refute',\n 'regain',\n 'regalia',\n 'regally',\n 'reggae',\n 'regime',\n 'region',\n 'register',\n 'registrar',\n 'registry',\n 'regress',\n 'regretful',\n 'regroup',\n 'regular',\n 'regulate',\n 'regulator',\n 'rehab',\n 'reheat',\n 'rehire',\n 'rehydrate',\n 'reimburse',\n 'reissue',\n 'reiterate',\n 'rejoice',\n 'rejoicing',\n 'rejoin',\n 'rekindle',\n 'relapse',\n 'relapsing',\n 'relatable',\n 'related',\n 'relation',\n 'relative',\n 'relax',\n 'relay',\n 'relearn',\n 'release',\n 'relenting',\n 'reliable',\n 'reliably',\n 'reliance',\n 'reliant',\n 'relic',\n 'relieve',\n 'relieving',\n 'relight',\n 'relish',\n 'relive',\n 'reload',\n 'relocate',\n 'relock',\n 'reluctant',\n 'rely',\n 'remake',\n 'remark',\n 'remarry',\n 'rematch',\n 'remedial',\n 'remedy',\n 'remember',\n 'reminder',\n 'remindful',\n 'remission',\n 'remix',\n 'remnant',\n 'remodeler',\n 'remold',\n 'remorse',\n 'remote',\n 'removable',\n 'removal',\n 'removed',\n 'remover',\n 'removing',\n 'rename',\n 'renderer',\n 'rendering',\n 'rendition',\n 'renegade',\n 'renewable',\n 'renewably',\n 'renewal',\n 'renewed',\n 'renounce',\n 'renovate',\n 'renovator',\n 'rentable',\n 'rental',\n 'rented',\n 'renter',\n 'reoccupy',\n 'reoccur',\n 'reopen',\n 'reorder',\n 'repackage',\n 'repacking',\n 'repaint',\n 'repair',\n 'repave',\n 'repaying',\n 'repayment',\n 'repeal',\n 'repeated',\n 'repeater',\n 'repent',\n 'rephrase',\n 'replace',\n 'replay',\n 'replica',\n 'reply',\n 'reporter',\n 'repose',\n 'repossess',\n 'repost',\n 'repressed',\n 'reprimand',\n 'reprint',\n 'reprise',\n 'reproach',\n 'reprocess',\n 'reproduce',\n 'reprogram',\n 'reps',\n 'reptile',\n 'reptilian',\n 'repugnant',\n 'repulsion',\n 'repulsive',\n 'repurpose',\n 'reputable',\n 'reputably',\n 'request',\n 'require',\n 'requisite',\n 'reroute',\n 'rerun',\n 'resale',\n 'resample',\n 'rescuer',\n 'reseal',\n 'research',\n 'reselect',\n 'reseller',\n 'resemble',\n 'resend',\n 'resent',\n 'reset',\n 'reshape',\n 'reshoot',\n 'reshuffle',\n 'residence',\n 'residency',\n 'resident',\n 'residual',\n 'residue',\n 'resigned',\n 'resilient',\n 'resistant',\n 'resisting',\n 'resize',\n 'resolute',\n 'resolved',\n 'resonant',\n 'resonate',\n 'resort',\n 'resource',\n 'respect',\n 'resubmit',\n 'result',\n 'resume',\n 'resupply',\n 'resurface',\n 'resurrect',\n 'retail',\n 'retainer',\n 'retaining',\n 'retake',\n 'retaliate',\n 'retention',\n 'rethink',\n 'retinal',\n 'retired',\n 'retiree',\n 'retiring',\n 'retold',\n 'retool',\n 'retorted',\n 'retouch',\n 'retrace',\n 'retract',\n 'retrain',\n 'retread',\n 'retreat',\n 'retrial',\n 'retrieval',\n 'retriever',\n 'retry',\n 'return',\n 'retying',\n 'retype',\n 'reunion',\n 'reunite',\n 'reusable',\n 'reuse',\n 'reveal',\n 'reveler',\n 'revenge',\n 'revenue',\n 'reverb',\n 'revered',\n 'reverence',\n 'reverend',\n 'reversal',\n 'reverse',\n 'reversing',\n 'reversion',\n 'revert',\n 'revisable',\n 'revise',\n 'revision',\n 'revisit',\n 'revivable',\n 'revival',\n 'reviver',\n 'reviving',\n 'revocable',\n 'revoke',\n 'revolt',\n 'revolver',\n 'revolving',\n 'reward',\n 'rewash',\n 'rewind',\n 'rewire',\n 'reword',\n 'rework',\n 'rewrap',\n 'rewrite',\n 'rhyme',\n 'ribbon',\n 'ribcage',\n 'rice',\n 'riches',\n 'richly',\n 'richness',\n 'rickety',\n 'ricotta',\n 'riddance',\n 'ridden',\n 'ride',\n 'riding',\n 'rifling',\n 'rift',\n 'rigging',\n 'rigid',\n 'rigor',\n 'rimless',\n 'rimmed',\n 'rind',\n 'rink',\n 'rinse',\n 'rinsing',\n 'riot',\n 'ripcord',\n 'ripeness',\n 'ripening',\n 'ripping',\n 'ripple',\n 'rippling',\n 'riptide',\n 'rise',\n 'rising',\n 'risk',\n 'risotto',\n 'ritalin',\n 'ritzy',\n 'rival',\n 'riverbank',\n 'riverbed',\n 'riverboat',\n 'riverside',\n 'riveter',\n 'riveting',\n 'roamer',\n 'roaming',\n 'roast',\n 'robbing',\n 'robe',\n 'robin',\n 'robotics',\n 'robust',\n 'rockband',\n 'rocker',\n 'rocket',\n 'rockfish',\n 'rockiness',\n 'rocking',\n 'rocklike',\n 'rockslide',\n 'rockstar',\n 'rocky',\n 'rogue',\n 'roman',\n 'romp',\n 'rope',\n 'roping',\n 'roster',\n 'rosy',\n 'rotten',\n 'rotting',\n 'rotunda',\n 'roulette',\n 'rounding',\n 'roundish',\n 'roundness',\n 'roundup',\n 'roundworm',\n 'routine',\n 'routing',\n 'rover',\n 'roving',\n 'royal',\n 'rubbed',\n 'rubber',\n 'rubbing',\n 'rubble',\n 'rubdown',\n 'ruby',\n 'ruckus',\n 'rudder',\n 'rug',\n 'ruined',\n 'rule',\n 'rumble',\n 'rumbling',\n 'rummage',\n 'rumor',\n 'runaround',\n 'rundown',\n 'runner',\n 'running',\n 'runny',\n 'runt',\n 'runway',\n 'rupture',\n 'rural',\n 'ruse',\n 'rush',\n 'rust',\n 'rut',\n 'sabbath',\n 'sabotage',\n 'sacrament',\n 'sacred',\n 'sacrifice',\n 'sadden',\n 'saddlebag',\n 'saddled',\n 'saddling',\n 'sadly',\n 'sadness',\n 'safari',\n 'safeguard',\n 'safehouse',\n 'safely',\n 'safeness',\n 'saffron',\n 'saga',\n 'sage',\n 'sagging',\n 'saggy',\n 'said',\n 'saint',\n 'sake',\n 'salad',\n 'salami',\n 'salaried',\n 'salary',\n 'saline',\n 'salon',\n 'saloon',\n 'salsa',\n 'salt',\n 'salutary',\n 'salute',\n 'salvage',\n 'salvaging',\n 'salvation',\n 'same',\n 'sample',\n 'sampling',\n 'sanction',\n 'sanctity',\n 'sanctuary',\n 'sandal',\n 'sandbag',\n 'sandbank',\n 'sandbar',\n 'sandblast',\n 'sandbox',\n 'sanded',\n 'sandfish',\n 'sanding',\n 'sandlot',\n 'sandpaper',\n 'sandpit',\n 'sandstone',\n 'sandstorm',\n 'sandworm',\n 'sandy',\n 'sanitary',\n 'sanitizer',\n 'sank',\n 'santa',\n 'sapling',\n 'sappiness',\n 'sappy',\n 'sarcasm',\n 'sarcastic',\n 'sardine',\n 'sash',\n 'sasquatch',\n 'sassy',\n 'satchel',\n 'satiable',\n 'satin',\n 'satirical',\n 'satisfied',\n 'satisfy',\n 'saturate',\n 'saturday',\n 'sauciness',\n 'saucy',\n 'sauna',\n 'savage',\n 'savanna',\n 'saved',\n 'savings',\n 'savior',\n 'savor',\n 'saxophone',\n 'say',\n 'scabbed',\n 'scabby',\n 'scalded',\n 'scalding',\n 'scale',\n 'scaling',\n 'scallion',\n 'scallop',\n 'scalping',\n 'scam',\n 'scandal',\n 'scanner',\n 'scanning',\n 'scant',\n 'scapegoat',\n 'scarce',\n 'scarcity',\n 'scarecrow',\n 'scared',\n 'scarf',\n 'scarily',\n 'scariness',\n 'scarring',\n 'scary',\n 'scavenger',\n 'scenic',\n 'schedule',\n 'schematic',\n 'scheme',\n 'scheming',\n 'schilling',\n 'schnapps',\n 'scholar',\n 'science',\n 'scientist',\n 'scion',\n 'scoff',\n 'scolding',\n 'scone',\n 'scoop',\n 'scooter',\n 'scope',\n 'scorch',\n 'scorebook',\n 'scorecard',\n 'scored',\n 'scoreless',\n 'scorer',\n 'scoring',\n 'scorn',\n 'scorpion',\n 'scotch',\n 'scoundrel',\n 'scoured',\n 'scouring',\n 'scouting',\n 'scouts',\n 'scowling',\n 'scrabble',\n 'scraggly',\n 'scrambled',\n 'scrambler',\n 'scrap',\n 'scratch',\n 'scrawny',\n 'screen',\n 'scribble',\n 'scribe',\n 'scribing',\n 'scrimmage',\n 'script',\n 'scroll',\n 'scrooge',\n 'scrounger',\n 'scrubbed',\n 'scrubber',\n 'scruffy',\n 'scrunch',\n 'scrutiny',\n 'scuba',\n 'scuff',\n 'sculptor',\n 'sculpture',\n 'scurvy',\n 'scuttle',\n 'secluded',\n 'secluding',\n 'seclusion',\n 'second',\n 'secrecy',\n 'secret',\n 'sectional',\n 'sector',\n 'secular',\n 'securely',\n 'security',\n 'sedan',\n 'sedate',\n 'sedation',\n 'sedative',\n 'sediment',\n 'seduce',\n 'seducing',\n 'segment',\n 'seismic',\n 'seizing',\n 'seldom',\n 'selected',\n 'selection',\n 'selective',\n 'selector',\n 'self',\n 'seltzer',\n 'semantic',\n 'semester',\n 'semicolon',\n 'semifinal',\n 'seminar',\n 'semisoft',\n 'semisweet',\n 'senate',\n 'senator',\n 'send',\n 'senior',\n 'senorita',\n 'sensation',\n 'sensitive',\n 'sensitize',\n 'sensually',\n 'sensuous',\n 'sepia',\n 'september',\n 'septic',\n 'septum',\n 'sequel',\n 'sequence',\n 'sequester',\n 'series',\n 'sermon',\n 'serotonin',\n 'serpent',\n 'serrated',\n 'serve',\n 'service',\n 'serving',\n 'sesame',\n 'sessions',\n 'setback',\n 'setting',\n 'settle',\n 'settling',\n 'setup',\n 'sevenfold',\n 'seventeen',\n 'seventh',\n 'seventy',\n 'severity',\n 'shabby',\n 'shack',\n 'shaded',\n 'shadily',\n 'shadiness',\n 'shading',\n 'shadow',\n 'shady',\n 'shaft',\n 'shakable',\n 'shakily',\n 'shakiness',\n 'shaking',\n 'shaky',\n 'shale',\n 'shallot',\n 'shallow',\n 'shame',\n 'shampoo',\n 'shamrock',\n 'shank',\n 'shanty',\n 'shape',\n 'shaping',\n 'share',\n 'sharpener',\n 'sharper',\n 'sharpie',\n 'sharply',\n 'sharpness',\n 'shawl',\n 'sheath',\n 'shed',\n 'sheep',\n 'sheet',\n 'shelf',\n 'shell',\n 'shelter',\n 'shelve',\n 'shelving',\n 'sherry',\n 'shield',\n 'shifter',\n 'shifting',\n 'shiftless',\n 'shifty',\n 'shimmer',\n 'shimmy',\n 'shindig',\n 'shine',\n 'shingle',\n 'shininess',\n 'shining',\n 'shiny',\n 'ship',\n 'shirt',\n 'shivering',\n 'shock',\n 'shone',\n 'shoplift',\n 'shopper',\n 'shopping',\n 'shoptalk',\n 'shore',\n 'shortage',\n 'shortcake',\n 'shortcut',\n 'shorten',\n 'shorter',\n 'shorthand',\n 'shortlist',\n 'shortly',\n 'shortness',\n 'shorts',\n 'shortwave',\n 'shorty',\n 'shout',\n 'shove',\n 'showbiz',\n 'showcase',\n 'showdown',\n 'shower',\n 'showgirl',\n 'showing',\n 'showman',\n 'shown',\n 'showoff',\n 'showpiece',\n 'showplace',\n 'showroom',\n 'showy',\n 'shrank',\n 'shrapnel',\n 'shredder',\n 'shredding',\n 'shrewdly',\n 'shriek',\n 'shrill',\n 'shrimp',\n 'shrine',\n 'shrink',\n 'shrivel',\n 'shrouded',\n 'shrubbery',\n 'shrubs',\n 'shrug',\n 'shrunk',\n 'shucking',\n 'shudder',\n 'shuffle',\n 'shuffling',\n 'shun',\n 'shush',\n 'shut',\n 'shy',\n 'siamese',\n 'siberian',\n 'sibling',\n 'siding',\n 'sierra',\n 'siesta',\n 'sift',\n 'sighing',\n 'silenced',\n 'silencer',\n 'silent',\n 'silica',\n 'silicon',\n 'silk',\n 'silliness',\n 'silly',\n 'silo',\n 'silt',\n 'silver',\n 'similarly',\n 'simile',\n 'simmering',\n 'simple',\n 'simplify',\n 'simply',\n 'sincere',\n 'sincerity',\n 'singer',\n 'singing',\n 'single',\n 'singular',\n 'sinister',\n 'sinless',\n 'sinner',\n 'sinuous',\n 'sip',\n 'siren',\n 'sister',\n 'sitcom',\n 'sitter',\n 'sitting',\n 'situated',\n 'situation',\n 'sixfold',\n 'sixteen',\n 'sixth',\n 'sixties',\n 'sixtieth',\n 'sixtyfold',\n 'sizable',\n 'sizably',\n 'size',\n 'sizing',\n 'sizzle',\n 'sizzling',\n 'skater',\n 'skating',\n 'skedaddle',\n 'skeletal',\n 'skeleton',\n 'skeptic',\n 'sketch',\n 'skewed',\n 'skewer',\n 'skid',\n 'skied',\n 'skier',\n 'skies',\n 'skiing',\n 'skilled',\n 'skillet',\n 'skillful',\n 'skimmed',\n 'skimmer',\n 'skimming',\n 'skimpily',\n 'skincare',\n 'skinhead',\n 'skinless',\n 'skinning',\n 'skinny',\n 'skintight',\n 'skipper',\n 'skipping',\n 'skirmish',\n 'skirt',\n 'skittle',\n 'skydiver',\n 'skylight',\n 'skyline',\n 'skype',\n 'skyrocket',\n 'skyward',\n 'slab',\n 'slacked',\n 'slacker',\n 'slacking',\n 'slackness',\n 'slacks',\n 'slain',\n 'slam',\n 'slander',\n 'slang',\n 'slapping',\n 'slapstick',\n 'slashed',\n 'slashing',\n 'slate',\n 'slather',\n 'slaw',\n 'sled',\n 'sleek',\n 'sleep',\n 'sleet',\n 'sleeve',\n 'slept',\n 'sliceable',\n 'sliced',\n 'slicer',\n 'slicing',\n 'slick',\n 'slider',\n 'slideshow',\n 'sliding',\n 'slighted',\n 'slighting',\n 'slightly',\n 'slimness',\n 'slimy',\n 'slinging',\n 'slingshot',\n 'slinky',\n 'slip',\n 'slit',\n 'sliver',\n 'slobbery',\n 'slogan',\n 'sloped',\n 'sloping',\n 'sloppily',\n 'sloppy',\n 'slot',\n 'slouching',\n 'slouchy',\n 'sludge',\n 'slug',\n 'slum',\n 'slurp',\n 'slush',\n 'sly',\n 'small',\n 'smartly',\n 'smartness',\n 'smasher',\n 'smashing',\n 'smashup',\n 'smell',\n 'smelting',\n 'smile',\n 'smilingly',\n 'smirk',\n 'smite',\n 'smith',\n 'smitten',\n 'smock',\n 'smog',\n 'smoked',\n 'smokeless',\n 'smokiness',\n 'smoking',\n 'smoky',\n 'smolder',\n 'smooth',\n 'smother',\n 'smudge',\n 'smudgy',\n 'smuggler',\n 'smuggling',\n 'smugly',\n 'smugness',\n 'snack',\n 'snagged',\n 'snaking',\n 'snap',\n 'snare',\n 'snarl',\n 'snazzy',\n 'sneak',\n 'sneer',\n 'sneeze',\n 'sneezing',\n 'snide',\n 'sniff',\n 'snippet',\n 'snipping',\n 'snitch',\n 'snooper',\n 'snooze',\n 'snore',\n 'snoring',\n 'snorkel',\n 'snort',\n 'snout',\n 'snowbird',\n 'snowboard',\n 'snowbound',\n 'snowcap',\n 'snowdrift',\n 'snowdrop',\n 'snowfall',\n 'snowfield',\n 'snowflake',\n 'snowiness',\n 'snowless',\n 'snowman',\n 'snowplow',\n 'snowshoe',\n 'snowstorm',\n 'snowsuit',\n 'snowy',\n 'snub',\n 'snuff',\n 'snuggle',\n 'snugly',\n 'snugness',\n 'speak',\n 'spearfish',\n 'spearhead',\n 'spearman',\n 'spearmint',\n 'species',\n 'specimen',\n 'specked',\n 'speckled',\n 'specks',\n 'spectacle',\n 'spectator',\n 'spectrum',\n 'speculate',\n 'speech',\n 'speed',\n 'spellbind',\n 'speller',\n 'spelling',\n 'spendable',\n 'spender',\n 'spending',\n 'spent',\n 'spew',\n 'sphere',\n 'spherical',\n 'sphinx',\n 'spider',\n 'spied',\n 'spiffy',\n 'spill',\n 'spilt',\n 'spinach',\n 'spinal',\n 'spindle',\n 'spinner',\n 'spinning',\n 'spinout',\n 'spinster',\n 'spiny',\n 'spiral',\n 'spirited',\n 'spiritism',\n 'spirits',\n 'spiritual',\n 'splashed',\n 'splashing',\n 'splashy',\n 'splatter',\n 'spleen',\n 'splendid',\n 'splendor',\n 'splice',\n 'splicing',\n 'splinter',\n 'splotchy',\n 'splurge',\n 'spoilage',\n 'spoiled',\n 'spoiler',\n 'spoiling',\n 'spoils',\n 'spoken',\n 'spokesman',\n 'sponge',\n 'spongy',\n 'sponsor',\n 'spoof',\n 'spookily',\n 'spooky',\n 'spool',\n 'spoon',\n 'spore',\n 'sporting',\n 'sports',\n 'sporty',\n 'spotless',\n 'spotlight',\n 'spotted',\n 'spotter',\n 'spotting',\n 'spotty',\n 'spousal',\n 'spouse',\n 'spout',\n 'sprain',\n 'sprang',\n 'sprawl',\n 'spray',\n 'spree',\n 'sprig',\n 'spring',\n 'sprinkled',\n 'sprinkler',\n 'sprint',\n 'sprite',\n 'sprout',\n 'spruce',\n 'sprung',\n 'spry',\n 'spud',\n 'spur',\n 'sputter',\n 'spyglass',\n 'squabble',\n 'squad',\n 'squall',\n 'squander',\n 'squash',\n 'squatted',\n 'squatter',\n 'squatting',\n 'squeak',\n 'squealer',\n 'squealing',\n 'squeamish',\n 'squeegee',\n 'squeeze',\n 'squeezing',\n 'squid',\n 'squiggle',\n 'squiggly',\n 'squint',\n 'squire',\n 'squirt',\n 'squishier',\n 'squishy',\n 'stability',\n 'stabilize',\n 'stable',\n 'stack',\n 'stadium',\n 'staff',\n 'stage',\n 'staging',\n 'stagnant',\n 'stagnate',\n 'stainable',\n 'stained',\n 'staining',\n 'stainless',\n 'stalemate',\n 'staleness',\n 'stalling',\n 'stallion',\n 'stamina',\n 'stammer',\n 'stamp',\n 'stand',\n 'stank',\n 'staple',\n 'stapling',\n 'starboard',\n 'starch',\n 'stardom',\n 'stardust',\n 'starfish',\n 'stargazer',\n 'staring',\n 'stark',\n 'starless',\n 'starlet',\n 'starlight',\n 'starlit',\n 'starring',\n 'starry',\n 'starship',\n 'starter',\n 'starting',\n 'startle',\n 'startling',\n 'startup',\n 'starved',\n 'starving',\n 'stash',\n 'state',\n 'static',\n 'statistic',\n 'statue',\n 'stature',\n 'status',\n 'statute',\n 'statutory',\n 'staunch',\n 'stays',\n 'steadfast',\n 'steadier',\n 'steadily',\n 'steadying',\n 'steam',\n 'steed',\n 'steep',\n 'steerable',\n 'steering',\n 'steersman',\n 'stegosaur',\n 'stellar',\n 'stem',\n 'stench',\n 'stencil',\n 'step',\n 'stereo',\n 'sterile',\n 'sterility',\n 'sterilize',\n 'sterling',\n 'sternness',\n 'sternum',\n 'stew',\n 'stick',\n 'stiffen',\n 'stiffly',\n 'stiffness',\n 'stifle',\n 'stifling',\n 'stillness',\n 'stilt',\n 'stimulant',\n 'stimulate',\n 'stimuli',\n 'stimulus',\n 'stinger',\n 'stingily',\n 'stinging',\n 'stingray',\n 'stingy',\n 'stinking',\n 'stinky',\n 'stipend',\n 'stipulate',\n 'stir',\n 'stitch',\n 'stock',\n 'stoic',\n 'stoke',\n 'stole',\n 'stomp',\n 'stonewall',\n 'stoneware',\n 'stonework',\n 'stoning',\n 'stony',\n 'stood',\n 'stooge',\n 'stool',\n 'stoop',\n 'stoplight',\n 'stoppable',\n 'stoppage',\n 'stopped',\n 'stopper',\n 'stopping',\n 'stopwatch',\n 'storable',\n 'storage',\n 'storeroom',\n 'storewide',\n 'storm',\n 'stout',\n 'stove',\n 'stowaway',\n 'stowing',\n 'straddle',\n 'straggler',\n 'strained',\n 'strainer',\n 'straining',\n 'strangely',\n 'stranger',\n 'strangle',\n 'strategic',\n 'strategy',\n 'stratus',\n 'straw',\n 'stray',\n 'streak',\n 'stream',\n 'street',\n 'strength',\n 'strenuous',\n 'strep',\n 'stress',\n 'stretch',\n 'strewn',\n 'stricken',\n 'strict',\n 'stride',\n 'strife',\n 'strike',\n 'striking',\n 'strive',\n 'striving',\n 'strobe',\n 'strode',\n 'stroller',\n 'strongbox',\n 'strongly',\n 'strongman',\n 'struck',\n 'structure',\n 'strudel',\n 'struggle',\n 'strum',\n 'strung',\n 'strut',\n 'stubbed',\n 'stubble',\n 'stubbly',\n 'stubborn',\n 'stucco',\n 'stuck',\n 'student',\n 'studied',\n 'studio',\n 'study',\n 'stuffed',\n 'stuffing',\n 'stuffy',\n 'stumble',\n 'stumbling',\n 'stump',\n 'stung',\n 'stunned',\n 'stunner',\n 'stunning',\n 'stunt',\n 'stupor',\n 'sturdily',\n 'sturdy',\n 'styling',\n 'stylishly',\n 'stylist',\n 'stylized',\n 'stylus',\n 'suave',\n 'subarctic',\n 'subatomic',\n 'subdivide',\n 'subdued',\n 'subduing',\n 'subfloor',\n 'subgroup',\n 'subheader',\n 'subject',\n 'sublease',\n 'sublet',\n 'sublevel',\n 'sublime',\n 'submarine',\n 'submerge',\n 'submersed',\n 'submitter',\n 'subpanel',\n 'subpar',\n 'subplot',\n 'subprime',\n 'subscribe',\n 'subscript',\n 'subsector',\n 'subside',\n 'subsiding',\n 'subsidize',\n 'subsidy',\n 'subsoil',\n 'subsonic',\n 'substance',\n 'subsystem',\n 'subtext',\n 'subtitle',\n 'subtly',\n 'subtotal',\n 'subtract',\n 'subtype',\n 'suburb',\n 'subway',\n 'subwoofer',\n 'subzero',\n 'succulent',\n 'such',\n 'suction',\n 'sudden',\n 'sudoku',\n 'suds',\n 'sufferer',\n 'suffering',\n 'suffice',\n 'suffix',\n 'suffocate',\n 'suffrage',\n 'sugar',\n 'suggest',\n 'suing',\n 'suitable',\n 'suitably',\n 'suitcase',\n 'suitor',\n 'sulfate',\n 'sulfide',\n 'sulfite',\n 'sulfur',\n 'sulk',\n 'sullen',\n 'sulphate',\n 'sulphuric',\n 'sultry',\n 'superbowl',\n 'superglue',\n 'superhero',\n 'superior',\n 'superjet',\n 'superman',\n 'supermom',\n 'supernova',\n 'supervise',\n 'supper',\n 'supplier',\n 'supply',\n 'support',\n 'supremacy',\n 'supreme',\n 'surcharge',\n 'surely',\n 'sureness',\n 'surface',\n 'surfacing',\n 'surfboard',\n 'surfer',\n 'surgery',\n 'surgical',\n 'surging',\n 'surname',\n 'surpass',\n 'surplus',\n 'surprise',\n 'surreal',\n 'surrender',\n 'surrogate',\n 'surround',\n 'survey',\n 'survival',\n 'survive',\n 'surviving',\n 'survivor',\n 'sushi',\n 'suspect',\n 'suspend',\n 'suspense',\n 'sustained',\n 'sustainer',\n 'swab',\n 'swaddling',\n 'swagger',\n 'swampland',\n 'swan',\n 'swapping',\n 'swarm',\n 'sway',\n 'swear',\n 'sweat',\n 'sweep',\n 'swell',\n 'swept',\n 'swerve',\n 'swifter',\n 'swiftly',\n 'swiftness',\n 'swimmable',\n 'swimmer',\n 'swimming',\n 'swimsuit',\n 'swimwear',\n 'swinger',\n 'swinging',\n 'swipe',\n 'swirl',\n 'switch',\n 'swivel',\n 'swizzle',\n 'swooned',\n 'swoop',\n 'swoosh',\n 'swore',\n 'sworn',\n 'swung',\n 'sycamore',\n 'sympathy',\n 'symphonic',\n 'symphony',\n 'symptom',\n 'synapse',\n 'syndrome',\n 'synergy',\n 'synopses',\n 'synopsis',\n 'synthesis',\n 'synthetic',\n 'syrup',\n 'system',\n 't-shirt',\n 'tabasco',\n 'tabby',\n 'tableful',\n 'tables',\n 'tablet',\n 'tableware',\n 'tabloid',\n 'tackiness',\n 'tacking',\n 'tackle',\n 'tackling',\n 'tacky',\n 'taco',\n 'tactful',\n 'tactical',\n 'tactics',\n 'tactile',\n 'tactless',\n 'tadpole',\n 'taekwondo',\n 'tag',\n 'tainted',\n 'take',\n 'taking',\n 'talcum',\n 'talisman',\n 'tall',\n 'talon',\n 'tamale',\n 'tameness',\n 'tamer',\n 'tamper',\n 'tank',\n 'tanned',\n 'tannery',\n 'tanning',\n 'tantrum',\n 'tapeless',\n 'tapered',\n 'tapering',\n 'tapestry',\n 'tapioca',\n 'tapping',\n 'taps',\n 'tarantula',\n 'target',\n 'tarmac',\n 'tarnish',\n 'tarot',\n 'tartar',\n 'tartly',\n 'tartness',\n 'task',\n 'tassel',\n 'taste',\n 'tastiness',\n 'tasting',\n 'tasty',\n 'tattered',\n 'tattle',\n 'tattling',\n 'tattoo',\n 'taunt',\n 'tavern',\n 'thank',\n 'that',\n 'thaw',\n 'theater',\n 'theatrics',\n 'thee',\n 'theft',\n 'theme',\n 'theology',\n 'theorize',\n 'thermal',\n 'thermos',\n 'thesaurus',\n 'these',\n 'thesis',\n 'thespian',\n 'thicken',\n 'thicket',\n 'thickness',\n 'thieving',\n 'thievish',\n 'thigh',\n 'thimble',\n 'thing',\n 'think',\n 'thinly',\n 'thinner',\n 'thinness',\n 'thinning',\n 'thirstily',\n 'thirsting',\n 'thirsty',\n 'thirteen',\n 'thirty',\n 'thong',\n 'thorn',\n 'those',\n 'thousand',\n 'thrash',\n 'thread',\n 'threaten',\n 'threefold',\n 'thrift',\n 'thrill',\n 'thrive',\n 'thriving',\n 'throat',\n 'throbbing',\n 'throng',\n 'throttle',\n 'throwaway',\n 'throwback',\n 'thrower',\n 'throwing',\n 'thud',\n 'thumb',\n 'thumping',\n 'thursday',\n 'thus',\n 'thwarting',\n 'thyself',\n 'tiara',\n 'tibia',\n 'tidal',\n 'tidbit',\n 'tidiness',\n 'tidings',\n 'tidy',\n 'tiger',\n 'tighten',\n 'tightly',\n 'tightness',\n 'tightrope',\n 'tightwad',\n 'tigress',\n 'tile',\n 'tiling',\n 'till',\n 'tilt',\n 'timid',\n 'timing',\n 'timothy',\n 'tinderbox',\n 'tinfoil',\n 'tingle',\n 'tingling',\n 'tingly',\n 'tinker',\n 'tinkling',\n 'tinsel',\n 'tinsmith',\n 'tint',\n 'tinwork',\n 'tiny',\n 'tipoff',\n 'tipped',\n 'tipper',\n 'tipping',\n 'tiptoeing',\n 'tiptop',\n 'tiring',\n 'tissue',\n 'trace',\n 'tracing',\n 'track',\n 'traction',\n 'tractor',\n 'trade',\n 'trading',\n 'tradition',\n 'traffic',\n 'tragedy',\n 'trailing',\n 'trailside',\n 'train',\n 'traitor',\n 'trance',\n 'tranquil',\n 'transfer',\n 'transform',\n 'translate',\n 'transpire',\n 'transport',\n 'transpose',\n 'trapdoor',\n 'trapeze',\n 'trapezoid',\n 'trapped',\n 'trapper',\n 'trapping',\n 'traps',\n 'trash',\n 'travel',\n 'traverse',\n 'travesty',\n 'tray',\n 'treachery',\n 'treading',\n 'treadmill',\n 'treason',\n 'treat',\n 'treble',\n 'tree',\n 'trekker',\n 'tremble',\n 'trembling',\n 'tremor',\n 'trench',\n 'trend',\n 'trespass',\n 'triage',\n 'trial',\n 'triangle',\n 'tribesman',\n 'tribunal',\n 'tribune',\n 'tributary',\n 'tribute',\n 'triceps',\n 'trickery',\n 'trickily',\n 'tricking',\n 'trickle',\n 'trickster',\n 'tricky',\n 'tricolor',\n 'tricycle',\n 'trident',\n 'tried',\n 'trifle',\n 'trifocals',\n 'trillion',\n 'trilogy',\n 'trimester',\n 'trimmer',\n 'trimming',\n 'trimness',\n 'trinity',\n 'trio',\n 'tripod',\n 'tripping',\n 'triumph',\n 'trivial',\n 'trodden',\n 'trolling',\n 'trombone',\n 'trophy',\n 'tropical',\n 'tropics',\n 'trouble',\n 'troubling',\n 'trough',\n 'trousers',\n 'trout',\n 'trowel',\n 'truce',\n 'truck',\n 'truffle',\n 'trump',\n 'trunks',\n 'trustable',\n 'trustee',\n 'trustful',\n 'trusting',\n 'trustless',\n 'truth',\n 'try',\n 'tubby',\n 'tubeless',\n 'tubular',\n 'tucking',\n 'tuesday',\n 'tug',\n 'tuition',\n 'tulip',\n 'tumble',\n 'tumbling',\n 'tummy',\n 'turban',\n 'turbine',\n 'turbofan',\n 'turbojet',\n 'turbulent',\n 'turf',\n 'turkey',\n 'turmoil',\n 'turret',\n 'turtle',\n 'tusk',\n 'tutor',\n 'tutu',\n 'tux',\n 'tweak',\n 'tweed',\n 'tweet',\n 'tweezers',\n 'twelve',\n 'twentieth',\n 'twenty',\n 'twerp',\n 'twice',\n 'twiddle',\n 'twiddling',\n 'twig',\n 'twilight',\n 'twine',\n 'twins',\n 'twirl',\n 'twistable',\n 'twisted',\n 'twister',\n 'twisting',\n 'twisty',\n 'twitch',\n 'twitter',\n 'tycoon',\n 'tying',\n 'tyke',\n 'udder',\n 'ultimate',\n 'ultimatum',\n 'ultra',\n 'umbilical',\n 'umbrella',\n 'umpire',\n 'unabashed',\n 'unable',\n 'unadorned',\n 'unadvised',\n 'unafraid',\n 'unaired',\n 'unaligned',\n 'unaltered',\n 'unarmored',\n 'unashamed',\n 'unaudited',\n 'unawake',\n 'unaware',\n 'unbaked',\n 'unbalance',\n 'unbeaten',\n 'unbend',\n 'unbent',\n 'unbiased',\n 'unbitten',\n 'unblended',\n 'unblessed',\n 'unblock',\n 'unbolted',\n 'unbounded',\n 'unboxed',\n 'unbraided',\n 'unbridle',\n 'unbroken',\n 'unbuckled',\n 'unbundle',\n 'unburned',\n 'unbutton',\n 'uncanny',\n 'uncapped',\n 'uncaring',\n 'uncertain',\n 'unchain',\n 'unchanged',\n 'uncharted',\n 'uncheck',\n 'uncivil',\n 'unclad',\n 'unclaimed',\n 'unclamped',\n 'unclasp',\n 'uncle',\n 'unclip',\n 'uncloak',\n 'unclog',\n 'unclothed',\n 'uncoated',\n 'uncoiled',\n 'uncolored',\n 'uncombed',\n 'uncommon',\n 'uncooked',\n 'uncork',\n 'uncorrupt',\n 'uncounted',\n 'uncouple',\n 'uncouth',\n 'uncover',\n 'uncross',\n 'uncrown',\n 'uncrushed',\n 'uncured',\n 'uncurious',\n 'uncurled',\n 'uncut',\n 'undamaged',\n 'undated',\n 'undaunted',\n 'undead',\n 'undecided',\n 'undefined',\n 'underage',\n 'underarm',\n 'undercoat',\n 'undercook',\n 'undercut',\n 'underdog',\n 'underdone',\n 'underfed',\n 'underfeed',\n 'underfoot',\n 'undergo',\n 'undergrad',\n 'underhand',\n 'underline',\n 'underling',\n 'undermine',\n 'undermost',\n 'underpaid',\n 'underpass',\n 'underpay',\n 'underrate',\n 'undertake',\n 'undertone',\n 'undertook',\n 'undertow',\n 'underuse',\n 'underwear',\n 'underwent',\n 'underwire',\n 'undesired',\n 'undiluted',\n 'undivided',\n 'undocked',\n 'undoing',\n 'undone',\n 'undrafted',\n 'undress',\n 'undrilled',\n 'undusted',\n 'undying',\n 'unearned',\n 'unearth',\n 'unease',\n 'uneasily',\n 'uneasy',\n 'uneatable',\n 'uneaten',\n 'unedited',\n 'unelected',\n 'unending',\n 'unengaged',\n 'unenvied',\n 'unequal',\n 'unethical',\n 'uneven',\n 'unexpired',\n 'unexposed',\n 'unfailing',\n 'unfair',\n 'unfasten',\n 'unfazed',\n 'unfeeling',\n 'unfiled',\n 'unfilled',\n 'unfitted',\n 'unfitting',\n 'unfixable',\n 'unfixed',\n 'unflawed',\n 'unfocused',\n 'unfold',\n 'unfounded',\n 'unframed',\n 'unfreeze',\n 'unfrosted',\n 'unfrozen',\n 'unfunded',\n 'unglazed',\n 'ungloved',\n 'unglue',\n 'ungodly',\n 'ungraded',\n 'ungreased',\n 'unguarded',\n 'unguided',\n 'unhappily',\n 'unhappy',\n 'unharmed',\n 'unhealthy',\n 'unheard',\n 'unhearing',\n 'unheated',\n 'unhelpful',\n 'unhidden',\n 'unhinge',\n 'unhitched',\n 'unholy',\n 'unhook',\n 'unicorn',\n 'unicycle',\n 'unified',\n 'unifier',\n 'uniformed',\n 'uniformly',\n 'unify',\n 'unimpeded',\n 'uninjured',\n 'uninstall',\n 'uninsured',\n 'uninvited',\n 'union',\n 'uniquely',\n 'unisexual',\n 'unison',\n 'unissued',\n 'unit',\n 'universal',\n 'universe',\n 'unjustly',\n 'unkempt',\n 'unkind',\n 'unknotted',\n 'unknowing',\n 'unknown',\n 'unlaced',\n 'unlatch',\n 'unlawful',\n 'unleaded',\n 'unlearned',\n 'unleash',\n 'unless',\n 'unleveled',\n 'unlighted',\n 'unlikable',\n 'unlimited',\n 'unlined',\n 'unlinked',\n 'unlisted',\n 'unlit',\n 'unlivable',\n 'unloaded',\n 'unloader',\n 'unlocked',\n 'unlocking',\n 'unlovable',\n 'unloved',\n 'unlovely',\n 'unloving',\n 'unluckily',\n 'unlucky',\n 'unmade',\n 'unmanaged',\n 'unmanned',\n 'unmapped',\n 'unmarked',\n 'unmasked',\n 'unmasking',\n 'unmatched',\n 'unmindful',\n 'unmixable',\n 'unmixed',\n 'unmolded',\n 'unmoral',\n 'unmovable',\n 'unmoved',\n 'unmoving',\n 'unnamable',\n 'unnamed',\n 'unnatural',\n 'unneeded',\n 'unnerve',\n 'unnerving',\n 'unnoticed',\n 'unopened',\n 'unopposed',\n 'unpack',\n 'unpadded',\n 'unpaid',\n 'unpainted',\n 'unpaired',\n 'unpaved',\n 'unpeeled',\n 'unpicked',\n 'unpiloted',\n 'unpinned',\n 'unplanned',\n 'unplanted',\n 'unpleased',\n 'unpledged',\n 'unplowed',\n 'unplug',\n 'unpopular',\n 'unproven',\n 'unquote',\n 'unranked',\n 'unrated',\n 'unraveled',\n 'unreached',\n 'unread',\n 'unreal',\n 'unreeling',\n 'unrefined',\n 'unrelated',\n 'unrented',\n 'unrest',\n 'unretired',\n 'unrevised',\n 'unrigged',\n 'unripe',\n 'unrivaled',\n 'unroasted',\n 'unrobed',\n 'unroll',\n 'unruffled',\n 'unruly',\n 'unrushed',\n 'unsaddle',\n 'unsafe',\n 'unsaid',\n 'unsalted',\n 'unsaved',\n 'unsavory',\n 'unscathed',\n 'unscented',\n 'unscrew',\n 'unsealed',\n 'unseated',\n 'unsecured',\n 'unseeing',\n 'unseemly',\n 'unseen',\n 'unselect',\n 'unselfish',\n 'unsent',\n 'unsettled',\n 'unshackle',\n 'unshaken',\n 'unshaved',\n 'unshaven',\n 'unsheathe',\n 'unshipped',\n 'unsightly',\n 'unsigned',\n 'unskilled',\n 'unsliced',\n 'unsmooth',\n 'unsnap',\n 'unsocial',\n 'unsoiled',\n 'unsold',\n 'unsolved',\n 'unsorted',\n 'unspoiled',\n 'unspoken',\n 'unstable',\n 'unstaffed',\n 'unstamped',\n 'unsteady',\n 'unsterile',\n 'unstirred',\n 'unstitch',\n 'unstopped',\n 'unstuck',\n 'unstuffed',\n 'unstylish',\n 'unsubtle',\n 'unsubtly',\n 'unsuited',\n 'unsure',\n 'unsworn',\n 'untagged',\n 'untainted',\n 'untaken',\n 'untamed',\n 'untangled',\n 'untapped',\n 'untaxed',\n 'unthawed',\n 'unthread',\n 'untidy',\n 'untie',\n 'until',\n 'untimed',\n 'untimely',\n 'untitled',\n 'untoasted',\n 'untold',\n 'untouched',\n 'untracked',\n 'untrained',\n 'untreated',\n 'untried',\n 'untrimmed',\n 'untrue',\n 'untruth',\n 'unturned',\n 'untwist',\n 'untying',\n 'unusable',\n 'unused',\n 'unusual',\n 'unvalued',\n 'unvaried',\n 'unvarying',\n 'unveiled',\n 'unveiling',\n 'unvented',\n 'unviable',\n 'unvisited',\n 'unvocal',\n 'unwanted',\n 'unwarlike',\n 'unwary',\n 'unwashed',\n 'unwatched',\n 'unweave',\n 'unwed',\n 'unwelcome',\n 'unwell',\n 'unwieldy',\n 'unwilling',\n 'unwind',\n 'unwired',\n 'unwitting',\n 'unwomanly',\n 'unworldly',\n 'unworn',\n 'unworried',\n 'unworthy',\n 'unwound',\n 'unwoven',\n 'unwrapped',\n 'unwritten',\n 'unzip',\n 'upbeat',\n 'upchuck',\n 'upcoming',\n 'upcountry',\n 'update',\n 'upfront',\n 'upgrade',\n 'upheaval',\n 'upheld',\n 'uphill',\n 'uphold',\n 'uplifted',\n 'uplifting',\n 'upload',\n 'upon',\n 'upper',\n 'upright',\n 'uprising',\n 'upriver',\n 'uproar',\n 'uproot',\n 'upscale',\n 'upside',\n 'upstage',\n 'upstairs',\n 'upstart',\n 'upstate',\n 'upstream',\n 'upstroke',\n 'upswing',\n 'uptake',\n 'uptight',\n 'uptown',\n 'upturned',\n 'upward',\n 'upwind',\n 'uranium',\n 'urban',\n 'urchin',\n 'urethane',\n 'urgency',\n 'urgent',\n 'urging',\n 'urologist',\n 'urology',\n 'usable',\n 'usage',\n 'useable',\n 'used',\n 'uselessly',\n 'user',\n 'usher',\n 'usual',\n 'utensil',\n 'utility',\n 'utilize',\n 'utmost',\n 'utopia',\n 'utter',\n 'vacancy',\n 'vacant',\n 'vacate',\n 'vacation',\n 'vagabond',\n 'vagrancy',\n 'vagrantly',\n 'vaguely',\n 'vagueness',\n 'valiant',\n 'valid',\n 'valium',\n 'valley',\n 'valuables',\n 'value',\n 'vanilla',\n 'vanish',\n 'vanity',\n 'vanquish',\n 'vantage',\n 'vaporizer',\n 'variable',\n 'variably',\n 'varied',\n 'variety',\n 'various',\n 'varmint',\n 'varnish',\n 'varsity',\n 'varying',\n 'vascular',\n 'vaseline',\n 'vastly',\n 'vastness',\n 'veal',\n 'vegan',\n 'veggie',\n 'vehicular',\n 'velcro',\n 'velocity',\n 'velvet',\n 'vendetta',\n 'vending',\n 'vendor',\n 'veneering',\n 'vengeful',\n 'venomous',\n 'ventricle',\n 'venture',\n 'venue',\n 'venus',\n 'verbalize',\n 'verbally',\n 'verbose',\n 'verdict',\n 'verify',\n 'verse',\n 'version',\n 'versus',\n 'vertebrae',\n 'vertical',\n 'vertigo',\n 'very',\n 'vessel',\n 'vest',\n 'veteran',\n 'veto',\n 'vexingly',\n 'viability',\n 'viable',\n 'vibes',\n 'vice',\n 'vicinity',\n 'victory',\n 'video',\n 'viewable',\n 'viewer',\n 'viewing',\n 'viewless',\n 'viewpoint',\n 'vigorous',\n 'village',\n 'villain',\n 'vindicate',\n 'vineyard',\n 'vintage',\n 'violate',\n 'violation',\n 'violator',\n 'violet',\n 'violin',\n 'viper',\n 'viral',\n 'virtual',\n 'virtuous',\n 'virus',\n 'visa',\n 'viscosity',\n 'viscous',\n 'viselike',\n 'visible',\n 'visibly',\n 'vision',\n 'visiting',\n 'visitor',\n 'visor',\n 'vista',\n 'vitality',\n 'vitalize',\n 'vitally',\n 'vitamins',\n 'vivacious',\n 'vividly',\n 'vividness',\n 'vixen',\n 'vocalist',\n 'vocalize',\n 'vocally',\n 'vocation',\n 'voice',\n 'voicing',\n 'void',\n 'volatile',\n 'volley',\n 'voltage',\n 'volumes',\n 'voter',\n 'voting',\n 'voucher',\n 'vowed',\n 'vowel',\n 'voyage',\n 'wackiness',\n 'wad',\n 'wafer',\n 'waffle',\n 'waged',\n 'wager',\n 'wages',\n 'waggle',\n 'wagon',\n 'wake',\n 'waking',\n 'walk',\n 'walmart',\n 'walnut',\n 'walrus',\n 'waltz',\n 'wand',\n 'wannabe',\n 'wanted',\n 'wanting',\n 'wasabi',\n 'washable',\n 'washbasin',\n 'washboard',\n 'washbowl',\n 'washcloth',\n 'washday',\n 'washed',\n 'washer',\n 'washhouse',\n 'washing',\n 'washout',\n 'washroom',\n 'washstand',\n 'washtub',\n 'wasp',\n 'wasting',\n 'watch',\n 'water',\n 'waviness',\n 'waving',\n 'wavy',\n 'whacking',\n 'whacky',\n 'wham',\n 'wharf',\n 'wheat',\n 'whenever',\n 'whiff',\n 'whimsical',\n 'whinny',\n 'whiny',\n 'whisking',\n 'whoever',\n 'whole',\n 'whomever',\n 'whoopee',\n 'whooping',\n 'whoops',\n 'why',\n 'wick',\n 'widely',\n 'widen',\n 'widget',\n 'widow',\n 'width',\n 'wieldable',\n 'wielder',\n 'wife',\n 'wifi',\n 'wikipedia',\n 'wildcard',\n 'wildcat',\n 'wilder',\n 'wildfire',\n 'wildfowl',\n 'wildland',\n 'wildlife',\n 'wildly',\n 'wildness',\n 'willed',\n 'willfully',\n 'willing',\n 'willow',\n 'willpower',\n 'wilt',\n 'wimp',\n 'wince',\n 'wincing',\n 'wind',\n 'wing',\n 'winking',\n 'winner',\n 'winnings',\n 'winter',\n 'wipe',\n 'wired',\n 'wireless',\n 'wiring',\n 'wiry',\n 'wisdom',\n 'wise',\n 'wish',\n 'wisplike',\n 'wispy',\n 'wistful',\n 'wizard',\n 'wobble',\n 'wobbling',\n 'wobbly',\n 'wok',\n 'wolf',\n 'wolverine',\n 'womanhood',\n 'womankind',\n 'womanless',\n 'womanlike',\n 'womanly',\n 'womb',\n 'woof',\n 'wooing',\n 'wool',\n 'woozy',\n 'word',\n 'work',\n 'worried',\n 'worrier',\n 'worrisome',\n 'worry',\n 'worsening',\n 'worshiper',\n 'worst',\n 'wound',\n 'woven',\n 'wow',\n 'wrangle',\n 'wrath',\n 'wreath',\n 'wreckage',\n 'wrecker',\n 'wrecking',\n 'wrench',\n 'wriggle',\n 'wriggly',\n 'wrinkle',\n 'wrinkly',\n 'wrist',\n 'writing',\n 'written',\n 'wrongdoer',\n 'wronged',\n 'wrongful',\n 'wrongly',\n 'wrongness',\n 'wrought',\n 'xbox',\n 'xerox',\n 'yahoo',\n 'yam',\n 'yanking',\n 'yapping',\n 'yard',\n 'yarn',\n 'yeah',\n 'yearbook',\n 'yearling',\n 'yearly',\n 'yearning',\n 'yeast',\n 'yelling',\n 'yelp',\n 'yen',\n 'yesterday',\n 'yiddish',\n 'yield',\n 'yin',\n 'yippee',\n 'yo-yo',\n 'yodel',\n 'yoga',\n 'yogurt',\n 'yonder',\n 'yoyo',\n 'yummy',\n 'zap',\n 'zealous',\n 'zebra',\n 'zen',\n 'zeppelin',\n 'zero',\n 'zestfully',\n 'zesty',\n 'zigzagged',\n 'zipfile',\n 'zipping',\n 'zippy',\n 'zips',\n 'zit',\n 'zodiac',\n 'zombie',\n 'zone',\n 'zoning',\n 'zookeeper',\n 'zoologist',\n 'zoology',\n 'zoom',\n];\n","import { EnvironmentUrls } from '../models/domain/environmentUrls';\n\nimport { ConstantsService } from './constants.service';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { EnvironmentService as EnvironmentServiceAbstraction } from '../abstractions/environment.service';\nimport { NotificationsService } from '../abstractions/notifications.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nexport class EnvironmentService implements EnvironmentServiceAbstraction {\n baseUrl: string;\n webVaultUrl: string;\n apiUrl: string;\n identityUrl: string;\n iconsUrl: string;\n notificationsUrl: string;\n eventsUrl: string;\n enterpriseUrl: string;\n\n constructor(private apiService: ApiService, private storageService: StorageService,\n private notificationsService: NotificationsService) { }\n\n getWebVaultUrl(): string {\n if (this.webVaultUrl != null) {\n return this.webVaultUrl;\n } else if (this.baseUrl) {\n return this.baseUrl;\n }\n return null;\n }\n\n async setUrlsFromStorage(): Promise {\n const urlsObj: any = await this.storageService.get(ConstantsService.environmentUrlsKey);\n const urls = urlsObj || {\n base: null,\n api: null,\n identity: null,\n icons: null,\n notifications: null,\n events: null,\n webVault: null,\n enterprise: null,\n };\n\n const envUrls = new EnvironmentUrls();\n\n if (urls.base) {\n this.baseUrl = envUrls.base = urls.base;\n this.apiService.setUrls(envUrls);\n return;\n }\n\n this.webVaultUrl = urls.webVault;\n this.apiUrl = envUrls.api = urls.api;\n this.identityUrl = envUrls.identity = urls.identity;\n this.iconsUrl = urls.icons;\n this.notificationsUrl = urls.notifications;\n this.eventsUrl = envUrls.events = urls.events;\n this.enterpriseUrl = urls.enterprise;\n this.apiService.setUrls(envUrls);\n }\n\n async setUrls(urls: any): Promise {\n urls.base = this.formatUrl(urls.base);\n urls.webVault = this.formatUrl(urls.webVault);\n urls.api = this.formatUrl(urls.api);\n urls.identity = this.formatUrl(urls.identity);\n urls.icons = this.formatUrl(urls.icons);\n urls.notifications = this.formatUrl(urls.notifications);\n urls.events = this.formatUrl(urls.events);\n urls.enterprise = this.formatUrl(urls.enterprise);\n\n await this.storageService.save(ConstantsService.environmentUrlsKey, {\n base: urls.base,\n api: urls.api,\n identity: urls.identity,\n webVault: urls.webVault,\n icons: urls.icons,\n notifications: urls.notifications,\n events: urls.events,\n enterprise: urls.enterprise,\n });\n\n this.baseUrl = urls.base;\n this.webVaultUrl = urls.webVault;\n this.apiUrl = urls.api;\n this.identityUrl = urls.identity;\n this.iconsUrl = urls.icons;\n this.notificationsUrl = urls.notifications;\n this.eventsUrl = urls.events;\n this.enterpriseUrl = urls.enterprise;\n\n const envUrls = new EnvironmentUrls();\n if (this.baseUrl) {\n envUrls.base = this.baseUrl;\n } else {\n envUrls.api = this.apiUrl;\n envUrls.identity = this.identityUrl;\n envUrls.events = this.eventsUrl;\n }\n\n this.apiService.setUrls(envUrls);\n if (this.notificationsService != null) {\n this.notificationsService.init(this);\n }\n return urls;\n }\n\n private formatUrl(url: string): string {\n if (url == null || url === '') {\n return null;\n }\n\n url = url.replace(/\\/+$/g, '');\n if (!url.startsWith('http://') && !url.startsWith('https://')) {\n url = 'https://' + url;\n }\n\n return url.trim();\n }\n}\n","import { FolderData } from '../models/data/folderData';\n\nimport { Folder } from '../models/domain/folder';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\nimport { TreeNode } from '../models/domain/treeNode';\n\nimport { FolderRequest } from '../models/request/folderRequest';\n\nimport { FolderResponse } from '../models/response/folderResponse';\n\nimport { FolderView } from '../models/view/folderView';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { CipherService } from '../abstractions/cipher.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { FolderService as FolderServiceAbstraction } from '../abstractions/folder.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { UserService } from '../abstractions/user.service';\nimport { CipherData } from '../models/data/cipherData';\n\nimport { ServiceUtils } from '../misc/serviceUtils';\nimport { Utils } from '../misc/utils';\n\nconst Keys = {\n foldersPrefix: 'folders_',\n ciphersPrefix: 'ciphers_',\n};\nconst NestingDelimiter = '/';\n\nexport class FolderService implements FolderServiceAbstraction {\n decryptedFolderCache: FolderView[];\n\n constructor(private cryptoService: CryptoService, private userService: UserService,\n private apiService: ApiService, private storageService: StorageService,\n private i18nService: I18nService, private cipherService: CipherService) { }\n\n clearCache(): void {\n this.decryptedFolderCache = null;\n }\n\n async encrypt(model: FolderView, key?: SymmetricCryptoKey): Promise {\n const folder = new Folder();\n folder.id = model.id;\n folder.name = await this.cryptoService.encrypt(model.name, key);\n return folder;\n }\n\n async get(id: string): Promise {\n const userId = await this.userService.getUserId();\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\n Keys.foldersPrefix + userId);\n if (folders == null || !folders.hasOwnProperty(id)) {\n return null;\n }\n\n return new Folder(folders[id]);\n }\n\n async getAll(): Promise {\n const userId = await this.userService.getUserId();\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\n Keys.foldersPrefix + userId);\n const response: Folder[] = [];\n for (const id in folders) {\n if (folders.hasOwnProperty(id)) {\n response.push(new Folder(folders[id]));\n }\n }\n return response;\n }\n\n async getAllDecrypted(): Promise {\n if (this.decryptedFolderCache != null) {\n return this.decryptedFolderCache;\n }\n\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n throw new Error('No key.');\n }\n\n const decFolders: FolderView[] = [];\n const promises: Promise[] = [];\n const folders = await this.getAll();\n folders.forEach((folder) => {\n promises.push(folder.decrypt().then((f) => decFolders.push(f)));\n });\n\n await Promise.all(promises);\n decFolders.sort(Utils.getSortFunction(this.i18nService, 'name'));\n\n const noneFolder = new FolderView();\n noneFolder.name = this.i18nService.t('noneFolder');\n decFolders.push(noneFolder);\n\n this.decryptedFolderCache = decFolders;\n return this.decryptedFolderCache;\n }\n\n async getAllNested(): Promise[]> {\n const folders = await this.getAllDecrypted();\n const nodes: TreeNode[] = [];\n folders.forEach((f) => {\n const folderCopy = new FolderView();\n folderCopy.id = f.id;\n folderCopy.revisionDate = f.revisionDate;\n const parts = f.name != null ? f.name.replace(/^\\/+|\\/+$/g, '').split(NestingDelimiter) : [];\n ServiceUtils.nestedTraverse(nodes, 0, parts, folderCopy, null, NestingDelimiter);\n });\n return nodes;\n }\n\n async getNested(id: string): Promise> {\n const folders = await this.getAllNested();\n return ServiceUtils.getTreeNodeObject(folders, id) as TreeNode;\n }\n\n async saveWithServer(folder: Folder): Promise {\n const request = new FolderRequest(folder);\n\n let response: FolderResponse;\n if (folder.id == null) {\n response = await this.apiService.postFolder(request);\n folder.id = response.id;\n } else {\n response = await this.apiService.putFolder(folder.id, request);\n }\n\n const userId = await this.userService.getUserId();\n const data = new FolderData(response, userId);\n await this.upsert(data);\n }\n\n async upsert(folder: FolderData | FolderData[]): Promise {\n const userId = await this.userService.getUserId();\n let folders = await this.storageService.get<{ [id: string]: FolderData; }>(\n Keys.foldersPrefix + userId);\n if (folders == null) {\n folders = {};\n }\n\n if (folder instanceof FolderData) {\n const f = folder as FolderData;\n folders[f.id] = f;\n } else {\n (folder as FolderData[]).forEach((f) => {\n folders[f.id] = f;\n });\n }\n\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\n this.decryptedFolderCache = null;\n }\n\n async replace(folders: { [id: string]: FolderData; }): Promise {\n const userId = await this.userService.getUserId();\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\n this.decryptedFolderCache = null;\n }\n\n async clear(userId: string): Promise {\n await this.storageService.remove(Keys.foldersPrefix + userId);\n this.decryptedFolderCache = null;\n }\n\n async delete(id: string | string[]): Promise {\n const userId = await this.userService.getUserId();\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\n Keys.foldersPrefix + userId);\n if (folders == null) {\n return;\n }\n\n if (typeof id === 'string') {\n if (folders[id] == null) {\n return;\n }\n delete folders[id];\n } else {\n (id as string[]).forEach((i) => {\n delete folders[i];\n });\n }\n\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\n this.decryptedFolderCache = null;\n\n // Items in a deleted folder are re-assigned to \"No Folder\"\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(Keys.ciphersPrefix + userId);\n if (ciphers != null) {\n const updates: CipherData[] = [];\n for (const cId in ciphers) {\n if (ciphers[cId].folderId === id) {\n ciphers[cId].folderId = null;\n updates.push(ciphers[cId]);\n }\n }\n if (updates.length > 0) {\n this.cipherService.upsert(updates);\n }\n }\n }\n\n async deleteWithServer(id: string): Promise {\n await this.apiService.deleteFolder(id);\n await this.delete(id);\n }\n}\n","import { I18nService as I18nServiceAbstraction } from '../abstractions/i18n.service';\n\nexport class I18nService implements I18nServiceAbstraction {\n locale: string;\n // First locale is the default (English)\n supportedTranslationLocales: string[] = ['en'];\n translationLocale: string;\n collator: Intl.Collator;\n localeNames = new Map([\n ['af', 'Afrikaans'],\n ['be', 'Беларуская'],\n ['bg', 'български'],\n ['ca', 'català'],\n ['cs', 'čeština'],\n ['da', 'dansk'],\n ['de', 'Deutsch'],\n ['el', 'Ελληνικά'],\n ['en', 'English'],\n ['en-GB', 'English (British)'],\n ['eo', 'Esperanto'],\n ['es', 'español'],\n ['et', 'eesti'],\n ['fa', 'فارسی'],\n ['fi', 'suomi'],\n ['fr', 'français'],\n ['he', 'עברית'],\n ['hi', 'हिन्दी'],\n ['hr', 'hrvatski'],\n ['hu', 'magyar'],\n ['id', 'Bahasa Indonesia'],\n ['it', 'italiano'],\n ['ja', '日本語'],\n ['ko', '한국어'],\n ['lv', 'Latvietis'],\n ['ml', 'മലയാളം'],\n ['nb', 'norsk (bokmål)'],\n ['nl', 'Nederlands'],\n ['pl', 'polski'],\n ['pt-BR', 'português do Brasil'],\n ['pt-PT', 'português'],\n ['ro', 'română'],\n ['ru', 'русский'],\n ['sk', 'slovenčina'],\n ['sr', 'Српски'],\n ['sv', 'svenska'],\n ['th', 'ไทย'],\n ['tr', 'Türkçe'],\n ['uk', 'українська'],\n ['vi', 'Tiếng Việt'],\n ['zh-CN', '中文(中国大陆)'],\n ['zh-TW', '中文(台灣)'],\n ]);\n\n protected inited: boolean;\n protected defaultMessages: any = {};\n protected localeMessages: any = {};\n\n constructor(protected systemLanguage: string, protected localesDirectory: string,\n protected getLocalesJson: (formattedLocale: string) => Promise) {\n this.systemLanguage = systemLanguage.replace('_', '-');\n }\n\n async init(locale?: string) {\n if (this.inited) {\n throw new Error('i18n already initialized.');\n }\n if (this.supportedTranslationLocales == null || this.supportedTranslationLocales.length === 0) {\n throw new Error('supportedTranslationLocales not set.');\n }\n\n this.inited = true;\n this.locale = this.translationLocale = locale != null ? locale : this.systemLanguage;\n\n try {\n this.collator = new Intl.Collator(this.locale, { numeric: true, sensitivity: 'base' });\n } catch {\n this.collator = null;\n }\n\n if (this.supportedTranslationLocales.indexOf(this.translationLocale) === -1) {\n this.translationLocale = this.translationLocale.slice(0, 2);\n\n if (this.supportedTranslationLocales.indexOf(this.translationLocale) === -1) {\n this.translationLocale = this.supportedTranslationLocales[0];\n }\n }\n\n if (this.localesDirectory != null) {\n await this.loadMessages(this.translationLocale, this.localeMessages);\n if (this.translationLocale !== this.supportedTranslationLocales[0]) {\n await this.loadMessages(this.supportedTranslationLocales[0], this.defaultMessages);\n }\n }\n }\n\n t(id: string, p1?: string, p2?: string, p3?: string): string {\n return this.translate(id, p1, p2, p3);\n }\n\n translate(id: string, p1?: string, p2?: string, p3?: string): string {\n let result: string;\n if (this.localeMessages.hasOwnProperty(id) && this.localeMessages[id]) {\n result = this.localeMessages[id];\n } else if (this.defaultMessages.hasOwnProperty(id) && this.defaultMessages[id]) {\n result = this.defaultMessages[id];\n } else {\n result = '';\n }\n\n if (result !== '') {\n if (p1 != null) {\n result = result.split('__$1__').join(p1);\n }\n if (p2 != null) {\n result = result.split('__$2__').join(p2);\n }\n if (p3 != null) {\n result = result.split('__$3__').join(p3);\n }\n }\n\n return result;\n }\n\n private async loadMessages(locale: string, messagesObj: any): Promise {\n const formattedLocale = locale.replace('-', '_');\n const locales = await this.getLocalesJson(formattedLocale);\n for (const prop in locales) {\n if (!locales.hasOwnProperty(prop)) {\n continue;\n }\n messagesObj[prop] = locales[prop].message;\n\n if (locales[prop].placeholders) {\n for (const placeProp in locales[prop].placeholders) {\n if (!locales[prop].placeholders.hasOwnProperty(placeProp) ||\n !locales[prop].placeholders[placeProp].content) {\n continue;\n }\n\n const replaceToken = '\\\\$' + placeProp.toUpperCase() + '\\\\$';\n let replaceContent = locales[prop].placeholders[placeProp].content;\n if (replaceContent === '$1' || replaceContent === '$2' || replaceContent === '$3') {\n replaceContent = '__$' + replaceContent + '__';\n }\n messagesObj[prop] = messagesObj[prop].replace(new RegExp(replaceToken, 'g'), replaceContent);\n }\n }\n }\n }\n\n}\n","import * as zxcvbn from 'zxcvbn';\n\nimport { CipherString } from '../models/domain/cipherString';\nimport { GeneratedPasswordHistory } from '../models/domain/generatedPasswordHistory';\nimport { PasswordGeneratorPolicyOptions } from '../models/domain/passwordGeneratorPolicyOptions';\nimport { Policy } from '../models/domain/policy';\n\nimport { CryptoService } from '../abstractions/crypto.service';\nimport {\n PasswordGenerationService as PasswordGenerationServiceAbstraction,\n} from '../abstractions/passwordGeneration.service';\nimport { PolicyService } from '../abstractions/policy.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nimport { EEFLongWordList } from '../misc/wordlist';\n\nimport { PolicyType } from '../enums/policyType';\n\nconst DefaultOptions = {\n length: 14,\n ambiguous: false,\n number: true,\n minNumber: 1,\n uppercase: true,\n minUppercase: 0,\n lowercase: true,\n minLowercase: 0,\n special: false,\n minSpecial: 1,\n type: 'password',\n numWords: 3,\n wordSeparator: '-',\n capitalize: false,\n includeNumber: false,\n};\n\nconst Keys = {\n options: 'passwordGenerationOptions',\n history: 'generatedPasswordHistory',\n};\n\nconst MaxPasswordsInHistory = 100;\n\nexport class PasswordGenerationService implements PasswordGenerationServiceAbstraction {\n private optionsCache: any;\n private history: GeneratedPasswordHistory[];\n\n constructor(private cryptoService: CryptoService, private storageService: StorageService,\n private policyService: PolicyService) { }\n\n async generatePassword(options: any): Promise {\n // overload defaults with given options\n const o = Object.assign({}, DefaultOptions, options);\n\n if (o.type === 'passphrase') {\n return this.generatePassphrase(options);\n }\n\n // sanitize\n this.sanitizePasswordLength(o, true);\n\n const minLength: number = o.minUppercase + o.minLowercase + o.minNumber + o.minSpecial;\n if (o.length < minLength) {\n o.length = minLength;\n }\n\n const positions: string[] = [];\n if (o.lowercase && o.minLowercase > 0) {\n for (let i = 0; i < o.minLowercase; i++) {\n positions.push('l');\n }\n }\n if (o.uppercase && o.minUppercase > 0) {\n for (let i = 0; i < o.minUppercase; i++) {\n positions.push('u');\n }\n }\n if (o.number && o.minNumber > 0) {\n for (let i = 0; i < o.minNumber; i++) {\n positions.push('n');\n }\n }\n if (o.special && o.minSpecial > 0) {\n for (let i = 0; i < o.minSpecial; i++) {\n positions.push('s');\n }\n }\n while (positions.length < o.length) {\n positions.push('a');\n }\n\n // shuffle\n await this.shuffleArray(positions);\n\n // build out the char sets\n let allCharSet = '';\n\n let lowercaseCharSet = 'abcdefghijkmnopqrstuvwxyz';\n if (o.ambiguous) {\n lowercaseCharSet += 'l';\n }\n if (o.lowercase) {\n allCharSet += lowercaseCharSet;\n }\n\n let uppercaseCharSet = 'ABCDEFGHJKLMNPQRSTUVWXYZ';\n if (o.ambiguous) {\n uppercaseCharSet += 'IO';\n }\n if (o.uppercase) {\n allCharSet += uppercaseCharSet;\n }\n\n let numberCharSet = '23456789';\n if (o.ambiguous) {\n numberCharSet += '01';\n }\n if (o.number) {\n allCharSet += numberCharSet;\n }\n\n const specialCharSet = '!@#$%^&*';\n if (o.special) {\n allCharSet += specialCharSet;\n }\n\n let password = '';\n for (let i = 0; i < o.length; i++) {\n let positionChars: string;\n switch (positions[i]) {\n case 'l':\n positionChars = lowercaseCharSet;\n break;\n case 'u':\n positionChars = uppercaseCharSet;\n break;\n case 'n':\n positionChars = numberCharSet;\n break;\n case 's':\n positionChars = specialCharSet;\n break;\n case 'a':\n positionChars = allCharSet;\n break;\n default:\n break;\n }\n\n const randomCharIndex = await this.cryptoService.randomNumber(0, positionChars.length - 1);\n password += positionChars.charAt(randomCharIndex);\n }\n\n return password;\n }\n\n async generatePassphrase(options: any): Promise {\n const o = Object.assign({}, DefaultOptions, options);\n\n if (o.numWords == null || o.numWords <= 2) {\n o.numWords = DefaultOptions.numWords;\n }\n if (o.wordSeparator == null || o.wordSeparator.length === 0 || o.wordSeparator.length > 1) {\n o.wordSeparator = ' ';\n }\n if (o.capitalize == null) {\n o.capitalize = false;\n }\n if (o.includeNumber == null) {\n o.includeNumber = false;\n }\n\n const listLength = EEFLongWordList.length - 1;\n const wordList = new Array(o.numWords);\n for (let i = 0; i < o.numWords; i++) {\n const wordIndex = await this.cryptoService.randomNumber(0, listLength);\n if (o.capitalize) {\n wordList[i] = this.capitalize(EEFLongWordList[wordIndex]);\n } else {\n wordList[i] = EEFLongWordList[wordIndex];\n }\n }\n\n if (o.includeNumber) {\n await this.appendRandomNumberToRandomWord(wordList);\n }\n return wordList.join(o.wordSeparator);\n }\n\n async getOptions(): Promise<[any, PasswordGeneratorPolicyOptions]> {\n if (this.optionsCache == null) {\n const options = await this.storageService.get(Keys.options);\n if (options == null) {\n this.optionsCache = DefaultOptions;\n } else {\n this.optionsCache = Object.assign({}, DefaultOptions, options);\n }\n }\n const enforcedOptions = await this.enforcePasswordGeneratorPoliciesOnOptions(this.optionsCache);\n this.optionsCache = enforcedOptions[0];\n return [this.optionsCache, enforcedOptions[1]];\n }\n\n async enforcePasswordGeneratorPoliciesOnOptions(options: any): Promise<[any, PasswordGeneratorPolicyOptions]> {\n let enforcedPolicyOptions = await this.getPasswordGeneratorPolicyOptions();\n if (enforcedPolicyOptions != null) {\n if (options.length < enforcedPolicyOptions.minLength) {\n options.length = enforcedPolicyOptions.minLength;\n }\n\n if (enforcedPolicyOptions.useUppercase) {\n options.uppercase = true;\n }\n\n if (enforcedPolicyOptions.useLowercase) {\n options.lowercase = true;\n }\n\n if (enforcedPolicyOptions.useNumbers) {\n options.number = true;\n }\n\n if (options.minNumber < enforcedPolicyOptions.numberCount) {\n options.minNumber = enforcedPolicyOptions.numberCount;\n }\n\n if (enforcedPolicyOptions.useSpecial) {\n options.special = true;\n }\n\n if (options.minSpecial < enforcedPolicyOptions.specialCount) {\n options.minSpecial = enforcedPolicyOptions.specialCount;\n }\n\n // Must normalize these fields because the receiving call expects all options to pass the current rules\n if (options.minSpecial + options.minNumber > options.length) {\n options.minSpecial = options.length - options.minNumber;\n }\n\n if (options.numWords < enforcedPolicyOptions.minNumberWords) {\n options.numWords = enforcedPolicyOptions.minNumberWords;\n }\n\n if (enforcedPolicyOptions.capitalize) {\n options.capitalize = true;\n }\n\n if (enforcedPolicyOptions.includeNumber) {\n options.includeNumber = true;\n }\n\n // Force default type if password/passphrase selected via policy\n if (enforcedPolicyOptions.defaultType === 'password' ||\n enforcedPolicyOptions.defaultType === 'passphrase') {\n options.type = enforcedPolicyOptions.defaultType;\n }\n } else { // UI layer expects an instantiated object to prevent more explicit null checks\n enforcedPolicyOptions = new PasswordGeneratorPolicyOptions();\n }\n return [options, enforcedPolicyOptions];\n }\n\n async getPasswordGeneratorPolicyOptions(): Promise {\n const policies: Policy[] = this.policyService == null ? null :\n await this.policyService.getAll(PolicyType.PasswordGenerator);\n let enforcedOptions: PasswordGeneratorPolicyOptions = null;\n\n if (policies == null || policies.length === 0) {\n return enforcedOptions;\n }\n\n policies.forEach((currentPolicy) => {\n if (!currentPolicy.enabled || currentPolicy.data == null) {\n return;\n }\n\n if (enforcedOptions == null) {\n enforcedOptions = new PasswordGeneratorPolicyOptions();\n }\n\n // Password wins in multi-org collisions\n if (currentPolicy.data.defaultType != null && enforcedOptions.defaultType !== 'password') {\n enforcedOptions.defaultType = currentPolicy.data.defaultType;\n }\n\n if (currentPolicy.data.minLength != null\n && currentPolicy.data.minLength > enforcedOptions.minLength) {\n enforcedOptions.minLength = currentPolicy.data.minLength;\n }\n\n if (currentPolicy.data.useUpper) {\n enforcedOptions.useUppercase = true;\n }\n\n if (currentPolicy.data.useLower) {\n enforcedOptions.useLowercase = true;\n }\n\n if (currentPolicy.data.useNumbers) {\n enforcedOptions.useNumbers = true;\n }\n\n if (currentPolicy.data.minNumbers != null\n && currentPolicy.data.minNumbers > enforcedOptions.numberCount) {\n enforcedOptions.numberCount = currentPolicy.data.minNumbers;\n }\n\n if (currentPolicy.data.useSpecial) {\n enforcedOptions.useSpecial = true;\n }\n\n if (currentPolicy.data.minSpecial != null\n && currentPolicy.data.minSpecial > enforcedOptions.specialCount) {\n enforcedOptions.specialCount = currentPolicy.data.minSpecial;\n }\n\n if (currentPolicy.data.minNumberWords != null\n && currentPolicy.data.minNumberWords > enforcedOptions.minNumberWords) {\n enforcedOptions.minNumberWords = currentPolicy.data.minNumberWords;\n }\n\n if (currentPolicy.data.capitalize) {\n enforcedOptions.capitalize = true;\n }\n\n if (currentPolicy.data.includeNumber) {\n enforcedOptions.includeNumber = true;\n }\n });\n\n return enforcedOptions;\n }\n\n async saveOptions(options: any) {\n await this.storageService.save(Keys.options, options);\n this.optionsCache = options;\n }\n\n async getHistory(): Promise {\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n return new Array();\n }\n\n if (!this.history) {\n const encrypted = await this.storageService.get(Keys.history);\n this.history = await this.decryptHistory(encrypted);\n }\n\n return this.history || new Array();\n }\n\n async addHistory(password: string): Promise {\n // Cannot add new history if no key is available\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n return;\n }\n\n const currentHistory = await this.getHistory();\n\n // Prevent duplicates\n if (this.matchesPrevious(password, currentHistory)) {\n return;\n }\n\n currentHistory.unshift(new GeneratedPasswordHistory(password, Date.now()));\n\n // Remove old items.\n if (currentHistory.length > MaxPasswordsInHistory) {\n currentHistory.pop();\n }\n\n const newHistory = await this.encryptHistory(currentHistory);\n return await this.storageService.save(Keys.history, newHistory);\n }\n\n async clear(): Promise {\n this.history = [];\n return await this.storageService.remove(Keys.history);\n }\n\n passwordStrength(password: string, userInputs: string[] = null): zxcvbn.ZXCVBNResult {\n if (password == null || password.length === 0) {\n return null;\n }\n let globalUserInputs = ['bitwarden', 'bit', 'warden'];\n if (userInputs != null && userInputs.length > 0) {\n globalUserInputs = globalUserInputs.concat(userInputs);\n }\n // Use a hash set to get rid of any duplicate user inputs\n const finalUserInputs = Array.from(new Set(globalUserInputs));\n const result = zxcvbn(password, finalUserInputs);\n return result;\n }\n\n normalizeOptions(options: any, enforcedPolicyOptions: PasswordGeneratorPolicyOptions) {\n options.minLowercase = 0;\n options.minUppercase = 0;\n\n if (!options.length || options.length < 5) {\n options.length = 5;\n } else if (options.length > 128) {\n options.length = 128;\n }\n\n if (options.length < enforcedPolicyOptions.minLength) {\n options.length = enforcedPolicyOptions.minLength;\n }\n\n if (!options.minNumber) {\n options.minNumber = 0;\n } else if (options.minNumber > options.length) {\n options.minNumber = options.length;\n } else if (options.minNumber > 9) {\n options.minNumber = 9;\n }\n\n if (options.minNumber < enforcedPolicyOptions.numberCount) {\n options.minNumber = enforcedPolicyOptions.numberCount;\n }\n\n if (!options.minSpecial) {\n options.minSpecial = 0;\n } else if (options.minSpecial > options.length) {\n options.minSpecial = options.length;\n } else if (options.minSpecial > 9) {\n options.minSpecial = 9;\n }\n\n if (options.minSpecial < enforcedPolicyOptions.specialCount) {\n options.minSpecial = enforcedPolicyOptions.specialCount;\n }\n\n if (options.minSpecial + options.minNumber > options.length) {\n options.minSpecial = options.length - options.minNumber;\n }\n\n if (options.numWords == null || options.length < 3) {\n options.numWords = 3;\n } else if (options.numWords > 20) {\n options.numWords = 20;\n }\n\n if (options.numWords < enforcedPolicyOptions.minNumberWords) {\n options.numWords = enforcedPolicyOptions.minNumberWords;\n }\n\n if (options.wordSeparator != null && options.wordSeparator.length > 1) {\n options.wordSeparator = options.wordSeparator[0];\n }\n\n this.sanitizePasswordLength(options, false);\n }\n\n private capitalize(str: string) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n }\n\n private async appendRandomNumberToRandomWord(wordList: string[]) {\n if (wordList == null || wordList.length <= 0) {\n return;\n }\n const index = await this.cryptoService.randomNumber(0, wordList.length - 1);\n const num = await this.cryptoService.randomNumber(0, 9);\n wordList[index] = wordList[index] + num;\n }\n\n private async encryptHistory(history: GeneratedPasswordHistory[]): Promise {\n if (history == null || history.length === 0) {\n return Promise.resolve([]);\n }\n\n const promises = history.map(async (item) => {\n const encrypted = await this.cryptoService.encrypt(item.password);\n return new GeneratedPasswordHistory(encrypted.encryptedString, item.date);\n });\n\n return await Promise.all(promises);\n }\n\n private async decryptHistory(history: GeneratedPasswordHistory[]): Promise {\n if (history == null || history.length === 0) {\n return Promise.resolve([]);\n }\n\n const promises = history.map(async (item) => {\n const decrypted = await this.cryptoService.decryptToUtf8(new CipherString(item.password));\n return new GeneratedPasswordHistory(decrypted, item.date);\n });\n\n return await Promise.all(promises);\n }\n\n private matchesPrevious(password: string, history: GeneratedPasswordHistory[]): boolean {\n if (history == null || history.length === 0) {\n return false;\n }\n\n return history[history.length - 1].password === password;\n }\n\n // ref: https://stackoverflow.com/a/12646864/1090359\n private async shuffleArray(array: string[]) {\n for (let i = array.length - 1; i > 0; i--) {\n const j = await this.cryptoService.randomNumber(0, i);\n [array[i], array[j]] = [array[j], array[i]];\n }\n }\n\n private sanitizePasswordLength(options: any, forGeneration: boolean) {\n let minUppercaseCalc = 0;\n let minLowercaseCalc = 0;\n let minNumberCalc: number = options.minNumber;\n let minSpecialCalc: number = options.minSpecial;\n\n if (options.uppercase && options.minUppercase <= 0) {\n minUppercaseCalc = 1;\n } else if (!options.uppercase) {\n minUppercaseCalc = 0;\n }\n\n if (options.lowercase && options.minLowercase <= 0) {\n minLowercaseCalc = 1;\n } else if (!options.lowercase) {\n minLowercaseCalc = 0;\n }\n\n if (options.number && options.minNumber <= 0) {\n minNumberCalc = 1;\n } else if (!options.number) {\n minNumberCalc = 0;\n }\n\n if (options.special && options.minSpecial <= 0) {\n minSpecialCalc = 1;\n } else if (!options.special) {\n minSpecialCalc = 0;\n }\n\n // This should never happen but is a final safety net\n if (!options.length || options.length < 1) {\n options.length = 10;\n }\n\n const minLength: number = minUppercaseCalc + minLowercaseCalc + minNumberCalc + minSpecialCalc;\n // Normalize and Generation both require this modification\n if (options.length < minLength) {\n options.length = minLength;\n }\n\n // Apply other changes if the options object passed in is for generation\n if (forGeneration) {\n options.minUppercase = minUppercaseCalc;\n options.minLowercase = minLowercaseCalc;\n options.minNumber = minNumberCalc;\n options.minSpecial = minSpecialCalc;\n }\n }\n}\n","import { SettingsService as SettingsServiceAbstraction } from '../abstractions/settings.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { UserService } from '../abstractions/user.service';\n\nconst Keys = {\n settingsPrefix: 'settings_',\n equivalentDomains: 'equivalentDomains',\n};\n\nexport class SettingsService implements SettingsServiceAbstraction {\n private settingsCache: any;\n\n constructor(private userService: UserService, private storageService: StorageService) {\n }\n\n clearCache(): void {\n this.settingsCache = null;\n }\n\n getEquivalentDomains(): Promise {\n return this.getSettingsKey(Keys.equivalentDomains);\n }\n\n async setEquivalentDomains(equivalentDomains: string[][]): Promise {\n await this.setSettingsKey(Keys.equivalentDomains, equivalentDomains);\n }\n\n async clear(userId: string): Promise {\n await this.storageService.remove(Keys.settingsPrefix + userId);\n this.clearCache();\n }\n\n // Helpers\n\n private async getSettings(): Promise {\n if (this.settingsCache == null) {\n const userId = await this.userService.getUserId();\n this.settingsCache = this.storageService.get(Keys.settingsPrefix + userId);\n }\n return this.settingsCache;\n }\n\n private async getSettingsKey(key: string): Promise {\n const settings = await this.getSettings();\n if (settings != null && settings[key]) {\n return settings[key];\n }\n return null;\n }\n\n private async setSettingsKey(key: string, value: any): Promise {\n const userId = await this.userService.getUserId();\n let settings = await this.getSettings();\n if (!settings) {\n settings = {};\n }\n\n settings[key] = value;\n await this.storageService.save(Keys.settingsPrefix + userId, settings);\n this.settingsCache = settings;\n }\n}\n","import { StateService as StateServiceAbstraction } from '../abstractions/state.service';\n\nexport class StateService implements StateServiceAbstraction {\n private state: any = {};\n\n get(key: string): Promise {\n if (this.state.hasOwnProperty(key)) {\n return Promise.resolve(this.state[key]);\n }\n return Promise.resolve(null);\n }\n\n save(key: string, obj: any): Promise {\n this.state[key] = obj;\n return Promise.resolve();\n }\n\n remove(key: string): Promise {\n delete this.state[key];\n return Promise.resolve();\n }\n\n purge(): Promise {\n this.state = {};\n return Promise.resolve();\n }\n}\n","import { ApiService } from '../abstractions/api.service';\nimport { CipherService } from '../abstractions/cipher.service';\nimport { CollectionService } from '../abstractions/collection.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { FolderService } from '../abstractions/folder.service';\nimport { MessagingService } from '../abstractions/messaging.service';\nimport { PolicyService } from '../abstractions/policy.service';\nimport { SendService } from '../abstractions/send.service';\nimport { SettingsService } from '../abstractions/settings.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { SyncService as SyncServiceAbstraction } from '../abstractions/sync.service';\nimport { UserService } from '../abstractions/user.service';\n\nimport { CipherData } from '../models/data/cipherData';\nimport { CollectionData } from '../models/data/collectionData';\nimport { FolderData } from '../models/data/folderData';\nimport { OrganizationData } from '../models/data/organizationData';\nimport { PolicyData } from '../models/data/policyData';\nimport { SendData } from '../models/data/sendData';\n\nimport { CipherResponse } from '../models/response/cipherResponse';\nimport { CollectionDetailsResponse } from '../models/response/collectionResponse';\nimport { DomainsResponse } from '../models/response/domainsResponse';\nimport { FolderResponse } from '../models/response/folderResponse';\nimport {\n SyncCipherNotification,\n SyncFolderNotification,\n} from '../models/response/notificationResponse';\nimport { PolicyResponse } from '../models/response/policyResponse';\nimport { ProfileResponse } from '../models/response/profileResponse';\nimport { SendResponse } from '../models/response/sendResponse';\n\nconst Keys = {\n lastSyncPrefix: 'lastSync_',\n};\n\nexport class SyncService implements SyncServiceAbstraction {\n syncInProgress: boolean = false;\n\n constructor(private userService: UserService, private apiService: ApiService,\n private settingsService: SettingsService, private folderService: FolderService,\n private cipherService: CipherService, private cryptoService: CryptoService,\n private collectionService: CollectionService, private storageService: StorageService,\n private messagingService: MessagingService, private policyService: PolicyService,\n private sendService: SendService, private logoutCallback: (expired: boolean) => Promise) {\n }\n\n async getLastSync(): Promise {\n const userId = await this.userService.getUserId();\n if (userId == null) {\n return null;\n }\n\n const lastSync = await this.storageService.get(Keys.lastSyncPrefix + userId);\n if (lastSync) {\n return new Date(lastSync);\n }\n\n return null;\n }\n\n async setLastSync(date: Date): Promise {\n const userId = await this.userService.getUserId();\n if (userId == null) {\n return;\n }\n\n await this.storageService.save(Keys.lastSyncPrefix + userId, date.toJSON());\n }\n\n async fullSync(forceSync: boolean, allowThrowOnError = false): Promise {\n this.syncStarted();\n const isAuthenticated = await this.userService.isAuthenticated();\n if (!isAuthenticated) {\n return this.syncCompleted(false);\n }\n\n const now = new Date();\n let needsSync = false;\n try {\n needsSync = await this.needsSyncing(forceSync);\n } catch (e) {\n if (allowThrowOnError) {\n throw e;\n }\n }\n\n if (!needsSync) {\n await this.setLastSync(now);\n return this.syncCompleted(false);\n }\n\n const userId = await this.userService.getUserId();\n try {\n const response = await this.apiService.getSync();\n\n await this.syncProfile(response.profile);\n await this.syncFolders(userId, response.folders);\n await this.syncCollections(response.collections);\n await this.syncCiphers(userId, response.ciphers);\n await this.syncSends(userId, response.sends);\n await this.syncSettings(userId, response.domains);\n await this.syncPolicies(response.policies);\n\n await this.setLastSync(now);\n return this.syncCompleted(true);\n } catch (e) {\n if (allowThrowOnError) {\n throw e;\n } else {\n return this.syncCompleted(false);\n }\n }\n }\n\n async syncUpsertFolder(notification: SyncFolderNotification, isEdit: boolean): Promise {\n this.syncStarted();\n if (await this.userService.isAuthenticated()) {\n try {\n const localFolder = await this.folderService.get(notification.id);\n if ((!isEdit && localFolder == null) ||\n (isEdit && localFolder != null && localFolder.revisionDate < notification.revisionDate)) {\n const remoteFolder = await this.apiService.getFolder(notification.id);\n if (remoteFolder != null) {\n const userId = await this.userService.getUserId();\n await this.folderService.upsert(new FolderData(remoteFolder, userId));\n this.messagingService.send('syncedUpsertedFolder', { folderId: notification.id });\n return this.syncCompleted(true);\n }\n }\n } catch { }\n }\n return this.syncCompleted(false);\n }\n\n async syncDeleteFolder(notification: SyncFolderNotification): Promise {\n this.syncStarted();\n if (await this.userService.isAuthenticated()) {\n await this.folderService.delete(notification.id);\n this.messagingService.send('syncedDeletedFolder', { folderId: notification.id });\n this.syncCompleted(true);\n return true;\n }\n return this.syncCompleted(false);\n }\n\n async syncUpsertCipher(notification: SyncCipherNotification, isEdit: boolean): Promise {\n this.syncStarted();\n if (await this.userService.isAuthenticated()) {\n try {\n let shouldUpdate = true;\n const localCipher = await this.cipherService.get(notification.id);\n if (localCipher != null && localCipher.revisionDate >= notification.revisionDate) {\n shouldUpdate = false;\n }\n\n let checkCollections = false;\n if (shouldUpdate) {\n if (isEdit) {\n shouldUpdate = localCipher != null;\n checkCollections = true;\n } else {\n if (notification.collectionIds == null || notification.organizationId == null) {\n shouldUpdate = localCipher == null;\n } else {\n shouldUpdate = false;\n checkCollections = true;\n }\n }\n }\n\n if (!shouldUpdate && checkCollections && notification.organizationId != null &&\n notification.collectionIds != null && notification.collectionIds.length > 0) {\n const collections = await this.collectionService.getAll();\n if (collections != null) {\n for (let i = 0; i < collections.length; i++) {\n if (notification.collectionIds.indexOf(collections[i].id) > -1) {\n shouldUpdate = true;\n break;\n }\n }\n }\n }\n\n if (shouldUpdate) {\n const remoteCipher = await this.apiService.getCipher(notification.id);\n if (remoteCipher != null) {\n const userId = await this.userService.getUserId();\n await this.cipherService.upsert(new CipherData(remoteCipher, userId));\n this.messagingService.send('syncedUpsertedCipher', { cipherId: notification.id });\n return this.syncCompleted(true);\n }\n }\n } catch (e) {\n if (e != null && e.statusCode === 404 && isEdit) {\n await this.cipherService.delete(notification.id);\n this.messagingService.send('syncedDeletedCipher', { cipherId: notification.id });\n return this.syncCompleted(true);\n }\n }\n }\n return this.syncCompleted(false);\n }\n\n async syncDeleteCipher(notification: SyncCipherNotification): Promise {\n this.syncStarted();\n if (await this.userService.isAuthenticated()) {\n await this.cipherService.delete(notification.id);\n this.messagingService.send('syncedDeletedCipher', { cipherId: notification.id });\n return this.syncCompleted(true);\n }\n return this.syncCompleted(false);\n }\n\n // Helpers\n\n private syncStarted() {\n this.syncInProgress = true;\n this.messagingService.send('syncStarted');\n }\n\n private syncCompleted(successfully: boolean): boolean {\n this.syncInProgress = false;\n this.messagingService.send('syncCompleted', { successfully: successfully });\n return successfully;\n }\n\n private async needsSyncing(forceSync: boolean) {\n if (forceSync) {\n return true;\n }\n\n const lastSync = await this.getLastSync();\n if (lastSync == null || lastSync.getTime() === 0) {\n return true;\n }\n\n const response = await this.apiService.getAccountRevisionDate();\n if (new Date(response) <= lastSync) {\n return false;\n }\n return true;\n }\n\n private async syncProfile(response: ProfileResponse) {\n const stamp = await this.userService.getSecurityStamp();\n if (stamp != null && stamp !== response.securityStamp) {\n if (this.logoutCallback != null) {\n await this.logoutCallback(true);\n }\n\n throw new Error('Stamp has changed');\n }\n\n await this.cryptoService.setEncKey(response.key);\n await this.cryptoService.setEncPrivateKey(response.privateKey);\n await this.cryptoService.setOrgKeys(response.organizations);\n await this.userService.setSecurityStamp(response.securityStamp);\n\n const organizations: { [id: string]: OrganizationData; } = {};\n response.organizations.forEach((o) => {\n organizations[o.id] = new OrganizationData(o);\n });\n return await this.userService.replaceOrganizations(organizations);\n }\n\n private async syncFolders(userId: string, response: FolderResponse[]) {\n const folders: { [id: string]: FolderData; } = {};\n response.forEach((f) => {\n folders[f.id] = new FolderData(f, userId);\n });\n return await this.folderService.replace(folders);\n }\n\n private async syncCollections(response: CollectionDetailsResponse[]) {\n const collections: { [id: string]: CollectionData; } = {};\n response.forEach((c) => {\n collections[c.id] = new CollectionData(c);\n });\n return await this.collectionService.replace(collections);\n }\n\n private async syncCiphers(userId: string, response: CipherResponse[]) {\n const ciphers: { [id: string]: CipherData; } = {};\n response.forEach((c) => {\n ciphers[c.id] = new CipherData(c, userId);\n });\n return await this.cipherService.replace(ciphers);\n }\n\n private async syncSends(userId: string, response: SendResponse[]) {\n const sends: { [id: string]: SendData; } = {};\n response.forEach((s) => {\n sends[s.id] = new SendData(s, userId);\n });\n return await this.sendService.replace(sends);\n }\n\n private async syncSettings(userId: string, response: DomainsResponse) {\n let eqDomains: string[][] = [];\n if (response != null && response.equivalentDomains != null) {\n eqDomains = eqDomains.concat(response.equivalentDomains);\n }\n\n if (response != null && response.globalEquivalentDomains != null) {\n response.globalEquivalentDomains.forEach((global) => {\n if (global.domains.length > 0) {\n eqDomains.push(global.domains);\n }\n });\n }\n\n return this.settingsService.setEquivalentDomains(eqDomains);\n }\n\n private async syncPolicies(response: PolicyResponse[]) {\n const policies: { [id: string]: PolicyData; } = {};\n if (response != null) {\n response.forEach((p) => {\n policies[p.id] = new PolicyData(p);\n });\n }\n return await this.policyService.replace(policies);\n }\n}\n","import { SendType } from '../../enums/sendType';\n\nimport { SendFileData } from './sendFileData';\nimport { SendTextData } from './sendTextData';\n\nimport { SendResponse } from '../response/sendResponse';\n\nexport class SendData {\n id: string;\n accessId: string;\n userId: string;\n type: SendType;\n name: string;\n notes: string;\n file: SendFileData;\n text: SendTextData;\n key: string;\n maxAccessCount?: number;\n accessCount: number;\n revisionDate: string;\n expirationDate: string;\n deletionDate: string;\n password: string;\n disabled: boolean;\n\n constructor(response?: SendResponse, userId?: string) {\n if (response == null) {\n return;\n }\n\n this.id = response.id;\n this.accessId = response.accessId;\n this.userId = userId;\n this.type = response.type;\n this.name = response.name;\n this.notes = response.notes;\n this.key = response.key;\n this.maxAccessCount = response.maxAccessCount;\n this.accessCount = response.accessCount;\n this.revisionDate = response.revisionDate;\n this.expirationDate = response.expirationDate;\n this.deletionDate = response.deletionDate;\n this.password = response.password;\n this.disabled = response.disable;\n\n switch (this.type) {\n case SendType.Text:\n this.text = new SendTextData(response.text);\n break;\n case SendType.File:\n this.file = new SendFileData(response.file);\n break;\n default:\n break;\n }\n }\n}\n","import { ConstantsService } from './constants.service';\n\nimport { StorageService } from '../abstractions/storage.service';\nimport { TokenService as TokenServiceAbstraction } from '../abstractions/token.service';\n\nimport { Utils } from '../misc/utils';\n\nconst Keys = {\n accessToken: 'accessToken',\n refreshToken: 'refreshToken',\n twoFactorTokenPrefix: 'twoFactorToken_',\n};\n\nexport class TokenService implements TokenServiceAbstraction {\n token: string;\n decodedToken: any;\n refreshToken: string;\n\n constructor(private storageService: StorageService) {\n }\n\n setTokens(accessToken: string, refreshToken: string): Promise {\n return Promise.all([\n this.setToken(accessToken),\n this.setRefreshToken(refreshToken),\n ]);\n }\n\n async setToken(token: string): Promise {\n this.token = token;\n this.decodedToken = null;\n\n if (await this.skipTokenStorage()) {\n // if we have a vault timeout and the action is log out, don't store token\n return;\n }\n\n return this.storageService.save(Keys.accessToken, token);\n }\n\n async getToken(): Promise {\n if (this.token != null) {\n return this.token;\n }\n\n this.token = await this.storageService.get(Keys.accessToken);\n return this.token;\n }\n\n async setRefreshToken(refreshToken: string): Promise {\n this.refreshToken = refreshToken;\n\n if (await this.skipTokenStorage()) {\n // if we have a vault timeout and the action is log out, don't store token\n return;\n }\n\n return this.storageService.save(Keys.refreshToken, refreshToken);\n }\n\n async getRefreshToken(): Promise {\n if (this.refreshToken != null) {\n return this.refreshToken;\n }\n\n this.refreshToken = await this.storageService.get(Keys.refreshToken);\n return this.refreshToken;\n }\n\n async toggleTokens(): Promise {\n const token = await this.getToken();\n const refreshToken = await this.getRefreshToken();\n const timeout = await this.storageService.get(ConstantsService.vaultTimeoutKey);\n const action = await this.storageService.get(ConstantsService.vaultTimeoutActionKey);\n if ((timeout != null || timeout === 0) && action === 'logOut') {\n // if we have a vault timeout and the action is log out, reset tokens\n await this.clearToken();\n this.token = token;\n this.refreshToken = refreshToken;\n return;\n }\n\n await this.setToken(token);\n await this.setRefreshToken(refreshToken);\n }\n\n setTwoFactorToken(token: string, email: string): Promise {\n return this.storageService.save(Keys.twoFactorTokenPrefix + email, token);\n }\n\n getTwoFactorToken(email: string): Promise {\n return this.storageService.get(Keys.twoFactorTokenPrefix + email);\n }\n\n clearTwoFactorToken(email: string): Promise {\n return this.storageService.remove(Keys.twoFactorTokenPrefix + email);\n }\n\n clearToken(): Promise {\n this.token = null;\n this.decodedToken = null;\n this.refreshToken = null;\n\n return Promise.all([\n this.storageService.remove(Keys.accessToken),\n this.storageService.remove(Keys.refreshToken),\n ]);\n }\n\n // jwthelper methods\n // ref https://github.com/auth0/angular-jwt/blob/master/src/angularJwt/services/jwt.js\n\n decodeToken(): any {\n if (this.decodedToken) {\n return this.decodedToken;\n }\n\n if (this.token == null) {\n throw new Error('Token not found.');\n }\n\n const parts = this.token.split('.');\n if (parts.length !== 3) {\n throw new Error('JWT must have 3 parts');\n }\n\n const decoded = Utils.fromUrlB64ToUtf8(parts[1]);\n if (decoded == null) {\n throw new Error('Cannot decode the token');\n }\n\n this.decodedToken = JSON.parse(decoded);\n return this.decodedToken;\n }\n\n getTokenExpirationDate(): Date {\n const decoded = this.decodeToken();\n if (typeof decoded.exp === 'undefined') {\n return null;\n }\n\n const d = new Date(0); // The 0 here is the key, which sets the date to the epoch\n d.setUTCSeconds(decoded.exp);\n return d;\n }\n\n tokenSecondsRemaining(offsetSeconds: number = 0): number {\n const d = this.getTokenExpirationDate();\n if (d == null) {\n return 0;\n }\n\n const msRemaining = d.valueOf() - (new Date().valueOf() + (offsetSeconds * 1000));\n return Math.round(msRemaining / 1000);\n }\n\n tokenNeedsRefresh(minutes: number = 5): boolean {\n const sRemaining = this.tokenSecondsRemaining();\n return sRemaining < (60 * minutes);\n }\n\n getUserId(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.sub === 'undefined') {\n throw new Error('No user id found');\n }\n\n return decoded.sub as string;\n }\n\n getEmail(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.email === 'undefined') {\n throw new Error('No email found');\n }\n\n return decoded.email as string;\n }\n\n getEmailVerified(): boolean {\n const decoded = this.decodeToken();\n if (typeof decoded.email_verified === 'undefined') {\n throw new Error('No email verification found');\n }\n\n return decoded.email_verified as boolean;\n }\n\n getName(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.name === 'undefined') {\n return null;\n }\n\n return decoded.name as string;\n }\n\n getPremium(): boolean {\n const decoded = this.decodeToken();\n if (typeof decoded.premium === 'undefined') {\n return false;\n }\n\n return decoded.premium as boolean;\n }\n\n getIssuer(): string {\n const decoded = this.decodeToken();\n if (typeof decoded.iss === 'undefined') {\n throw new Error('No issuer found');\n }\n\n return decoded.iss as string;\n }\n\n private async skipTokenStorage(): Promise {\n const timeout = await this.storageService.get(ConstantsService.vaultTimeoutKey);\n const action = await this.storageService.get(ConstantsService.vaultTimeoutActionKey);\n return timeout != null && action === 'logOut';\n }\n}\n","import { ConstantsService } from './constants.service';\n\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { TotpService as TotpServiceAbstraction } from '../abstractions/totp.service';\n\nimport { Utils } from '../misc/utils';\n\nconst B32Chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567';\nconst SteamChars = '23456789BCDFGHJKMNPQRTVWXY';\n\nexport class TotpService implements TotpServiceAbstraction {\n constructor(private storageService: StorageService, private cryptoFunctionService: CryptoFunctionService) { }\n\n async getCode(key: string): Promise {\n if (key == null) {\n return null;\n }\n let period = 30;\n let alg: 'sha1' | 'sha256' | 'sha512' = 'sha1';\n let digits = 6;\n let keyB32 = key;\n const isOtpAuth = key.toLowerCase().indexOf('otpauth://') === 0;\n const isSteamAuth = !isOtpAuth && key.toLowerCase().indexOf('steam://') === 0;\n if (isOtpAuth) {\n const params = Utils.getQueryParams(key);\n if (params.has('digits') && params.get('digits') != null) {\n try {\n const digitParams = parseInt(params.get('digits').trim(), null);\n if (digitParams > 10) {\n digits = 10;\n } else if (digitParams > 0) {\n digits = digitParams;\n }\n } catch { }\n }\n if (params.has('period') && params.get('period') != null) {\n try {\n const periodParam = parseInt(params.get('period').trim(), null);\n if (periodParam > 0) {\n period = periodParam;\n }\n } catch { }\n }\n if (params.has('secret') && params.get('secret') != null) {\n keyB32 = params.get('secret');\n }\n if (params.has('algorithm') && params.get('algorithm') != null) {\n const algParam = params.get('algorithm').toLowerCase();\n if (algParam === 'sha1' || algParam === 'sha256' || algParam === 'sha512') {\n alg = algParam;\n }\n }\n } else if (isSteamAuth) {\n keyB32 = key.substr('steam://'.length);\n digits = 5;\n }\n\n const epoch = Math.round(new Date().getTime() / 1000.0);\n const timeHex = this.leftPad(this.decToHex(Math.floor(epoch / period)), 16, '0');\n const timeBytes = Utils.fromHexToArray(timeHex);\n const keyBytes = this.b32ToBytes(keyB32);\n\n if (!keyBytes.length || !timeBytes.length) {\n return null;\n }\n\n const hash = await this.sign(keyBytes, timeBytes, alg);\n if (hash.length === 0) {\n return null;\n }\n\n /* tslint:disable */\n const offset = (hash[hash.length - 1] & 0xf);\n const binary = ((hash[offset] & 0x7f) << 24) | ((hash[offset + 1] & 0xff) << 16) |\n ((hash[offset + 2] & 0xff) << 8) | (hash[offset + 3] & 0xff);\n /* tslint:enable */\n\n let otp = '';\n if (isSteamAuth) {\n // tslint:disable-next-line\n let fullCode = binary & 0x7fffffff;\n for (let i = 0; i < digits; i++) {\n otp += SteamChars[fullCode % SteamChars.length];\n fullCode = Math.trunc(fullCode / SteamChars.length);\n }\n } else {\n otp = (binary % Math.pow(10, digits)).toString();\n otp = this.leftPad(otp, digits, '0');\n }\n\n return otp;\n }\n\n getTimeInterval(key: string): number {\n let period = 30;\n if (key != null && key.toLowerCase().indexOf('otpauth://') === 0) {\n const params = Utils.getQueryParams(key);\n if (params.has('period') && params.get('period') != null) {\n try {\n period = parseInt(params.get('period').trim(), null);\n } catch { }\n }\n }\n return period;\n }\n\n async isAutoCopyEnabled(): Promise {\n return !(await this.storageService.get(ConstantsService.disableAutoTotpCopyKey));\n }\n\n // Helpers\n\n private leftPad(s: string, l: number, p: string): string {\n if (l + 1 >= s.length) {\n s = Array(l + 1 - s.length).join(p) + s;\n }\n return s;\n }\n\n private decToHex(d: number): string {\n return (d < 15.5 ? '0' : '') + Math.round(d).toString(16);\n }\n\n private b32ToHex(s: string): string {\n s = s.toUpperCase();\n let cleanedInput = '';\n\n for (let i = 0; i < s.length; i++) {\n if (B32Chars.indexOf(s[i]) < 0) {\n continue;\n }\n\n cleanedInput += s[i];\n }\n s = cleanedInput;\n\n let bits = '';\n let hex = '';\n for (let i = 0; i < s.length; i++) {\n const byteIndex = B32Chars.indexOf(s.charAt(i));\n if (byteIndex < 0) {\n continue;\n }\n bits += this.leftPad(byteIndex.toString(2), 5, '0');\n }\n for (let i = 0; i + 4 <= bits.length; i += 4) {\n const chunk = bits.substr(i, 4);\n hex = hex + parseInt(chunk, 2).toString(16);\n }\n return hex;\n }\n\n private b32ToBytes(s: string): Uint8Array {\n return Utils.fromHexToArray(this.b32ToHex(s));\n }\n\n private async sign(keyBytes: Uint8Array, timeBytes: Uint8Array, alg: 'sha1' | 'sha256' | 'sha512') {\n const signature = await this.cryptoFunctionService.hmac(timeBytes.buffer, keyBytes.buffer, alg);\n return new Uint8Array(signature);\n }\n}\n","import { StorageService } from '../abstractions/storage.service';\nimport { TokenService } from '../abstractions/token.service';\nimport { UserService as UserServiceAbstraction } from '../abstractions/user.service';\n\nimport { OrganizationData } from '../models/data/organizationData';\nimport { Organization } from '../models/domain/organization';\n\nimport { KdfType } from '../enums/kdfType';\n\nconst Keys = {\n userId: 'userId',\n userEmail: 'userEmail',\n stamp: 'securityStamp',\n kdf: 'kdf',\n kdfIterations: 'kdfIterations',\n organizationsPrefix: 'organizations_',\n};\n\nexport class UserService implements UserServiceAbstraction {\n private userId: string;\n private email: string;\n private stamp: string;\n private kdf: KdfType;\n private kdfIterations: number;\n\n constructor(private tokenService: TokenService, private storageService: StorageService) { }\n\n setInformation(userId: string, email: string, kdf: KdfType, kdfIterations: number): Promise {\n this.email = email;\n this.userId = userId;\n this.kdf = kdf;\n this.kdfIterations = kdfIterations;\n\n return Promise.all([\n this.storageService.save(Keys.userEmail, email),\n this.storageService.save(Keys.userId, userId),\n this.storageService.save(Keys.kdf, kdf),\n this.storageService.save(Keys.kdfIterations, kdfIterations),\n ]);\n }\n\n setSecurityStamp(stamp: string): Promise {\n this.stamp = stamp;\n return this.storageService.save(Keys.stamp, stamp);\n }\n\n async getUserId(): Promise {\n if (this.userId == null) {\n this.userId = await this.storageService.get(Keys.userId);\n }\n return this.userId;\n }\n\n async getEmail(): Promise {\n if (this.email == null) {\n this.email = await this.storageService.get(Keys.userEmail);\n }\n return this.email;\n }\n\n async getSecurityStamp(): Promise {\n if (this.stamp == null) {\n this.stamp = await this.storageService.get(Keys.stamp);\n }\n return this.stamp;\n }\n\n async getKdf(): Promise {\n if (this.kdf == null) {\n this.kdf = await this.storageService.get(Keys.kdf);\n }\n return this.kdf;\n }\n\n async getKdfIterations(): Promise {\n if (this.kdfIterations == null) {\n this.kdfIterations = await this.storageService.get(Keys.kdfIterations);\n }\n return this.kdfIterations;\n }\n\n async clear(): Promise {\n const userId = await this.getUserId();\n\n await Promise.all([\n this.storageService.remove(Keys.userId),\n this.storageService.remove(Keys.userEmail),\n this.storageService.remove(Keys.stamp),\n this.storageService.remove(Keys.kdf),\n this.storageService.remove(Keys.kdfIterations),\n this.clearOrganizations(userId),\n ]);\n\n this.userId = this.email = this.stamp = null;\n this.kdf = null;\n this.kdfIterations = null;\n }\n\n async isAuthenticated(): Promise {\n const token = await this.tokenService.getToken();\n if (token == null) {\n return false;\n }\n\n const userId = await this.getUserId();\n return userId != null;\n }\n\n async canAccessPremium(): Promise {\n const authed = await this.isAuthenticated();\n if (!authed) {\n return false;\n }\n\n const tokenPremium = this.tokenService.getPremium();\n if (tokenPremium) {\n return true;\n }\n\n const orgs = await this.getAllOrganizations();\n for (let i = 0; i < orgs.length; i++) {\n if (orgs[i].usersGetPremium && orgs[i].enabled) {\n return true;\n }\n }\n return false;\n }\n\n async getOrganization(id: string): Promise {\n const userId = await this.getUserId();\n const organizations = await this.storageService.get<{ [id: string]: OrganizationData; }>(\n Keys.organizationsPrefix + userId);\n if (organizations == null || !organizations.hasOwnProperty(id)) {\n return null;\n }\n\n return new Organization(organizations[id]);\n }\n\n async getAllOrganizations(): Promise {\n const userId = await this.getUserId();\n const organizations = await this.storageService.get<{ [id: string]: OrganizationData; }>(\n Keys.organizationsPrefix + userId);\n const response: Organization[] = [];\n for (const id in organizations) {\n if (organizations.hasOwnProperty(id)) {\n response.push(new Organization(organizations[id]));\n }\n }\n return response;\n }\n\n async replaceOrganizations(organizations: { [id: string]: OrganizationData; }): Promise {\n const userId = await this.getUserId();\n await this.storageService.save(Keys.organizationsPrefix + userId, organizations);\n }\n\n async clearOrganizations(userId: string): Promise {\n await this.storageService.remove(Keys.organizationsPrefix + userId);\n }\n}\n","import { ConstantsService } from './constants.service';\n\nimport { CipherService } from '../abstractions/cipher.service';\nimport { CollectionService } from '../abstractions/collection.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { FolderService } from '../abstractions/folder.service';\nimport { MessagingService } from '../abstractions/messaging.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { SearchService } from '../abstractions/search.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { TokenService } from '../abstractions/token.service';\nimport { UserService } from '../abstractions/user.service';\nimport { VaultTimeoutService as VaultTimeoutServiceAbstraction } from '../abstractions/vaultTimeout.service';\n\nimport { CipherString } from '../models/domain/cipherString';\n\nexport class VaultTimeoutService implements VaultTimeoutServiceAbstraction {\n pinProtectedKey: CipherString = null;\n biometricLocked: boolean = true;\n\n private inited = false;\n\n constructor(private cipherService: CipherService, private folderService: FolderService,\n private collectionService: CollectionService, private cryptoService: CryptoService,\n private platformUtilsService: PlatformUtilsService, private storageService: StorageService,\n private messagingService: MessagingService, private searchService: SearchService,\n private userService: UserService, private tokenService: TokenService,\n private lockedCallback: () => Promise = null, private loggedOutCallback: () => Promise = null) {\n }\n\n init(checkOnInterval: boolean) {\n if (this.inited) {\n return;\n }\n\n this.inited = true;\n if (checkOnInterval) {\n this.checkVaultTimeout();\n setInterval(() => this.checkVaultTimeout(), 10 * 1000); // check every 10 seconds\n }\n }\n\n // Keys aren't stored for a device that is locked or logged out.\n async isLocked(): Promise {\n const hasKey = await this.cryptoService.hasKey();\n if (hasKey) {\n if (await this.isBiometricLockSet() && this.biometricLocked) {\n return true;\n }\n }\n return !hasKey;\n }\n\n async checkVaultTimeout(): Promise {\n if (await this.platformUtilsService.isViewOpen()) {\n // Do not lock\n return;\n }\n\n // \"is logged out check\" - similar to isLocked, below\n const authed = await this.userService.isAuthenticated();\n if (!authed) {\n return;\n }\n\n if (await this.isLocked()) {\n return;\n }\n\n // This has the potential to be removed. Evaluate after all platforms complete with auto-logout\n let vaultTimeout = this.platformUtilsService.lockTimeout();\n if (vaultTimeout == null) {\n vaultTimeout = await this.storageService.get(ConstantsService.vaultTimeoutKey);\n }\n\n if (vaultTimeout == null || vaultTimeout < 0) {\n return;\n }\n\n const lastActive = await this.storageService.get(ConstantsService.lastActiveKey);\n if (lastActive == null) {\n return;\n }\n\n const vaultTimeoutSeconds = vaultTimeout * 60;\n const diffSeconds = ((new Date()).getTime() - lastActive) / 1000;\n if (diffSeconds >= vaultTimeoutSeconds) {\n // Pivot based on the saved vault timeout action\n const timeoutAction = await this.storageService.get(ConstantsService.vaultTimeoutActionKey);\n timeoutAction === 'logOut' ? await this.logOut() : await this.lock(true);\n }\n }\n\n async lock(allowSoftLock = false): Promise {\n const authed = await this.userService.isAuthenticated();\n if (!authed) {\n return;\n }\n\n this.biometricLocked = true;\n if (allowSoftLock) {\n const biometricLocked = await this.isBiometricLockSet();\n if (biometricLocked && this.platformUtilsService.supportsSecureStorage()) {\n this.messagingService.send('locked');\n if (this.lockedCallback != null) {\n await this.lockedCallback();\n }\n return;\n }\n }\n\n await Promise.all([\n this.cryptoService.clearKey(),\n this.cryptoService.clearOrgKeys(true),\n this.cryptoService.clearKeyPair(true),\n this.cryptoService.clearEncKey(true),\n ]);\n\n this.folderService.clearCache();\n this.cipherService.clearCache();\n this.collectionService.clearCache();\n this.searchService.clearIndex();\n this.messagingService.send('locked');\n if (this.lockedCallback != null) {\n await this.lockedCallback();\n }\n }\n\n async logOut(): Promise {\n if (this.loggedOutCallback != null) {\n await this.loggedOutCallback();\n }\n }\n\n async setVaultTimeoutOptions(timeout: number, action: string): Promise {\n await this.storageService.save(ConstantsService.vaultTimeoutKey, timeout);\n await this.storageService.save(ConstantsService.vaultTimeoutActionKey, action);\n await this.cryptoService.toggleKey();\n await this.tokenService.toggleTokens();\n }\n\n async isPinLockSet(): Promise<[boolean, boolean]> {\n const protectedPin = await this.storageService.get(ConstantsService.protectedPin);\n const pinProtectedKey = await this.storageService.get(ConstantsService.pinProtectedKey);\n return [protectedPin != null, pinProtectedKey != null];\n }\n\n async isBiometricLockSet(): Promise {\n return await this.storageService.get(ConstantsService.biometricUnlockKey);\n }\n\n clear(): Promise {\n this.pinProtectedKey = null;\n return this.storageService.remove(ConstantsService.protectedPin);\n }\n}\n","import { LogLevelType } from '../enums/logLevelType';\n\nimport { LogService as LogServiceAbstraction } from '../abstractions/log.service';\n\n// @ts-ignore: import * as ns from \"mod\" error, need to do it this way\nimport hrtime = require('browser-process-hrtime');\n\nexport class ConsoleLogService implements LogServiceAbstraction {\n protected timersMap: Map = new Map();\n\n constructor(protected isDev: boolean, protected filter: (level: LogLevelType) => boolean = null) { }\n\n debug(message: string) {\n if (!this.isDev) {\n return;\n }\n this.write(LogLevelType.Debug, message);\n }\n\n info(message: string) {\n this.write(LogLevelType.Info, message);\n }\n\n warning(message: string) {\n this.write(LogLevelType.Warning, message);\n }\n\n error(message: string) {\n this.write(LogLevelType.Error, message);\n }\n\n write(level: LogLevelType, message: string) {\n if (this.filter != null && this.filter(level)) {\n return;\n }\n\n switch (level) {\n case LogLevelType.Debug:\n // tslint:disable-next-line\n console.log(message);\n break;\n case LogLevelType.Info:\n // tslint:disable-next-line\n console.log(message);\n break;\n case LogLevelType.Warning:\n // tslint:disable-next-line\n console.warn(message);\n break;\n case LogLevelType.Error:\n // tslint:disable-next-line\n console.error(message);\n break;\n default:\n break;\n }\n }\n\n time(label: string = 'default') {\n if (!this.timersMap.has(label)) {\n this.timersMap.set(label, hrtime());\n }\n }\n\n timeEnd(label: string = 'default'): [number, number] {\n const elapsed = hrtime(this.timersMap.get(label));\n this.timersMap.delete(label);\n this.write(LogLevelType.Info, `${label}: ${elapsed[0] * 1000 + elapsed[1] / 10e6}ms`);\n return elapsed;\n }\n}\n","import { Cipher } from './cipher';\n\nimport { CipherView } from '../view/cipherView';\n\nimport { Cipher as CipherDomain } from '../domain/cipher';\n\nexport class CipherWithIds extends Cipher {\n id: string;\n collectionIds: string[];\n\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\n build(o: CipherView | CipherDomain) {\n this.id = o.id;\n super.build(o);\n this.collectionIds = o.collectionIds;\n }\n}\n","import { Collection } from './collection';\n\nimport { CollectionView } from '../view/collectionView';\n\nimport { Collection as CollectionDomain } from '../domain/collection';\n\nexport class CollectionWithId extends Collection {\n id: string;\n\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\n build(o: CollectionView | CollectionDomain) {\n this.id = o.id;\n super.build(o);\n }\n}\n","import { Folder } from './folder';\n\nimport { FolderView } from '../view/folderView';\n\nimport { Folder as FolderDomain } from '../domain/folder';\n\nexport class FolderWithId extends Folder {\n id: string;\n\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\n build(o: FolderView | FolderDomain) {\n this.id = o.id;\n super.build(o);\n }\n}\n","import { ImportResult } from '../../models/domain/importResult';\nimport { BaseImporter } from '../baseImporter';\nimport { Importer } from '../importer';\n\nimport { CipherType } from '../../enums/cipherType';\nimport { FieldType } from '../../enums/fieldType';\nimport { CipherView } from '../../models/view';\nimport { CipherImportContext } from './cipherImportContext';\n\nexport const IgnoredProperties = ['ainfo', 'autosubmit', 'notesplain', 'ps', 'scope', 'tags', 'title', 'uuid', 'notes'];\n\nexport abstract class OnePasswordCsvImporter extends BaseImporter implements Importer {\n protected loginPropertyParsers = [this.setLoginUsername, this.setLoginPassword, this.setLoginUris];\n protected creditCardPropertyParsers = [this.setCreditCardNumber, this.setCreditCardVerification, this.setCreditCardCardholderName, this.setCreditCardExpiry];\n protected identityPropertyParsers = [this.setIdentityFirstName, this.setIdentityInitial, this.setIdentityLastName, this.setIdentityUserName, this.setIdentityEmail, this.setIdentityPhone, this.setIdentityCompany];\n\n abstract setCipherType(value: any, cipher: CipherView): void;\n\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true, {\n quoteChar: '\"',\n escapeChar: '\\\\',\n });\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n if (this.isNullOrWhitespace(this.getProp(value, 'title'))) {\n return;\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(this.getProp(value, 'title'), '--');\n\n this.setNotes(value, cipher);\n\n this.setCipherType(value, cipher);\n\n let altUsername: string = null;\n for (const property in value) {\n if (!value.hasOwnProperty(property) || this.isNullOrWhitespace(value[property])) {\n continue;\n }\n\n const context = new CipherImportContext(value, property, cipher);\n if (cipher.type === CipherType.Login && this.setKnownLoginValue(context)) {\n continue;\n } else if (cipher.type === CipherType.Card && this.setKnownCreditCardValue(context)) {\n continue;\n } else if (cipher.type === CipherType.Identity && this.setKnownIdentityValue(context)) {\n continue;\n }\n\n altUsername = this.setUnknownValue(context, altUsername);\n }\n\n if (cipher.type === CipherType.Login && !this.isNullOrWhitespace(altUsername) &&\n this.isNullOrWhitespace(cipher.login.username) && altUsername.indexOf('://') === -1) {\n cipher.login.username = altUsername;\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n\n protected getProp(obj: any, name: string): any {\n const lowerObj = Object.entries(obj).reduce((agg: any, entry: [string, any]) => {\n agg[entry[0].toLowerCase()] = entry[1];\n return agg;\n }, {});\n return lowerObj[name.toLowerCase()];\n }\n\n protected getPropByRegexp(obj: any, regexp: RegExp): any {\n const matchingKeys = Object.keys(obj).reduce((agg: string[], key: string) => {\n if (key.match(regexp)) {\n agg.push(key);\n }\n return agg;\n }, []);\n if (matchingKeys.length === 0) {\n return null;\n } else {\n return obj[matchingKeys[0]];\n }\n }\n\n protected getPropIncluding(obj: any, name: string): any {\n const includesMap = Object.keys(obj).reduce((agg: string[], entry: string) => {\n if (entry.toLowerCase().includes(name.toLowerCase())) {\n agg.push(entry);\n }\n return agg;\n }, []);\n if (includesMap.length === 0) {\n return null;\n } else {\n return obj[includesMap[0]];\n }\n }\n\n protected setNotes(importRecord: any, cipher: CipherView) {\n cipher.notes = this.getValueOrDefault(this.getProp(importRecord, 'notesPlain'), '') + '\\n' +\n this.getValueOrDefault(this.getProp(importRecord, 'notes'), '') + '\\n';\n cipher.notes.trim();\n\n }\n\n protected setKnownLoginValue(context: CipherImportContext): boolean {\n return this.loginPropertyParsers.reduce((agg: boolean, func) => {\n if (!agg) {\n agg = func.bind(this)(context);\n }\n return agg;\n }, false);\n }\n\n protected setKnownCreditCardValue(context: CipherImportContext): boolean {\n return this.creditCardPropertyParsers.reduce((agg: boolean, func) => {\n if (!agg) {\n agg = func.bind(this)(context);\n }\n return agg;\n }, false);\n }\n\n protected setKnownIdentityValue(context: CipherImportContext): boolean {\n return this.identityPropertyParsers.reduce((agg: boolean, func) => {\n if (!agg) {\n agg = func.bind(this)(context);\n }\n return agg;\n }, false);\n }\n\n protected setUnknownValue(context: CipherImportContext, altUsername: string): string {\n if (IgnoredProperties.indexOf(context.lowerProperty) === -1 && !context.lowerProperty.startsWith('section:') &&\n !context.lowerProperty.startsWith('section ')) {\n if (altUsername == null && context.lowerProperty === 'email') {\n return context.importRecord[context.property];\n }\n else if (context.lowerProperty === 'created date' || context.lowerProperty === 'modified date') {\n const readableDate = new Date(parseInt(context.importRecord[context.property], 10) * 1000).toUTCString();\n this.processKvp(context.cipher, '1Password ' + context.property, readableDate);\n return null;\n }\n if (context.lowerProperty.includes('password') || context.lowerProperty.includes('key') || context.lowerProperty.includes('secret')) {\n this.processKvp(context.cipher, context.property, context.importRecord[context.property], FieldType.Hidden);\n } else {\n this.processKvp(context.cipher, context.property, context.importRecord[context.property]);\n }\n }\n return null;\n }\n\n protected setIdentityFirstName(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.identity.firstName) && context.lowerProperty.includes('first name')) {\n context.cipher.identity.firstName = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setIdentityInitial(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.identity.middleName) && context.lowerProperty.includes('initial')) {\n context.cipher.identity.middleName = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setIdentityLastName(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.identity.lastName) && context.lowerProperty.includes('last name')) {\n context.cipher.identity.lastName = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setIdentityUserName(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.identity.username) && context.lowerProperty.includes('username')) {\n context.cipher.identity.username = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setIdentityCompany(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.identity.company) && context.lowerProperty.includes('company')) {\n context.cipher.identity.company = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setIdentityPhone(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.identity.phone) && context.lowerProperty.includes('default phone')) {\n context.cipher.identity.phone = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setIdentityEmail(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.identity.email) && context.lowerProperty.includes('email')) {\n context.cipher.identity.email = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setCreditCardNumber(context: CipherImportContext): boolean {\n if (this.isNullOrWhitespace(context.cipher.card.number) && context.lowerProperty.includes('number')) {\n context.cipher.card.number = context.importRecord[context.property];\n context.cipher.card.brand = this.getCardBrand(context.cipher.card.number);\n return true;\n }\n return false;\n }\n\n protected setCreditCardVerification(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.card.code) && context.lowerProperty.includes('verification number')) {\n context.cipher.card.code = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setCreditCardCardholderName(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.card.cardholderName) && context.lowerProperty.includes('cardholder name')) {\n context.cipher.card.cardholderName = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setCreditCardExpiry(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.card.expiration) && context.lowerProperty.includes('expiry date') &&\n context.importRecord[context.property].length === 7) {\n context.cipher.card.expMonth = (context.importRecord[context.property] as string).substr(0, 2);\n if (context.cipher.card.expMonth[0] === '0') {\n context.cipher.card.expMonth = context.cipher.card.expMonth.substr(1, 1);\n }\n context.cipher.card.expYear = (context.importRecord[context.property] as string).substr(3, 4);\n return true;\n }\n return false;\n }\n\n protected setLoginPassword(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.login.password) && context.lowerProperty === 'password') {\n context.cipher.login.password = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setLoginUsername(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.login.username) && context.lowerProperty === 'username') {\n context.cipher.login.username = context.importRecord[context.property];\n return true;\n }\n return false;\n }\n\n protected setLoginUris(context: CipherImportContext) {\n if ((context.cipher.login.uris == null || context.cipher.login.uris.length === 0) && context.lowerProperty === 'urls') {\n const urls = context.importRecord[context.property].split(this.newLineRegex);\n context.cipher.login.uris = this.makeUriArray(urls);\n return true;\n } else if ((context.lowerProperty === 'url')) {\n if (context.cipher.login.uris == null) {\n context.cipher.login.uris = [];\n }\n context.cipher.login.uris.concat(this.makeUriArray(context.importRecord[context.property]));\n return true;\n }\n return false;\n }\n}\n","export { AttachmentView } from './attachmentView';\nexport { CardView } from './cardView';\nexport { CipherView } from './cipherView';\nexport { FieldView } from './fieldView';\nexport { IdentityView } from './identityView';\nexport { LoginUriView } from './loginUriView';\nexport { LoginView } from './loginView';\nexport { SecureNoteView } from './secureNoteView';\nexport { View } from './view';\n","export enum NotificationType {\n SyncCipherUpdate = 0,\n SyncCipherCreate = 1,\n SyncLoginDelete = 2,\n SyncFolderDelete = 3,\n SyncCiphers = 4,\n\n SyncVault = 5,\n SyncOrgKeys = 6,\n SyncFolderCreate = 7,\n SyncFolderUpdate = 8,\n SyncCipherDelete = 9,\n SyncSettings = 10,\n\n LogOut = 11,\n}\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport 'bootstrap';\nimport 'jquery';\nimport 'popper.js';\n\n// tslint:disable-next-line\nrequire('../scss/styles.scss');\n\nimport { AppModule } from './app.module';\n\nif (process.env.ENV === 'production') {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule, { preserveWhitespaces: true });\n","import 'core-js';\n\nimport { ToasterModule } from 'angular2-toaster';\nimport { Angulartics2Module } from 'angulartics2';\nimport { Angulartics2GoogleAnalytics } from 'angulartics2/ga';\nimport { InfiniteScrollModule } from 'ngx-infinite-scroll';\n\nimport { AppRoutingModule } from './app-routing.module';\n\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { ServicesModule } from './services/services.module';\n\nimport { AppComponent } from './app.component';\nimport { ModalComponent } from './modal.component';\n\nimport { AvatarComponent } from './components/avatar.component';\nimport { PasswordStrengthComponent } from './components/password-strength.component';\n\nimport { FooterComponent } from './layouts/footer.component';\nimport { FrontendLayoutComponent } from './layouts/frontend-layout.component';\nimport { NavbarComponent } from './layouts/navbar.component';\nimport { OrganizationLayoutComponent } from './layouts/organization-layout.component';\nimport { UserLayoutComponent } from './layouts/user-layout.component';\n\nimport { AcceptEmergencyComponent } from './accounts/accept-emergency.component';\nimport { AcceptOrganizationComponent } from './accounts/accept-organization.component';\nimport { HintComponent } from './accounts/hint.component';\nimport { LockComponent } from './accounts/lock.component';\nimport { LoginComponent } from './accounts/login.component';\nimport { RecoverDeleteComponent } from './accounts/recover-delete.component';\nimport { RecoverTwoFactorComponent } from './accounts/recover-two-factor.component';\nimport { RegisterComponent } from './accounts/register.component';\nimport { SetPasswordComponent } from './accounts/set-password.component';\nimport { SsoComponent } from './accounts/sso.component';\nimport { TwoFactorOptionsComponent } from './accounts/two-factor-options.component';\nimport { TwoFactorComponent } from './accounts/two-factor.component';\nimport { VerifyEmailTokenComponent } from './accounts/verify-email-token.component';\nimport { VerifyRecoverDeleteComponent } from './accounts/verify-recover-delete.component';\n\nimport {\n CollectionAddEditComponent as OrgCollectionAddEditComponent,\n} from './organizations/manage/collection-add-edit.component';\nimport { CollectionsComponent as OrgManageCollectionsComponent } from './organizations/manage/collections.component';\nimport { EntityEventsComponent as OrgEntityEventsComponent } from './organizations/manage/entity-events.component';\nimport { EntityUsersComponent as OrgEntityUsersComponent } from './organizations/manage/entity-users.component';\nimport { EventsComponent as OrgEventsComponent } from './organizations/manage/events.component';\nimport { GroupAddEditComponent as OrgGroupAddEditComponent } from './organizations/manage/group-add-edit.component';\nimport { GroupsComponent as OrgGroupsComponent } from './organizations/manage/groups.component';\nimport { ManageComponent as OrgManageComponent } from './organizations/manage/manage.component';\nimport { PeopleComponent as OrgPeopleComponent } from './organizations/manage/people.component';\nimport { PoliciesComponent as OrgPoliciesComponent } from './organizations/manage/policies.component';\nimport { PolicyEditComponent as OrgPolicyEditComponent } from './organizations/manage/policy-edit.component';\nimport { UserAddEditComponent as OrgUserAddEditComponent } from './organizations/manage/user-add-edit.component';\nimport { UserConfirmComponent as OrgUserConfirmComponent } from './organizations/manage/user-confirm.component';\nimport { UserGroupsComponent as OrgUserGroupsComponent } from './organizations/manage/user-groups.component';\n\nimport { AccountComponent as OrgAccountComponent } from './organizations/settings/account.component';\nimport { AdjustSeatsComponent } from './organizations/settings/adjust-seats.component';\nimport { ChangePlanComponent } from './organizations/settings/change-plan.component';\nimport { DeleteOrganizationComponent } from './organizations/settings/delete-organization.component';\nimport { DownloadLicenseComponent } from './organizations/settings/download-license.component';\nimport { OrganizationBillingComponent } from './organizations/settings/organization-billing.component';\nimport { OrganizationSubscriptionComponent } from './organizations/settings/organization-subscription.component';\nimport { SettingsComponent as OrgSettingComponent } from './organizations/settings/settings.component';\nimport {\n TwoFactorSetupComponent as OrgTwoFactorSetupComponent,\n} from './organizations/settings/two-factor-setup.component';\n\nimport { ExportComponent as OrgExportComponent } from './organizations/tools/export.component';\nimport {\n ExposedPasswordsReportComponent as OrgExposedPasswordsReportComponent,\n} from './organizations/tools/exposed-passwords-report.component';\nimport { ImportComponent as OrgImportComponent } from './organizations/tools/import.component';\nimport {\n InactiveTwoFactorReportComponent as OrgInactiveTwoFactorReportComponent,\n} from './organizations/tools/inactive-two-factor-report.component';\nimport {\n ReusedPasswordsReportComponent as OrgReusedPasswordsReportComponent,\n} from './organizations/tools/reused-passwords-report.component';\nimport { ToolsComponent as OrgToolsComponent } from './organizations/tools/tools.component';\nimport {\n UnsecuredWebsitesReportComponent as OrgUnsecuredWebsitesReportComponent,\n} from './organizations/tools/unsecured-websites-report.component';\nimport {\n WeakPasswordsReportComponent as OrgWeakPasswordsReportComponent,\n} from './organizations/tools/weak-passwords-report.component';\n\nimport { AddEditComponent as OrgAddEditComponent } from './organizations/vault/add-edit.component';\nimport { AttachmentsComponent as OrgAttachmentsComponent } from './organizations/vault/attachments.component';\nimport { CiphersComponent as OrgCiphersComponent } from './organizations/vault/ciphers.component';\nimport { CollectionsComponent as OrgCollectionsComponent } from './organizations/vault/collections.component';\nimport { GroupingsComponent as OrgGroupingsComponent } from './organizations/vault/groupings.component';\nimport { VaultComponent as OrgVaultComponent } from './organizations/vault/vault.component';\n\nimport { AccessComponent } from './send/access.component';\nimport { AddEditComponent as SendAddEditComponent } from './send/add-edit.component';\nimport { SendComponent } from './send/send.component';\n\nimport { AccountComponent } from './settings/account.component';\nimport { AddCreditComponent } from './settings/add-credit.component';\nimport { AdjustPaymentComponent } from './settings/adjust-payment.component';\nimport { AdjustStorageComponent } from './settings/adjust-storage.component';\nimport { ApiKeyComponent } from './settings/api-key.component';\nimport { ChangeEmailComponent } from './settings/change-email.component';\nimport { ChangeKdfComponent } from './settings/change-kdf.component';\nimport { ChangePasswordComponent } from './settings/change-password.component';\nimport { CreateOrganizationComponent } from './settings/create-organization.component';\nimport { DeauthorizeSessionsComponent } from './settings/deauthorize-sessions.component';\nimport { DeleteAccountComponent } from './settings/delete-account.component';\nimport { DomainRulesComponent } from './settings/domain-rules.component';\nimport { EmergencyAccessAddEditComponent } from './settings/emergency-access-add-edit.component';\nimport { EmergencyAccessComponent } from './settings/emergency-access.component';\nimport { EmergencyAccessConfirmComponent } from './settings/emergency-access-confirm.component';\nimport { EmergencyAccessTakeoverComponent } from './settings/emergency-access-takeover.component';\nimport { EmergencyAccessViewComponent } from './settings/emergency-access-view.component';\nimport { EmergencyAddEditComponent } from './settings/emergency-add-edit.component';\nimport { LinkSsoComponent } from './settings/link-sso.component';\nimport { OptionsComponent } from './settings/options.component';\nimport { OrganizationPlansComponent } from './settings/organization-plans.component';\nimport { OrganizationsComponent } from './settings/organizations.component';\nimport { PaymentComponent } from './settings/payment.component';\nimport { PremiumComponent } from './settings/premium.component';\nimport { ProfileComponent } from './settings/profile.component';\nimport { PurgeVaultComponent } from './settings/purge-vault.component';\nimport { SettingsComponent } from './settings/settings.component';\nimport { TaxInfoComponent } from './settings/tax-info.component';\nimport { TwoFactorAuthenticatorComponent } from './settings/two-factor-authenticator.component';\nimport { TwoFactorDuoComponent } from './settings/two-factor-duo.component';\nimport { TwoFactorEmailComponent } from './settings/two-factor-email.component';\nimport { TwoFactorRecoveryComponent } from './settings/two-factor-recovery.component';\nimport { TwoFactorSetupComponent } from './settings/two-factor-setup.component';\nimport { TwoFactorU2fComponent } from './settings/two-factor-u2f.component';\nimport { TwoFactorVerifyComponent } from './settings/two-factor-verify.component';\nimport { TwoFactorYubiKeyComponent } from './settings/two-factor-yubikey.component';\nimport { UpdateKeyComponent } from './settings/update-key.component';\nimport { UpdateLicenseComponent } from './settings/update-license.component';\nimport { UserBillingComponent } from './settings/user-billing.component';\nimport { UserSubscriptionComponent } from './settings/user-subscription.component';\nimport { VerifyEmailComponent } from './settings/verify-email.component';\n\nimport { BreachReportComponent } from './tools/breach-report.component';\nimport { ExportComponent } from './tools/export.component';\nimport { ExposedPasswordsReportComponent } from './tools/exposed-passwords-report.component';\nimport { ImportComponent } from './tools/import.component';\nimport { InactiveTwoFactorReportComponent } from './tools/inactive-two-factor-report.component';\nimport { PasswordGeneratorHistoryComponent } from './tools/password-generator-history.component';\nimport { PasswordGeneratorComponent } from './tools/password-generator.component';\nimport { ReusedPasswordsReportComponent } from './tools/reused-passwords-report.component';\nimport { ToolsComponent } from './tools/tools.component';\nimport { UnsecuredWebsitesReportComponent } from './tools/unsecured-websites-report.component';\nimport { WeakPasswordsReportComponent } from './tools/weak-passwords-report.component';\n\nimport { AddEditComponent } from './vault/add-edit.component';\nimport { AttachmentsComponent } from './vault/attachments.component';\nimport { BulkActionsComponent } from './vault/bulk-actions.component';\nimport { BulkDeleteComponent } from './vault/bulk-delete.component';\nimport { BulkMoveComponent } from './vault/bulk-move.component';\nimport { BulkRestoreComponent } from './vault/bulk-restore.component';\nimport { BulkShareComponent } from './vault/bulk-share.component';\nimport { CiphersComponent } from './vault/ciphers.component';\nimport { CollectionsComponent } from './vault/collections.component';\nimport { FolderAddEditComponent } from './vault/folder-add-edit.component';\nimport { GroupingsComponent } from './vault/groupings.component';\nimport { ShareComponent } from './vault/share.component';\nimport { VaultComponent } from './vault/vault.component';\n\nimport { CalloutComponent } from 'jslib/angular/components/callout.component';\nimport { IconComponent } from 'jslib/angular/components/icon.component';\n\nimport { A11yTitleDirective } from 'jslib/angular/directives/a11y-title.directive';\nimport { ApiActionDirective } from 'jslib/angular/directives/api-action.directive';\nimport { AutofocusDirective } from 'jslib/angular/directives/autofocus.directive';\nimport { BlurClickDirective } from 'jslib/angular/directives/blur-click.directive';\nimport { BoxRowDirective } from 'jslib/angular/directives/box-row.directive';\nimport { FallbackSrcDirective } from 'jslib/angular/directives/fallback-src.directive';\nimport { InputVerbatimDirective } from 'jslib/angular/directives/input-verbatim.directive';\nimport { SelectCopyDirective } from 'jslib/angular/directives/select-copy.directive';\nimport { StopClickDirective } from 'jslib/angular/directives/stop-click.directive';\nimport { StopPropDirective } from 'jslib/angular/directives/stop-prop.directive';\nimport { TrueFalseValueDirective } from 'jslib/angular/directives/true-false-value.directive';\n\nimport { ColorPasswordPipe } from 'jslib/angular/pipes/color-password.pipe';\nimport { I18nPipe } from 'jslib/angular/pipes/i18n.pipe';\nimport { SearchCiphersPipe } from 'jslib/angular/pipes/search-ciphers.pipe';\nimport { SearchPipe } from 'jslib/angular/pipes/search.pipe';\n\nimport {\n registerLocaleData,\n DatePipe,\n} from '@angular/common';\nimport localeCa from '@angular/common/locales/ca';\nimport localeCs from '@angular/common/locales/cs';\nimport localeDa from '@angular/common/locales/da';\nimport localeDe from '@angular/common/locales/de';\nimport localeEl from '@angular/common/locales/el';\nimport localeEnGb from '@angular/common/locales/en-GB';\nimport localeEs from '@angular/common/locales/es';\nimport localeEt from '@angular/common/locales/et';\nimport localeFr from '@angular/common/locales/fr';\nimport localeHe from '@angular/common/locales/he';\nimport localeIt from '@angular/common/locales/it';\nimport localeJa from '@angular/common/locales/ja';\nimport localeKo from '@angular/common/locales/ko';\nimport localeLv from '@angular/common/locales/lv';\nimport localeMl from '@angular/common/locales/ml';\nimport localeNb from '@angular/common/locales/nb';\nimport localeNl from '@angular/common/locales/nl';\nimport localePl from '@angular/common/locales/pl';\nimport localePtBr from '@angular/common/locales/pt';\nimport localePtPt from '@angular/common/locales/pt-PT';\nimport localeRu from '@angular/common/locales/ru';\nimport localeSk from '@angular/common/locales/sk';\nimport localeSv from '@angular/common/locales/sv';\nimport localeUk from '@angular/common/locales/uk';\nimport localeZhCn from '@angular/common/locales/zh-Hans';\nimport localeZhTw from '@angular/common/locales/zh-Hant';\n\nregisterLocaleData(localeCa, 'ca');\nregisterLocaleData(localeCs, 'cs');\nregisterLocaleData(localeDa, 'da');\nregisterLocaleData(localeDe, 'de');\nregisterLocaleData(localeEl, 'el');\nregisterLocaleData(localeEnGb, 'en-GB');\nregisterLocaleData(localeEs, 'es');\nregisterLocaleData(localeEt, 'et');\nregisterLocaleData(localeFr, 'fr');\nregisterLocaleData(localeHe, 'he');\nregisterLocaleData(localeIt, 'it');\nregisterLocaleData(localeJa, 'ja');\nregisterLocaleData(localeKo, 'ko');\nregisterLocaleData(localeLv, 'lv');\nregisterLocaleData(localeMl, 'ml');\nregisterLocaleData(localeNb, 'nb');\nregisterLocaleData(localeNl, 'nl');\nregisterLocaleData(localePl, 'pl');\nregisterLocaleData(localePtBr, 'pt-BR');\nregisterLocaleData(localePtPt, 'pt-PT');\nregisterLocaleData(localeRu, 'ru');\nregisterLocaleData(localeSk, 'sk');\nregisterLocaleData(localeSv, 'sv');\nregisterLocaleData(localeUk, 'uk');\nregisterLocaleData(localeZhCn, 'zh-CN');\nregisterLocaleData(localeZhTw, 'zh-TW');\n\n@NgModule({\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n FormsModule,\n AppRoutingModule,\n ServicesModule,\n Angulartics2Module.forRoot({\n pageTracking: {\n clearQueryParams: true,\n },\n }),\n ToasterModule.forRoot(),\n InfiniteScrollModule,\n DragDropModule,\n ],\n declarations: [\n A11yTitleDirective,\n AcceptEmergencyComponent,\n AccessComponent,\n AcceptOrganizationComponent,\n AccountComponent,\n SetPasswordComponent,\n AddCreditComponent,\n AddEditComponent,\n AdjustPaymentComponent,\n AdjustSeatsComponent,\n AdjustStorageComponent,\n ApiActionDirective,\n ApiKeyComponent,\n AppComponent,\n AttachmentsComponent,\n AutofocusDirective,\n AvatarComponent,\n BlurClickDirective,\n BoxRowDirective,\n BreachReportComponent,\n BulkActionsComponent,\n BulkDeleteComponent,\n BulkMoveComponent,\n BulkRestoreComponent,\n BulkShareComponent,\n CalloutComponent,\n ChangeEmailComponent,\n ChangeKdfComponent,\n ChangePasswordComponent,\n ChangePlanComponent,\n CiphersComponent,\n CollectionsComponent,\n ColorPasswordPipe,\n CreateOrganizationComponent,\n DeauthorizeSessionsComponent,\n DeleteAccountComponent,\n DeleteOrganizationComponent,\n DomainRulesComponent,\n DownloadLicenseComponent,\n EmergencyAccessAddEditComponent,\n EmergencyAccessComponent,\n EmergencyAccessConfirmComponent,\n EmergencyAccessTakeoverComponent,\n EmergencyAccessViewComponent,\n EmergencyAddEditComponent,\n ExportComponent,\n ExposedPasswordsReportComponent,\n FallbackSrcDirective,\n FolderAddEditComponent,\n FooterComponent,\n FrontendLayoutComponent,\n GroupingsComponent,\n HintComponent,\n I18nPipe,\n IconComponent,\n ImportComponent,\n InactiveTwoFactorReportComponent,\n InputVerbatimDirective,\n LinkSsoComponent,\n LockComponent,\n LoginComponent,\n ModalComponent,\n NavbarComponent,\n OptionsComponent,\n OrgAccountComponent,\n OrgAddEditComponent,\n OrganizationBillingComponent,\n OrganizationPlansComponent,\n OrganizationSubscriptionComponent,\n OrgAttachmentsComponent,\n OrgCiphersComponent,\n OrgCollectionAddEditComponent,\n OrgCollectionsComponent,\n OrgEntityEventsComponent,\n OrgEntityUsersComponent,\n OrgEventsComponent,\n OrgExportComponent,\n OrgExposedPasswordsReportComponent,\n OrgImportComponent,\n OrgInactiveTwoFactorReportComponent,\n OrgGroupAddEditComponent,\n OrgGroupingsComponent,\n OrgGroupsComponent,\n OrgManageCollectionsComponent,\n OrgManageComponent,\n OrgPeopleComponent,\n OrgPolicyEditComponent,\n OrgPoliciesComponent,\n OrgReusedPasswordsReportComponent,\n OrgSettingComponent,\n OrgToolsComponent,\n OrgTwoFactorSetupComponent,\n OrgUserAddEditComponent,\n OrgUserConfirmComponent,\n OrgUserGroupsComponent,\n OrganizationsComponent,\n OrganizationLayoutComponent,\n OrgUnsecuredWebsitesReportComponent,\n OrgVaultComponent,\n OrgWeakPasswordsReportComponent,\n PasswordGeneratorComponent,\n PasswordGeneratorHistoryComponent,\n PasswordStrengthComponent,\n PaymentComponent,\n PremiumComponent,\n ProfileComponent,\n PurgeVaultComponent,\n RecoverDeleteComponent,\n RecoverTwoFactorComponent,\n RegisterComponent,\n ReusedPasswordsReportComponent,\n SearchCiphersPipe,\n SearchPipe,\n SelectCopyDirective,\n SendAddEditComponent,\n SendComponent,\n SettingsComponent,\n ShareComponent,\n SsoComponent,\n StopClickDirective,\n StopPropDirective,\n TaxInfoComponent,\n ToolsComponent,\n TrueFalseValueDirective,\n TwoFactorAuthenticatorComponent,\n TwoFactorComponent,\n TwoFactorDuoComponent,\n TwoFactorEmailComponent,\n TwoFactorOptionsComponent,\n TwoFactorRecoveryComponent,\n TwoFactorSetupComponent,\n TwoFactorU2fComponent,\n TwoFactorVerifyComponent,\n TwoFactorYubiKeyComponent,\n UnsecuredWebsitesReportComponent,\n UpdateKeyComponent,\n UpdateLicenseComponent,\n UserBillingComponent,\n UserLayoutComponent,\n UserSubscriptionComponent,\n VaultComponent,\n VerifyEmailComponent,\n VerifyEmailTokenComponent,\n VerifyRecoverDeleteComponent,\n WeakPasswordsReportComponent,\n ],\n entryComponents: [\n AddEditComponent,\n ApiKeyComponent,\n AttachmentsComponent,\n BulkActionsComponent,\n BulkDeleteComponent,\n BulkMoveComponent,\n BulkRestoreComponent,\n BulkShareComponent,\n CollectionsComponent,\n DeauthorizeSessionsComponent,\n DeleteAccountComponent,\n DeleteOrganizationComponent,\n EmergencyAccessAddEditComponent,\n EmergencyAccessConfirmComponent,\n EmergencyAccessTakeoverComponent,\n EmergencyAddEditComponent,\n FolderAddEditComponent,\n ModalComponent,\n OrgAddEditComponent,\n OrgAttachmentsComponent,\n OrgCollectionAddEditComponent,\n OrgCollectionsComponent,\n OrgEntityEventsComponent,\n OrgEntityUsersComponent,\n OrgGroupAddEditComponent,\n OrgPolicyEditComponent,\n OrgUserAddEditComponent,\n OrgUserConfirmComponent,\n OrgUserGroupsComponent,\n PasswordGeneratorHistoryComponent,\n PurgeVaultComponent,\n SendAddEditComponent,\n ShareComponent,\n TwoFactorAuthenticatorComponent,\n TwoFactorDuoComponent,\n TwoFactorEmailComponent,\n TwoFactorOptionsComponent,\n TwoFactorRecoveryComponent,\n TwoFactorU2fComponent,\n TwoFactorYubiKeyComponent,\n UpdateKeyComponent,\n ],\n providers: [DatePipe],\n bootstrap: [AppComponent],\n})\nexport class AppModule { }\n","import { NgModule } from '@angular/core';\nimport {\n RouterModule,\n Routes,\n} from '@angular/router';\n\nimport { FrontendLayoutComponent } from './layouts/frontend-layout.component';\nimport { OrganizationLayoutComponent } from './layouts/organization-layout.component';\nimport { UserLayoutComponent } from './layouts/user-layout.component';\n\nimport { AcceptEmergencyComponent } from './accounts/accept-emergency.component';\nimport { AcceptOrganizationComponent } from './accounts/accept-organization.component';\nimport { HintComponent } from './accounts/hint.component';\nimport { LockComponent } from './accounts/lock.component';\nimport { LoginComponent } from './accounts/login.component';\nimport { RecoverDeleteComponent } from './accounts/recover-delete.component';\nimport { RecoverTwoFactorComponent } from './accounts/recover-two-factor.component';\nimport { RegisterComponent } from './accounts/register.component';\nimport { SetPasswordComponent } from './accounts/set-password.component';\nimport { SsoComponent } from './accounts/sso.component';\nimport { TwoFactorComponent } from './accounts/two-factor.component';\nimport { VerifyEmailTokenComponent } from './accounts/verify-email-token.component';\nimport { VerifyRecoverDeleteComponent } from './accounts/verify-recover-delete.component';\n\nimport { CollectionsComponent as OrgManageCollectionsComponent } from './organizations/manage/collections.component';\nimport { EventsComponent as OrgEventsComponent } from './organizations/manage/events.component';\nimport { GroupsComponent as OrgGroupsComponent } from './organizations/manage/groups.component';\nimport { ManageComponent as OrgManageComponent } from './organizations/manage/manage.component';\nimport { PeopleComponent as OrgPeopleComponent } from './organizations/manage/people.component';\nimport { PoliciesComponent as OrgPoliciesComponent } from './organizations/manage/policies.component';\n\nimport { AccountComponent as OrgAccountComponent } from './organizations/settings/account.component';\nimport { OrganizationBillingComponent } from './organizations/settings/organization-billing.component';\nimport { OrganizationSubscriptionComponent } from './organizations/settings/organization-subscription.component';\nimport { SettingsComponent as OrgSettingsComponent } from './organizations/settings/settings.component';\nimport {\n TwoFactorSetupComponent as OrgTwoFactorSetupComponent,\n} from './organizations/settings/two-factor-setup.component';\n\nimport { ExportComponent as OrgExportComponent } from './organizations/tools/export.component';\nimport {\n ExposedPasswordsReportComponent as OrgExposedPasswordsReportComponent,\n} from './organizations/tools/exposed-passwords-report.component';\nimport { ImportComponent as OrgImportComponent } from './organizations/tools/import.component';\nimport {\n InactiveTwoFactorReportComponent as OrgInactiveTwoFactorReportComponent,\n} from './organizations/tools/inactive-two-factor-report.component';\nimport {\n ReusedPasswordsReportComponent as OrgReusedPasswordsReportComponent,\n} from './organizations/tools/reused-passwords-report.component';\nimport { ToolsComponent as OrgToolsComponent } from './organizations/tools/tools.component';\nimport {\n UnsecuredWebsitesReportComponent as OrgUnsecuredWebsitesReportComponent,\n} from './organizations/tools/unsecured-websites-report.component';\nimport {\n WeakPasswordsReportComponent as OrgWeakPasswordsReportComponent,\n} from './organizations/tools/weak-passwords-report.component';\n\nimport { VaultComponent as OrgVaultComponent } from './organizations/vault/vault.component';\n\nimport { AccessComponent } from './send/access.component';\nimport { SendComponent } from './send/send.component';\n\nimport { AccountComponent } from './settings/account.component';\nimport { CreateOrganizationComponent } from './settings/create-organization.component';\nimport { DomainRulesComponent } from './settings/domain-rules.component';\nimport { OptionsComponent } from './settings/options.component';\nimport { OrganizationsComponent } from './settings/organizations.component';\nimport { PremiumComponent } from './settings/premium.component';\nimport { SettingsComponent } from './settings/settings.component';\nimport { TwoFactorSetupComponent } from './settings/two-factor-setup.component';\nimport { UserBillingComponent } from './settings/user-billing.component';\nimport { UserSubscriptionComponent } from './settings/user-subscription.component';\n\nimport { BreachReportComponent } from './tools/breach-report.component';\nimport { ExportComponent } from './tools/export.component';\nimport { ExposedPasswordsReportComponent } from './tools/exposed-passwords-report.component';\nimport { ImportComponent } from './tools/import.component';\nimport { InactiveTwoFactorReportComponent } from './tools/inactive-two-factor-report.component';\nimport { PasswordGeneratorComponent } from './tools/password-generator.component';\nimport { ReusedPasswordsReportComponent } from './tools/reused-passwords-report.component';\nimport { ToolsComponent } from './tools/tools.component';\nimport { UnsecuredWebsitesReportComponent } from './tools/unsecured-websites-report.component';\nimport { WeakPasswordsReportComponent } from './tools/weak-passwords-report.component';\n\nimport { VaultComponent } from './vault/vault.component';\n\nimport { OrganizationGuardService } from './services/organization-guard.service';\nimport { OrganizationTypeGuardService } from './services/organization-type-guard.service';\nimport { UnauthGuardService } from './services/unauth-guard.service';\n\nimport { AuthGuardService } from 'jslib/angular/services/auth-guard.service';\n\nimport { Permissions } from 'jslib/enums/permissions';\n\nimport { EmergencyAccessViewComponent } from './settings/emergency-access-view.component';\nimport { EmergencyAccessComponent } from './settings/emergency-access.component';\n\nconst routes: Routes = [\n {\n path: '',\n component: FrontendLayoutComponent,\n children: [\n { path: '', pathMatch: 'full', component: LoginComponent, canActivate: [UnauthGuardService] },\n { path: '2fa', component: TwoFactorComponent, canActivate: [UnauthGuardService] },\n {\n path: 'register', component: RegisterComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'createAccount' },\n },\n {\n path: 'sso', component: SsoComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'enterpriseSingleSignOn' },\n },\n {\n path: 'set-password', component: SetPasswordComponent,\n data: { titleId: 'setMasterPassword' },\n },\n {\n path: 'hint', component: HintComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'passwordHint' },\n },\n { path: 'lock', component: LockComponent },\n { path: 'verify-email', component: VerifyEmailTokenComponent },\n {\n path: 'accept-organization',\n component: AcceptOrganizationComponent,\n data: { titleId: 'joinOrganization' },\n },\n {\n path: 'accept-emergency',\n component: AcceptEmergencyComponent,\n data: { titleId: 'acceptEmergency' },\n },\n { path: 'recover', pathMatch: 'full', redirectTo: 'recover-2fa' },\n {\n path: 'recover-2fa',\n component: RecoverTwoFactorComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'recoverAccountTwoStep' },\n },\n {\n path: 'recover-delete',\n component: RecoverDeleteComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'deleteAccount' },\n },\n {\n path: 'verify-recover-delete',\n component: VerifyRecoverDeleteComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'deleteAccount' },\n },\n /*{\n path: 'send/:sendId/:key',\n component: AccessComponent,\n data: { title: 'Bitwarden Send' },\n },*/\n ],\n },\n {\n path: '',\n component: UserLayoutComponent,\n canActivate: [AuthGuardService],\n children: [\n { path: 'vault', component: VaultComponent, data: { titleId: 'myVault' } },\n { path: 'sends', component: SendComponent, data: { title: 'Send' } },\n {\n path: 'settings',\n component: SettingsComponent,\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'account' },\n { path: 'account', component: AccountComponent, data: { titleId: 'myAccount' } },\n { path: 'options', component: OptionsComponent, data: { titleId: 'options' } },\n { path: 'domain-rules', component: DomainRulesComponent, data: { titleId: 'domainRules' } },\n { path: 'two-factor', component: TwoFactorSetupComponent, data: { titleId: 'twoStepLogin' } },\n { path: 'premium', component: PremiumComponent, data: { titleId: 'goPremium' } },\n { path: 'billing', component: UserBillingComponent, data: { titleId: 'billing' } },\n {\n path: 'subscription',\n component: UserSubscriptionComponent,\n data: { titleId: 'premiumMembership' },\n },\n { path: 'organizations', component: OrganizationsComponent, data: { titleId: 'organizations' } },\n {\n path: 'create-organization',\n component: CreateOrganizationComponent,\n data: { titleId: 'newOrganization' },\n },\n {\n path: 'emergency-access',\n children: [\n {\n path: '',\n component: EmergencyAccessComponent,\n data: { titleId: 'emergencyAccess'},\n },\n {\n path: ':id',\n component: EmergencyAccessViewComponent,\n data: { titleId: 'emergencyAccess'},\n },\n ],\n },\n ],\n },\n {\n path: 'tools',\n component: ToolsComponent,\n canActivate: [AuthGuardService],\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'generator' },\n { path: 'import', component: ImportComponent, data: { titleId: 'importData' } },\n { path: 'export', component: ExportComponent, data: { titleId: 'exportVault' } },\n {\n path: 'generator',\n component: PasswordGeneratorComponent,\n data: { titleId: 'passwordGenerator' },\n },\n { path: 'breach-report', component: BreachReportComponent, data: { titleId: 'dataBreachReport' } },\n {\n path: 'reused-passwords-report',\n component: ReusedPasswordsReportComponent,\n data: { titleId: 'reusedPasswordsReport' },\n },\n {\n path: 'unsecured-websites-report',\n component: UnsecuredWebsitesReportComponent,\n data: { titleId: 'unsecuredWebsitesReport' },\n },\n {\n path: 'weak-passwords-report',\n component: WeakPasswordsReportComponent,\n data: { titleId: 'weakPasswordsReport' },\n },\n {\n path: 'exposed-passwords-report',\n component: ExposedPasswordsReportComponent,\n data: { titleId: 'exposedPasswordsReport' },\n },\n {\n path: 'inactive-two-factor-report',\n component: InactiveTwoFactorReportComponent,\n data: { titleId: 'inactive2faReport' },\n },\n ],\n },\n ],\n },\n {\n path: 'organizations/:organizationId',\n component: OrganizationLayoutComponent,\n canActivate: [AuthGuardService, OrganizationGuardService],\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'vault' },\n { path: 'vault', component: OrgVaultComponent, data: { titleId: 'vault' } },\n {\n path: 'tools',\n component: OrgToolsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: { permissions: [Permissions.AccessImportExport, Permissions.AccessReports] },\n children: [\n {\n path: '',\n pathMatch: 'full',\n redirectTo: 'import',\n },\n {\n path: 'import',\n component: OrgImportComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'importData',\n permissions: [Permissions.AccessImportExport],\n },\n },\n {\n path: 'export',\n component: OrgExportComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'exportVault',\n permissions: [Permissions.AccessImportExport],\n },\n },\n {\n path: 'exposed-passwords-report',\n component: OrgExposedPasswordsReportComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'exposedPasswordsReport',\n permissions: [Permissions.AccessReports],\n },\n },\n {\n path: 'inactive-two-factor-report',\n component: OrgInactiveTwoFactorReportComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'inactive2faReport',\n permissions: [Permissions.AccessReports],\n },\n },\n {\n path: 'reused-passwords-report',\n component: OrgReusedPasswordsReportComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'reusedPasswordsReport',\n permissions: [Permissions.AccessReports],\n },\n },\n {\n path: 'unsecured-websites-report',\n component: OrgUnsecuredWebsitesReportComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'unsecuredWebsitesReport',\n permissions: [Permissions.AccessReports],\n },\n },\n {\n path: 'weak-passwords-report',\n component: OrgWeakPasswordsReportComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'weakPasswordsReport',\n permissions: [Permissions.AccessReports],\n },\n },\n ],\n },\n {\n path: 'manage',\n component: OrgManageComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n permissions: [\n Permissions.ManageAssignedCollections,\n Permissions.ManageAllCollections,\n Permissions.AccessEventLogs,\n Permissions.ManageGroups,\n Permissions.ManageUsers,\n Permissions.ManagePolicies,\n ],\n },\n children: [\n {\n path: '',\n pathMatch: 'full',\n redirectTo: 'people',\n },\n {\n path: 'collections',\n component: OrgManageCollectionsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'collections',\n permissions: [Permissions.ManageAssignedCollections, Permissions.ManageAllCollections],\n },\n },\n {\n path: 'events',\n component: OrgEventsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'eventLogs',\n permissions: [Permissions.AccessEventLogs],\n },\n },\n {\n path: 'groups',\n component: OrgGroupsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'groups',\n permissions: [Permissions.ManageGroups],\n },\n },\n {\n path: 'people',\n component: OrgPeopleComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'people',\n permissions: [Permissions.ManageUsers],\n },\n },\n {\n path: 'policies',\n component: OrgPoliciesComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n titleId: 'policies',\n permissions: [Permissions.ManagePolicies],\n },\n },\n ],\n },\n {\n path: 'settings',\n component: OrgSettingsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: { permissions: [Permissions.ManageOrganization] },\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'account' },\n { path: 'account', component: OrgAccountComponent, data: { titleId: 'myOrganization' } },\n { path: 'two-factor', component: OrgTwoFactorSetupComponent, data: { titleId: 'twoStepLogin' } },\n {\n path: 'billing',\n component: OrganizationBillingComponent,\n data: { titleId: 'billing' },\n },\n {\n path: 'subscription',\n component: OrganizationSubscriptionComponent,\n data: { titleId: 'subscription' },\n },\n ],\n },\n ],\n },\n { path: '**', redirectTo: '' },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {\n useHash: true,\n paramsInheritanceStrategy: 'always',\n /*enableTracing: true,*/\n })],\n exports: [RouterModule],\n})\nexport class AppRoutingModule { }\n","import { BroadcasterService as BroadcasterServiceAbstraction } from '../abstractions/broadcaster.service';\n\nexport class BroadcasterService implements BroadcasterServiceAbstraction {\n subscribers: Map any> = new Map any>();\n\n send(message: any, id?: string) {\n if (id != null) {\n if (this.subscribers.has(id)) {\n this.subscribers.get(id)(message);\n }\n return;\n }\n\n this.subscribers.forEach((value) => {\n value(message);\n });\n }\n\n subscribe(id: string, messageCallback: (message: any) => any) {\n this.subscribers.set(id, messageCallback);\n }\n\n unsubscribe(id: string) {\n if (this.subscribers.has(id)) {\n this.subscribers.delete(id);\n }\n }\n}\n","export function getDomain(host: string): string | null {\n return null;\n}\n","export class EmergencyAccessAcceptRequest {\n token: string;\n}\n","export class OrganizationUserAcceptRequest {\n token: string;\n}\n","import { Router } from '@angular/router';\n\nimport { PasswordHintRequest } from '../../models/request/passwordHintRequest';\n\nimport { ApiService } from '../../abstractions/api.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nexport class HintComponent {\n email: string = '';\n formPromise: Promise;\n\n protected successRoute = 'login';\n protected onSuccessfulSubmit: () => void;\n\n constructor(protected router: Router, protected i18nService: I18nService,\n protected apiService: ApiService, protected platformUtilsService: PlatformUtilsService) { }\n\n async submit() {\n if (this.email == null || this.email === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('emailRequired'));\n return;\n }\n if (this.email.indexOf('@') === -1) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidEmail'));\n return;\n }\n\n try {\n this.formPromise = this.apiService.postPasswordHint(new PasswordHintRequest(this.email));\n await this.formPromise;\n this.platformUtilsService.eventTrack('Requested Hint');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('masterPassSent'));\n if (this.onSuccessfulSubmit != null) {\n this.onSuccessfulSubmit();\n } else if (this.router != null) {\n this.router.navigate([this.successRoute]);\n }\n } catch { }\n }\n}\n","export class PasswordHintRequest {\n email: string;\n\n constructor(email: string) {\n this.email = email;\n }\n}\n","import { OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { ApiService } from '../../abstractions/api.service';\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { EnvironmentService } from '../../abstractions/environment.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { MessagingService } from '../../abstractions/messaging.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { StateService } from '../../abstractions/state.service';\nimport { StorageService } from '../../abstractions/storage.service';\nimport { UserService } from '../../abstractions/user.service';\nimport { VaultTimeoutService } from '../../abstractions/vaultTimeout.service';\n\nimport { ConstantsService } from '../../services/constants.service';\n\nimport { CipherString } from '../../models/domain/cipherString';\nimport { SymmetricCryptoKey } from '../../models/domain/symmetricCryptoKey';\n\nimport { PasswordVerificationRequest } from '../../models/request/passwordVerificationRequest';\n\nimport { Utils } from '../../misc/utils';\n\nexport class LockComponent implements OnInit {\n masterPassword: string = '';\n pin: string = '';\n showPassword: boolean = false;\n email: string;\n pinLock: boolean = false;\n webVaultHostname: string = '';\n formPromise: Promise;\n supportsBiometric: boolean;\n biometricLock: boolean;\n biometricText: string;\n\n protected successRoute: string = 'vault';\n protected onSuccessfulSubmit: () => void;\n\n private invalidPinAttempts = 0;\n private pinSet: [boolean, boolean];\n\n constructor(protected router: Router, protected i18nService: I18nService,\n protected platformUtilsService: PlatformUtilsService, protected messagingService: MessagingService,\n protected userService: UserService, protected cryptoService: CryptoService,\n protected storageService: StorageService, protected vaultTimeoutService: VaultTimeoutService,\n protected environmentService: EnvironmentService, protected stateService: StateService,\n protected apiService: ApiService) { }\n\n async ngOnInit() {\n this.pinSet = await this.vaultTimeoutService.isPinLockSet();\n this.pinLock = (this.pinSet[0] && this.vaultTimeoutService.pinProtectedKey != null) || this.pinSet[1];\n this.supportsBiometric = await this.platformUtilsService.supportsBiometric();\n this.biometricLock = await this.vaultTimeoutService.isBiometricLockSet() && (await this.cryptoService.hasKey() || !this.platformUtilsService.supportsSecureStorage());\n this.biometricText = await this.storageService.get(ConstantsService.biometricText);\n this.email = await this.userService.getEmail();\n let vaultUrl = this.environmentService.getWebVaultUrl();\n if (vaultUrl == null) {\n vaultUrl = 'https://bitwarden.com';\n }\n this.webVaultHostname = Utils.getHostname(vaultUrl);\n }\n\n async submit() {\n if (this.pinLock && (this.pin == null || this.pin === '')) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('pinRequired'));\n return;\n }\n if (!this.pinLock && (this.masterPassword == null || this.masterPassword === '')) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n const kdf = await this.userService.getKdf();\n const kdfIterations = await this.userService.getKdfIterations();\n\n if (this.pinLock) {\n let failed = true;\n try {\n if (this.pinSet[0]) {\n const key = await this.cryptoService.makeKeyFromPin(this.pin, this.email, kdf, kdfIterations,\n this.vaultTimeoutService.pinProtectedKey);\n const encKey = await this.cryptoService.getEncKey(key);\n const protectedPin = await this.storageService.get(ConstantsService.protectedPin);\n const decPin = await this.cryptoService.decryptToUtf8(new CipherString(protectedPin), encKey);\n failed = decPin !== this.pin;\n if (!failed) {\n await this.setKeyAndContinue(key);\n }\n } else {\n const key = await this.cryptoService.makeKeyFromPin(this.pin, this.email, kdf, kdfIterations);\n failed = false;\n await this.setKeyAndContinue(key);\n }\n } catch {\n failed = true;\n }\n\n if (failed) {\n this.invalidPinAttempts++;\n if (this.invalidPinAttempts >= 5) {\n this.messagingService.send('logout');\n return;\n }\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidPin'));\n }\n } else {\n const key = await this.cryptoService.makeKey(this.masterPassword, this.email, kdf, kdfIterations);\n const keyHash = await this.cryptoService.hashPassword(this.masterPassword, key);\n\n let passwordValid = false;\n\n if (keyHash != null) {\n const storedKeyHash = await this.cryptoService.getKeyHash();\n if (storedKeyHash != null) {\n passwordValid = storedKeyHash === keyHash;\n } else {\n const request = new PasswordVerificationRequest();\n request.masterPasswordHash = keyHash;\n try {\n this.formPromise = this.apiService.postAccountVerifyPassword(request);\n await this.formPromise;\n passwordValid = true;\n await this.cryptoService.setKeyHash(keyHash);\n } catch { }\n }\n }\n\n if (passwordValid) {\n if (this.pinSet[0]) {\n const protectedPin = await this.storageService.get(ConstantsService.protectedPin);\n const encKey = await this.cryptoService.getEncKey(key);\n const decPin = await this.cryptoService.decryptToUtf8(new CipherString(protectedPin), encKey);\n const pinKey = await this.cryptoService.makePinKey(decPin, this.email, kdf, kdfIterations);\n this.vaultTimeoutService.pinProtectedKey = await this.cryptoService.encrypt(key.key, pinKey);\n }\n this.setKeyAndContinue(key);\n } else {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidMasterPassword'));\n }\n }\n }\n\n async logOut() {\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('logOutConfirmation'),\n this.i18nService.t('logOut'), this.i18nService.t('logOut'), this.i18nService.t('cancel'));\n if (confirmed) {\n this.messagingService.send('logout');\n }\n }\n\n async unlockBiometric() {\n if (!this.biometricLock) {\n return;\n }\n const success = await this.platformUtilsService.authenticateBiometric();\n\n if (success) {\n await this.doContinue();\n }\n }\n\n togglePassword() {\n this.platformUtilsService.eventTrack('Toggled Master Password on Unlock');\n this.showPassword = !this.showPassword;\n document.getElementById(this.pinLock ? 'pin' : 'masterPassword').focus();\n }\n\n private async setKeyAndContinue(key: SymmetricCryptoKey) {\n await this.cryptoService.setKey(key);\n this.doContinue();\n }\n\n private async doContinue() {\n this.vaultTimeoutService.biometricLocked = false;\n const disableFavicon = await this.storageService.get(ConstantsService.disableFaviconKey);\n await this.stateService.save(ConstantsService.disableFaviconKey, !!disableFavicon);\n this.messagingService.send('unlocked');\n if (this.onSuccessfulSubmit != null) {\n this.onSuccessfulSubmit();\n } else if (this.router != null) {\n this.router.navigate([this.successRoute]);\n }\n }\n}\n","import {\n Directive,\n Input,\n OnInit,\n} from '@angular/core';\n\nimport { Router } from '@angular/router';\n\nimport { AuthResult } from '../../models/domain/authResult';\n\nimport { AuthService } from '../../abstractions/auth.service';\nimport { CryptoFunctionService } from '../../abstractions/cryptoFunction.service';\nimport { EnvironmentService } from '../../abstractions/environment.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { StateService } from '../../abstractions/state.service';\nimport { StorageService } from '../../abstractions/storage.service';\n\nimport { ConstantsService } from '../../services/constants.service';\n\nimport { Utils } from '../../misc/utils';\n\nconst Keys = {\n rememberedEmail: 'rememberedEmail',\n rememberEmail: 'rememberEmail',\n};\n\n@Directive()\nexport class LoginComponent implements OnInit {\n @Input() email: string = '';\n @Input() rememberEmail = true;\n\n masterPassword: string = '';\n showPassword: boolean = false;\n formPromise: Promise;\n onSuccessfulLogin: () => Promise;\n onSuccessfulLoginNavigate: () => Promise;\n onSuccessfulLoginTwoFactorNavigate: () => Promise;\n\n protected twoFactorRoute = '2fa';\n protected successRoute = 'vault';\n\n constructor(protected authService: AuthService, protected router: Router,\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\n protected stateService: StateService, protected environmentService: EnvironmentService,\n protected passwordGenerationService: PasswordGenerationService,\n protected cryptoFunctionService: CryptoFunctionService, private storageService: StorageService) { }\n\n async ngOnInit() {\n if (this.email == null || this.email === '') {\n this.email = await this.storageService.get(Keys.rememberedEmail);\n if (this.email == null) {\n this.email = '';\n }\n }\n this.rememberEmail = await this.storageService.get(Keys.rememberEmail);\n if (this.rememberEmail == null) {\n this.rememberEmail = true;\n }\n if (Utils.isBrowser) {\n document.getElementById(this.email == null || this.email === '' ? 'email' : 'masterPassword').focus();\n }\n }\n\n async submit() {\n if (this.email == null || this.email === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('emailRequired'));\n return;\n }\n if (this.email.indexOf('@') === -1) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidEmail'));\n return;\n }\n if (this.masterPassword == null || this.masterPassword === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n\n try {\n this.formPromise = this.authService.logIn(this.email, this.masterPassword);\n const response = await this.formPromise;\n await this.storageService.save(Keys.rememberEmail, this.rememberEmail);\n if (this.rememberEmail) {\n await this.storageService.save(Keys.rememberedEmail, this.email);\n } else {\n await this.storageService.remove(Keys.rememberedEmail);\n }\n if (response.twoFactor) {\n this.platformUtilsService.eventTrack('Logged In To Two-step');\n if (this.onSuccessfulLoginTwoFactorNavigate != null) {\n this.onSuccessfulLoginTwoFactorNavigate();\n } else {\n this.router.navigate([this.twoFactorRoute]);\n }\n } else {\n const disableFavicon = await this.storageService.get(ConstantsService.disableFaviconKey);\n await this.stateService.save(ConstantsService.disableFaviconKey, !!disableFavicon);\n if (this.onSuccessfulLogin != null) {\n this.onSuccessfulLogin();\n }\n this.platformUtilsService.eventTrack('Logged In');\n if (this.onSuccessfulLoginNavigate != null) {\n this.onSuccessfulLoginNavigate();\n } else {\n this.router.navigate([this.successRoute]);\n }\n }\n } catch { }\n }\n\n togglePassword() {\n this.platformUtilsService.eventTrack('Toggled Master Password on Login');\n this.showPassword = !this.showPassword;\n document.getElementById('masterPassword').focus();\n }\n\n async launchSsoBrowser(clientId: string, ssoRedirectUri: string) {\n // Generate necessary sso params\n const passwordOptions: any = {\n type: 'password',\n length: 64,\n uppercase: true,\n lowercase: true,\n numbers: true,\n special: false,\n };\n const state = await this.passwordGenerationService.generatePassword(passwordOptions);\n const ssoCodeVerifier = await this.passwordGenerationService.generatePassword(passwordOptions);\n const codeVerifierHash = await this.cryptoFunctionService.hash(ssoCodeVerifier, 'sha256');\n const codeChallenge = Utils.fromBufferToUrlB64(codeVerifierHash);\n\n // Save sso params\n await this.storageService.save(ConstantsService.ssoStateKey, state);\n await this.storageService.save(ConstantsService.ssoCodeVerifierKey, ssoCodeVerifier);\n\n // Build URI\n const webUrl = this.environmentService.getWebVaultUrl() == null ? 'https://vault.bitwarden.com' :\n this.environmentService.getWebVaultUrl();\n\n // Launch browser\n this.platformUtilsService.launchUri(webUrl + '/#/sso?clientId=' + clientId +\n '&redirectUri=' + encodeURIComponent(ssoRedirectUri) +\n '&state=' + state + '&codeChallenge=' + codeChallenge);\n }\n}\n","export class DeleteRecoverRequest {\n email: string;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class TwoFactorRecoveryRequest extends PasswordVerificationRequest {\n recoveryCode: string;\n email: string;\n}\n","import { Router } from '@angular/router';\n\nimport { KeysRequest } from '../../models/request/keysRequest';\nimport { ReferenceEventRequest } from '../../models/request/referenceEventRequest';\nimport { RegisterRequest } from '../../models/request/registerRequest';\n\nimport { ApiService } from '../../abstractions/api.service';\nimport { AuthService } from '../../abstractions/auth.service';\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { StateService } from '../../abstractions/state.service';\n\nimport { KdfType } from '../../enums/kdfType';\n\nexport class RegisterComponent {\n name: string = '';\n email: string = '';\n masterPassword: string = '';\n confirmMasterPassword: string = '';\n hint: string = '';\n showPassword: boolean = false;\n formPromise: Promise;\n masterPasswordScore: number;\n referenceData: ReferenceEventRequest;\n showTerms = true;\n acceptPolicies: boolean = false;\n\n protected successRoute = 'login';\n private masterPasswordStrengthTimeout: any;\n\n constructor(protected authService: AuthService, protected router: Router,\n protected i18nService: I18nService, protected cryptoService: CryptoService,\n protected apiService: ApiService, protected stateService: StateService,\n protected platformUtilsService: PlatformUtilsService,\n protected passwordGenerationService: PasswordGenerationService) {\n this.showTerms = !platformUtilsService.isSelfHost();\n }\n\n get masterPasswordScoreWidth() {\n return this.masterPasswordScore == null ? 0 : (this.masterPasswordScore + 1) * 20;\n }\n\n get masterPasswordScoreColor() {\n switch (this.masterPasswordScore) {\n case 4:\n return 'success';\n case 3:\n return 'primary';\n case 2:\n return 'warning';\n default:\n return 'danger';\n }\n }\n\n get masterPasswordScoreText() {\n switch (this.masterPasswordScore) {\n case 4:\n return this.i18nService.t('strong');\n case 3:\n return this.i18nService.t('good');\n case 2:\n return this.i18nService.t('weak');\n default:\n return this.masterPasswordScore != null ? this.i18nService.t('weak') : null;\n }\n }\n\n async submit() {\n if (!this.acceptPolicies && this.showTerms) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('acceptPoliciesError'));\n return;\n }\n\n if (this.email == null || this.email === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('emailRequired'));\n return;\n }\n if (this.email.indexOf('@') === -1) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidEmail'));\n return;\n }\n if (this.masterPassword == null || this.masterPassword === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassRequired'));\n return;\n }\n if (this.masterPassword.length < 8) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassLength'));\n return;\n }\n if (this.masterPassword !== this.confirmMasterPassword) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('masterPassDoesntMatch'));\n return;\n }\n\n const strengthResult = this.passwordGenerationService.passwordStrength(this.masterPassword,\n this.getPasswordStrengthUserInput());\n if (strengthResult != null && strengthResult.score < 3) {\n const result = await this.platformUtilsService.showDialog(this.i18nService.t('weakMasterPasswordDesc'),\n this.i18nService.t('weakMasterPassword'), this.i18nService.t('yes'), this.i18nService.t('no'),\n 'warning');\n if (!result) {\n return;\n }\n }\n\n if (this.hint === this.masterPassword) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'), this.i18nService.t('hintEqualsPassword'));\n return;\n }\n\n this.name = this.name === '' ? null : this.name;\n this.email = this.email.trim().toLowerCase();\n const kdf = KdfType.PBKDF2_SHA256;\n const useLowerKdf = this.platformUtilsService.isIE();\n const kdfIterations = useLowerKdf ? 10000 : 100000;\n const key = await this.cryptoService.makeKey(this.masterPassword, this.email, kdf, kdfIterations);\n const encKey = await this.cryptoService.makeEncKey(key);\n const hashedPassword = await this.cryptoService.hashPassword(this.masterPassword, key);\n const keys = await this.cryptoService.makeKeyPair(encKey[0]);\n const request = new RegisterRequest(this.email, this.name, hashedPassword,\n this.hint, encKey[1].encryptedString, kdf, kdfIterations, this.referenceData);\n request.keys = new KeysRequest(keys[0], keys[1].encryptedString);\n const orgInvite = await this.stateService.get('orgInvitation');\n if (orgInvite != null && orgInvite.token != null && orgInvite.organizationUserId != null) {\n request.token = orgInvite.token;\n request.organizationUserId = orgInvite.organizationUserId;\n }\n\n try {\n this.formPromise = this.apiService.postRegister(request);\n await this.formPromise;\n this.platformUtilsService.eventTrack('Registered');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('newAccountCreated'));\n this.router.navigate([this.successRoute], { queryParams: { email: this.email } });\n } catch { }\n }\n\n togglePassword(confirmField: boolean) {\n this.platformUtilsService.eventTrack('Toggled Master Password on Register');\n this.showPassword = !this.showPassword;\n document.getElementById(confirmField ? 'masterPasswordRetype' : 'masterPassword').focus();\n }\n\n updatePasswordStrength() {\n if (this.masterPasswordStrengthTimeout != null) {\n clearTimeout(this.masterPasswordStrengthTimeout);\n }\n this.masterPasswordStrengthTimeout = setTimeout(() => {\n const strengthResult = this.passwordGenerationService.passwordStrength(this.masterPassword,\n this.getPasswordStrengthUserInput());\n this.masterPasswordScore = strengthResult == null ? null : strengthResult.score;\n }, 300);\n }\n\n private getPasswordStrengthUserInput() {\n let userInput: string[] = [];\n const atPosition = this.email.indexOf('@');\n if (atPosition > -1) {\n userInput = userInput.concat(this.email.substr(0, atPosition).trim().toLowerCase().split(/[^A-Za-z0-9]/));\n }\n if (this.name != null && this.name !== '') {\n userInput = userInput.concat(this.name.trim().toLowerCase().split(' '));\n }\n return userInput;\n }\n}\n","import { KeysRequest } from './keysRequest';\nimport { ReferenceEventRequest } from './referenceEventRequest';\n\nimport { KdfType } from '../../enums/kdfType';\n\nexport class RegisterRequest {\n name: string;\n email: string;\n masterPasswordHash: string;\n masterPasswordHint: string;\n key: string;\n keys: KeysRequest;\n token: string;\n organizationUserId: string;\n kdf: KdfType;\n kdfIterations: number;\n referenceData: ReferenceEventRequest;\n\n constructor(email: string, name: string, masterPasswordHash: string, masterPasswordHint: string, key: string,\n kdf: KdfType, kdfIterations: number, referenceData: ReferenceEventRequest) {\n this.name = name;\n this.email = email;\n this.masterPasswordHash = masterPasswordHash;\n this.masterPasswordHint = masterPasswordHint ? masterPasswordHint : null;\n this.key = key;\n this.kdf = kdf;\n this.kdfIterations = kdfIterations;\n this.referenceData = referenceData;\n }\n}\n","export class ReferenceEventRequest {\n id: string;\n layout: string;\n flow: string;\n}\n","import {\n ActivatedRoute,\n Router\n} from '@angular/router';\n\nimport { ApiService } from '../../abstractions/api.service';\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { MessagingService } from '../../abstractions/messaging.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { PolicyService } from '../../abstractions/policy.service';\nimport { SyncService } from '../../abstractions/sync.service';\nimport { UserService } from '../../abstractions/user.service';\n\nimport { CipherString } from '../../models/domain/cipherString';\nimport { SymmetricCryptoKey } from '../../models/domain/symmetricCryptoKey';\n\nimport { KeysRequest } from '../../models/request/keysRequest';\nimport { SetPasswordRequest } from '../../models/request/setPasswordRequest';\n\nimport { ChangePasswordComponent as BaseChangePasswordComponent } from './change-password.component';\n\nimport { KdfType } from '../../enums/kdfType';\n\nexport class SetPasswordComponent extends BaseChangePasswordComponent {\n syncLoading: boolean = true;\n showPassword: boolean = false;\n hint: string = '';\n identifier: string = null;\n\n onSuccessfulChangePassword: () => Promise;\n successRoute = 'vault';\n\n constructor(i18nService: I18nService, cryptoService: CryptoService, messagingService: MessagingService,\n userService: UserService, passwordGenerationService: PasswordGenerationService,\n platformUtilsService: PlatformUtilsService, policyService: PolicyService, private router: Router,\n private apiService: ApiService, private syncService: SyncService, private route: ActivatedRoute) {\n super(i18nService, cryptoService, messagingService, userService, passwordGenerationService,\n platformUtilsService, policyService);\n }\n\n async ngOnInit() {\n await this.syncService.fullSync(true);\n this.syncLoading = false;\n\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.identifier != null) {\n this.identifier = qParams.identifier;\n }\n\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n\n super.ngOnInit();\n }\n\n async setupSubmitActions() {\n this.kdf = KdfType.PBKDF2_SHA256;\n const useLowerKdf = this.platformUtilsService.isIE();\n this.kdfIterations = useLowerKdf ? 10000 : 100000;\n return true;\n }\n\n async performSubmitActions(masterPasswordHash: string, key: SymmetricCryptoKey,\n encKey: [SymmetricCryptoKey, CipherString]) {\n const request = new SetPasswordRequest();\n request.masterPasswordHash = masterPasswordHash;\n request.key = encKey[1].encryptedString;\n request.masterPasswordHint = this.hint;\n request.kdf = this.kdf;\n request.kdfIterations = this.kdfIterations;\n request.orgIdentifier = this.identifier;\n\n const keys = await this.cryptoService.makeKeyPair(encKey[0]);\n request.keys = new KeysRequest(keys[0], keys[1].encryptedString);\n\n try {\n this.formPromise = this.apiService.setPassword(request);\n await this.formPromise;\n\n await this.userService.setInformation(await this.userService.getUserId(), await this.userService.getEmail(),\n this.kdf, this.kdfIterations);\n await this.cryptoService.setKey(key);\n await this.cryptoService.setKeyHash(masterPasswordHash);\n await this.cryptoService.setEncKey(encKey[1].encryptedString);\n await this.cryptoService.setEncPrivateKey(keys[1].encryptedString);\n\n if (this.onSuccessfulChangePassword != null) {\n this.onSuccessfulChangePassword();\n } else {\n this.router.navigate([this.successRoute]);\n }\n } catch {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n }\n }\n\n togglePassword(confirmField: boolean) {\n this.platformUtilsService.eventTrack('Toggled Master Password on Set Password');\n this.showPassword = !this.showPassword;\n document.getElementById(confirmField ? 'masterPasswordRetype' : 'masterPassword').focus();\n }\n}\n","import { KeysRequest } from './keysRequest';\n\nimport { KdfType } from '../../enums/kdfType';\n\nexport class SetPasswordRequest {\n masterPasswordHash: string;\n key: string;\n masterPasswordHint: string;\n keys: KeysRequest;\n kdf: KdfType;\n kdfIterations: number;\n orgIdentifier: string;\n}\n","import {\n Directive,\n EventEmitter,\n OnInit,\n Output,\n} from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nimport { AuthService } from '../../abstractions/auth.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\n@Directive()\nexport class TwoFactorOptionsComponent implements OnInit {\n @Output() onProviderSelected = new EventEmitter();\n @Output() onRecoverSelected = new EventEmitter();\n\n providers: any[] = [];\n\n constructor(protected authService: AuthService, protected router: Router,\n protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,\n protected win: Window) { }\n\n ngOnInit() {\n this.providers = this.authService.getSupportedTwoFactorProviders(this.win);\n }\n\n choose(p: any) {\n this.onProviderSelected.emit(p.type);\n }\n\n recover() {\n this.platformUtilsService.eventTrack('Selected Recover');\n this.platformUtilsService.launchUri('https://help.bitwarden.com/article/lost-two-step-device/');\n this.onRecoverSelected.emit();\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n EventEmitter,\n OnDestroy,\n Output,\n Type,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { MessagingService } from '../../abstractions/messaging.service';\n\n@Component({\n selector: 'app-modal',\n template: ``,\n})\nexport class ModalComponent implements OnDestroy {\n @Output() onClose = new EventEmitter();\n @Output() onClosed = new EventEmitter();\n @Output() onShow = new EventEmitter();\n @Output() onShown = new EventEmitter();\n @ViewChild('container', { read: ViewContainerRef, static: true }) container: ViewContainerRef;\n parentContainer: ViewContainerRef = null;\n fade: boolean = true;\n\n constructor(protected componentFactoryResolver: ComponentFactoryResolver,\n protected messagingService: MessagingService) { }\n\n ngOnDestroy() {\n document.body.classList.remove('modal-open');\n document.body.removeChild(document.querySelector('.modal-backdrop'));\n }\n\n show(type: Type, parentContainer: ViewContainerRef, fade: boolean = true,\n setComponentParameters: (component: T) => void = null): T {\n this.onShow.emit();\n this.messagingService.send('modalShow');\n this.parentContainer = parentContainer;\n this.fade = fade;\n\n document.body.classList.add('modal-open');\n const backdrop = document.createElement('div');\n backdrop.className = 'modal-backdrop' + (this.fade ? ' fade' : '');\n document.body.appendChild(backdrop);\n\n const factory = this.componentFactoryResolver.resolveComponentFactory(type);\n const componentRef = this.container.createComponent(factory);\n if (setComponentParameters != null) {\n setComponentParameters(componentRef.instance);\n }\n\n document.querySelector('.modal-dialog').addEventListener('click', (e: Event) => {\n e.stopPropagation();\n });\n\n const modals = Array.from(document.querySelectorAll('.modal, .modal *[data-dismiss=\"modal\"]'));\n for (const closeElement of modals) {\n closeElement.addEventListener('click', (event) => {\n this.close();\n });\n }\n\n this.onShown.emit();\n this.messagingService.send('modalShown');\n return componentRef.instance;\n }\n\n close() {\n this.onClose.emit();\n this.messagingService.send('modalClose');\n this.onClosed.emit();\n this.messagingService.send('modalClosed');\n if (this.parentContainer != null) {\n this.parentContainer.clear();\n }\n }\n}\n","import {\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport {\n ActivatedRoute,\n Router,\n} from '@angular/router';\n\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nimport { TwoFactorEmailRequest } from '../../models/request/twoFactorEmailRequest';\n\nimport { AuthResult } from '../../models/domain';\n\nimport { ApiService } from '../../abstractions/api.service';\nimport { AuthService } from '../../abstractions/auth.service';\nimport { EnvironmentService } from '../../abstractions/environment.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { StateService } from '../../abstractions/state.service';\nimport { StorageService } from '../../abstractions/storage.service';\n\nimport { TwoFactorProviders } from '../../services/auth.service';\nimport { ConstantsService } from '../../services/constants.service';\n\nimport * as DuoWebSDK from 'duo_web_sdk';\nimport { U2f } from '../../misc/u2f';\n\nexport class TwoFactorComponent implements OnInit, OnDestroy {\n token: string = '';\n remember: boolean = false;\n u2fReady: boolean = false;\n initU2f: boolean = true;\n providers = TwoFactorProviders;\n providerType = TwoFactorProviderType;\n selectedProviderType: TwoFactorProviderType = TwoFactorProviderType.Authenticator;\n u2fSupported: boolean = false;\n u2f: U2f = null;\n title: string = '';\n twoFactorEmail: string = null;\n formPromise: Promise;\n emailPromise: Promise;\n identifier: string = null;\n onSuccessfulLogin: () => Promise;\n onSuccessfulLoginNavigate: () => Promise;\n\n protected loginRoute = 'login';\n protected successRoute = 'vault';\n\n constructor(protected authService: AuthService, protected router: Router,\n protected i18nService: I18nService, protected apiService: ApiService,\n protected platformUtilsService: PlatformUtilsService, protected win: Window,\n protected environmentService: EnvironmentService, protected stateService: StateService,\n protected storageService: StorageService, protected route: ActivatedRoute) {\n this.u2fSupported = this.platformUtilsService.supportsU2f(win);\n }\n\n async ngOnInit() {\n if (!this.authing || this.authService.twoFactorProvidersData == null) {\n this.router.navigate([this.loginRoute]);\n return;\n }\n\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\n if (qParams.identifier != null) {\n this.identifier = qParams.identifier;\n }\n\n if (queryParamsSub != null) {\n queryParamsSub.unsubscribe();\n }\n });\n\n if (this.needsLock) {\n this.successRoute = 'lock';\n }\n\n if (this.initU2f && this.win != null && this.u2fSupported) {\n let customWebVaultUrl: string = null;\n if (this.environmentService.baseUrl != null) {\n customWebVaultUrl = this.environmentService.baseUrl;\n } else if (this.environmentService.webVaultUrl != null) {\n customWebVaultUrl = this.environmentService.webVaultUrl;\n }\n\n this.u2f = new U2f(this.win, customWebVaultUrl, (token: string) => {\n this.token = token;\n this.submit();\n }, (error: string) => {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'), error);\n }, (info: string) => {\n if (info === 'ready') {\n this.u2fReady = true;\n }\n });\n }\n\n this.selectedProviderType = this.authService.getDefaultTwoFactorProvider(this.u2fSupported);\n await this.init();\n }\n\n ngOnDestroy(): void {\n this.cleanupU2f();\n this.u2f = null;\n }\n\n async init() {\n if (this.selectedProviderType == null) {\n this.title = this.i18nService.t('loginUnavailable');\n return;\n }\n\n this.cleanupU2f();\n this.title = (TwoFactorProviders as any)[this.selectedProviderType].name;\n const providerData = this.authService.twoFactorProvidersData.get(this.selectedProviderType);\n switch (this.selectedProviderType) {\n case TwoFactorProviderType.U2f:\n if (!this.u2fSupported || this.u2f == null) {\n break;\n }\n\n if (providerData.Challenge != null) {\n setTimeout(() => {\n this.u2f.init(JSON.parse(providerData.Challenge));\n }, 500);\n } else {\n // TODO: Deprecated. Remove in future version.\n const challenges = JSON.parse(providerData.Challenges);\n if (challenges != null && challenges.length > 0) {\n this.u2f.init({\n appId: challenges[0].appId,\n challenge: challenges[0].challenge,\n keys: challenges.map((c: any) => {\n return {\n version: c.version,\n keyHandle: c.keyHandle,\n };\n }),\n });\n }\n }\n break;\n case TwoFactorProviderType.Duo:\n case TwoFactorProviderType.OrganizationDuo:\n setTimeout(() => {\n DuoWebSDK.init({\n iframe: undefined,\n host: providerData.Host,\n sig_request: providerData.Signature,\n submit_callback: async (f: HTMLFormElement) => {\n const sig = f.querySelector('input[name=\"sig_response\"]') as HTMLInputElement;\n if (sig != null) {\n this.token = sig.value;\n await this.submit();\n }\n },\n });\n }, 0);\n break;\n case TwoFactorProviderType.Email:\n this.twoFactorEmail = providerData.Email;\n if (this.authService.twoFactorProvidersData.size > 1) {\n await this.sendEmail(false);\n }\n break;\n default:\n break;\n }\n }\n\n async submit() {\n if (this.token == null || this.token === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('verificationCodeRequired'));\n return;\n }\n\n if (this.selectedProviderType === TwoFactorProviderType.U2f) {\n if (this.u2f != null) {\n this.u2f.stop();\n } else {\n return;\n }\n } else if (this.selectedProviderType === TwoFactorProviderType.Email ||\n this.selectedProviderType === TwoFactorProviderType.Authenticator) {\n this.token = this.token.replace(' ', '').trim();\n }\n\n try {\n this.formPromise = this.authService.logInTwoFactor(this.selectedProviderType, this.token, this.remember);\n const response: AuthResult = await this.formPromise;\n const disableFavicon = await this.storageService.get(ConstantsService.disableFaviconKey);\n await this.stateService.save(ConstantsService.disableFaviconKey, !!disableFavicon);\n if (this.onSuccessfulLogin != null) {\n this.onSuccessfulLogin();\n }\n this.platformUtilsService.eventTrack('Logged In From Two-step');\n if (response.resetMasterPassword) {\n this.successRoute = 'set-password';\n }\n if (this.onSuccessfulLoginNavigate != null) {\n this.onSuccessfulLoginNavigate();\n } else {\n this.router.navigate([this.successRoute], {\n queryParams: {\n identifier: this.identifier,\n },\n });\n }\n } catch {\n if (this.selectedProviderType === TwoFactorProviderType.U2f && this.u2f != null) {\n this.u2f.start();\n }\n }\n }\n\n async sendEmail(doToast: boolean) {\n if (this.selectedProviderType !== TwoFactorProviderType.Email) {\n return;\n }\n\n if (this.emailPromise != null) {\n return;\n }\n\n try {\n const request = new TwoFactorEmailRequest(this.authService.email, this.authService.masterPasswordHash);\n this.emailPromise = this.apiService.postTwoFactorEmail(request);\n await this.emailPromise;\n if (doToast) {\n this.platformUtilsService.showToast('success', null,\n this.i18nService.t('verificationCodeEmailSent', this.twoFactorEmail));\n }\n } catch { }\n\n this.emailPromise = null;\n }\n\n private cleanupU2f() {\n if (this.u2f != null) {\n this.u2f.stop();\n this.u2f.cleanup();\n }\n }\n\n get authing(): boolean {\n return this.authService.authingWithPassword() || this.authService.authingWithSso() || this.authService.authingWithApiKey();\n }\n\n get needsLock(): boolean {\n return this.authService.authingWithSso() || this.authService.authingWithApiKey();\n }\n}\n","import { DeviceType } from '../../enums/deviceType';\n\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nexport class DeviceRequest {\n type: DeviceType;\n name: string;\n identifier: string;\n pushToken?: string;\n\n constructor(appId: string, platformUtilsService: PlatformUtilsService) {\n this.type = platformUtilsService.getDevice();\n this.name = platformUtilsService.getDeviceString();\n this.identifier = appId;\n this.pushToken = null;\n }\n}\n","export class PreloginRequest {\n email: string;\n\n constructor(email: string) {\n this.email = email;\n }\n}\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nimport { DeviceRequest } from './deviceRequest';\n\nexport class TokenRequest {\n email: string;\n masterPasswordHash: string;\n code: string;\n codeVerifier: string;\n redirectUri: string;\n clientId: string;\n clientSecret: string;\n token: string;\n provider: TwoFactorProviderType;\n remember: boolean;\n device?: DeviceRequest;\n\n constructor(credentials: string[], codes: string[], clientIdClientSecret: string[], provider: TwoFactorProviderType,\n token: string, remember: boolean, device?: DeviceRequest) {\n if (credentials != null && credentials.length > 1) {\n this.email = credentials[0];\n this.masterPasswordHash = credentials[1];\n } else if (codes != null && codes.length > 2) {\n this.code = codes[0];\n this.codeVerifier = codes[1];\n this.redirectUri = codes[2];\n } else if (clientIdClientSecret != null && clientIdClientSecret.length > 1) {\n this.clientId = clientIdClientSecret[0];\n this.clientSecret = clientIdClientSecret[1];\n }\n this.token = token;\n this.provider = provider;\n this.remember = remember;\n this.device = device != null ? device : null;\n }\n\n toIdentityToken(clientId: string) {\n const obj: any = {\n scope: 'api offline_access',\n client_id: clientId,\n };\n\n if (this.clientSecret != null) {\n obj.scope = 'api';\n obj.grant_type = 'client_credentials';\n obj.client_secret = this.clientSecret;\n } else if (this.masterPasswordHash != null && this.email != null) {\n obj.grant_type = 'password';\n obj.username = this.email;\n obj.password = this.masterPasswordHash;\n } else if (this.code != null && this.codeVerifier != null && this.redirectUri != null) {\n obj.grant_type = 'authorization_code';\n obj.code = this.code;\n obj.code_verifier = this.codeVerifier;\n obj.redirect_uri = this.redirectUri;\n } else {\n throw new Error('must provide credentials or codes');\n }\n\n if (this.device) {\n obj.deviceType = this.device.type;\n obj.deviceIdentifier = this.device.identifier;\n obj.deviceName = this.device.name;\n // no push tokens for browser apps yet\n // obj.devicePushToken = this.device.pushToken;\n }\n\n if (this.token && this.provider != null) {\n obj.twoFactorToken = this.token;\n obj.twoFactorProvider = this.provider;\n obj.twoFactorRemember = this.remember ? '1' : '0';\n }\n\n return obj;\n }\n}\n","export class U2f {\n private iframe: HTMLIFrameElement = null;\n private connectorLink: HTMLAnchorElement;\n private parseFunction = this.parseMessage.bind(this);\n\n constructor(private win: Window, private webVaultUrl: string, private successCallback: Function,\n private errorCallback: Function, private infoCallback: Function) {\n this.connectorLink = win.document.createElement('a');\n this.webVaultUrl = webVaultUrl != null && webVaultUrl !== '' ? webVaultUrl : 'https://vault.bitwarden.com';\n }\n\n init(data: any): void {\n this.connectorLink.href = this.webVaultUrl + '/u2f-connector.html' +\n '?data=' + this.base64Encode(JSON.stringify(data)) +\n '&parent=' + encodeURIComponent(this.win.document.location.href) +\n '&v=1';\n\n this.iframe = this.win.document.getElementById('u2f_iframe') as HTMLIFrameElement;\n this.iframe.src = this.connectorLink.href;\n\n this.win.addEventListener('message', this.parseFunction, false);\n }\n\n stop() {\n this.sendMessage('stop');\n }\n\n start() {\n this.sendMessage('start');\n }\n\n sendMessage(message: any) {\n if (!this.iframe || !this.iframe.src || !this.iframe.contentWindow) {\n return;\n }\n\n this.iframe.contentWindow.postMessage(message, this.iframe.src);\n }\n\n base64Encode(str: string): string {\n return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (match, p1) => {\n return String.fromCharCode(('0x' + p1) as any);\n }));\n }\n\n cleanup() {\n this.win.removeEventListener('message', this.parseFunction, false);\n }\n\n private parseMessage(event: MessageEvent) {\n if (!this.validMessage(event)) {\n return;\n }\n\n const parts: string[] = event.data.split('|');\n if (parts[0] === 'success' && this.successCallback) {\n this.successCallback(parts[1]);\n } else if (parts[0] === 'error' && this.errorCallback) {\n this.errorCallback(parts[1]);\n } else if (parts[0] === 'info' && this.infoCallback) {\n this.infoCallback(parts[1]);\n }\n }\n\n private validMessage(event: MessageEvent) {\n if (event.origin == null || event.origin === '' || event.origin !== (this.connectorLink as any).origin ||\n event.data == null || typeof (event.data) !== 'string') {\n return false;\n }\n\n return event.data.indexOf('success|') === 0 || event.data.indexOf('error|') === 0 ||\n event.data.indexOf('info|') === 0;\n }\n}\n","export class VerifyEmailRequest {\n userId: string;\n token: string;\n\n constructor(userId: string, token: string) {\n this.userId = userId;\n this.token = token;\n }\n}\n","export class VerifyDeleteRecoverRequest {\n userId: string;\n token: string;\n\n constructor(userId: string, token: string) {\n this.userId = userId;\n this.token = token;\n }\n}\n","import { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nexport class GroupRequest {\n name: string;\n accessAll: boolean;\n externalId: string;\n collections: SelectionReadOnlyRequest[] = [];\n}\n","import { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nimport { OrganizationUserType } from '../../enums/organizationUserType';\nimport { PermissionsApi } from '../api/permissionsApi';\n\nexport class OrganizationUserInviteRequest {\n emails: string[] = [];\n type: OrganizationUserType;\n accessAll: boolean;\n collections: SelectionReadOnlyRequest[] = [];\n permissions: PermissionsApi;\n}\n","import { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\n\nimport { OrganizationUserType } from '../../enums/organizationUserType';\nimport { PermissionsApi } from '../api/permissionsApi';\n\nexport class OrganizationUserUpdateRequest {\n type: OrganizationUserType;\n accessAll: boolean;\n collections: SelectionReadOnlyRequest[] = [];\n permissions: PermissionsApi;\n}\n","export class OrganizationUserUpdateGroupsRequest {\n groupIds: string[] = [];\n}\n","export abstract class AppIdService {\n getAppId: () => Promise;\n getAnonymousAppId: () => Promise;\n}\n","import { LogLevelType } from '../enums/logLevelType';\n\nexport abstract class LogService {\n debug: (message: string) => void;\n info: (message: string) => void;\n warning: (message: string) => void;\n error: (message: string) => void;\n write: (level: LogLevelType, message: string) => void;\n time: (label: string) => void;\n timeEnd: (label: string) => [number, number];\n}\n","import { PolicyType } from '../../enums/policyType';\n\nexport class PolicyRequest {\n type: PolicyType;\n enabled: boolean;\n data: any;\n}\n","export class OrganizationUpdateRequest {\n name: string;\n identifier: string;\n businessName: string;\n billingEmail: string;\n}\n","export enum TransactionType {\n Charge = 0,\n Credit = 1,\n PromotionalCredit = 2,\n ReferralCredit = 3,\n Refund = 4,\n}\n","export class VerifyBankRequest {\n amount1: number;\n amount2: number;\n}\n","export class BitPayInvoiceRequest {\n userId: string;\n organizationId: string;\n credit: boolean;\n amount: number;\n returnUrl: string;\n name: string;\n email: string;\n}\n","import { PaymentMethodType } from '../../enums/paymentMethodType';\nimport { OrganizationTaxInfoUpdateRequest } from '../request/organizationTaxInfoUpdateRequest';\n\nexport class PaymentRequest extends OrganizationTaxInfoUpdateRequest {\n paymentMethodType: PaymentMethodType;\n paymentToken: string;\n}\n","import { PaymentMethodType } from '../../enums/paymentMethodType';\nimport { PlanType } from '../../enums/planType';\n\nexport class OrganizationCreateRequest {\n name: string;\n businessName: string;\n billingEmail: string;\n planType: PlanType;\n key: string;\n paymentMethodType: PaymentMethodType;\n paymentToken: string;\n additionalSeats: number;\n additionalStorageGb: number;\n premiumAccessAddon: boolean;\n collectionName: string;\n taxIdNumber: string;\n billingAddressLine1: string;\n billingAddressLine2: string;\n billingAddressCity: string;\n billingAddressState: string;\n billingAddressPostalCode: string;\n billingAddressCountry: string;\n}\n","import { PlanType } from '../../enums/planType';\n\nexport class OrganizationUpgradeRequest {\n businessName: string;\n planType: PlanType;\n additionalSeats: number;\n additionalStorageGb: number;\n premiumAccessAddon: boolean;\n billingAddressCountry: string;\n billingAddressPostalCode: string;\n}\n","export class SeatRequest {\n seatAdjustment: number;\n}\n","export class StorageRequest {\n storageGbAdjustment: number;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorDuoRequest extends PasswordVerificationRequest {\n integrationKey: string;\n secretKey: string;\n host: string;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nexport class TwoFactorProviderRequest extends PasswordVerificationRequest {\n type: TwoFactorProviderType;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorAuthenticatorRequest extends PasswordVerificationRequest {\n token: string;\n key: string;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorEmailRequest extends PasswordVerificationRequest {\n token: string;\n email: string;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorU2fDeleteRequest extends PasswordVerificationRequest {\n id: number;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorU2fRequest extends PasswordVerificationRequest {\n deviceResponse: string;\n name: string;\n id: number;\n}\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\n\nexport class UpdateTwoFactorYubioOtpRequest extends PasswordVerificationRequest {\n key1: string;\n key2: string;\n key3: string;\n key4: string;\n key5: string;\n nfc: boolean;\n}\n","import {\n Directive,\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { EventService } from '../../abstractions/event.service';\nimport { ExportService } from '../../abstractions/export.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { EventType } from '../../enums/eventType';\n\n@Directive()\nexport class ExportComponent {\n @Output() onSaved = new EventEmitter();\n\n formPromise: Promise;\n masterPassword: string;\n format: 'json' | 'encrypted_json' | 'csv' = 'json';\n showPassword = false;\n\n constructor(protected cryptoService: CryptoService, protected i18nService: I18nService,\n protected platformUtilsService: PlatformUtilsService, protected exportService: ExportService,\n protected eventService: EventService, protected win: Window) { }\n\n get encryptedFormat() {\n return this.format === 'encrypted_json';\n }\n\n async submit() {\n if (this.masterPassword == null || this.masterPassword === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidMasterPassword'));\n return;\n }\n\n const acceptedWarning = await this.platformUtilsService.showDialog(\n this.i18nService.t(this.encryptedFormat ? 'encExportWarningDesc' : 'exportWarningDesc'),\n this.i18nService.t('confirmVaultExport'), this.i18nService.t('exportVault'),\n this.i18nService.t('cancel'), 'warning');\n\n if (!acceptedWarning) {\n return;\n }\n\n const keyHash = await this.cryptoService.hashPassword(this.masterPassword, null);\n const storedKeyHash = await this.cryptoService.getKeyHash();\n if (storedKeyHash != null && keyHash != null && storedKeyHash === keyHash) {\n try {\n this.formPromise = this.getExportData();\n const data = await this.formPromise;\n this.platformUtilsService.eventTrack('Exported Data');\n this.downloadFile(data);\n this.saved();\n await this.collectEvent();\n } catch { }\n } else {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('invalidMasterPassword'));\n }\n }\n\n togglePassword() {\n this.platformUtilsService.eventTrack('Toggled Master Password on Export');\n this.showPassword = !this.showPassword;\n document.getElementById('masterPassword').focus();\n }\n\n protected saved() {\n this.onSaved.emit();\n }\n\n protected getExportData() {\n return this.exportService.getExport(this.format);\n }\n\n protected getFileName(prefix?: string) {\n let extension = this.format;\n if (this.format === 'encrypted_json') {\n if (prefix == null) {\n prefix = 'encrypted';\n } else {\n prefix = 'encrypted_' + prefix;\n }\n extension = 'json';\n }\n return this.exportService.getFileName(prefix, extension);\n }\n\n protected async collectEvent(): Promise {\n await this.eventService.collect(EventType.User_ClientExportedVault);\n }\n\n private downloadFile(csv: string): void {\n const fileName = this.getFileName();\n this.platformUtilsService.saveFile(this.win, csv, { type: 'text/plain' }, fileName);\n }\n}\n","export class AttachmentRequest {\n fileName: string;\n key: string;\n}\n","import {\n CdkDragDrop,\n moveItemInArray,\n} from '@angular/cdk/drag-drop';\nimport {\n Directive,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { CipherType } from '../../enums/cipherType';\nimport { EventType } from '../../enums/eventType';\nimport { FieldType } from '../../enums/fieldType';\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { PolicyType } from '../../enums/policyType';\nimport { SecureNoteType } from '../../enums/secureNoteType';\nimport { UriMatchType } from '../../enums/uriMatchType';\n\nimport { AuditService } from '../../abstractions/audit.service';\nimport { CipherService } from '../../abstractions/cipher.service';\nimport { CollectionService } from '../../abstractions/collection.service';\nimport { EventService } from '../../abstractions/event.service';\nimport { FolderService } from '../../abstractions/folder.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { MessagingService } from '../../abstractions/messaging.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { PolicyService } from '../../abstractions/policy.service';\nimport { StateService } from '../../abstractions/state.service';\nimport { UserService } from '../../abstractions/user.service';\n\nimport { Cipher } from '../../models/domain/cipher';\n\nimport { CardView } from '../../models/view/cardView';\nimport { CipherView } from '../../models/view/cipherView';\nimport { CollectionView } from '../../models/view/collectionView';\nimport { FieldView } from '../../models/view/fieldView';\nimport { FolderView } from '../../models/view/folderView';\nimport { IdentityView } from '../../models/view/identityView';\nimport { LoginUriView } from '../../models/view/loginUriView';\nimport { LoginView } from '../../models/view/loginView';\nimport { SecureNoteView } from '../../models/view/secureNoteView';\n\nimport { Utils } from '../../misc/utils';\n\n@Directive()\nexport class AddEditComponent implements OnInit {\n @Input() cloneMode: boolean = false;\n @Input() folderId: string = null;\n @Input() cipherId: string;\n @Input() type: CipherType;\n @Input() collectionIds: string[];\n @Input() organizationId: string = null;\n @Output() onSavedCipher = new EventEmitter();\n @Output() onDeletedCipher = new EventEmitter();\n @Output() onRestoredCipher = new EventEmitter();\n @Output() onCancelled = new EventEmitter();\n @Output() onEditAttachments = new EventEmitter();\n @Output() onShareCipher = new EventEmitter();\n @Output() onEditCollections = new EventEmitter();\n @Output() onGeneratePassword = new EventEmitter();\n\n editMode: boolean = false;\n cipher: CipherView;\n folders: FolderView[];\n collections: CollectionView[] = [];\n title: string;\n formPromise: Promise;\n deletePromise: Promise;\n restorePromise: Promise;\n checkPasswordPromise: Promise;\n showPassword: boolean = false;\n showCardCode: boolean = false;\n cipherType = CipherType;\n fieldType = FieldType;\n addFieldType: FieldType = FieldType.Text;\n typeOptions: any[];\n cardBrandOptions: any[];\n cardExpMonthOptions: any[];\n identityTitleOptions: any[];\n addFieldTypeOptions: any[];\n uriMatchOptions: any[];\n ownershipOptions: any[] = [];\n currentDate = new Date();\n allowPersonal = true;\n\n protected writeableCollections: CollectionView[];\n private previousCipherId: string;\n\n constructor(protected cipherService: CipherService, protected folderService: FolderService,\n protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,\n protected auditService: AuditService, protected stateService: StateService,\n protected userService: UserService, protected collectionService: CollectionService,\n protected messagingService: MessagingService, protected eventService: EventService,\n protected policyService: PolicyService) {\n this.typeOptions = [\n { name: i18nService.t('typeLogin'), value: CipherType.Login },\n { name: i18nService.t('typeCard'), value: CipherType.Card },\n { name: i18nService.t('typeIdentity'), value: CipherType.Identity },\n { name: i18nService.t('typeSecureNote'), value: CipherType.SecureNote },\n ];\n this.cardBrandOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n { name: 'Visa', value: 'Visa' },\n { name: 'Mastercard', value: 'Mastercard' },\n { name: 'American Express', value: 'Amex' },\n { name: 'Discover', value: 'Discover' },\n { name: 'Diners Club', value: 'Diners Club' },\n { name: 'JCB', value: 'JCB' },\n { name: 'Maestro', value: 'Maestro' },\n { name: 'UnionPay', value: 'UnionPay' },\n { name: i18nService.t('other'), value: 'Other' },\n ];\n this.cardExpMonthOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n { name: '01 - ' + i18nService.t('january'), value: '1' },\n { name: '02 - ' + i18nService.t('february'), value: '2' },\n { name: '03 - ' + i18nService.t('march'), value: '3' },\n { name: '04 - ' + i18nService.t('april'), value: '4' },\n { name: '05 - ' + i18nService.t('may'), value: '5' },\n { name: '06 - ' + i18nService.t('june'), value: '6' },\n { name: '07 - ' + i18nService.t('july'), value: '7' },\n { name: '08 - ' + i18nService.t('august'), value: '8' },\n { name: '09 - ' + i18nService.t('september'), value: '9' },\n { name: '10 - ' + i18nService.t('october'), value: '10' },\n { name: '11 - ' + i18nService.t('november'), value: '11' },\n { name: '12 - ' + i18nService.t('december'), value: '12' },\n ];\n this.identityTitleOptions = [\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\n { name: i18nService.t('mr'), value: i18nService.t('mr') },\n { name: i18nService.t('mrs'), value: i18nService.t('mrs') },\n { name: i18nService.t('ms'), value: i18nService.t('ms') },\n { name: i18nService.t('dr'), value: i18nService.t('dr') },\n ];\n this.addFieldTypeOptions = [\n { name: i18nService.t('cfTypeText'), value: FieldType.Text },\n { name: i18nService.t('cfTypeHidden'), value: FieldType.Hidden },\n { name: i18nService.t('cfTypeBoolean'), value: FieldType.Boolean },\n ];\n this.uriMatchOptions = [\n { name: i18nService.t('defaultMatchDetection'), value: null },\n { name: i18nService.t('baseDomain'), value: UriMatchType.Domain },\n { name: i18nService.t('host'), value: UriMatchType.Host },\n { name: i18nService.t('startsWith'), value: UriMatchType.StartsWith },\n { name: i18nService.t('regEx'), value: UriMatchType.RegularExpression },\n { name: i18nService.t('exact'), value: UriMatchType.Exact },\n { name: i18nService.t('never'), value: UriMatchType.Never },\n ];\n }\n\n async ngOnInit() {\n await this.init();\n }\n\n async init() {\n const policies = await this.policyService.getAll(PolicyType.PersonalOwnership);\n const myEmail = await this.userService.getEmail();\n this.ownershipOptions.push({ name: myEmail, value: null });\n const orgs = await this.userService.getAllOrganizations();\n orgs.sort(Utils.getSortFunction(this.i18nService, 'name')).forEach((o) => {\n if (o.enabled && o.status === OrganizationUserStatusType.Confirmed) {\n this.ownershipOptions.push({ name: o.name, value: o.id });\n if (policies != null && o.usePolicies && !o.canManagePolicies && this.allowPersonal) {\n for (const policy of policies) {\n if (policy.organizationId === o.id && policy.enabled) {\n this.allowPersonal = false;\n this.ownershipOptions.splice(0, 1);\n // Default to the organization who owns this policy for now (if necessary)\n if (this.organizationId == null) {\n this.organizationId = o.id;\n }\n break;\n }\n }\n }\n }\n });\n this.writeableCollections = await this.loadCollections();\n }\n\n async load() {\n this.editMode = this.cipherId != null;\n if (this.editMode) {\n this.editMode = true;\n if (this.cloneMode) {\n this.cloneMode = true;\n this.title = this.i18nService.t('addItem');\n } else {\n this.title = this.i18nService.t('editItem');\n }\n } else {\n this.title = this.i18nService.t('addItem');\n }\n\n const addEditCipherInfo: any = await this.stateService.get('addEditCipherInfo');\n if (addEditCipherInfo != null) {\n this.cipher = addEditCipherInfo.cipher;\n this.collectionIds = addEditCipherInfo.collectionIds;\n }\n await this.stateService.remove('addEditCipherInfo');\n\n if (this.cipher == null) {\n if (this.editMode) {\n const cipher = await this.loadCipher();\n this.cipher = await cipher.decrypt();\n\n // Adjust Cipher Name if Cloning\n if (this.cloneMode) {\n this.cipher.name += ' - ' + this.i18nService.t('clone');\n // If not allowing personal ownership, update cipher's org Id to prompt downstream changes\n if (this.cipher.organizationId == null && !this.allowPersonal) {\n this.cipher.organizationId = this.organizationId;\n }\n }\n } else {\n this.cipher = new CipherView();\n this.cipher.organizationId = this.organizationId == null ? null : this.organizationId;\n this.cipher.folderId = this.folderId;\n this.cipher.type = this.type == null ? CipherType.Login : this.type;\n this.cipher.login = new LoginView();\n this.cipher.login.uris = [new LoginUriView()];\n this.cipher.card = new CardView();\n this.cipher.identity = new IdentityView();\n this.cipher.secureNote = new SecureNoteView();\n this.cipher.secureNote.type = SecureNoteType.Generic;\n }\n }\n\n if (this.cipher != null && (!this.editMode || addEditCipherInfo != null || this.cloneMode)) {\n await this.organizationChanged();\n if (this.collectionIds != null && this.collectionIds.length > 0 && this.collections.length > 0) {\n this.collections.forEach((c) => {\n if (this.collectionIds.indexOf(c.id) > -1) {\n (c as any).checked = true;\n }\n });\n }\n }\n\n this.folders = await this.folderService.getAllDecrypted();\n\n if (this.editMode && this.previousCipherId !== this.cipherId) {\n this.eventService.collect(EventType.Cipher_ClientViewed, this.cipherId);\n }\n this.previousCipherId = this.cipherId;\n }\n\n async submit(): Promise {\n if (this.cipher.isDeleted) {\n return this.restore();\n }\n\n if (this.cipher.name == null || this.cipher.name === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nameRequired'));\n return false;\n }\n\n if ((!this.editMode || this.cloneMode) && !this.allowPersonal && this.cipher.organizationId == null) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('personalOwnershipSubmitError'));\n return false;\n }\n\n if ((!this.editMode || this.cloneMode) && this.cipher.type === CipherType.Login &&\n this.cipher.login.uris != null && this.cipher.login.uris.length === 1 &&\n (this.cipher.login.uris[0].uri == null || this.cipher.login.uris[0].uri === '')) {\n this.cipher.login.uris = null;\n }\n\n // Allows saving of selected collections during \"Add\" and \"Clone\" flows\n if ((!this.editMode || this.cloneMode) && this.cipher.organizationId != null) {\n this.cipher.collectionIds = this.collections == null ? [] :\n this.collections.filter((c) => (c as any).checked).map((c) => c.id);\n }\n\n // Clear current Cipher Id to trigger \"Add\" cipher flow\n if (this.cloneMode) {\n this.cipher.id = null;\n }\n\n const cipher = await this.encryptCipher();\n try {\n this.formPromise = this.saveCipher(cipher);\n await this.formPromise;\n this.cipher.id = cipher.id;\n this.platformUtilsService.eventTrack(this.editMode && !this.cloneMode ? 'Edited Cipher' : 'Added Cipher');\n this.platformUtilsService.showToast('success', null,\n this.i18nService.t(this.editMode && !this.cloneMode ? 'editedItem' : 'addedItem'));\n this.onSavedCipher.emit(this.cipher);\n this.messagingService.send(this.editMode && !this.cloneMode ? 'editedCipher' : 'addedCipher');\n return true;\n } catch { }\n\n return false;\n }\n\n addUri() {\n if (this.cipher.type !== CipherType.Login) {\n return;\n }\n\n if (this.cipher.login.uris == null) {\n this.cipher.login.uris = [];\n }\n\n this.cipher.login.uris.push(new LoginUriView());\n }\n\n removeUri(uri: LoginUriView) {\n if (this.cipher.type !== CipherType.Login || this.cipher.login.uris == null) {\n return;\n }\n\n const i = this.cipher.login.uris.indexOf(uri);\n if (i > -1) {\n this.cipher.login.uris.splice(i, 1);\n }\n }\n\n addField() {\n if (this.cipher.fields == null) {\n this.cipher.fields = [];\n }\n\n const f = new FieldView();\n f.type = this.addFieldType;\n f.newField = true;\n this.cipher.fields.push(f);\n }\n\n removeField(field: FieldView) {\n const i = this.cipher.fields.indexOf(field);\n if (i > -1) {\n this.cipher.fields.splice(i, 1);\n }\n }\n\n trackByFunction(index: number, item: any) {\n return index;\n }\n\n cancel() {\n this.onCancelled.emit(this.cipher);\n }\n\n attachments() {\n this.onEditAttachments.emit(this.cipher);\n }\n\n share() {\n this.onShareCipher.emit(this.cipher);\n }\n\n editCollections() {\n this.onEditCollections.emit(this.cipher);\n }\n\n async delete(): Promise {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t(this.cipher.isDeleted ? 'permanentlyDeleteItemConfirmation' : 'deleteItemConfirmation'),\n this.i18nService.t('deleteItem'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.deletePromise = this.deleteCipher();\n await this.deletePromise;\n this.platformUtilsService.eventTrack((this.cipher.isDeleted ? 'Permanently ' : '') + 'Deleted Cipher');\n this.platformUtilsService.showToast('success', null,\n this.i18nService.t(this.cipher.isDeleted ? 'permanentlyDeletedItem' : 'deletedItem'));\n this.onDeletedCipher.emit(this.cipher);\n this.messagingService.send(this.cipher.isDeleted ? 'permanentlyDeletedCipher' : 'deletedCipher');\n } catch { }\n\n return true;\n }\n\n async restore(): Promise {\n if (!this.cipher.isDeleted) {\n return false;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('restoreItemConfirmation'), this.i18nService.t('restoreItem'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.restorePromise = this.restoreCipher();\n await this.restorePromise;\n this.platformUtilsService.eventTrack('Restored Cipher');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('restoredItem'));\n this.onRestoredCipher.emit(this.cipher);\n this.messagingService.send('restoredCipher');\n } catch { }\n\n return true;\n }\n\n async generatePassword(): Promise {\n if (this.cipher.login != null && this.cipher.login.password != null && this.cipher.login.password.length) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('overwritePasswordConfirmation'), this.i18nService.t('overwritePassword'),\n this.i18nService.t('yes'), this.i18nService.t('no'));\n if (!confirmed) {\n return false;\n }\n }\n\n this.onGeneratePassword.emit();\n return true;\n }\n\n togglePassword() {\n this.platformUtilsService.eventTrack('Toggled Password on Edit');\n this.showPassword = !this.showPassword;\n document.getElementById('loginPassword').focus();\n if (this.editMode && this.showPassword) {\n this.eventService.collect(EventType.Cipher_ClientToggledPasswordVisible, this.cipherId);\n }\n }\n\n toggleCardCode() {\n this.platformUtilsService.eventTrack('Toggled CardCode on Edit');\n this.showCardCode = !this.showCardCode;\n document.getElementById('cardCode').focus();\n if (this.editMode && this.showCardCode) {\n this.eventService.collect(EventType.Cipher_ClientToggledCardCodeVisible, this.cipherId);\n }\n }\n\n toggleFieldValue(field: FieldView) {\n const f = (field as any);\n f.showValue = !f.showValue;\n if (this.editMode && f.showValue) {\n this.eventService.collect(EventType.Cipher_ClientToggledHiddenFieldVisible, this.cipherId);\n }\n }\n\n toggleUriOptions(uri: LoginUriView) {\n const u = (uri as any);\n u.showOptions = u.showOptions == null && uri.match != null ? false : !u.showOptions;\n }\n\n loginUriMatchChanged(uri: LoginUriView) {\n const u = (uri as any);\n u.showOptions = u.showOptions == null ? true : u.showOptions;\n }\n\n drop(event: CdkDragDrop) {\n moveItemInArray(this.cipher.fields, event.previousIndex, event.currentIndex);\n }\n\n async organizationChanged() {\n if (this.writeableCollections != null) {\n this.writeableCollections.forEach((c) => (c as any).checked = false);\n }\n if (this.cipher.organizationId != null) {\n this.collections = this.writeableCollections.filter((c) => c.organizationId === this.cipher.organizationId);\n const org = await this.userService.getOrganization(this.cipher.organizationId);\n if (org != null) {\n this.cipher.organizationUseTotp = org.useTotp;\n }\n } else {\n this.collections = [];\n }\n }\n\n async checkPassword() {\n if (this.checkPasswordPromise != null) {\n return;\n }\n\n if (this.cipher.login == null || this.cipher.login.password == null || this.cipher.login.password === '') {\n return;\n }\n\n this.platformUtilsService.eventTrack('Check Password');\n this.checkPasswordPromise = this.auditService.passwordLeaked(this.cipher.login.password);\n const matches = await this.checkPasswordPromise;\n this.checkPasswordPromise = null;\n\n if (matches > 0) {\n this.platformUtilsService.showToast('warning', null,\n this.i18nService.t('passwordExposed', matches.toString()));\n } else {\n this.platformUtilsService.showToast('success', null, this.i18nService.t('passwordSafe'));\n }\n }\n\n protected async loadCollections() {\n const allCollections = await this.collectionService.getAllDecrypted();\n return allCollections.filter((c) => !c.readOnly);\n }\n\n protected loadCipher() {\n return this.cipherService.get(this.cipherId);\n }\n\n protected encryptCipher() {\n return this.cipherService.encrypt(this.cipher);\n }\n\n protected saveCipher(cipher: Cipher) {\n return this.cipherService.saveWithServer(cipher);\n }\n\n protected deleteCipher() {\n return this.cipher.isDeleted ? this.cipherService.deleteWithServer(this.cipher.id)\n : this.cipherService.softDeleteWithServer(this.cipher.id);\n }\n\n protected restoreCipher() {\n return this.cipherService.restoreWithServer(this.cipher.id);\n }\n}\n","import {\n Directive,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { CipherService } from '../../abstractions/cipher.service';\nimport { CryptoService } from '../../abstractions/crypto.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { UserService } from '../../abstractions/user.service';\n\nimport { Cipher } from '../../models/domain/cipher';\n\nimport { AttachmentView } from '../../models/view/attachmentView';\nimport { CipherView } from '../../models/view/cipherView';\n\n@Directive()\nexport class AttachmentsComponent implements OnInit {\n @Input() cipherId: string;\n @Output() onUploadedAttachment = new EventEmitter();\n @Output() onDeletedAttachment = new EventEmitter();\n @Output() onReuploadedAttachment = new EventEmitter();\n\n cipher: CipherView;\n cipherDomain: Cipher;\n hasUpdatedKey: boolean;\n canAccessAttachments: boolean;\n formPromise: Promise;\n deletePromises: { [id: string]: Promise; } = {};\n reuploadPromises: { [id: string]: Promise; } = {};\n\n constructor(protected cipherService: CipherService, protected i18nService: I18nService,\n protected cryptoService: CryptoService, protected userService: UserService,\n protected platformUtilsService: PlatformUtilsService, protected win: Window) { }\n\n async ngOnInit() {\n await this.init();\n }\n\n async submit() {\n if (!this.hasUpdatedKey) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('updateKey'));\n return;\n }\n\n const fileEl = document.getElementById('file') as HTMLInputElement;\n const files = fileEl.files;\n if (files == null || files.length === 0) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectFile'));\n return;\n }\n\n if (files[0].size > 104857600) { // 100 MB\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('maxFileSize'));\n return;\n }\n\n try {\n this.formPromise = this.saveCipherAttachment(files[0]);\n this.cipherDomain = await this.formPromise;\n this.cipher = await this.cipherDomain.decrypt();\n this.platformUtilsService.eventTrack('Added Attachment');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('attachmentSaved'));\n this.onUploadedAttachment.emit();\n } catch { }\n\n // reset file input\n // ref: https://stackoverflow.com/a/20552042\n fileEl.type = '';\n fileEl.type = 'file';\n fileEl.value = '';\n }\n\n async delete(attachment: AttachmentView) {\n if (this.deletePromises[attachment.id] != null) {\n return;\n }\n\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteAttachmentConfirmation'), this.i18nService.t('deleteAttachment'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return;\n }\n\n try {\n this.deletePromises[attachment.id] = this.deleteCipherAttachment(attachment.id);\n await this.deletePromises[attachment.id];\n this.platformUtilsService.eventTrack('Deleted Attachment');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('deletedAttachment'));\n const i = this.cipher.attachments.indexOf(attachment);\n if (i > -1) {\n this.cipher.attachments.splice(i, 1);\n }\n } catch { }\n\n this.deletePromises[attachment.id] = null;\n this.onDeletedAttachment.emit();\n }\n\n async download(attachment: AttachmentView) {\n const a = (attachment as any);\n if (a.downloading) {\n return;\n }\n\n if (!this.canAccessAttachments) {\n this.platformUtilsService.showToast('error', this.i18nService.t('premiumRequired'),\n this.i18nService.t('premiumRequiredDesc'));\n return;\n }\n\n a.downloading = true;\n const response = await fetch(new Request(attachment.url, { cache: 'no-store' }));\n if (response.status !== 200) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n a.downloading = false;\n return;\n }\n\n try {\n const buf = await response.arrayBuffer();\n const key = attachment.key != null ? attachment.key :\n await this.cryptoService.getOrgKey(this.cipher.organizationId);\n const decBuf = await this.cryptoService.decryptFromBytes(buf, key);\n this.platformUtilsService.saveFile(this.win, decBuf, null, attachment.fileName);\n } catch (e) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n }\n\n a.downloading = false;\n }\n\n protected async init() {\n this.cipherDomain = await this.loadCipher();\n this.cipher = await this.cipherDomain.decrypt();\n\n this.hasUpdatedKey = await this.cryptoService.hasEncKey();\n const canAccessPremium = await this.userService.canAccessPremium();\n this.canAccessAttachments = canAccessPremium || this.cipher.organizationId != null;\n\n if (!this.canAccessAttachments) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('premiumRequiredDesc'), this.i18nService.t('premiumRequired'),\n this.i18nService.t('learnMore'), this.i18nService.t('cancel'));\n if (confirmed) {\n this.platformUtilsService.launchUri('https://vault.bitwarden.com/#/?premium=purchase');\n }\n } else if (!this.hasUpdatedKey) {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('updateKey'), this.i18nService.t('featureUnavailable'),\n this.i18nService.t('learnMore'), this.i18nService.t('cancel'), 'warning');\n if (confirmed) {\n this.platformUtilsService.launchUri('https://help.bitwarden.com/article/update-encryption-key/');\n }\n }\n }\n\n protected async reuploadCipherAttachment(attachment: AttachmentView, admin: boolean) {\n const a = (attachment as any);\n if (attachment.key != null || a.downloading || this.reuploadPromises[attachment.id] != null) {\n return;\n }\n\n try {\n this.reuploadPromises[attachment.id] = Promise.resolve().then(async () => {\n // 1. Download\n a.downloading = true;\n const response = await fetch(new Request(attachment.url, { cache: 'no-store' }));\n if (response.status !== 200) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n a.downloading = false;\n return;\n }\n\n try {\n // 2. Resave\n const buf = await response.arrayBuffer();\n const key = attachment.key != null ? attachment.key :\n await this.cryptoService.getOrgKey(this.cipher.organizationId);\n const decBuf = await this.cryptoService.decryptFromBytes(buf, key);\n this.cipherDomain = await this.cipherService.saveAttachmentRawWithServer(\n this.cipherDomain, attachment.fileName, decBuf, admin);\n this.cipher = await this.cipherDomain.decrypt();\n\n // 3. Delete old\n this.deletePromises[attachment.id] = this.deleteCipherAttachment(attachment.id);\n await this.deletePromises[attachment.id];\n const foundAttachment = this.cipher.attachments.filter((a2) => a2.id === attachment.id);\n if (foundAttachment.length > 0) {\n const i = this.cipher.attachments.indexOf(foundAttachment[0]);\n if (i > -1) {\n this.cipher.attachments.splice(i, 1);\n }\n }\n\n this.platformUtilsService.eventTrack('Reuploaded Attachment');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('attachmentSaved'));\n this.onReuploadedAttachment.emit();\n } catch (e) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n }\n\n a.downloading = false;\n });\n await this.reuploadPromises[attachment.id];\n } catch { }\n }\n\n protected loadCipher() {\n return this.cipherService.get(this.cipherId);\n }\n\n protected saveCipherAttachment(file: File) {\n return this.cipherService.saveAttachmentWithServer(this.cipherDomain, file);\n }\n\n protected deleteCipherAttachment(attachmentId: string) {\n return this.cipherService.deleteAttachmentWithServer(this.cipher.id, attachmentId);\n }\n}\n","import {\n Directive,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { SearchService } from '../../abstractions/search.service';\n\nimport { CipherView } from '../../models/view/cipherView';\n\n@Directive()\nexport class CiphersComponent {\n @Input() activeCipherId: string = null;\n @Output() onCipherClicked = new EventEmitter();\n @Output() onCipherRightClicked = new EventEmitter();\n @Output() onAddCipher = new EventEmitter();\n @Output() onAddCipherOptions = new EventEmitter();\n\n loaded: boolean = false;\n ciphers: CipherView[] = [];\n pagedCiphers: CipherView[] = [];\n searchText: string;\n searchPlaceholder: string = null;\n filter: (cipher: CipherView) => boolean = null;\n deleted: boolean = false;\n\n protected searchPending = false;\n protected didScroll = false;\n protected pageSize = 100;\n\n private searchTimeout: any = null;\n private pagedCiphersCount = 0;\n private refreshing = false;\n\n constructor(protected searchService: SearchService) { }\n\n async load(filter: (cipher: CipherView) => boolean = null, deleted: boolean = false) {\n this.deleted = deleted || false;\n await this.applyFilter(filter);\n this.loaded = true;\n }\n\n loadMore() {\n if (this.ciphers.length <= this.pageSize) {\n return;\n }\n const pagedLength = this.pagedCiphers.length;\n let pagedSize = this.pageSize;\n if (this.refreshing && pagedLength === 0 && this.pagedCiphersCount > this.pageSize) {\n pagedSize = this.pagedCiphersCount;\n }\n if (this.ciphers.length > pagedLength) {\n this.pagedCiphers = this.pagedCiphers.concat(this.ciphers.slice(pagedLength, pagedLength + pagedSize));\n }\n this.pagedCiphersCount = this.pagedCiphers.length;\n this.didScroll = this.pagedCiphers.length > this.pageSize;\n }\n\n async reload(filter: (cipher: CipherView) => boolean = null, deleted: boolean = false) {\n this.loaded = false;\n this.ciphers = [];\n await this.load(filter, deleted);\n }\n\n async refresh() {\n try {\n this.refreshing = true;\n await this.reload(this.filter, this.deleted);\n } finally {\n this.refreshing = false;\n }\n }\n\n async applyFilter(filter: (cipher: CipherView) => boolean = null) {\n this.filter = filter;\n await this.search(null);\n }\n\n async search(timeout: number = null) {\n this.searchPending = false;\n if (this.searchTimeout != null) {\n clearTimeout(this.searchTimeout);\n }\n const deletedFilter: (cipher: CipherView) => boolean = (c) => c.isDeleted === this.deleted;\n if (timeout == null) {\n this.ciphers = await this.searchService.searchCiphers(this.searchText, [this.filter, deletedFilter], null);\n await this.resetPaging();\n return;\n }\n this.searchPending = true;\n this.searchTimeout = setTimeout(async () => {\n this.ciphers = await this.searchService.searchCiphers(this.searchText, [this.filter, deletedFilter], null);\n await this.resetPaging();\n this.searchPending = false;\n }, timeout);\n }\n\n selectCipher(cipher: CipherView) {\n this.onCipherClicked.emit(cipher);\n }\n\n rightClickCipher(cipher: CipherView) {\n this.onCipherRightClicked.emit(cipher);\n }\n\n addCipher() {\n this.onAddCipher.emit();\n }\n\n addCipherOptions() {\n this.onAddCipherOptions.emit();\n }\n\n isSearching() {\n return !this.searchPending && this.searchService.isSearchable(this.searchText);\n }\n\n isPaging() {\n const searching = this.isSearching();\n if (searching && this.didScroll) {\n this.resetPaging();\n }\n return !searching && this.ciphers.length > this.pageSize;\n }\n\n async resetPaging() {\n this.pagedCiphers = [];\n this.loadMore();\n }\n}\n","import {\n Directive,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { CipherService } from '../../abstractions/cipher.service';\nimport { CollectionService } from '../../abstractions/collection.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { CipherView } from '../../models/view/cipherView';\nimport { CollectionView } from '../../models/view/collectionView';\n\nimport { Cipher } from '../../models/domain/cipher';\n\n@Directive()\nexport class CollectionsComponent implements OnInit {\n @Input() cipherId: string;\n @Input() allowSelectNone = false;\n @Output() onSavedCollections = new EventEmitter();\n\n formPromise: Promise;\n cipher: CipherView;\n collectionIds: string[];\n collections: CollectionView[] = [];\n\n protected cipherDomain: Cipher;\n\n constructor(protected collectionService: CollectionService, protected platformUtilsService: PlatformUtilsService,\n protected i18nService: I18nService, protected cipherService: CipherService) { }\n\n async ngOnInit() {\n await this.load();\n }\n\n async load() {\n this.cipherDomain = await this.loadCipher();\n this.collectionIds = this.loadCipherCollections();\n this.cipher = await this.cipherDomain.decrypt();\n this.collections = await this.loadCollections();\n\n this.collections.forEach((c) => (c as any).checked = false);\n if (this.collectionIds != null) {\n this.collections.forEach((c) => {\n (c as any).checked = this.collectionIds != null && this.collectionIds.indexOf(c.id) > -1;\n });\n }\n }\n\n async submit() {\n const selectedCollectionIds = this.collections\n .filter((c) => !!(c as any).checked)\n .map((c) => c.id);\n if (!this.allowSelectNone && selectedCollectionIds.length === 0) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectOneCollection'));\n return;\n }\n this.cipherDomain.collectionIds = selectedCollectionIds;\n try {\n this.formPromise = this.saveCollections();\n await this.formPromise;\n this.onSavedCollections.emit();\n this.platformUtilsService.eventTrack('Edited Cipher Collections');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('editedItem'));\n } catch { }\n }\n\n protected loadCipher() {\n return this.cipherService.get(this.cipherId);\n }\n\n protected loadCipherCollections() {\n return this.cipherDomain.collectionIds;\n }\n\n protected async loadCollections() {\n const allCollections = await this.collectionService.getAllDecrypted();\n return allCollections.filter((c) => !c.readOnly && c.organizationId === this.cipher.organizationId);\n }\n\n protected saveCollections() {\n return this.cipherService.saveCollectionsWithServer(this.cipherDomain);\n }\n}\n","import {\n Directive,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\n\nimport { CipherType } from '../../enums/cipherType';\n\nimport { CollectionView } from '../../models/view/collectionView';\nimport { FolderView } from '../../models/view/folderView';\n\nimport { TreeNode } from '../../models/domain/treeNode';\n\nimport { CollectionService } from '../../abstractions/collection.service';\nimport { FolderService } from '../../abstractions/folder.service';\nimport { StorageService } from '../../abstractions/storage.service';\nimport { UserService } from '../../abstractions/user.service';\n\nimport { ConstantsService } from '../../services/constants.service';\n\n@Directive()\nexport class GroupingsComponent {\n @Input() showFolders = true;\n @Input() showCollections = true;\n @Input() showFavorites = true;\n @Input() showTrash = true;\n\n @Output() onAllClicked = new EventEmitter();\n @Output() onFavoritesClicked = new EventEmitter();\n @Output() onTrashClicked = new EventEmitter();\n @Output() onCipherTypeClicked = new EventEmitter();\n @Output() onFolderClicked = new EventEmitter();\n @Output() onAddFolder = new EventEmitter();\n @Output() onEditFolder = new EventEmitter();\n @Output() onCollectionClicked = new EventEmitter();\n\n folders: FolderView[];\n nestedFolders: TreeNode[];\n collections: CollectionView[];\n nestedCollections: TreeNode[];\n loaded: boolean = false;\n cipherType = CipherType;\n selectedAll: boolean = false;\n selectedFavorites: boolean = false;\n selectedTrash: boolean = false;\n selectedType: CipherType = null;\n selectedFolder: boolean = false;\n selectedFolderId: string = null;\n selectedCollectionId: string = null;\n\n private collapsedGroupings: Set;\n private collapsedGroupingsKey: string;\n\n constructor(protected collectionService: CollectionService, protected folderService: FolderService,\n protected storageService: StorageService, protected userService: UserService) { }\n\n async load(setLoaded = true) {\n const userId = await this.userService.getUserId();\n this.collapsedGroupingsKey = ConstantsService.collapsedGroupingsKey + '_' + userId;\n const collapsedGroupings = await this.storageService.get(this.collapsedGroupingsKey);\n if (collapsedGroupings == null) {\n this.collapsedGroupings = new Set();\n } else {\n this.collapsedGroupings = new Set(collapsedGroupings);\n }\n\n await this.loadFolders();\n await this.loadCollections();\n\n if (setLoaded) {\n this.loaded = true;\n }\n }\n\n async loadCollections(organizationId?: string) {\n if (!this.showCollections) {\n return;\n }\n const collections = await this.collectionService.getAllDecrypted();\n if (organizationId != null) {\n this.collections = collections.filter((c) => c.organizationId === organizationId);\n } else {\n this.collections = collections;\n }\n this.nestedCollections = await this.collectionService.getAllNested(this.collections);\n }\n\n async loadFolders() {\n if (!this.showFolders) {\n return;\n }\n this.folders = await this.folderService.getAllDecrypted();\n this.nestedFolders = await this.folderService.getAllNested();\n }\n\n selectAll() {\n this.clearSelections();\n this.selectedAll = true;\n this.onAllClicked.emit();\n }\n\n selectFavorites() {\n this.clearSelections();\n this.selectedFavorites = true;\n this.onFavoritesClicked.emit();\n }\n\n selectTrash() {\n this.clearSelections();\n this.selectedTrash = true;\n this.onTrashClicked.emit();\n }\n\n selectType(type: CipherType) {\n this.clearSelections();\n this.selectedType = type;\n this.onCipherTypeClicked.emit(type);\n }\n\n selectFolder(folder: FolderView) {\n this.clearSelections();\n this.selectedFolder = true;\n this.selectedFolderId = folder.id;\n this.onFolderClicked.emit(folder);\n }\n\n addFolder() {\n this.onAddFolder.emit();\n }\n\n editFolder(folder: FolderView) {\n this.onEditFolder.emit(folder);\n }\n\n selectCollection(collection: CollectionView) {\n this.clearSelections();\n this.selectedCollectionId = collection.id;\n this.onCollectionClicked.emit(collection);\n }\n\n clearSelections() {\n this.selectedAll = false;\n this.selectedFavorites = false;\n this.selectedTrash = false;\n this.selectedType = null;\n this.selectedFolder = false;\n this.selectedFolderId = null;\n this.selectedCollectionId = null;\n }\n\n collapse(grouping: FolderView | CollectionView, idPrefix = '') {\n if (grouping.id == null) {\n return;\n }\n const id = idPrefix + grouping.id;\n if (this.isCollapsed(grouping, idPrefix)) {\n this.collapsedGroupings.delete(id);\n } else {\n this.collapsedGroupings.add(id);\n }\n this.storageService.save(this.collapsedGroupingsKey, this.collapsedGroupings);\n }\n\n isCollapsed(grouping: FolderView | CollectionView, idPrefix = '') {\n return this.collapsedGroupings.has(idPrefix + grouping.id);\n }\n}\n","export class UpdateProfileRequest {\n name: string;\n masterPasswordHint: string;\n culture = 'en-US'; // deprecated\n\n constructor(name: string, masterPasswordHint: string) {\n this.name = name;\n this.masterPasswordHint = masterPasswordHint ? masterPasswordHint : null;\n }\n}\n","import { EmailTokenRequest } from './emailTokenRequest';\n\nexport class EmailRequest extends EmailTokenRequest {\n newMasterPasswordHash: string;\n token: string;\n key: string;\n}\n","import { PasswordRequest } from './passwordRequest';\n\nimport { KdfType } from '../../enums/kdfType';\n\nexport class KdfRequest extends PasswordRequest {\n kdf: KdfType;\n kdfIterations: number;\n}\n","export class UpdateDomainsRequest {\n equivalentDomains: string[][];\n excludedGlobalEquivalentDomains: number[];\n}\n","import {\n Directive,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { PasswordGeneratorPolicyOptions } from '../../models/domain/passwordGeneratorPolicyOptions';\n\n@Directive()\nexport class PasswordGeneratorComponent implements OnInit {\n @Input() showSelect: boolean = false;\n @Output() onSelected = new EventEmitter();\n\n options: any = {};\n password: string = '-';\n showOptions = false;\n avoidAmbiguous = false;\n enforcedPolicyOptions: PasswordGeneratorPolicyOptions;\n\n constructor(protected passwordGenerationService: PasswordGenerationService,\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\n private win: Window) { }\n\n async ngOnInit() {\n const optionsResponse = await this.passwordGenerationService.getOptions();\n this.options = optionsResponse[0];\n this.enforcedPolicyOptions = optionsResponse[1];\n this.avoidAmbiguous = !this.options.ambiguous;\n this.options.type = this.options.type === 'passphrase' ? 'passphrase' : 'password';\n this.password = await this.passwordGenerationService.generatePassword(this.options);\n this.platformUtilsService.eventTrack('Generated Password');\n await this.passwordGenerationService.addHistory(this.password);\n }\n\n async sliderChanged() {\n this.saveOptions(false);\n await this.passwordGenerationService.addHistory(this.password);\n this.platformUtilsService.eventTrack('Regenerated Password');\n }\n\n async sliderInput() {\n this.normalizeOptions();\n this.password = await this.passwordGenerationService.generatePassword(this.options);\n }\n\n async saveOptions(regenerate: boolean = true) {\n this.normalizeOptions();\n await this.passwordGenerationService.saveOptions(this.options);\n\n if (regenerate) {\n await this.regenerate();\n }\n }\n\n async regenerate() {\n this.password = await this.passwordGenerationService.generatePassword(this.options);\n await this.passwordGenerationService.addHistory(this.password);\n this.platformUtilsService.eventTrack('Regenerated Password');\n }\n\n copy() {\n this.platformUtilsService.eventTrack('Copied Generated Password');\n const copyOptions = this.win != null ? { window: this.win } : null;\n this.platformUtilsService.copyToClipboard(this.password, copyOptions);\n this.platformUtilsService.showToast('info', null,\n this.i18nService.t('valueCopied', this.i18nService.t('password')));\n }\n\n select() {\n this.platformUtilsService.eventTrack('Selected Generated Password');\n this.onSelected.emit(this.password);\n }\n\n toggleOptions() {\n this.showOptions = !this.showOptions;\n }\n\n private normalizeOptions() {\n // Application level normalize options depedent on class variables\n this.options.ambiguous = !this.avoidAmbiguous;\n\n if (!this.options.uppercase && !this.options.lowercase && !this.options.number && !this.options.special) {\n this.options.lowercase = true;\n if (this.win != null) {\n const lowercase = this.win.document.querySelector('#lowercase') as HTMLInputElement;\n if (lowercase) {\n lowercase.checked = true;\n }\n }\n }\n\n this.passwordGenerationService.normalizeOptions(this.options, this.enforcedPolicyOptions);\n }\n}\n","import { OnInit } from '@angular/core';\n\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { GeneratedPasswordHistory } from '../../models/domain/generatedPasswordHistory';\n\nexport class PasswordGeneratorHistoryComponent implements OnInit {\n history: GeneratedPasswordHistory[] = [];\n\n constructor(protected passwordGenerationService: PasswordGenerationService,\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\n private win: Window) { }\n\n async ngOnInit() {\n this.history = await this.passwordGenerationService.getHistory();\n }\n\n clear() {\n this.history = [];\n this.passwordGenerationService.clear();\n }\n\n copy(password: string) {\n this.platformUtilsService.eventTrack('Copied Historical Password');\n const copyOptions = this.win != null ? { window: this.win } : null;\n this.platformUtilsService.copyToClipboard(password, copyOptions);\n this.platformUtilsService.showToast('info', null,\n this.i18nService.t('valueCopied', this.i18nService.t('password')));\n }\n}\n","import {\n Directive,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { FolderService } from '../../abstractions/folder.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\n\nimport { FolderView } from '../../models/view/folderView';\n\n@Directive()\nexport class FolderAddEditComponent implements OnInit {\n @Input() folderId: string;\n @Output() onSavedFolder = new EventEmitter();\n @Output() onDeletedFolder = new EventEmitter();\n\n editMode: boolean = false;\n folder: FolderView = new FolderView();\n title: string;\n formPromise: Promise;\n deletePromise: Promise;\n\n constructor(protected folderService: FolderService, protected i18nService: I18nService,\n protected platformUtilsService: PlatformUtilsService) { }\n\n async ngOnInit() {\n await this.init();\n }\n\n async submit(): Promise {\n if (this.folder.name == null || this.folder.name === '') {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('nameRequired'));\n return false;\n }\n\n try {\n const folder = await this.folderService.encrypt(this.folder);\n this.formPromise = this.folderService.saveWithServer(folder);\n await this.formPromise;\n this.platformUtilsService.eventTrack(this.editMode ? 'Edited Folder' : 'Added Folder');\n this.platformUtilsService.showToast('success', null,\n this.i18nService.t(this.editMode ? 'editedFolder' : 'addedFolder'));\n this.onSavedFolder.emit(this.folder);\n return true;\n } catch { }\n\n return false;\n }\n\n async delete(): Promise {\n const confirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('deleteFolderConfirmation'), this.i18nService.t('deleteFolder'),\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\n if (!confirmed) {\n return false;\n }\n\n try {\n this.deletePromise = this.folderService.deleteWithServer(this.folder.id);\n await this.deletePromise;\n this.platformUtilsService.eventTrack('Deleted Folder');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('deletedFolder'));\n this.onDeletedFolder.emit(this.folder);\n } catch { }\n\n return true;\n }\n\n protected async init() {\n this.editMode = this.folderId != null;\n\n if (this.editMode) {\n this.editMode = true;\n this.title = this.i18nService.t('editFolder');\n const folder = await this.folderService.get(this.folderId);\n this.folder = await folder.decrypt();\n } else {\n this.title = this.i18nService.t('addFolder');\n }\n }\n}\n","import {\n Directive,\n EventEmitter,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\n\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\n\nimport { CipherService } from '../../abstractions/cipher.service';\nimport { CollectionService } from '../../abstractions/collection.service';\nimport { I18nService } from '../../abstractions/i18n.service';\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\nimport { UserService } from '../../abstractions/user.service';\n\nimport { Organization } from '../../models/domain/organization';\nimport { CipherView } from '../../models/view/cipherView';\nimport { CollectionView } from '../../models/view/collectionView';\n\nimport { Utils } from '../../misc/utils';\n\n@Directive()\nexport class ShareComponent implements OnInit {\n @Input() cipherId: string;\n @Input() organizationId: string;\n @Output() onSharedCipher = new EventEmitter();\n\n formPromise: Promise;\n cipher: CipherView;\n collections: CollectionView[] = [];\n organizations: Organization[] = [];\n\n protected writeableCollections: CollectionView[] = [];\n\n constructor(protected collectionService: CollectionService, protected platformUtilsService: PlatformUtilsService,\n protected i18nService: I18nService, protected userService: UserService,\n protected cipherService: CipherService) { }\n\n async ngOnInit() {\n await this.load();\n }\n\n async load() {\n const allCollections = await this.collectionService.getAllDecrypted();\n this.writeableCollections = allCollections.map((c) => c).filter((c) => !c.readOnly);\n const orgs = await this.userService.getAllOrganizations();\n this.organizations = orgs.sort(Utils.getSortFunction(this.i18nService, 'name'))\n .filter((o) => o.enabled && o.status === OrganizationUserStatusType.Confirmed);\n\n const cipherDomain = await this.cipherService.get(this.cipherId);\n this.cipher = await cipherDomain.decrypt();\n if (this.organizationId == null && this.organizations.length > 0) {\n this.organizationId = this.organizations[0].id;\n }\n this.filterCollections();\n }\n\n filterCollections() {\n this.writeableCollections.forEach((c) => (c as any).checked = false);\n if (this.organizationId == null || this.writeableCollections.length === 0) {\n this.collections = [];\n } else {\n this.collections = this.writeableCollections.filter((c) => c.organizationId === this.organizationId);\n }\n }\n\n async submit(): Promise {\n const selectedCollectionIds = this.collections\n .filter((c) => !!(c as any).checked)\n .map((c) => c.id);\n if (selectedCollectionIds.length === 0) {\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\n this.i18nService.t('selectOneCollection'));\n return;\n }\n\n const cipherDomain = await this.cipherService.get(this.cipherId);\n const cipherView = await cipherDomain.decrypt();\n\n try {\n this.formPromise = this.cipherService.shareWithServer(cipherView, this.organizationId,\n selectedCollectionIds).then(async () => {\n this.onSharedCipher.emit();\n this.platformUtilsService.eventTrack('Shared Cipher');\n this.platformUtilsService.showToast('success', null, this.i18nService.t('sharedItem'));\n });\n await this.formPromise;\n return true;\n } catch { }\n return false;\n }\n\n get canSave() {\n if (this.collections != null) {\n for (let i = 0; i < this.collections.length; i++) {\n if ((this.collections[i] as any).checked) {\n return true;\n }\n }\n }\n return false;\n }\n}\n","export { AttachmentData } from './attachmentData';\nexport { CardData } from './cardData';\nexport { CipherData } from './cipherData';\nexport { CollectionData } from './collectionData';\nexport { FieldData } from './fieldData';\nexport { FolderData } from './folderData';\nexport { IdentityData } from './identityData';\nexport { LoginData } from './loginData';\nexport { LoginUriData } from './loginUriData';\nexport { SecureNoteData } from './secureNoteData';\n","export { Attachment } from './attachment';\nexport { AuthResult } from './authResult';\nexport { Card } from './card';\nexport { Cipher } from './cipher';\nexport { CipherString } from './cipherString';\nexport { Collection } from './collection';\nexport { EncryptedObject } from './encryptedObject';\nexport { EnvironmentUrls } from './environmentUrls';\nexport { Field } from './field';\nexport { Folder } from './folder';\nexport { Identity } from './identity';\nexport { Login } from './login';\nexport { LoginUri } from './loginUri';\nexport { GeneratedPasswordHistory } from './generatedPasswordHistory';\nexport { SecureNote } from './secureNote';\nexport { SymmetricCryptoKey } from './symmetricCryptoKey';\n","export class EmergencyAccessConfirmRequest {\n key: string;\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class AttachmentResponse extends BaseResponse {\n id: string;\n url: string;\n fileName: string;\n key: string;\n size: string;\n sizeName: string;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.url = this.getResponseProperty('Url');\n this.fileName = this.getResponseProperty('FileName');\n this.key = this.getResponseProperty('Key');\n this.size = this.getResponseProperty('Size');\n this.sizeName = this.getResponseProperty('SizeName');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class PasswordHistoryResponse extends BaseResponse {\n password: string;\n lastUsedDate: string;\n\n constructor(response: any) {\n super(response);\n this.password = this.getResponseProperty('Password');\n this.lastUsedDate = this.getResponseProperty('LastUsedDate');\n }\n}\n","import { EmergencyAccessType } from '../../enums/emergencyAccessType';\n\nexport class EmergencyAccessInviteRequest {\n email: string;\n type: EmergencyAccessType;\n waitTimeDays: number;\n}\n","export class EmergencyAccessPasswordRequest {\n newMasterPasswordHash: string;\n key: string;\n}\n","import {\n APP_INITIALIZER,\n LOCALE_ID,\n NgModule,\n} from '@angular/core';\n\nimport { ToasterModule } from 'angular2-toaster';\n\nimport { BroadcasterMessagingService } from '../../services/broadcasterMessaging.service';\nimport { HtmlStorageService } from '../../services/htmlStorage.service';\nimport { I18nService } from '../../services/i18n.service';\nimport { MemoryStorageService } from '../../services/memoryStorage.service';\nimport { WebPlatformUtilsService } from '../../services/webPlatformUtils.service';\n\nimport { EventService } from './event.service';\nimport { OrganizationGuardService } from './organization-guard.service';\nimport { OrganizationTypeGuardService } from './organization-type-guard.service';\nimport { RouterService } from './router.service';\nimport { UnauthGuardService } from './unauth-guard.service';\n\nimport { AuthGuardService } from 'jslib/angular/services/auth-guard.service';\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\nimport { ValidationService } from 'jslib/angular/services/validation.service';\n\nimport { Analytics } from 'jslib/misc/analytics';\n\nimport { ApiService } from 'jslib/services/api.service';\nimport { AppIdService } from 'jslib/services/appId.service';\nimport { AuditService } from 'jslib/services/audit.service';\nimport { AuthService } from 'jslib/services/auth.service';\nimport { CipherService } from 'jslib/services/cipher.service';\nimport { CollectionService } from 'jslib/services/collection.service';\nimport { ConsoleLogService } from 'jslib/services/consoleLog.service';\nimport { ConstantsService } from 'jslib/services/constants.service';\nimport { ContainerService } from 'jslib/services/container.service';\nimport { CryptoService } from 'jslib/services/crypto.service';\nimport { EnvironmentService } from 'jslib/services/environment.service';\nimport { EventService as EventLoggingService } from 'jslib/services/event.service';\nimport { ExportService } from 'jslib/services/export.service';\nimport { FolderService } from 'jslib/services/folder.service';\nimport { ImportService } from 'jslib/services/import.service';\nimport { NotificationsService } from 'jslib/services/notifications.service';\nimport { PasswordGenerationService } from 'jslib/services/passwordGeneration.service';\nimport { PolicyService } from 'jslib/services/policy.service';\nimport { SearchService } from 'jslib/services/search.service';\nimport { SendService } from 'jslib/services/send.service';\nimport { SettingsService } from 'jslib/services/settings.service';\nimport { StateService } from 'jslib/services/state.service';\nimport { SyncService } from 'jslib/services/sync.service';\nimport { TokenService } from 'jslib/services/token.service';\nimport { TotpService } from 'jslib/services/totp.service';\nimport { UserService } from 'jslib/services/user.service';\nimport { VaultTimeoutService } from 'jslib/services/vaultTimeout.service';\nimport { WebCryptoFunctionService } from 'jslib/services/webCryptoFunction.service';\n\nimport { ApiService as ApiServiceAbstraction } from 'jslib/abstractions/api.service';\nimport { AppIdService as AppIdServiceAbstraction } from 'jslib/abstractions/appId.service';\nimport { AuditService as AuditServiceAbstraction } from 'jslib/abstractions/audit.service';\nimport { AuthService as AuthServiceAbstraction } from 'jslib/abstractions/auth.service';\nimport { CipherService as CipherServiceAbstraction } from 'jslib/abstractions/cipher.service';\nimport { CollectionService as CollectionServiceAbstraction } from 'jslib/abstractions/collection.service';\nimport { CryptoService as CryptoServiceAbstraction } from 'jslib/abstractions/crypto.service';\nimport { CryptoFunctionService as CryptoFunctionServiceAbstraction } from 'jslib/abstractions/cryptoFunction.service';\nimport { EnvironmentService as EnvironmentServiceAbstraction } from 'jslib/abstractions/environment.service';\nimport { EventService as EventLoggingServiceAbstraction } from 'jslib/abstractions/event.service';\nimport { ExportService as ExportServiceAbstraction } from 'jslib/abstractions/export.service';\nimport { FolderService as FolderServiceAbstraction } from 'jslib/abstractions/folder.service';\nimport { I18nService as I18nServiceAbstraction } from 'jslib/abstractions/i18n.service';\nimport { ImportService as ImportServiceAbstraction } from 'jslib/abstractions/import.service';\nimport { LogService as LogServiceAbstraction } from 'jslib/abstractions/log.service';\nimport { MessagingService as MessagingServiceAbstraction } from 'jslib/abstractions/messaging.service';\nimport { NotificationsService as NotificationsServiceAbstraction } from 'jslib/abstractions/notifications.service';\nimport {\n PasswordGenerationService as PasswordGenerationServiceAbstraction,\n} from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService as PlatformUtilsServiceAbstraction } from 'jslib/abstractions/platformUtils.service';\nimport { PolicyService as PolicyServiceAbstraction } from 'jslib/abstractions/policy.service';\nimport { SearchService as SearchServiceAbstraction } from 'jslib/abstractions/search.service';\nimport { SendService as SendServiceAbstraction } from 'jslib/abstractions/send.service';\nimport { SettingsService as SettingsServiceAbstraction } from 'jslib/abstractions/settings.service';\nimport { StateService as StateServiceAbstraction } from 'jslib/abstractions/state.service';\nimport { StorageService as StorageServiceAbstraction } from 'jslib/abstractions/storage.service';\nimport { SyncService as SyncServiceAbstraction } from 'jslib/abstractions/sync.service';\nimport { TokenService as TokenServiceAbstraction } from 'jslib/abstractions/token.service';\nimport { TotpService as TotpServiceAbstraction } from 'jslib/abstractions/totp.service';\nimport { UserService as UserServiceAbstraction } from 'jslib/abstractions/user.service';\nimport { VaultTimeoutService as VaultTimeoutServiceAbstraction } from 'jslib/abstractions/vaultTimeout.service';\n\nconst i18nService = new I18nService(window.navigator.language, 'locales');\nconst stateService = new StateService();\nconst broadcasterService = new BroadcasterService();\nconst messagingService = new BroadcasterMessagingService(broadcasterService);\nconst platformUtilsService = new WebPlatformUtilsService(i18nService, messagingService);\nconst storageService: StorageServiceAbstraction = new HtmlStorageService(platformUtilsService);\nconst secureStorageService: StorageServiceAbstraction = new MemoryStorageService();\nconst cryptoFunctionService: CryptoFunctionServiceAbstraction = new WebCryptoFunctionService(window,\n platformUtilsService);\nconst consoleLogService = new ConsoleLogService(false);\nconst cryptoService = new CryptoService(storageService,\n platformUtilsService.isDev() ? storageService : secureStorageService, cryptoFunctionService, platformUtilsService,\n consoleLogService);\nconst tokenService = new TokenService(storageService);\nconst appIdService = new AppIdService(storageService);\nconst apiService = new ApiService(tokenService, platformUtilsService,\n async (expired: boolean) => messagingService.send('logout', { expired: expired }));\nconst userService = new UserService(tokenService, storageService);\nconst settingsService = new SettingsService(userService, storageService);\nexport let searchService: SearchService = null;\nconst cipherService = new CipherService(cryptoService, userService, settingsService,\n apiService, storageService, i18nService, () => searchService);\nconst folderService = new FolderService(cryptoService, userService, apiService, storageService,\n i18nService, cipherService);\nconst collectionService = new CollectionService(cryptoService, userService, storageService, i18nService);\nsearchService = new SearchService(cipherService, consoleLogService);\nconst policyService = new PolicyService(userService, storageService);\nconst sendService = new SendService(cryptoService, userService, apiService, storageService,\n i18nService, cryptoFunctionService);\nconst vaultTimeoutService = new VaultTimeoutService(cipherService, folderService, collectionService,\n cryptoService, platformUtilsService, storageService, messagingService, searchService, userService, tokenService,\n null, async () => messagingService.send('logout', { expired: false }));\nconst syncService = new SyncService(userService, apiService, settingsService,\n folderService, cipherService, cryptoService, collectionService, storageService, messagingService, policyService,\n sendService, async (expired: boolean) => messagingService.send('logout', { expired: expired }));\nconst passwordGenerationService = new PasswordGenerationService(cryptoService, storageService, policyService);\nconst totpService = new TotpService(storageService, cryptoFunctionService);\nconst containerService = new ContainerService(cryptoService);\nconst authService = new AuthService(cryptoService, apiService,\n userService, tokenService, appIdService, i18nService, platformUtilsService, messagingService, vaultTimeoutService,\n consoleLogService);\nconst exportService = new ExportService(folderService, cipherService, apiService);\nconst importService = new ImportService(cipherService, folderService, apiService, i18nService, collectionService);\nconst notificationsService = new NotificationsService(userService, syncService, appIdService,\n apiService, vaultTimeoutService, async () => messagingService.send('logout', { expired: true }), consoleLogService);\nconst environmentService = new EnvironmentService(apiService, storageService, notificationsService);\nconst auditService = new AuditService(cryptoFunctionService, apiService);\nconst eventLoggingService = new EventLoggingService(storageService, apiService, userService, cipherService);\n\nconst analytics = new Analytics(window, () => platformUtilsService.isDev() || platformUtilsService.isSelfHost(),\n platformUtilsService, storageService, appIdService);\ncontainerService.attachToWindow(window);\n\nexport function initFactory(): Function {\n return async () => {\n await (storageService as HtmlStorageService).init();\n const isDev = platformUtilsService.isDev();\n if (!isDev && platformUtilsService.isSelfHost()) {\n environmentService.baseUrl = window.location.origin;\n } else {\n environmentService.notificationsUrl = isDev ? 'http://localhost:61840' :\n 'https://notifications.bitwarden.com'; // window.location.origin + '/notifications';\n environmentService.enterpriseUrl = isDev ? 'http://localhost:52313' :\n 'https://portal.bitwarden.com'; // window.location.origin + '/portal';\n }\n apiService.setUrls({\n base: isDev ? null : window.location.origin,\n api: isDev ? 'http://localhost:4000' : null,\n identity: isDev ? 'http://localhost:33656' : null,\n events: isDev ? 'http://localhost:46273' : null,\n\n // Uncomment these (and comment out the above) if you want to target production\n // servers for local development.\n\n // base: null,\n // api: 'https://api.bitwarden.com',\n // identity: 'https://identity.bitwarden.com',\n // events: 'https://events.bitwarden.com',\n });\n setTimeout(() => notificationsService.init(environmentService), 3000);\n\n vaultTimeoutService.init(true);\n const locale = await storageService.get(ConstantsService.localeKey);\n await i18nService.init(locale);\n eventLoggingService.init(true);\n authService.init();\n const htmlEl = window.document.documentElement;\n htmlEl.classList.add('locale_' + i18nService.translationLocale);\n let theme = await storageService.get(ConstantsService.themeKey);\n if (theme == null) {\n theme = 'light';\n }\n htmlEl.classList.add('theme_' + theme);\n stateService.save(ConstantsService.disableFaviconKey,\n await storageService.get(ConstantsService.disableFaviconKey));\n stateService.save('enableGravatars', await storageService.get('enableGravatars'));\n };\n}\n\n@NgModule({\n imports: [\n ToasterModule,\n ],\n declarations: [],\n providers: [\n ValidationService,\n AuthGuardService,\n OrganizationGuardService,\n OrganizationTypeGuardService,\n UnauthGuardService,\n RouterService,\n EventService,\n { provide: AuditServiceAbstraction, useValue: auditService },\n { provide: AuthServiceAbstraction, useValue: authService },\n { provide: CipherServiceAbstraction, useValue: cipherService },\n { provide: FolderServiceAbstraction, useValue: folderService },\n { provide: CollectionServiceAbstraction, useValue: collectionService },\n { provide: EnvironmentServiceAbstraction, useValue: environmentService },\n { provide: TotpServiceAbstraction, useValue: totpService },\n { provide: TokenServiceAbstraction, useValue: tokenService },\n { provide: I18nServiceAbstraction, useValue: i18nService },\n { provide: CryptoServiceAbstraction, useValue: cryptoService },\n { provide: PlatformUtilsServiceAbstraction, useValue: platformUtilsService },\n { provide: PasswordGenerationServiceAbstraction, useValue: passwordGenerationService },\n { provide: ApiServiceAbstraction, useValue: apiService },\n { provide: SyncServiceAbstraction, useValue: syncService },\n { provide: UserServiceAbstraction, useValue: userService },\n { provide: MessagingServiceAbstraction, useValue: messagingService },\n { provide: BroadcasterService, useValue: broadcasterService },\n { provide: SettingsServiceAbstraction, useValue: settingsService },\n { provide: VaultTimeoutServiceAbstraction, useValue: vaultTimeoutService },\n { provide: StorageServiceAbstraction, useValue: storageService },\n { provide: StateServiceAbstraction, useValue: stateService },\n { provide: ExportServiceAbstraction, useValue: exportService },\n { provide: SearchServiceAbstraction, useValue: searchService },\n { provide: ImportServiceAbstraction, useValue: importService },\n { provide: NotificationsServiceAbstraction, useValue: notificationsService },\n { provide: CryptoFunctionServiceAbstraction, useValue: cryptoFunctionService },\n { provide: EventLoggingServiceAbstraction, useValue: eventLoggingService },\n { provide: PolicyServiceAbstraction, useValue: policyService },\n { provide: SendServiceAbstraction, useValue: sendService },\n {\n provide: APP_INITIALIZER,\n useFactory: initFactory,\n deps: [],\n multi: true,\n },\n {\n provide: LOCALE_ID,\n useFactory: () => i18nService.translationLocale,\n deps: [],\n },\n ],\n})\nexport class ServicesModule {\n}\n","import { MessagingService } from 'jslib/abstractions/messaging.service';\n\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nexport class BroadcasterMessagingService implements MessagingService {\n constructor(private broadcasterService: BroadcasterService) { }\n\n send(subscriber: string, arg: any = {}) {\n const message = Object.assign({}, { command: subscriber }, arg);\n this.broadcasterService.send(message);\n }\n}\n","import { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { StorageService } from 'jslib/abstractions/storage.service';\nimport { ConstantsService } from 'jslib/services';\n\nexport class HtmlStorageService implements StorageService {\n private localStorageKeys = new Set(['appId', 'anonymousAppId', 'rememberedEmail', 'passwordGenerationOptions',\n ConstantsService.disableFaviconKey, 'rememberEmail', 'enableGravatars', 'enableFullWidth',\n ConstantsService.localeKey, ConstantsService.autoConfirmFingerprints,\n ConstantsService.vaultTimeoutKey, ConstantsService.vaultTimeoutActionKey, ConstantsService.ssoCodeVerifierKey,\n ConstantsService.ssoStateKey, 'ssoOrgIdentifier']);\n private localStorageStartsWithKeys = ['twoFactorToken_', ConstantsService.collapsedGroupingsKey + '_'];\n private memoryStorageStartsWithKeys = ['ciphers_', 'folders_', 'collections_', 'settings_', 'lastSync_'];\n private memoryStorage = new Map();\n\n constructor(private platformUtilsService: PlatformUtilsService) { }\n\n async init() {\n // LockOption -> VaultTimeout (uses the same legacy string value for backwards compat)\n const vaultTimeout = await this.get(ConstantsService.vaultTimeoutKey);\n if (vaultTimeout == null && !this.platformUtilsService.isDev()) {\n await this.save(ConstantsService.vaultTimeoutKey, 15);\n }\n\n // Default Action to lock\n const vaultTimeoutAction = await this.get(ConstantsService.vaultTimeoutActionKey);\n if (vaultTimeoutAction == null) {\n await this.save(ConstantsService.vaultTimeoutActionKey, 'lock');\n }\n }\n\n get(key: string): Promise {\n let json: string = null;\n if (this.isLocalStorage(key)) {\n json = window.localStorage.getItem(key);\n } else if (this.isMemoryStorage(key)) {\n json = this.memoryStorage.get(key);\n } else {\n json = window.sessionStorage.getItem(key);\n }\n if (json != null) {\n const obj = JSON.parse(json);\n return Promise.resolve(obj as T);\n }\n return Promise.resolve(null);\n }\n\n save(key: string, obj: any): Promise {\n if (obj == null) {\n return this.remove(key);\n }\n\n const json = JSON.stringify(obj);\n if (this.isLocalStorage(key)) {\n window.localStorage.setItem(key, json);\n } else if (this.isMemoryStorage(key)) {\n this.memoryStorage.set(key, json);\n } else {\n window.sessionStorage.setItem(key, json);\n }\n return Promise.resolve();\n }\n\n remove(key: string): Promise {\n if (this.isLocalStorage(key)) {\n window.localStorage.removeItem(key);\n } else if (this.isMemoryStorage(key)) {\n this.memoryStorage.delete(key);\n } else {\n window.sessionStorage.removeItem(key);\n }\n return Promise.resolve();\n }\n\n private isLocalStorage(key: string): boolean {\n if (this.localStorageKeys.has(key)) {\n return true;\n }\n for (const swKey of this.localStorageStartsWithKeys) {\n if (key.startsWith(swKey)) {\n return true;\n }\n }\n return false;\n }\n\n private isMemoryStorage(key: string): boolean {\n for (const swKey of this.memoryStorageStartsWithKeys) {\n if (key.startsWith(swKey)) {\n return true;\n }\n }\n return false;\n }\n}\n","export { ApiService } from './api.service';\nexport { AppIdService } from './appId.service';\nexport { AuditService } from './audit.service';\nexport { AuthService } from './auth.service';\nexport { CipherService } from './cipher.service';\nexport { CollectionService } from './collection.service';\nexport { ConstantsService } from './constants.service';\nexport { ContainerService } from './container.service';\nexport { CryptoService } from './crypto.service';\nexport { EnvironmentService } from './environment.service';\nexport { FolderService } from './folder.service';\nexport { I18nService } from './i18n.service';\nexport { PasswordGenerationService } from './passwordGeneration.service';\nexport { SettingsService } from './settings.service';\nexport { StateService } from './state.service';\nexport { SyncService } from './sync.service';\nexport { TokenService } from './token.service';\nexport { TotpService } from './totp.service';\nexport { UserService } from './user.service';\nexport { VaultTimeoutService } from './vaultTimeout.service';\n","import { BaseResponse } from './baseResponse';\n\nexport class ApiKeyResponse extends BaseResponse {\n apiKey: string;\n\n constructor(response: any) {\n super(response);\n this.apiKey = this.getResponseProperty('ApiKey');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { PaymentMethodType } from '../../enums/paymentMethodType';\nimport { TransactionType } from '../../enums/transactionType';\n\nexport class BillingResponse extends BaseResponse {\n balance: number;\n paymentSource: BillingSourceResponse;\n invoices: BillingInvoiceResponse[] = [];\n transactions: BillingTransactionResponse[] = [];\n\n constructor(response: any) {\n super(response);\n this.balance = this.getResponseProperty('Balance');\n const paymentSource = this.getResponseProperty('PaymentSource');\n const transactions = this.getResponseProperty('Transactions');\n const invoices = this.getResponseProperty('Invoices');\n this.paymentSource = paymentSource == null ? null : new BillingSourceResponse(paymentSource);\n if (transactions != null) {\n this.transactions = transactions.map((t: any) => new BillingTransactionResponse(t));\n }\n if (invoices != null) {\n this.invoices = invoices.map((i: any) => new BillingInvoiceResponse(i));\n }\n }\n}\n\nexport class BillingSourceResponse extends BaseResponse {\n type: PaymentMethodType;\n cardBrand: string;\n description: string;\n needsVerification: boolean;\n\n constructor(response: any) {\n super(response);\n this.type = this.getResponseProperty('Type');\n this.cardBrand = this.getResponseProperty('CardBrand');\n this.description = this.getResponseProperty('Description');\n this.needsVerification = this.getResponseProperty('NeedsVerification');\n }\n}\n\nexport class BillingInvoiceResponse extends BaseResponse {\n url: string;\n pdfUrl: string;\n number: string;\n paid: boolean;\n date: string;\n amount: number;\n\n constructor(response: any) {\n super(response);\n this.url = this.getResponseProperty('Url');\n this.pdfUrl = this.getResponseProperty('PdfUrl');\n this.number = this.getResponseProperty('Number');\n this.paid = this.getResponseProperty('Paid');\n this.date = this.getResponseProperty('Date');\n this.amount = this.getResponseProperty('Amount');\n }\n}\n\nexport class BillingTransactionResponse extends BaseResponse {\n createdDate: string;\n amount: number;\n refunded: boolean;\n partiallyRefunded: boolean;\n refundedAmount: number;\n type: TransactionType;\n paymentMethodType: PaymentMethodType;\n details: string;\n\n constructor(response: any) {\n super(response);\n this.createdDate = this.getResponseProperty('CreatedDate');\n this.amount = this.getResponseProperty('Amount');\n this.refunded = this.getResponseProperty('Refunded');\n this.partiallyRefunded = this.getResponseProperty('PartiallyRefunded');\n this.refundedAmount = this.getResponseProperty('RefundedAmount');\n this.type = this.getResponseProperty('Type');\n this.paymentMethodType = this.getResponseProperty('PaymentMethodType');\n this.details = this.getResponseProperty('Details');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class BreachAccountResponse extends BaseResponse {\n addedDate: string;\n breachDate: string;\n dataClasses: string[];\n description: string;\n domain: string;\n isActive: boolean;\n isVerified: boolean;\n logoPath: string;\n modifiedDate: string;\n name: string;\n pwnCount: number;\n title: string;\n\n constructor(response: any) {\n super(response);\n this.addedDate = this.getResponseProperty('AddedDate');\n this.breachDate = this.getResponseProperty('BreachDate');\n this.dataClasses = this.getResponseProperty('DataClasses');\n this.description = this.getResponseProperty('Description');\n this.domain = this.getResponseProperty('Domain');\n this.isActive = this.getResponseProperty('IsActive');\n this.isVerified = this.getResponseProperty('IsVerified');\n this.logoPath = this.getResponseProperty('LogoPath');\n this.modifiedDate = this.getResponseProperty('ModifiedDate');\n this.name = this.getResponseProperty('Name');\n this.pwnCount = this.getResponseProperty('PwnCount');\n this.title = this.getResponseProperty('Title');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class GlobalDomainResponse extends BaseResponse {\n type: number;\n domains: string[];\n excluded: boolean;\n\n constructor(response: any) {\n super(response);\n this.type = this.getResponseProperty('Type');\n this.domains = this.getResponseProperty('Domains');\n this.excluded = this.getResponseProperty('Excluded');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { DeviceType } from '../../enums/deviceType';\nimport { EventType } from '../../enums/eventType';\n\nexport class EventResponse extends BaseResponse {\n type: EventType;\n userId: string;\n organizationId: string;\n cipherId: string;\n collectionId: string;\n groupId: string;\n policyId: string;\n organizationUserId: string;\n actingUserId: string;\n date: string;\n deviceType: DeviceType;\n ipAddress: string;\n\n constructor(response: any) {\n super(response);\n this.type = this.getResponseProperty('Type');\n this.userId = this.getResponseProperty('UserId');\n this.organizationId = this.getResponseProperty('OrganizationId');\n this.cipherId = this.getResponseProperty('CipherId');\n this.collectionId = this.getResponseProperty('CollectionId');\n this.groupId = this.getResponseProperty('GroupId');\n this.policyId = this.getResponseProperty('PolicyId');\n this.organizationUserId = this.getResponseProperty('OrganizationUserId');\n this.actingUserId = this.getResponseProperty('ActingUserId');\n this.date = this.getResponseProperty('Date');\n this.deviceType = this.getResponseProperty('DeviceType');\n this.ipAddress = this.getResponseProperty('IpAddress');\n }\n}\n","import { BaseResponse } from './baseResponse';\nimport { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\n\nexport class GroupResponse extends BaseResponse {\n id: string;\n organizationId: string;\n name: string;\n accessAll: boolean;\n externalId: string;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.organizationId = this.getResponseProperty('OrganizationId');\n this.name = this.getResponseProperty('Name');\n this.accessAll = this.getResponseProperty('AccessAll');\n this.externalId = this.getResponseProperty('ExternalId');\n }\n}\n\nexport class GroupDetailsResponse extends GroupResponse {\n collections: SelectionReadOnlyResponse[] = [];\n\n constructor(response: any) {\n super(response);\n const collections = this.getResponseProperty('Collections');\n if (collections != null) {\n this.collections = collections.map((c: any) => new SelectionReadOnlyResponse(c));\n }\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { KdfType } from '../../enums/kdfType';\n\nexport class IdentityTokenResponse extends BaseResponse {\n accessToken: string;\n expiresIn: number;\n refreshToken: string;\n tokenType: string;\n\n resetMasterPassword: boolean;\n privateKey: string;\n key: string;\n twoFactorToken: string;\n kdf: KdfType;\n kdfIterations: number;\n\n constructor(response: any) {\n super(response);\n this.accessToken = response.access_token;\n this.expiresIn = response.expires_in;\n this.refreshToken = response.refresh_token;\n this.tokenType = response.token_type;\n\n this.resetMasterPassword = this.getResponseProperty('ResetMasterPassword');\n this.privateKey = this.getResponseProperty('PrivateKey');\n this.key = this.getResponseProperty('Key');\n this.twoFactorToken = this.getResponseProperty('TwoFactorToken');\n this.kdf = this.getResponseProperty('Kdf');\n this.kdfIterations = this.getResponseProperty('KdfIterations');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nexport class IdentityTwoFactorResponse extends BaseResponse {\n twoFactorProviders: TwoFactorProviderType[];\n twoFactorProviders2 = new Map();\n\n constructor(response: any) {\n super(response);\n this.twoFactorProviders = this.getResponseProperty('TwoFactorProviders');\n const twoFactorProviders2 = this.getResponseProperty('TwoFactorProviders2');\n if (twoFactorProviders2 != null) {\n for (const prop in twoFactorProviders2) {\n if (twoFactorProviders2.hasOwnProperty(prop)) {\n this.twoFactorProviders2.set(parseInt(prop, null), twoFactorProviders2[prop]);\n }\n }\n }\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class ListResponse extends BaseResponse {\n data: T[];\n continuationToken: string;\n\n constructor(response: any, t: new (dataResponse: any) => T) {\n super(response);\n const data = this.getResponseProperty('Data');\n this.data = data == null ? [] : data.map((dr: any) => new t(dr));\n this.continuationToken = this.getResponseProperty('ContinuationToken');\n }\n}\n","import { OrganizationResponse } from './organizationResponse';\nimport {\n BillingSubscriptionResponse,\n BillingSubscriptionUpcomingInvoiceResponse,\n} from './subscriptionResponse';\n\nexport class OrganizationSubscriptionResponse extends OrganizationResponse {\n storageName: string;\n storageGb: number;\n subscription: BillingSubscriptionResponse;\n upcomingInvoice: BillingSubscriptionUpcomingInvoiceResponse;\n expiration: string;\n\n constructor(response: any) {\n super(response);\n this.storageName = this.getResponseProperty('StorageName');\n this.storageGb = this.getResponseProperty('StorageGb');\n const subscription = this.getResponseProperty('Subscription');\n this.subscription = subscription == null ? null : new BillingSubscriptionResponse(subscription);\n const upcomingInvoice = this.getResponseProperty('UpcomingInvoice');\n this.upcomingInvoice = upcomingInvoice == null ? null :\n new BillingSubscriptionUpcomingInvoiceResponse(upcomingInvoice);\n this.expiration = this.getResponseProperty('Expiration');\n }\n}\n","import { BaseResponse } from './baseResponse';\nimport { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\n\nimport { PermissionsApi } from '../api/permissionsApi';\n\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\n\nexport class OrganizationUserResponse extends BaseResponse {\n id: string;\n userId: string;\n type: OrganizationUserType;\n status: OrganizationUserStatusType;\n accessAll: boolean;\n permissions: PermissionsApi;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.userId = this.getResponseProperty('UserId');\n this.type = this.getResponseProperty('Type');\n this.status = this.getResponseProperty('Status');\n this.permissions = new PermissionsApi(this.getResponseProperty('Permissions'));\n this.accessAll = this.getResponseProperty('AccessAll');\n }\n}\n\nexport class OrganizationUserUserDetailsResponse extends OrganizationUserResponse {\n name: string;\n email: string;\n twoFactorEnabled: boolean;\n\n constructor(response: any) {\n super(response);\n this.name = this.getResponseProperty('Name');\n this.email = this.getResponseProperty('Email');\n this.twoFactorEnabled = this.getResponseProperty('TwoFactorEnabled');\n }\n}\n\nexport class OrganizationUserDetailsResponse extends OrganizationUserResponse {\n collections: SelectionReadOnlyResponse[] = [];\n\n constructor(response: any) {\n super(response);\n const collections = this.getResponseProperty('Collections');\n if (collections != null) {\n this.collections = collections.map((c: any) => new SelectionReadOnlyResponse(c));\n }\n }\n}\n","import { BaseResponse } from './baseResponse';\nimport { ProfileResponse } from './profileResponse';\n\nexport class PaymentResponse extends BaseResponse {\n userProfile: ProfileResponse;\n paymentIntentClientSecret: string;\n success: boolean;\n\n constructor(response: any) {\n super(response);\n const userProfile = this.getResponseProperty('UserProfile');\n if (userProfile != null) {\n this.userProfile = new ProfileResponse(userProfile);\n }\n this.paymentIntentClientSecret = this.getResponseProperty('PaymentIntentClientSecret');\n this.success = this.getResponseProperty('Success');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\nimport { PermissionsApi } from '../api/permissionsApi';\n\nexport class ProfileOrganizationResponse extends BaseResponse {\n id: string;\n name: string;\n usePolicies: boolean;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n useApi: boolean;\n useBusinessPortal: boolean;\n useSso: boolean;\n selfHost: boolean;\n usersGetPremium: boolean;\n seats: number;\n maxCollections: number;\n maxStorageGb?: number;\n key: string;\n status: OrganizationUserStatusType;\n type: OrganizationUserType;\n enabled: boolean;\n ssoBound: boolean;\n identifier: string;\n permissions: PermissionsApi;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.name = this.getResponseProperty('Name');\n this.usePolicies = this.getResponseProperty('UsePolicies');\n this.useGroups = this.getResponseProperty('UseGroups');\n this.useDirectory = this.getResponseProperty('UseDirectory');\n this.useEvents = this.getResponseProperty('UseEvents');\n this.useTotp = this.getResponseProperty('UseTotp');\n this.use2fa = this.getResponseProperty('Use2fa');\n this.useApi = this.getResponseProperty('UseApi');\n this.useBusinessPortal = this.getResponseProperty('UseBusinessPortal');\n this.useSso = this.getResponseProperty('UseSso');\n this.selfHost = this.getResponseProperty('SelfHost');\n this.usersGetPremium = this.getResponseProperty('UsersGetPremium');\n this.seats = this.getResponseProperty('Seats');\n this.maxCollections = this.getResponseProperty('MaxCollections');\n this.maxStorageGb = this.getResponseProperty('MaxStorageGb');\n this.key = this.getResponseProperty('Key');\n this.status = this.getResponseProperty('Status');\n this.type = this.getResponseProperty('Type');\n this.enabled = this.getResponseProperty('Enabled');\n this.ssoBound = this.getResponseProperty('SsoBound');\n this.identifier = this.getResponseProperty('Identifier');\n this.permissions = new PermissionsApi(this.getResponseProperty('permissions'));\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { KdfType } from '../../enums/kdfType';\n\nexport class PreloginResponse extends BaseResponse {\n kdf: KdfType;\n kdfIterations: number;\n\n constructor(response: any) {\n super(response);\n this.kdf = this.getResponseProperty('Kdf');\n this.kdfIterations = this.getResponseProperty('KdfIterations');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { SendType } from '../../enums/sendType';\n\nimport { SendFileApi } from '../api/sendFileApi';\nimport { SendTextApi } from '../api/sendTextApi';\n\nexport class SendAccessResponse extends BaseResponse {\n id: string;\n type: SendType;\n name: string;\n file: SendFileApi;\n text: SendTextApi;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.type = this.getResponseProperty('Type');\n this.name = this.getResponseProperty('Name');\n\n const text = this.getResponseProperty('Text');\n if (text != null) {\n this.text = new SendTextApi(text);\n }\n\n const file = this.getResponseProperty('File');\n if (file != null) {\n this.file = new SendFileApi(file);\n }\n }\n}\n","import { BaseResponse } from './baseResponse';\nimport { CipherResponse } from './cipherResponse';\nimport { CollectionDetailsResponse } from './collectionResponse';\nimport { DomainsResponse } from './domainsResponse';\nimport { FolderResponse } from './folderResponse';\nimport { PolicyResponse } from './policyResponse';\nimport { ProfileResponse } from './profileResponse';\nimport { SendResponse } from './sendResponse';\n\nexport class SyncResponse extends BaseResponse {\n profile?: ProfileResponse;\n folders: FolderResponse[] = [];\n collections: CollectionDetailsResponse[] = [];\n ciphers: CipherResponse[] = [];\n domains?: DomainsResponse;\n policies?: PolicyResponse[] = [];\n sends: SendResponse[] = [];\n\n constructor(response: any) {\n super(response);\n\n const profile = this.getResponseProperty('Profile');\n if (profile != null) {\n this.profile = new ProfileResponse(profile);\n }\n\n const folders = this.getResponseProperty('Folders');\n if (folders != null) {\n this.folders = folders.map((f: any) => new FolderResponse(f));\n }\n\n const collections = this.getResponseProperty('Collections');\n if (collections != null) {\n this.collections = collections.map((c: any) => new CollectionDetailsResponse(c));\n }\n\n const ciphers = this.getResponseProperty('Ciphers');\n if (ciphers != null) {\n this.ciphers = ciphers.map((c: any) => new CipherResponse(c));\n }\n\n const domains = this.getResponseProperty('Domains');\n if (domains != null) {\n this.domains = new DomainsResponse(domains);\n }\n\n const policies = this.getResponseProperty('Policies');\n if (policies != null) {\n this.policies = policies.map((p: any) => new PolicyResponse(p));\n }\n\n const sends = this.getResponseProperty('Sends');\n if (sends != null) {\n this.sends = sends.map((s: any) => new SendResponse(s));\n }\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class TaxInfoResponse extends BaseResponse {\n taxId: string;\n taxIdType: string;\n line1: string;\n line2: string;\n city: string;\n state: string;\n country: string;\n postalCode: string;\n\n constructor(response: any) {\n super(response);\n this.taxId = this.getResponseProperty('TaxIdNumber');\n this.taxIdType = this.getResponseProperty('TaxIdType');\n this.line1 = this.getResponseProperty('Line1');\n this.line2 = this.getResponseProperty('Line2');\n this.city = this.getResponseProperty('City');\n this.state = this.getResponseProperty('State');\n this.postalCode = this.getResponseProperty('PostalCode');\n this.country = this.getResponseProperty('Country');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class TaxRateResponse extends BaseResponse {\n id: string;\n country: string;\n state: string;\n postalCode: string;\n rate: number;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.country = this.getResponseProperty('Country');\n this.state = this.getResponseProperty('State');\n this.postalCode = this.getResponseProperty('PostalCode');\n this.rate = this.getResponseProperty('Rate');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class TwoFactorAuthenticatorResponse extends BaseResponse {\n enabled: boolean;\n key: string;\n\n constructor(response: any) {\n super(response);\n this.enabled = this.getResponseProperty('Enabled');\n this.key = this.getResponseProperty('Key');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class TwoFactorDuoResponse extends BaseResponse {\n enabled: boolean;\n host: string;\n secretKey: string;\n integrationKey: string;\n\n constructor(response: any) {\n super(response);\n this.enabled = this.getResponseProperty('Enabled');\n this.host = this.getResponseProperty('Host');\n this.secretKey = this.getResponseProperty('SecretKey');\n this.integrationKey = this.getResponseProperty('IntegrationKey');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class TwoFactorEmailResponse extends BaseResponse {\n enabled: boolean;\n email: string;\n\n constructor(response: any) {\n super(response);\n this.enabled = this.getResponseProperty('Enabled');\n this.email = this.getResponseProperty('Email');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\n\nexport class TwoFactorProviderResponse extends BaseResponse {\n enabled: boolean;\n type: TwoFactorProviderType;\n\n constructor(response: any) {\n super(response);\n this.enabled = this.getResponseProperty('Enabled');\n this.type = this.getResponseProperty('Type');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class TwoFactorRecoverResponse extends BaseResponse {\n code: string;\n\n constructor(response: any) {\n super(response);\n this.code = this.getResponseProperty('Code');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class TwoFactorU2fResponse extends BaseResponse {\n enabled: boolean;\n keys: KeyResponse[];\n\n constructor(response: any) {\n super(response);\n this.enabled = this.getResponseProperty('Enabled');\n const keys = this.getResponseProperty('Keys');\n this.keys = keys == null ? null : keys.map((k: any) => new KeyResponse(k));\n }\n}\n\nexport class KeyResponse extends BaseResponse {\n name: string;\n id: number;\n compromised: boolean;\n\n constructor(response: any) {\n super(response);\n this.name = this.getResponseProperty('Name');\n this.id = this.getResponseProperty('Id');\n this.compromised = this.getResponseProperty('Compromised');\n }\n}\n\nexport class ChallengeResponse extends BaseResponse {\n userId: string;\n appId: string;\n challenge: string;\n version: string;\n\n constructor(response: any) {\n super(response);\n this.userId = this.getResponseProperty('UserId');\n this.appId = this.getResponseProperty('AppId');\n this.challenge = this.getResponseProperty('Challenge');\n this.version = this.getResponseProperty('Version');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class TwoFactorYubiKeyResponse extends BaseResponse {\n enabled: boolean;\n key1: string;\n key2: string;\n key3: string;\n key4: string;\n key5: string;\n nfc: boolean;\n\n constructor(response: any) {\n super(response);\n this.enabled = this.getResponseProperty('Enabled');\n this.key1 = this.getResponseProperty('Key1');\n this.key2 = this.getResponseProperty('Key2');\n this.key3 = this.getResponseProperty('Key3');\n this.key4 = this.getResponseProperty('Key4');\n this.key5 = this.getResponseProperty('Key5');\n this.nfc = this.getResponseProperty('Nfc');\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nexport class UserKeyResponse extends BaseResponse {\n userId: string;\n publicKey: string;\n\n constructor(response: any) {\n super(response);\n this.userId = this.getResponseProperty('UserId');\n this.publicKey = this.getResponseProperty('PublicKey');\n }\n}\n","/**\n * Use as a Decorator on async functions, it will limit how many times the function can be\n * in-flight at a time.\n *\n * Calls beyond the limit will be queued, and run when one of the active calls finishes\n */\nexport function throttle(limit: number, throttleKey: (args: any[]) => string) {\n return (target: any, propertyKey: string | symbol,\n descriptor: TypedPropertyDescriptor<(...args: any[]) => Promise>) => {\n const originalMethod: () => Promise = descriptor.value;\n const allThrottles = new Map void)[]>>();\n\n const getThrottles = (obj: any) => {\n let throttles = allThrottles.get(obj);\n if (throttles != null) {\n return throttles;\n }\n throttles = new Map void)[]>();\n allThrottles.set(obj, throttles);\n return throttles;\n };\n\n return {\n value: function(...args: any[]) {\n const throttles = getThrottles(this);\n const argsThrottleKey = throttleKey(args);\n let queue = throttles.get(argsThrottleKey);\n if (queue == null) {\n queue = [];\n throttles.set(argsThrottleKey, queue);\n }\n\n return new Promise((resolve, reject) => {\n const exec = () => {\n const onFinally = () => {\n queue.splice(queue.indexOf(exec), 1);\n if (queue.length >= limit) {\n queue[limit - 1]();\n } else if (queue.length === 0) {\n throttles.delete(argsThrottleKey);\n if (throttles.size === 0) {\n allThrottles.delete(this);\n }\n }\n };\n originalMethod.apply(this, args).then((val: any) => {\n onFinally();\n return val;\n }).catch((err: any) => {\n onFinally();\n throw err;\n }).then(resolve, reject);\n };\n queue.push(exec);\n if (queue.length <= limit) {\n exec();\n }\n });\n },\n };\n };\n}\n","export class CipherBulkMoveRequest {\n ids: string[];\n folderId: string;\n\n constructor(ids: string[], folderId: string) {\n this.ids = ids == null ? [] : ids;\n this.folderId = folderId;\n }\n}\n","export class CipherBulkRestoreRequest {\n ids: string[];\n\n constructor(ids: string[]) {\n this.ids = ids == null ? [] : ids;\n }\n}\n","import { CipherWithIdRequest } from './cipherWithIdRequest';\n\nimport { Cipher } from '../domain/cipher';\n\nexport class CipherBulkShareRequest {\n ciphers: CipherWithIdRequest[];\n collectionIds: string[];\n\n constructor(ciphers: Cipher[], collectionIds: string[]) {\n if (ciphers != null) {\n this.ciphers = [];\n ciphers.forEach((c) => {\n this.ciphers.push(new CipherWithIdRequest(c));\n });\n }\n this.collectionIds = collectionIds;\n }\n}\n","import { CipherRequest } from './cipherRequest';\n\nimport { Cipher } from '../domain/cipher';\n\nexport class CipherShareRequest {\n cipher: CipherRequest;\n collectionIds: string[];\n\n constructor(cipher: Cipher) {\n this.cipher = new CipherRequest(cipher);\n this.collectionIds = cipher.collectionIds;\n }\n}\n","import { CipherView } from '../view';\n\nconst CacheTTL = 3000;\n\nexport class SortedCiphersCache {\n private readonly sortedCiphersByUrl: Map = new Map();\n private readonly timeouts: Map = new Map();\n\n constructor(private readonly comparator: (a: CipherView, b: CipherView) => number) { }\n\n isCached(url: string) {\n return this.sortedCiphersByUrl.has(url);\n }\n\n addCiphers(url: string, ciphers: CipherView[]) {\n ciphers.sort(this.comparator);\n this.sortedCiphersByUrl.set(url, new Ciphers(ciphers));\n this.resetTimer(url);\n }\n\n getLastUsed(url: string) {\n this.resetTimer(url);\n return this.isCached(url) ? this.sortedCiphersByUrl.get(url).getLastUsed() : null;\n }\n\n getLastLaunched(url: string) {\n return this.isCached(url) ? this.sortedCiphersByUrl.get(url).getLastLaunched() : null;\n }\n\n getNext(url: string) {\n this.resetTimer(url);\n return this.isCached(url) ? this.sortedCiphersByUrl.get(url).getNext() : null;\n }\n\n updateLastUsedIndex(url: string) {\n if (this.isCached(url)) {\n this.sortedCiphersByUrl.get(url).updateLastUsedIndex();\n }\n }\n\n clear() {\n this.sortedCiphersByUrl.clear();\n this.timeouts.clear();\n }\n\n private resetTimer(url: string) {\n clearTimeout(this.timeouts.get(url));\n this.timeouts.set(url, setTimeout(() => {\n this.sortedCiphersByUrl.delete(url);\n this.timeouts.delete(url);\n }, CacheTTL));\n }\n}\n\nclass Ciphers {\n lastUsedIndex = -1;\n\n constructor(private readonly ciphers: CipherView[]) { }\n\n getLastUsed() {\n this.lastUsedIndex = Math.max(this.lastUsedIndex, 0);\n return this.ciphers[this.lastUsedIndex];\n }\n\n getLastLaunched() {\n const usedCiphers = this.ciphers.filter(cipher => cipher.localData?.lastLaunched);\n const sortedCiphers = usedCiphers.sort((x, y) => y.localData.lastLaunched.valueOf() - x.localData.lastLaunched.valueOf());\n return sortedCiphers[0];\n }\n\n getNextIndex() {\n return (this.lastUsedIndex + 1) % this.ciphers.length;\n }\n\n getNext() {\n return this.ciphers[this.getNextIndex()];\n }\n\n updateLastUsedIndex() {\n this.lastUsedIndex = this.getNextIndex();\n }\n}\n","export class TreeNode {\n parent: T;\n node: T;\n children: TreeNode[] = [];\n\n constructor(node: T, name: string, parent: T) {\n this.parent = parent;\n this.node = node;\n this.node.name = name;\n }\n}\n\nexport interface ITreeNodeObject {\n id: string;\n name: string;\n}\n","import Domain from './domainBase';\n\nexport class PasswordGeneratorPolicyOptions extends Domain {\n defaultType: string = '';\n minLength: number = 0;\n useUppercase: boolean = false;\n useLowercase: boolean = false;\n useNumbers: boolean = false;\n numberCount: number = 0;\n useSpecial: boolean = false;\n specialCount: number = 0;\n minNumberWords: number = 0;\n capitalize: boolean = false;\n includeNumber: boolean = false;\n\n inEffect() {\n return this.defaultType !== '' ||\n this.minLength > 0 ||\n this.numberCount > 0 ||\n this.specialCount > 0 ||\n this.useUppercase ||\n this.useLowercase ||\n this.useNumbers ||\n this.useSpecial ||\n this.minNumberWords > 0 ||\n this.capitalize ||\n this.includeNumber;\n }\n}\n","import { ProfileOrganizationResponse } from '../response/profileOrganizationResponse';\n\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\nimport { OrganizationUserType } from '../../enums/organizationUserType';\nimport { PermissionsApi } from '../api/permissionsApi';\n\nexport class OrganizationData {\n id: string;\n name: string;\n status: OrganizationUserStatusType;\n type: OrganizationUserType;\n enabled: boolean;\n usePolicies: boolean;\n useGroups: boolean;\n useDirectory: boolean;\n useEvents: boolean;\n useTotp: boolean;\n use2fa: boolean;\n useApi: boolean;\n useBusinessPortal: boolean;\n useSso: boolean;\n selfHost: boolean;\n usersGetPremium: boolean;\n seats: number;\n maxCollections: number;\n maxStorageGb?: number;\n ssoBound: boolean;\n identifier: string;\n permissions: PermissionsApi;\n\n constructor(response: ProfileOrganizationResponse) {\n this.id = response.id;\n this.name = response.name;\n this.status = response.status;\n this.type = response.type;\n this.enabled = response.enabled;\n this.usePolicies = response.usePolicies;\n this.useGroups = response.useGroups;\n this.useDirectory = response.useDirectory;\n this.useEvents = response.useEvents;\n this.useTotp = response.useTotp;\n this.use2fa = response.use2fa;\n this.useApi = response.useApi;\n this.useBusinessPortal = response.useBusinessPortal;\n this.useSso = response.useSso;\n this.selfHost = response.selfHost;\n this.usersGetPremium = response.usersGetPremium;\n this.seats = response.seats;\n this.maxCollections = response.maxCollections;\n this.maxStorageGb = response.maxStorageGb;\n this.ssoBound = response.ssoBound;\n this.identifier = response.identifier;\n this.permissions = response.permissions;\n }\n}\n","import { SendFileApi } from '../api/sendFileApi';\n\nexport class SendFileData {\n id: string;\n url: string;\n fileName: string;\n key: string;\n size: string;\n sizeName: string;\n\n constructor(data?: SendFileApi) {\n if (data == null) {\n return;\n }\n\n this.id = data.id;\n this.url = data.url;\n this.fileName = data.fileName;\n this.key = data.key;\n this.size = data.size;\n this.sizeName = data.sizeName;\n }\n}\n","import { SendTextApi } from '../api/sendTextApi';\n\nexport class SendTextData {\n text: string;\n hidden: boolean;\n\n constructor(data?: SendTextApi) {\n if (data == null) {\n return;\n }\n\n this.text = data.text;\n this.hidden = data.hidden;\n }\n}\n","import { I18nService as BaseI18nService } from 'jslib/services/i18n.service';\n\nexport class I18nService extends BaseI18nService {\n constructor(systemLanguage: string, localesDirectory: string) {\n super(systemLanguage || 'en-US', localesDirectory, async (formattedLocale: string) => {\n const filePath = this.localesDirectory + '/' + formattedLocale + '/messages.json?cache=' +\n process.env.CACHE_TAG;\n const localesResult = await fetch(filePath);\n const locales = await localesResult.json();\n return locales;\n });\n\n this.supportedTranslationLocales = [\n 'en', 'ca', 'cs', 'da', 'de', 'el', 'en-GB', 'es', 'et', 'fr', 'he', 'it', 'ja', 'ko', 'lv', 'ml', 'nb',\n 'nl', 'pl', 'pt-PT', 'pt-BR', 'ru', 'sk', 'sv', 'uk', 'zh-CN', 'zh-TW',\n ];\n }\n}\n","import { StorageService } from 'jslib/abstractions/storage.service';\n\nexport class MemoryStorageService implements StorageService {\n private store = new Map();\n\n get(key: string): Promise {\n if (this.store.has(key)) {\n const obj = this.store.get(key);\n return Promise.resolve(obj as T);\n }\n return Promise.resolve(null);\n }\n\n save(key: string, obj: any): Promise {\n if (obj == null) {\n return this.remove(key);\n }\n this.store.set(key, obj);\n return Promise.resolve();\n }\n\n remove(key: string): Promise {\n this.store.delete(key);\n return Promise.resolve();\n }\n}\n","import Swal, { SweetAlertIcon } from 'sweetalert2/dist/sweetalert2.js';\n\nimport { DeviceType } from 'jslib/enums/deviceType';\n\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\nexport class WebPlatformUtilsService implements PlatformUtilsService {\n identityClientId: string = 'web';\n\n private browserCache: DeviceType = null;\n\n constructor(private i18nService: I18nService, private messagingService: MessagingService) { }\n\n getDevice(): DeviceType {\n if (this.browserCache != null) {\n return this.browserCache;\n }\n\n if (navigator.userAgent.indexOf(' Firefox/') !== -1 || navigator.userAgent.indexOf(' Gecko/') !== -1) {\n this.browserCache = DeviceType.FirefoxBrowser;\n } else if (navigator.userAgent.indexOf(' OPR/') >= 0) {\n this.browserCache = DeviceType.OperaBrowser;\n } else if (navigator.userAgent.indexOf(' Edg/') !== -1) {\n this.browserCache = DeviceType.EdgeBrowser;\n } else if (navigator.userAgent.indexOf(' Vivaldi/') !== -1) {\n this.browserCache = DeviceType.VivaldiBrowser;\n } else if (navigator.userAgent.indexOf(' Safari/') !== -1 && navigator.userAgent.indexOf('Chrome') === -1) {\n this.browserCache = DeviceType.SafariBrowser;\n } else if ((window as any).chrome && navigator.userAgent.indexOf(' Chrome/') !== -1) {\n this.browserCache = DeviceType.ChromeBrowser;\n } else if (navigator.userAgent.indexOf(' Trident/') !== -1) {\n this.browserCache = DeviceType.IEBrowser;\n } else {\n this.browserCache = DeviceType.UnknownBrowser;\n }\n\n return this.browserCache;\n }\n\n getDeviceString(): string {\n const device = DeviceType[this.getDevice()].toLowerCase();\n return device.replace('browser', '');\n }\n\n isFirefox(): boolean {\n return this.getDevice() === DeviceType.FirefoxBrowser;\n }\n\n isChrome(): boolean {\n return this.getDevice() === DeviceType.ChromeBrowser;\n }\n\n isEdge(): boolean {\n return this.getDevice() === DeviceType.EdgeBrowser;\n }\n\n isOpera(): boolean {\n return this.getDevice() === DeviceType.OperaBrowser;\n }\n\n isVivaldi(): boolean {\n return this.getDevice() === DeviceType.VivaldiBrowser;\n }\n\n isSafari(): boolean {\n return this.getDevice() === DeviceType.SafariBrowser;\n }\n\n isIE(): boolean {\n return this.getDevice() === DeviceType.IEBrowser;\n }\n\n isMacAppStore(): boolean {\n return false;\n }\n\n analyticsId(): string {\n return 'UA-81915606-3';\n }\n\n isViewOpen(): Promise {\n return Promise.resolve(false);\n }\n\n lockTimeout(): number {\n return null;\n }\n\n launchUri(uri: string, options?: any): void {\n const a = document.createElement('a');\n a.href = uri;\n if (options == null || !options.sameWindow) {\n a.target = '_blank';\n a.rel = 'noreferrer noopener';\n }\n a.classList.add('d-none');\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n }\n\n saveFile(win: Window, blobData: any, blobOptions: any, fileName: string): void {\n let blob: Blob = null;\n let type: string = null;\n const fileNameLower = fileName.toLowerCase();\n let doDownload = true;\n if (fileNameLower.endsWith('.pdf')) {\n type = 'application/pdf';\n doDownload = false;\n } else if (fileNameLower.endsWith('.xlsx')) {\n type = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';\n } else if (fileNameLower.endsWith('.docx')) {\n type = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';\n } else if (fileNameLower.endsWith('.pptx')) {\n type = 'application/vnd.openxmlformats-officedocument.presentationml.presentation';\n } else if (fileNameLower.endsWith('.csv')) {\n type = 'text/csv';\n } else if (fileNameLower.endsWith('.png')) {\n type = 'image/png';\n } else if (fileNameLower.endsWith('.jpg') || fileNameLower.endsWith('.jpeg')) {\n type = 'image/jpeg';\n } else if (fileNameLower.endsWith('.gif')) {\n type = 'image/gif';\n }\n if (type != null) {\n blobOptions = blobOptions || {};\n if (blobOptions.type == null) {\n blobOptions.type = type;\n }\n }\n if (blobOptions != null && !this.isIE()) {\n blob = new Blob([blobData], blobOptions);\n } else {\n blob = new Blob([blobData]);\n }\n if (navigator.msSaveOrOpenBlob) {\n navigator.msSaveBlob(blob, fileName);\n } else {\n const a = win.document.createElement('a');\n if (doDownload) {\n a.download = fileName;\n } else {\n a.target = '_blank';\n }\n a.href = URL.createObjectURL(blob);\n a.style.position = 'fixed';\n win.document.body.appendChild(a);\n a.click();\n win.document.body.removeChild(a);\n }\n }\n\n getApplicationVersion(): string {\n return process.env.APPLICATION_VERSION || '-';\n }\n\n supportsU2f(win: Window): boolean {\n if (win != null && (win as any).u2f != null) {\n return true;\n }\n return this.isChrome() || ((this.isOpera() || this.isVivaldi()) && !Utils.isMobileBrowser);\n }\n\n supportsDuo(): boolean {\n return true;\n }\n\n showToast(type: 'error' | 'success' | 'warning' | 'info', title: string, text: string | string[],\n options?: any): void {\n this.messagingService.send('showToast', {\n text: text,\n title: title,\n type: type,\n options: options,\n });\n }\n\n async showDialog(text: string, title?: string, confirmText?: string, cancelText?: string, type?: string) {\n let iconClasses: string = null;\n if (type != null) {\n // If you add custom types to this part, the type to SweetAlertIcon cast below needs to be changed.\n switch (type) {\n case 'success':\n iconClasses = 'fa-check text-success';\n break;\n case 'warning':\n iconClasses = 'fa-warning text-warning';\n break;\n case 'error':\n iconClasses = 'fa-bolt text-danger';\n break;\n case 'info':\n iconClasses = 'fa-info-circle text-info';\n break;\n default:\n break;\n }\n }\n\n const iconHtmlStr = iconClasses != null ? `` : undefined;\n const confirmed = await Swal.fire({\n heightAuto: false,\n buttonsStyling: false,\n icon: type as SweetAlertIcon, // required to be any of the SweetAlertIcons to output the iconHtml.\n iconHtml: iconHtmlStr,\n text: text,\n title: title,\n showCancelButton: (cancelText != null),\n cancelButtonText: cancelText,\n showConfirmButton: true,\n confirmButtonText: confirmText == null ? this.i18nService.t('ok') : confirmText,\n });\n\n return confirmed.value;\n }\n\n eventTrack(action: string, label?: string, options?: any) {\n this.messagingService.send('analyticsEventTrack', {\n action: action,\n label: label,\n options: options,\n });\n }\n\n isDev(): boolean {\n return process.env.ENV === 'development';\n }\n\n isSelfHost(): boolean {\n return process.env.SELF_HOST.toString() === 'true';\n }\n\n copyToClipboard(text: string, options?: any): void {\n let win = window;\n let doc = window.document;\n if (options && (options.window || options.win)) {\n win = options.window || options.win;\n doc = win.document;\n } else if (options && options.doc) {\n doc = options.doc;\n }\n if ((win as any).clipboardData && (win as any).clipboardData.setData) {\n // IE specific code path to prevent textarea being shown while dialog is visible.\n (win as any).clipboardData.setData('Text', text);\n } else if (doc.queryCommandSupported && doc.queryCommandSupported('copy')) {\n const textarea = doc.createElement('textarea');\n textarea.textContent = text;\n // Prevent scrolling to bottom of page in MS Edge.\n textarea.style.position = 'fixed';\n let copyEl = doc.body;\n // For some reason copy command won't work when modal is open if appending to body\n if (doc.body.classList.contains('modal-open')) {\n copyEl = doc.body.querySelector('.modal');\n }\n copyEl.appendChild(textarea);\n textarea.select();\n try {\n // Security exception may be thrown by some browsers.\n doc.execCommand('copy');\n } catch (e) {\n // tslint:disable-next-line\n console.warn('Copy to clipboard failed.', e);\n } finally {\n copyEl.removeChild(textarea);\n }\n }\n }\n\n readFromClipboard(options?: any): Promise {\n throw new Error('Cannot read from clipboard on web.');\n }\n\n supportsBiometric() {\n return Promise.resolve(false);\n }\n\n authenticateBiometric() {\n return Promise.resolve(false);\n }\n\n supportsSecureStorage() {\n return false;\n }\n\n getDefaultSystemTheme() {\n return null as 'light' | 'dark';\n }\n\n onDefaultSystemThemeChange() {\n /* noop */\n }\n}\n","import { AppIdService } from '../abstractions/appId.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\nimport { StorageService } from '../abstractions/storage.service';\n\nimport { ConstantsService } from '../services/constants.service';\n\nimport { DeviceType } from '../enums/deviceType';\n\nconst GaObj = 'ga';\n\nexport const AnalyticsIds = {\n [DeviceType.ChromeExtension]: 'UA-81915606-6',\n [DeviceType.FirefoxExtension]: 'UA-81915606-7',\n [DeviceType.OperaExtension]: 'UA-81915606-8',\n [DeviceType.EdgeExtension]: 'UA-81915606-9',\n [DeviceType.VivaldiExtension]: 'UA-81915606-15',\n [DeviceType.SafariExtension]: 'UA-81915606-16',\n [DeviceType.WindowsDesktop]: 'UA-81915606-17',\n [DeviceType.LinuxDesktop]: 'UA-81915606-19',\n [DeviceType.MacOsDesktop]: 'UA-81915606-18',\n};\n\nexport class Analytics {\n private gaTrackingId: string = null;\n private defaultDisabled = false;\n private appVersion: string;\n\n constructor(win: Window, private gaFilter?: () => boolean,\n private platformUtilsService?: PlatformUtilsService, private storageService?: StorageService,\n private appIdService?: AppIdService, private dependencyResolver?: () => any) {\n if (dependencyResolver != null) {\n const deps = dependencyResolver();\n if (platformUtilsService == null && deps.platformUtilsService) {\n this.platformUtilsService = deps.platformUtilsService as PlatformUtilsService;\n }\n if (storageService == null && deps.storageService) {\n this.storageService = deps.storageService as StorageService;\n }\n if (appIdService == null && deps.appIdService) {\n this.appIdService = deps.appIdService as AppIdService;\n }\n }\n\n this.appVersion = this.platformUtilsService.getApplicationVersion();\n this.defaultDisabled = this.platformUtilsService.getDevice() === DeviceType.FirefoxExtension ||\n this.platformUtilsService.isMacAppStore();\n this.gaTrackingId = this.platformUtilsService.analyticsId();\n\n (win as any).GoogleAnalyticsObject = GaObj;\n (win as any)[GaObj] = async (action: string, param1: any, param2?: any) => {\n await this.ga(action, param1, param2);\n };\n }\n\n async ga(action: string, param1: any, param2?: any) {\n return;\n\n if (this.gaFilter != null && this.gaFilter()) {\n return;\n }\n\n const disabled = await this.storageService.get(ConstantsService.disableGaKey);\n if ((this.defaultDisabled && disabled == null) || disabled != null && disabled) {\n return;\n }\n\n if (action !== 'send' || !param1) {\n return;\n }\n\n const gaAnonAppId = await this.appIdService.getAnonymousAppId();\n const version = encodeURIComponent(this.appVersion);\n let message = 'v=1&tid=' + this.gaTrackingId + '&cid=' + gaAnonAppId + '&cd1=' + version;\n\n if (param1 === 'pageview' && param2) {\n message += this.gaTrackPageView(param2);\n } else if (typeof param1 === 'object' && param1.hitType === 'pageview') {\n message += this.gaTrackPageView(param1.page);\n } else if (param1 === 'event' && param2) {\n message += this.gaTrackEvent(param2);\n } else if (typeof param1 === 'object' && param1.hitType === 'event') {\n message += this.gaTrackEvent(param1);\n }\n\n const request = new XMLHttpRequest();\n request.open('POST', 'https://www.google-analytics.com/collect', true);\n request.send(message);\n }\n\n private gaTrackEvent(options: any) {\n return '&t=event&ec=' + (options.eventCategory ? encodeURIComponent(options.eventCategory) : 'Event') +\n '&ea=' + encodeURIComponent(options.eventAction) +\n (options.eventLabel ? '&el=' + encodeURIComponent(options.eventLabel) : '') +\n (options.eventValue ? '&ev=' + encodeURIComponent(options.eventValue) : '') +\n (options.page ? '&dp=' + this.cleanPagePath(options.page) : '');\n }\n\n private gaTrackPageView(pagePath: string) {\n return '&t=pageview&dp=' + this.cleanPagePath(pagePath);\n }\n\n private cleanPagePath(pagePath: string) {\n const paramIndex = pagePath.indexOf('?');\n if (paramIndex > -1) {\n pagePath = pagePath.substring(0, paramIndex);\n }\n if (pagePath.indexOf('!/') === 0 || pagePath.indexOf('#/') === 0) {\n pagePath = pagePath.substring(1);\n }\n const pathParts = pagePath.split('/');\n const newPathParts: string[] = [];\n pathParts.forEach((p) => {\n if (p.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i)) {\n newPathParts.push('__guid__');\n } else {\n newPathParts.push(p);\n }\n });\n return encodeURIComponent(newPathParts.join('/'));\n }\n}\n","export enum LogLevelType {\n Debug,\n Info,\n Warning,\n Error,\n}\n","import { EventType } from '../enums/eventType';\n\nimport { EventData } from '../models/data/eventData';\n\nimport { EventRequest } from '../models/request/eventRequest';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { CipherService } from '../abstractions/cipher.service';\nimport { EventService as EventServiceAbstraction } from '../abstractions/event.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { UserService } from '../abstractions/user.service';\n\nimport { ConstantsService } from './constants.service';\n\nexport class EventService implements EventServiceAbstraction {\n private inited = false;\n\n constructor(private storageService: StorageService, private apiService: ApiService,\n private userService: UserService, private cipherService: CipherService) { }\n\n init(checkOnInterval: boolean) {\n if (this.inited) {\n return;\n }\n\n this.inited = true;\n if (checkOnInterval) {\n this.uploadEvents();\n setInterval(() => this.uploadEvents(), 60 * 1000); // check every 60 seconds\n }\n }\n\n async collect(eventType: EventType, cipherId: string = null, uploadImmediately = false): Promise {\n const authed = await this.userService.isAuthenticated();\n if (!authed) {\n return;\n }\n const organizations = await this.userService.getAllOrganizations();\n if (organizations == null) {\n return;\n }\n const orgIds = new Set(organizations.filter((o) => o.useEvents).map((o) => o.id));\n if (orgIds.size === 0) {\n return;\n }\n if (cipherId != null) {\n const cipher = await this.cipherService.get(cipherId);\n if (cipher == null || cipher.organizationId == null || !orgIds.has(cipher.organizationId)) {\n return;\n }\n }\n let eventCollection = await this.storageService.get(ConstantsService.eventCollectionKey);\n if (eventCollection == null) {\n eventCollection = [];\n }\n const event = new EventData();\n event.type = eventType;\n event.cipherId = cipherId;\n event.date = new Date().toISOString();\n eventCollection.push(event);\n await this.storageService.save(ConstantsService.eventCollectionKey, eventCollection);\n if (uploadImmediately) {\n await this.uploadEvents();\n }\n }\n\n async uploadEvents(): Promise {\n const authed = await this.userService.isAuthenticated();\n if (!authed) {\n return;\n }\n const eventCollection = await this.storageService.get(ConstantsService.eventCollectionKey);\n if (eventCollection == null || eventCollection.length === 0) {\n return;\n }\n const request = eventCollection.map((e) => {\n const req = new EventRequest();\n req.type = e.type;\n req.cipherId = e.cipherId;\n req.date = e.date;\n return req;\n });\n try {\n await this.apiService.postEventsCollect(request);\n this.clearEvents();\n } catch { }\n }\n\n async clearEvents(): Promise {\n await this.storageService.remove(ConstantsService.eventCollectionKey);\n }\n}\n","import { EventType } from '../../enums/eventType';\n\nexport class EventData {\n type: EventType;\n cipherId: string;\n date: string;\n}\n","import { EventType } from '../../enums/eventType';\n\nexport class EventRequest {\n type: EventType;\n cipherId: string;\n date: string;\n}\n","import * as papa from 'papaparse';\n\nimport { CipherType } from '../enums/cipherType';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { CipherService } from '../abstractions/cipher.service';\nimport { ExportService as ExportServiceAbstraction } from '../abstractions/export.service';\nimport { FolderService } from '../abstractions/folder.service';\n\nimport { CipherView } from '../models/view/cipherView';\nimport { CollectionView } from '../models/view/collectionView';\nimport { FolderView } from '../models/view/folderView';\n\nimport { Cipher } from '../models/domain/cipher';\nimport { Collection } from '../models/domain/collection';\nimport { Folder } from '../models/domain/folder';\n\nimport { CipherData } from '../models/data/cipherData';\nimport { CollectionData } from '../models/data/collectionData';\nimport { CollectionDetailsResponse } from '../models/response/collectionResponse';\n\nimport { CipherWithIds as CipherExport } from '../models/export/cipherWithIds';\nimport { CollectionWithId as CollectionExport } from '../models/export/collectionWithId';\nimport { FolderWithId as FolderExport } from '../models/export/folderWithId';\n\nexport class ExportService implements ExportServiceAbstraction {\n constructor(private folderService: FolderService, private cipherService: CipherService,\n private apiService: ApiService) { }\n\n async getExport(format: 'csv' | 'json' | 'encrypted_json' = 'csv'): Promise {\n if (format === 'encrypted_json') {\n return this.getEncryptedExport();\n } else {\n return this.getDecryptedExport(format);\n }\n }\n\n async getOrganizationExport(organizationId: string,\n format: 'csv' | 'json' | 'encrypted_json' = 'csv'): Promise {\n if (format === 'encrypted_json') {\n return this.getOrganizationEncryptedExport(organizationId);\n } else {\n return this.getOrganizationDecryptedExport(organizationId, format);\n }\n }\n\n getFileName(prefix: string = null, extension: string = 'csv'): string {\n const now = new Date();\n const dateString =\n now.getFullYear() + '' + this.padNumber(now.getMonth() + 1, 2) + '' + this.padNumber(now.getDate(), 2) +\n this.padNumber(now.getHours(), 2) + '' + this.padNumber(now.getMinutes(), 2) +\n this.padNumber(now.getSeconds(), 2);\n\n return 'bitwarden' + (prefix ? ('_' + prefix) : '') + '_export_' + dateString + '.' + extension;\n }\n\n private async getDecryptedExport(format: 'json' | 'csv'): Promise {\n let decFolders: FolderView[] = [];\n let decCiphers: CipherView[] = [];\n const promises = [];\n\n promises.push(this.folderService.getAllDecrypted().then((folders) => {\n decFolders = folders;\n }));\n\n promises.push(this.cipherService.getAllDecrypted().then((ciphers) => {\n decCiphers = ciphers.filter(f => f.deletedDate == null);\n }));\n\n await Promise.all(promises);\n\n if (format === 'csv') {\n const foldersMap = new Map();\n decFolders.forEach((f) => {\n if (f.id != null) {\n foldersMap.set(f.id, f);\n }\n });\n\n const exportCiphers: any[] = [];\n decCiphers.forEach((c) => {\n // only export logins and secure notes\n if (c.type !== CipherType.Login && c.type !== CipherType.SecureNote) {\n return;\n }\n if (c.organizationId != null) {\n return;\n }\n\n const cipher: any = {};\n cipher.folder = c.folderId != null && foldersMap.has(c.folderId) ?\n foldersMap.get(c.folderId).name : null;\n cipher.favorite = c.favorite ? 1 : null;\n this.buildCommonCipher(cipher, c);\n exportCiphers.push(cipher);\n });\n\n return papa.unparse(exportCiphers);\n } else {\n const jsonDoc: any = {\n encrypted: false,\n folders: [],\n items: [],\n };\n\n decFolders.forEach((f) => {\n if (f.id == null) {\n return;\n }\n const folder = new FolderExport();\n folder.build(f);\n jsonDoc.folders.push(folder);\n });\n\n decCiphers.forEach((c) => {\n if (c.organizationId != null) {\n return;\n }\n const cipher = new CipherExport();\n cipher.build(c);\n cipher.collectionIds = null;\n jsonDoc.items.push(cipher);\n });\n\n return JSON.stringify(jsonDoc, null, ' ');\n }\n }\n\n private async getEncryptedExport(): Promise {\n let folders: Folder[] = [];\n let ciphers: Cipher[] = [];\n const promises = [];\n\n promises.push(this.folderService.getAll().then((f) => {\n folders = f;\n }));\n\n promises.push(this.cipherService.getAll().then((c) => {\n ciphers = c.filter((f) => f.deletedDate == null);\n }));\n\n await Promise.all(promises);\n\n const jsonDoc: any = {\n encrypted: true,\n folders: [],\n items: [],\n };\n\n folders.forEach((f) => {\n if (f.id == null) {\n return;\n }\n const folder = new FolderExport();\n folder.build(f);\n jsonDoc.folders.push(folder);\n });\n\n ciphers.forEach((c) => {\n if (c.organizationId != null) {\n return;\n }\n const cipher = new CipherExport();\n cipher.build(c);\n cipher.collectionIds = null;\n jsonDoc.items.push(cipher);\n });\n\n return JSON.stringify(jsonDoc, null, ' ');\n }\n\n private async getOrganizationDecryptedExport(organizationId: string, format: 'json' | 'csv'): Promise {\n const decCollections: CollectionView[] = [];\n const decCiphers: CipherView[] = [];\n const promises = [];\n\n promises.push(this.apiService.getCollections(organizationId).then((collections) => {\n const collectionPromises: any = [];\n if (collections != null && collections.data != null && collections.data.length > 0) {\n collections.data.forEach((c) => {\n const collection = new Collection(new CollectionData(c as CollectionDetailsResponse));\n collectionPromises.push(collection.decrypt().then((decCol) => {\n decCollections.push(decCol);\n }));\n });\n }\n return Promise.all(collectionPromises);\n }));\n\n promises.push(this.apiService.getCiphersOrganization(organizationId).then((ciphers) => {\n const cipherPromises: any = [];\n if (ciphers != null && ciphers.data != null && ciphers.data.length > 0) {\n ciphers.data.filter((c) => c.deletedDate === null).forEach((c) => {\n const cipher = new Cipher(new CipherData(c));\n cipherPromises.push(cipher.decrypt().then((decCipher) => {\n decCiphers.push(decCipher);\n }));\n });\n }\n return Promise.all(cipherPromises);\n }));\n\n await Promise.all(promises);\n\n if (format === 'csv') {\n const collectionsMap = new Map();\n decCollections.forEach((c) => {\n collectionsMap.set(c.id, c);\n });\n\n const exportCiphers: any[] = [];\n decCiphers.forEach((c) => {\n // only export logins and secure notes\n if (c.type !== CipherType.Login && c.type !== CipherType.SecureNote) {\n return;\n }\n\n const cipher: any = {};\n cipher.collections = [];\n if (c.collectionIds != null) {\n cipher.collections = c.collectionIds.filter((id) => collectionsMap.has(id))\n .map((id) => collectionsMap.get(id).name);\n }\n this.buildCommonCipher(cipher, c);\n exportCiphers.push(cipher);\n });\n\n return papa.unparse(exportCiphers);\n } else {\n const jsonDoc: any = {\n encrypted: false,\n collections: [],\n items: [],\n };\n\n decCollections.forEach((c) => {\n const collection = new CollectionExport();\n collection.build(c);\n jsonDoc.collections.push(collection);\n });\n\n decCiphers.forEach((c) => {\n const cipher = new CipherExport();\n cipher.build(c);\n jsonDoc.items.push(cipher);\n });\n return JSON.stringify(jsonDoc, null, ' ');\n }\n }\n\n private async getOrganizationEncryptedExport(organizationId: string): Promise {\n const collections: Collection[] = [];\n const ciphers: Cipher[] = [];\n const promises = [];\n\n promises.push(this.apiService.getCollections(organizationId).then((c) => {\n const collectionPromises: any = [];\n if (c != null && c.data != null && c.data.length > 0) {\n c.data.forEach((r) => {\n const collection = new Collection(new CollectionData(r as CollectionDetailsResponse));\n collections.push(collection);\n });\n }\n return Promise.all(collectionPromises);\n }));\n\n promises.push(this.apiService.getCiphersOrganization(organizationId).then((c) => {\n const cipherPromises: any = [];\n if (c != null && c.data != null && c.data.length > 0) {\n c.data.filter((item) => item.deletedDate === null).forEach((item) => {\n const cipher = new Cipher(new CipherData(item));\n ciphers.push(cipher);\n });\n }\n return Promise.all(cipherPromises);\n }));\n\n await Promise.all(promises);\n\n const jsonDoc: any = {\n encrypted: true,\n collections: [],\n items: [],\n };\n\n collections.forEach((c) => {\n const collection = new CollectionExport();\n collection.build(c);\n jsonDoc.collections.push(collection);\n });\n\n ciphers.forEach((c) => {\n const cipher = new CipherExport();\n cipher.build(c);\n jsonDoc.items.push(cipher);\n });\n return JSON.stringify(jsonDoc, null, ' ');\n }\n\n private padNumber(num: number, width: number, padCharacter: string = '0'): string {\n const numString = num.toString();\n return numString.length >= width ? numString :\n new Array(width - numString.length + 1).join(padCharacter) + numString;\n }\n\n private buildCommonCipher(cipher: any, c: CipherView) {\n cipher.type = null;\n cipher.name = c.name;\n cipher.notes = c.notes;\n cipher.fields = null;\n // Login props\n cipher.login_uri = null;\n cipher.login_username = null;\n cipher.login_password = null;\n cipher.login_totp = null;\n\n if (c.fields) {\n c.fields.forEach((f: any) => {\n if (!cipher.fields) {\n cipher.fields = '';\n } else {\n cipher.fields += '\\n';\n }\n\n cipher.fields += ((f.name || '') + ': ' + f.value);\n });\n }\n\n switch (c.type) {\n case CipherType.Login:\n cipher.type = 'login';\n cipher.login_username = c.login.username;\n cipher.login_password = c.login.password;\n cipher.login_totp = c.login.totp;\n\n if (c.login.uris) {\n cipher.login_uri = [];\n c.login.uris.forEach((u) => {\n cipher.login_uri.push(u.uri);\n });\n }\n break;\n case CipherType.SecureNote:\n cipher.type = 'note';\n break;\n default:\n return;\n }\n\n return cipher;\n }\n}\n","import { CipherType } from '../../enums/cipherType';\n\nimport { CipherView } from '../view/cipherView';\n\nimport { Cipher as CipherDomain } from '../domain/cipher';\nimport { CipherString } from '../domain/cipherString';\n\nimport { Card } from './card';\nimport { Field } from './field';\nimport { Identity } from './identity';\nimport { Login } from './login';\nimport { SecureNote } from './secureNote';\n\nexport class Cipher {\n static template(): Cipher {\n const req = new Cipher();\n req.organizationId = null;\n req.folderId = null;\n req.type = CipherType.Login;\n req.name = 'Item name';\n req.notes = 'Some notes about this item.';\n req.favorite = false;\n req.fields = [];\n req.login = null;\n req.secureNote = null;\n req.card = null;\n req.identity = null;\n return req;\n }\n\n static toView(req: Cipher, view = new CipherView()) {\n view.type = req.type;\n view.folderId = req.folderId;\n if (view.organizationId == null) {\n view.organizationId = req.organizationId;\n }\n view.name = req.name;\n view.notes = req.notes;\n view.favorite = req.favorite;\n\n if (req.fields != null) {\n view.fields = req.fields.map((f) => Field.toView(f));\n }\n\n switch (req.type) {\n case CipherType.Login:\n view.login = Login.toView(req.login);\n break;\n case CipherType.SecureNote:\n view.secureNote = SecureNote.toView(req.secureNote);\n break;\n case CipherType.Card:\n view.card = Card.toView(req.card);\n break;\n case CipherType.Identity:\n view.identity = Identity.toView(req.identity);\n break;\n }\n\n return view;\n }\n\n static toDomain(req: Cipher, domain = new CipherDomain()) {\n domain.type = req.type;\n domain.folderId = req.folderId;\n if (domain.organizationId == null) {\n domain.organizationId = req.organizationId;\n }\n domain.name = req.name != null ? new CipherString(req.name) : null;\n domain.notes = req.notes != null ? new CipherString(req.notes) : null;\n domain.favorite = req.favorite;\n\n if (req.fields != null) {\n domain.fields = req.fields.map((f) => Field.toDomain(f));\n }\n\n switch (req.type) {\n case CipherType.Login:\n domain.login = Login.toDomain(req.login);\n break;\n case CipherType.SecureNote:\n domain.secureNote = SecureNote.toDomain(req.secureNote);\n break;\n case CipherType.Card:\n domain.card = Card.toDomain(req.card);\n break;\n case CipherType.Identity:\n domain.identity = Identity.toDomain(req.identity);\n break;\n }\n\n return domain;\n }\n\n type: CipherType;\n folderId: string;\n organizationId: string;\n name: string;\n notes: string;\n favorite: boolean;\n fields: Field[];\n login: Login;\n secureNote: SecureNote;\n card: Card;\n identity: Identity;\n\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\n build(o: CipherView | CipherDomain) {\n this.organizationId = o.organizationId;\n this.folderId = o.folderId;\n this.type = o.type;\n\n if (o instanceof CipherView) {\n this.name = o.name;\n this.notes = o.notes;\n } else {\n this.name = o.name?.encryptedString;\n this.notes = o.notes?.encryptedString;\n }\n\n this.favorite = o.favorite;\n\n if (o.fields != null) {\n if (o instanceof CipherView) {\n this.fields = o.fields.map((f) => new Field(f));\n } else {\n this.fields = o.fields.map((f) => new Field(f));\n }\n }\n\n switch (o.type) {\n case CipherType.Login:\n this.login = new Login(o.login);\n break;\n case CipherType.SecureNote:\n this.secureNote = new SecureNote(o.secureNote);\n break;\n case CipherType.Card:\n this.card = new Card(o.card);\n break;\n case CipherType.Identity:\n this.identity = new Identity(o.identity);\n break;\n }\n }\n}\n","import { CardView } from '../view/cardView';\n\nimport { Card as CardDomain } from '../domain/card';\nimport { CipherString } from '../domain/cipherString';\n\nexport class Card {\n static template(): Card {\n const req = new Card();\n req.cardholderName = 'John Doe';\n req.brand = 'visa';\n req.number = '4242424242424242';\n req.expMonth = '04';\n req.expYear = '2023';\n req.code = '123';\n return req;\n }\n\n static toView(req: Card, view = new CardView()) {\n view.cardholderName = req.cardholderName;\n view.brand = req.brand;\n view.number = req.number;\n view.expMonth = req.expMonth;\n view.expYear = req.expYear;\n view.code = req.code;\n return view;\n }\n\n static toDomain(req: Card, domain = new CardDomain()) {\n domain.cardholderName = req.cardholderName != null ? new CipherString(req.cardholderName) : null;\n domain.brand = req.brand != null ? new CipherString(req.brand) : null;\n domain.number = req.number != null ? new CipherString(req.number) : null;\n domain.expMonth = req.expMonth != null ? new CipherString(req.expMonth) : null;\n domain.expYear = req.expYear != null ? new CipherString(req.expYear) : null;\n domain.code = req.code != null ? new CipherString(req.code) : null;\n return domain;\n }\n\n cardholderName: string;\n brand: string;\n number: string;\n expMonth: string;\n expYear: string;\n code: string;\n\n constructor(o?: CardView | CardDomain) {\n if (o == null) {\n return;\n }\n\n if (o instanceof CardView) {\n this.cardholderName = o.cardholderName;\n this.brand = o.brand;\n this.number = o.number;\n this.expMonth = o.expMonth;\n this.expYear = o.expYear;\n this.code = o.code;\n } else {\n this.cardholderName = o.cardholderName?.encryptedString;\n this.brand = o.brand?.encryptedString;\n this.number = o.number?.encryptedString;\n this.expMonth = o.expMonth?.encryptedString;\n this.expYear = o.expYear?.encryptedString;\n this.code = o.code?.encryptedString;\n }\n }\n}\n","import { FieldType } from '../../enums/fieldType';\n\nimport { FieldView } from '../view/fieldView';\n\nimport { CipherString } from '../domain/cipherString';\nimport { Field as FieldDomain } from '../domain/field';\n\nexport class Field {\n static template(): Field {\n const req = new Field();\n req.name = 'Field name';\n req.value = 'Some value';\n req.type = FieldType.Text;\n return req;\n }\n\n static toView(req: Field, view = new FieldView()) {\n view.type = req.type;\n view.value = req.value;\n view.name = req.name;\n return view;\n }\n\n static toDomain(req: Field, domain = new FieldDomain()) {\n domain.type = req.type;\n domain.value = req.value != null ? new CipherString(req.value) : null;\n domain.name = req.name != null ? new CipherString(req.name) : null;\n return domain;\n }\n\n name: string;\n value: string;\n type: FieldType;\n\n constructor(o?: FieldView | FieldDomain) {\n if (o == null) {\n return;\n }\n\n if (o instanceof FieldView) {\n this.name = o.name;\n this.value = o.value;\n } else {\n this.name = o.name?.encryptedString;\n this.value = o.value?.encryptedString;\n }\n this.type = o.type;\n }\n}\n","import { IdentityView } from '../view/identityView';\n\nimport { CipherString } from '../domain/cipherString';\nimport { Identity as IdentityDomain } from '../domain/identity';\n\nexport class Identity {\n static template(): Identity {\n const req = new Identity();\n req.title = 'Mr';\n req.firstName = 'John';\n req.middleName = 'William';\n req.lastName = 'Doe';\n req.address1 = '123 Any St';\n req.address2 = 'Apt #123';\n req.address3 = null;\n req.city = 'New York';\n req.state = 'NY';\n req.postalCode = '10001';\n req.country = 'US';\n req.company = 'Acme Inc.';\n req.email = 'john@company.com';\n req.phone = '5555551234';\n req.ssn = '000-123-4567';\n req.username = 'jdoe';\n req.passportNumber = 'US-123456789';\n req.licenseNumber = 'D123-12-123-12333';\n return req;\n }\n\n static toView(req: Identity, view = new IdentityView()) {\n view.title = req.title;\n view.firstName = req.firstName;\n view.middleName = req.middleName;\n view.lastName = req.lastName;\n view.address1 = req.address1;\n view.address2 = req.address2;\n view.address3 = req.address3;\n view.city = req.city;\n view.state = req.state;\n view.postalCode = req.postalCode;\n view.country = req.country;\n view.company = req.company;\n view.email = req.email;\n view.phone = req.phone;\n view.ssn = req.ssn;\n view.username = req.username;\n view.passportNumber = req.passportNumber;\n view.licenseNumber = req.licenseNumber;\n return view;\n }\n\n static toDomain(req: Identity, domain = new IdentityDomain()) {\n domain.title = req.title != null ? new CipherString(req.title) : null;\n domain.firstName = req.firstName != null ? new CipherString(req.firstName) : null;\n domain.middleName = req.middleName != null ? new CipherString(req.middleName) : null;\n domain.lastName = req.lastName != null ? new CipherString(req.lastName) : null;\n domain.address1 = req.address1 != null ? new CipherString(req.address1) : null;\n domain.address2 = req.address2 != null ? new CipherString(req.address2) : null;\n domain.address3 = req.address3 != null ? new CipherString(req.address3) : null;\n domain.city = req.city != null ? new CipherString(req.city) : null;\n domain.state = req.state != null ? new CipherString(req.state) : null;\n domain.postalCode = req.postalCode != null ? new CipherString(req.postalCode) : null;\n domain.country = req.country != null ? new CipherString(req.country) : null;\n domain.company = req.company != null ? new CipherString(req.company) : null;\n domain.email = req.email != null ? new CipherString(req.email) : null;\n domain.phone = req.phone != null ? new CipherString(req.phone) : null;\n domain.ssn = req.ssn != null ? new CipherString(req.ssn) : null;\n domain.username = req.username != null ? new CipherString(req.username) : null;\n domain.passportNumber = req.passportNumber != null ? new CipherString(req.passportNumber) : null;\n domain.licenseNumber = req.licenseNumber != null ? new CipherString(req.licenseNumber) : null;\n return domain;\n }\n\n title: string;\n firstName: string;\n middleName: string;\n lastName: string;\n address1: string;\n address2: string;\n address3: string;\n city: string;\n state: string;\n postalCode: string;\n country: string;\n company: string;\n email: string;\n phone: string;\n ssn: string;\n username: string;\n passportNumber: string;\n licenseNumber: string;\n\n constructor(o?: IdentityView | IdentityDomain) {\n if (o == null) {\n return;\n }\n\n if (o instanceof IdentityView) {\n this.title = o.title;\n this.firstName = o.firstName;\n this.middleName = o.middleName;\n this.lastName = o.lastName;\n this.address1 = o.address1;\n this.address2 = o.address2;\n this.address3 = o.address3;\n this.city = o.city;\n this.state = o.state;\n this.postalCode = o.postalCode;\n this.country = o.country;\n this.company = o.company;\n this.email = o.email;\n this.phone = o.phone;\n this.ssn = o.ssn;\n this.username = o.username;\n this.passportNumber = o.passportNumber;\n this.licenseNumber = o.licenseNumber;\n } else {\n this.title = o.title?.encryptedString;\n this.firstName = o.firstName?.encryptedString;\n this.middleName = o.middleName?.encryptedString;\n this.lastName = o.lastName?.encryptedString;\n this.address1 = o.address1?.encryptedString;\n this.address2 = o.address2?.encryptedString;\n this.address3 = o.address3?.encryptedString;\n this.city = o.city?.encryptedString;\n this.state = o.state?.encryptedString;\n this.postalCode = o.postalCode?.encryptedString;\n this.country = o.country?.encryptedString;\n this.company = o.company?.encryptedString;\n this.email = o.email?.encryptedString;\n this.phone = o.phone?.encryptedString;\n this.ssn = o.ssn?.encryptedString;\n this.username = o.username?.encryptedString;\n this.passportNumber = o.passportNumber?.encryptedString;\n this.licenseNumber = o.licenseNumber?.encryptedString;\n }\n }\n}\n","import { LoginUri } from './loginUri';\n\nimport { LoginView } from '../view/loginView';\n\nimport { CipherString } from '../domain/cipherString';\nimport { Login as LoginDomain } from '../domain/login';\n\nexport class Login {\n static template(): Login {\n const req = new Login();\n req.uris = [];\n req.username = 'jdoe';\n req.password = 'myp@ssword123';\n req.totp = 'JBSWY3DPEHPK3PXP';\n return req;\n }\n\n static toView(req: Login, view = new LoginView()) {\n if (req.uris != null) {\n view.uris = req.uris.map((u) => LoginUri.toView(u));\n }\n view.username = req.username;\n view.password = req.password;\n view.totp = req.totp;\n return view;\n }\n\n static toDomain(req: Login, domain = new LoginDomain()) {\n if (req.uris != null) {\n domain.uris = req.uris.map((u) => LoginUri.toDomain(u));\n }\n domain.username = req.username != null ? new CipherString(req.username) : null;\n domain.password = req.password != null ? new CipherString(req.password) : null;\n domain.totp = req.totp != null ? new CipherString(req.totp) : null;\n return domain;\n }\n\n uris: LoginUri[];\n username: string;\n password: string;\n totp: string;\n\n constructor(o?: LoginView | LoginDomain) {\n if (o == null) {\n return;\n }\n\n if (o.uris != null) {\n if (o instanceof LoginView) {\n this.uris = o.uris.map((u) => new LoginUri(u));\n } else {\n this.uris = o.uris.map((u) => new LoginUri(u));\n }\n }\n\n if (o instanceof LoginView) {\n this.username = o.username;\n this.password = o.password;\n this.totp = o.totp;\n } else {\n this.username = o.username?.encryptedString;\n this.password = o.password?.encryptedString;\n this.totp = o.totp?.encryptedString;\n }\n }\n}\n","import { UriMatchType } from '../../enums/uriMatchType';\n\nimport { LoginUriView } from '../view/loginUriView';\n\nimport { CipherString } from '../domain/cipherString';\nimport { LoginUri as LoginUriDomain } from '../domain/loginUri';\n\nexport class LoginUri {\n static template(): LoginUri {\n const req = new LoginUri();\n req.uri = 'https://google.com';\n req.match = null;\n return req;\n }\n\n static toView(req: LoginUri, view = new LoginUriView()) {\n view.uri = req.uri;\n view.match = req.match;\n return view;\n }\n\n static toDomain(req: LoginUri, domain = new LoginUriDomain()) {\n domain.uri = req.uri != null ? new CipherString(req.uri) : null;\n domain.match = req.match;\n return domain;\n }\n\n uri: string;\n match: UriMatchType = null;\n\n constructor(o?: LoginUriView | LoginUriDomain) {\n if (o == null) {\n return;\n }\n\n if (o instanceof LoginUriView) {\n this.uri = o.uri;\n } else {\n this.uri = o.uri?.encryptedString;\n }\n this.match = o.match;\n }\n}\n","import { SecureNoteType } from '../../enums/secureNoteType';\n\nimport { SecureNoteView } from '../view/secureNoteView';\n\nimport { SecureNote as SecureNoteDomain } from '../domain/secureNote';\n\nexport class SecureNote {\n static template(): SecureNote {\n const req = new SecureNote();\n req.type = SecureNoteType.Generic;\n return req;\n }\n\n static toView(req: SecureNote, view = new SecureNoteView()) {\n view.type = req.type;\n return view;\n }\n\n static toDomain(req: SecureNote, view = new SecureNoteDomain()) {\n view.type = req.type;\n return view;\n }\n\n type: SecureNoteType;\n\n constructor(o?: SecureNoteView | SecureNoteDomain) {\n if (o == null) {\n return;\n }\n\n this.type = o.type;\n }\n}\n","import { CollectionView } from '../view/collectionView';\n\nimport { CipherString } from '../domain/cipherString';\nimport { Collection as CollectionDomain } from '../domain/collection';\n\nexport class Collection {\n static template(): Collection {\n const req = new Collection();\n req.organizationId = '00000000-0000-0000-0000-000000000000';\n req.name = 'Collection name';\n req.externalId = null;\n return req;\n }\n\n static toView(req: Collection, view = new CollectionView()) {\n view.name = req.name;\n view.externalId = req.externalId;\n if (view.organizationId == null) {\n view.organizationId = req.organizationId;\n }\n return view;\n }\n\n static toDomain(req: Collection, domain = new CollectionDomain()) {\n domain.name = req.name != null ? new CipherString(req.name) : null;\n domain.externalId = req.externalId;\n if (domain.organizationId == null) {\n domain.organizationId = req.organizationId;\n }\n return domain;\n }\n\n organizationId: string;\n name: string;\n externalId: string;\n\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\n build(o: CollectionView | CollectionDomain) {\n this.organizationId = o.organizationId;\n if (o instanceof CollectionView) {\n this.name = o.name;\n } else {\n this.name = o.name?.encryptedString;\n }\n this.externalId = o.externalId;\n }\n}\n","import { FolderView } from '../view/folderView';\n\nimport { CipherString } from '../domain/cipherString';\nimport { Folder as FolderDomain } from '../domain/folder';\n\nexport class Folder {\n static template(): Folder {\n const req = new Folder();\n req.name = 'Folder name';\n return req;\n }\n\n static toView(req: Folder, view = new FolderView()) {\n view.name = req.name;\n return view;\n }\n\n static toDomain(req: Folder, domain = new FolderDomain()) {\n domain.name = req.name != null ? new CipherString(req.name) : null;\n return domain;\n }\n\n name: string;\n\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\n build(o: FolderView | FolderDomain) {\n if (o instanceof FolderView) {\n this.name = o.name;\n } else {\n this.name = o.name?.encryptedString;\n }\n }\n}\n","import { ApiService } from '../abstractions/api.service';\nimport { CipherService } from '../abstractions/cipher.service';\nimport { CollectionService } from '../abstractions/collection.service';\nimport { FolderService } from '../abstractions/folder.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport {\n ImportOption,\n ImportService as ImportServiceAbstraction,\n} from '../abstractions/import.service';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherType } from '../enums/cipherType';\n\nimport { Utils } from '../misc/utils';\n\nimport { CipherRequest } from '../models/request/cipherRequest';\nimport { CollectionRequest } from '../models/request/collectionRequest';\nimport { FolderRequest } from '../models/request/folderRequest';\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\nimport { KvpRequest } from '../models/request/kvpRequest';\n\nimport { CipherView } from '../models/view/cipherView';\n\nimport { AscendoCsvImporter } from '../importers/ascendoCsvImporter';\nimport { AvastCsvImporter } from '../importers/avastCsvImporter';\nimport { AvastJsonImporter } from '../importers/avastJsonImporter';\nimport { AviraCsvImporter } from '../importers/aviraCsvImporter';\nimport { BitwardenCsvImporter } from '../importers/bitwardenCsvImporter';\nimport { BitwardenJsonImporter } from '../importers/bitwardenJsonImporter';\nimport { BlackBerryCsvImporter } from '../importers/blackBerryCsvImporter';\nimport { BlurCsvImporter } from '../importers/blurCsvImporter';\nimport { ButtercupCsvImporter } from '../importers/buttercupCsvImporter';\nimport { ChromeCsvImporter } from '../importers/chromeCsvImporter';\nimport { ClipperzHtmlImporter } from '../importers/clipperzHtmlImporter';\nimport { CodebookCsvImporter } from '../importers/codebookCsvImporter';\nimport { DashlaneJsonImporter } from '../importers/dashlaneJsonImporter';\nimport { EncryptrCsvImporter } from '../importers/encryptrCsvImporter';\nimport { EnpassCsvImporter } from '../importers/enpassCsvImporter';\nimport { EnpassJsonImporter } from '../importers/enpassJsonImporter';\nimport { FirefoxCsvImporter } from '../importers/firefoxCsvImporter';\nimport { FSecureFskImporter } from '../importers/fsecureFskImporter';\nimport { GnomeJsonImporter } from '../importers/gnomeJsonImporter';\nimport { Importer } from '../importers/importer';\nimport { KasperskyTxtImporter } from '../importers/kasperskyTxtImporter';\nimport { KeePass2XmlImporter } from '../importers/keepass2XmlImporter';\nimport { KeePassXCsvImporter } from '../importers/keepassxCsvImporter';\nimport { KeeperCsvImporter } from '../importers/keeperCsvImporter';\nimport { LastPassCsvImporter } from '../importers/lastpassCsvImporter';\nimport { LogMeOnceCsvImporter } from '../importers/logMeOnceCsvImporter';\nimport { MeldiumCsvImporter } from '../importers/meldiumCsvImporter';\nimport { MSecureCsvImporter } from '../importers/msecureCsvImporter';\nimport { MykiCsvImporter } from '../importers/mykiCsvImporter';\nimport { OnePassword1PifImporter } from '../importers/onepasswordImporters/onepassword1PifImporter';\nimport { OnePasswordMacCsvImporter } from '../importers/onepasswordImporters/onepasswordMacCsvImporter';\nimport { OnePasswordWinCsvImporter } from '../importers/onepasswordImporters/onepasswordWinCsvImporter';\nimport { PadlockCsvImporter } from '../importers/padlockCsvImporter';\nimport { PassKeepCsvImporter } from '../importers/passkeepCsvImporter';\nimport { PassmanJsonImporter } from '../importers/passmanJsonImporter';\nimport { PasspackCsvImporter } from '../importers/passpackCsvImporter';\nimport { PasswordAgentCsvImporter } from '../importers/passwordAgentCsvImporter';\nimport { PasswordBossJsonImporter } from '../importers/passwordBossJsonImporter';\nimport { PasswordDragonXmlImporter } from '../importers/passwordDragonXmlImporter';\nimport { PasswordSafeXmlImporter } from '../importers/passwordSafeXmlImporter';\nimport { PasswordWalletTxtImporter } from '../importers/passwordWalletTxtImporter';\nimport { RememBearCsvImporter } from '../importers/rememBearCsvImporter';\nimport { RoboFormCsvImporter } from '../importers/roboformCsvImporter';\nimport { SafeInCloudXmlImporter } from '../importers/safeInCloudXmlImporter';\nimport { SaferPassCsvImporter } from '../importers/saferpassCsvImport';\nimport { SecureSafeCsvImporter } from '../importers/secureSafeCsvImporter';\nimport { SplashIdCsvImporter } from '../importers/splashIdCsvImporter';\nimport { StickyPasswordXmlImporter } from '../importers/stickyPasswordXmlImporter';\nimport { TrueKeyCsvImporter } from '../importers/truekeyCsvImporter';\nimport { UpmCsvImporter } from '../importers/upmCsvImporter';\nimport { YotiCsvImporter } from '../importers/yotiCsvImporter';\nimport { ZohoVaultCsvImporter } from '../importers/zohoVaultCsvImporter';\n\nexport class ImportService implements ImportServiceAbstraction {\n featuredImportOptions = [\n { id: 'bitwardenjson', name: 'Bitwarden (json)' },\n { id: 'bitwardencsv', name: 'Bitwarden (csv)' },\n { id: 'lastpasscsv', name: 'LastPass (csv)' },\n { id: 'chromecsv', name: 'Chrome (csv)' },\n { id: 'firefoxcsv', name: 'Firefox (csv)' },\n { id: 'keepass2xml', name: 'KeePass 2 (xml)' },\n { id: '1password1pif', name: '1Password (1pif)' },\n { id: 'dashlanejson', name: 'Dashlane (json)' },\n ];\n\n regularImportOptions: ImportOption[] = [\n { id: 'keepassxcsv', name: 'KeePassX (csv)' },\n { id: '1passwordwincsv', name: '1Password 6 and 7 Windows (csv)' },\n { id: '1passwordmaccsv', name: '1Password 6 and 7 Mac (csv)' },\n { id: 'roboformcsv', name: 'RoboForm (csv)' },\n { id: 'keepercsv', name: 'Keeper (csv)' },\n { id: 'enpasscsv', name: 'Enpass (csv)' },\n { id: 'enpassjson', name: 'Enpass (json)' },\n { id: 'safeincloudxml', name: 'SafeInCloud (xml)' },\n { id: 'pwsafexml', name: 'Password Safe (xml)' },\n { id: 'stickypasswordxml', name: 'Sticky Password (xml)' },\n { id: 'msecurecsv', name: 'mSecure (csv)' },\n { id: 'truekeycsv', name: 'True Key (csv)' },\n { id: 'passwordbossjson', name: 'Password Boss (json)' },\n { id: 'zohovaultcsv', name: 'Zoho Vault (csv)' },\n { id: 'splashidcsv', name: 'SplashID (csv)' },\n { id: 'passworddragonxml', name: 'Password Dragon (xml)' },\n { id: 'padlockcsv', name: 'Padlock (csv)' },\n { id: 'passboltcsv', name: 'Passbolt (csv)' },\n { id: 'clipperzhtml', name: 'Clipperz (html)' },\n { id: 'aviracsv', name: 'Avira (csv)' },\n { id: 'saferpasscsv', name: 'SaferPass (csv)' },\n { id: 'upmcsv', name: 'Universal Password Manager (csv)' },\n { id: 'ascendocsv', name: 'Ascendo DataVault (csv)' },\n { id: 'meldiumcsv', name: 'Meldium (csv)' },\n { id: 'passkeepcsv', name: 'PassKeep (csv)' },\n { id: 'operacsv', name: 'Opera (csv)' },\n { id: 'vivaldicsv', name: 'Vivaldi (csv)' },\n { id: 'gnomejson', name: 'GNOME Passwords and Keys/Seahorse (json)' },\n { id: 'blurcsv', name: 'Blur (csv)' },\n { id: 'passwordagentcsv', name: 'Password Agent (csv)' },\n { id: 'passpackcsv', name: 'Passpack (csv)' },\n { id: 'passmanjson', name: 'Passman (json)' },\n { id: 'avastcsv', name: 'Avast Passwords (csv)' },\n { id: 'avastjson', name: 'Avast Passwords (json)' },\n { id: 'fsecurefsk', name: 'F-Secure KEY (fsk)' },\n { id: 'kasperskytxt', name: 'Kaspersky Password Manager (txt)' },\n { id: 'remembearcsv', name: 'RememBear (csv)' },\n { id: 'passwordwallettxt', name: 'PasswordWallet (txt)' },\n { id: 'mykicsv', name: 'Myki (csv)' },\n { id: 'securesafecsv', name: 'SecureSafe (csv)' },\n { id: 'logmeoncecsv', name: 'LogMeOnce (csv)' },\n { id: 'blackberrycsv', name: 'BlackBerry Password Keeper (csv)' },\n { id: 'buttercupcsv', name: 'Buttercup (csv)' },\n { id: 'codebookcsv', name: 'Codebook (csv)' },\n { id: 'encryptrcsv', name: 'Encryptr (csv)' },\n { id: 'yoticsv', name: 'Yoti (csv)' },\n ];\n\n constructor(private cipherService: CipherService, private folderService: FolderService,\n private apiService: ApiService, private i18nService: I18nService,\n private collectionService: CollectionService) { }\n\n getImportOptions(): ImportOption[] {\n return this.featuredImportOptions.concat(this.regularImportOptions);\n }\n\n async import(importer: Importer, fileContents: string, organizationId: string = null): Promise {\n const importResult = await importer.parse(fileContents);\n if (importResult.success) {\n if (importResult.folders.length === 0 && importResult.ciphers.length === 0) {\n return new Error(this.i18nService.t('importNothingError'));\n } else if (importResult.ciphers.length > 0) {\n const halfway = Math.floor(importResult.ciphers.length / 2);\n const last = importResult.ciphers.length - 1;\n\n if (this.badData(importResult.ciphers[0]) &&\n this.badData(importResult.ciphers[halfway]) &&\n this.badData(importResult.ciphers[last])) {\n return new Error(this.i18nService.t('importFormatError'));\n }\n }\n await this.postImport(importResult, organizationId);\n return null;\n } else {\n return new Error(this.i18nService.t('importFormatError'));\n }\n }\n\n getImporter(format: string, organizationId: string = null): Importer {\n const importer = this.getImporterInstance(format);\n if (importer == null) {\n return null;\n }\n importer.organizationId = organizationId;\n return importer;\n }\n\n private getImporterInstance(format: string) {\n if (format == null || format === '') {\n return null;\n }\n\n switch (format) {\n case 'bitwardencsv':\n return new BitwardenCsvImporter();\n case 'bitwardenjson':\n return new BitwardenJsonImporter();\n case 'lastpasscsv':\n case 'passboltcsv':\n return new LastPassCsvImporter();\n case 'keepassxcsv':\n return new KeePassXCsvImporter();\n case 'aviracsv':\n return new AviraCsvImporter();\n case 'blurcsv':\n return new BlurCsvImporter();\n case 'safeincloudxml':\n return new SafeInCloudXmlImporter();\n case 'padlockcsv':\n return new PadlockCsvImporter();\n case 'keepass2xml':\n return new KeePass2XmlImporter();\n case 'chromecsv':\n case 'operacsv':\n case 'vivaldicsv':\n return new ChromeCsvImporter();\n case 'firefoxcsv':\n return new FirefoxCsvImporter();\n case 'upmcsv':\n return new UpmCsvImporter();\n case 'saferpasscsv':\n return new SaferPassCsvImporter();\n case 'meldiumcsv':\n return new MeldiumCsvImporter();\n case '1password1pif':\n return new OnePassword1PifImporter();\n case '1passwordwincsv':\n return new OnePasswordWinCsvImporter();\n case '1passwordmaccsv':\n return new OnePasswordMacCsvImporter();\n case 'keepercsv':\n return new KeeperCsvImporter();\n case 'passworddragonxml':\n return new PasswordDragonXmlImporter();\n case 'enpasscsv':\n return new EnpassCsvImporter();\n case 'enpassjson':\n return new EnpassJsonImporter();\n case 'pwsafexml':\n return new PasswordSafeXmlImporter();\n case 'dashlanejson':\n return new DashlaneJsonImporter();\n case 'msecurecsv':\n return new MSecureCsvImporter();\n case 'stickypasswordxml':\n return new StickyPasswordXmlImporter();\n case 'truekeycsv':\n return new TrueKeyCsvImporter();\n case 'clipperzhtml':\n return new ClipperzHtmlImporter();\n case 'roboformcsv':\n return new RoboFormCsvImporter();\n case 'ascendocsv':\n return new AscendoCsvImporter();\n case 'passwordbossjson':\n return new PasswordBossJsonImporter();\n case 'zohovaultcsv':\n return new ZohoVaultCsvImporter();\n case 'splashidcsv':\n return new SplashIdCsvImporter();\n case 'passkeepcsv':\n return new PassKeepCsvImporter();\n case 'gnomejson':\n return new GnomeJsonImporter();\n case 'passwordagentcsv':\n return new PasswordAgentCsvImporter();\n case 'passpackcsv':\n return new PasspackCsvImporter();\n case 'passmanjson':\n return new PassmanJsonImporter();\n case 'avastcsv':\n return new AvastCsvImporter();\n case 'avastjson':\n return new AvastJsonImporter();\n case 'fsecurefsk':\n return new FSecureFskImporter();\n case 'kasperskytxt':\n return new KasperskyTxtImporter();\n case 'remembearcsv':\n return new RememBearCsvImporter();\n case 'passwordwallettxt':\n return new PasswordWalletTxtImporter();\n case 'mykicsv':\n return new MykiCsvImporter();\n case 'securesafecsv':\n return new SecureSafeCsvImporter();\n case 'logmeoncecsv':\n return new LogMeOnceCsvImporter();\n case 'blackberrycsv':\n return new BlackBerryCsvImporter();\n case 'buttercupcsv':\n return new ButtercupCsvImporter();\n case 'codebookcsv':\n return new CodebookCsvImporter();\n case 'encryptrcsv':\n return new EncryptrCsvImporter();\n case 'yoticsv':\n return new YotiCsvImporter();\n default:\n return null;\n }\n }\n\n private async postImport(importResult: ImportResult, organizationId: string = null) {\n if (organizationId == null) {\n const request = new ImportCiphersRequest();\n for (let i = 0; i < importResult.ciphers.length; i++) {\n const c = await this.cipherService.encrypt(importResult.ciphers[i]);\n request.ciphers.push(new CipherRequest(c));\n }\n if (importResult.folders != null) {\n for (let i = 0; i < importResult.folders.length; i++) {\n const f = await this.folderService.encrypt(importResult.folders[i]);\n request.folders.push(new FolderRequest(f));\n }\n }\n if (importResult.folderRelationships != null) {\n importResult.folderRelationships.forEach((r) =>\n request.folderRelationships.push(new KvpRequest(r[0], r[1])));\n }\n return await this.apiService.postImportCiphers(request);\n } else {\n const request = new ImportOrganizationCiphersRequest();\n for (let i = 0; i < importResult.ciphers.length; i++) {\n importResult.ciphers[i].organizationId = organizationId;\n const c = await this.cipherService.encrypt(importResult.ciphers[i]);\n request.ciphers.push(new CipherRequest(c));\n }\n if (importResult.collections != null) {\n for (let i = 0; i < importResult.collections.length; i++) {\n importResult.collections[i].organizationId = organizationId;\n const c = await this.collectionService.encrypt(importResult.collections[i]);\n request.collections.push(new CollectionRequest(c));\n }\n }\n if (importResult.collectionRelationships != null) {\n importResult.collectionRelationships.forEach((r) =>\n request.collectionRelationships.push(new KvpRequest(r[0], r[1])));\n }\n return await this.apiService.postImportOrganizationCiphers(organizationId, request);\n }\n }\n\n private badData(c: CipherView) {\n return (c.name == null || c.name === '--') &&\n (c.type === CipherType.Login && c.login != null && Utils.isNullOrWhitespace(c.login.password));\n }\n}\n","import { CipherRequest } from './cipherRequest';\nimport { FolderRequest } from './folderRequest';\nimport { KvpRequest } from './kvpRequest';\n\nexport class ImportCiphersRequest {\n ciphers: CipherRequest[] = [];\n folders: FolderRequest[] = [];\n folderRelationships: KvpRequest[] = [];\n}\n","import { CipherRequest } from './cipherRequest';\nimport { CollectionRequest } from './collectionRequest';\nimport { KvpRequest } from './kvpRequest';\n\nexport class ImportOrganizationCiphersRequest {\n ciphers: CipherRequest[] = [];\n collections: CollectionRequest[] = [];\n collectionRelationships: KvpRequest[] = [];\n}\n","export class KvpRequest {\n key: TK;\n value: TV;\n\n constructor(key: TK, value: TV) {\n this.key = key;\n this.value = value;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class AscendoCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n if (value.length < 2) {\n return;\n }\n\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value[value.length - 1]);\n cipher.name = this.getValueOrDefault(value[0], '--');\n\n if (value.length > 2 && (value.length % 2) === 0) {\n for (let i = 0; i < value.length - 2; i += 2) {\n const val: string = value[i + 2];\n const field: string = value[i + 1];\n if (this.isNullOrWhitespace(val) || this.isNullOrWhitespace(field)) {\n continue;\n }\n\n const fieldLower = field.toLowerCase();\n if (cipher.login.password == null && this.passwordFieldNames.indexOf(fieldLower) > -1) {\n cipher.login.password = this.getValueOrDefault(val);\n } else if (cipher.login.username == null &&\n this.usernameFieldNames.indexOf(fieldLower) > -1) {\n cipher.login.username = this.getValueOrDefault(val);\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\n this.uriFieldNames.indexOf(fieldLower) > -1) {\n cipher.login.uris = this.makeUriArray(val);\n } else {\n this.processKvp(cipher, field, val);\n }\n }\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class AvastCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name);\n cipher.login.uris = this.makeUriArray(value.web);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.username = this.getValueOrDefault(value.login);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport class AvastJsonImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n if (results.logins != null) {\n results.logins.forEach((value: any) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.custName);\n cipher.notes = this.getValueOrDefault(value.note);\n cipher.login.uris = this.makeUriArray(value.url);\n cipher.login.password = this.getValueOrDefault(value.pwd);\n cipher.login.username = this.getValueOrDefault(value.loginName);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n }\n\n if (results.notes != null) {\n results.notes.forEach((value: any) => {\n const cipher = this.initLoginCipher();\n cipher.type = CipherType.SecureNote;\n cipher.secureNote.type = SecureNoteType.Generic;\n cipher.name = this.getValueOrDefault(value.label);\n cipher.notes = this.getValueOrDefault(value.text);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n }\n\n if (results.cards != null) {\n results.cards.forEach((value: any) => {\n const cipher = this.initLoginCipher();\n cipher.type = CipherType.Card;\n cipher.name = this.getValueOrDefault(value.custName);\n cipher.notes = this.getValueOrDefault(value.note);\n cipher.card.cardholderName = this.getValueOrDefault(value.holderName);\n cipher.card.number = this.getValueOrDefault(value.cardNumber);\n cipher.card.code = this.getValueOrDefault(value.cvv);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n if (value.expirationDate != null) {\n if (value.expirationDate.month != null) {\n cipher.card.expMonth = value.expirationDate.month + '';\n }\n if (value.expirationDate.year != null) {\n cipher.card.expYear = value.expirationDate.year + '';\n }\n }\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n }\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class AviraCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name,\n this.getValueOrDefault(this.nameFromUrl(value.website), '--'));\n cipher.login.uris = this.makeUriArray(value.website);\n cipher.login.password = this.getValueOrDefault(value.password);\n\n if (this.isNullOrWhitespace(value.username) && !this.isNullOrWhitespace(value.secondary_username)) {\n cipher.login.username = value.secondary_username;\n } else {\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.notes = this.getValueOrDefault(value.secondary_username);\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherView } from '../models/view/cipherView';\nimport { CollectionView } from '../models/view/collectionView';\nimport { FieldView } from '../models/view/fieldView';\nimport { FolderView } from '../models/view/folderView';\nimport { LoginView } from '../models/view/loginView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { FieldType } from '../enums/fieldType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport class BitwardenCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n if (this.organization && !this.isNullOrWhitespace(value.collections)) {\n const collections = (value.collections as string).split(',');\n collections.forEach((col) => {\n let addCollection = true;\n let collectionIndex = result.collections.length;\n\n for (let i = 0; i < result.collections.length; i++) {\n if (result.collections[i].name === col) {\n addCollection = false;\n collectionIndex = i;\n break;\n }\n }\n\n if (addCollection) {\n const collection = new CollectionView();\n collection.name = col;\n result.collections.push(collection);\n }\n\n result.collectionRelationships.push([result.ciphers.length, collectionIndex]);\n });\n } else if (!this.organization) {\n this.processFolder(result, value.folder);\n }\n\n const cipher = new CipherView();\n cipher.favorite = !this.organization && this.getValueOrDefault(value.favorite, '0') !== '0' ? true : false;\n cipher.type = CipherType.Login;\n cipher.notes = this.getValueOrDefault(value.notes);\n cipher.name = this.getValueOrDefault(value.name, '--');\n\n if (!this.isNullOrWhitespace(value.fields)) {\n const fields = this.splitNewLine(value.fields);\n for (let i = 0; i < fields.length; i++) {\n if (this.isNullOrWhitespace(fields[i])) {\n continue;\n }\n\n const delimPosition = fields[i].lastIndexOf(': ');\n if (delimPosition === -1) {\n continue;\n }\n\n if (cipher.fields == null) {\n cipher.fields = [];\n }\n\n const field = new FieldView();\n field.name = fields[i].substr(0, delimPosition);\n field.value = null;\n field.type = FieldType.Text;\n if (fields[i].length > (delimPosition + 2)) {\n field.value = fields[i].substr(delimPosition + 2);\n }\n cipher.fields.push(field);\n }\n }\n\n const valueType = value.type != null ? value.type.toLowerCase() : null;\n switch (valueType) {\n case 'note':\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n break;\n default:\n cipher.type = CipherType.Login;\n cipher.login = new LoginView();\n cipher.login.totp = this.getValueOrDefault(value.login_totp || value.totp);\n cipher.login.username = this.getValueOrDefault(value.login_username || value.username);\n cipher.login.password = this.getValueOrDefault(value.login_password || value.password);\n const uris = this.parseSingleRowCsv(value.login_uri || value.uri);\n cipher.login.uris = this.makeUriArray(uris);\n break;\n }\n\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherWithIds } from '../models/export/cipherWithIds';\nimport { CollectionWithId } from '../models/export/collectionWithId';\nimport { FolderWithId } from '../models/export/folderWithId';\n\nexport class BitwardenJsonImporter extends BaseImporter implements Importer {\n private results: any;\n private result: ImportResult;\n\n async parse(data: string): Promise {\n this.result = new ImportResult();\n this.results = JSON.parse(data);\n if (this.results == null || this.results.items == null || this.results.items.length === 0) {\n this.result.success = false;\n return this.result;\n }\n\n if (this.results.encrypted) {\n await this.parseEncrypted();\n } else {\n this.parseDecrypted();\n }\n\n this.result.success = true;\n return this.result;\n }\n\n private async parseEncrypted() {\n const groupingsMap = new Map();\n\n if (this.organization && this.results.collections != null) {\n for (const c of this.results.collections as CollectionWithId[]) {\n const collection = CollectionWithId.toDomain(c);\n if (collection != null) {\n collection.id = null;\n collection.organizationId = this.organizationId;\n const view = await collection.decrypt();\n groupingsMap.set(c.id, this.result.collections.length);\n this.result.collections.push(view);\n }\n }\n } else if (!this.organization && this.results.folders != null) {\n for (const f of this.results.folders as FolderWithId[]) {\n const folder = FolderWithId.toDomain(f);\n if (folder != null) {\n folder.id = null;\n const view = await folder.decrypt();\n groupingsMap.set(f.id, this.result.folders.length);\n this.result.folders.push(view);\n }\n }\n }\n\n for (const c of this.results.items as CipherWithIds[]) {\n const cipher = CipherWithIds.toDomain(c);\n // reset ids incase they were set for some reason\n cipher.id = null;\n cipher.folderId = null;\n cipher.organizationId = this.organizationId;\n cipher.collectionIds = null;\n\n // make sure password history is limited\n if (cipher.passwordHistory != null && cipher.passwordHistory.length > 5) {\n cipher.passwordHistory = cipher.passwordHistory.slice(0, 5);\n }\n\n if (!this.organization && c.folderId != null && groupingsMap.has(c.folderId)) {\n this.result.folderRelationships.push([this.result.ciphers.length, groupingsMap.get(c.folderId)]);\n } else if (this.organization && c.collectionIds != null) {\n c.collectionIds.forEach((cId) => {\n if (groupingsMap.has(cId)) {\n this.result.collectionRelationships.push([this.result.ciphers.length, groupingsMap.get(cId)]);\n }\n });\n }\n\n const view = await cipher.decrypt();\n this.cleanupCipher(view);\n this.result.ciphers.push(view);\n }\n }\n\n private parseDecrypted() {\n const groupingsMap = new Map();\n if (this.organization && this.results.collections != null) {\n this.results.collections.forEach((c: CollectionWithId) => {\n const collection = CollectionWithId.toView(c);\n if (collection != null) {\n collection.id = null;\n collection.organizationId = null;\n groupingsMap.set(c.id, this.result.collections.length);\n this.result.collections.push(collection);\n }\n });\n } else if (!this.organization && this.results.folders != null) {\n this.results.folders.forEach((f: FolderWithId) => {\n const folder = FolderWithId.toView(f);\n if (folder != null) {\n folder.id = null;\n groupingsMap.set(f.id, this.result.folders.length);\n this.result.folders.push(folder);\n }\n });\n }\n\n this.results.items.forEach((c: CipherWithIds) => {\n const cipher = CipherWithIds.toView(c);\n // reset ids incase they were set for some reason\n cipher.id = null;\n cipher.folderId = null;\n cipher.organizationId = null;\n cipher.collectionIds = null;\n\n // make sure password history is limited\n if (cipher.passwordHistory != null && cipher.passwordHistory.length > 5) {\n cipher.passwordHistory = cipher.passwordHistory.slice(0, 5);\n }\n\n if (!this.organization && c.folderId != null && groupingsMap.has(c.folderId)) {\n this.result.folderRelationships.push([this.result.ciphers.length, groupingsMap.get(c.folderId)]);\n } else if (this.organization && c.collectionIds != null) {\n c.collectionIds.forEach((cId) => {\n if (groupingsMap.has(cId)) {\n this.result.collectionRelationships.push([this.result.ciphers.length, groupingsMap.get(cId)]);\n }\n });\n }\n\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class BlackBerryCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n if (value.grouping === 'list') {\n return;\n }\n const cipher = this.initLoginCipher();\n cipher.favorite = value.fav === '1';\n cipher.name = this.getValueOrDefault(value.name);\n cipher.notes = this.getValueOrDefault(value.extra);\n if (value.grouping !== 'note') {\n cipher.login.uris = this.makeUriArray(value.url);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.username = this.getValueOrDefault(value.username);\n }\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class BlurCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n if (value.label === 'null') {\n value.label = null;\n }\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.label,\n this.getValueOrDefault(this.nameFromUrl(value.domain), '--'));\n cipher.login.uris = this.makeUriArray(value.domain);\n cipher.login.password = this.getValueOrDefault(value.password);\n\n if (this.isNullOrWhitespace(value.email) && !this.isNullOrWhitespace(value.username)) {\n cipher.login.username = value.username;\n } else {\n cipher.login.username = this.getValueOrDefault(value.email);\n cipher.notes = this.getValueOrDefault(value.username);\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nconst OfficialProps = [\n '!group_id', '!group_name', 'title', 'username', 'password', 'URL', 'id',\n];\n\nexport class ButtercupCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n this.processFolder(result, this.getValueOrDefault(value['!group_name']));\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.title, '--');\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.URL);\n\n let processingCustomFields = false;\n for (const prop in value) {\n if (value.hasOwnProperty(prop)) {\n if (!processingCustomFields && OfficialProps.indexOf(prop) === -1) {\n processingCustomFields = true;\n }\n if (processingCustomFields) {\n this.processKvp(cipher, prop, value[prop]);\n }\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class ChromeCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name, '--');\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.url);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class ClipperzHtmlImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n const textarea = doc.querySelector('textarea');\n if (textarea == null || this.isNullOrWhitespace(textarea.textContent)) {\n result.errorMessage = 'Missing textarea.';\n result.success = false;\n return Promise.resolve(result);\n }\n\n const entries = JSON.parse(textarea.textContent);\n entries.forEach((entry: any) => {\n const cipher = this.initLoginCipher();\n if (!this.isNullOrWhitespace(entry.label)) {\n cipher.name = entry.label.split(' ')[0];\n }\n if (entry.data != null && !this.isNullOrWhitespace(entry.data.notes)) {\n cipher.notes = entry.data.notes.split('\\\\n').join('\\n');\n }\n\n if (entry.currentVersion != null && entry.currentVersion.fields != null) {\n for (const property in entry.currentVersion.fields) {\n if (!entry.currentVersion.fields.hasOwnProperty(property)) {\n continue;\n }\n\n const field = entry.currentVersion.fields[property];\n const actionType = field.actionType != null ? field.actionType.toLowerCase() : null;\n switch (actionType) {\n case 'password':\n cipher.login.password = this.getValueOrDefault(field.value);\n break;\n case 'email':\n case 'username':\n case 'user':\n case 'name':\n cipher.login.username = this.getValueOrDefault(field.value);\n break;\n case 'url':\n cipher.login.uris = this.makeUriArray(field.value);\n break;\n default:\n const labelLower = field.label != null ? field.label.toLowerCase() : null;\n if (cipher.login.password == null && this.passwordFieldNames.indexOf(labelLower) > -1) {\n cipher.login.password = this.getValueOrDefault(field.value);\n } else if (cipher.login.username == null &&\n this.usernameFieldNames.indexOf(labelLower) > -1) {\n cipher.login.username = this.getValueOrDefault(field.value);\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\n this.uriFieldNames.indexOf(labelLower) > -1) {\n cipher.login.uris = this.makeUriArray(field.value);\n } else {\n this.processKvp(cipher, field.label, field.value);\n }\n break;\n }\n }\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class CodebookCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n this.processFolder(result, this.getValueOrDefault(value.Category));\n\n const cipher = this.initLoginCipher();\n cipher.favorite = this.getValueOrDefault(value.Favorite) === 'True';\n cipher.name = this.getValueOrDefault(value.Entry, '--');\n cipher.notes = this.getValueOrDefault(value.Note);\n cipher.login.username = this.getValueOrDefault(value.Username, value.Email);\n cipher.login.password = this.getValueOrDefault(value.Password);\n cipher.login.totp = this.getValueOrDefault(value.TOTP);\n cipher.login.uris = this.makeUriArray(value.Website);\n\n if (!this.isNullOrWhitespace(value.Username)) {\n this.processKvp(cipher, 'Email', value.Email);\n }\n this.processKvp(cipher, 'Phone', value.Phone);\n this.processKvp(cipher, 'PIN', value.PIN);\n this.processKvp(cipher, 'Account', value.Account);\n this.processKvp(cipher, 'Date', value.Date);\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\nimport { CipherView } from '../models/view/cipherView';\nimport { IdentityView } from '../models/view/identityView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nconst HandledResults = new Set(['ADDRESS', 'AUTHENTIFIANT', 'BANKSTATEMENT', 'IDCARD', 'IDENTITY',\n 'PAYMENTMEANS_CREDITCARD', 'PAYMENTMEAN_PAYPAL', 'EMAIL']);\n\nexport class DashlaneJsonImporter extends BaseImporter implements Importer {\n private result: ImportResult;\n\n parse(data: string): Promise {\n this.result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null || results.length === 0) {\n this.result.success = false;\n return Promise.resolve(this.result);\n }\n\n if (results.ADDRESS != null) {\n this.processAddress(results.ADDRESS);\n }\n if (results.AUTHENTIFIANT != null) {\n this.processAuth(results.AUTHENTIFIANT);\n }\n if (results.BANKSTATEMENT != null) {\n this.processNote(results.BANKSTATEMENT, 'BankAccountName');\n }\n if (results.IDCARD != null) {\n this.processNote(results.IDCARD, 'Fullname');\n }\n if (results.PAYMENTMEANS_CREDITCARD != null) {\n this.processCard(results.PAYMENTMEANS_CREDITCARD);\n }\n if (results.IDENTITY != null) {\n this.processIdentity(results.IDENTITY);\n }\n\n for (const key in results) {\n if (results.hasOwnProperty(key) && !HandledResults.has(key)) {\n this.processNote(results[key], null, 'Generic Note');\n }\n }\n\n this.result.success = true;\n return Promise.resolve(this.result);\n }\n\n private processAuth(results: any[]) {\n results.forEach((credential: any) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(credential.title);\n\n cipher.login.username = this.getValueOrDefault(credential.login,\n this.getValueOrDefault(credential.secondaryLogin));\n if (this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = this.getValueOrDefault(credential.email);\n } else if (!this.isNullOrWhitespace(credential.email)) {\n cipher.notes = ('Email: ' + credential.email + '\\n');\n }\n\n cipher.login.password = this.getValueOrDefault(credential.password);\n cipher.login.uris = this.makeUriArray(credential.domain);\n cipher.notes += this.getValueOrDefault(credential.note, '');\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n }\n\n private processIdentity(results: any[]) {\n results.forEach((obj: any) => {\n const cipher = new CipherView();\n cipher.identity = new IdentityView();\n cipher.type = CipherType.Identity;\n cipher.name = this.getValueOrDefault(obj.fullName, '');\n const nameParts = cipher.name.split(' ');\n if (nameParts.length > 0) {\n cipher.identity.firstName = this.getValueOrDefault(nameParts[0]);\n }\n if (nameParts.length === 2) {\n cipher.identity.lastName = this.getValueOrDefault(nameParts[1]);\n } else if (nameParts.length === 3) {\n cipher.identity.middleName = this.getValueOrDefault(nameParts[1]);\n cipher.identity.lastName = this.getValueOrDefault(nameParts[2]);\n }\n cipher.identity.username = this.getValueOrDefault(obj.pseudo);\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n }\n\n private processAddress(results: any[]) {\n results.forEach((obj: any) => {\n const cipher = new CipherView();\n cipher.identity = new IdentityView();\n cipher.type = CipherType.Identity;\n cipher.name = this.getValueOrDefault(obj.addressName);\n cipher.identity.address1 = this.getValueOrDefault(obj.addressFull);\n cipher.identity.city = this.getValueOrDefault(obj.city);\n cipher.identity.state = this.getValueOrDefault(obj.state);\n cipher.identity.postalCode = this.getValueOrDefault(obj.zipcode);\n cipher.identity.country = this.getValueOrDefault(obj.country);\n if (cipher.identity.country != null) {\n cipher.identity.country = cipher.identity.country.toUpperCase();\n }\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n }\n\n private processCard(results: any[]) {\n results.forEach((obj: any) => {\n const cipher = new CipherView();\n cipher.card = new CardView();\n cipher.type = CipherType.Card;\n cipher.name = this.getValueOrDefault(obj.bank);\n cipher.card.number = this.getValueOrDefault(obj.cardNumber);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n cipher.card.cardholderName = this.getValueOrDefault(obj.owner);\n if (!this.isNullOrWhitespace(cipher.card.brand)) {\n if (this.isNullOrWhitespace(cipher.name)) {\n cipher.name = cipher.card.brand;\n } else {\n cipher.name += (' - ' + cipher.card.brand);\n }\n }\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n }\n\n private processNote(results: any[], nameProperty: string, name: string = null) {\n results.forEach((obj: any) => {\n const cipher = new CipherView();\n cipher.secureNote = new SecureNoteView();\n cipher.type = CipherType.SecureNote;\n cipher.secureNote.type = SecureNoteType.Generic;\n if (name != null) {\n cipher.name = name;\n } else {\n cipher.name = this.getValueOrDefault(obj[nameProperty]);\n }\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && key !== nameProperty) {\n this.processKvp(cipher, key, obj[key].toString());\n }\n }\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\n\nimport { CipherType } from '../enums/cipherType';\n\nexport class EncryptrCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.Label, '--');\n cipher.notes = this.getValueOrDefault(value.Notes);\n const text = this.getValueOrDefault(value.Text);\n if (!this.isNullOrWhitespace(text)) {\n if (this.isNullOrWhitespace(cipher.notes)) {\n cipher.notes = text;\n } else {\n cipher.notes += ('\\n\\n' + text);\n }\n }\n\n const type = value['Entry Type'];\n if (type === 'Password') {\n cipher.login.username = this.getValueOrDefault(value.Username);\n cipher.login.password = this.getValueOrDefault(value.Password);\n cipher.login.uris = this.makeUriArray(value['Site URL']);\n } else if (type === 'Credit Card') {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n cipher.card.cardholderName = this.getValueOrDefault(value['Name on card']);\n cipher.card.number = this.getValueOrDefault(value['Card Number']);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n cipher.card.code = this.getValueOrDefault(value.CVV);\n const expiry = this.getValueOrDefault(value.Expiry);\n if (!this.isNullOrWhitespace(expiry)) {\n const expParts = expiry.split('/');\n if (expParts.length > 1) {\n cipher.card.expMonth = parseInt(expParts[0], null).toString();\n cipher.card.expYear = (2000 + parseInt(expParts[1], null)).toString();\n }\n }\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nimport { CardView } from '../models/view/cardView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nexport class EnpassCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n let firstRow = true;\n results.forEach((value) => {\n if (value.length < 2 || (firstRow && (value[0] === 'Title' || value[0] === 'title'))) {\n firstRow = false;\n return;\n }\n\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value[value.length - 1]);\n cipher.name = this.getValueOrDefault(value[0], '--');\n\n if (value.length === 2 || (!this.containsField(value, 'username') &&\n !this.containsField(value, 'password') && !this.containsField(value, 'email') &&\n !this.containsField(value, 'url'))) {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n }\n\n if (this.containsField(value, 'cardholder') && this.containsField(value, 'number') &&\n this.containsField(value, 'expiry date')) {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n }\n\n if (value.length > 2 && (value.length % 2) === 0) {\n for (let i = 0; i < value.length - 2; i += 2) {\n const fieldValue: string = value[i + 2];\n if (this.isNullOrWhitespace(fieldValue)) {\n continue;\n }\n\n const fieldName: string = value[i + 1];\n const fieldNameLower = fieldName.toLowerCase();\n\n if (cipher.type === CipherType.Login) {\n if (fieldNameLower === 'url' && (cipher.login.uris == null || cipher.login.uris.length === 0)) {\n cipher.login.uris = this.makeUriArray(fieldValue);\n continue;\n } else if ((fieldNameLower === 'username' || fieldNameLower === 'email') &&\n this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = fieldValue;\n continue;\n } else if (fieldNameLower === 'password' && this.isNullOrWhitespace(cipher.login.password)) {\n cipher.login.password = fieldValue;\n continue;\n } else if (fieldNameLower === 'totp' && this.isNullOrWhitespace(cipher.login.totp)) {\n cipher.login.totp = fieldValue;\n continue;\n }\n } else if (cipher.type === CipherType.Card) {\n if (fieldNameLower === 'cardholder' && this.isNullOrWhitespace(cipher.card.cardholderName)) {\n cipher.card.cardholderName = fieldValue;\n continue;\n } else if (fieldNameLower === 'number' && this.isNullOrWhitespace(cipher.card.number)) {\n cipher.card.number = fieldValue;\n cipher.card.brand = this.getCardBrand(fieldValue);\n continue;\n } else if (fieldNameLower === 'cvc' && this.isNullOrWhitespace(cipher.card.code)) {\n cipher.card.code = fieldValue;\n continue;\n } else if (fieldNameLower === 'expiry date' && this.isNullOrWhitespace(cipher.card.expMonth) &&\n this.isNullOrWhitespace(cipher.card.expYear)) {\n if (this.setCardExpiration(cipher, fieldValue)) {\n continue;\n }\n } else if (fieldNameLower === 'type') {\n // Skip since brand was determined from number above\n continue;\n }\n }\n\n this.processKvp(cipher, fieldName, fieldValue);\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n\n private containsField(fields: any[], name: string) {\n if (fields == null || name == null) {\n return false;\n }\n return fields.filter((f) => !this.isNullOrWhitespace(f) &&\n f.toLowerCase() === name.toLowerCase()).length > 0;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\nimport { CipherView } from '../models/view/cipherView';\nimport { FolderView } from '../models/view/folderView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { FieldType } from '../enums/fieldType';\n\nexport class EnpassJsonImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null || results.items == null || results.items.length === 0) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n const foldersMap = new Map();\n const foldersIndexMap = new Map();\n const folderTree = this.buildFolderTree(results.folders);\n this.flattenFolderTree(null, folderTree, foldersMap);\n foldersMap.forEach((val, key) => {\n foldersIndexMap.set(key, result.folders.length);\n const f = new FolderView();\n f.name = val;\n result.folders.push(f);\n });\n\n results.items.forEach((item: any) => {\n if (item.folders != null && item.folders.length > 0 && foldersIndexMap.has(item.folders[0])) {\n result.folderRelationships.push([result.ciphers.length, foldersIndexMap.get(item.folders[0])]);\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(item.title);\n cipher.favorite = item.favorite > 0;\n\n if (item.template_type != null && item.fields != null && item.fields.length > 0) {\n if (item.template_type.indexOf('login.') === 0 || item.template_type.indexOf('password.') === 0) {\n this.processLogin(cipher, item.fields);\n } else if (item.template_type.indexOf('creditcard.') === 0) {\n this.processCard(cipher, item.fields);\n } else if (item.template_type.indexOf('identity.') < 0 &&\n item.fields.some((f: any) => f.type === 'password' && !this.isNullOrWhitespace(f.value))) {\n this.processLogin(cipher, item.fields);\n } else {\n this.processNote(cipher, item.fields);\n }\n }\n\n cipher.notes += ('\\n' + this.getValueOrDefault(item.note, ''));\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n\n private processLogin(cipher: CipherView, fields: any[]) {\n const urls: string[] = [];\n fields.forEach((field: any) => {\n if (this.isNullOrWhitespace(field.value) || field.type === 'section') {\n return;\n }\n\n if ((field.type === 'username' || field.type === 'email') &&\n this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = field.value;\n } else if (field.type === 'password' && this.isNullOrWhitespace(cipher.login.password)) {\n cipher.login.password = field.value;\n } else if (field.type === 'totp' && this.isNullOrWhitespace(cipher.login.totp)) {\n cipher.login.totp = field.value;\n } else if (field.type === 'url') {\n urls.push(field.value);\n } else {\n this.processKvp(cipher, field.label, field.value,\n field.sensitive === 1 ? FieldType.Hidden : FieldType.Text);\n }\n });\n cipher.login.uris = this.makeUriArray(urls);\n }\n\n private processCard(cipher: CipherView, fields: any[]) {\n cipher.card = new CardView();\n cipher.type = CipherType.Card;\n fields.forEach((field: any) => {\n if (this.isNullOrWhitespace(field.value) || field.type === 'section' || field.type === 'ccType') {\n return;\n }\n\n if (field.type === 'ccName' && this.isNullOrWhitespace(cipher.card.cardholderName)) {\n cipher.card.cardholderName = field.value;\n } else if (field.type === 'ccNumber' && this.isNullOrWhitespace(cipher.card.number)) {\n cipher.card.number = field.value;\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n } else if (field.type === 'ccCvc' && this.isNullOrWhitespace(cipher.card.code)) {\n cipher.card.code = field.value;\n } else if (field.type === 'ccExpiry' && this.isNullOrWhitespace(cipher.card.expYear)) {\n if (!this.setCardExpiration(cipher, field.value)) {\n this.processKvp(cipher, field.label, field.value,\n field.sensitive === 1 ? FieldType.Hidden : FieldType.Text);\n }\n } else {\n this.processKvp(cipher, field.label, field.value,\n field.sensitive === 1 ? FieldType.Hidden : FieldType.Text);\n }\n });\n }\n\n private processNote(cipher: CipherView, fields: any[]) {\n fields.forEach((field: any) => {\n if (this.isNullOrWhitespace(field.value) || field.type === 'section') {\n return;\n }\n this.processKvp(cipher, field.label, field.value,\n field.sensitive === 1 ? FieldType.Hidden : FieldType.Text);\n });\n }\n\n private buildFolderTree(folders: any[]): any[] {\n if (folders == null) {\n return [];\n }\n const folderTree: any[] = [];\n const map = new Map([]);\n folders.forEach((obj: any) => {\n map.set(obj.uuid, obj);\n obj.children = [];\n });\n folders.forEach((obj: any) => {\n if (obj.parent_uuid != null && obj.parent_uuid !== '' && map.has(obj.parent_uuid)) {\n map.get(obj.parent_uuid).children.push(obj);\n } else {\n folderTree.push(obj);\n }\n });\n return folderTree;\n }\n\n private flattenFolderTree(titlePrefix: string, tree: any[], map: Map) {\n if (tree == null) {\n return;\n }\n tree.forEach((f: any) => {\n if (f.title != null && f.title.trim() !== '') {\n let title = f.title.trim();\n if (titlePrefix != null && titlePrefix.trim() !== '') {\n title = titlePrefix + '/' + title;\n }\n map.set(f.uuid, title);\n if (f.children != null && f.children.length !== 0) {\n this.flattenFolderTree(title, f.children, map);\n }\n }\n });\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class FirefoxCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n const url = this.getValueOrDefault(value.url, this.getValueOrDefault(value.hostname));\n cipher.name = this.getValueOrDefault(this.nameFromUrl(url), '--');\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(url);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\n\nimport { CipherType } from '../enums/cipherType';\n\nexport class FSecureFskImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null || results.data == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n for (const key in results.data) {\n if (!results.data.hasOwnProperty(key)) {\n continue;\n }\n\n const value = results.data[key];\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.service);\n cipher.notes = this.getValueOrDefault(value.notes);\n\n if (value.style === 'website') {\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.url);\n } else if (value.style === 'creditcard') {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n cipher.card.cardholderName = this.getValueOrDefault(value.username);\n cipher.card.number = this.getValueOrDefault(value.creditNumber);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n cipher.card.code = this.getValueOrDefault(value.creditCvv);\n if (!this.isNullOrWhitespace(value.creditExpiry)) {\n if (!this.setCardExpiration(cipher, value.creditExpiry)) {\n this.processKvp(cipher, 'Expiration', value.creditExpiry);\n }\n }\n if (!this.isNullOrWhitespace(value.password)) {\n this.processKvp(cipher, 'PIN', value.password);\n }\n } else {\n continue;\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n }\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class GnomeJsonImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null || Object.keys(results).length === 0) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n for (const keyRing in results) {\n if (!results.hasOwnProperty(keyRing) || this.isNullOrWhitespace(keyRing) ||\n results[keyRing].length === 0) {\n continue;\n }\n\n results[keyRing].forEach((value: any) => {\n if (this.isNullOrWhitespace(value.display_name) || value.display_name.indexOf('http') !== 0) {\n return;\n }\n\n this.processFolder(result, keyRing);\n const cipher = this.initLoginCipher();\n cipher.name = value.display_name.replace('http://', '').replace('https://', '');\n if (cipher.name.length > 30) {\n cipher.name = cipher.name.substring(0, 30);\n }\n cipher.login.password = this.getValueOrDefault(value.secret);\n cipher.login.uris = this.makeUriArray(value.display_name);\n\n if (value.attributes != null) {\n cipher.login.username = value.attributes != null ?\n this.getValueOrDefault(value.attributes.username_value) : null;\n for (const attr in value.attributes) {\n if (!value.attributes.hasOwnProperty(attr) || attr === 'username_value' ||\n attr === 'xdg:schema') {\n continue;\n }\n this.processKvp(cipher, attr, value.attributes[attr]);\n }\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n }\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nconst NotesHeader = 'Notes\\n\\n';\nconst ApplicationsHeader = 'Applications\\n\\n';\nconst WebsitesHeader = 'Websites\\n\\n';\nconst Delimiter = '\\n---\\n';\n\nexport class KasperskyTxtImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n\n let notesData: string;\n let applicationsData: string;\n let websitesData: string;\n let workingData = this.splitNewLine(data).join('\\n');\n\n if (workingData.indexOf(NotesHeader) !== -1) {\n const parts = workingData.split(NotesHeader);\n if (parts.length > 1) {\n workingData = parts[0];\n notesData = parts[1];\n }\n }\n if (workingData.indexOf(ApplicationsHeader) !== -1) {\n const parts = workingData.split(ApplicationsHeader);\n if (parts.length > 1) {\n workingData = parts[0];\n applicationsData = parts[1];\n }\n }\n if (workingData.indexOf(WebsitesHeader) === 0) {\n const parts = workingData.split(WebsitesHeader);\n if (parts.length > 1) {\n workingData = parts[0];\n websitesData = parts[1];\n }\n }\n\n const notes = this.parseDataCategory(notesData);\n const applications = this.parseDataCategory(applicationsData);\n const websites = this.parseDataCategory(websitesData);\n\n notes.forEach((n) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(n.get('Name'));\n cipher.notes = this.getValueOrDefault(n.get('Text'));\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n websites.concat(applications).forEach((w) => {\n const cipher = this.initLoginCipher();\n const nameKey = w.has('Website name') ? 'Website name' : 'Application';\n cipher.name = this.getValueOrDefault(w.get(nameKey), '');\n if (!this.isNullOrWhitespace(w.get('Login name'))) {\n if (!this.isNullOrWhitespace(cipher.name)) {\n cipher.name += ': ';\n }\n cipher.name += w.get('Login name');\n }\n cipher.notes = this.getValueOrDefault(w.get('Comment'));\n if (w.has('Website URL')) {\n cipher.login.uris = this.makeUriArray(w.get('Website URL'));\n }\n cipher.login.username = this.getValueOrDefault(w.get('Login'));\n cipher.login.password = this.getValueOrDefault(w.get('Password'));\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n\n private parseDataCategory(data: string): Map[] {\n if (this.isNullOrWhitespace(data) || data.indexOf(Delimiter) === -1) {\n return [];\n }\n const items: Map[] = [];\n data.split(Delimiter).forEach((p) => {\n if (p.indexOf('\\n') === -1) {\n return;\n }\n const item = new Map();\n let itemComment: string;\n let itemCommentKey: string;\n p.split('\\n').forEach((l) => {\n if (itemComment != null) {\n itemComment += ('\\n' + l);\n return;\n }\n const colonIndex = l.indexOf(':');\n let key: string;\n let val: string;\n if (colonIndex === -1) {\n return;\n } else {\n key = l.substring(0, colonIndex);\n if (l.length > colonIndex + 1) {\n val = l.substring(colonIndex + 2);\n }\n }\n if (key != null) {\n item.set(key, val);\n }\n if (key === 'Comment' || key === 'Text') {\n itemComment = val;\n itemCommentKey = key;\n }\n });\n if (itemComment != null && itemCommentKey != null) {\n item.set(itemCommentKey, itemComment);\n }\n if (item.size === 0) {\n return;\n }\n items.push(item);\n });\n return items;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { FieldType } from '../enums/fieldType';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { FolderView } from '../models/view/folderView';\n\nexport class KeePass2XmlImporter extends BaseImporter implements Importer {\n result = new ImportResult();\n\n parse(data: string): Promise {\n const doc = this.parseXml(data);\n if (doc == null) {\n this.result.success = false;\n return Promise.resolve(this.result);\n }\n\n const rootGroup = doc.querySelector('KeePassFile > Root > Group');\n if (rootGroup == null) {\n this.result.errorMessage = 'Missing `KeePassFile > Root > Group` node.';\n this.result.success = false;\n return Promise.resolve(this.result);\n }\n\n this.traverse(rootGroup, true, '');\n\n if (this.organization) {\n this.moveFoldersToCollections(this.result);\n }\n\n this.result.success = true;\n return Promise.resolve(this.result);\n }\n\n traverse(node: Element, isRootNode: boolean, groupPrefixName: string) {\n const folderIndex = this.result.folders.length;\n let groupName = groupPrefixName;\n\n if (!isRootNode) {\n if (groupName !== '') {\n groupName += '/';\n }\n const nameEl = this.querySelectorDirectChild(node, 'Name');\n groupName += nameEl == null ? '-' : nameEl.textContent;\n const folder = new FolderView();\n folder.name = groupName;\n this.result.folders.push(folder);\n }\n\n this.querySelectorAllDirectChild(node, 'Entry').forEach((entry) => {\n const cipherIndex = this.result.ciphers.length;\n\n const cipher = this.initLoginCipher();\n this.querySelectorAllDirectChild(entry, 'String').forEach((entryString) => {\n const valueEl = this.querySelectorDirectChild(entryString, 'Value');\n const value = valueEl != null ? valueEl.textContent : null;\n if (this.isNullOrWhitespace(value)) {\n return;\n }\n const keyEl = this.querySelectorDirectChild(entryString, 'Key');\n const key = keyEl != null ? keyEl.textContent : null;\n\n if (key === 'URL') {\n cipher.login.uris = this.makeUriArray(value);\n } else if (key === 'UserName') {\n cipher.login.username = value;\n } else if (key === 'Password') {\n cipher.login.password = value;\n } else if (key === 'otp') {\n cipher.login.totp = value.replace('key=', '');\n } else if (key === 'Title') {\n cipher.name = value;\n } else if (key === 'Notes') {\n cipher.notes += (value + '\\n');\n } else {\n let type = FieldType.Text;\n const attrs = (valueEl.attributes as any);\n if (attrs.length > 0 && attrs.ProtectInMemory != null &&\n attrs.ProtectInMemory.value === 'True') {\n type = FieldType.Hidden;\n }\n this.processKvp(cipher, key, value, type);\n }\n });\n\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n\n if (!isRootNode) {\n this.result.folderRelationships.push([cipherIndex, folderIndex]);\n }\n });\n\n this.querySelectorAllDirectChild(node, 'Group').forEach((group) => {\n this.traverse(group, false, groupName);\n });\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class KeePassXCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n if (this.isNullOrWhitespace(value.Title)) {\n return;\n }\n\n value.Group = !this.isNullOrWhitespace(value.Group) && value.Group.startsWith('Root/') ?\n value.Group.replace('Root/', '') : value.Group;\n const groupName = !this.isNullOrWhitespace(value.Group) ? value.Group : null;\n this.processFolder(result, groupName);\n\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value.Notes);\n cipher.name = this.getValueOrDefault(value.Title, '--');\n cipher.login.username = this.getValueOrDefault(value.Username);\n cipher.login.password = this.getValueOrDefault(value.Password);\n cipher.login.uris = this.makeUriArray(value.URL);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { FolderView } from '../models/view/folderView';\n\nexport class KeeperCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n if (value.length < 6) {\n return;\n }\n\n this.processFolder(result, value[0]);\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value[5]) + '\\n';\n cipher.name = this.getValueOrDefault(value[1], '--');\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.login.password = this.getValueOrDefault(value[3]);\n cipher.login.uris = this.makeUriArray(value[4]);\n\n if (value.length > 7) {\n // we have some custom fields.\n for (let i = 7; i < value.length; i = i + 2) {\n this.processKvp(cipher, value[i], value[i + 1]);\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\nimport { CipherView } from '../models/view/cipherView';\nimport { FolderView } from '../models/view/folderView';\nimport { IdentityView } from '../models/view/identityView';\nimport { LoginView } from '../models/view/loginView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport class LastPassCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value, index) => {\n const cipherIndex = result.ciphers.length;\n let folderIndex = result.folders.length;\n let grouping = value.grouping;\n if (grouping != null) {\n grouping = grouping.replace(/\\\\/g, '/').replace(/[\\x00-\\x1F\\x7F-\\x9F]/g, '');\n }\n const hasFolder = this.getValueOrDefault(grouping, '(none)') !== '(none)';\n let addFolder = hasFolder;\n\n if (hasFolder) {\n for (let i = 0; i < result.folders.length; i++) {\n if (result.folders[i].name === grouping) {\n addFolder = false;\n folderIndex = i;\n break;\n }\n }\n }\n\n const cipher = this.buildBaseCipher(value);\n if (cipher.type === CipherType.Login) {\n cipher.notes = this.getValueOrDefault(value.extra);\n cipher.login = new LoginView();\n cipher.login.uris = this.makeUriArray(value.url);\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n } else if (cipher.type === CipherType.SecureNote) {\n this.parseSecureNote(value, cipher);\n } else if (cipher.type === CipherType.Card) {\n cipher.card = this.parseCard(value);\n cipher.notes = this.getValueOrDefault(value.notes);\n } else if (cipher.type === CipherType.Identity) {\n cipher.identity = this.parseIdentity(value);\n cipher.notes = this.getValueOrDefault(value.notes);\n if (!this.isNullOrWhitespace(value.ccnum)) {\n // there is a card on this identity too\n const cardCipher = this.buildBaseCipher(value);\n cardCipher.identity = null;\n cardCipher.type = CipherType.Card;\n cardCipher.card = this.parseCard(value);\n result.ciphers.push(cardCipher);\n }\n }\n\n result.ciphers.push(cipher);\n\n if (addFolder) {\n const f = new FolderView();\n f.name = grouping;\n result.folders.push(f);\n }\n if (hasFolder) {\n result.folderRelationships.push([cipherIndex, folderIndex]);\n }\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(result);\n }\n\n private buildBaseCipher(value: any) {\n const cipher = new CipherView();\n if (value.hasOwnProperty('profilename') && value.hasOwnProperty('profilelanguage')) {\n // form fill\n cipher.favorite = false;\n cipher.name = this.getValueOrDefault(value.profilename, '--');\n cipher.type = CipherType.Card;\n\n if (!this.isNullOrWhitespace(value.title) || !this.isNullOrWhitespace(value.firstname) ||\n !this.isNullOrWhitespace(value.lastname) || !this.isNullOrWhitespace(value.address1) ||\n !this.isNullOrWhitespace(value.phone) || !this.isNullOrWhitespace(value.username) ||\n !this.isNullOrWhitespace(value.email)) {\n cipher.type = CipherType.Identity;\n }\n } else {\n // site or secure note\n cipher.favorite = !this.organization && this.getValueOrDefault(value.fav, '0') === '1';\n cipher.name = this.getValueOrDefault(value.name, '--');\n cipher.type = value.url === 'http://sn' ? CipherType.SecureNote : CipherType.Login;\n }\n return cipher;\n }\n\n private parseCard(value: any): CardView {\n const card = new CardView();\n card.cardholderName = this.getValueOrDefault(value.ccname);\n card.number = this.getValueOrDefault(value.ccnum);\n card.code = this.getValueOrDefault(value.cccsc);\n card.brand = this.getCardBrand(value.ccnum);\n\n if (!this.isNullOrWhitespace(value.ccexp) && value.ccexp.indexOf('-') > -1) {\n const ccexpParts = (value.ccexp as string).split('-');\n if (ccexpParts.length > 1) {\n card.expYear = ccexpParts[0];\n card.expMonth = ccexpParts[1];\n if (card.expMonth.length === 2 && card.expMonth[0] === '0') {\n card.expMonth = card.expMonth[1];\n }\n }\n }\n\n return card;\n }\n\n private parseIdentity(value: any): IdentityView {\n const identity = new IdentityView();\n identity.title = this.getValueOrDefault(value.title);\n identity.firstName = this.getValueOrDefault(value.firstname);\n identity.middleName = this.getValueOrDefault(value.middlename);\n identity.lastName = this.getValueOrDefault(value.lastname);\n identity.username = this.getValueOrDefault(value.username);\n identity.company = this.getValueOrDefault(value.company);\n identity.ssn = this.getValueOrDefault(value.ssn);\n identity.address1 = this.getValueOrDefault(value.address1);\n identity.address2 = this.getValueOrDefault(value.address2);\n identity.address3 = this.getValueOrDefault(value.address3);\n identity.city = this.getValueOrDefault(value.city);\n identity.state = this.getValueOrDefault(value.state);\n identity.postalCode = this.getValueOrDefault(value.zip);\n identity.country = this.getValueOrDefault(value.country);\n identity.email = this.getValueOrDefault(value.email);\n identity.phone = this.getValueOrDefault(value.phone);\n\n if (!this.isNullOrWhitespace(identity.title)) {\n identity.title = identity.title.charAt(0).toUpperCase() + identity.title.slice(1);\n }\n\n return identity;\n }\n\n private parseSecureNote(value: any, cipher: CipherView) {\n const extraParts = this.splitNewLine(value.extra);\n let processedNote = false;\n\n if (extraParts.length) {\n const typeParts = extraParts[0].split(':');\n if (typeParts.length > 1 && typeParts[0] === 'NoteType' &&\n (typeParts[1] === 'Credit Card' || typeParts[1] === 'Address')) {\n if (typeParts[1] === 'Credit Card') {\n const mappedData = this.parseSecureNoteMapping(cipher, extraParts, {\n 'Number': 'number',\n 'Name on Card': 'cardholderName',\n 'Security Code': 'code',\n // LP provides date in a format like 'June,2020'\n // Store in expMonth, then parse and modify\n 'Expiration Date': 'expMonth',\n });\n\n if (this.isNullOrWhitespace(mappedData.expMonth) || mappedData.expMonth === ',') {\n // No expiration data\n mappedData.expMonth = undefined;\n } else {\n const [monthString, year] = mappedData.expMonth.split(',');\n // Parse month name into number\n if (!this.isNullOrWhitespace(monthString)) {\n const month = new Date(Date.parse(monthString.trim() + ' 1, 2012')).getMonth() + 1;\n if (isNaN(month)) {\n mappedData.expMonth = undefined;\n } else {\n mappedData.expMonth = month.toString();\n }\n } else {\n mappedData.expMonth = undefined;\n }\n if (!this.isNullOrWhitespace(year)) {\n mappedData.expYear = year;\n }\n }\n\n cipher.type = CipherType.Card;\n cipher.card = mappedData;\n } else if (typeParts[1] === 'Address') {\n const mappedData = this.parseSecureNoteMapping(cipher, extraParts, {\n 'Title': 'title',\n 'First Name': 'firstName',\n 'Last Name': 'lastName',\n 'Middle Name': 'middleName',\n 'Company': 'company',\n 'Address 1': 'address1',\n 'Address 2': 'address2',\n 'Address 3': 'address3',\n 'City / Town': 'city',\n 'State': 'state',\n 'Zip / Postal Code': 'postalCode',\n 'Country': 'country',\n 'Email Address': 'email',\n 'Username': 'username',\n });\n cipher.type = CipherType.Identity;\n cipher.identity = mappedData;\n }\n processedNote = true;\n }\n }\n\n if (!processedNote) {\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n cipher.notes = this.getValueOrDefault(value.extra);\n }\n }\n\n private parseSecureNoteMapping(cipher: CipherView, extraParts: string[], map: any): T {\n const dataObj: any = {};\n\n let processingNotes = false;\n extraParts.forEach((extraPart) => {\n let key: string = null;\n let val: string = null;\n if (!processingNotes) {\n if (this.isNullOrWhitespace(extraPart)) {\n return;\n }\n const colonIndex = extraPart.indexOf(':');\n if (colonIndex === -1) {\n key = extraPart;\n } else {\n key = extraPart.substring(0, colonIndex);\n if (extraPart.length > colonIndex) {\n val = extraPart.substring(colonIndex + 1);\n }\n }\n if (this.isNullOrWhitespace(key) || this.isNullOrWhitespace(val) || key === 'NoteType') {\n return;\n }\n }\n\n if (processingNotes) {\n cipher.notes += ('\\n' + extraPart);\n } else if (key === 'Notes') {\n if (!this.isNullOrWhitespace(cipher.notes)) {\n cipher.notes += ('\\n' + val);\n } else {\n cipher.notes = val;\n }\n processingNotes = true;\n } else if (map.hasOwnProperty(key)) {\n dataObj[map[key]] = val;\n } else {\n this.processKvp(cipher, key, val);\n }\n });\n\n return dataObj;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class LogMeOnceCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n if (value.length < 4) {\n return;\n }\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[0], '--');\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.login.password = this.getValueOrDefault(value[3]);\n cipher.login.uris = this.makeUriArray(value[1]);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class MeldiumCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.DisplayName, '--');\n cipher.notes = this.getValueOrDefault(value.Notes);\n cipher.login.username = this.getValueOrDefault(value.UserName);\n cipher.login.password = this.getValueOrDefault(value.Password);\n cipher.login.uris = this.makeUriArray(value.Url);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nexport class MSecureCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n if (value.length < 3) {\n return;\n }\n\n const folderName = this.getValueOrDefault(value[0], 'Unassigned') !== 'Unassigned' ? value[0] : null;\n this.processFolder(result, folderName);\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[2], '--');\n\n if (value[1] === 'Web Logins' || value[1] === 'Login') {\n cipher.login.uris = this.makeUriArray(value[4]);\n cipher.login.username = this.getValueOrDefault(value[5]);\n cipher.login.password = this.getValueOrDefault(value[6]);\n cipher.notes = !this.isNullOrWhitespace(value[3]) ? value[3].split('\\\\n').join('\\n') : null;\n } else if (value.length > 3) {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n for (let i = 3; i < value.length; i++) {\n if (!this.isNullOrWhitespace(value[i])) {\n cipher.notes += (value[i] + '\\n');\n }\n }\n }\n\n if (!this.isNullOrWhitespace(value[1]) && cipher.type !== CipherType.Login) {\n cipher.name = value[1] + ': ' + cipher.name;\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nimport { CardView } from '../models/view/cardView';\nimport { IdentityView } from '../models/view/identityView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class MykiCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.nickname, '--');\n cipher.notes = this.getValueOrDefault(value.additionalInfo);\n\n if (value.url !== undefined) {\n // Accounts\n cipher.login.uris = this.makeUriArray(value.url);\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.totp = this.getValueOrDefault(value.twoFactAuthToken);\n } else if (value.cardNumber !== undefined) {\n // Cards\n cipher.card = new CardView();\n cipher.type = CipherType.Card;\n cipher.card.cardholderName = this.getValueOrDefault(value.cardName);\n cipher.card.number = this.getValueOrDefault(value.cardNumber);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n cipher.card.expMonth = this.getValueOrDefault(value.exp_month);\n cipher.card.expYear = this.getValueOrDefault(value.exp_year);\n cipher.card.code = this.getValueOrDefault(value.cvv);\n } else if (value.firstName !== undefined) {\n // Identities\n cipher.identity = new IdentityView();\n cipher.type = CipherType.Identity;\n cipher.identity.title = this.getValueOrDefault(value.title);\n cipher.identity.firstName = this.getValueOrDefault(value.firstName);\n cipher.identity.middleName = this.getValueOrDefault(value.middleName);\n cipher.identity.lastName = this.getValueOrDefault(value.lastName);\n cipher.identity.phone = this.getValueOrDefault(value.number);\n cipher.identity.email = this.getValueOrDefault(value.email);\n cipher.identity.address1 = this.getValueOrDefault(value.firstAddressLine);\n cipher.identity.address2 = this.getValueOrDefault(value.secondAddressLine);\n cipher.identity.city = this.getValueOrDefault(value.city);\n cipher.identity.country = this.getValueOrDefault(value.country);\n cipher.identity.postalCode = this.getValueOrDefault(value.zipCode);\n } else if (value.content !== undefined) {\n // Notes\n cipher.secureNote = new SecureNoteView();\n cipher.type = CipherType.SecureNote;\n cipher.secureNote.type = SecureNoteType.Generic;\n cipher.name = this.getValueOrDefault(value.title, '--');\n cipher.notes = this.getValueOrDefault(value.content);\n } else {\n return;\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from '../baseImporter';\nimport { Importer } from '../importer';\n\nimport { ImportResult } from '../../models/domain/importResult';\n\nimport { CardView } from '../../models/view/cardView';\nimport { CipherView } from '../../models/view/cipherView';\nimport { IdentityView } from '../../models/view/identityView';\nimport { PasswordHistoryView } from '../../models/view/passwordHistoryView';\nimport { SecureNoteView } from '../../models/view/secureNoteView';\n\nimport { CipherType } from '../../enums/cipherType';\nimport { FieldType } from '../../enums/fieldType';\nimport { SecureNoteType } from '../../enums/secureNoteType';\n\nexport class OnePassword1PifImporter extends BaseImporter implements Importer {\n result = new ImportResult();\n\n parse(data: string): Promise {\n data.split(this.newLineRegex).forEach((line) => {\n if (this.isNullOrWhitespace(line) || line[0] !== '{') {\n return;\n }\n const item = JSON.parse(line);\n if (item.trashed === true) {\n return;\n }\n const cipher = this.initLoginCipher();\n\n if (this.isNullOrWhitespace(item.hmac)) {\n this.processStandardItem(item, cipher);\n } else {\n this.processWinOpVaultItem(item, cipher);\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n this.result.ciphers.push(cipher);\n });\n\n this.result.success = true;\n return Promise.resolve(this.result);\n }\n\n private processWinOpVaultItem(item: any, cipher: CipherView) {\n if (item.overview != null) {\n cipher.name = this.getValueOrDefault(item.overview.title);\n if (item.overview.URLs != null) {\n const urls: string[] = [];\n item.overview.URLs.forEach((url: any) => {\n if (!this.isNullOrWhitespace(url.u)) {\n urls.push(url.u);\n }\n });\n cipher.login.uris = this.makeUriArray(urls);\n }\n }\n\n if (item.details != null) {\n if (item.details.passwordHistory != null) {\n this.parsePasswordHistory(item.details.passwordHistory, cipher);\n }\n if (!this.isNullOrWhitespace(item.details.ccnum) || !this.isNullOrWhitespace(item.details.cvv)) {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n } else if (!this.isNullOrWhitespace(item.details.firstname) ||\n !this.isNullOrWhitespace(item.details.address1)) {\n cipher.type = CipherType.Identity;\n cipher.identity = new IdentityView();\n }\n if (cipher.type === CipherType.Login && !this.isNullOrWhitespace(item.details.password)) {\n cipher.login.password = item.details.password;\n }\n if (!this.isNullOrWhitespace(item.details.notesPlain)) {\n cipher.notes = item.details.notesPlain.split(this.newLineRegex).join('\\n') + '\\n';\n }\n if (item.details.fields != null) {\n this.parseFields(item.details.fields, cipher, 'designation', 'value', 'name');\n }\n if (item.details.sections != null) {\n item.details.sections.forEach((section: any) => {\n if (section.fields != null) {\n this.parseFields(section.fields, cipher, 'n', 'v', 't');\n }\n });\n }\n }\n }\n\n private processStandardItem(item: any, cipher: CipherView) {\n cipher.favorite = item.openContents && item.openContents.faveIndex ? true : false;\n cipher.name = this.getValueOrDefault(item.title);\n\n if (item.typeName === 'securenotes.SecureNote') {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n } else if (item.typeName === 'wallet.financial.CreditCard') {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n } else if (item.typeName === 'identities.Identity') {\n cipher.type = CipherType.Identity;\n cipher.identity = new IdentityView();\n } else {\n cipher.login.uris = this.makeUriArray(item.location);\n }\n\n if (item.secureContents != null) {\n if (item.secureContents.passwordHistory != null) {\n this.parsePasswordHistory(item.secureContents.passwordHistory, cipher);\n }\n if (!this.isNullOrWhitespace(item.secureContents.notesPlain)) {\n cipher.notes = item.secureContents.notesPlain.split(this.newLineRegex).join('\\n') + '\\n';\n }\n if (cipher.type === CipherType.Login) {\n if (!this.isNullOrWhitespace(item.secureContents.password)) {\n cipher.login.password = item.secureContents.password;\n }\n if (item.secureContents.URLs != null) {\n const urls: string[] = [];\n item.secureContents.URLs.forEach((u: any) => {\n if (!this.isNullOrWhitespace(u.url)) {\n urls.push(u.url);\n }\n });\n if (urls.length > 0) {\n cipher.login.uris = this.makeUriArray(urls);\n }\n }\n }\n if (item.secureContents.fields != null) {\n this.parseFields(item.secureContents.fields, cipher, 'designation', 'value', 'name');\n }\n if (item.secureContents.sections != null) {\n item.secureContents.sections.forEach((section: any) => {\n if (section.fields != null) {\n this.parseFields(section.fields, cipher, 'n', 'v', 't');\n }\n });\n }\n }\n }\n\n private parsePasswordHistory(items: any[], cipher: CipherView) {\n const maxSize = items.length > 5 ? 5 : items.length;\n cipher.passwordHistory = items\n .filter((h: any) => !this.isNullOrWhitespace(h.value) && h.time != null)\n .sort((a, b) => b.time - a.time)\n .slice(0, maxSize)\n .map((h: any) => {\n const ph = new PasswordHistoryView();\n ph.password = h.value;\n ph.lastUsedDate = new Date(('' + h.time).length >= 13 ? h.time : h.time * 1000);\n return ph;\n });\n }\n\n private parseFields(fields: any[], cipher: CipherView, designationKey: string, valueKey: string, nameKey: string) {\n fields.forEach((field: any) => {\n if (field[valueKey] == null || field[valueKey].toString().trim() === '') {\n return;\n }\n\n const fieldValue = field[valueKey].toString();\n const fieldDesignation = field[designationKey] != null ? field[designationKey].toString() : null;\n\n if (cipher.type === CipherType.Login) {\n if (this.isNullOrWhitespace(cipher.login.username) && fieldDesignation === 'username') {\n cipher.login.username = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.login.password) && fieldDesignation === 'password') {\n cipher.login.password = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.login.totp) && fieldDesignation != null &&\n fieldDesignation.startsWith('TOTP_')) {\n cipher.login.totp = fieldValue;\n return;\n }\n } else if (cipher.type === CipherType.Card) {\n if (this.isNullOrWhitespace(cipher.card.number) && fieldDesignation === 'ccnum') {\n cipher.card.number = fieldValue;\n cipher.card.brand = this.getCardBrand(fieldValue);\n return;\n } else if (this.isNullOrWhitespace(cipher.card.code) && fieldDesignation === 'cvv') {\n cipher.card.code = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.card.cardholderName) && fieldDesignation === 'cardholder') {\n cipher.card.cardholderName = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(cipher.card.expiration) && fieldDesignation === 'expiry' &&\n fieldValue.length === 6) {\n cipher.card.expMonth = (fieldValue as string).substr(4, 2);\n if (cipher.card.expMonth[0] === '0') {\n cipher.card.expMonth = cipher.card.expMonth.substr(1, 1);\n }\n cipher.card.expYear = (fieldValue as string).substr(0, 4);\n return;\n } else if (fieldDesignation === 'type') {\n // Skip since brand was determined from number above\n return;\n }\n } else if (cipher.type === CipherType.Identity) {\n const identity = cipher.identity;\n if (this.isNullOrWhitespace(identity.firstName) && fieldDesignation === 'firstname') {\n identity.firstName = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(identity.lastName) && fieldDesignation === 'lastname') {\n identity.lastName = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(identity.middleName) && fieldDesignation === 'initial') {\n identity.middleName = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(identity.phone) && fieldDesignation === 'defphone') {\n identity.phone = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(identity.company) && fieldDesignation === 'company') {\n identity.company = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(identity.email) && fieldDesignation === 'email') {\n identity.email = fieldValue;\n return;\n } else if (this.isNullOrWhitespace(identity.username) && fieldDesignation === 'username') {\n identity.username = fieldValue;\n return;\n } else if (fieldDesignation === 'address') {\n // fieldValue is an object casted into a string, so access the plain value instead\n const { street, city, country, zip } = field[valueKey];\n identity.address1 = this.getValueOrDefault(street);\n identity.city = this.getValueOrDefault(city);\n if (!this.isNullOrWhitespace(country)) {\n identity.country = country.toUpperCase();\n }\n identity.postalCode = this.getValueOrDefault(zip);\n return;\n }\n }\n\n const fieldName = this.isNullOrWhitespace(field[nameKey]) ? 'no_name' : field[nameKey];\n if (fieldName === 'password' && cipher.passwordHistory != null &&\n cipher.passwordHistory.some((h) => h.password === fieldValue)) {\n return;\n }\n\n const fieldType = field.k === 'concealed' ? FieldType.Hidden : FieldType.Text;\n this.processKvp(cipher, fieldName, fieldValue, fieldType);\n });\n }\n}\n","import { Importer } from '../importer';\nimport { IgnoredProperties, OnePasswordCsvImporter } from './onepasswordCsvImporter';\n\nimport { CipherType } from '../../enums/cipherType';\nimport { CardView, CipherView, IdentityView } from '../../models/view';\n\nexport class OnePasswordMacCsvImporter extends OnePasswordCsvImporter implements Importer {\n setCipherType(value: any, cipher: CipherView) {\n const onePassType = this.getValueOrDefault(this.getProp(value, 'type'), 'Login');\n switch (onePassType) {\n case 'Credit Card':\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n IgnoredProperties.push('type');\n break;\n case 'Identity':\n cipher.type = CipherType.Identity;\n cipher.identity = new IdentityView();\n IgnoredProperties.push('type');\n break;\n case 'Login':\n case 'Secure Note':\n IgnoredProperties.push('type');\n default:\n break;\n }\n }\n}\n","import { CipherView } from '../../models/view';\n\nexport class CipherImportContext {\n lowerProperty: string;\n constructor(public importRecord: any, public property: string, public cipher: CipherView) {\n this.lowerProperty = property.toLowerCase();\n }\n}\n","export class View {\n}\n","import { Importer } from '../importer';\nimport { CipherImportContext } from './cipherImportContext';\nimport { OnePasswordCsvImporter } from './onepasswordCsvImporter';\n\nimport { CipherType } from '../../enums/cipherType';\nimport { CardView, CipherView, IdentityView, LoginView } from '../../models/view';\n\nexport class OnePasswordWinCsvImporter extends OnePasswordCsvImporter implements Importer {\n constructor() {\n super();\n this.identityPropertyParsers.push(this.setIdentityAddress);\n }\n\n setCipherType(value: any, cipher: CipherView) {\n cipher.type = CipherType.Login;\n cipher.login = new LoginView();\n\n if (!this.isNullOrWhitespace(this.getPropByRegexp(value, /\\d+: number/i)) &&\n !this.isNullOrWhitespace(this.getPropByRegexp(value, /\\d+: expiry date/i))) {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n }\n\n if (!this.isNullOrWhitespace(this.getPropByRegexp(value, /name \\d+: first name/i)) ||\n !this.isNullOrWhitespace(this.getPropByRegexp(value, /name \\d+: initial/i)) ||\n !this.isNullOrWhitespace(this.getPropByRegexp(value, /name \\d+: last name/i)) ||\n !this.isNullOrWhitespace(this.getPropByRegexp(value, /internet \\d+: email/i))) {\n cipher.type = CipherType.Identity;\n cipher.identity = new IdentityView();\n }\n }\n\n setIdentityAddress(context: CipherImportContext) {\n if (context.lowerProperty.match(/address \\d+: address/i)) {\n this.processKvp(context.cipher, 'address', context.importRecord[context.property]);\n return true;\n }\n return false;\n }\n\n setCreditCardExpiry(context: CipherImportContext) {\n if (this.isNullOrWhitespace(context.cipher.card.expiration) && context.lowerProperty.includes('expiry date')) {\n const expSplit = (context.importRecord[context.property] as string).split('/');\n context.cipher.card.expMonth = expSplit[0];\n if (context.cipher.card.expMonth[0] === '0' && context.cipher.card.expMonth.length === 2) {\n context.cipher.card.expMonth = context.cipher.card.expMonth.substr(1, 1);\n }\n context.cipher.card.expYear = expSplit[2].length > 4 ? expSplit[2].substr(0, 4) : expSplit[2];\n return true;\n }\n return false;\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CollectionView } from '../models/view/collectionView';\nimport { FolderView } from '../models/view/folderView';\n\nexport class PadlockCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n let headers: string[] = null;\n results.forEach((value) => {\n if (headers == null) {\n headers = value.map((v: string) => v);\n return;\n }\n\n if (value.length < 2 || value.length !== headers.length) {\n return;\n }\n\n if (!this.isNullOrWhitespace(value[1])) {\n if (this.organization) {\n const tags = (value[1] as string).split(',');\n tags.forEach((tag) => {\n tag = tag.trim();\n let addCollection = true;\n let collectionIndex = result.collections.length;\n\n for (let i = 0; i < result.collections.length; i++) {\n if (result.collections[i].name === tag) {\n addCollection = false;\n collectionIndex = i;\n break;\n }\n }\n\n if (addCollection) {\n const collection = new CollectionView();\n collection.name = tag;\n result.collections.push(collection);\n }\n\n result.collectionRelationships.push([result.ciphers.length, collectionIndex]);\n });\n } else {\n const tags = (value[1] as string).split(',');\n const tag = tags.length > 0 ? tags[0].trim() : null;\n this.processFolder(result, tag);\n }\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[0], '--');\n\n for (let i = 2; i < value.length; i++) {\n const header = headers[i].trim().toLowerCase();\n if (this.isNullOrWhitespace(value[i]) || this.isNullOrWhitespace(header)) {\n continue;\n }\n\n if (this.usernameFieldNames.indexOf(header) > -1) {\n cipher.login.username = value[i];\n } else if (this.passwordFieldNames.indexOf(header) > -1) {\n cipher.login.password = value[i];\n } else if (this.uriFieldNames.indexOf(header) > -1) {\n cipher.login.uris = this.makeUriArray(value[i]);\n } else {\n this.processKvp(cipher, headers[i], value[i]);\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PassKeepCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n this.processFolder(result, this.getValue('category', value));\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValue('description', value);\n cipher.name = this.getValueOrDefault(this.getValue('title', value), '--');\n cipher.login.username = this.getValue('username', value);\n cipher.login.password = this.getValue('password', value);\n cipher.login.uris = this.makeUriArray(this.getValue('site', value));\n this.processKvp(cipher, 'Password 2', this.getValue('password2', value));\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(result);\n }\n\n private getValue(key: string, value: any) {\n return this.getValueOrDefault(value[key], this.getValueOrDefault(value[(' ' + key)]));\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PassmanJsonImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null || results.length === 0) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((credential: any) => {\n if (credential.tags != null && credential.tags.length > 0) {\n const folderName = credential.tags[0].text;\n this.processFolder(result, folderName);\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = credential.label;\n\n cipher.login.username = this.getValueOrDefault(credential.username);\n if (this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = this.getValueOrDefault(credential.email);\n } else if (!this.isNullOrWhitespace(credential.email)) {\n cipher.notes = ('Email: ' + credential.email + '\\n');\n }\n\n cipher.login.password = this.getValueOrDefault(credential.password);\n cipher.login.uris = this.makeUriArray(credential.url);\n cipher.notes += this.getValueOrDefault(credential.description, '');\n if (credential.otp != null) {\n cipher.login.totp = this.getValueOrDefault(credential.otp.secret);\n }\n\n if (credential.custom_fields != null) {\n credential.custom_fields.forEach((customField: any) => {\n switch (customField.field_type) {\n case 'text':\n case 'password':\n this.processKvp(cipher, customField.label, customField.value);\n break;\n }\n });\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CollectionView } from '../models/view/collectionView';\n\nexport class PasspackCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n const tagsJson = !this.isNullOrWhitespace(value.Tags) ? JSON.parse(value.Tags) : null;\n const tags: string[] = tagsJson != null && tagsJson.tags != null && tagsJson.tags.length > 0 ?\n tagsJson.tags.map((tagJson: string) => {\n try {\n const t = JSON.parse(tagJson);\n return this.getValueOrDefault(t.tag);\n } catch { }\n return null;\n }).filter((t: string) => !this.isNullOrWhitespace(t)) : null;\n\n if (this.organization && tags != null && tags.length > 0) {\n tags.forEach((tag) => {\n let addCollection = true;\n let collectionIndex = result.collections.length;\n\n for (let i = 0; i < result.collections.length; i++) {\n if (result.collections[i].name === tag) {\n addCollection = false;\n collectionIndex = i;\n break;\n }\n }\n\n if (addCollection) {\n const collection = new CollectionView();\n collection.name = tag;\n result.collections.push(collection);\n }\n\n result.collectionRelationships.push([result.ciphers.length, collectionIndex]);\n });\n } else if (!this.organization && tags != null && tags.length > 0) {\n this.processFolder(result, tags[0]);\n }\n\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value.Notes, '');\n cipher.notes += ('\\n\\n' + this.getValueOrDefault(value['Shared Notes'], '') + '\\n');\n cipher.name = this.getValueOrDefault(value['Entry Name'], '--');\n cipher.login.username = this.getValueOrDefault(value['User ID']);\n cipher.login.password = this.getValueOrDefault(value.Password);\n cipher.login.uris = this.makeUriArray(value.URL);\n\n if (value.__parsed_extra != null && value.__parsed_extra.length > 0) {\n value.__parsed_extra.forEach((extra: string) => {\n if (!this.isNullOrWhitespace(extra)) {\n cipher.notes += ('\\n' + extra);\n }\n });\n }\n\n const fieldsJson = !this.isNullOrWhitespace(value['Extra Fields']) ?\n JSON.parse(value['Extra Fields']) : null;\n const fields = fieldsJson != null && fieldsJson.extraFields != null &&\n fieldsJson.extraFields.length > 0 ? fieldsJson.extraFields.map((fieldJson: string) => {\n try {\n return JSON.parse(fieldJson);\n } catch { }\n return null;\n }) : null;\n if (fields != null) {\n fields.forEach((f: any) => {\n if (f != null) {\n this.processKvp(cipher, f.name, f.data);\n }\n });\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PasswordAgentCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n let newVersion = true;\n results.forEach((value) => {\n if (value.length !== 5 && value.length < 9) {\n return;\n }\n const altFormat = value.length === 10 && value[0] === '0';\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[altFormat ? 1 : 0], '--');\n cipher.login.username = this.getValueOrDefault(value[altFormat ? 2 : 1]);\n cipher.login.password = this.getValueOrDefault(value[altFormat ? 3 : 2]);\n if (value.length === 5) {\n newVersion = false;\n cipher.notes = this.getValueOrDefault(value[4]);\n cipher.login.uris = this.makeUriArray(value[3]);\n } else {\n const folder = this.getValueOrDefault(value[altFormat ? 9 : 8], '(None)');\n let folderName = folder !== '(None)' ? folder.split('\\\\').join('/') : null;\n if (folderName != null) {\n folderName = folder.split(' > ').join('/');\n folderName = folder.split('>').join('/');\n }\n this.processFolder(result, folderName);\n cipher.notes = this.getValueOrDefault(value[altFormat ? 5 : 3]);\n cipher.login.uris = this.makeUriArray(value[4]);\n }\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (newVersion && this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\nimport { FolderView } from '../models/view/folderView';\n\nimport { CipherType } from '../enums/cipherType';\n\nexport class PasswordBossJsonImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = JSON.parse(data);\n if (results == null || results.items == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n const foldersMap = new Map();\n results.folders.forEach((value: any) => {\n foldersMap.set(value.id, value.name);\n });\n const foldersIndexMap = new Map();\n foldersMap.forEach((val, key) => {\n foldersIndexMap.set(key, result.folders.length);\n const f = new FolderView();\n f.name = val;\n result.folders.push(f);\n });\n\n results.items.forEach((value: any) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name, '--');\n cipher.login.uris = this.makeUriArray(value.login_url);\n\n if (value.folder != null && foldersIndexMap.has(value.folder)) {\n result.folderRelationships.push([result.ciphers.length, foldersIndexMap.get(value.folder)]);\n }\n\n if (value.identifiers == null) {\n return;\n }\n\n if (!this.isNullOrWhitespace(value.identifiers.notes)) {\n cipher.notes = value.identifiers.notes.split('\\\\r\\\\n').join('\\n').split('\\\\n').join('\\n');\n }\n\n if (value.type === 'CreditCard') {\n cipher.card = new CardView();\n cipher.type = CipherType.Card;\n }\n\n for (const property in value.identifiers) {\n if (!value.identifiers.hasOwnProperty(property)) {\n continue;\n }\n const valObj = value.identifiers[property];\n const val = valObj != null ? valObj.toString() : null;\n if (this.isNullOrWhitespace(val) || property === 'notes' || property === 'ignoreItemInSecurityScore') {\n continue;\n }\n\n if (property === 'custom_fields') {\n valObj.forEach((cf: any) => {\n this.processKvp(cipher, cf.name, cf.value);\n });\n continue;\n }\n\n if (cipher.type === CipherType.Card) {\n if (property === 'cardNumber') {\n cipher.card.number = val;\n cipher.card.brand = this.getCardBrand(val);\n continue;\n } else if (property === 'nameOnCard') {\n cipher.card.cardholderName = val;\n continue;\n } else if (property === 'security_code') {\n cipher.card.code = val;\n continue;\n } else if (property === 'expires') {\n try {\n const expDate = new Date(val);\n cipher.card.expYear = expDate.getFullYear().toString();\n cipher.card.expMonth = (expDate.getMonth() + 1).toString();\n } catch { }\n continue;\n } else if (property === 'cardType') {\n continue;\n }\n } else {\n if ((property === 'username' || property === 'email') &&\n this.isNullOrWhitespace(cipher.login.username)) {\n cipher.login.username = val;\n continue;\n } else if (property === 'password') {\n cipher.login.password = val;\n continue;\n } else if (property === 'totp') {\n cipher.login.totp = val;\n continue;\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\n this.uriFieldNames.indexOf(property) > -1) {\n cipher.login.uris = this.makeUriArray(val);\n continue;\n }\n }\n\n this.processKvp(cipher, property, val);\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PasswordDragonXmlImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n const records = doc.querySelectorAll('PasswordManager > record');\n Array.from(records).forEach((record) => {\n const category = this.querySelectorDirectChild(record, 'Category');\n const categoryText = category != null && !this.isNullOrWhitespace(category.textContent) &&\n category.textContent !== 'Unfiled' ? category.textContent : null;\n this.processFolder(result, categoryText);\n\n const accountName = this.querySelectorDirectChild(record, 'Account-Name');\n const userId = this.querySelectorDirectChild(record, 'User-Id');\n const password = this.querySelectorDirectChild(record, 'Password');\n const url = this.querySelectorDirectChild(record, 'URL');\n const notes = this.querySelectorDirectChild(record, 'Notes');\n const cipher = this.initLoginCipher();\n cipher.name = accountName != null ? this.getValueOrDefault(accountName.textContent, '--') : '--';\n cipher.notes = notes != null ? this.getValueOrDefault(notes.textContent) : '';\n cipher.login.username = userId != null ? this.getValueOrDefault(userId.textContent) : null;\n cipher.login.password = password != null ? this.getValueOrDefault(password.textContent) : null;\n cipher.login.uris = url != null ? this.makeUriArray(url.textContent) : null;\n\n const attributes: string[] = [];\n for (let i = 1; i <= 10; i++) {\n attributes.push('Attribute-' + i);\n }\n\n this.querySelectorAllDirectChild(record, attributes.join(',')).forEach((attr) => {\n if (this.isNullOrWhitespace(attr.textContent) || attr.textContent === 'null') {\n return;\n }\n this.processKvp(cipher, attr.tagName, attr.textContent);\n });\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PasswordSafeXmlImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n const passwordSafe = doc.querySelector('passwordsafe');\n if (passwordSafe == null) {\n result.errorMessage = 'Missing `passwordsafe` node.';\n result.success = false;\n return Promise.resolve(result);\n }\n\n const notesDelimiter = passwordSafe.getAttribute('delimiter');\n const entries = doc.querySelectorAll('passwordsafe > entry');\n Array.from(entries).forEach((entry) => {\n const group = this.querySelectorDirectChild(entry, 'group');\n const groupText = group != null && !this.isNullOrWhitespace(group.textContent) ?\n group.textContent.split('.').join('/') : null;\n this.processFolder(result, groupText);\n\n const title = this.querySelectorDirectChild(entry, 'title');\n const username = this.querySelectorDirectChild(entry, 'username');\n const email = this.querySelectorDirectChild(entry, 'email');\n const password = this.querySelectorDirectChild(entry, 'password');\n const url = this.querySelectorDirectChild(entry, 'url');\n const notes = this.querySelectorDirectChild(entry, 'notes');\n const cipher = this.initLoginCipher();\n cipher.name = title != null ? this.getValueOrDefault(title.textContent, '--') : '--';\n cipher.notes = notes != null ?\n this.getValueOrDefault(notes.textContent, '').split(notesDelimiter).join('\\n') : null;\n cipher.login.username = username != null ? this.getValueOrDefault(username.textContent) : null;\n cipher.login.password = password != null ? this.getValueOrDefault(password.textContent) : null;\n cipher.login.uris = url != null ? this.makeUriArray(url.textContent) : null;\n\n if (this.isNullOrWhitespace(cipher.login.username) && email != null) {\n cipher.login.username = this.getValueOrDefault(email.textContent);\n } else if (email != null && !this.isNullOrWhitespace(email.textContent)) {\n cipher.notes = this.isNullOrWhitespace(cipher.notes) ? 'Email: ' + email.textContent\n : (cipher.notes + '\\n' + 'Email: ' + email.textContent);\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class PasswordWalletTxtImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n if (value.length < 1) {\n return;\n }\n if (value.length > 5) {\n this.processFolder(result, value[5]);\n }\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[0], '--');\n if (value.length > 4) {\n cipher.notes = this.getValueOrDefault(value[4], '').split('¬').join('\\n');\n }\n if (value.length > 2) {\n cipher.login.username = this.getValueOrDefault(value[2]);\n }\n if (value.length > 3) {\n cipher.login.password = this.getValueOrDefault(value[3]);\n }\n if (value.length > 1) {\n cipher.login.uris = this.makeUriArray(value[1]);\n }\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { CipherType } from '../enums/cipherType';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\n\nexport class RememBearCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n if (value.trash === 'true') {\n return;\n }\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.name);\n cipher.notes = this.getValueOrDefault(value.notes);\n if (value.type === 'LoginItem') {\n cipher.login.uris = this.makeUriArray(value.website);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.username = this.getValueOrDefault(value.username);\n } else if (value.type === 'CreditCardItem') {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n cipher.card.cardholderName = this.getValueOrDefault(value.cardholder);\n cipher.card.number = this.getValueOrDefault(value.number);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n cipher.card.code = this.getValueOrDefault(value.verification);\n\n try {\n const expMonth = this.getValueOrDefault(value.expiryMonth);\n if (expMonth != null) {\n const expMonthNumber = parseInt(expMonth, null);\n if (expMonthNumber != null && expMonthNumber >= 1 && expMonthNumber <= 12) {\n cipher.card.expMonth = expMonthNumber.toString();\n }\n }\n } catch { }\n try {\n const expYear = this.getValueOrDefault(value.expiryYear);\n if (expYear != null) {\n const expYearNumber = parseInt(expYear, null);\n if (expYearNumber != null) {\n cipher.card.expYear = expYearNumber.toString();\n }\n }\n } catch { }\n\n const pin = this.getValueOrDefault(value.pin);\n if (pin != null) {\n this.processKvp(cipher, 'PIN', pin);\n }\n const zip = this.getValueOrDefault(value.zipCode);\n if (zip != null) {\n this.processKvp(cipher, 'Zip Code', zip);\n }\n }\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class RoboFormCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n let i = 1;\n results.forEach((value) => {\n const folder = !this.isNullOrWhitespace(value.Folder) && value.Folder.startsWith('/') ?\n value.Folder.replace('/', '') : value.Folder;\n const folderName = !this.isNullOrWhitespace(folder) ? folder : null;\n this.processFolder(result, folderName);\n\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value.Note);\n cipher.name = this.getValueOrDefault(value.Name, '--');\n cipher.login.username = this.getValueOrDefault(value.Login);\n cipher.login.password = this.getValueOrDefault(value.Pwd);\n cipher.login.uris = this.makeUriArray(value.Url);\n\n if (!this.isNullOrWhitespace(value.Rf_fields)) {\n let fields: string[] = [value.Rf_fields];\n if (value.__parsed_extra != null && value.__parsed_extra.length > 0) {\n fields = fields.concat(value.__parsed_extra);\n }\n fields.forEach((field: string) => {\n const parts = field.split(':');\n if (parts.length < 3) {\n return;\n }\n const key = parts[0] === '-no-name-' ? null : parts[0];\n const val = parts.length === 4 && parts[2] === 'rck' ? parts[1] : parts[2];\n this.processKvp(cipher, key, val);\n });\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n\n if (i === results.length && cipher.name === '--' && this.isNullOrWhitespace(cipher.login.password)) {\n return;\n }\n\n result.ciphers.push(cipher);\n i++;\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { FolderView } from '../models/view/folderView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nexport class SafeInCloudXmlImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n const db = doc.querySelector('database');\n if (db == null) {\n result.errorMessage = 'Missing `database` node.';\n result.success = false;\n return Promise.resolve(result);\n }\n\n const foldersMap = new Map();\n\n Array.from(doc.querySelectorAll('database > label')).forEach((labelEl) => {\n const name = labelEl.getAttribute('name');\n const id = labelEl.getAttribute('id');\n if (!this.isNullOrWhitespace(name) && !this.isNullOrWhitespace(id)) {\n foldersMap.set(id, result.folders.length);\n const folder = new FolderView();\n folder.name = name;\n result.folders.push(folder);\n }\n });\n\n Array.from(doc.querySelectorAll('database > card')).forEach((cardEl) => {\n if (cardEl.getAttribute('template') === 'true') {\n return;\n }\n\n const labelIdEl = this.querySelectorDirectChild(cardEl, 'label_id');\n if (labelIdEl != null) {\n const labelId = labelIdEl.textContent;\n if (!this.isNullOrWhitespace(labelId) && foldersMap.has(labelId)) {\n result.folderRelationships.push([result.ciphers.length, foldersMap.get(labelId)]);\n }\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(cardEl.getAttribute('title'), '--');\n\n const cardType = cardEl.getAttribute('type');\n if (cardType === 'note') {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n } else {\n Array.from(this.querySelectorAllDirectChild(cardEl, 'field')).forEach((fieldEl) => {\n const text = fieldEl.textContent;\n if (this.isNullOrWhitespace(text)) {\n return;\n }\n const name = fieldEl.getAttribute('name');\n const fieldType = this.getValueOrDefault(fieldEl.getAttribute('type'), '').toLowerCase();\n if (fieldType === 'login') {\n cipher.login.username = text;\n } else if (fieldType === 'password') {\n cipher.login.password = text;\n } else if (fieldType === 'one_time_password') {\n cipher.login.totp = text;\n } else if (fieldType === 'notes') {\n cipher.notes += (text + '\\n');\n } else if (fieldType === 'weblogin' || fieldType === 'website') {\n cipher.login.uris = this.makeUriArray(text);\n } else {\n this.processKvp(cipher, name, text);\n }\n });\n }\n\n Array.from(this.querySelectorAllDirectChild(cardEl, 'notes')).forEach((notesEl) => {\n cipher.notes += (notesEl.textContent + '\\n');\n });\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class SaferPassCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(this.nameFromUrl(value.url), '--');\n cipher.notes = this.getValueOrDefault(value.notes);\n cipher.login.username = this.getValueOrDefault(value.username);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.url);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class SecureSafeCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.Title);\n cipher.notes = this.getValueOrDefault(value.Comment);\n cipher.login.uris = this.makeUriArray(value.Url);\n cipher.login.password = this.getValueOrDefault(value.Password);\n cipher.login.username = this.getValueOrDefault(value.Username);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\nimport { CipherView } from '../models/view/cipherView';\n\nexport class SplashIdCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n if (value.length < 3) {\n return;\n }\n\n this.processFolder(result, this.getValueOrDefault(value[value.length - 1]));\n const cipher = this.initLoginCipher();\n cipher.notes = this.getValueOrDefault(value[value.length - 2], '');\n cipher.name = this.getValueOrDefault(value[1], '--');\n\n if (value[0] === 'Web Logins' || value[0] === 'Servers' || value[0] === 'Email Accounts') {\n cipher.login.username = this.getValueOrDefault(value[2]);\n cipher.login.password = this.getValueOrDefault(value[3]);\n cipher.login.uris = this.makeUriArray(value[4]);\n this.parseFieldsToNotes(cipher, 5, value);\n } else {\n this.parseFieldsToNotes(cipher, 2, value);\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(result);\n }\n\n private parseFieldsToNotes(cipher: CipherView, startIndex: number, value: any) {\n // last 3 rows do not get parsed\n for (let i = startIndex; i < value.length - 3; i++) {\n if (this.isNullOrWhitespace(value[i])) {\n continue;\n }\n cipher.notes += (value[i] + '\\n');\n }\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class StickyPasswordXmlImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const doc = this.parseXml(data);\n if (doc == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n const loginNodes = doc.querySelectorAll('root > Database > Logins > Login');\n Array.from(loginNodes).forEach((loginNode) => {\n const accountId = loginNode.getAttribute('ID');\n if (this.isNullOrWhitespace(accountId)) {\n return;\n }\n\n const usernameText = loginNode.getAttribute('Name');\n const passwordText = loginNode.getAttribute('Password');\n let titleText: string = null;\n let linkText: string = null;\n let notesText: string = null;\n let groupId: string = null;\n let groupText: string = null;\n\n const accountLogin = doc.querySelector('root > Database > Accounts > Account > ' +\n 'LoginLinks > Login[SourceLoginID=\"' + accountId + '\"]');\n if (accountLogin != null) {\n const account = accountLogin.parentElement.parentElement;\n if (account != null) {\n titleText = account.getAttribute('Name');\n linkText = account.getAttribute('Link');\n groupId = account.getAttribute('ParentID');\n notesText = account.getAttribute('Comments');\n if (!this.isNullOrWhitespace(notesText)) {\n notesText = notesText.split('/n').join('\\n');\n }\n }\n }\n\n if (!this.isNullOrWhitespace(groupId)) {\n groupText = this.buildGroupText(doc, groupId, '');\n this.processFolder(result, groupText);\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(titleText, '--');\n cipher.notes = this.getValueOrDefault(notesText);\n cipher.login.username = this.getValueOrDefault(usernameText);\n cipher.login.password = this.getValueOrDefault(passwordText);\n cipher.login.uris = this.makeUriArray(linkText);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(result);\n }\n\n buildGroupText(doc: Document, groupId: string, groupText: string): string {\n const group = doc.querySelector('root > Database > Groups > Group[ID=\"' + groupId + '\"]');\n if (group == null) {\n return groupText;\n }\n if (!this.isNullOrWhitespace(groupText)) {\n groupText = '/' + groupText;\n }\n groupText = group.getAttribute('Name') + groupText;\n return this.buildGroupText(doc, group.getAttribute('ParentID'), groupText);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CardView } from '../models/view/cardView';\nimport { SecureNoteView } from '../models/view/secureNoteView';\n\nimport { CipherType } from '../enums/cipherType';\nimport { SecureNoteType } from '../enums/secureNoteType';\n\nconst PropertiesToIgnore = ['kind', 'autologin', 'favorite', 'hexcolor', 'protectedwithpassword', 'subdomainonly',\n 'type', 'tk_export_version', 'note', 'title', 'document_content',\n];\n\nexport class TrueKeyCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.favorite = this.getValueOrDefault(value.favorite, '').toLowerCase() === 'true';\n cipher.name = this.getValueOrDefault(value.name, '--');\n cipher.notes = this.getValueOrDefault(value.memo, '');\n cipher.login.username = this.getValueOrDefault(value.login);\n cipher.login.password = this.getValueOrDefault(value.password);\n cipher.login.uris = this.makeUriArray(value.url);\n\n if (value.kind !== 'login') {\n cipher.name = this.getValueOrDefault(value.title, '--');\n cipher.notes = this.getValueOrDefault(value.note, '');\n }\n\n if (value.kind === 'cc') {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n cipher.card.cardholderName = this.getValueOrDefault(value.cardholder);\n cipher.card.number = this.getValueOrDefault(value.number);\n cipher.card.brand = this.getCardBrand(cipher.card.number);\n if (!this.isNullOrWhitespace(value.expiryDate)) {\n try {\n const expDate = new Date(value.expiryDate);\n cipher.card.expYear = expDate.getFullYear().toString();\n cipher.card.expMonth = (expDate.getMonth() + 1).toString();\n } catch { }\n }\n } else if (value.kind !== 'login') {\n cipher.type = CipherType.SecureNote;\n cipher.secureNote = new SecureNoteView();\n cipher.secureNote.type = SecureNoteType.Generic;\n if (!this.isNullOrWhitespace(cipher.notes)) {\n cipher.notes = this.getValueOrDefault(value.document_content, '');\n }\n for (const property in value) {\n if (value.hasOwnProperty(property) && PropertiesToIgnore.indexOf(property.toLowerCase()) < 0 &&\n !this.isNullOrWhitespace(value[property])) {\n this.processKvp(cipher, property, value[property]);\n }\n }\n }\n\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class UpmCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, false);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n if (value.length !== 5) {\n return;\n }\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value[0], '--');\n cipher.notes = this.getValueOrDefault(value[4]);\n cipher.login.username = this.getValueOrDefault(value[1]);\n cipher.login.password = this.getValueOrDefault(value[2]);\n cipher.login.uris = this.makeUriArray(value[3]);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class YotiCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(value.Name, '--');\n cipher.login.username = this.getValueOrDefault(value['User name']);\n cipher.login.password = this.getValueOrDefault(value.Password);\n cipher.login.uris = this.makeUriArray(value.URL);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return Promise.resolve(result);\n }\n}\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\nimport { CipherView } from '../models/view';\n\nexport class ZohoVaultCsvImporter extends BaseImporter implements Importer {\n parse(data: string): Promise {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return Promise.resolve(result);\n }\n\n results.forEach((value) => {\n if (this.isNullOrWhitespace(value['Password Name']) && this.isNullOrWhitespace(value['Secret Name'])) {\n return;\n }\n this.processFolder(result, this.getValueOrDefault(value.ChamberName));\n const cipher = this.initLoginCipher();\n cipher.favorite = this.getValueOrDefault(value.Favorite, '0') === '1';\n cipher.notes = this.getValueOrDefault(value.Notes);\n cipher.name = this.getValueOrDefault(\n value['Password Name'], this.getValueOrDefault(value['Secret Name'], '--'));\n cipher.login.uris = this.makeUriArray(\n this.getValueOrDefault(value['Password URL'], this.getValueOrDefault(value['Secret URL'])));\n this.parseData(cipher, value.SecretData);\n this.parseData(cipher, value.CustomData);\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return Promise.resolve(result);\n }\n\n private parseData(cipher: CipherView, data: string) {\n if (this.isNullOrWhitespace(data)) {\n return;\n }\n const dataLines = this.splitNewLine(data);\n dataLines.forEach((line) => {\n const delimPosition = line.indexOf(':');\n if (delimPosition < 0) {\n return;\n }\n const field = line.substring(0, delimPosition);\n const value = line.length > delimPosition ? line.substring(delimPosition + 1) : null;\n if (this.isNullOrWhitespace(field) || this.isNullOrWhitespace(value) || field === 'SecretType') {\n return;\n }\n const fieldLower = field.toLowerCase();\n if (cipher.login.username == null && this.usernameFieldNames.indexOf(fieldLower) > -1) {\n cipher.login.username = value;\n } else if (cipher.login.password == null && this.passwordFieldNames.indexOf(fieldLower) > -1) {\n cipher.login.password = value;\n } else {\n this.processKvp(cipher, field, value);\n }\n });\n }\n}\n","import * as signalR from '@microsoft/signalr';\nimport * as signalRMsgPack from '@microsoft/signalr-protocol-msgpack';\n\nimport { NotificationType } from '../enums/notificationType';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { AppIdService } from '../abstractions/appId.service';\nimport { EnvironmentService } from '../abstractions/environment.service';\nimport { LogService } from '../abstractions/log.service';\nimport { NotificationsService as NotificationsServiceAbstraction } from '../abstractions/notifications.service';\nimport { SyncService } from '../abstractions/sync.service';\nimport { UserService } from '../abstractions/user.service';\nimport { VaultTimeoutService } from '../abstractions/vaultTimeout.service';\n\nimport {\n NotificationResponse,\n SyncCipherNotification,\n SyncFolderNotification,\n} from '../models/response/notificationResponse';\n\nexport class NotificationsService implements NotificationsServiceAbstraction {\n private signalrConnection: signalR.HubConnection;\n private url: string;\n private connected = false;\n private inited = false;\n private inactive = false;\n private reconnectTimer: any = null;\n\n constructor(private userService: UserService, private syncService: SyncService,\n private appIdService: AppIdService, private apiService: ApiService,\n private vaultTimeoutService: VaultTimeoutService,\n private logoutCallback: () => Promise, private logService: LogService) {\n }\n\n async init(environmentService: EnvironmentService): Promise {\n this.inited = false;\n this.url = 'https://notifications.bitwarden.com';\n if (environmentService.notificationsUrl != null) {\n this.url = environmentService.notificationsUrl;\n } else if (environmentService.baseUrl != null) {\n this.url = environmentService.baseUrl + '/notifications';\n }\n\n // Set notifications server URL to `https://-` to effectively disable communication\n // with the notifications server from the client app\n if (this.url === 'https://-') {\n return;\n }\n\n if (this.signalrConnection != null) {\n this.signalrConnection.off('ReceiveMessage');\n this.signalrConnection.off('Heartbeat');\n await this.signalrConnection.stop();\n this.connected = false;\n this.signalrConnection = null;\n }\n\n this.signalrConnection = new signalR.HubConnectionBuilder()\n .withUrl(this.url + '/hub', {\n accessTokenFactory: () => this.apiService.getActiveBearerToken(),\n skipNegotiation: true,\n transport: signalR.HttpTransportType.WebSockets,\n })\n .withHubProtocol(new signalRMsgPack.MessagePackHubProtocol())\n // .configureLogging(signalR.LogLevel.Trace)\n .build();\n\n this.signalrConnection.on('ReceiveMessage',\n (data: any) => this.processNotification(new NotificationResponse(data)));\n this.signalrConnection.on('Heartbeat',\n (data: any) => { /*console.log('Heartbeat!');*/ });\n this.signalrConnection.onclose(() => {\n this.connected = false;\n this.reconnect(true);\n });\n this.inited = true;\n if (await this.isAuthedAndUnlocked()) {\n await this.reconnect(false);\n }\n }\n\n async updateConnection(sync = false): Promise {\n if (!this.inited) {\n return;\n }\n try {\n if (await this.isAuthedAndUnlocked()) {\n await this.reconnect(sync);\n } else {\n await this.signalrConnection.stop();\n }\n } catch (e) {\n this.logService.error(e.toString());\n }\n }\n\n async reconnectFromActivity(): Promise {\n this.inactive = false;\n if (this.inited && !this.connected) {\n await this.reconnect(true);\n }\n }\n\n async disconnectFromInactivity(): Promise {\n this.inactive = true;\n if (this.inited && this.connected) {\n await this.signalrConnection.stop();\n }\n }\n\n private async processNotification(notification: NotificationResponse) {\n const appId = await this.appIdService.getAppId();\n if (notification == null || notification.contextId === appId) {\n return;\n }\n\n const isAuthenticated = await this.userService.isAuthenticated();\n const payloadUserId = notification.payload.userId || notification.payload.UserId;\n const myUserId = await this.userService.getUserId();\n if (isAuthenticated && payloadUserId != null && payloadUserId !== myUserId) {\n return;\n }\n\n switch (notification.type) {\n case NotificationType.SyncCipherCreate:\n case NotificationType.SyncCipherUpdate:\n await this.syncService.syncUpsertCipher(notification.payload as SyncCipherNotification,\n notification.type === NotificationType.SyncCipherUpdate);\n break;\n case NotificationType.SyncCipherDelete:\n case NotificationType.SyncLoginDelete:\n await this.syncService.syncDeleteCipher(notification.payload as SyncCipherNotification);\n break;\n case NotificationType.SyncFolderCreate:\n case NotificationType.SyncFolderUpdate:\n await this.syncService.syncUpsertFolder(notification.payload as SyncFolderNotification,\n notification.type === NotificationType.SyncFolderUpdate);\n break;\n case NotificationType.SyncFolderDelete:\n await this.syncService.syncDeleteFolder(notification.payload as SyncFolderNotification);\n break;\n case NotificationType.SyncVault:\n case NotificationType.SyncCiphers:\n case NotificationType.SyncSettings:\n if (isAuthenticated) {\n await this.syncService.fullSync(false);\n }\n break;\n case NotificationType.SyncOrgKeys:\n if (isAuthenticated) {\n await this.apiService.refreshIdentityToken();\n await this.syncService.fullSync(true);\n // Stop so a reconnect can be made\n await this.signalrConnection.stop();\n }\n break;\n case NotificationType.LogOut:\n if (isAuthenticated) {\n this.logoutCallback();\n }\n break;\n default:\n break;\n }\n }\n\n private async reconnect(sync: boolean) {\n if (this.reconnectTimer != null) {\n clearTimeout(this.reconnectTimer);\n this.reconnectTimer = null;\n }\n if (this.connected || !this.inited || this.inactive) {\n return;\n }\n const authedAndUnlocked = await this.isAuthedAndUnlocked();\n if (!authedAndUnlocked) {\n return;\n }\n\n try {\n await this.signalrConnection.start();\n this.connected = true;\n if (sync) {\n await this.syncService.fullSync(false);\n }\n } catch { }\n\n if (!this.connected) {\n this.reconnectTimer = setTimeout(() => this.reconnect(sync), this.random(120000, 300000));\n }\n }\n\n private async isAuthedAndUnlocked() {\n if (await this.userService.isAuthenticated()) {\n const locked = await this.vaultTimeoutService.isLocked();\n return !locked;\n }\n return false;\n }\n\n private random(min: number, max: number) {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min + 1)) + min;\n }\n}\n","import { BaseResponse } from './baseResponse';\n\nimport { NotificationType } from '../../enums/notificationType';\n\nexport class NotificationResponse extends BaseResponse {\n contextId: string;\n type: NotificationType;\n payload: any;\n\n constructor(response: any) {\n super(response);\n this.contextId = this.getResponseProperty('ContextId');\n this.type = this.getResponseProperty('Type');\n\n const payload = this.getResponseProperty('Payload');\n switch (this.type) {\n case NotificationType.SyncCipherCreate:\n case NotificationType.SyncCipherDelete:\n case NotificationType.SyncCipherUpdate:\n case NotificationType.SyncLoginDelete:\n this.payload = new SyncCipherNotification(payload);\n break;\n case NotificationType.SyncFolderCreate:\n case NotificationType.SyncFolderDelete:\n case NotificationType.SyncFolderUpdate:\n this.payload = new SyncFolderNotification(payload);\n break;\n case NotificationType.SyncVault:\n case NotificationType.SyncCiphers:\n case NotificationType.SyncOrgKeys:\n case NotificationType.SyncSettings:\n case NotificationType.LogOut:\n this.payload = new UserNotification(payload);\n break;\n default:\n break;\n }\n }\n}\n\nexport class SyncCipherNotification extends BaseResponse {\n id: string;\n userId: string;\n organizationId: string;\n collectionIds: string[];\n revisionDate: Date;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.userId = this.getResponseProperty('UserId');\n this.organizationId = this.getResponseProperty('OrganizationId');\n this.collectionIds = this.getResponseProperty('CollectionIds');\n this.revisionDate = new Date(this.getResponseProperty('RevisionDate'));\n }\n}\n\nexport class SyncFolderNotification extends BaseResponse {\n id: string;\n userId: string;\n revisionDate: Date;\n\n constructor(response: any) {\n super(response);\n this.id = this.getResponseProperty('Id');\n this.userId = this.getResponseProperty('UserId');\n this.revisionDate = new Date(this.getResponseProperty('RevisionDate'));\n }\n}\n\nexport class UserNotification extends BaseResponse {\n userId: string;\n date: Date;\n\n constructor(response: any) {\n super(response);\n this.userId = this.getResponseProperty('UserId');\n this.date = new Date(this.getResponseProperty('Date'));\n }\n}\n","import { PolicyService as PolicyServiceAbstraction } from '../abstractions/policy.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { UserService } from '../abstractions/user.service';\n\nimport { PolicyData } from '../models/data/policyData';\n\nimport { MasterPasswordPolicyOptions } from '../models/domain/masterPasswordPolicyOptions';\nimport { Policy } from '../models/domain/policy';\n\nimport { PolicyType } from '../enums/policyType';\n\nconst Keys = {\n policiesPrefix: 'policies_',\n};\n\nexport class PolicyService implements PolicyServiceAbstraction {\n policyCache: Policy[];\n\n constructor(private userService: UserService, private storageService: StorageService) {\n }\n\n clearCache(): void {\n this.policyCache = null;\n }\n\n async getAll(type?: PolicyType): Promise {\n if (this.policyCache == null) {\n const userId = await this.userService.getUserId();\n const policies = await this.storageService.get<{ [id: string]: PolicyData; }>(\n Keys.policiesPrefix + userId);\n const response: Policy[] = [];\n for (const id in policies) {\n if (policies.hasOwnProperty(id)) {\n response.push(new Policy(policies[id]));\n }\n }\n this.policyCache = response;\n }\n if (type != null) {\n return this.policyCache.filter((p) => p.type === type);\n } else {\n return this.policyCache;\n }\n }\n\n async replace(policies: { [id: string]: PolicyData; }): Promise {\n const userId = await this.userService.getUserId();\n await this.storageService.save(Keys.policiesPrefix + userId, policies);\n this.policyCache = null;\n }\n\n async clear(userId: string): Promise {\n await this.storageService.remove(Keys.policiesPrefix + userId);\n this.policyCache = null;\n }\n\n async getMasterPasswordPolicyOptions(policies?: Policy[]): Promise {\n let enforcedOptions: MasterPasswordPolicyOptions = null;\n\n if (policies == null) {\n policies = await this.getAll(PolicyType.MasterPassword);\n } else {\n policies = policies.filter((p) => p.type === PolicyType.MasterPassword);\n }\n\n if (policies == null || policies.length === 0) {\n return enforcedOptions;\n }\n\n policies.forEach((currentPolicy) => {\n if (!currentPolicy.enabled || currentPolicy.data == null) {\n return;\n }\n\n if (enforcedOptions == null) {\n enforcedOptions = new MasterPasswordPolicyOptions();\n }\n\n if (currentPolicy.data.minComplexity != null\n && currentPolicy.data.minComplexity > enforcedOptions.minComplexity) {\n enforcedOptions.minComplexity = currentPolicy.data.minComplexity;\n }\n\n if (currentPolicy.data.minLength != null\n && currentPolicy.data.minLength > enforcedOptions.minLength) {\n enforcedOptions.minLength = currentPolicy.data.minLength;\n }\n\n if (currentPolicy.data.requireUpper) {\n enforcedOptions.requireUpper = true;\n }\n\n if (currentPolicy.data.requireLower) {\n enforcedOptions.requireLower = true;\n }\n\n if (currentPolicy.data.requireNumbers) {\n enforcedOptions.requireNumbers = true;\n }\n\n if (currentPolicy.data.requireSpecial) {\n enforcedOptions.requireSpecial = true;\n }\n });\n\n return enforcedOptions;\n }\n\n evaluateMasterPassword(passwordStrength: number, newPassword: string,\n enforcedPolicyOptions: MasterPasswordPolicyOptions): boolean {\n if (enforcedPolicyOptions == null) {\n return true;\n }\n\n if (enforcedPolicyOptions.minComplexity > 0 && enforcedPolicyOptions.minComplexity > passwordStrength) {\n return false;\n }\n\n if (enforcedPolicyOptions.minLength > 0 && enforcedPolicyOptions.minLength > newPassword.length) {\n return false;\n }\n\n if (enforcedPolicyOptions.requireUpper && newPassword.toLocaleLowerCase() === newPassword) {\n return false;\n }\n\n if (enforcedPolicyOptions.requireLower && newPassword.toLocaleUpperCase() === newPassword) {\n return false;\n }\n\n if (enforcedPolicyOptions.requireNumbers && !(/[0-9]/.test(newPassword))) {\n return false;\n }\n\n if (enforcedPolicyOptions.requireSpecial && !(/[!@#$%\\^&*]/g.test(newPassword))) {\n return false;\n }\n\n return true;\n }\n}\n","import Domain from './domainBase';\n\nexport class MasterPasswordPolicyOptions extends Domain {\n minComplexity: number = 0;\n minLength: number = 0;\n requireUpper: boolean = false;\n requireLower: boolean = false;\n requireNumbers: boolean = false;\n requireSpecial: boolean = false;\n}\n","import * as lunr from 'lunr';\n\nimport { CipherView } from '../models/view/cipherView';\n\nimport { CipherService } from '../abstractions/cipher.service';\nimport { LogService } from '../abstractions/log.service';\nimport { SearchService as SearchServiceAbstraction } from '../abstractions/search.service';\n\nimport { CipherType } from '../enums/cipherType';\nimport { FieldType } from '../enums/fieldType';\nimport { UriMatchType } from '../enums/uriMatchType';\n\nexport class SearchService implements SearchServiceAbstraction {\n private indexing = false;\n private index: lunr.Index = null;\n\n constructor(private cipherService: CipherService, private logService: LogService) {\n }\n\n clearIndex(): void {\n this.index = null;\n }\n\n isSearchable(query: string): boolean {\n const notSearchable = query == null || (this.index == null && query.length < 2) ||\n (this.index != null && query.length < 2 && query.indexOf('>') !== 0);\n return !notSearchable;\n }\n\n async indexCiphers(): Promise {\n if (this.indexing) {\n return;\n }\n\n this.logService.time('search indexing');\n this.indexing = true;\n this.index = null;\n const builder = new lunr.Builder();\n builder.ref('id');\n builder.field('shortid', { boost: 100, extractor: (c: CipherView) => c.id.substr(0, 8) });\n builder.field('name', { boost: 10 });\n builder.field('subtitle', {\n boost: 5,\n extractor: (c: CipherView) => {\n if (c.subTitle != null && c.type === CipherType.Card) {\n return c.subTitle.replace(/\\*/g, '');\n }\n return c.subTitle;\n },\n });\n builder.field('notes');\n builder.field('login.username', {\n extractor: (c: CipherView) => c.type === CipherType.Login && c.login != null ? c.login.username : null,\n });\n builder.field('login.uris', { boost: 2, extractor: (c: CipherView) => this.uriExtractor(c) });\n builder.field('fields', { extractor: (c: CipherView) => this.fieldExtractor(c, false) });\n builder.field('fields_joined', { extractor: (c: CipherView) => this.fieldExtractor(c, true) });\n builder.field('attachments', { extractor: (c: CipherView) => this.attachmentExtractor(c, false) });\n builder.field('attachments_joined',\n { extractor: (c: CipherView) => this.attachmentExtractor(c, true) });\n builder.field('organizationid', { extractor: (c: CipherView) => c.organizationId });\n const ciphers = await this.cipherService.getAllDecrypted();\n ciphers.forEach((c) => builder.add(c));\n this.index = builder.build();\n this.indexing = false;\n\n this.logService.timeEnd('search indexing');\n }\n\n async searchCiphers(query: string,\n filter: (((cipher: CipherView) => boolean) | (((cipher: CipherView) => boolean)[])) = null,\n ciphers: CipherView[] = null):\n Promise {\n const results: CipherView[] = [];\n if (query != null) {\n query = query.trim().toLowerCase();\n }\n if (query === '') {\n query = null;\n }\n\n if (ciphers == null) {\n ciphers = await this.cipherService.getAllDecrypted();\n }\n\n if (filter != null && Array.isArray(filter) && filter.length > 0) {\n ciphers = ciphers.filter((c) => filter.every((f) => f == null || f(c)));\n } else if (filter != null) {\n ciphers = ciphers.filter(filter as (cipher: CipherView) => boolean);\n }\n\n if (!this.isSearchable(query)) {\n return ciphers;\n }\n\n if (this.indexing) {\n await new Promise((r) => setTimeout(r, 250));\n if (this.indexing) {\n await new Promise((r) => setTimeout(r, 500));\n }\n }\n\n const index = this.getIndexForSearch();\n if (index == null) {\n // Fall back to basic search if index is not available\n return this.searchCiphersBasic(ciphers, query);\n }\n\n const ciphersMap = new Map();\n ciphers.forEach((c) => ciphersMap.set(c.id, c));\n\n let searchResults: lunr.Index.Result[] = null;\n const isQueryString = query != null && query.length > 1 && query.indexOf('>') === 0;\n if (isQueryString) {\n try {\n searchResults = index.search(query.substr(1).trim());\n } catch { }\n } else {\n // tslint:disable-next-line\n const soWild = lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING;\n searchResults = index.query((q) => {\n lunr.tokenizer(query).forEach((token) => {\n const t = token.toString();\n q.term(t, { fields: ['name'], wildcard: soWild });\n q.term(t, { fields: ['subtitle'], wildcard: soWild });\n q.term(t, { fields: ['login.uris'], wildcard: soWild });\n q.term(t, {});\n });\n });\n }\n\n if (searchResults != null) {\n searchResults.forEach((r) => {\n if (ciphersMap.has(r.ref)) {\n results.push(ciphersMap.get(r.ref));\n }\n });\n }\n return results;\n }\n\n searchCiphersBasic(ciphers: CipherView[], query: string, deleted: boolean = false) {\n query = query.trim().toLowerCase();\n return ciphers.filter((c) => {\n if (deleted !== c.isDeleted) {\n return false;\n }\n if (c.name != null && c.name.toLowerCase().indexOf(query) > -1) {\n return true;\n }\n if (query.length >= 8 && c.id.startsWith(query)) {\n return true;\n }\n if (c.subTitle != null && c.subTitle.toLowerCase().indexOf(query) > -1) {\n return true;\n }\n if (c.login && c.login.uri != null && c.login.uri.toLowerCase().indexOf(query) > -1) {\n return true;\n }\n return false;\n });\n }\n\n getIndexForSearch(): lunr.Index {\n return this.index;\n }\n\n private fieldExtractor(c: CipherView, joined: boolean) {\n if (!c.hasFields) {\n return null;\n }\n let fields: string[] = [];\n c.fields.forEach((f) => {\n if (f.name != null) {\n fields.push(f.name);\n }\n if (f.type === FieldType.Text && f.value != null) {\n fields.push(f.value);\n }\n });\n fields = fields.filter((f) => f.trim() !== '');\n if (fields.length === 0) {\n return null;\n }\n return joined ? fields.join(' ') : fields;\n }\n\n private attachmentExtractor(c: CipherView, joined: boolean) {\n if (!c.hasAttachments) {\n return null;\n }\n let attachments: string[] = [];\n c.attachments.forEach((a) => {\n if (a != null && a.fileName != null) {\n if (joined && a.fileName.indexOf('.') > -1) {\n attachments.push(a.fileName.substr(0, a.fileName.lastIndexOf('.')));\n } else {\n attachments.push(a.fileName);\n }\n }\n });\n attachments = attachments.filter((f) => f.trim() !== '');\n if (attachments.length === 0) {\n return null;\n }\n return joined ? attachments.join(' ') : attachments;\n }\n\n private uriExtractor(c: CipherView) {\n if (c.type !== CipherType.Login || c.login == null || !c.login.hasUris) {\n return null;\n }\n const uris: string[] = [];\n c.login.uris.forEach((u) => {\n if (u.uri == null || u.uri === '') {\n return;\n }\n if (u.hostname != null) {\n uris.push(u.hostname);\n return;\n }\n let uri = u.uri;\n if (u.match !== UriMatchType.RegularExpression) {\n const protocolIndex = uri.indexOf('://');\n if (protocolIndex > -1) {\n uri = uri.substr(protocolIndex + 3);\n }\n const queryIndex = uri.search(/\\?|&|#/);\n if (queryIndex > -1) {\n uri = uri.substring(0, queryIndex);\n }\n }\n uris.push(uri);\n });\n return uris.length > 0 ? uris : null;\n }\n}\n","import { SendData } from '../models/data/sendData';\n\nimport { SendRequest } from '../models/request/sendRequest';\n\nimport { SendResponse } from '../models/response/sendResponse';\n\nimport { Send } from '../models/domain/send';\nimport { SendFile } from '../models/domain/sendFile';\nimport { SendText } from '../models/domain/sendText';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nimport { SendType } from '../enums/sendType';\n\nimport { SendView } from '../models/view/sendView';\n\nimport { ApiService } from '../abstractions/api.service';\nimport { CryptoService } from '../abstractions/crypto.service';\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\nimport { I18nService } from '../abstractions/i18n.service';\nimport { SendService as SendServiceAbstraction } from '../abstractions/send.service';\nimport { StorageService } from '../abstractions/storage.service';\nimport { UserService } from '../abstractions/user.service';\n\nimport { Utils } from '../misc/utils';\n\nconst Keys = {\n sendsPrefix: 'sends_',\n};\n\nexport class SendService implements SendServiceAbstraction {\n decryptedSendCache: SendView[];\n\n constructor(private cryptoService: CryptoService, private userService: UserService,\n private apiService: ApiService, private storageService: StorageService,\n private i18nService: I18nService, private cryptoFunctionService: CryptoFunctionService) { }\n\n clearCache(): void {\n this.decryptedSendCache = null;\n }\n\n async encrypt(model: SendView, file: File, password: string,\n key?: SymmetricCryptoKey): Promise<[Send, ArrayBuffer]> {\n let fileData: ArrayBuffer = null;\n const send = new Send();\n send.id = model.id;\n send.type = model.type;\n send.disabled = model.disabled;\n send.maxAccessCount = model.maxAccessCount;\n if (model.key == null) {\n model.key = await this.cryptoFunctionService.randomBytes(16);\n model.cryptoKey = await this.cryptoService.makeSendKey(model.key);\n }\n if (password != null) {\n const passwordHash = await this.cryptoFunctionService.pbkdf2(password, model.key, 'sha256', 100000);\n send.password = Utils.fromBufferToB64(passwordHash);\n }\n send.key = await this.cryptoService.encrypt(model.key, key);\n send.name = await this.cryptoService.encrypt(model.name, model.cryptoKey);\n send.notes = await this.cryptoService.encrypt(model.notes, model.cryptoKey);\n if (send.type === SendType.Text) {\n send.text = new SendText();\n send.text.text = await this.cryptoService.encrypt(model.text.text, model.cryptoKey);\n send.text.hidden = model.text.hidden;\n } else if (send.type === SendType.File) {\n send.file = new SendFile();\n if (file != null) {\n fileData = await this.parseFile(send, file, model.cryptoKey);\n }\n }\n\n return [send, fileData];\n }\n\n async get(id: string): Promise {\n const userId = await this.userService.getUserId();\n const sends = await this.storageService.get<{ [id: string]: SendData; }>(\n Keys.sendsPrefix + userId);\n if (sends == null || !sends.hasOwnProperty(id)) {\n return null;\n }\n\n return new Send(sends[id]);\n }\n\n async getAll(): Promise {\n const userId = await this.userService.getUserId();\n const sends = await this.storageService.get<{ [id: string]: SendData; }>(\n Keys.sendsPrefix + userId);\n const response: Send[] = [];\n for (const id in sends) {\n if (sends.hasOwnProperty(id)) {\n response.push(new Send(sends[id]));\n }\n }\n return response;\n }\n\n async getAllDecrypted(): Promise {\n if (this.decryptedSendCache != null) {\n return this.decryptedSendCache;\n }\n\n const hasKey = await this.cryptoService.hasKey();\n if (!hasKey) {\n throw new Error('No key.');\n }\n\n const decSends: SendView[] = [];\n const promises: Promise[] = [];\n const sends = await this.getAll();\n sends.forEach((send) => {\n promises.push(send.decrypt().then((f) => decSends.push(f)));\n });\n\n await Promise.all(promises);\n decSends.sort(Utils.getSortFunction(this.i18nService, 'name'));\n\n this.decryptedSendCache = decSends;\n return this.decryptedSendCache;\n }\n\n async saveWithServer(sendData: [Send, ArrayBuffer]): Promise {\n const request = new SendRequest(sendData[0]);\n let response: SendResponse;\n if (sendData[0].id == null) {\n if (sendData[0].type === SendType.Text) {\n response = await this.apiService.postSend(request);\n } else {\n const fd = new FormData();\n try {\n const blob = new Blob([sendData[1]], { type: 'application/octet-stream' });\n fd.append('model', JSON.stringify(request));\n fd.append('data', blob, sendData[0].file.fileName.encryptedString);\n } catch (e) {\n if (Utils.isNode && !Utils.isBrowser) {\n fd.append('model', JSON.stringify(request));\n fd.append('data', Buffer.from(sendData[1]) as any, {\n filepath: sendData[0].file.fileName.encryptedString,\n contentType: 'application/octet-stream',\n } as any);\n } else {\n throw e;\n }\n }\n response = await this.apiService.postSendFile(fd);\n }\n sendData[0].id = response.id;\n } else {\n response = await this.apiService.putSend(sendData[0].id, request);\n }\n\n const userId = await this.userService.getUserId();\n const data = new SendData(response, userId);\n await this.upsert(data);\n }\n\n async upsert(send: SendData | SendData[]): Promise {\n const userId = await this.userService.getUserId();\n let sends = await this.storageService.get<{ [id: string]: SendData; }>(\n Keys.sendsPrefix + userId);\n if (sends == null) {\n sends = {};\n }\n\n if (send instanceof SendData) {\n const s = send as SendData;\n sends[s.id] = s;\n } else {\n (send as SendData[]).forEach((s) => {\n sends[s.id] = s;\n });\n }\n\n await this.storageService.save(Keys.sendsPrefix + userId, sends);\n this.decryptedSendCache = null;\n }\n\n async replace(sends: { [id: string]: SendData; }): Promise {\n const userId = await this.userService.getUserId();\n await this.storageService.save(Keys.sendsPrefix + userId, sends);\n this.decryptedSendCache = null;\n }\n\n async clear(userId: string): Promise {\n await this.storageService.remove(Keys.sendsPrefix + userId);\n this.decryptedSendCache = null;\n }\n\n async delete(id: string | string[]): Promise {\n const userId = await this.userService.getUserId();\n const sends = await this.storageService.get<{ [id: string]: SendData; }>(\n Keys.sendsPrefix + userId);\n if (sends == null) {\n return;\n }\n\n if (typeof id === 'string') {\n if (sends[id] == null) {\n return;\n }\n delete sends[id];\n } else {\n (id as string[]).forEach((i) => {\n delete sends[i];\n });\n }\n\n await this.storageService.save(Keys.sendsPrefix + userId, sends);\n this.decryptedSendCache = null;\n }\n\n async deleteWithServer(id: string): Promise {\n await this.apiService.deleteSend(id);\n await this.delete(id);\n }\n\n async removePasswordWithServer(id: string): Promise {\n const response = await this.apiService.putSendRemovePassword(id);\n const userId = await this.userService.getUserId();\n const data = new SendData(response, userId);\n await this.upsert(data);\n }\n\n private parseFile(send: Send, file: File, key: SymmetricCryptoKey): Promise {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.readAsArrayBuffer(file);\n reader.onload = async (evt) => {\n try {\n send.file.fileName = await this.cryptoService.encrypt(file.name, key);\n const fileData = await this.cryptoService.encryptToBytes(evt.target.result as ArrayBuffer, key);\n resolve(fileData);\n } catch (e) {\n reject(e);\n }\n };\n reader.onerror = (evt) => {\n reject('Error reading file.');\n };\n });\n }\n}\n","import { SendType } from '../../enums/sendType';\n\nimport { SendFileApi } from '../api/sendFileApi';\nimport { SendTextApi } from '../api/sendTextApi';\n\nimport { Send } from '../domain/send';\n\nexport class SendRequest {\n type: SendType;\n name: string;\n notes: string;\n key: string;\n maxAccessCount?: number;\n expirationDate: string;\n deletionDate: string;\n text: SendTextApi;\n file: SendFileApi;\n password: string;\n disabled: boolean;\n\n constructor(send: Send) {\n this.type = send.type;\n this.name = send.name ? send.name.encryptedString : null;\n this.notes = send.notes ? send.notes.encryptedString : null;\n this.maxAccessCount = send.maxAccessCount;\n this.expirationDate = send.expirationDate != null ? send.expirationDate.toISOString() : null;\n this.deletionDate = send.deletionDate != null ? send.deletionDate.toISOString() : null;\n this.key = send.key != null ? send.key.encryptedString : null;\n this.password = send.password;\n this.disabled = send.disabled;\n\n switch (this.type) {\n case SendType.Text:\n this.text = new SendTextApi();\n this.text.text = send.text.text != null ? send.text.text.encryptedString : null;\n this.text.hidden = send.text.hidden;\n break;\n case SendType.File:\n this.file = new SendFileApi();\n this.file.fileName = send.file.fileName != null ? send.file.fileName.encryptedString : null;\n break;\n default:\n break;\n }\n }\n}\n","import { CryptoService } from '../../abstractions/crypto.service';\n\nimport { SendType } from '../../enums/sendType';\n\nimport { Utils } from '../../misc/utils';\n\nimport { SendData } from '../data/sendData';\n\nimport { SendView } from '../view/sendView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { SendFile } from './sendFile';\nimport { SendText } from './sendText';\n\nexport class Send extends Domain {\n id: string;\n accessId: string;\n userId: string;\n type: SendType;\n name: CipherString;\n notes: CipherString;\n file: SendFile;\n text: SendText;\n key: CipherString;\n maxAccessCount?: number;\n accessCount: number;\n revisionDate: Date;\n expirationDate: Date;\n deletionDate: Date;\n password: string;\n disabled: boolean;\n\n constructor(obj?: SendData, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n id: null,\n accessId: null,\n userId: null,\n name: null,\n notes: null,\n key: null,\n }, alreadyEncrypted, ['id', 'accessId', 'userId']);\n\n this.type = obj.type;\n this.maxAccessCount = obj.maxAccessCount;\n this.accessCount = obj.accessCount;\n this.password = obj.password;\n this.disabled = obj.disabled;\n this.revisionDate = obj.revisionDate != null ? new Date(obj.revisionDate) : null;\n this.deletionDate = obj.deletionDate != null ? new Date(obj.deletionDate) : null;\n this.expirationDate = obj.expirationDate != null ? new Date(obj.expirationDate) : null;\n\n switch (this.type) {\n case SendType.Text:\n this.text = new SendText(obj.text, alreadyEncrypted);\n break;\n case SendType.File:\n this.file = new SendFile(obj.file, alreadyEncrypted);\n break;\n default:\n break;\n }\n }\n\n async decrypt(): Promise {\n const model = new SendView(this);\n\n let cryptoService: CryptoService;\n const containerService = (Utils.global as any).bitwardenContainerService;\n if (containerService) {\n cryptoService = containerService.getCryptoService();\n } else {\n throw new Error('global bitwardenContainerService not initialized.');\n }\n\n try {\n model.key = await cryptoService.decryptToBytes(this.key, null);\n model.cryptoKey = await cryptoService.makeSendKey(model.key);\n } catch (e) {\n // TODO: error?\n }\n\n await this.decryptObj(model, {\n name: null,\n notes: null,\n }, null, model.cryptoKey);\n\n switch (this.type) {\n case SendType.File:\n model.file = await this.file.decrypt(model.cryptoKey);\n break;\n case SendType.Text:\n model.text = await this.text.decrypt(model.cryptoKey);\n break;\n default:\n break;\n }\n\n return model;\n }\n}\n","import * as forge from 'node-forge';\n\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\n\nimport { Utils } from '../misc/utils';\n\nimport { DecryptParameters } from '../models/domain/decryptParameters';\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\n\nexport class WebCryptoFunctionService implements CryptoFunctionService {\n private crypto: Crypto;\n private subtle: SubtleCrypto;\n private isIE: boolean;\n private isOldSafari: boolean;\n\n constructor(private win: Window, private platformUtilsService: PlatformUtilsService) {\n this.crypto = typeof win.crypto !== 'undefined' ? win.crypto : null;\n this.subtle = (!!this.crypto && typeof win.crypto.subtle !== 'undefined') ? win.crypto.subtle : null;\n this.isIE = platformUtilsService.isIE();\n const ua = win.navigator.userAgent;\n this.isOldSafari = platformUtilsService.isSafari() &&\n (ua.indexOf(' Version/10.') > -1 || ua.indexOf(' Version/9.') > -1);\n }\n\n async pbkdf2(password: string | ArrayBuffer, salt: string | ArrayBuffer, algorithm: 'sha256' | 'sha512',\n iterations: number): Promise {\n if (this.isIE || this.isOldSafari) {\n const forgeLen = algorithm === 'sha256' ? 32 : 64;\n const passwordBytes = this.toByteString(password);\n const saltBytes = this.toByteString(salt);\n const derivedKeyBytes = (forge as any).pbkdf2(passwordBytes, saltBytes, iterations, forgeLen, algorithm);\n return Utils.fromByteStringToArray(derivedKeyBytes).buffer;\n }\n\n const wcLen = algorithm === 'sha256' ? 256 : 512;\n const passwordBuf = this.toBuf(password);\n const saltBuf = this.toBuf(salt);\n\n const pbkdf2Params: Pbkdf2Params = {\n name: 'PBKDF2',\n salt: saltBuf,\n iterations: iterations,\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\n };\n\n const impKey = await this.subtle.importKey('raw', passwordBuf, { name: 'PBKDF2' } as any,\n false, ['deriveBits']);\n return await this.subtle.deriveBits(pbkdf2Params, impKey, wcLen);\n }\n\n async hkdf(ikm: ArrayBuffer, salt: string | ArrayBuffer, info: string | ArrayBuffer,\n outputByteSize: number, algorithm: 'sha256' | 'sha512'): Promise {\n const saltBuf = this.toBuf(salt);\n const infoBuf = this.toBuf(info);\n\n const hkdfParams: HkdfParams = {\n name: 'HKDF',\n salt: saltBuf,\n info: infoBuf,\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\n };\n\n const impKey = await this.subtle.importKey('raw', ikm, { name: 'HKDF' } as any,\n false, ['deriveBits']);\n return await this.subtle.deriveBits(hkdfParams as any, impKey, outputByteSize * 8);\n }\n\n // ref: https://tools.ietf.org/html/rfc5869\n async hkdfExpand(prk: ArrayBuffer, info: string | ArrayBuffer, outputByteSize: number,\n algorithm: 'sha256' | 'sha512'): Promise {\n const hashLen = algorithm === 'sha256' ? 32 : 64;\n if (outputByteSize > 255 * hashLen) {\n throw new Error('outputByteSize is too large.');\n }\n const prkArr = new Uint8Array(prk);\n if (prkArr.length < hashLen) {\n throw new Error('prk is too small.');\n }\n const infoBuf = this.toBuf(info);\n const infoArr = new Uint8Array(infoBuf);\n let runningOkmLength = 0;\n let previousT = new Uint8Array(0);\n const n = Math.ceil(outputByteSize / hashLen);\n const okm = new Uint8Array(n * hashLen);\n for (let i = 0; i < n; i++) {\n const t = new Uint8Array(previousT.length + infoArr.length + 1);\n t.set(previousT);\n t.set(infoArr, previousT.length);\n t.set([i + 1], t.length - 1);\n previousT = new Uint8Array(await this.hmac(t.buffer, prk, algorithm));\n okm.set(previousT, runningOkmLength);\n runningOkmLength += previousT.length;\n if (runningOkmLength >= outputByteSize) {\n break;\n }\n }\n return okm.slice(0, outputByteSize).buffer;\n }\n\n async hash(value: string | ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512' | 'md5'): Promise {\n if ((this.isIE && algorithm === 'sha1') || algorithm === 'md5') {\n const md = algorithm === 'md5' ? forge.md.md5.create() : forge.md.sha1.create();\n const valueBytes = this.toByteString(value);\n md.update(valueBytes, 'raw');\n return Utils.fromByteStringToArray(md.digest().data).buffer;\n }\n\n const valueBuf = this.toBuf(value);\n return await this.subtle.digest({ name: this.toWebCryptoAlgorithm(algorithm) }, valueBuf);\n }\n\n async hmac(value: ArrayBuffer, key: ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512'): Promise {\n if (this.isIE && algorithm === 'sha512') {\n const hmac = (forge as any).hmac.create();\n const keyBytes = this.toByteString(key);\n const valueBytes = this.toByteString(value);\n hmac.start(algorithm, keyBytes);\n hmac.update(valueBytes, 'raw');\n return Utils.fromByteStringToArray(hmac.digest().data).buffer;\n }\n\n const signingAlgorithm = {\n name: 'HMAC',\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\n };\n\n const impKey = await this.subtle.importKey('raw', key, signingAlgorithm, false, ['sign']);\n return await this.subtle.sign(signingAlgorithm, impKey, value);\n }\n\n // Safely compare two values in a way that protects against timing attacks (Double HMAC Verification).\n // ref: https://www.nccgroup.trust/us/about-us/newsroom-and-events/blog/2011/february/double-hmac-verification/\n // ref: https://paragonie.com/blog/2015/11/preventing-timing-attacks-on-string-comparison-with-double-hmac-strategy\n async compare(a: ArrayBuffer, b: ArrayBuffer): Promise {\n const macKey = await this.randomBytes(32);\n const signingAlgorithm = {\n name: 'HMAC',\n hash: { name: 'SHA-256' },\n };\n const impKey = await this.subtle.importKey('raw', macKey, signingAlgorithm, false, ['sign']);\n const mac1 = await this.subtle.sign(signingAlgorithm, impKey, a);\n const mac2 = await this.subtle.sign(signingAlgorithm, impKey, b);\n\n if (mac1.byteLength !== mac2.byteLength) {\n return false;\n }\n\n const arr1 = new Uint8Array(mac1);\n const arr2 = new Uint8Array(mac2);\n for (let i = 0; i < arr2.length; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n\n return true;\n }\n\n hmacFast(value: string, key: string, algorithm: 'sha1' | 'sha256' | 'sha512'): Promise {\n const hmac = (forge as any).hmac.create();\n hmac.start(algorithm, key);\n hmac.update(value);\n const bytes = hmac.digest().getBytes();\n return Promise.resolve(bytes);\n }\n\n async compareFast(a: string, b: string): Promise {\n const rand = await this.randomBytes(32);\n const bytes = new Uint32Array(rand);\n const buffer = forge.util.createBuffer();\n for (let i = 0; i < bytes.length; i++) {\n buffer.putInt32(bytes[i]);\n }\n const macKey = buffer.getBytes();\n\n const hmac = (forge as any).hmac.create();\n hmac.start('sha256', macKey);\n hmac.update(a);\n const mac1 = hmac.digest().getBytes();\n\n hmac.start(null, null);\n hmac.update(b);\n const mac2 = hmac.digest().getBytes();\n\n const equals = mac1 === mac2;\n return equals;\n }\n\n async aesEncrypt(data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer): Promise {\n const impKey = await this.subtle.importKey('raw', key, { name: 'AES-CBC' } as any, false, ['encrypt']);\n return await this.subtle.encrypt({ name: 'AES-CBC', iv: iv }, impKey, data);\n }\n\n aesDecryptFastParameters(data: string, iv: string, mac: string, key: SymmetricCryptoKey):\n DecryptParameters {\n const p = new DecryptParameters();\n if (key.meta != null) {\n p.encKey = key.meta.encKeyByteString;\n p.macKey = key.meta.macKeyByteString;\n }\n\n if (p.encKey == null) {\n p.encKey = forge.util.decode64(key.encKeyB64);\n }\n p.data = forge.util.decode64(data);\n p.iv = forge.util.decode64(iv);\n p.macData = p.iv + p.data;\n if (p.macKey == null && key.macKeyB64 != null) {\n p.macKey = forge.util.decode64(key.macKeyB64);\n }\n if (mac != null) {\n p.mac = forge.util.decode64(mac);\n }\n\n // cache byte string keys for later\n if (key.meta == null) {\n key.meta = {};\n }\n if (key.meta.encKeyByteString == null) {\n key.meta.encKeyByteString = p.encKey;\n }\n if (p.macKey != null && key.meta.macKeyByteString == null) {\n key.meta.macKeyByteString = p.macKey;\n }\n\n return p;\n }\n\n aesDecryptFast(parameters: DecryptParameters): Promise {\n const dataBuffer = (forge as any).util.createBuffer(parameters.data);\n const decipher = (forge as any).cipher.createDecipher('AES-CBC', parameters.encKey);\n decipher.start({ iv: parameters.iv });\n decipher.update(dataBuffer);\n decipher.finish();\n const val = decipher.output.toString('utf8');\n return Promise.resolve(val);\n }\n\n async aesDecrypt(data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer): Promise {\n const impKey = await this.subtle.importKey('raw', key, { name: 'AES-CBC' } as any, false, ['decrypt']);\n return await this.subtle.decrypt({ name: 'AES-CBC', iv: iv }, impKey, data);\n }\n\n async rsaEncrypt(data: ArrayBuffer, publicKey: ArrayBuffer, algorithm: 'sha1' | 'sha256'): Promise {\n // Note: Edge browser requires that we specify name and hash for both key import and decrypt.\n // We cannot use the proper types here.\n const rsaParams = {\n name: 'RSA-OAEP',\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\n };\n const impKey = await this.subtle.importKey('spki', publicKey, rsaParams, false, ['encrypt']);\n return await this.subtle.encrypt(rsaParams, impKey, data);\n }\n\n async rsaDecrypt(data: ArrayBuffer, privateKey: ArrayBuffer, algorithm: 'sha1' | 'sha256'): Promise {\n // Note: Edge browser requires that we specify name and hash for both key import and decrypt.\n // We cannot use the proper types here.\n const rsaParams = {\n name: 'RSA-OAEP',\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\n };\n const impKey = await this.subtle.importKey('pkcs8', privateKey, rsaParams, false, ['decrypt']);\n return await this.subtle.decrypt(rsaParams, impKey, data);\n }\n\n async rsaExtractPublicKey(privateKey: ArrayBuffer): Promise {\n const rsaParams = {\n name: 'RSA-OAEP',\n // Have to specify some algorithm\n hash: { name: this.toWebCryptoAlgorithm('sha1') },\n };\n const impPrivateKey = await this.subtle.importKey('pkcs8', privateKey, rsaParams, true, ['decrypt']);\n const jwkPrivateKey = await this.subtle.exportKey('jwk', impPrivateKey);\n const jwkPublicKeyParams = {\n kty: 'RSA',\n e: jwkPrivateKey.e,\n n: jwkPrivateKey.n,\n alg: 'RSA-OAEP',\n ext: true,\n };\n const impPublicKey = await this.subtle.importKey('jwk', jwkPublicKeyParams, rsaParams, true, ['encrypt']);\n return await this.subtle.exportKey('spki', impPublicKey);\n }\n\n async rsaGenerateKeyPair(length: 1024 | 2048 | 4096): Promise<[ArrayBuffer, ArrayBuffer]> {\n const rsaParams = {\n name: 'RSA-OAEP',\n modulusLength: length,\n publicExponent: new Uint8Array([0x01, 0x00, 0x01]), // 65537\n // Have to specify some algorithm\n hash: { name: this.toWebCryptoAlgorithm('sha1') },\n };\n const keyPair = await this.subtle.generateKey(rsaParams, true, ['encrypt', 'decrypt']);\n const publicKey = await this.subtle.exportKey('spki', keyPair.publicKey);\n const privateKey = await this.subtle.exportKey('pkcs8', keyPair.privateKey);\n return [publicKey, privateKey];\n }\n\n randomBytes(length: number): Promise {\n const arr = new Uint8Array(length);\n this.crypto.getRandomValues(arr);\n return Promise.resolve(arr.buffer);\n }\n\n private toBuf(value: string | ArrayBuffer): ArrayBuffer {\n let buf: ArrayBuffer;\n if (typeof (value) === 'string') {\n buf = Utils.fromUtf8ToArray(value).buffer;\n } else {\n buf = value;\n }\n return buf;\n }\n\n private toByteString(value: string | ArrayBuffer): string {\n let bytes: string;\n if (typeof (value) === 'string') {\n bytes = forge.util.encodeUtf8(value);\n } else {\n bytes = Utils.fromBufferToByteString(value);\n }\n return bytes;\n }\n\n private toWebCryptoAlgorithm(algorithm: 'sha1' | 'sha256' | 'sha512' | 'md5'): string {\n if (algorithm === 'md5') {\n throw new Error('MD5 is not supported in WebCrypto.');\n }\n return algorithm === 'sha1' ? 'SHA-1' : algorithm === 'sha256' ? 'SHA-256' : 'SHA-512';\n }\n}\n","export class DecryptParameters {\n encKey: T;\n data: T;\n iv: T;\n macKey: T;\n mac: T;\n macData: T;\n}\n","import * as jq from 'jquery';\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\n\nimport {\n BodyOutputType,\n Toast,\n ToasterConfig,\n ToasterContainerComponent,\n ToasterService,\n} from 'angular2-toaster';\nimport { Angulartics2 } from 'angulartics2';\nimport { Angulartics2GoogleAnalytics } from 'angulartics2/ga';\n\nimport {\n Component,\n NgZone,\n OnDestroy,\n OnInit,\n SecurityContext,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport {\n NavigationEnd,\n Router,\n} from '@angular/router';\n\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\n\nimport { StorageService } from 'jslib/abstractions/storage.service';\n\nimport { AuthService } from 'jslib/abstractions/auth.service';\nimport { CipherService } from 'jslib/abstractions/cipher.service';\nimport { CollectionService } from 'jslib/abstractions/collection.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { EventService } from 'jslib/abstractions/event.service';\nimport { FolderService } from 'jslib/abstractions/folder.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { NotificationsService } from 'jslib/abstractions/notifications.service';\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\nimport { PolicyService } from 'jslib/abstractions/policy.service';\nimport { SearchService } from 'jslib/abstractions/search.service';\nimport { SettingsService } from 'jslib/abstractions/settings.service';\nimport { StateService } from 'jslib/abstractions/state.service';\nimport { SyncService } from 'jslib/abstractions/sync.service';\nimport { TokenService } from 'jslib/abstractions/token.service';\nimport { UserService } from 'jslib/abstractions/user.service';\nimport { VaultTimeoutService } from 'jslib/abstractions/vaultTimeout.service';\n\nimport { ConstantsService } from 'jslib/services/constants.service';\n\nimport { RouterService } from './services/router.service';\n\nconst BroadcasterSubscriptionId = 'AppComponent';\nconst IdleTimeout = 60000 * 10; // 10 minutes\n\n@Component({\n selector: 'app-root',\n templateUrl: 'app.component.html',\n})\nexport class AppComponent implements OnDestroy, OnInit {\n toasterConfig: ToasterConfig = new ToasterConfig({\n showCloseButton: true,\n mouseoverTimerStop: true,\n animation: 'flyRight',\n limit: 5,\n });\n\n private lastActivity: number = null;\n private idleTimer: number = null;\n private isIdle = false;\n\n constructor(private angulartics2GoogleAnalytics: Angulartics2GoogleAnalytics,\n private broadcasterService: BroadcasterService, private userService: UserService,\n private tokenService: TokenService, private folderService: FolderService,\n private settingsService: SettingsService, private syncService: SyncService,\n private passwordGenerationService: PasswordGenerationService, private cipherService: CipherService,\n private authService: AuthService, private router: Router, private analytics: Angulartics2,\n private toasterService: ToasterService, private i18nService: I18nService,\n private platformUtilsService: PlatformUtilsService, private ngZone: NgZone,\n private vaultTimeoutService: VaultTimeoutService, private storageService: StorageService,\n private cryptoService: CryptoService, private collectionService: CollectionService,\n private sanitizer: DomSanitizer, private searchService: SearchService,\n private notificationsService: NotificationsService, private routerService: RouterService,\n private stateService: StateService, private eventService: EventService,\n private policyService: PolicyService) { }\n\n ngOnInit() {\n this.ngZone.runOutsideAngular(() => {\n window.onmousemove = () => this.recordActivity();\n window.onmousedown = () => this.recordActivity();\n window.ontouchstart = () => this.recordActivity();\n window.onclick = () => this.recordActivity();\n window.onscroll = () => this.recordActivity();\n window.onkeypress = () => this.recordActivity();\n });\n\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, async (message: any) => {\n this.ngZone.run(async () => {\n switch (message.command) {\n case 'loggedIn':\n case 'loggedOut':\n case 'unlocked':\n this.notificationsService.updateConnection(false);\n break;\n case 'authBlocked':\n this.router.navigate(['/']);\n break;\n case 'logout':\n this.logOut(!!message.expired);\n break;\n case 'lockVault':\n await this.vaultTimeoutService.lock();\n break;\n case 'locked':\n this.notificationsService.updateConnection(false);\n this.router.navigate(['lock']);\n break;\n case 'lockedUrl':\n window.setTimeout(() => this.routerService.setPreviousUrl(message.url), 500);\n break;\n case 'syncStarted':\n break;\n case 'syncCompleted':\n break;\n case 'upgradeOrganization':\n const upgradeConfirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('upgradeOrganizationDesc'), this.i18nService.t('upgradeOrganization'),\n this.i18nService.t('upgradeOrganization'), this.i18nService.t('cancel'));\n if (upgradeConfirmed) {\n this.router.navigate(['organizations', message.organizationId, 'settings', 'billing']);\n }\n break;\n case 'premiumRequired':\n const premiumConfirmed = await this.platformUtilsService.showDialog(\n this.i18nService.t('premiumRequiredDesc'), this.i18nService.t('premiumRequired'),\n this.i18nService.t('learnMore'), this.i18nService.t('cancel'));\n if (premiumConfirmed) {\n this.router.navigate(['settings/premium']);\n }\n break;\n case 'showToast':\n this.showToast(message);\n break;\n case 'analyticsEventTrack':\n this.analytics.eventTrack.next({\n action: message.action,\n properties: { label: message.label },\n });\n break;\n case 'setFullWidth':\n this.setFullWidth();\n break;\n default:\n break;\n }\n });\n });\n\n this.router.events.subscribe((event) => {\n if (event instanceof NavigationEnd) {\n const modals = Array.from(document.querySelectorAll('.modal'));\n for (const modal of modals) {\n (jq(modal) as any).modal('hide');\n }\n\n if (document.querySelector('.swal-modal') != null) {\n Swal.close(undefined);\n }\n }\n });\n\n this.setFullWidth();\n }\n\n ngOnDestroy() {\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\n }\n\n private async logOut(expired: boolean) {\n await this.eventService.uploadEvents();\n const userId = await this.userService.getUserId();\n\n await Promise.all([\n this.eventService.clearEvents(),\n this.syncService.setLastSync(new Date(0)),\n this.tokenService.clearToken(),\n this.cryptoService.clearKeys(),\n this.userService.clear(),\n this.settingsService.clear(userId),\n this.cipherService.clear(userId),\n this.folderService.clear(userId),\n this.collectionService.clear(userId),\n this.policyService.clear(userId),\n this.passwordGenerationService.clear(),\n this.stateService.purge(),\n ]);\n\n this.searchService.clearIndex();\n this.authService.logOut(async () => {\n this.analytics.eventTrack.next({ action: 'Logged Out' });\n if (expired) {\n this.toasterService.popAsync('warning', this.i18nService.t('loggedOut'),\n this.i18nService.t('loginExpired'));\n }\n\n Swal.close();\n this.router.navigate(['/']);\n });\n }\n\n private async recordActivity() {\n const now = (new Date()).getTime();\n if (this.lastActivity != null && now - this.lastActivity < 250) {\n return;\n }\n\n this.lastActivity = now;\n this.storageService.save(ConstantsService.lastActiveKey, now);\n\n // Idle states\n if (this.isIdle) {\n this.isIdle = false;\n this.idleStateChanged();\n }\n if (this.idleTimer != null) {\n window.clearTimeout(this.idleTimer);\n this.idleTimer = null;\n }\n this.idleTimer = window.setTimeout(() => {\n if (!this.isIdle) {\n this.isIdle = true;\n this.idleStateChanged();\n }\n }, IdleTimeout);\n }\n\n private showToast(msg: any) {\n const toast: Toast = {\n type: msg.type,\n title: msg.title,\n };\n if (typeof (msg.text) === 'string') {\n toast.body = msg.text;\n } else if (msg.text.length === 1) {\n toast.body = msg.text[0];\n } else {\n let message = '';\n msg.text.forEach((t: string) =>\n message += ('

' + this.sanitizer.sanitize(SecurityContext.HTML, t) + '

'));\n toast.body = message;\n toast.bodyOutputType = BodyOutputType.TrustedHtml;\n }\n if (msg.options != null) {\n if (msg.options.trustedHtml === true) {\n toast.bodyOutputType = BodyOutputType.TrustedHtml;\n }\n if (msg.options.timeout != null && msg.options.timeout > 0) {\n toast.timeout = msg.options.timeout;\n }\n }\n this.toasterService.popAsync(toast);\n }\n\n private idleStateChanged() {\n if (this.isIdle) {\n this.notificationsService.disconnectFromInactivity();\n } else {\n this.notificationsService.reconnectFromActivity();\n }\n }\n\n private async setFullWidth() {\n const enableFullWidth = await this.storageService.get('enableFullWidth');\n if (enableFullWidth) {\n document.body.classList.add('full-width');\n } else {\n document.body.classList.remove('full-width');\n }\n }\n}\n","\n\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { CryptoFunctionService } from 'jslib/abstractions/cryptoFunction.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\nimport { SymmetricCryptoKey } from 'jslib/models/domain/symmetricCryptoKey';\nimport { SendAccess } from 'jslib/models/domain/sendAccess';\n\nimport { SendAccessView } from 'jslib/models/view/sendAccessView';\n\nimport { SendType } from 'jslib/enums/sendType';\nimport { SendAccessRequest } from 'jslib/models/request/sendAccessRequest';\nimport { ErrorResponse } from 'jslib/models/response/errorResponse';\n\nimport { SendAccessResponse } from 'jslib/models/response/sendAccessResponse';\n\n@Component({\n selector: 'app-send-access',\n templateUrl: 'access.component.html',\n})\nexport class AccessComponent implements OnInit {\n send: SendAccessView;\n sendType = SendType;\n downloading = false;\n loading = true;\n passwordRequired = false;\n formPromise: Promise;\n password: string;\n showText = false;\n unavailable = false;\n error = false;\n\n private id: string;\n private key: string;\n private decKey: SymmetricCryptoKey;\n\n constructor(private i18nService: I18nService, private cryptoFunctionService: CryptoFunctionService,\n private apiService: ApiService, private platformUtilsService: PlatformUtilsService,\n private route: ActivatedRoute, private cryptoService: CryptoService) {\n }\n\n get sendText() {\n if (this.send == null || this.send.text == null) {\n return null;\n }\n return this.showText ? this.send.text.text : this.send.text.maskedText;\n }\n\n ngOnInit() {\n this.route.params.subscribe(async (params) => {\n this.id = params.sendId;\n this.key = params.key;\n if (this.key == null || this.id == null) {\n return;\n }\n await this.load();\n });\n }\n\n async download() {\n if (this.send == null || this.decKey == null) {\n return;\n }\n\n if (this.downloading) {\n return;\n }\n\n this.downloading = true;\n const response = await fetch(new Request(this.send.file.url, { cache: 'no-store' }));\n if (response.status !== 200) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n this.downloading = false;\n return;\n }\n\n try {\n const buf = await response.arrayBuffer();\n const decBuf = await this.cryptoService.decryptFromBytes(buf, this.decKey);\n this.platformUtilsService.saveFile(window, decBuf, null, this.send.file.fileName);\n } catch (e) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n }\n\n this.downloading = false;\n }\n\n copyText() {\n this.platformUtilsService.copyToClipboard(this.send.text.text);\n this.platformUtilsService.showToast('success', null,\n this.i18nService.t('valueCopied', this.i18nService.t('sendTypeText')));\n }\n\n toggleText() {\n this.showText = !this.showText;\n }\n\n async load() {\n this.unavailable = false;\n this.error = false;\n const keyArray = Utils.fromUrlB64ToArray(this.key);\n const accessRequest = new SendAccessRequest();\n if (this.password != null) {\n const passwordHash = await this.cryptoFunctionService.pbkdf2(this.password, keyArray, 'sha256', 100000);\n accessRequest.password = Utils.fromBufferToB64(passwordHash);\n }\n try {\n let sendResponse: SendAccessResponse = null;\n if (this.loading) {\n sendResponse = await this.apiService.postSendAccess(this.id, accessRequest);\n } else {\n this.formPromise = this.apiService.postSendAccess(this.id, accessRequest);\n sendResponse = await this.formPromise;\n }\n this.passwordRequired = false;\n const sendAccess = new SendAccess(sendResponse);\n this.decKey = await this.cryptoService.makeSendKey(keyArray);\n this.send = await sendAccess.decrypt(this.decKey);\n this.showText = this.send.text != null ? !this.send.text.hidden : true;\n } catch (e) {\n if (e instanceof ErrorResponse) {\n if (e.statusCode === 401) {\n this.passwordRequired = true;\n } else if (e.statusCode === 404) {\n this.unavailable = true;\n } else {\n this.error = true;\n }\n }\n }\n this.loading = false;\n }\n}\n","
\n
\n
\n

Bitwarden Send

\n
\n
\n \n {{'loading' | i18n}}\n
\n
\n

{{'sendProtectedPassword' | i18n}}

\n

{{'sendProtectedPasswordDontKnow' | i18n}}

\n
\n \n \n
\n
\n \n
\n
\n
\n {{'sendAccessUnavailable' | i18n}}\n
\n
\n {{'unexpectedError' | i18n}}\n
\n
\n

{{send.name}}

\n
\n \n \n {{'sendHiddenByDefault' | i18n}}\n
\n \n
\n \n \n
\n \n \n

{{send.file.fileName}}

\n \n
\n
\n
\n
\n
\n
\n","import { SendType } from '../../enums/sendType';\n\nimport { SendAccessResponse } from '../response/sendAccessResponse';\n\nimport { SendAccessView } from '../view/sendAccessView';\n\nimport { CipherString } from './cipherString';\nimport Domain from './domainBase';\nimport { SendFile } from './sendFile';\nimport { SendText } from './sendText';\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\n\nexport class SendAccess extends Domain {\n id: string;\n type: SendType;\n name: CipherString;\n file: SendFile;\n text: SendText;\n\n constructor(obj?: SendAccessResponse, alreadyEncrypted: boolean = false) {\n super();\n if (obj == null) {\n return;\n }\n\n this.buildDomainModel(this, obj, {\n id: null,\n name: null,\n }, alreadyEncrypted, ['id']);\n\n this.type = obj.type;\n\n switch (this.type) {\n case SendType.Text:\n this.text = new SendText(obj.text, alreadyEncrypted);\n break;\n case SendType.File:\n this.file = new SendFile(obj.file, alreadyEncrypted);\n break;\n default:\n break;\n }\n }\n\n async decrypt(key: SymmetricCryptoKey): Promise {\n const model = new SendAccessView(this);\n\n await this.decryptObj(model, {\n name: null,\n }, null, key);\n\n switch (this.type) {\n case SendType.File:\n model.file = await this.file.decrypt(key);\n break;\n case SendType.Text:\n model.text = await this.text.decrypt(key);\n break;\n default:\n break;\n }\n\n return model;\n }\n}\n","import { SendType } from '../../enums/sendType';\n\nimport { SendAccess } from '../domain/sendAccess';\n\nimport { SendFileView } from './sendFileView';\nimport { SendTextView } from './sendTextView';\nimport { View } from './view';\n\nexport class SendAccessView implements View {\n id: string = null;\n name: string = null;\n type: SendType = null;\n text = new SendTextView();\n file = new SendFileView();\n\n constructor(s?: SendAccess) {\n if (!s) {\n return;\n }\n\n this.id = s.id;\n this.type = s.type;\n }\n}\n","export class SendAccessRequest {\n password: string;\n}\n","import {\n Directive,\n ElementRef,\n HostListener,\n} from '@angular/core';\n\n@Directive({\n selector: '[appBlurClick]',\n})\nexport class BlurClickDirective {\n constructor(private el: ElementRef) {\n }\n\n @HostListener('click') onClick() {\n this.el.nativeElement.blur();\n }\n}\n","import {\n Directive,\n ElementRef,\n HostListener,\n OnInit,\n} from '@angular/core';\n\n@Directive({\n selector: '[appBoxRow]',\n})\nexport class BoxRowDirective implements OnInit {\n el: HTMLElement = null;\n formEls: Element[];\n\n constructor(private elRef: ElementRef) {\n this.el = elRef.nativeElement;\n }\n\n ngOnInit(): void {\n this.formEls = Array.from(this.el.querySelectorAll('input:not([type=\"hidden\"]), select, textarea'));\n this.formEls.forEach((formEl) => {\n formEl.addEventListener('focus', (event: Event) => {\n this.el.classList.add('active');\n }, false);\n\n formEl.addEventListener('blur', (event: Event) => {\n this.el.classList.remove('active');\n }, false);\n });\n }\n\n @HostListener('click', ['$event']) onClick(event: Event) {\n const target = event.target as HTMLElement;\n if (target !== this.el && !target.classList.contains('progress') &&\n !target.classList.contains('progress-bar')) {\n return;\n }\n\n if (this.formEls.length > 0) {\n const formEl = (this.formEls[0] as HTMLElement);\n if (formEl.tagName.toLowerCase() === 'input') {\n const inputEl = (formEl as HTMLInputElement);\n if (inputEl.type != null && inputEl.type.toLowerCase() === 'checkbox') {\n inputEl.click();\n return;\n }\n }\n formEl.focus();\n }\n }\n}\n","import {\n Pipe,\n PipeTransform,\n} from '@angular/core';\n\nimport { CipherView } from '../../models/view/cipherView';\n\n@Pipe({\n name: 'searchCiphers',\n})\nexport class SearchCiphersPipe implements PipeTransform {\n transform(ciphers: CipherView[], searchText: string, deleted: boolean = false): CipherView[] {\n if (ciphers == null || ciphers.length === 0) {\n return [];\n }\n\n if (searchText == null || searchText.length < 2) {\n return ciphers.filter((c) => {\n return deleted !== c.isDeleted;\n });\n }\n\n searchText = searchText.trim().toLowerCase();\n return ciphers.filter((c) => {\n if (deleted !== c.isDeleted) {\n return false;\n }\n if (c.name != null && c.name.toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n if (searchText.length >= 8 && c.id.startsWith(searchText)) {\n return true;\n }\n if (c.subTitle != null && c.subTitle.toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n if (c.login && c.login.uri != null && c.login.uri.toLowerCase().indexOf(searchText) > -1) {\n return true;\n }\n\n return false;\n });\n }\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/app/main.c95e488578c8d271f566.js b/app/main.c95e488578c8d271f566.js deleted file mode 100644 index 3c98f884..00000000 --- a/app/main.c95e488578c8d271f566.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(e){function t(t){for(var r,a,s=t[0],l=t[1],c=t[2],u=0,d=[];u0&&n.errors.forEach(function(e){null!=e.row&&console.warn("Error parsing row "+e.row+": "+e.message)}),n.data&&n.data.length>0?n.data:null},e.prototype.parseSingleRowCsv=function(e){if(this.isNullOrWhitespace(e))return null;var t=this.parseCsv(e,!1);return null!=t&&t.length>0&&t[0].length>0?t[0]:null},e.prototype.makeUriArray=function(e){var t=this;if(null==e)return null;if("string"==typeof e){var n=new a.LoginUriView;return n.uri=this.fixUri(e),this.isNullOrWhitespace(n.uri)?null:(n.match=null,[n])}if(e.length>0){var r=[];return e.forEach(function(e){var n=new a.LoginUriView;n.uri=t.fixUri(e),t.isNullOrWhitespace(n.uri)||(n.match=null,r.push(n))}),0===r.length?null:r}return null},e.prototype.fixUri=function(e){return null==e?null:(-1===(e=e.trim()).indexOf("://")&&e.indexOf(".")>=0&&(e="http://"+e),e.length>1e3?e.substring(0,1e3):e)},e.prototype.nameFromUrl=function(e){var t=s.Utils.getHostname(e);return this.isNullOrWhitespace(t)?null:t.startsWith("www.")?t.replace("www.",""):t},e.prototype.isNullOrWhitespace=function(e){return s.Utils.isNullOrWhitespace(e)},e.prototype.getValueOrDefault=function(e,t){return void 0===t&&(t=null),this.isNullOrWhitespace(e)?t:e},e.prototype.splitNewLine=function(e){return e.split(this.newLineRegex)},e.prototype.getCardBrand=function(e){if(this.isNullOrWhitespace(e))return null;var t=new RegExp("^4");return null!=e.match(t)?"Visa":/^(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))$/.test(e)?"Mastercard":(t=new RegExp("^3[47]"),null!=e.match(t)?"Amex":(t=new RegExp("^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)"),null!=e.match(t)?"Discover":(t=new RegExp("^36"),null!=e.match(t)?"Diners Club":(t=new RegExp("^30[0-5]"),null!=e.match(t)?"Diners Club":(t=new RegExp("^35(2[89]|[3-8][0-9])"),null!=e.match(t)?"JCB":(t=new RegExp("^(4026|417500|4508|4844|491(3|7))"),null!=e.match(t)?"Visa":null))))))},e.prototype.setCardExpiration=function(e,t){if(!this.isNullOrWhitespace(t)){var n=t.split("/");if(2===n.length){var r=null,i=null;if(1!==n[0].length&&2!==n[0].length||2===(r=n[0]).length&&"0"===r[0]&&(r=r.substr(1,1)),2!==n[1].length&&4!==n[1].length||(i=2===r.length?"20"+n[1]:n[1]),null!=r&&null!=i)return e.card.expMonth=r,e.card.expYear=i,!0}}return!1},e.prototype.moveFoldersToCollections=function(e){e.folderRelationships.forEach(function(t){return e.collectionRelationships.push(t)}),e.collections=e.folders.map(function(e){var t=new o.CollectionView;return t.name=e.name,t}),e.folderRelationships=[],e.folders=[]},e.prototype.querySelectorDirectChild=function(e,t){var n=this.querySelectorAllDirectChild(e,t);return 0===n.length?null:n[0]},e.prototype.querySelectorAllDirectChild=function(e,t){return Array.from(e.querySelectorAll(t)).filter(function(t){return t.parentNode===e})},e.prototype.initLoginCipher=function(){var e=new i.CipherView;return e.favorite=!1,e.notes="",e.fields=[],e.login=new p.LoginView,e.type=d.CipherType.Login,e},e.prototype.cleanupCipher=function(e){null!=e&&(e.type!==d.CipherType.Login&&(e.login=null),this.isNullOrWhitespace(e.name)&&(e.name="--"),this.isNullOrWhitespace(e.notes)?e.notes=null:e.notes=e.notes.trim(),null!=e.fields&&0===e.fields.length&&(e.fields=null))},e.prototype.processKvp=function(e,t,n,r){if(void 0===r&&(r=h.FieldType.Text),!this.isNullOrWhitespace(n))if(this.isNullOrWhitespace(t)&&(t=""),n.length>200||n.trim().search(this.newLineRegex)>-1)null==e.notes&&(e.notes=""),e.notes+=t+": "+this.splitNewLine(n).join("\n")+"\n";else{null==e.fields&&(e.fields=[]);var i=new l.FieldView;i.type=r,i.name=t,i.value=n,e.fields.push(i)}},e.prototype.processFolder=function(e,t){var n=e.folders.length,r=!this.isNullOrWhitespace(t),i=r;if(r)for(var o=0;o1&&(r+=e.slice(1)),void 0===t[e=r]&&(e=e.toLowerCase()),void 0===t[e]&&(e=e.toUpperCase())}return t[e]},e}();t.BaseResponse=r},,,,,,,function(e,t,n){"use strict";(function(e,r,i){Object.defineProperty(t,"__esModule",{value:!0});var o=n(794),a="undefined"==typeof window?n(795):null,s=function(){function t(){}return t.init=function(){t.inited||(t.inited=!0,t.isNode=void 0!==e&&null!=e.release&&"node"===e.release.name,t.isBrowser="undefined"!=typeof window,t.isNativeScript=!t.isNode&&!t.isBrowser,t.isMobileBrowser=t.isBrowser&&this.isMobile(window),t.isAppleMobileBrowser=t.isBrowser&&this.isAppleMobile(window),t.global=t.isNativeScript?r:t.isNode&&!t.isBrowser?r:window)},t.fromB64ToArray=function(e){if(t.isNode||t.isNativeScript)return new Uint8Array(i.from(e,"base64"));for(var n=window.atob(e),r=new Uint8Array(n.length),o=0;o-1&&(n=t.getUrlObject("http://"+e)));return n},t.getUrlObject=function(e){try{if(null!=a)return a.URL?new a.URL(e):a.parse(e);if("function"==typeof URL)return new URL(e);if(null!=window){var t=e.indexOf("://")>-1;if(!t&&e.indexOf(".")>-1)e="http://"+e;else if(!t)return null;var n=window.document.createElement("a");return n.href=e,n}}catch(r){}return null},t.inited=!1,t.isNativeScript=!1,t.isNode=!1,t.isBrowser=!0,t.isMobileBrowser=!1,t.isAppleMobileBrowser=!1,t.global=null,t.tldEndingRegex=/.*\.(com|net|org|edu|uk|gov|ca|de|jp|fr|au|ru|ch|io|es|us|co|xyz|info|ly|mil)$/,t}();t.Utils=s,s.init()}).call(this,n(136),n(108),n(103).Buffer)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.PasswordGenerationService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(0),i=function(){function e(){}return e.prototype.onClick=function(e){e.preventDefault()},e.ɵfac=function(t){return new(t||e)},e.ɵdir=r.ɵɵdefineDirective({type:e,selectors:[["","appStopClick",""]],hostBindings:function(e,t){1&e&&r.ɵɵlistener("click",function(e){return t.onClick(e)})}}),e}();t.StopClickDirective=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Login=1]="Login",e[e.SecureNote=2]="SecureNote",e[e.Card=3]="Card",e[e.Identity=4]="Identity"}(t.CipherType||(t.CipherType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.StateService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.CollectionService=r},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.StorageService=r},,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(0),i=function(){function e(e,t){this.el=e,this.renderer=t}return Object.defineProperty(e.prototype,"appInputVerbatim",{set:function(e){this.disableComplete=""===e||!0===e},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){this.disableComplete&&!this.el.nativeElement.hasAttribute("autocomplete")&&this.renderer.setAttribute(this.el.nativeElement,"autocomplete","off"),this.el.nativeElement.hasAttribute("autocapitalize")||this.renderer.setAttribute(this.el.nativeElement,"autocapitalize","none"),this.el.nativeElement.hasAttribute("autocorrect")||this.renderer.setAttribute(this.el.nativeElement,"autocorrect","none"),this.el.nativeElement.hasAttribute("spellcheck")||this.renderer.setAttribute(this.el.nativeElement,"spellcheck","false"),this.el.nativeElement.hasAttribute("inputmode")||this.renderer.setAttribute(this.el.nativeElement,"inputmode","verbatim")},e.ɵfac=function(t){return new(t||e)(r.ɵɵdirectiveInject(r.ElementRef),r.ɵɵdirectiveInject(r.Renderer2))},e.ɵdir=r.ɵɵdefineDirective({type:e,selectors:[["","appInputVerbatim",""]],inputs:{appInputVerbatim:"appInputVerbatim"}}),e}();t.InputVerbatimDirective=i},,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.FolderService=r},,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(0),i=function(){function e(){}return e.prototype.onClick=function(e){e.stopPropagation()},e.ɵfac=function(t){return new(t||e)},e.ɵdir=r.ɵɵdefineDirective({type:e,selectors:[["","appStopProp",""]],hostBindings:function(e,t){1&e&&r.ɵɵlistener("click",function(e){return t.onClick(e)})}}),e}();t.StopPropDirective=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.AuthService=r},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.SyncService=r},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(36),i=n(0),o=function(){function e(e){this.el=e}return Object.defineProperty(e.prototype,"appAutofocus",{set:function(e){this.autofocus=""===e||!0===e},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){!r.Utils.isMobileBrowser&&this.autofocus&&this.el.nativeElement.focus()},e.ɵfac=function(t){return new(t||e)(i.ɵɵdirectiveInject(i.ElementRef))},e.ɵdir=i.ɵɵdefineDirective({type:e,selectors:[["","appAutofocus",""]],inputs:{appAutofocus:"appAutofocus"}}),e}();t.AutofocusDirective=o},,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.EnvironmentService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(){this.environmentUrlsKey=e.environmentUrlsKey,this.disableGaKey=e.disableGaKey,this.disableAddLoginNotificationKey=e.disableAddLoginNotificationKey,this.disableContextMenuItemKey=e.disableContextMenuItemKey,this.disableFaviconKey=e.disableFaviconKey,this.disableAutoTotpCopyKey=e.disableAutoTotpCopyKey,this.enableAutoFillOnPageLoadKey=e.enableAutoFillOnPageLoadKey,this.vaultTimeoutKey=e.vaultTimeoutKey,this.vaultTimeoutActionKey=e.vaultTimeoutActionKey,this.lastActiveKey=e.lastActiveKey,this.neverDomainsKey=e.neverDomainsKey,this.installedVersionKey=e.installedVersionKey,this.localeKey=e.localeKey,this.themeKey=e.themeKey,this.collapsedGroupingsKey=e.collapsedGroupingsKey,this.autoConfirmFingerprints=e.autoConfirmFingerprints,this.dontShowCardsCurrentTab=e.dontShowCardsCurrentTab,this.dontShowIdentitiesCurrentTab=e.dontShowIdentitiesCurrentTab,this.defaultUriMatch=e.defaultUriMatch,this.pinProtectedKey=e.pinProtectedKey,this.protectedPin=e.protectedPin,this.clearClipboardKey=e.clearClipboardKey,this.eventCollectionKey=e.eventCollectionKey,this.ssoCodeVerifierKey=e.ssoCodeVerifierKey,this.ssoStateKey=e.ssoStateKey,this.biometricUnlockKey=e.biometricUnlockKey,this.biometricText=e.biometricText,this.biometricAwaitingAcceptance=e.biometricAwaitingAcceptance}return e.environmentUrlsKey="environmentUrls",e.disableGaKey="disableGa",e.disableAddLoginNotificationKey="disableAddLoginNotification",e.disableChangedPasswordNotificationKey="disableChangedPasswordNotification",e.disableContextMenuItemKey="disableContextMenuItem",e.disableFaviconKey="disableFavicon",e.disableAutoTotpCopyKey="disableAutoTotpCopy",e.enableAutoFillOnPageLoadKey="enableAutoFillOnPageLoad",e.vaultTimeoutKey="lockOption",e.vaultTimeoutActionKey="vaultTimeoutAction",e.lastActiveKey="lastActive",e.neverDomainsKey="neverDomains",e.installedVersionKey="installedVersion",e.localeKey="locale",e.themeKey="theme",e.collapsedGroupingsKey="collapsedGroupings",e.autoConfirmFingerprints="autoConfirmFingerprints",e.dontShowCardsCurrentTab="dontShowCardsCurrentTab",e.dontShowIdentitiesCurrentTab="dontShowIdentitiesCurrentTab",e.defaultUriMatch="defaultUriMatch",e.pinProtectedKey="pinProtectedKey",e.protectedPin="protectedPin",e.clearClipboardKey="clearClipboardKey",e.eventCollectionKey="eventCollection",e.ssoCodeVerifierKey="ssoCodeVerifier",e.ssoStateKey="ssoState",e.biometricUnlockKey="biometric",e.biometricText="biometricText",e.biometricAwaitingAcceptance="biometricAwaitingAcceptance",e}();t.ConstantsService=r},,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.PasswordVerificationRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.EventService=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1?e[a]=s||null:e[a]=s?new o.CipherString(s):null}},e.prototype.buildDataModel=function(e,t,n,r){for(var i in void 0===r&&(r=[]),n)if(n.hasOwnProperty(i)){var o=e[n[i]||i];r.indexOf(i)>-1?t[i]=null!=o?o:null:t[i]=null!=o?o.encryptedString:null}},e.prototype.decryptObj=function(e,t,n,o){return void 0===o&&(o=null),r(this,void 0,void 0,function(){var r,a,s;return i(this,function(i){switch(i.label){case 0:for(s in r=[],a=this,t)t.hasOwnProperty(s)&&function(i){var s=Promise.resolve().then(function(){var e=t[i]||i;return a[e]?a[e].decrypt(n,o):null}).then(function(t){e[i]=t});r.push(s)}(s);return[4,Promise.all(r)];case 1:return i.sent(),[2,e]}})})},e}();t.default=a},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.PolicyService=r},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.SearchService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.cardholderName=null,this.expMonth=null,this.expYear=null,this.code=null,this._brand=null,this._number=null,this._subTitle=null}return Object.defineProperty(e.prototype,"maskedCode",{get:function(){return null!=this.code?"•".repeat(this.code.length):null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"brand",{get:function(){return this._brand},set:function(e){this._brand=e,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"number",{get:function(){return this._number},set:function(e){this._number=e,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"subTitle",{get:function(){if(null==this._subTitle&&(this._subTitle=this.brand,null!=this.number&&this.number.length>=4)){null!=this._subTitle&&""!==this._subTitle?this._subTitle+=", ":this._subTitle="";var e=this.number.length>=5&&null!=this.number.match(new RegExp("^3[47]"))?5:4;this._subTitle+="*"+this.number.substr(this.number.length-e)}return this._subTitle},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"expiration",{get:function(){if(!this.expMonth&&!this.expYear)return null;var e=null!=this.expMonth?("0"+this.expMonth).slice(-2):"__";return e+=" / "+(null!=this.expYear?this.formatYear(this.expYear):"____")},enumerable:!0,configurable:!0}),e.prototype.formatYear=function(e){return 2===e.length?"20"+e:e},e}();t.CardView=r},,,,,function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(267),a=(n(0),n(814)),s=n(36),l=(n(16),n(0)),c=n(16);function p(e,t){}var u=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.el=null,r}return i(t,e),t.prototype.ngOnDestroy=function(){},t.prototype.show=function(e,t,n,r){var i=this;void 0===n&&(n=!0),void 0===r&&(r=null),this.parentContainer=t,this.fade=n;var a=this.componentFactoryResolver.resolveComponentFactory(e),l=this.container.createComponent(a);null!=r&&r(l.instance);var c=Array.from(document.querySelectorAll(".modal"));return c.length>0&&(this.el=o(c[0]),this.el.modal("show"),this.el.on("show.bs.modal",function(){i.onShow.emit(),i.messagingService.send("modalShow")}),this.el.on("shown.bs.modal",function(){i.onShown.emit(),i.messagingService.send("modalShown"),s.Utils.isMobileBrowser||i.el.find("*[appAutoFocus]").focus()}),this.el.on("hide.bs.modal",function(){i.onClose.emit(),i.messagingService.send("modalClose")}),this.el.on("hidden.bs.modal",function(){i.onClosed.emit(),i.messagingService.send("modalClosed"),null!=i.parentContainer&&i.parentContainer.clear()})),l.instance},t.prototype.close=function(){null!=this.el&&this.el.modal("hide")},t.ɵfac=function(e){return new(e||t)(l.ɵɵdirectiveInject(l.ComponentFactoryResolver),l.ɵɵdirectiveInject(c.MessagingService))},t.ɵcmp=l.ɵɵdefineComponent({type:t,selectors:[["app-modal"]],features:[l.ɵɵInheritDefinitionFeature],decls:2,vars:0,consts:[["container",""]],template:function(e,t){1&e&&l.ɵɵtemplate(0,p,0,0,"ng-template",null,0,l.ɵɵtemplateRefExtractor)},encapsulation:2}),t}(a.ModalComponent);t.ModalComponent=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.type=null,e&&(this.type=e.type)}return Object.defineProperty(e.prototype,"subTitle",{get:function(){return null},enumerable:!0,configurable:!0}),e}();t.SecureNoteView=r},,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.TokenService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.CryptoFunctionService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.AuditService=r},,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.VaultTimeoutService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Generic=0]="Generic"}(t.SecureNoteType||(t.SecureNoteType={}))},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1?(e="http://"+e,t=!0):this.imageEnabled&&(t=0===e.indexOf("http")&&e.indexOf(".")>-1),this.imageEnabled&&t)try{this.image=this.iconsUrl+"/"+s.Utils.getHostname(e)+"/icon.png",this.fallbackImage="images/fa-globe.png"}catch(n){}}else this.image=null},e.ɵfac=function(t){return new(t||e)(l.ɵɵdirectiveInject(c.EnvironmentService),l.ɵɵdirectiveInject(p.StateService))},e.ɵcmp=l.ɵɵdefineComponent({type:e,selectors:[["app-vault-icon"]],inputs:{cipher:"cipher"},features:[l.ɵɵNgOnChangesFeature],decls:7,vars:2,consts:[["aria-hidden","true",1,"icon"],["alt","",3,"src","appFallbackSrc",4,"ngIf"],[3,"class",4,"ngIf"],["alt","",3,"src","appFallbackSrc"]],template:function(e,t){1&e&&(l.ɵɵelementStart(0,"div",0),l.ɵɵtext(1,"\n "),l.ɵɵtemplate(2,h,1,2,"img",1),l.ɵɵtext(3,"\n "),l.ɵɵtemplate(4,f,1,3,"i",2),l.ɵɵtext(5,"\n"),l.ɵɵelementEnd(),l.ɵɵtext(6,"\n")),2&e&&(l.ɵɵadvance(2),l.ɵɵproperty("ngIf",t.imageEnabled&&t.image),l.ɵɵadvance(2),l.ɵɵproperty("ngIf",!t.imageEnabled||!t.image))},directives:[u.NgIf,d.FallbackSrcDirective],encapsulation:2}),e}();t.IconComponent=v},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Authenticator=0]="Authenticator",e[e.Email=1]="Email",e[e.Duo=2]="Duo",e[e.Yubikey=3]="Yubikey",e[e.U2f=4]="U2f",e[e.Remember=5]="Remember",e[e.OrganizationDuo=6]="OrganizationDuo"}(t.TwoFactorProviderType||(t.TwoFactorProviderType={}))},,,function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});n(0);var o=n(791),a=n(0),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.ɵfac=function(e){return l(e||t)},t.ɵprov=a.ɵɵdefineInjectable({token:t,factory:t.ɵfac}),t}(o.BroadcasterService);t.BroadcasterService=s;var l=a.ɵɵgetInheritedFactory(s)},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1)try{window.document.body.removeChild(e)}catch(t){}})},500),this.hidePaypal||(window.document.head.removeChild(this.btScript),window.setTimeout(function(){Array.from(window.document.head.querySelectorAll("script")).forEach(function(e){if(null!=e.src&&e.src.indexOf("paypal")>-1)try{window.document.head.removeChild(e)}catch(t){}});var e=window.document.head.querySelector("#braintree-dropin-stylesheet");if(null!=e)try{window.document.head.removeChild(e)}catch(t){}},500))},e.prototype.changeMethod=function(){var e=this;this.btInstance=null,this.method===o.PaymentMethodType.PayPal?window.setTimeout(function(){window.braintree.dropin.create({authorization:e.platformUtilsService.isDev()?a.WebConstants.btSandboxKey:a.WebConstants.btProductionKey,container:"#bt-dropin-container",paymentOptionPriority:["paypal"],paypal:{flow:"vault",buttonStyle:{label:"pay",size:"medium",shape:"pill",color:"blue"}}},function(t,n){null==t?e.btInstance=n:console.error(t)})},250):this.setStripeElement()},e.prototype.createPaymentToken=function(){var e=this;return new Promise(function(t,n){e.method===o.PaymentMethodType.Credit?t([null,e.method]):e.method===o.PaymentMethodType.PayPal?e.btInstance.requestPaymentMethod().then(function(n){t([n.nonce,e.method])}).catch(function(e){n(e.message)}):e.method!==o.PaymentMethodType.Card&&e.method!==o.PaymentMethodType.BankAccount||(e.method===o.PaymentMethodType.Card?e.apiService.postSetupPayment().then(function(t){return e.stripe.handleCardSetup(t,e.stripeCardNumberElement)}).then(function(r){r.error?n(r.error.message):r.setupIntent&&"succeeded"===r.setupIntent.status?t([r.setupIntent.payment_method,e.method]):n()}):e.stripe.createToken("bank_account",e.bank).then(function(r){r.error?n(r.error.message):r.token&&null!=r.token.id?t([r.token.id,e.method]):n()}))})},e.prototype.handleStripeCardPayment=function(e,t){var n=this;return new Promise(function(o,a){if(!n.showMethods||null!=n.stripeCardNumberElement){return(n.showMethods?n.stripe.handleCardSetup(e,n.stripeCardNumberElement):n.stripe.handleCardSetup(e)).then(function(e){return r(n,void 0,void 0,function(){return i(this,function(n){switch(n.label){case 0:return e.error?(a(e.error.message),[3,5]):[3,1];case 1:return e.paymentIntent&&"succeeded"===e.paymentIntent.status?null==t?[3,3]:[4,t()]:[3,4];case 2:n.sent(),n.label=3;case 3:return o(),[3,5];case 4:a(),n.label=5;case 5:return[2]}})})})}a()})},e.prototype.setStripeElement=function(){var e=this;window.setTimeout(function(){e.showMethods&&e.method===o.PaymentMethodType.Card&&(null==e.stripeCardNumberElement&&(e.stripeCardNumberElement=e.stripeElements.create("cardNumber",{style:I,classes:E,placeholder:""})),null==e.stripeCardExpiryElement&&(e.stripeCardExpiryElement=e.stripeElements.create("cardExpiry",{style:I,classes:E})),null==e.stripeCardCvcElement&&(e.stripeCardCvcElement=e.stripeElements.create("cardCvc",{style:I,classes:E,placeholder:""})),e.stripeCardNumberElement.mount("#stripe-card-number-element"),e.stripeCardExpiryElement.mount("#stripe-card-expiry-element"),e.stripeCardCvcElement.mount("#stripe-card-cvc-element"))},50)},e.ɵfac=function(t){return new(t||e)(s.ɵɵdirectiveInject(l.PlatformUtilsService),s.ɵɵdirectiveInject(c.ApiService))},e.ɵcmp=s.ɵɵdefineComponent({type:e,selectors:[["app-payment"]],inputs:{showMethods:"showMethods",showOptions:"showOptions",method:"method",hideBank:"hideBank",hidePaypal:"hidePaypal",hideCredit:"hideCredit"},decls:10,vars:5,consts:[["class","mb-4 text-lg",4,"ngIf"],[4,"ngIf"],[1,"mb-4","text-lg"],[1,"form-check","form-check-inline","mr-4"],["type","radio","name","Method","id","method-card",1,"form-check-input",3,"value","ngModel","ngModelChange","change"],["for","method-card",1,"form-check-label"],["aria-hidden","true",1,"fa","fa-fw","fa-credit-card"],["class","form-check form-check-inline mr-4",4,"ngIf"],["class","form-check form-check-inline",4,"ngIf"],["type","radio","name","Method","id","method-bank",1,"form-check-input",3,"value","ngModel","ngModelChange","change"],["for","method-bank",1,"form-check-label"],["aria-hidden","true",1,"fa","fa-fw","fa-university"],[1,"form-check","form-check-inline"],["type","radio","name","Method","id","method-paypal",1,"form-check-input",3,"value","ngModel","ngModelChange","change"],["for","method-paypal",1,"form-check-label"],["aria-hidden","true",1,"fa","fa-fw","fa-paypal"],["type","radio","name","Method","id","method-credit",1,"form-check-input",3,"value","ngModel","ngModelChange","change"],["for","method-credit",1,"form-check-label"],["aria-hidden","true",1,"fa","fa-fw","fa-dollar"],[1,"row"],[1,"form-group","col-4"],["for","stripe-card-number-element"],["id","stripe-card-number-element",1,"form-control","stripe-form-control"],[1,"form-group","col-8","d-flex","align-items-end"],["src","images/cards.png","alt","Visa, MasterCard, Discover, AmEx, JCB, Diners Club, UnionPay","width","323","height","32"],["for","stripe-card-expiry-element"],["id","stripe-card-expiry-element",1,"form-control","stripe-form-control"],[1,"d-flex"],["for","stripe-card-cvc-element"],["href","https://www.cvvnumber.com/cvv.html","tabindex","-1","target","_blank","rel","noopener noreferrer",1,"ml-auto",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],["id","stripe-card-cvc-element",1,"form-control","stripe-form-control"],["type","warning",3,"title"],[1,"form-group","col-6"],["for","routing_number"],["id","routing_number","type","text","name","routing_number","required","","appInputVerbatim","",1,"form-control",3,"ngModel","ngModelChange"],["for","account_number"],["id","account_number","type","text","name","account_number","required","","appInputVerbatim","",1,"form-control",3,"ngModel","ngModelChange"],["for","account_holder_name"],["id","account_holder_name","type","text","name","account_holder_name","required","",1,"form-control",3,"ngModel","ngModelChange"],["for","account_holder_type"],["id","account_holder_type","name","account_holder_type","required","",1,"form-control",3,"ngModel","ngModelChange"],["value",""],["value","company"],["value","individual"],[1,"mb-3"],["id","bt-dropin-container",1,"mb-1"],[1,"text-muted"],["type","note"]],template:function(e,t){1&e&&(s.ɵɵtemplate(0,x,19,8,"div",0),s.ɵɵtext(1,"\n"),s.ɵɵtemplate(2,b,46,12,"ng-container",1),s.ɵɵtext(3,"\n"),s.ɵɵtemplate(4,S,60,34,"ng-container",1),s.ɵɵtext(5,"\n"),s.ɵɵtemplate(6,w,11,3,"ng-container",1),s.ɵɵtext(7,"\n"),s.ɵɵtemplate(8,C,6,3,"ng-container",1),s.ɵɵtext(9,"\n")),2&e&&(s.ɵɵproperty("ngIf",t.showOptions&&t.showMethods),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",t.showMethods&&t.method===t.paymentMethodType.Card),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",t.showMethods&&t.method===t.paymentMethodType.BankAccount),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",t.showMethods&&t.method===t.paymentMethodType.PayPal),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",t.showMethods&&t.method===t.paymentMethodType.Credit))},directives:[p.NgIf,u.RadioControlValueAccessor,u.DefaultValueAccessor,u.NgControlStatus,u.NgModel,d.A11yTitleDirective,h.CalloutComponent,u.RequiredValidator,f.InputVerbatimDirective,u.SelectControlValueAccessor,u.NgSelectOption,u.ɵangular_packages_forms_forms_x],pipes:[m.I18nPipe],encapsulation:2}),e}();t.PaymentComponent=P},,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.id=null,this.name=null,this.revisionDate=null,e&&(this.id=e.id,this.revisionDate=e.revisionDate)}}();t.FolderView=r},,,,,,,,,,,,function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasAttachments",{get:function(){return this.attachments&&this.attachments.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hasOldAttachments",{get:function(){if(this.hasAttachments)for(var e=0;e0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"passwordRevisionDisplayDate",{get:function(){return this.type!==r.CipherType.Login||null==this.login?null:null==this.login.password||""===this.login.password?null:this.login.passwordRevisionDate},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isDeleted",{get:function(){return null!=this.deletedDate},enumerable:!0,configurable:!0}),e}();t.CipherView=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(36),i=function(){function e(e){this.title=null,this.middleName=null,this.address1=null,this.address2=null,this.address3=null,this.city=null,this.state=null,this.postalCode=null,this.country=null,this.company=null,this.email=null,this.phone=null,this.ssn=null,this.username=null,this.passportNumber=null,this.licenseNumber=null,this._firstName=null,this._lastName=null,this._subTitle=null}return Object.defineProperty(e.prototype,"firstName",{get:function(){return this._firstName},set:function(e){this._firstName=e,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"lastName",{get:function(){return this._lastName},set:function(e){this._lastName=e,this._subTitle=null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"subTitle",{get:function(){return null!=this._subTitle||null==this.firstName&&null==this.lastName||(this._subTitle="",null!=this.firstName&&(this._subTitle=this.firstName),null!=this.lastName&&(""!==this._subTitle&&(this._subTitle+=" "),this._subTitle+=this.lastName)),this._subTitle},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"fullName",{get:function(){if(null!=this.title||null!=this.firstName||null!=this.middleName||null!=this.lastName){var e="";return null!=this.title&&(e+=this.title+" "),null!=this.firstName&&(e+=this.firstName+" "),null!=this.middleName&&(e+=this.middleName+" "),null!=this.lastName&&(e+=this.lastName),e.trim()}return null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"fullAddress",{get:function(){var e=this.address1;return r.Utils.isNullOrWhitespace(this.address2)||(r.Utils.isNullOrWhitespace(e)||(e+=", "),e+=this.address2),r.Utils.isNullOrWhitespace(this.address3)||(r.Utils.isNullOrWhitespace(e)||(e+=", "),e+=this.address3),e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"fullAddressPart2",{get:function(){if(null==this.city&&null==this.state&&null==this.postalCode)return null;var e=this.city||"-",t=this.state,n=this.postalCode||"-",i=e;return r.Utils.isNullOrWhitespace(t)||(i+=", "+t),i+=", "+n},enumerable:!0,configurable:!0}),e}();t.IdentityView=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Text=0]="Text",e[e.Hidden=1]="Hidden",e[e.Boolean=2]="Boolean"}(t.FieldType||(t.FieldType={}))},,,,,,,,,,,,function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1&&(n=this.getFirstLetters(r,this.charCount)),null==n&&(n=r.substr(0,this.charCount)),a=this.getCharText(n),s=this.stringToColor(r),(l=this.getSvg(this.size,s)).appendChild(a),c=window.document.createElement("div").appendChild(l).outerHTML,p=window.btoa(unescape(encodeURIComponent(c))),this.src="data:image/svg+xml;base64,"+p,i.label=4;case 4:return[2]}})})},e.prototype.stringToColor=function(e){for(var t=0,n=0;n>8*n&255).toString(16)).substr(-2)}return r},e.prototype.getFirstLetters=function(e,t){var n=e.split(" ");if(n.length>1){for(var r="",i=0;i0},enumerable:!0,configurable:!0}),e}();t.LoginView=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Text=0]="Text",e[e.File=1]="File"}(t.SendType||(t.SendType={}))},,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.id=e.id,this.organizationId=e.organizationId,this.name=e.name,this.externalId=e.externalId,this.readOnly=e.readOnly}}();t.CollectionData=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(153),a=function(e){function t(t,n){void 0===n&&(n=!1);var r=e.call(this)||this;return null==t?r:(r.buildDomainModel(r,t,{id:null,organizationId:null,name:null,externalId:null,readOnly:null,hidePasswords:null},n,["id","organizationId","externalId","readOnly","hidePasswords"]),r)}return i(t,e),t.prototype.decrypt=function(){return this.decryptObj(new o.CollectionView(this),{name:null},this.organizationId)},t}(n(80).default);t.Collection=a},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1||(null!=r&&null!=e[r]&&e[r].toString().toLowerCase().indexOf(t)>-1||null!=i&&null!=e[i]&&e[i].toString().toLowerCase().indexOf(t)>-1)}))},e.ɵfac=function(t){return new(t||e)},e.ɵpipe=r.ɵɵdefinePipe({name:"search",type:e,pure:!0}),e}();t.SearchPipe=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0),n(4);var r=n(275),i=n(249),o=n(0),a=n(4),s=function(){function e(e){this.i18nService=e}return e.prototype.getDefaultDateFilters=function(){var e=new Date,t=new Date(e.getFullYear(),e.getMonth(),e.getDate(),23,59);e.setDate(e.getDate()-30);var n=new Date(e.getFullYear(),e.getMonth(),e.getDate(),0,0);return[this.toDateTimeLocalString(n),this.toDateTimeLocalString(t)]},e.prototype.formatDateFilters=function(e,t){var n=new Date(e),r=new Date(t+":59.999");if(isNaN(n.getTime())||isNaN(r.getTime())||r"+n+"";var r=this.makeAnchor(n);return r.setAttribute("href","#/organizations/"+e.organizationId+"/vault?search="+n+"&viewEvents="+e.cipherId),r.outerHTML},e.prototype.formatGroupId=function(e){var t=this.getShortId(e.groupId),n=this.makeAnchor(t);return n.setAttribute("href","#/organizations/"+e.organizationId+"/manage/groups?search="+t),n.outerHTML},e.prototype.formatCollectionId=function(e){var t=this.getShortId(e.collectionId),n=this.makeAnchor(t);return n.setAttribute("href","#/organizations/"+e.organizationId+"/manage/collections?search="+t),n.outerHTML},e.prototype.formatOrgUserId=function(e){var t=this.getShortId(e.organizationUserId),n=this.makeAnchor(t);return n.setAttribute("href","#/organizations/"+e.organizationId+"/manage/people?search="+t+"&viewEvents="+e.organizationUserId),n.outerHTML},e.prototype.makeAnchor=function(e){var t=document.createElement("a");return t.title=this.i18nService.t("view"),t.innerHTML=""+e+"",t},e.prototype.getShortId=function(e){return e.substring(0,8)},e.prototype.toDateTimeLocalString=function(e){return e.getFullYear()+"-"+this.pad(e.getMonth()+1)+"-"+this.pad(e.getDate())+"T"+this.pad(e.getHours())+":"+this.pad(e.getMinutes())},e.prototype.pad=function(e){var t=Math.floor(Math.abs(e));return(t<10?"0":"")+t},e.ɵfac=function(t){return new(t||e)(o.ɵɵinject(a.I18nService))},e.ɵprov=o.ɵɵdefineInjectable({token:e,factory:e.ɵfac}),e}();t.EventService=s;var l=function(){return function(){}}();t.EventInfo=l;var c=function(){return function(){this.cipherInfo=!0}}();t.EventOptions=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.User_LoggedIn=1e3]="User_LoggedIn",e[e.User_ChangedPassword=1001]="User_ChangedPassword",e[e.User_Updated2fa=1002]="User_Updated2fa",e[e.User_Disabled2fa=1003]="User_Disabled2fa",e[e.User_Recovered2fa=1004]="User_Recovered2fa",e[e.User_FailedLogIn=1005]="User_FailedLogIn",e[e.User_FailedLogIn2fa=1006]="User_FailedLogIn2fa",e[e.User_ClientExportedVault=1007]="User_ClientExportedVault",e[e.Cipher_Created=1100]="Cipher_Created",e[e.Cipher_Updated=1101]="Cipher_Updated",e[e.Cipher_Deleted=1102]="Cipher_Deleted",e[e.Cipher_AttachmentCreated=1103]="Cipher_AttachmentCreated",e[e.Cipher_AttachmentDeleted=1104]="Cipher_AttachmentDeleted",e[e.Cipher_Shared=1105]="Cipher_Shared",e[e.Cipher_UpdatedCollections=1106]="Cipher_UpdatedCollections",e[e.Cipher_ClientViewed=1107]="Cipher_ClientViewed",e[e.Cipher_ClientToggledPasswordVisible=1108]="Cipher_ClientToggledPasswordVisible",e[e.Cipher_ClientToggledHiddenFieldVisible=1109]="Cipher_ClientToggledHiddenFieldVisible",e[e.Cipher_ClientToggledCardCodeVisible=1110]="Cipher_ClientToggledCardCodeVisible",e[e.Cipher_ClientCopiedPassword=1111]="Cipher_ClientCopiedPassword",e[e.Cipher_ClientCopiedHiddenField=1112]="Cipher_ClientCopiedHiddenField",e[e.Cipher_ClientCopiedCardCode=1113]="Cipher_ClientCopiedCardCode",e[e.Cipher_ClientAutofilled=1114]="Cipher_ClientAutofilled",e[e.Cipher_SoftDeleted=1115]="Cipher_SoftDeleted",e[e.Cipher_Restored=1116]="Cipher_Restored",e[e.Collection_Created=1300]="Collection_Created",e[e.Collection_Updated=1301]="Collection_Updated",e[e.Collection_Deleted=1302]="Collection_Deleted",e[e.Group_Created=1400]="Group_Created",e[e.Group_Updated=1401]="Group_Updated",e[e.Group_Deleted=1402]="Group_Deleted",e[e.OrganizationUser_Invited=1500]="OrganizationUser_Invited",e[e.OrganizationUser_Confirmed=1501]="OrganizationUser_Confirmed",e[e.OrganizationUser_Updated=1502]="OrganizationUser_Updated",e[e.OrganizationUser_Removed=1503]="OrganizationUser_Removed",e[e.OrganizationUser_UpdatedGroups=1504]="OrganizationUser_UpdatedGroups",e[e.Organization_Updated=1600]="Organization_Updated",e[e.Organization_PurgedVault=1601]="Organization_PurgedVault",e[e.Policy_Created=1700]="Policy_Created",e[e.Policy_Updated=1701]="Policy_Updated",e[e.Policy_Deleted=1702]="Policy_Deleted"}(t.EventType||(t.EventType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Card=0]="Card",e[e.BankAccount=1]="BankAccount",e[e.PayPal=2]="PayPal",e[e.BitPay=3]="BitPay",e[e.Credit=4]="Credit",e[e.WireTransfer=5]="WireTransfer",e[e.AppleInApp=6]="AppleInApp",e[e.GoogleInApp=7]="GoogleInApp",e[e.Check=8]="Check"}(t.PaymentMethodType||(t.PaymentMethodType={}))},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?(l=[],[4,this.attachments.reduce(function(e,t){return e.then(function(){return t.decrypt(o)}).then(function(e){l.push(e)})},Promise.resolve())]):[3,13];case 12:a.sent(),e.attachments=l,a.label=13;case 13:return null!=this.fields&&this.fields.length>0?(p=[],[4,this.fields.reduce(function(e,t){return e.then(function(){return t.decrypt(o)}).then(function(e){p.push(e)})},Promise.resolve())]):[3,15];case 14:a.sent(),e.fields=p,a.label=15;case 15:return null!=this.passwordHistory&&this.passwordHistory.length>0?(u=[],[4,this.passwordHistory.reduce(function(e,t){return e.then(function(){return t.decrypt(o)}).then(function(e){u.push(e)})},Promise.resolve())]):[3,17];case 16:a.sent(),e.passwordHistory=u,a.label=17;case 17:return[2,e]}})})},t.prototype.toCipherData=function(e){var t=new l.CipherData;switch(t.id=this.id,t.organizationId=this.organizationId,t.folderId=this.folderId,t.userId=null!=this.organizationId?e:null,t.edit=this.edit,t.viewPassword=this.viewPassword,t.organizationUseTotp=this.organizationUseTotp,t.favorite=this.favorite,t.revisionDate=null!=this.revisionDate?this.revisionDate.toISOString():null,t.type=this.type,t.collectionIds=this.collectionIds,t.deletedDate=null!=this.deletedDate?this.deletedDate.toISOString():null,this.buildDataModel(this,t,{name:null,notes:null}),t.type){case s.CipherType.Login:t.login=this.login.toLoginData();break;case s.CipherType.SecureNote:t.secureNote=this.secureNote.toSecureNoteData();break;case s.CipherType.Card:t.card=this.card.toCardData();break;case s.CipherType.Identity:t.identity=this.identity.toIdentityData()}return null!=this.fields&&(t.fields=this.fields.map(function(e){return e.toFieldData()})),null!=this.attachments&&(t.attachments=this.attachments.map(function(e){return e.toAttachmentData()})),null!=this.passwordHistory&&(t.passwordHistory=this.passwordHistory.map(function(e){return e.toPasswordHistoryData()})),t},t}(d.default);t.Cipher=g},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(278),i=n(36),o=["https://","http://","ssh://","ftp://","sftp://","irc://","vnc://","rdp://","ms-rd:","chrome://","iosapp://","androidapp://"],a=function(){function e(e){this.match=null,this._uri=null,this._domain=null,this._hostname=null,this._host=null,this._canLaunch=null,e&&(this.match=e.match)}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},set:function(e){this._uri=e,this._domain=null,this._canLaunch=null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"domain",{get:function(){return null==this._domain&&null!=this.uri&&(this._domain=i.Utils.getDomain(this.uri),""===this._domain&&(this._domain=null)),this._domain},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hostname",{get:function(){return this.match===r.UriMatchType.RegularExpression?null:(null==this._hostname&&null!=this.uri&&(this._hostname=i.Utils.getHostname(this.uri),""===this._hostname&&(this._hostname=null)),this._hostname)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"host",{get:function(){return this.match===r.UriMatchType.RegularExpression?null:(null==this._host&&null!=this.uri&&(this._host=i.Utils.getHost(this.uri),""===this._host&&(this._host=null)),this._host)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hostnameOrUri",{get:function(){return null!=this.hostname?this.hostname:this.uri},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hostOrUri",{get:function(){return null!=this.host?this.host:this.uri},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isWebsite",{get:function(){return null!=this.uri&&(0===this.uri.indexOf("http://")||0===this.uri.indexOf("https://")||this.uri.indexOf("://")<0&&i.Utils.tldEndingRegex.test(this.uri))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"canLaunch",{get:function(){if(null!=this._canLaunch)return this._canLaunch;if(null!=this.uri&&this.match!==r.UriMatchType.RegularExpression)for(var e=this.launchUri,t=0;t0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]500?500:this.ciphers.length,n=0;n0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]r){if(o===a.TwoFactorProviderType.U2f&&!e)return;n=o,r=s.priority}}),n},e.prototype.makePreloginKey=function(e,t){return i(this,void 0,void 0,function(){var n,r,i,a;return o(this,function(o){switch(o.label){case 0:t=t.trim().toLowerCase(),n=null,r=null,o.label=1;case 1:return o.trys.push([1,3,,4]),[4,this.apiService.postPrelogin(new p.PreloginRequest(t))];case 2:return null!=(i=o.sent())&&(n=i.kdf,r=i.kdfIterations),[3,4];case 3:if(null==(a=o.sent())||404!==a.statusCode)throw a;return[3,4];case 4:return[2,this.cryptoService.makeKey(e,t,n,r)]}})})},e.prototype.authingWithApiKey=function(){return null!=this.clientId&&null!=this.clientSecret},e.prototype.authingWithSso=function(){return null!=this.code&&null!=this.codeVerifier&&null!=this.ssoRedirectUrl},e.prototype.authingWithPassword=function(){return null!=this.email&&null!=this.masterPasswordHash},e.prototype.logInHelper=function(e,t,n,r,p,d,h,f,m,v,y){return i(this,void 0,void 0,function(){var i,g,x,b,S,w,C,I,E,P,k,_,A;return o(this,function(o){switch(o.label){case 0:return[4,this.tokenService.getTwoFactorToken(e)];case 1:return i=o.sent(),[4,this.appIdService.getAppId()];case 2:return g=o.sent(),x=new l.DeviceRequest(g,this.platformUtilsService),b=[],S=[],w=[],b=null!=e&&null!=t?[e,t]:null,S=null!=n&&null!=r&&null!=p?[n,r,p]:null,w=null!=d&&null!=h?[d,h]:null,C=null!=v&&null!=m?new u.TokenRequest(b,S,w,m,v,y,x):null!=i?new u.TokenRequest(b,S,w,a.TwoFactorProviderType.Remember,i,!1,x):new u.TokenRequest(b,S,w,null,null,!1,x),[4,this.apiService.postIdentityToken(C)];case 3:return I=o.sent(),this.clearState(),(E=new s.AuthResult).twoFactor=!I.accessToken,E.twoFactor?(P=I,this.email=e,this.masterPasswordHash=t,this.code=n,this.codeVerifier=r,this.ssoRedirectUrl=p,this.clientId=d,this.clientSecret=h,this.key=this.setCryptoKeys?f:null,this.twoFactorProvidersData=P.twoFactorProviders2,E.twoFactorProviders=P.twoFactorProviders2,[2,E]):(k=I,E.resetMasterPassword=k.resetMasterPassword,null==k.twoFactorToken?[3,5]:[4,this.tokenService.setTwoFactorToken(k.twoFactorToken,e)]);case 4:o.sent(),o.label=5;case 5:return[4,this.tokenService.setTokens(k.accessToken,k.refreshToken)];case 6:return o.sent(),[4,this.userService.setInformation(this.tokenService.getUserId(),this.tokenService.getEmail(),k.kdf,k.kdfIterations)];case 7:return o.sent(),this.setCryptoKeys?null==f?[3,9]:[4,this.cryptoService.setKey(f)]:[3,19];case 8:o.sent(),o.label=9;case 9:return null==t?[3,11]:[4,this.cryptoService.setKeyHash(t)];case 10:o.sent(),o.label=11;case 11:return null!=n&&null==k.key?[3,19]:[4,this.cryptoService.setEncKey(k.key)];case 12:if(o.sent(),null!=k.privateKey)return[3,17];o.label=13;case 13:return o.trys.push([13,16,,17]),[4,this.cryptoService.makeKeyPair()];case 14:return _=o.sent(),[4,this.apiService.postAccountKeys(new c.KeysRequest(_[0],_[1].encryptedString))];case 15:return o.sent(),k.privateKey=_[1].encryptedString,[3,17];case 16:return A=o.sent(),console.error(A),[3,17];case 17:return[4,this.cryptoService.setEncPrivateKey(k.privateKey)];case 18:o.sent(),o.label=19;case 19:return null!=this.vaultTimeoutService&&(this.vaultTimeoutService.biometricLocked=!1),this.messagingService.send("loggedIn"),[2,E]}})})},e.prototype.clearState=function(){this.key=null,this.email=null,this.masterPasswordHash=null,this.code=null,this.codeVerifier=null,this.ssoRedirectUrl=null,this.clientId=null,this.clientSecret=null,this.twoFactorProvidersData=null,this.selectedTwoFactorProviderType=null},e}();t.AuthService=d},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t,n){this.id=e,this.readOnly=t,this.hidePasswords=n}}();t.SelectionReadOnlyRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Android=0]="Android",e[e.iOS=1]="iOS",e[e.ChromeExtension=2]="ChromeExtension",e[e.FirefoxExtension=3]="FirefoxExtension",e[e.OperaExtension=4]="OperaExtension",e[e.EdgeExtension=5]="EdgeExtension",e[e.WindowsDesktop=6]="WindowsDesktop",e[e.MacOsDesktop=7]="MacOsDesktop",e[e.LinuxDesktop=8]="LinuxDesktop",e[e.ChromeBrowser=9]="ChromeBrowser",e[e.FirefoxBrowser=10]="FirefoxBrowser",e[e.OperaBrowser=11]="OperaBrowser",e[e.EdgeBrowser=12]="EdgeBrowser",e[e.IEBrowser=13]="IEBrowser",e[e.UnknownBrowser=14]="UnknownBrowser",e[e.AndroidAmazon=15]="AndroidAmazon",e[e.UWP=16]="UWP",e[e.SafariBrowser=17]="SafariBrowser",e[e.VivaldiBrowser=18]="VivaldiBrowser",e[e.VivaldiExtension=19]="VivaldiExtension",e[e.SafariExtension=20]="SafariExtension"}(t.DeviceType||(t.DeviceType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.SettingsService=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]4?(t=Math.floor(this.totpCode.length/2),this.totpCodeFormatted=this.totpCode.substring(0,t)+" "+this.totpCode.substring(t)):this.totpCodeFormatted=this.totpCode:(this.totpCodeFormatted=null,this.totpInterval&&window.clearInterval(this.totpInterval)),[2]}})})},t.prototype.allowOwnershipAssignment=function(){return(!this.editMode||this.cloneMode)&&null!=this.ownershipOptions&&this.ownershipOptions.length>1},t.prototype.totpTick=function(e){return o(this,void 0,void 0,function(){var t,n;return a(this,function(r){switch(r.label){case 0:return t=Math.round((new Date).getTime()/1e3),n=t%e,this.totpSec=e-n,this.totpDash=+(Math.round(78.6/e*n+"e+2")+"e-2"),this.totpLow=this.totpSec<=7,0!==n?[3,2]:[4,this.totpUpdateCode()];case 1:r.sent(),r.label=2;case 2:return[2]}})})},t.ɵfac=function(e){return new(e||t)(p.ɵɵdirectiveInject(u.CipherService),p.ɵɵdirectiveInject(d.FolderService),p.ɵɵdirectiveInject(h.I18nService),p.ɵɵdirectiveInject(f.PlatformUtilsService),p.ɵɵdirectiveInject(m.AuditService),p.ɵɵdirectiveInject(v.StateService),p.ɵɵdirectiveInject(y.UserService),p.ɵɵdirectiveInject(g.CollectionService),p.ɵɵdirectiveInject(x.TotpService),p.ɵɵdirectiveInject(b.PasswordGenerationService),p.ɵɵdirectiveInject(S.MessagingService),p.ɵɵdirectiveInject(w.EventService))},t.ɵcmp=p.ɵɵdefineComponent({type:t,selectors:[["app-vault-add-edit"]],features:[p.ɵɵInheritDefinitionFeature],decls:44,vars:17,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","cipherAddEditTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],["ngNativeValidate","","autocomplete","off",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","cipherAddEditTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],["class","ml-auto",4,"ngIf"],[1,"modal-body"],["class","row",4,"ngIf"],[1,"row"],[1,"col-6","form-group"],["for","name"],["id","name","type","text","name","Name","required","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["class","col-6 form-group",4,"ngIf"],[4,"ngIf"],[1,"form-group"],["for","notes"],["id","notes","name","Notes","rows","6",1,"form-control",3,"ngModel","disabled","ngModelChange"],[1,"mt-4"],["cdkDropList","",3,"cdkDropListDropped",4,"ngIf"],["href","#","appStopClick","","class","d-inline-block mb-2",3,"click",4,"ngIf"],["for","type"],["id","type","name","Type","appAutofocus","",1,"form-control",3,"ngModel","disabled","ngModelChange"],[3,"ngValue",4,"ngFor","ngForOf"],[3,"ngValue"],["for","folder"],["id","folder","name","FolderId",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","loginUsername"],[1,"input-group"],["id","loginUsername","type","text","name","Login.Username","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["class","input-group-append",4,"ngIf"],[1,"d-flex"],["for","loginPassword"],["class","ml-auto d-flex",4,"ngIf"],["id","loginPassword","name","Login.Password","appInputVerbatim","","autocomplete","new-password",1,"form-control","text-monospace",3,"type","ngModel","disabled","ngModelChange"],[1,"input-group-append"],["type","button","tabindex","-1",1,"btn","btn-outline-secondary",3,"appA11yTitle","disabled","click"],["aria-hidden","true",1,"fa","fa-lg",3,"ngClass"],["aria-hidden","true",1,"fa","fa-lg","fa-clone"],["for","loginTotp"],["id","loginTotp","name","Login.Totp","appInputVerbatim","",1,"form-control","text-monospace",3,"type","ngModel","disabled","ngModelChange"],[1,"col-6","form-group","totp","d-flex","align-items-end",3,"ngClass"],["class","d-flex align-items-center",4,"ngIf"],["href","#","appStopClick","","class","d-inline-block mb-3",3,"click",4,"ngIf"],["type","button","tabindex","-1",1,"btn","btn-outline-secondary",3,"appA11yTitle","click"],[1,"ml-auto","d-flex"],["href","#","class","d-block mr-2","appStopClick","",3,"appA11yTitle","click",4,"ngIf"],["href","#","appStopClick","",1,"d-block",3,"appA11yTitle","appApiAction","click"],["checkPasswordBtn",""],["aria-hidden","true",1,"fa","fa-lg","fa-fw","fa-check-circle",3,"hidden"],["aria-hidden","true",1,"fa","fa-lg","fa-fw","fa-spinner","fa-spin",3,"hidden","title"],["href","#","appStopClick","",1,"d-block","mr-2",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-lg","fa-fw","fa-refresh"],["src","images/totp-countdown.png",1,"ml-2",3,"title"],["href","#","appStopClick","","class","badge badge-primary ml-3",3,"click",4,"ngIf"],["href","#","appStopClick","",1,"badge","badge-primary","ml-3",3,"click"],[1,"d-flex","align-items-center"],[1,"totp-countdown","mr-3","ml-2"],[1,"totp-sec"],["r","12.6","cy","16","cx","16",1,"totp-circle","inner",3,"ngStyle"],["r","14","cy","16","cx","16",1,"totp-circle","outer"],[1,"totp-code","mr-2",3,"title"],["type","button",1,"btn","btn-link",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-clone"],["class","row",4,"ngFor","ngForOf","ngForTrackBy"],[1,"col-7","form-group"],[3,"for"],["type","text","appInputVerbatim","",1,"form-control",3,"id","name","ngModel","disabled","placeholder","ngModelChange"],["aria-hidden","true",1,"fa","fa-lg","fa-share"],[1,"col-5","form-group"],["href","https://help.bitwarden.com/article/uri-match-detection/","target","_blank","rel","noopener",1,"ml-auto",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],[1,"form-control",3,"id","name","ngModel","disabled","ngModelChange","change"],["type","button","class","btn btn-link text-danger ml-2",3,"appA11yTitle","click",4,"ngIf"],["type","button",1,"btn","btn-link","text-danger","ml-2",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-minus-circle","fa-lg"],["href","#","appStopClick","",1,"d-inline-block","mb-3",3,"click"],["aria-hidden","true",1,"fa","fa-plus-circle","fa-fw"],["for","cardCardholderName"],["id","cardCardholderName","type","text","name","Card.CardCardholderName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","cardBrand"],["id","cardBrand","name","Card.Brand",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","cardNumber"],["id","cardNumber","type","text","name","Card.Number","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],[1,"col","form-group"],["for","cardExpMonth"],["id","cardExpMonth","name","Card.ExpMonth",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","cardExpYear"],["id","cardExpYear","type","text","name","Card.ExpYear",1,"form-control",3,"ngModel","placeholder","disabled","ngModelChange"],["for","cardCode"],["id","cardCode","name","Card.Code","appInputVerbatim","","autocomplete","new-password",1,"form-control","text-monospace",3,"type","ngModel","disabled","ngModelChange"],[1,"col-4","form-group"],["for","idTitle"],["id","idTitle","name","Identity.Title",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idFirstName"],["id","idFirstName","type","text","name","Identity.FirstName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idMiddleName"],["id","idMiddleName","type","text","name","Identity.MiddleName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idLastName"],["id","idLastName","type","text","name","Identity.LastName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idUsername"],["id","idUsername","type","text","name","Identity.Username","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idCompany"],["id","idCompany","type","text","name","Identity.Company",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idSsn"],["id","idSsn","type","text","name","Identity.SSN","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idPassportNumber"],["id","idPassportNumber","type","text","name","Identity.PassportNumber","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idLicenseNumber"],["id","idLicenseNumber","type","text","name","Identity.LicenseNumber","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idEmail"],["id","idEmail","type","text","name","Identity.Email","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idPhone"],["id","idPhone","type","text","name","Identity.Phone",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idAddress1"],["id","idAddress1","type","text","name","Identity.Address1",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idAddress2"],["id","idAddress2","type","text","name","Identity.Address2",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idAddress3"],["id","idAddress3","type","text","name","Identity.Address3",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idCity"],["id","idCity","type","text","name","Identity.City",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idState"],["id","idState","type","text","name","Identity.State",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idPostalCode"],["id","idPostalCode","type","text","name","Identity.PostalCode",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idCountry"],["id","idCountry","type","text","name","Identity.Country",1,"form-control",3,"ngModel","disabled","ngModelChange"],["cdkDropList","",3,"cdkDropListDropped"],["class","row","cdkDrag","",4,"ngFor","ngForOf","ngForTrackBy"],["cdkDrag","",1,"row"],["href","https://help.bitwarden.com/article/custom-fields/","target","_blank","rel","noopener",1,"ml-auto",3,"appA11yTitle"],["type","text","appInputVerbatim","",1,"form-control",3,"id","name","ngModel","disabled","ngModelChange"],["class","input-group",4,"ngIf"],[1,"flex-fill"],["type","checkbox","appTrueFalseValue","","trueValue","true","falseValue","false",3,"id","name","ngModel","disabled","ngModelChange",4,"ngIf"],["type","button","class","btn btn-link text-muted cursor-move",3,"appA11yTitle",4,"ngIf"],["appInputVerbatim","","autocomplete","new-password",1,"form-control","text-monospace",3,"id","type","name","ngModel","disabled","ngModelChange"],["type","checkbox","appTrueFalseValue","","trueValue","true","falseValue","false",3,"id","name","ngModel","disabled","ngModelChange"],["type","button",1,"btn","btn-link","text-muted","cursor-move",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-bars","fa-lg"],["href","#","appStopClick","",1,"d-inline-block","mb-2",3,"click"],[1,"col-5"],["for","addFieldType",1,"sr-only"],["id","addFieldType","name","AddFieldType",1,"form-control",3,"ngModel","ngModelChange"],["for","organizationId"],["id","organizationId","name","OrganizationId",1,"form-control",3,"ngModel","disabled","ngModelChange","change"],["class","form-check",4,"ngFor","ngForOf"],[1,"form-check"],["type","checkbox",1,"form-check-input",3,"ngModel","id","name","disabled","ngModelChange"],[1,"form-check-label",3,"for"],[1,"small","text-muted","mt-4"],[1,"font-weight-semibold"],["class","ml-3",4,"ngIf"],["href","#","appStopClick","",3,"title","click"],[1,"ml-3"],[4,"ngFor","ngForOf"],[1,"text-monospace","ml-2"],[1,"ml-auto"],["type","button","class","btn btn-link",3,"appA11yTitle","click",4,"ngIf"],["type","button","class","btn btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click",4,"ngIf"],["type","button",1,"btn","btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click"],["deleteBtn",""],["aria-hidden","true",1,"fa","fa-trash-o","fa-lg","fa-fw",3,"hidden"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","fa-lg","fa-fw",3,"hidden","title"]],template:function(e,t){if(1&e&&(p.ɵɵelementStart(0,"div",0),p.ɵɵtext(1,"\n "),p.ɵɵelementStart(2,"div",1),p.ɵɵtext(3,"\n "),p.ɵɵelementStart(4,"form",2,3),p.ɵɵlistener("ngSubmit",function(){return t.submit()}),p.ɵɵtext(6,"\n "),p.ɵɵelementStart(7,"div",4),p.ɵɵtext(8,"\n "),p.ɵɵelementStart(9,"h2",5),p.ɵɵtext(10),p.ɵɵelementEnd(),p.ɵɵtext(11,"\n "),p.ɵɵelementStart(12,"button",6),p.ɵɵpipe(13,"i18n"),p.ɵɵtext(14,"\n "),p.ɵɵelementStart(15,"span",7),p.ɵɵtext(16,"×"),p.ɵɵelementEnd(),p.ɵɵtext(17,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(18,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(19,"\n "),p.ɵɵtemplate(20,Ee,52,24,"div",8),p.ɵɵtext(21,"\n "),p.ɵɵelementStart(22,"div",9),p.ɵɵtext(23,"\n "),p.ɵɵelementStart(24,"button",10),p.ɵɵtext(25,"\n "),p.ɵɵelement(26,"i",11),p.ɵɵpipe(27,"i18n"),p.ɵɵtext(28,"\n "),p.ɵɵelementStart(29,"span"),p.ɵɵtext(30),p.ɵɵpipe(31,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(32,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(33,"\n "),p.ɵɵelementStart(34,"button",12),p.ɵɵtext(35),p.ɵɵpipe(36,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(37,"\n "),p.ɵɵtemplate(38,Ae,6,2,"div",13),p.ɵɵtext(39,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(40,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(41,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(42,"\n"),p.ɵɵelementEnd(),p.ɵɵtext(43,"\n")),2&e){var n=p.ɵɵreference(5);p.ɵɵadvance(4),p.ɵɵproperty("appApiAction",t.formPromise),p.ɵɵadvance(6),p.ɵɵtextInterpolate(t.title),p.ɵɵadvance(2),p.ɵɵpropertyInterpolate("appA11yTitle",p.ɵɵpipeBind1(13,9,"close")),p.ɵɵadvance(8),p.ɵɵproperty("ngIf",t.cipher),p.ɵɵadvance(4),p.ɵɵproperty("disabled",n.loading),p.ɵɵadvance(2),p.ɵɵpropertyInterpolate("title",p.ɵɵpipeBind1(27,11,"loading")),p.ɵɵadvance(4),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(31,13,null!=t.cipher&&t.cipher.isDeleted?"restore":"save")),p.ɵɵadvance(5),p.ɵɵtextInterpolate1("\n ",p.ɵɵpipeBind1(36,15,"cancel"),"\n "),p.ɵɵadvance(3),p.ɵɵproperty("ngIf",t.cipher)}},directives:[C.NgControlStatusGroup,C.NgForm,I.ApiActionDirective,E.A11yTitleDirective,P.NgIf,C.DefaultValueAccessor,C.RequiredValidator,C.NgControlStatus,C.NgModel,C.SelectControlValueAccessor,k.AutofocusDirective,P.NgForOf,C.NgSelectOption,C.ɵangular_packages_forms_forms_x,_.InputVerbatimDirective,P.NgClass,A.StopClickDirective,P.NgStyle,O.CdkDropList,O.CdkDrag,T.TrueFalseValueDirective,C.CheckboxControlValueAccessor],pipes:[M.I18nPipe,P.DatePipe],encapsulation:2}),t}(c.AddEditComponent);t.AddEditComponent=Oe},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(0),a=(n(41),n(52),n(44),n(9),n(852)),s=n(0),l=n(41),c=n(52),p=n(44),u=n(9),d=n(18),h=n(15),f=n(64),m=n(3),v=n(38),y=n(11),g=function(e){return{active:e}};function x(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"li",7),s.ɵɵtext(1,"\n "),s.ɵɵelementStart(2,"a",8),s.ɵɵlistener("click",function(){return s.ɵɵrestoreView(n),s.ɵɵnextContext().selectFavorites()}),s.ɵɵtext(3,"\n "),s.ɵɵelement(4,"i",17),s.ɵɵtext(5),s.ɵɵpipe(6,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(7,"\n "),s.ɵɵelementEnd()}if(2&e){var r=s.ɵɵnextContext();s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(4,g,r.selectedFavorites)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(6,2,"favorites"),"\n ")}}function b(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"li",7),s.ɵɵtext(1,"\n "),s.ɵɵelementStart(2,"a",8),s.ɵɵlistener("click",function(){return s.ɵɵrestoreView(n),s.ɵɵnextContext().selectTrash()}),s.ɵɵtext(3,"\n "),s.ɵɵelement(4,"i",18),s.ɵɵtext(5),s.ɵɵpipe(6,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(7,"\n "),s.ɵɵelementEnd()}if(2&e){var r=s.ɵɵnextContext();s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(4,g,r.selectedTrash)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(6,2,"trash"),"\n ")}}function S(e,t){1&e&&(s.ɵɵelementStart(0,"p",19),s.ɵɵtext(1,"\n "),s.ɵɵelement(2,"i",20),s.ɵɵpipe(3,"i18n"),s.ɵɵtext(4,"\n "),s.ɵɵelementStart(5,"span",21),s.ɵɵtext(6),s.ɵɵpipe(7,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(8,"\n "),s.ɵɵelementEnd()),2&e&&(s.ɵɵadvance(2),s.ɵɵpropertyInterpolate("title",s.ɵɵpipeBind1(3,2,"loading")),s.ɵɵadvance(4),s.ɵɵtextInterpolate(s.ɵɵpipeBind1(7,4,"loading")))}function w(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"a",32),s.ɵɵlistener("click",function(){s.ɵɵrestoreView(n);var e=s.ɵɵnextContext().$implicit;return s.ɵɵnextContext(4).editFolder(e.node)}),s.ɵɵpipe(1,"i18n"),s.ɵɵtext(2,"\n "),s.ɵɵelement(3,"i",33),s.ɵɵtext(4,"\n "),s.ɵɵelementEnd()}2&e&&s.ɵɵpropertyInterpolate("appA11yTitle",s.ɵɵpipeBind1(1,1,"editFolder"))}function C(e,t){1&e&&(s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵelementContainerEnd())}var I=function(e){return{$implicit:e}};function E(e,t){if(1&e&&(s.ɵɵelementStart(0,"ul",25),s.ɵɵtext(1,"\n "),s.ɵɵtemplate(2,C,2,0,"ng-container",27),s.ɵɵtext(3,"\n "),s.ɵɵelementEnd()),2&e){var n=s.ɵɵnextContext().$implicit;s.ɵɵnextContext(2);var r=s.ɵɵreference(15);s.ɵɵadvance(2),s.ɵɵproperty("ngTemplateOutlet",r)("ngTemplateOutletContext",s.ɵɵpureFunction1(2,I,n.children))}}var P=function(e,t){return{"fa-caret-right":e,"fa-caret-down":t}};function k(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"li",7),s.ɵɵtext(1,"\n "),s.ɵɵelementStart(2,"div",22),s.ɵɵtext(3,"\n "),s.ɵɵelementStart(4,"i",29),s.ɵɵlistener("click",function(){s.ɵɵrestoreView(n);var e=t.$implicit;return s.ɵɵnextContext(4).collapse(e.node)}),s.ɵɵpipe(5,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(6,"\n "),s.ɵɵelementStart(7,"a",8),s.ɵɵlistener("click",function(){s.ɵɵrestoreView(n);var e=t.$implicit;return s.ɵɵnextContext(4).selectFolder(e.node)}),s.ɵɵtext(8),s.ɵɵelementEnd(),s.ɵɵtext(9,"\n "),s.ɵɵtemplate(10,w,5,3,"a",30),s.ɵɵtext(11,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(12,"\n "),s.ɵɵtemplate(13,E,4,4,"ul",31),s.ɵɵtext(14,"\n "),s.ɵɵelementEnd()}if(2&e){var r=t.$implicit,i=s.ɵɵnextContext(4);s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(8,g,i.selectedFolder&&r.node.id===i.selectedFolderId)),s.ɵɵadvance(4),s.ɵɵpropertyInterpolate("title",s.ɵɵpipeBind1(5,6,"toggleCollapse")),s.ɵɵproperty("ngClass",s.ɵɵpureFunction2(10,P,i.isCollapsed(r.node),!i.isCollapsed(r.node))),s.ɵɵadvance(4),s.ɵɵtextInterpolate(r.node.name),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",r.node.id),s.ɵɵadvance(3),s.ɵɵproperty("ngIf",r.children.length&&!i.isCollapsed(r.node))}}function _(e,t){if(1&e&&(s.ɵɵtext(0,"\n "),s.ɵɵtemplate(1,k,15,13,"li",28),s.ɵɵtext(2,"\n ")),2&e){var n=t.$implicit;s.ɵɵadvance(1),s.ɵɵproperty("ngForOf",n)}}function A(e,t){1&e&&(s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵelementContainerEnd())}function O(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵelementStart(2,"h3",22),s.ɵɵtext(3),s.ɵɵpipe(4,"i18n"),s.ɵɵelementStart(5,"a",23),s.ɵɵlistener("click",function(){return s.ɵɵrestoreView(n),s.ɵɵnextContext(2).addFolder()}),s.ɵɵpipe(6,"i18n"),s.ɵɵtext(7,"\n "),s.ɵɵelement(8,"i",24),s.ɵɵtext(9,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(10,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(11,"\n "),s.ɵɵelementStart(12,"ul",25),s.ɵɵtext(13,"\n "),s.ɵɵtemplate(14,_,3,1,"ng-template",null,26,s.ɵɵtemplateRefExtractor),s.ɵɵtext(16,"\n "),s.ɵɵtemplate(17,A,2,0,"ng-container",27),s.ɵɵtext(18,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(19,"\n "),s.ɵɵelementContainerEnd()}if(2&e){var r=s.ɵɵreference(15),i=s.ɵɵnextContext(2);s.ɵɵadvance(3),s.ɵɵtextInterpolate1("\n ",s.ɵɵpipeBind1(4,4,"folders"),"\n "),s.ɵɵadvance(2),s.ɵɵpropertyInterpolate("appA11yTitle",s.ɵɵpipeBind1(6,6,"addFolder")),s.ɵɵadvance(12),s.ɵɵproperty("ngTemplateOutlet",r)("ngTemplateOutletContext",s.ɵɵpureFunction1(8,I,i.nestedFolders))}}function T(e,t){1&e&&(s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵelementContainerEnd())}function M(e,t){if(1&e&&(s.ɵɵelementStart(0,"ul",25),s.ɵɵtext(1,"\n "),s.ɵɵtemplate(2,T,2,0,"ng-container",27),s.ɵɵtext(3,"\n "),s.ɵɵelementEnd()),2&e){var n=s.ɵɵnextContext().$implicit;s.ɵɵnextContext(2);var r=s.ɵɵreference(9);s.ɵɵadvance(2),s.ɵɵproperty("ngTemplateOutlet",r)("ngTemplateOutletContext",s.ɵɵpureFunction1(2,I,n.children))}}function B(e,t){if(1&e){var n=s.ɵɵgetCurrentView();s.ɵɵelementStart(0,"li",7),s.ɵɵtext(1,"\n "),s.ɵɵelementStart(2,"i",29),s.ɵɵlistener("click",function(){s.ɵɵrestoreView(n);var e=t.$implicit;return s.ɵɵnextContext(4).collapse(e.node)}),s.ɵɵpipe(3,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(4,"\n "),s.ɵɵelementStart(5,"a",8),s.ɵɵlistener("click",function(){s.ɵɵrestoreView(n);var e=t.$implicit;return s.ɵɵnextContext(4).selectCollection(e.node)}),s.ɵɵtext(6),s.ɵɵelementEnd(),s.ɵɵtext(7,"\n "),s.ɵɵtemplate(8,M,4,4,"ul",31),s.ɵɵtext(9,"\n "),s.ɵɵelementEnd()}if(2&e){var r=t.$implicit,i=s.ɵɵnextContext(4);s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(7,g,r.node.id===i.selectedCollectionId)),s.ɵɵadvance(2),s.ɵɵpropertyInterpolate("title",s.ɵɵpipeBind1(3,5,"toggleCollapse")),s.ɵɵproperty("ngClass",s.ɵɵpureFunction2(9,P,i.isCollapsed(r.node),!i.isCollapsed(r.node))),s.ɵɵadvance(4),s.ɵɵtextInterpolate(r.node.name),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",r.children.length&&!i.isCollapsed(r.node))}}function D(e,t){if(1&e&&(s.ɵɵtext(0,"\n "),s.ɵɵtemplate(1,B,10,12,"li",28),s.ɵɵtext(2,"\n ")),2&e){var n=t.$implicit;s.ɵɵadvance(1),s.ɵɵproperty("ngForOf",n)}}function j(e,t){1&e&&(s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵelementContainerEnd())}function V(e,t){if(1&e&&(s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵelementStart(2,"h3"),s.ɵɵtext(3),s.ɵɵpipe(4,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(5,"\n "),s.ɵɵelementStart(6,"ul",25),s.ɵɵtext(7,"\n "),s.ɵɵtemplate(8,D,3,1,"ng-template",null,34,s.ɵɵtemplateRefExtractor),s.ɵɵtext(10,"\n "),s.ɵɵtemplate(11,j,2,0,"ng-container",27),s.ɵɵtext(12,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(13,"\n "),s.ɵɵelementContainerEnd()),2&e){var n=s.ɵɵreference(9),r=s.ɵɵnextContext(2);s.ɵɵadvance(3),s.ɵɵtextInterpolate(s.ɵɵpipeBind1(4,3,"collections")),s.ɵɵadvance(8),s.ɵɵproperty("ngTemplateOutlet",n)("ngTemplateOutletContext",s.ɵɵpureFunction1(5,I,r.nestedCollections))}}function R(e,t){if(1&e&&(s.ɵɵelementContainerStart(0),s.ɵɵtext(1,"\n "),s.ɵɵtemplate(2,O,20,10,"ng-container",16),s.ɵɵtext(3,"\n "),s.ɵɵtemplate(4,V,14,7,"ng-container",16),s.ɵɵtext(5,"\n "),s.ɵɵelementContainerEnd()),2&e){var n=s.ɵɵnextContext();s.ɵɵadvance(2),s.ɵɵproperty("ngIf",n.showFolders),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",n.showCollections&&n.collections&&n.collections.length)}}var U=function(e){function t(t,n,r,i){var a=e.call(this,t,n,r,i)||this;return a.onSearchTextChanged=new o.EventEmitter,a.searchText="",a.searchPlaceholder=null,a}return i(t,e),t.prototype.searchTextChanged=function(){this.onSearchTextChanged.emit(this.searchText)},t.ɵfac=function(e){return new(e||t)(s.ɵɵdirectiveInject(l.CollectionService),s.ɵɵdirectiveInject(c.FolderService),s.ɵɵdirectiveInject(p.StorageService),s.ɵɵdirectiveInject(u.UserService))},t.ɵcmp=s.ɵɵdefineComponent({type:t,selectors:[["app-vault-groupings"]],outputs:{onSearchTextChanged:"onSearchTextChanged"},features:[s.ɵɵInheritDefinitionFeature],decls:82,vars:47,consts:[[1,"card","vault-filters"],[1,"card-header","d-flex"],["href","https://help.bitwarden.com/article/searching-vault/","target","_blank","rel","noopener",1,"ml-auto",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],[1,"card-body"],["type","search","id","search","autocomplete","off","appAutofocus","",1,"form-control",3,"placeholder","ngModel","ngModelChange","input"],[1,"fa-ul","card-ul"],[3,"ngClass"],["href","#","appStopClick","",3,"click"],[1,"fa-li","fa","fa-fw","fa-th"],[3,"ngClass",4,"ngIf"],[1,"fa-li","fa","fa-fw","fa-globe"],[1,"fa-li","fa","fa-fw","fa-credit-card"],[1,"fa-li","fa","fa-fw","fa-id-card-o"],[1,"fa-li","fa","fa-fw","fa-sticky-note-o"],["class","text-muted",4,"ngIf"],[4,"ngIf"],[1,"fa-li","fa","fa-fw","fa-star"],[1,"fa-li","fa","fa-fw","fa-trash-o"],[1,"text-muted"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],[1,"sr-only"],[1,"d-flex"],["href","#","appStopClick","",1,"text-muted","ml-auto",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"],[1,"fa-ul","card-ul","carets"],["recursiveFolders",""],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"ngClass",4,"ngFor","ngForOf"],[1,"fa-li","fa",3,"title","ngClass","click"],["href","#","class","text-muted ml-auto show-active","appStopClick","",3,"appA11yTitle","click",4,"ngIf"],["class","fa-ul card-ul carets",4,"ngIf"],["href","#","appStopClick","",1,"text-muted","ml-auto","show-active",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-pencil","fa-fw"],["recursiveCollections",""]],template:function(e,t){1&e&&(s.ɵɵelementStart(0,"div",0),s.ɵɵtext(1,"\n "),s.ɵɵelementStart(2,"div",1),s.ɵɵtext(3),s.ɵɵpipe(4,"i18n"),s.ɵɵelementStart(5,"a",2),s.ɵɵpipe(6,"i18n"),s.ɵɵtext(7,"\n "),s.ɵɵelement(8,"i",3),s.ɵɵtext(9,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(10,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(11,"\n "),s.ɵɵelementStart(12,"div",4),s.ɵɵtext(13,"\n "),s.ɵɵelementStart(14,"input",5),s.ɵɵlistener("ngModelChange",function(e){return t.searchText=e})("input",function(){return t.searchTextChanged()}),s.ɵɵpipe(15,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(16,"\n "),s.ɵɵelementStart(17,"ul",6),s.ɵɵtext(18,"\n "),s.ɵɵelementStart(19,"li",7),s.ɵɵtext(20,"\n "),s.ɵɵelementStart(21,"a",8),s.ɵɵlistener("click",function(){return t.selectAll()}),s.ɵɵtext(22,"\n "),s.ɵɵelement(23,"i",9),s.ɵɵtext(24),s.ɵɵpipe(25,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(26,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(27,"\n "),s.ɵɵtemplate(28,x,8,6,"li",10),s.ɵɵtext(29,"\n "),s.ɵɵtemplate(30,b,8,6,"li",10),s.ɵɵtext(31,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(32,"\n "),s.ɵɵelementStart(33,"h3"),s.ɵɵtext(34),s.ɵɵpipe(35,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(36,"\n "),s.ɵɵelementStart(37,"ul",6),s.ɵɵtext(38,"\n "),s.ɵɵelementStart(39,"li",7),s.ɵɵtext(40,"\n "),s.ɵɵelementStart(41,"a",8),s.ɵɵlistener("click",function(){return t.selectType(t.cipherType.Login)}),s.ɵɵtext(42,"\n "),s.ɵɵelement(43,"i",11),s.ɵɵtext(44),s.ɵɵpipe(45,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(46,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(47,"\n "),s.ɵɵelementStart(48,"li",7),s.ɵɵtext(49,"\n "),s.ɵɵelementStart(50,"a",8),s.ɵɵlistener("click",function(){return t.selectType(t.cipherType.Card)}),s.ɵɵtext(51,"\n "),s.ɵɵelement(52,"i",12),s.ɵɵtext(53),s.ɵɵpipe(54,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(55,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(56,"\n "),s.ɵɵelementStart(57,"li",7),s.ɵɵtext(58,"\n "),s.ɵɵelementStart(59,"a",8),s.ɵɵlistener("click",function(){return t.selectType(t.cipherType.Identity)}),s.ɵɵtext(60,"\n "),s.ɵɵelement(61,"i",13),s.ɵɵtext(62),s.ɵɵpipe(63,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(64,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(65,"\n "),s.ɵɵelementStart(66,"li",7),s.ɵɵtext(67,"\n "),s.ɵɵelementStart(68,"a",8),s.ɵɵlistener("click",function(){return t.selectType(t.cipherType.SecureNote)}),s.ɵɵtext(69,"\n "),s.ɵɵelement(70,"i",14),s.ɵɵtext(71),s.ɵɵpipe(72,"i18n"),s.ɵɵelementEnd(),s.ɵɵtext(73,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(74,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(75,"\n "),s.ɵɵtemplate(76,S,9,6,"p",15),s.ɵɵtext(77,"\n "),s.ɵɵtemplate(78,R,6,2,"ng-container",16),s.ɵɵtext(79,"\n "),s.ɵɵelementEnd(),s.ɵɵtext(80,"\n"),s.ɵɵelementEnd(),s.ɵɵtext(81,"\n")),2&e&&(s.ɵɵadvance(3),s.ɵɵtextInterpolate1("\n ",s.ɵɵpipeBind1(4,19,"filters"),"\n "),s.ɵɵadvance(2),s.ɵɵpropertyInterpolate("appA11yTitle",s.ɵɵpipeBind1(6,21,"learnMore")),s.ɵɵadvance(9),s.ɵɵpropertyInterpolate("placeholder",t.searchPlaceholder||s.ɵɵpipeBind1(15,23,"searchVault")),s.ɵɵproperty("ngModel",t.searchText),s.ɵɵadvance(5),s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(37,g,t.selectedAll)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(25,25,"allItems"),"\n "),s.ɵɵadvance(4),s.ɵɵproperty("ngIf",t.showFavorites),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",t.showTrash),s.ɵɵadvance(4),s.ɵɵtextInterpolate(s.ɵɵpipeBind1(35,27,"types")),s.ɵɵadvance(5),s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(39,g,t.selectedType===t.cipherType.Login)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(45,29,"typeLogin"),"\n "),s.ɵɵadvance(4),s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(41,g,t.selectedType===t.cipherType.Card)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(54,31,"typeCard"),"\n "),s.ɵɵadvance(4),s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(43,g,t.selectedType===t.cipherType.Identity)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(63,33,"typeIdentity"),"\n "),s.ɵɵadvance(4),s.ɵɵproperty("ngClass",s.ɵɵpureFunction1(45,g,t.selectedType===t.cipherType.SecureNote)),s.ɵɵadvance(5),s.ɵɵtextInterpolate1("",s.ɵɵpipeBind1(72,35,"typeSecureNote"),"\n "),s.ɵɵadvance(5),s.ɵɵproperty("ngIf",!t.loaded),s.ɵɵadvance(2),s.ɵɵproperty("ngIf",t.loaded))},directives:[d.A11yTitleDirective,h.DefaultValueAccessor,f.AutofocusDirective,h.NgControlStatus,h.NgModel,m.NgClass,v.StopClickDirective,m.NgIf,m.NgTemplateOutlet,m.NgForOf],pipes:[y.I18nPipe],encapsulation:2}),t}(a.GroupingsComponent);t.GroupingsComponent=U},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(245),i=n(246),o=function(){function e(e){null!=e&&(this.id=e.id,this.name=e.name,this.status=e.status,this.type=e.type,this.enabled=e.enabled,this.usePolicies=e.usePolicies,this.useGroups=e.useGroups,this.useDirectory=e.useDirectory,this.useEvents=e.useEvents,this.useTotp=e.useTotp,this.use2fa=e.use2fa,this.useApi=e.useApi,this.useBusinessPortal=e.useBusinessPortal,this.useSso=e.useSso,this.selfHost=e.selfHost,this.usersGetPremium=e.usersGetPremium,this.seats=e.seats,this.maxCollections=e.maxCollections,this.maxStorageGb=e.maxStorageGb,this.ssoBound=e.ssoBound,this.identifier=e.identifier)}return Object.defineProperty(e.prototype,"canAccess",{get:function(){return this.type===i.OrganizationUserType.Owner||this.enabled&&this.status===r.OrganizationUserStatusType.Confirmed},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isManager",{get:function(){return this.type===i.OrganizationUserType.Manager||this.type===i.OrganizationUserType.Owner||this.type===i.OrganizationUserType.Admin},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isAdmin",{get:function(){return this.type===i.OrganizationUserType.Owner||this.type===i.OrganizationUserType.Admin},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isOwner",{get:function(){return this.type===i.OrganizationUserType.Owner},enumerable:!0,configurable:!0}),e}();t.Organization=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.id=null,this.url=null,this.size=null,this.sizeName=null,this.fileName=null,e&&(this.id=e.id,this.url=e.url,this.size=e.size,this.sizeName=e.sizeName)}return Object.defineProperty(e.prototype,"fileSize",{get:function(){try{if(null!=this.size)return parseInt(this.size,null)}catch(e){}return 0},enumerable:!0,configurable:!0}),e}();t.SendFileView=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.text=null,e&&(this.hidden=e.hidden)}return Object.defineProperty(e.prototype,"maskedText",{get:function(){return null!=this.text?"••••••••":null},enumerable:!0,configurable:!0}),e}();t.SendTextView=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1&&this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),n,{timeout:5e3*n.length}),n},e.ɵfac=function(t){return new(t||e)(r.ɵɵinject(i.I18nService),r.ɵɵinject(o.PlatformUtilsService))},e.ɵprov=r.ɵɵdefineInjectable({token:e,factory:e.ɵfac}),e}();t.ValidationService=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.AesCbc256_B64=0]="AesCbc256_B64",e[e.AesCbc128_HmacSha256_B64=1]="AesCbc128_HmacSha256_B64",e[e.AesCbc256_HmacSha256_B64=2]="AesCbc256_HmacSha256_B64",e[e.Rsa2048_OaepSha256_B64=3]="Rsa2048_OaepSha256_B64",e[e.Rsa2048_OaepSha1_B64=4]="Rsa2048_OaepSha1_B64",e[e.Rsa2048_OaepSha256_HmacSha256_B64=5]="Rsa2048_OaepSha256_HmacSha256_B64",e[e.Rsa2048_OaepSha1_HmacSha256_B64=6]="Rsa2048_OaepSha1_HmacSha256_B64"}(t.EncryptionType||(t.EncryptionType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.publicKey=e,this.encryptedPrivateKey=t}}();t.KeysRequest=r},,function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&t.forEach(function(t){var n=e.data.filter(function(e){return e.id===t});null!=n&&n.length>0&&(n[0].checked=!0)}),[3,5];case 3:return"collection"!==this.entity?[3,5]:[4,this.apiService.getCollectionUsers(this.organizationId,this.entityId)];case 4:null!=(t=r.sent())&&e.data.length>0&&t.forEach(function(t){var n=e.data.filter(function(e){return!e.accessAll&&e.id===t.id});null!=n&&n.length>0&&(n[0].checked=!0,n[0].readOnly=t.readOnly,n[0].hidePasswords=t.hidePasswords)}),r.label=5;case 5:return this.allUsers.forEach(function(e){"collection"===n.entity&&e.accessAll&&(e.checked=!0),e.checked&&n.selectedCount++}),[2]}})})},e.prototype.check=function(e){"collection"===this.entity&&e.accessAll||(e.checked=!e.checked,this.selectedChanged(e))},e.prototype.selectedChanged=function(e){e.checked?this.selectedCount++:("collection"===this.entity&&(e.readOnly=!1,e.hidePasswords=!1),this.selectedCount--)},e.prototype.filterSelected=function(e){this.showSelected=e},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),"group"===this.entity?(e=this.users.filter(function(e){return e.checked}).map(function(e){return e.id}),this.formPromise=this.apiService.putGroupUsers(this.organizationId,this.entityId,e)):(e=this.users.filter(function(e){return e.checked&&!e.accessAll}).map(function(e){return new l.SelectionReadOnlyRequest(e.id,!!e.readOnly,!!e.hidePasswords)}),this.formPromise=this.apiService.putCollectionUsers(this.organizationId,this.entityId,e)),[4,this.formPromise];case 1:return t.sent(),this.analytics.eventTrack.next({action:"group"===this.entity?"Edited Group Users":"Edited Collection Users"}),this.toasterService.popAsync("success",null,this.i18nService.t("updatedUsers")),this.onEditedUsers.emit(),[3,3];case 2:return t.sent(),[3,3];case 3:return[2]}})})},e.ɵfac=function(t){return new(t||e)(p.ɵɵdirectiveInject(u.ApiService),p.ɵɵdirectiveInject(d.I18nService),p.ɵɵdirectiveInject(h.Angulartics2),p.ɵɵdirectiveInject(f.ToasterService))},e.ɵcmp=p.ɵɵdefineComponent({type:e,selectors:[["app-entity-users"]],inputs:{entity:"entity",entityId:"entityId",entityName:"entityName",organizationId:"organizationId"},outputs:{onEditedUsers:"onEditedUsers"},decls:49,vars:29,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","userAccessTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],["ngNativeValidate","",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","userAccessTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"modal-body"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"d-flex"],[1,"mr-3"],["for","search",1,"sr-only"],["type","search","id","search","name","SearchText",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],["role","group",1,"btn-group","btn-group-sm"],["type","button",1,"btn","btn-outline-secondary",3,"ngClass","click"],["class","badge badge-pill badge-info",4,"ngIf"],[4,"ngIf"],[1,"badge","badge-pill","badge-info"],[1,"table","table-hover","table-list","mb-0"],["width","100","class","text-center",4,"ngIf"],[4,"ngFor","ngForOf"],["width","100",1,"text-center"],[1,"table-list-checkbox",3,"click"],["type","checkbox","appStopProp","",3,"ngModel","name","disabled","ngModelChange","change"],["width","30",3,"click"],["size","25",3,"data","email","circle","fontSize"],["class","badge badge-secondary",4,"ngIf"],["class","badge badge-warning",4,"ngIf"],["class","text-muted d-block",4,"ngIf"],["class","text-center",4,"ngIf"],[1,"badge","badge-secondary"],[1,"badge","badge-warning"],[1,"text-muted","d-block"],["aria-hidden","true",1,"fa","fa-th",3,"title"],[1,"text-center"],["type","checkbox",3,"ngModel","name","disabled","ngModelChange"]],template:function(e,t){if(1&e&&(p.ɵɵelementStart(0,"div",0),p.ɵɵtext(1,"\n "),p.ɵɵelementStart(2,"div",1),p.ɵɵtext(3,"\n "),p.ɵɵelementStart(4,"form",2,3),p.ɵɵlistener("ngSubmit",function(){return t.submit()}),p.ɵɵtext(6,"\n "),p.ɵɵelementStart(7,"div",4),p.ɵɵtext(8,"\n "),p.ɵɵelementStart(9,"h2",5),p.ɵɵtext(10),p.ɵɵpipe(11,"i18n"),p.ɵɵelementStart(12,"small"),p.ɵɵtext(13),p.ɵɵelementEnd(),p.ɵɵtext(14,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(15,"\n "),p.ɵɵelementStart(16,"button",6),p.ɵɵpipe(17,"i18n"),p.ɵɵtext(18,"\n "),p.ɵɵelementStart(19,"span",7),p.ɵɵtext(20,"×"),p.ɵɵelementEnd(),p.ɵɵtext(21,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(22,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(23,"\n "),p.ɵɵtemplate(24,C,9,6,"div",8),p.ɵɵtext(25,"\n "),p.ɵɵtemplate(26,G,32,22,"div",8),p.ɵɵpipe(27,"search"),p.ɵɵtext(28,"\n "),p.ɵɵelementStart(29,"div",9),p.ɵɵtext(30,"\n "),p.ɵɵelementStart(31,"button",10),p.ɵɵtext(32,"\n "),p.ɵɵelement(33,"i",11),p.ɵɵpipe(34,"i18n"),p.ɵɵtext(35,"\n "),p.ɵɵelementStart(36,"span"),p.ɵɵtext(37),p.ɵɵpipe(38,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(39,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(40,"\n "),p.ɵɵelementStart(41,"button",12),p.ɵɵtext(42),p.ɵɵpipe(43,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(44,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(45,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(46,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(47,"\n"),p.ɵɵelementEnd(),p.ɵɵtext(48,"\n")),2&e){var n=p.ɵɵreference(5);p.ɵɵadvance(4),p.ɵɵproperty("appApiAction",t.formPromise),p.ɵɵadvance(6),p.ɵɵtextInterpolate1("\n ",p.ɵɵpipeBind1(11,10,"userAccess"),"\n "),p.ɵɵadvance(3),p.ɵɵtextInterpolate(t.entityName),p.ɵɵadvance(3),p.ɵɵpropertyInterpolate("appA11yTitle",p.ɵɵpipeBind1(17,12,"close")),p.ɵɵadvance(8),p.ɵɵproperty("ngIf",t.loading||!t.users),p.ɵɵadvance(2),p.ɵɵproperty("ngIf",!t.loading&&t.users&&p.ɵɵpipeBindV(27,14,p.ɵɵpureFunction2(26,K,t.users,t.searchText))),p.ɵɵadvance(5),p.ɵɵproperty("disabled",n.loading),p.ɵɵadvance(2),p.ɵɵpropertyInterpolate("title",p.ɵɵpipeBind1(34,20,"loading")),p.ɵɵadvance(4),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(38,22,"save")),p.ɵɵadvance(5),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(43,24,"close"))}},directives:[m.NgControlStatusGroup,m.NgForm,v.ApiActionDirective,y.A11yTitleDirective,g.NgIf,m.DefaultValueAccessor,m.NgControlStatus,m.NgModel,g.NgClass,g.NgForOf,m.CheckboxControlValueAccessor,x.StopPropDirective,b.AvatarComponent],pipes:[S.I18nPipe,w.SearchPipe],encapsulation:2}),e}();t.EntityUsersComponent=q},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?this.events=this.events.concat(o):this.events=o,this.loading=!1,this.morePromise=null,this.refreshPromise=null,[2]}})})},e.ɵfac=function(t){return new(t||e)(o.ɵɵdirectiveInject(a.ApiService),o.ɵɵdirectiveInject(s.I18nService),o.ɵɵdirectiveInject(l.EventService),o.ɵɵdirectiveInject(c.ToasterService))},e.ɵcmp=o.ɵɵdefineComponent({type:e,selectors:[["app-entity-events"]],inputs:{name:"name",entity:"entity",entityId:"entityId",organizationId:"organizationId",showUser:"showUser"},decls:36,vars:12,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","eventLogsTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],[1,"modal-content"],[1,"modal-header"],["id","eventLogsTitle",1,"modal-title"],["class","text-muted",4,"ngIf"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"text-muted"],[1,"modal-body"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"d-flex"],[1,"form-inline"],["for","start",1,"sr-only"],["type","datetime-local","id","start","placeholder","YYYY-MM-DDTHH:MM",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],[1,"mx-2"],["for","end",1,"sr-only"],["type","datetime-local","id","end","placeholder","YYYY-MM-DDTHH:MM",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],["type","button",1,"btn","btn-sm","btn-outline-primary","ml-3",3,"appApiAction","disabled","click"],["refreshBtn",""],["aria-hidden","true",1,"fa","fa-refresh","fa-fw",3,"ngClass"],[4,"ngIf"],["class","table table-hover mb-0",4,"ngIf"],["type","button","class","btn btn-block btn-link btn-submit",3,"appApiAction","disabled","click",4,"ngIf"],[1,"table","table-hover","mb-0"],["width","210",1,"border-top-0"],["width","40",1,"border-top-0"],["class","border-top-0","width","150",4,"ngIf"],[1,"border-top-0"],[4,"ngFor","ngForOf"],["width","150",1,"border-top-0"],["aria-hidden","true",3,"title"],[3,"innerHTML"],[3,"appA11yTitle"],["type","button",1,"btn","btn-block","btn-link","btn-submit",3,"appApiAction","disabled","click"],["moreBtn",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"]],template:function(e,t){1&e&&(o.ɵɵelementStart(0,"div",0),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"div",1),o.ɵɵtext(3,"\n "),o.ɵɵelementStart(4,"div",2),o.ɵɵtext(5,"\n "),o.ɵɵelementStart(6,"div",3),o.ɵɵtext(7,"\n "),o.ɵɵelementStart(8,"h2",4),o.ɵɵtext(9),o.ɵɵpipe(10,"i18n"),o.ɵɵtemplate(11,m,2,1,"small",5),o.ɵɵtext(12,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(13,"\n "),o.ɵɵelementStart(14,"button",6),o.ɵɵpipe(15,"i18n"),o.ɵɵtext(16,"\n "),o.ɵɵelementStart(17,"span",7),o.ɵɵtext(18,"×"),o.ɵɵelementEnd(),o.ɵɵtext(19,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(20,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(21,"\n "),o.ɵɵtemplate(22,v,9,6,"div",8),o.ɵɵtext(23,"\n "),o.ɵɵtemplate(24,I,40,25,"div",8),o.ɵɵtext(25,"\n "),o.ɵɵelementStart(26,"div",9),o.ɵɵtext(27,"\n "),o.ɵɵelementStart(28,"button",10),o.ɵɵtext(29),o.ɵɵpipe(30,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(31,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(32,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(33,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(34,"\n"),o.ɵɵelementEnd(),o.ɵɵtext(35,"\n")),2&e&&(o.ɵɵadvance(9),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(10,6,"eventLogs"),"\n "),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",t.name),o.ɵɵadvance(3),o.ɵɵpropertyInterpolate("appA11yTitle",o.ɵɵpipeBind1(15,8,"close")),o.ɵɵadvance(8),o.ɵɵproperty("ngIf",!t.loaded),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",t.loaded),o.ɵɵadvance(5),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(30,10,"close")))},directives:[p.NgIf,u.A11yTitleDirective,d.DefaultValueAccessor,d.NgControlStatus,d.NgModel,h.ApiActionDirective,p.NgClass,p.NgForOf],pipes:[f.I18nPipe,p.DatePipe],encapsulation:2}),e}();t.EntityEventsComponent=E},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)return void(this.creditAmount=parseFloat((Math.round(100*e)/100).toString()).toFixed(2).toString())}}catch(t){}this.creditAmount=""},Object.defineProperty(e.prototype,"creditAmountNumber",{get:function(){if(null!=this.creditAmount&&""!==this.creditAmount)try{return parseFloat(this.creditAmount)}catch(e){}return null},enumerable:!0,configurable:!0}),e.ɵfac=function(t){return new(t||e)(c.ɵɵdirectiveInject(p.UserService),c.ɵɵdirectiveInject(u.ApiService),c.ɵɵdirectiveInject(d.Angulartics2),c.ɵɵdirectiveInject(h.ToasterService),c.ɵɵdirectiveInject(f.PlatformUtilsService))},e.ɵcmp=c.ɵɵdefineComponent({type:e,selectors:[["app-add-credit"]],viewQuery:function(e,t){var n;(1&e&&c.ɵɵstaticViewQuery(b,!0,o.ElementRef),2&e)&&(c.ɵɵqueryRefresh(n=c.ɵɵloadQuery())&&(t.ppButtonFormRef=n.first))},inputs:{creditAmount:"creditAmount",showOptions:"showOptions",method:"method",organizationId:"organizationId"},outputs:{onAdded:"onAdded",onCanceled:"onCanceled"},decls:92,vars:32,consts:[["ngNativeValidate","",1,"card",3,"appApiAction","ngSubmit"],["form",""],[1,"card-body"],["type","button",1,"close",3,"appA11yTitle","click"],["aria-hidden","true"],[1,"card-body-header"],["class","mb-4 text-lg",4,"ngIf"],[1,"form-group"],[1,"row"],[1,"col-4"],["for","creditAmount"],[1,"input-group"],[1,"input-group-prepend"],[1,"input-group-text"],["id","creditAmount","type","text","name","CreditAmount","required","",1,"form-control",3,"ngModel","ngModelChange","blur"],[1,"form-text","text-muted"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button",1,"btn","btn-outline-secondary",3,"click"],["method","post","target","_top",3,"action"],["ppButtonForm",""],["type","hidden","name","cmd","value","_xclick"],["type","hidden","name","business",3,"value"],["type","hidden","name","button_subtype","value","services"],["type","hidden","name","no_note","value","1"],["type","hidden","name","no_shipping","value","1"],["type","hidden","name","rm","value","1"],["type","hidden","name","return",3,"value"],["type","hidden","name","cancel_return",3,"value"],["type","hidden","name","currency_code","value","USD"],["type","hidden","name","image_url","value","https://bitwarden.com/images/paypal-banner.png"],["type","hidden","name","bn","value","PP-BuyNowBF:btn_buynow_LG.gif:NonHosted"],["type","hidden","name","amount",3,"value"],["type","hidden","name","custom",3,"value"],["type","hidden","name","item_name","value","Bitwarden Account Credit"],["type","hidden","name","item_number",3,"value"],[1,"mb-4","text-lg"],[1,"form-check","form-check-inline"],["type","radio","name","Method","id","credit-method-paypal",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","credit-method-paypal",1,"form-check-label"],["aria-hidden","true",1,"fa","fa-fw","fa-paypal"],["type","radio","name","Method","id","credit-method-bitcoin",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","credit-method-bitcoin",1,"form-check-label"],["aria-hidden","true",1,"fa","fa-fw","fa-bitcoin"]],template:function(e,t){if(1&e&&(c.ɵɵelementStart(0,"form",0,1),c.ɵɵlistener("ngSubmit",function(){return t.submit()}),c.ɵɵtext(2,"\n "),c.ɵɵelementStart(3,"div",2),c.ɵɵtext(4,"\n "),c.ɵɵelementStart(5,"button",3),c.ɵɵlistener("click",function(){return t.cancel()}),c.ɵɵpipe(6,"i18n"),c.ɵɵelementStart(7,"span",4),c.ɵɵtext(8,"×"),c.ɵɵelementEnd(),c.ɵɵelementEnd(),c.ɵɵtext(9,"\n "),c.ɵɵelementStart(10,"h3",5),c.ɵɵtext(11),c.ɵɵpipe(12,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(13,"\n "),c.ɵɵtemplate(14,S,22,4,"div",6),c.ɵɵtext(15,"\n "),c.ɵɵelementStart(16,"div",7),c.ɵɵtext(17,"\n "),c.ɵɵelementStart(18,"div",8),c.ɵɵtext(19,"\n "),c.ɵɵelementStart(20,"div",9),c.ɵɵtext(21,"\n "),c.ɵɵelementStart(22,"label",10),c.ɵɵtext(23),c.ɵɵpipe(24,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(25,"\n "),c.ɵɵelementStart(26,"div",11),c.ɵɵtext(27,"\n "),c.ɵɵelementStart(28,"div",12),c.ɵɵelementStart(29,"span",13),c.ɵɵtext(30,"$USD"),c.ɵɵelementEnd(),c.ɵɵelementEnd(),c.ɵɵtext(31,"\n "),c.ɵɵelementStart(32,"input",14),c.ɵɵlistener("ngModelChange",function(e){return t.creditAmount=e})("blur",function(){return t.formatAmount()}),c.ɵɵelementEnd(),c.ɵɵtext(33,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(34,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(35,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(36,"\n "),c.ɵɵelementStart(37,"small",15),c.ɵɵtext(38),c.ɵɵpipe(39,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(40,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(41,"\n "),c.ɵɵelementStart(42,"button",16),c.ɵɵtext(43,"\n "),c.ɵɵelement(44,"i",17),c.ɵɵpipe(45,"i18n"),c.ɵɵtext(46,"\n "),c.ɵɵelementStart(47,"span"),c.ɵɵtext(48),c.ɵɵpipe(49,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(50,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(51,"\n "),c.ɵɵelementStart(52,"button",18),c.ɵɵlistener("click",function(){return t.cancel()}),c.ɵɵtext(53),c.ɵɵpipe(54,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(55,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(56,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(57,"\n"),c.ɵɵelementStart(58,"form",19,20),c.ɵɵtext(60,"\n "),c.ɵɵelement(61,"input",21),c.ɵɵtext(62,"\n "),c.ɵɵelement(63,"input",22),c.ɵɵtext(64,"\n "),c.ɵɵelement(65,"input",23),c.ɵɵtext(66,"\n "),c.ɵɵelement(67,"input",24),c.ɵɵtext(68,"\n "),c.ɵɵelement(69,"input",25),c.ɵɵtext(70,"\n "),c.ɵɵelement(71,"input",26),c.ɵɵtext(72,"\n "),c.ɵɵelement(73,"input",27),c.ɵɵtext(74,"\n "),c.ɵɵelement(75,"input",28),c.ɵɵtext(76,"\n "),c.ɵɵelement(77,"input",29),c.ɵɵtext(78,"\n "),c.ɵɵelement(79,"input",30),c.ɵɵtext(80,"\n "),c.ɵɵelement(81,"input",31),c.ɵɵtext(82,"\n "),c.ɵɵelement(83,"input",32),c.ɵɵtext(84,"\n "),c.ɵɵelement(85,"input",33),c.ɵɵtext(86,"\n "),c.ɵɵelement(87,"input",34),c.ɵɵtext(88,"\n "),c.ɵɵelement(89,"input",35),c.ɵɵtext(90,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(91,"\n")),2&e){var n=c.ɵɵreference(1);c.ɵɵproperty("appApiAction",t.formPromise),c.ɵɵadvance(5),c.ɵɵpropertyInterpolate("appA11yTitle",c.ɵɵpipeBind1(6,18,"cancel")),c.ɵɵadvance(6),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(12,20,"addCredit")),c.ɵɵadvance(3),c.ɵɵproperty("ngIf",t.showOptions),c.ɵɵadvance(9),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(24,22,"amount")),c.ɵɵadvance(9),c.ɵɵproperty("ngModel",t.creditAmount),c.ɵɵadvance(6),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(39,24,"creditDelayed")),c.ɵɵadvance(4),c.ɵɵproperty("disabled",n.loading||t.ppLoading),c.ɵɵadvance(2),c.ɵɵpropertyInterpolate("title",c.ɵɵpipeBind1(45,26,"loading")),c.ɵɵadvance(4),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(49,28,"submit")),c.ɵɵadvance(5),c.ɵɵtextInterpolate1("\n ",c.ɵɵpipeBind1(54,30,"cancel"),"\n "),c.ɵɵadvance(5),c.ɵɵpropertyInterpolate("action",t.ppButtonFormAction,c.ɵɵsanitizeUrl),c.ɵɵadvance(5),c.ɵɵpropertyInterpolate("value",t.ppButtonBusinessId),c.ɵɵadvance(10),c.ɵɵpropertyInterpolate("value",t.returnUrl),c.ɵɵadvance(2),c.ɵɵpropertyInterpolate("value",t.returnUrl),c.ɵɵadvance(8),c.ɵɵpropertyInterpolate("value",t.creditAmount),c.ɵɵadvance(2),c.ɵɵpropertyInterpolate("value",t.ppButtonCustomField),c.ɵɵadvance(4),c.ɵɵpropertyInterpolate("value",t.subject)}},directives:[m.NgControlStatusGroup,m.NgForm,v.ApiActionDirective,y.A11yTitleDirective,g.NgIf,m.DefaultValueAccessor,m.RequiredValidator,m.NgControlStatus,m.NgModel,m.ɵangular_packages_forms_forms_y,m.RadioControlValueAccessor],pipes:[x.I18nPipe],encapsulation:2}),e}();t.AddCreditComponent=w},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(t.push(e),r.exposedPasswordMap.set(e.id,n))});n.push(i)}}),[4,Promise.all(n)];case 2:return i.sent(),this.ciphers=t,[2]}})})},t.prototype.getAllCiphers=function(){return this.cipherService.getAllDecrypted()},t.ɵfac=function(e){return new(e||t)(c.ɵɵdirectiveInject(p.CipherService),c.ɵɵdirectiveInject(u.AuditService),c.ɵɵdirectiveInject(c.ComponentFactoryResolver),c.ɵɵdirectiveInject(d.MessagingService),c.ɵɵdirectiveInject(h.UserService))},t.ɵcmp=c.ɵɵdefineComponent({type:t,selectors:[["app-exposed-passwords-report"]],features:[c.ɵɵInheritDefinitionFeature],decls:26,vars:14,consts:[[1,"page-header"],["type","button",1,"btn","btn-primary","btn-submit",3,"disabled","click"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["class","mt-4",4,"ngIf"],["cipherAddEdit",""],[1,"mt-4"],["type","success",3,"title",4,"ngIf"],[4,"ngIf"],["type","success",3,"title"],["type","danger",3,"title"],[1,"table","table-hover","table-list","table-ciphers"],[4,"ngFor","ngForOf"],[1,"table-list-icon"],[3,"cipher"],[1,"reduced-lh","wrap"],["href","#","appStopClick","",3,"title","click"],[1,"text-right"],[1,"badge","badge-warning"],["appStopProp","","aria-hidden","true",1,"fa","fa-share-alt",3,"title"],[1,"sr-only"],["appStopProp","","aria-hidden","true",1,"fa","fa-paperclip",3,"title"]],template:function(e,t){1&e&&(c.ɵɵelementStart(0,"div",0),c.ɵɵtext(1,"\n "),c.ɵɵelementStart(2,"h1"),c.ɵɵtext(3),c.ɵɵpipe(4,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(5,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(6,"\n"),c.ɵɵelementStart(7,"p"),c.ɵɵtext(8),c.ɵɵpipe(9,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(10,"\n"),c.ɵɵelementStart(11,"button",1),c.ɵɵlistener("click",function(){return t.load()}),c.ɵɵtext(12,"\n "),c.ɵɵelement(13,"i",2),c.ɵɵpipe(14,"i18n"),c.ɵɵtext(15,"\n "),c.ɵɵelementStart(16,"span"),c.ɵɵtext(17),c.ɵɵpipe(18,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(19,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(20,"\n"),c.ɵɵtemplate(21,E,6,2,"div",3),c.ɵɵtext(22,"\n"),c.ɵɵtemplate(23,P,0,0,"ng-template",null,4,c.ɵɵtemplateRefExtractor),c.ɵɵtext(25,"\n")),2&e&&(c.ɵɵadvance(3),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(4,6,"exposedPasswordsReport")),c.ɵɵadvance(5),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(9,8,"exposedPasswordsReportDesc")),c.ɵɵadvance(3),c.ɵɵproperty("disabled",t.loading),c.ɵɵadvance(2),c.ɵɵpropertyInterpolate("title",c.ɵɵpipeBind1(14,10,"loading")),c.ɵɵadvance(4),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(18,12,"checkExposedPasswords")),c.ɵɵadvance(4),c.ɵɵproperty("ngIf",t.hasLoaded))},directives:[f.NgIf,m.CalloutComponent,f.NgForOf,v.IconComponent,y.StopClickDirective,g.StopPropDirective],pipes:[x.I18nPipe,f.DecimalPipe],encapsulation:2}),t}(l.CipherReportComponent);t.ExposedPasswordsReportComponent=k},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1&&(null!=this.organization?this.cloneMode&&this.organization.isAdmin:!this.editMode||this.cloneMode)},t.prototype.loadCollections=function(){return this.organization.isAdmin?Promise.resolve(this.collections):e.prototype.loadCollections.call(this)},t.prototype.loadCipher=function(){return o(this,void 0,void 0,function(){var t,n;return a(this,function(r){switch(r.label){case 0:return this.organization.isAdmin?[3,2]:[4,e.prototype.loadCipher.call(this)];case 1:return[2,r.sent()];case 2:return[4,this.apiService.getCipherAdmin(this.cipherId)];case 3:return t=r.sent(),n=new s.CipherData(t),this.originalCipher=new l.Cipher(n),[2,new l.Cipher(n)]}})})},t.prototype.encryptCipher=function(){return this.organization.isAdmin?this.cipherService.encrypt(this.cipher,null,this.originalCipher):e.prototype.encryptCipher.call(this)},t.prototype.saveCipher=function(t){return o(this,void 0,void 0,function(){var n;return a(this,function(r){return this.organization.isAdmin&&null!=t.organizationId?this.editMode&&!this.cloneMode?(n=new p.CipherRequest(t),[2,this.apiService.putCipherAdmin(this.cipherId,n)]):(n=new c.CipherCreateRequest(t),[2,this.apiService.postCipherAdmin(n)]):[2,e.prototype.saveCipher.call(this,t)]})})},t.prototype.deleteCipher=function(){return o(this,void 0,void 0,function(){return a(this,function(t){return this.organization.isAdmin?[2,this.cipher.isDeleted?this.apiService.deleteCipherAdmin(this.cipherId):this.apiService.putDeleteCipherAdmin(this.cipherId)]:[2,e.prototype.deleteCipher.call(this)]})})},t.ɵfac=function(e){return new(e||t)(d.ɵɵdirectiveInject(h.CipherService),d.ɵɵdirectiveInject(f.FolderService),d.ɵɵdirectiveInject(m.I18nService),d.ɵɵdirectiveInject(v.PlatformUtilsService),d.ɵɵdirectiveInject(y.AuditService),d.ɵɵdirectiveInject(g.StateService),d.ɵɵdirectiveInject(x.UserService),d.ɵɵdirectiveInject(b.CollectionService),d.ɵɵdirectiveInject(S.TotpService),d.ɵɵdirectiveInject(w.PasswordGenerationService),d.ɵɵdirectiveInject(C.ApiService),d.ɵɵdirectiveInject(I.MessagingService),d.ɵɵdirectiveInject(E.EventService))},t.ɵcmp=d.ɵɵdefineComponent({type:t,selectors:[["app-org-vault-add-edit"]],features:[d.ɵɵInheritDefinitionFeature],decls:44,vars:17,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","cipherAddEditTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],["ngNativeValidate","","autocomplete","off",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","cipherAddEditTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],["class","ml-auto",4,"ngIf"],[1,"modal-body"],["class","row",4,"ngIf"],[1,"row"],[1,"col-6","form-group"],["for","name"],["id","name","type","text","name","Name","required","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["class","col-6 form-group",4,"ngIf"],[4,"ngIf"],[1,"form-group"],["for","notes"],["id","notes","name","Notes","rows","6",1,"form-control",3,"ngModel","disabled","ngModelChange"],[1,"mt-4"],["cdkDropList","",3,"cdkDropListDropped",4,"ngIf"],["href","#","appStopClick","","class","d-inline-block mb-2",3,"click",4,"ngIf"],["for","type"],["id","type","name","Type","appAutofocus","",1,"form-control",3,"ngModel","disabled","ngModelChange"],[3,"ngValue",4,"ngFor","ngForOf"],[3,"ngValue"],["for","folder"],["id","folder","name","FolderId",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","loginUsername"],[1,"input-group"],["id","loginUsername","type","text","name","Login.Username","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["class","input-group-append",4,"ngIf"],[1,"d-flex"],["for","loginPassword"],["class","ml-auto d-flex",4,"ngIf"],["id","loginPassword","name","Login.Password","appInputVerbatim","","autocomplete","new-password",1,"form-control","text-monospace",3,"type","ngModel","disabled","ngModelChange"],[1,"input-group-append"],["type","button","tabindex","-1",1,"btn","btn-outline-secondary",3,"appA11yTitle","disabled","click"],["aria-hidden","true",1,"fa","fa-lg",3,"ngClass"],["aria-hidden","true",1,"fa","fa-lg","fa-clone"],["for","loginTotp"],["id","loginTotp","name","Login.Totp","appInputVerbatim","",1,"form-control","text-monospace",3,"type","ngModel","disabled","ngModelChange"],[1,"col-6","form-group","totp","d-flex","align-items-end",3,"ngClass"],["class","d-flex align-items-center",4,"ngIf"],["href","#","appStopClick","","class","d-inline-block mb-3",3,"click",4,"ngIf"],["type","button","tabindex","-1",1,"btn","btn-outline-secondary",3,"appA11yTitle","click"],[1,"ml-auto","d-flex"],["href","#","class","d-block mr-2","appStopClick","",3,"appA11yTitle","click",4,"ngIf"],["href","#","appStopClick","",1,"d-block",3,"appA11yTitle","appApiAction","click"],["checkPasswordBtn",""],["aria-hidden","true",1,"fa","fa-lg","fa-fw","fa-check-circle",3,"hidden"],["aria-hidden","true",1,"fa","fa-lg","fa-fw","fa-spinner","fa-spin",3,"hidden","title"],["href","#","appStopClick","",1,"d-block","mr-2",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-lg","fa-fw","fa-refresh"],["src","images/totp-countdown.png",1,"ml-2",3,"title"],["href","#","appStopClick","","class","badge badge-primary ml-3",3,"click",4,"ngIf"],["href","#","appStopClick","",1,"badge","badge-primary","ml-3",3,"click"],[1,"d-flex","align-items-center"],[1,"totp-countdown","mr-3","ml-2"],[1,"totp-sec"],["r","12.6","cy","16","cx","16",1,"totp-circle","inner",3,"ngStyle"],["r","14","cy","16","cx","16",1,"totp-circle","outer"],[1,"totp-code","mr-2",3,"title"],["type","button",1,"btn","btn-link",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-clone"],["class","row",4,"ngFor","ngForOf","ngForTrackBy"],[1,"col-7","form-group"],[3,"for"],["type","text","appInputVerbatim","",1,"form-control",3,"id","name","ngModel","disabled","placeholder","ngModelChange"],["aria-hidden","true",1,"fa","fa-lg","fa-share"],[1,"col-5","form-group"],["href","https://help.bitwarden.com/article/uri-match-detection/","target","_blank","rel","noopener",1,"ml-auto",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],[1,"form-control",3,"id","name","ngModel","disabled","ngModelChange","change"],["type","button","class","btn btn-link text-danger ml-2",3,"appA11yTitle","click",4,"ngIf"],["type","button",1,"btn","btn-link","text-danger","ml-2",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-minus-circle","fa-lg"],["href","#","appStopClick","",1,"d-inline-block","mb-3",3,"click"],["aria-hidden","true",1,"fa","fa-plus-circle","fa-fw"],["for","cardCardholderName"],["id","cardCardholderName","type","text","name","Card.CardCardholderName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","cardBrand"],["id","cardBrand","name","Card.Brand",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","cardNumber"],["id","cardNumber","type","text","name","Card.Number","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],[1,"col","form-group"],["for","cardExpMonth"],["id","cardExpMonth","name","Card.ExpMonth",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","cardExpYear"],["id","cardExpYear","type","text","name","Card.ExpYear",1,"form-control",3,"ngModel","placeholder","disabled","ngModelChange"],["for","cardCode"],["id","cardCode","name","Card.Code","appInputVerbatim","","autocomplete","new-password",1,"form-control","text-monospace",3,"type","ngModel","disabled","ngModelChange"],[1,"col-4","form-group"],["for","idTitle"],["id","idTitle","name","Identity.Title",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idFirstName"],["id","idFirstName","type","text","name","Identity.FirstName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idMiddleName"],["id","idMiddleName","type","text","name","Identity.MiddleName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idLastName"],["id","idLastName","type","text","name","Identity.LastName",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idUsername"],["id","idUsername","type","text","name","Identity.Username","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idCompany"],["id","idCompany","type","text","name","Identity.Company",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idSsn"],["id","idSsn","type","text","name","Identity.SSN","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idPassportNumber"],["id","idPassportNumber","type","text","name","Identity.PassportNumber","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idLicenseNumber"],["id","idLicenseNumber","type","text","name","Identity.LicenseNumber","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idEmail"],["id","idEmail","type","text","name","Identity.Email","appInputVerbatim","",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idPhone"],["id","idPhone","type","text","name","Identity.Phone",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idAddress1"],["id","idAddress1","type","text","name","Identity.Address1",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idAddress2"],["id","idAddress2","type","text","name","Identity.Address2",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idAddress3"],["id","idAddress3","type","text","name","Identity.Address3",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idCity"],["id","idCity","type","text","name","Identity.City",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idState"],["id","idState","type","text","name","Identity.State",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idPostalCode"],["id","idPostalCode","type","text","name","Identity.PostalCode",1,"form-control",3,"ngModel","disabled","ngModelChange"],["for","idCountry"],["id","idCountry","type","text","name","Identity.Country",1,"form-control",3,"ngModel","disabled","ngModelChange"],["cdkDropList","",3,"cdkDropListDropped"],["class","row","cdkDrag","",4,"ngFor","ngForOf","ngForTrackBy"],["cdkDrag","",1,"row"],["href","https://help.bitwarden.com/article/custom-fields/","target","_blank","rel","noopener",1,"ml-auto",3,"appA11yTitle"],["type","text","appInputVerbatim","",1,"form-control",3,"id","name","ngModel","disabled","ngModelChange"],["class","input-group",4,"ngIf"],[1,"flex-fill"],["type","checkbox","appTrueFalseValue","","trueValue","true","falseValue","false",3,"id","name","ngModel","disabled","ngModelChange",4,"ngIf"],["type","button","class","btn btn-link text-muted cursor-move",3,"appA11yTitle",4,"ngIf"],["appInputVerbatim","","autocomplete","new-password",1,"form-control","text-monospace",3,"id","type","name","ngModel","disabled","ngModelChange"],["type","checkbox","appTrueFalseValue","","trueValue","true","falseValue","false",3,"id","name","ngModel","disabled","ngModelChange"],["type","button",1,"btn","btn-link","text-muted","cursor-move",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-bars","fa-lg"],["href","#","appStopClick","",1,"d-inline-block","mb-2",3,"click"],[1,"col-5"],["for","addFieldType",1,"sr-only"],["id","addFieldType","name","AddFieldType",1,"form-control",3,"ngModel","ngModelChange"],["for","organizationId"],["id","organizationId","name","OrganizationId",1,"form-control",3,"ngModel","disabled","ngModelChange","change"],["class","form-check",4,"ngFor","ngForOf"],[1,"form-check"],["type","checkbox",1,"form-check-input",3,"ngModel","id","name","disabled","ngModelChange"],[1,"form-check-label",3,"for"],[1,"small","text-muted","mt-4"],[1,"font-weight-semibold"],["class","ml-3",4,"ngIf"],["href","#","appStopClick","",3,"title","click"],[1,"ml-3"],[4,"ngFor","ngForOf"],[1,"text-monospace","ml-2"],[1,"ml-auto"],["type","button","class","btn btn-link",3,"appA11yTitle","click",4,"ngIf"],["type","button","class","btn btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click",4,"ngIf"],["type","button",1,"btn","btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click"],["deleteBtn",""],["aria-hidden","true",1,"fa","fa-trash-o","fa-lg","fa-fw",3,"hidden"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","fa-lg","fa-fw",3,"hidden","title"]],template:function(e,t){if(1&e&&(d.ɵɵelementStart(0,"div",0),d.ɵɵtext(1,"\n "),d.ɵɵelementStart(2,"div",1),d.ɵɵtext(3,"\n "),d.ɵɵelementStart(4,"form",2,3),d.ɵɵlistener("ngSubmit",function(){return t.submit()}),d.ɵɵtext(6,"\n "),d.ɵɵelementStart(7,"div",4),d.ɵɵtext(8,"\n "),d.ɵɵelementStart(9,"h2",5),d.ɵɵtext(10),d.ɵɵelementEnd(),d.ɵɵtext(11,"\n "),d.ɵɵelementStart(12,"button",6),d.ɵɵpipe(13,"i18n"),d.ɵɵtext(14,"\n "),d.ɵɵelementStart(15,"span",7),d.ɵɵtext(16,"×"),d.ɵɵelementEnd(),d.ɵɵtext(17,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(18,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(19,"\n "),d.ɵɵtemplate(20,_e,52,24,"div",8),d.ɵɵtext(21,"\n "),d.ɵɵelementStart(22,"div",9),d.ɵɵtext(23,"\n "),d.ɵɵelementStart(24,"button",10),d.ɵɵtext(25,"\n "),d.ɵɵelement(26,"i",11),d.ɵɵpipe(27,"i18n"),d.ɵɵtext(28,"\n "),d.ɵɵelementStart(29,"span"),d.ɵɵtext(30),d.ɵɵpipe(31,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(32,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(33,"\n "),d.ɵɵelementStart(34,"button",12),d.ɵɵtext(35),d.ɵɵpipe(36,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(37,"\n "),d.ɵɵtemplate(38,Me,6,2,"div",13),d.ɵɵtext(39,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(40,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(41,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(42,"\n"),d.ɵɵelementEnd(),d.ɵɵtext(43,"\n")),2&e){var n=d.ɵɵreference(5);d.ɵɵadvance(4),d.ɵɵproperty("appApiAction",t.formPromise),d.ɵɵadvance(6),d.ɵɵtextInterpolate(t.title),d.ɵɵadvance(2),d.ɵɵpropertyInterpolate("appA11yTitle",d.ɵɵpipeBind1(13,9,"close")),d.ɵɵadvance(8),d.ɵɵproperty("ngIf",t.cipher),d.ɵɵadvance(4),d.ɵɵproperty("disabled",n.loading),d.ɵɵadvance(2),d.ɵɵpropertyInterpolate("title",d.ɵɵpipeBind1(27,11,"loading")),d.ɵɵadvance(4),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(31,13,null!=t.cipher&&t.cipher.isDeleted?"restore":"save")),d.ɵɵadvance(5),d.ɵɵtextInterpolate1("\n ",d.ɵɵpipeBind1(36,15,"cancel"),"\n "),d.ɵɵadvance(3),d.ɵɵproperty("ngIf",t.cipher)}},directives:[P.NgControlStatusGroup,P.NgForm,k.ApiActionDirective,_.A11yTitleDirective,A.NgIf,P.DefaultValueAccessor,P.RequiredValidator,P.NgControlStatus,P.NgModel,P.SelectControlValueAccessor,O.AutofocusDirective,A.NgForOf,P.NgSelectOption,P.ɵangular_packages_forms_forms_x,T.InputVerbatimDirective,A.NgClass,M.StopClickDirective,A.NgStyle,B.CdkDropList,B.CdkDrag,D.TrueFalseValueDirective,P.CheckboxControlValueAccessor],pipes:[j.I18nPipe,A.DatePipe],encapsulation:2}),t}(u.AddEditComponent);t.AddEditComponent=Be},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.password=null,this.lastUsedDate=null,e&&(this.lastUsedDate=e.lastUsedDate)}}();t.PasswordHistoryView=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),i=n(15),o=n(0),a=function(){function e(e,t){this.elementRef=e,this.renderer=t,this.trueValue=!0,this.falseValue=!1,this.propagateChange=function(e){}}return e.prototype.onHostChange=function(e){this.propagateChange(e.target.checked?this.trueValue:this.falseValue)},e.prototype.writeValue=function(e){e===this.trueValue?this.renderer.setProperty(this.elementRef.nativeElement,"checked",!0):this.renderer.setProperty(this.elementRef.nativeElement,"checked",!1)},e.prototype.registerOnChange=function(e){this.propagateChange=e},e.prototype.registerOnTouched=function(e){},e.prototype.setDisabledState=function(e){},e.ɵfac=function(t){return new(t||e)(o.ɵɵdirectiveInject(o.ElementRef),o.ɵɵdirectiveInject(o.Renderer2))},e.ɵdir=o.ɵɵdefineDirective({type:e,selectors:[["input","type","checkbox","appTrueFalseValue",""]],hostBindings:function(e,t){1&e&&o.ɵɵlistener("change",function(e){return t.onHostChange(e)})},inputs:{trueValue:"trueValue",falseValue:"falseValue"},features:[o.ɵɵProvidersFeature([{provide:i.NG_VALUE_ACCESSOR,useExisting:r.forwardRef(function(){return e}),multi:!0}])]}),e}();t.TrueFalseValueDirective=a},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0))return[3,4];i.label=1;case 1:return i.trys.push([1,3,,4]),[4,this.getFileContents(n[0])];case 2:return null!=(o=i.sent())&&(r=o),[3,4];case 3:return i.sent(),[3,4];case 4:if(null==r||""===r)return this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),this.i18nService.t("selectFile")),[2];i.label=5;case 5:return i.trys.push([5,7,,8]),this.formPromise=this.importService.import(e,r,this.organizationId),[4,this.formPromise];case 6:return null!=(a=i.sent())?(this.error(a),[2]):(this.analytics.eventTrack.next({action:"Imported Data",properties:{label:this.format}}),this.toasterService.popAsync("success",null,this.i18nService.t("importSuccess")),this.router.navigate(this.successNavigate),[3,8]);case 7:return i.sent(),[3,8];case 8:return[2]}})})},e.prototype.getFormatInstructionTitle=function(){var e=this;if(null==this.format)return null;var t=this.featuredImportOptions.concat(this.importOptions).filter(function(t){return t.id===e.format});return t.length>0?this.i18nService.t("instructionsFor",t[0].name):null},e.prototype.setImportOptions=function(){this.featuredImportOptions=o([{id:null,name:"-- "+this.i18nService.t("select")+" --"}],this.importService.featuredImportOptions),this.importOptions=this.importService.regularImportOptions},e.prototype.error=function(e){this.analytics.eventTrack.next({action:"Import Data Failed",properties:{label:this.format}}),this.toasterService.popAsync("error",this.i18nService.t("errorOccurred"),e.message)},e.prototype.getFileContents=function(e){var t=this;return new Promise(function(n,r){var i=new FileReader;i.readAsText(e,"utf-8"),i.onload=function(i){if("lastpasscsv"===t.format&&"text/html"===e.type){var o=(new DOMParser).parseFromString(i.target.result,"text/html").querySelector("pre");return null!=o?void n(o.textContent):void r()}n(i.target.result)},i.onerror=function(){r()}})},e.ɵfac=function(t){return new(t||e)(a.ɵɵdirectiveInject(s.I18nService),a.ɵɵdirectiveInject(l.Angulartics2),a.ɵɵdirectiveInject(c.ToasterService),a.ɵɵdirectiveInject(p.ImportService),a.ɵɵdirectiveInject(u.Router))},e.ɵcmp=a.ɵɵdefineComponent({type:e,selectors:[["app-import"]],decls:67,vars:25,consts:[[1,"page-header"],["ngNativeValidate","",3,"appApiAction","ngSubmit"],["form",""],[1,"row"],[1,"col-6"],[1,"form-group"],["for","type"],["id","type","name","Format","required","",1,"form-control",3,"ngModel","ngModelChange"],[3,"ngValue",4,"ngFor","ngForOf"],[4,"ngIf"],["type","info",3,"title",4,"ngIf"],["for","file"],["type","file","id","file","name","file",1,"form-control-file"],["for","fileContents"],["id","fileContents","name","FileContents",1,"form-control",3,"ngModel","ngModelChange"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],[3,"ngValue"],["value","-","disabled",""],["type","info",3,"title"],["target","_blank","rel","noopener","href","https://help.bitwarden.com/article/export-your-data/"],["target","_blank","rel","noopener","href","https://help.bitwarden.com/article/import-from-lastpass/"],["target","_blank","rel","noopener","href","https://help.bitwarden.com/article/import-from-chrome/"],["target","_blank","rel","noopener","href","https://github.com/kspearrin/ff-password-exporter/blob/master/README.md#ff-password-exporter"],["target","_blank","rel","noopener","href","https://help.bitwarden.com/article/import-from-1password/"],["target","_blank","rel","noopener","href","https://bit.ly/2GpOMTg"]],template:function(e,t){if(1&e&&(a.ɵɵelementStart(0,"div",0),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"h1"),a.ɵɵtext(3),a.ɵɵpipe(4,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(5,"\n"),a.ɵɵelementEnd(),a.ɵɵtext(6,"\n"),a.ɵɵelementStart(7,"form",1,2),a.ɵɵlistener("ngSubmit",function(){return t.submit()}),a.ɵɵtext(9,"\n "),a.ɵɵelementStart(10,"div",3),a.ɵɵtext(11,"\n "),a.ɵɵelementStart(12,"div",4),a.ɵɵtext(13,"\n "),a.ɵɵelementStart(14,"div",5),a.ɵɵtext(15,"\n "),a.ɵɵelementStart(16,"label",6),a.ɵɵtext(17),a.ɵɵpipe(18,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(19,"\n "),a.ɵɵelementStart(20,"select",7),a.ɵɵlistener("ngModelChange",function(e){return t.format=e}),a.ɵɵtext(21,"\n "),a.ɵɵtemplate(22,y,2,2,"option",8),a.ɵɵtext(23,"\n "),a.ɵɵtemplate(24,x,6,1,"ng-container",9),a.ɵɵtext(25,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(26,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(27,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(28,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(29,"\n "),a.ɵɵtemplate(30,ve,100,50,"app-callout",10),a.ɵɵtext(31,"\n "),a.ɵɵelementStart(32,"div",3),a.ɵɵtext(33,"\n "),a.ɵɵelementStart(34,"div",4),a.ɵɵtext(35,"\n "),a.ɵɵelementStart(36,"div",5),a.ɵɵtext(37,"\n "),a.ɵɵelementStart(38,"label",11),a.ɵɵtext(39),a.ɵɵpipe(40,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(41,"\n "),a.ɵɵelement(42,"input",12),a.ɵɵtext(43,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(44,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(45,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(46,"\n "),a.ɵɵelementStart(47,"div",5),a.ɵɵtext(48,"\n "),a.ɵɵelementStart(49,"label",13),a.ɵɵtext(50),a.ɵɵpipe(51,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(52,"\n "),a.ɵɵelementStart(53,"textarea",14),a.ɵɵlistener("ngModelChange",function(e){return t.fileContents=e}),a.ɵɵelementEnd(),a.ɵɵtext(54,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(55,"\n "),a.ɵɵelementStart(56,"button",15),a.ɵɵtext(57,"\n "),a.ɵɵelement(58,"i",16),a.ɵɵpipe(59,"i18n"),a.ɵɵtext(60,"\n "),a.ɵɵelementStart(61,"span"),a.ɵɵtext(62),a.ɵɵpipe(63,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(64,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(65,"\n"),a.ɵɵelementEnd(),a.ɵɵtext(66,"\n")),2&e){var n=a.ɵɵreference(8);a.ɵɵadvance(3),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(4,13,"importData")),a.ɵɵadvance(4),a.ɵɵproperty("appApiAction",t.formPromise),a.ɵɵadvance(10),a.ɵɵtextInterpolate1("1. ",a.ɵɵpipeBind1(18,15,"selectFormat"),""),a.ɵɵadvance(3),a.ɵɵproperty("ngModel",t.format),a.ɵɵadvance(2),a.ɵɵproperty("ngForOf",t.featuredImportOptions),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",t.importOptions&&t.importOptions.length),a.ɵɵadvance(6),a.ɵɵproperty("ngIf",t.format),a.ɵɵadvance(9),a.ɵɵtextInterpolate1("2. ",a.ɵɵpipeBind1(40,17,"selectImportFile"),""),a.ɵɵadvance(11),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(51,19,"orCopyPasteFileContents")),a.ɵɵadvance(3),a.ɵɵproperty("ngModel",t.fileContents),a.ɵɵadvance(3),a.ɵɵproperty("disabled",n.loading),a.ɵɵadvance(2),a.ɵɵpropertyInterpolate("title",a.ɵɵpipeBind1(59,21,"loading")),a.ɵɵadvance(4),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(63,23,"importData"))}},directives:[d.NgControlStatusGroup,d.NgForm,h.ApiActionDirective,d.SelectControlValueAccessor,d.RequiredValidator,d.NgControlStatus,d.NgModel,f.NgForOf,f.NgIf,d.DefaultValueAccessor,d.NgSelectOption,d.ɵangular_packages_forms_forms_x,m.CalloutComponent],pipes:[v.I18nPipe],encapsulation:2}),e}();t.ImportComponent=ye},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?[4,this.getAllCiphers()]:[3,6];case 4:return e=o.sent(),t=[],n=[],r=new Map,e.forEach(function(e){if(e.type===s.CipherType.Login&&(null==e.login.totp||""===e.login.totp)&&e.login.hasUris&&!e.isDeleted)for(var n=0;n0?[2]:[4,fetch(new Request("https://twofactorauth.org/api/v1/data.json"))];case 1:if(200!==(e=a.sent()).status)throw new Error;return[4,e.json()];case 2:for(n in t=a.sent())if(t.hasOwnProperty(n))for(i in r=t[n])r.hasOwnProperty(i)&&(o=r[i]).tfa&&o.software&&null!=o.url&&null!=(s=l.Utils.getHostname(o.url))&&this.services.set(s,o.doc);return[2]}})})},t.ɵfac=function(e){return new(e||t)(p.ɵɵdirectiveInject(u.CipherService),p.ɵɵdirectiveInject(p.ComponentFactoryResolver),p.ɵɵdirectiveInject(d.MessagingService),p.ɵɵdirectiveInject(h.UserService))},t.ɵcmp=p.ɵɵdefineComponent({type:t,selectors:[["app-inactive-two-factor-report"]],features:[p.ɵɵInheritDefinitionFeature],decls:20,vars:9,consts:[[1,"page-header"],[4,"ngIf"],["class","mt-4",4,"ngIf"],["cipherAddEdit",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"mt-4"],["type","success",3,"title",4,"ngIf"],["type","success",3,"title"],["type","danger",3,"title"],[1,"table","table-hover","table-list","table-ciphers"],[4,"ngFor","ngForOf"],[1,"table-list-icon"],[3,"cipher"],[1,"reduced-lh","wrap"],["href","#","appStopClick","",3,"title","click"],[1,"text-right"],["class","badge badge-primary","target","_blank","rel","noopener",3,"href",4,"ngIf"],["appStopProp","","aria-hidden","true",1,"fa","fa-share-alt",3,"title"],["appStopProp","","aria-hidden","true",1,"fa","fa-paperclip",3,"title"],["target","_blank","rel","noopener",1,"badge","badge-primary",3,"href"]],template:function(e,t){1&e&&(p.ɵɵelementStart(0,"div",0),p.ɵɵtext(1,"\n "),p.ɵɵelementStart(2,"h1"),p.ɵɵtext(3),p.ɵɵpipe(4,"i18n"),p.ɵɵtemplate(5,b,9,6,"small",1),p.ɵɵtext(6,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(7,"\n"),p.ɵɵelementEnd(),p.ɵɵtext(8,"\n"),p.ɵɵelementStart(9,"p"),p.ɵɵtext(10),p.ɵɵpipe(11,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(12,"\n"),p.ɵɵtemplate(13,S,9,6,"div",1),p.ɵɵtext(14,"\n"),p.ɵɵtemplate(15,_,6,2,"div",2),p.ɵɵtext(16,"\n"),p.ɵɵtemplate(17,A,0,0,"ng-template",null,3,p.ɵɵtemplateRefExtractor),p.ɵɵtext(19,"\n")),2&e&&(p.ɵɵadvance(3),p.ɵɵtextInterpolate1("\n ",p.ɵɵpipeBind1(4,5,"inactive2faReport"),"\n "),p.ɵɵadvance(2),p.ɵɵproperty("ngIf",t.hasLoaded&&t.loading),p.ɵɵadvance(5),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(11,7,"inactive2faReportDesc")),p.ɵɵadvance(3),p.ɵɵproperty("ngIf",!t.hasLoaded&&t.loading),p.ɵɵadvance(2),p.ɵɵproperty("ngIf",t.hasLoaded))},directives:[f.NgIf,m.CalloutComponent,f.NgForOf,v.IconComponent,y.StopClickDirective,g.StopPropDirective],pipes:[x.I18nPipe,f.DecimalPipe],encapsulation:2}),t}(c.CipherReportComponent);t.InactiveTwoFactorReportComponent=O},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1}),this.ciphers=n,[2]}})})},t.prototype.getAllCiphers=function(){return this.cipherService.getAllDecrypted()},t.ɵfac=function(e){return new(e||t)(c.ɵɵdirectiveInject(p.CipherService),c.ɵɵdirectiveInject(c.ComponentFactoryResolver),c.ɵɵdirectiveInject(u.MessagingService),c.ɵɵdirectiveInject(d.UserService))},t.ɵcmp=c.ɵɵdefineComponent({type:t,selectors:[["app-reused-passwords-report"]],features:[c.ɵɵInheritDefinitionFeature],decls:20,vars:9,consts:[[1,"page-header"],[4,"ngIf"],["class","mt-4",4,"ngIf"],["cipherAddEdit",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"mt-4"],["type","success",3,"title",4,"ngIf"],["type","success",3,"title"],["type","danger",3,"title"],[1,"table","table-hover","table-list","table-ciphers"],[4,"ngFor","ngForOf"],[1,"table-list-icon"],[3,"cipher"],[1,"reduced-lh","wrap"],["href","#","appStopClick","",3,"title","click"],[1,"text-right"],[1,"badge","badge-warning"],["appStopProp","","aria-hidden","true",1,"fa","fa-share-alt",3,"title"],["appStopProp","","aria-hidden","true",1,"fa","fa-paperclip",3,"title"]],template:function(e,t){1&e&&(c.ɵɵelementStart(0,"div",0),c.ɵɵtext(1,"\n "),c.ɵɵelementStart(2,"h1"),c.ɵɵtext(3),c.ɵɵpipe(4,"i18n"),c.ɵɵtemplate(5,x,9,6,"small",1),c.ɵɵtext(6,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(7,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(8,"\n"),c.ɵɵelementStart(9,"p"),c.ɵɵtext(10),c.ɵɵpipe(11,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(12,"\n"),c.ɵɵtemplate(13,b,9,6,"div",1),c.ɵɵtext(14,"\n"),c.ɵɵtemplate(15,P,6,2,"div",2),c.ɵɵtext(16,"\n"),c.ɵɵtemplate(17,k,0,0,"ng-template",null,3,c.ɵɵtemplateRefExtractor),c.ɵɵtext(19,"\n")),2&e&&(c.ɵɵadvance(3),c.ɵɵtextInterpolate1("\n ",c.ɵɵpipeBind1(4,5,"reusedPasswordsReport"),"\n "),c.ɵɵadvance(2),c.ɵɵproperty("ngIf",t.hasLoaded&&t.loading),c.ɵɵadvance(5),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(11,7,"reusedPasswordsReportDesc")),c.ɵɵadvance(3),c.ɵɵproperty("ngIf",!t.hasLoaded&&t.loading),c.ɵɵadvance(2),c.ɵɵproperty("ngIf",t.hasLoaded))},directives:[h.NgIf,f.CalloutComponent,h.NgForOf,m.IconComponent,v.StopClickDirective,y.StopPropDirective],pipes:[g.I18nPipe,h.DecimalPipe],encapsulation:2}),t}(l.CipherReportComponent);t.ReusedPasswordsReportComponent=_},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1?o.concat(e.login.username.substr(0,a).trim().toLowerCase().split(/[^A-Za-z0-9]/)).filter(function(e){return e.length>=3}):e.login.username.trim().toLowerCase().split(/[^A-Za-z0-9]/).filter(function(e){return e.length>=3})}var l=n.passwordGenerationService.passwordStrength(e.login.password,o.length>0?o:null);n.passwordStrengthCache.set(i,l.score)}var c=n.passwordStrengthCache.get(i);null!=c&&c<=2&&(n.passwordStrengthMap.set(e.id,n.scoreKey(c)),t.push(e))}}),this.ciphers=t,[2]}})})},t.prototype.getAllCiphers=function(){return this.cipherService.getAllDecrypted()},t.prototype.scoreKey=function(e){switch(e){case 4:return["strong","success"];case 3:return["good","primary"];case 2:return["weak","warning"];default:return["veryWeak","danger"]}},t.ɵfac=function(e){return new(e||t)(c.ɵɵdirectiveInject(p.CipherService),c.ɵɵdirectiveInject(u.PasswordGenerationService),c.ɵɵdirectiveInject(c.ComponentFactoryResolver),c.ɵɵdirectiveInject(d.MessagingService),c.ɵɵdirectiveInject(h.UserService))},t.ɵcmp=c.ɵɵdefineComponent({type:t,selectors:[["app-weak-passwords-report"]],features:[c.ɵɵInheritDefinitionFeature],decls:20,vars:9,consts:[[1,"page-header"],[4,"ngIf"],["class","mt-4",4,"ngIf"],["cipherAddEdit",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"mt-4"],["type","success",3,"title",4,"ngIf"],["type","success",3,"title"],["type","danger",3,"title"],[1,"table","table-hover","table-list","table-ciphers"],[4,"ngFor","ngForOf"],[1,"table-list-icon"],[3,"cipher"],[1,"reduced-lh","wrap"],["href","#","appStopClick","",3,"title","click"],[1,"text-right"],["appStopProp","","aria-hidden","true",1,"fa","fa-share-alt",3,"title"],["appStopProp","","aria-hidden","true",1,"fa","fa-paperclip",3,"title"]],template:function(e,t){1&e&&(c.ɵɵelementStart(0,"div",0),c.ɵɵtext(1,"\n "),c.ɵɵelementStart(2,"h1"),c.ɵɵtext(3),c.ɵɵpipe(4,"i18n"),c.ɵɵtemplate(5,b,9,6,"small",1),c.ɵɵtext(6,"\n "),c.ɵɵelementEnd(),c.ɵɵtext(7,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(8,"\n"),c.ɵɵelementStart(9,"p"),c.ɵɵtext(10),c.ɵɵpipe(11,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(12,"\n"),c.ɵɵtemplate(13,S,9,6,"div",1),c.ɵɵtext(14,"\n"),c.ɵɵtemplate(15,k,6,2,"div",2),c.ɵɵtext(16,"\n"),c.ɵɵtemplate(17,_,0,0,"ng-template",null,3,c.ɵɵtemplateRefExtractor),c.ɵɵtext(19,"\n")),2&e&&(c.ɵɵadvance(3),c.ɵɵtextInterpolate1("\n ",c.ɵɵpipeBind1(4,5,"weakPasswordsReport"),"\n "),c.ɵɵadvance(2),c.ɵɵproperty("ngIf",t.hasLoaded&&t.loading),c.ɵɵadvance(5),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(11,7,"weakPasswordsReportDesc")),c.ɵɵadvance(3),c.ɵɵproperty("ngIf",!t.hasLoaded&&t.loading),c.ɵɵadvance(2),c.ɵɵproperty("ngIf",t.hasLoaded))},directives:[f.NgIf,m.CalloutComponent,f.NgForOf,v.IconComponent,y.StopClickDirective,g.StopPropDirective],pipes:[x.I18nPipe,f.DecimalPipe],encapsulation:2}),t}(l.CipherReportComponent);t.WeakPasswordsReportComponent=A},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1)""===r.substr(o).trim()&&(i=o);e+=r.substring(0,i)}this.platformUtilsService.copyToClipboard(e,{window:window})}},e.ɵfac=function(t){return new(t||e)(r.ɵɵdirectiveInject(r.ElementRef),r.ɵɵdirectiveInject(i.PlatformUtilsService))},e.ɵdir=r.ɵɵdefineDirective({type:e,selectors:[["","appSelectCopy",""]],hostBindings:function(e,t){1&e&&r.ɵɵlistener("copy",function(){return t.onCopy()})}}),e}();t.SelectCopyDirective=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(0),i=function(){function e(){}return e.prototype.transform=function(e){for(var t="",n=0;n":r=">",i=!0;break;case" ":r=" ",i=!0}var o="letter";i||r.match(/[^\w ]/)?o="special":r.match(/\d/)&&(o="number"),t+=''+r+""}return t},e.ɵfac=function(t){return new(t||e)},e.ɵpipe=r.ɵɵdefinePipe({name:"colorPassword",type:e,pure:!0}),e}();t.ColorPasswordPipe=i},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(29),a=n(883),s=function(e){function t(t){var n=e.call(this,t)||this;n.organizations=[],n.id=n.getResponseProperty("Id"),n.name=n.getResponseProperty("Name"),n.email=n.getResponseProperty("Email"),n.emailVerified=n.getResponseProperty("EmailVerified"),n.masterPasswordHint=n.getResponseProperty("MasterPasswordHint"),n.premium=n.getResponseProperty("Premium"),n.culture=n.getResponseProperty("Culture"),n.twoFactorEnabled=n.getResponseProperty("TwoFactorEnabled"),n.key=n.getResponseProperty("Key"),n.privateKey=n.getResponseProperty("PrivateKey"),n.securityStamp=n.getResponseProperty("SecurityStamp");var r=n.getResponseProperty("Organizations");return null!=r&&(n.organizations=r.map(function(e){return new a.ProfileOrganizationResponse(e)})),n}return i(t,e),t}(o.BaseResponse);t.ProfileResponse=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){void 0===t&&(t=null);var n=e.call(this,t)||this;return null==t?n:(n.id=n.getResponseProperty("Id"),n.url=n.getResponseProperty("Url"),n.fileName=n.getResponseProperty("FileName"),n.key=n.getResponseProperty("Key"),n.size=n.getResponseProperty("Size"),n.sizeName=n.getResponseProperty("SizeName"),n)}return i(t,e),t}(n(29).BaseResponse);t.SendFileApi=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){void 0===t&&(t=null);var n=e.call(this,t)||this;return null==t?n:(n.text=n.getResponseProperty("Text"),n.hidden=n.getResponseProperty("Hidden")||!1,n)}return i(t,e),t}(n(29).BaseResponse);t.SendTextApi=o},,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.NotificationsService=r},,function(e,t){function n(e){return Promise.resolve().then(function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t})}n.keys=function(){return[]},n.resolve=n,e.exports=n,n.id=501},,,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0),n(5);var r=n(0),i=n(5),o=n(7),a=n(11),s=function(){function e(e){this.platformUtilsService=e,this.year="2015"}return e.prototype.ngOnInit=function(){this.year=(new Date).getFullYear().toString(),this.version=this.platformUtilsService.getApplicationVersion(),document.body.classList.add("layout_frontend")},e.prototype.ngOnDestroy=function(){document.body.classList.remove("layout_frontend")},e.ɵfac=function(t){return new(t||e)(r.ɵɵdirectiveInject(i.PlatformUtilsService))},e.ɵcmp=r.ɵɵdefineComponent({type:e,selectors:[["app-frontend-layout"]],decls:8,vars:5,consts:[[1,"container","my-5","text-muted","text-center"]],template:function(e,t){1&e&&(r.ɵɵelement(0,"router-outlet"),r.ɵɵtext(1,"\n"),r.ɵɵelementStart(2,"div",0),r.ɵɵtext(3),r.ɵɵelement(4,"br"),r.ɵɵtext(5),r.ɵɵpipe(6,"i18n"),r.ɵɵelementEnd(),r.ɵɵtext(7,"\n")),2&e&&(r.ɵɵadvance(3),r.ɵɵtextInterpolate1("\n © ",t.year,", Bitwarden Inc.\n "),r.ɵɵadvance(2),r.ɵɵtextInterpolate1(" ",r.ɵɵpipeBind2(6,2,"versionNumber",t.version),"\n"))},directives:[o.RouterOutlet],pipes:[a.I18nPipe],encapsulation:2}),e}();t.FrontendLayoutComponent=s},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1&&(this.email=r.email),null!=r.premium?this.stateService.save("loginRedirect",{route:"/settings/premium"}):null!=r.org&&this.stateService.save("loginRedirect",{route:"/settings/create-organization",qParams:{plan:r.org}}),[4,e.prototype.ngOnInit.call(this)];case 1:return n.sent(),null!=t&&t.unsubscribe(),[2]}})})}),[2]})})},t.prototype.goAfterLogIn=function(){return o(this,void 0,void 0,function(){var e,t;return a(this,function(n){switch(n.label){case 0:return[4,this.stateService.get("orgInvitation")];case 1:return null==(e=n.sent())?[3,2]:(this.router.navigate(["accept-organization"],{queryParams:e}),[3,6]);case 2:return[4,this.stateService.get("loginRedirect")];case 3:return null==(t=n.sent())?[3,5]:(this.router.navigate([t.route],{queryParams:t.qParams}),[4,this.stateService.remove("loginRedirect")]);case 4:return n.sent(),[3,6];case 5:this.router.navigate([this.successRoute]),n.label=6;case 6:return[2]}})})},t.ɵfac=function(e){return new(e||t)(l.ɵɵdirectiveInject(c.AuthService),l.ɵɵdirectiveInject(p.Router),l.ɵɵdirectiveInject(u.I18nService),l.ɵɵdirectiveInject(p.ActivatedRoute),l.ɵɵdirectiveInject(d.StorageService),l.ɵɵdirectiveInject(h.StateService),l.ɵɵdirectiveInject(f.PlatformUtilsService),l.ɵɵdirectiveInject(m.EnvironmentService),l.ɵɵdirectiveInject(v.PasswordGenerationService),l.ɵɵdirectiveInject(y.CryptoFunctionService))},t.ɵcmp=l.ɵɵdefineComponent({type:t,selectors:[["app-login"]],features:[l.ɵɵInheritDefinitionFeature],decls:97,vars:43,consts:[["ngNativeValidate","",1,"container",3,"appApiAction","ngSubmit"],["form",""],[1,"row","justify-content-md-center","mt-5"],[1,"col-5"],["src","images/logo-dark@2x.png","alt","Bitwarden",1,"logo","mb-2"],[1,"lead","text-center","mx-4","mb-4"],[1,"card","d-block"],[1,"card-body"],[1,"form-group"],["for","email"],["id","email","type","text","name","Email","required","","inputmode","email","appInputVerbatim","false",1,"form-control",3,"ngModel","ngModelChange"],["for","masterPassword"],[1,"d-flex"],["id","masterPassword","name","MasterPassword","required","","appInputVerbatim","",1,"text-monospace","form-control",3,"type","ngModel","ngModelChange"],["type","button",1,"ml-1","btn","btn-link",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-lg",3,"ngClass"],[1,"form-text"],["routerLink","/hint"],[1,"form-check"],["type","checkbox","id","rememberEmail","name","RememberEmail",1,"form-check-input",3,"ngModel","ngModelChange"],["for","rememberEmail",1,"form-check-label"],["type","submit",1,"btn","btn-primary","btn-block","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-sign-in"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["routerLink","/register",1,"btn","btn-outline-secondary","btn-block","ml-2","mt-0",3,"queryParams"],["aria-hidden","true",1,"fa","fa-pencil-square-o"],["routerLink","/sso",1,"btn","btn-outline-secondary","btn-block","mt-2"],["aria-hidden","true",1,"fa","fa-bank"]],template:function(e,t){if(1&e&&(l.ɵɵelementStart(0,"form",0,1),l.ɵɵlistener("ngSubmit",function(){return t.submit()}),l.ɵɵtext(2,"\n "),l.ɵɵelementStart(3,"div",2),l.ɵɵtext(4,"\n "),l.ɵɵelementStart(5,"div",3),l.ɵɵtext(6,"\n "),l.ɵɵelement(7,"img",4),l.ɵɵtext(8,"\n "),l.ɵɵelementStart(9,"p",5),l.ɵɵtext(10),l.ɵɵpipe(11,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(12,"\n "),l.ɵɵelementStart(13,"div",6),l.ɵɵtext(14,"\n "),l.ɵɵelementStart(15,"div",7),l.ɵɵtext(16,"\n "),l.ɵɵelementStart(17,"div",8),l.ɵɵtext(18,"\n "),l.ɵɵelementStart(19,"label",9),l.ɵɵtext(20),l.ɵɵpipe(21,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(22,"\n "),l.ɵɵelementStart(23,"input",10),l.ɵɵlistener("ngModelChange",function(e){return t.email=e}),l.ɵɵelementEnd(),l.ɵɵtext(24,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(25,"\n "),l.ɵɵelementStart(26,"div",8),l.ɵɵtext(27,"\n "),l.ɵɵelementStart(28,"label",11),l.ɵɵtext(29),l.ɵɵpipe(30,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(31,"\n "),l.ɵɵelementStart(32,"div",12),l.ɵɵtext(33,"\n "),l.ɵɵelementStart(34,"input",13),l.ɵɵlistener("ngModelChange",function(e){return t.masterPassword=e}),l.ɵɵelementEnd(),l.ɵɵtext(35,"\n "),l.ɵɵelementStart(36,"button",14),l.ɵɵlistener("click",function(){return t.togglePassword()}),l.ɵɵpipe(37,"i18n"),l.ɵɵtext(38,"\n "),l.ɵɵelement(39,"i",15),l.ɵɵtext(40,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(41,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(42,"\n "),l.ɵɵelementStart(43,"small",16),l.ɵɵtext(44,"\n "),l.ɵɵelementStart(45,"a",17),l.ɵɵtext(46),l.ɵɵpipe(47,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(48,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(49,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(50,"\n "),l.ɵɵelementStart(51,"div",18),l.ɵɵtext(52,"\n "),l.ɵɵelementStart(53,"input",19),l.ɵɵlistener("ngModelChange",function(e){return t.rememberEmail=e}),l.ɵɵelementEnd(),l.ɵɵtext(54,"\n "),l.ɵɵelementStart(55,"label",20),l.ɵɵtext(56),l.ɵɵpipe(57,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(58,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(59,"\n "),l.ɵɵelement(60,"hr"),l.ɵɵtext(61,"\n "),l.ɵɵelementStart(62,"div",12),l.ɵɵtext(63,"\n "),l.ɵɵelementStart(64,"button",21),l.ɵɵtext(65,"\n "),l.ɵɵelementStart(66,"span"),l.ɵɵtext(67,"\n "),l.ɵɵelement(68,"i",22),l.ɵɵtext(69),l.ɵɵpipe(70,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(71,"\n "),l.ɵɵelement(72,"i",23),l.ɵɵpipe(73,"i18n"),l.ɵɵtext(74,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(75,"\n "),l.ɵɵelementStart(76,"a",24),l.ɵɵtext(77,"\n "),l.ɵɵelement(78,"i",25),l.ɵɵtext(79),l.ɵɵpipe(80,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(81,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(82,"\n "),l.ɵɵelementStart(83,"div",12),l.ɵɵtext(84,"\n "),l.ɵɵelementStart(85,"a",26),l.ɵɵtext(86,"\n "),l.ɵɵelement(87,"i",27),l.ɵɵtext(88),l.ɵɵpipe(89,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(90,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(91,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(92,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(93,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(94,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(95,"\n"),l.ɵɵelementEnd(),l.ɵɵtext(96,"\n")),2&e){var n=l.ɵɵreference(1);l.ɵɵproperty("appApiAction",t.formPromise),l.ɵɵadvance(10),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(11,18,"loginOrCreateNewAccount")),l.ɵɵadvance(10),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(21,20,"emailAddress")),l.ɵɵadvance(3),l.ɵɵproperty("ngModel",t.email),l.ɵɵadvance(6),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(30,22,"masterPass")),l.ɵɵadvance(5),l.ɵɵpropertyInterpolate("type",t.showPassword?"text":"password"),l.ɵɵproperty("ngModel",t.masterPassword),l.ɵɵadvance(2),l.ɵɵpropertyInterpolate("appA11yTitle",l.ɵɵpipeBind1(37,24,"toggleVisibility")),l.ɵɵadvance(3),l.ɵɵproperty("ngClass",l.ɵɵpureFunction2(38,I,!t.showPassword,t.showPassword)),l.ɵɵadvance(7),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(47,26,"getMasterPasswordHint")),l.ɵɵadvance(7),l.ɵɵproperty("ngModel",t.rememberEmail),l.ɵɵadvance(3),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(57,28,"rememberEmail")),l.ɵɵadvance(8),l.ɵɵproperty("disabled",n.loading),l.ɵɵadvance(5),l.ɵɵtextInterpolate1(" ",l.ɵɵpipeBind1(70,30,"logIn"),"\n "),l.ɵɵadvance(3),l.ɵɵpropertyInterpolate("title",l.ɵɵpipeBind1(73,32,"loading")),l.ɵɵadvance(4),l.ɵɵproperty("queryParams",l.ɵɵpureFunction1(41,E,t.email)),l.ɵɵadvance(3),l.ɵɵtextInterpolate1(" ",l.ɵɵpipeBind1(80,34,"createAccount"),"\n "),l.ɵɵadvance(9),l.ɵɵtextInterpolate1(" ",l.ɵɵpipeBind1(89,36,"enterpriseSingleSignOn"),"\n ")}},directives:[g.NgControlStatusGroup,g.NgForm,x.ApiActionDirective,g.DefaultValueAccessor,g.RequiredValidator,b.InputVerbatimDirective,g.NgControlStatus,g.NgModel,S.A11yTitleDirective,w.NgClass,p.RouterLinkWithHref,g.CheckboxControlValueAccessor],pipes:[C.I18nPipe],encapsulation:2}),t}(s.LoginComponent);t.LoginComponent=P},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",(null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.minLength)>0),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireUpper),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireLower),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireNumbers),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireSpecial)}}function K(e,t){if(1&e){var n=u.ɵɵgetCurrentView();u.ɵɵelementStart(0,"div",12),u.ɵɵtext(1,"\n "),u.ɵɵelementStart(2,"div",48),u.ɵɵtext(3,"\n "),u.ɵɵelementStart(4,"input",49),u.ɵɵlistener("ngModelChange",function(e){return u.ɵɵrestoreView(n),u.ɵɵnextContext().acceptPolicies=e}),u.ɵɵelementEnd(),u.ɵɵtext(5,"\n "),u.ɵɵelementStart(6,"label",50),u.ɵɵtext(7),u.ɵɵpipe(8,"i18n"),u.ɵɵelement(9,"br"),u.ɵɵtext(10,"\n "),u.ɵɵelementStart(11,"a",51),u.ɵɵtext(12),u.ɵɵpipe(13,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(14,",\n "),u.ɵɵelementStart(15,"a",52),u.ɵɵtext(16),u.ɵɵpipe(17,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(18,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(19,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(20,"\n "),u.ɵɵelementEnd()}if(2&e){var r=u.ɵɵnextContext();u.ɵɵadvance(4),u.ɵɵproperty("ngModel",r.acceptPolicies),u.ɵɵadvance(3),u.ɵɵtextInterpolate1("\n ",u.ɵɵpipeBind1(8,4,"acceptPolicies"),""),u.ɵɵadvance(5),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(13,6,"termsOfService")),u.ɵɵadvance(4),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(17,8,"privacyPolicy"))}}var q=function(e){return["layout",e]},W=function(e,t){return{"col-5":e,"col-12":t}},H=function(e,t){return{"fa-eye":e,"fa-eye-slash":t}},$=function(e){function t(t,n,r,i,o,a,s,l,c,p){var u=e.call(this,t,n,r,i,o,s,l,c)||this;return u.route=a,u.policyService=p,u.showCreateOrgMessage=!1,u.layout="",u}return i(t,e),t.prototype.getPasswordScoreAlertDisplay=function(){if(null==this.enforcedPolicyOptions)return"";var e;switch(this.enforcedPolicyOptions.minComplexity){case 4:e=this.i18nService.t("strong");break;case 3:e=this.i18nService.t("good");break;default:e=this.i18nService.t("weak")}return e+" ("+this.enforcedPolicyOptions.minComplexity+")"},t.prototype.ngOnInit=function(){return o(this,void 0,void 0,function(){var e,t,n,r,i,o=this;return a(this,function(a){switch(a.label){case 0:return e=this.route.queryParams.subscribe(function(t){o.referenceData=new p.ReferenceEventRequest,null!=t.email&&t.email.indexOf("@")>-1&&(o.email=t.email),null!=t.premium?o.stateService.save("loginRedirect",{route:"/settings/premium"}):null!=t.org&&(o.showCreateOrgMessage=!0,o.referenceData.flow=t.org,o.stateService.save("loginRedirect",{route:"/settings/create-organization",qParams:{plan:t.org}})),null!=t.layout&&(o.layout=o.referenceData.layout=t.layout),null!=t.reference?o.referenceData.id=t.reference:o.referenceData.id=("; "+document.cookie).split("; reference=").pop().split(";").shift(),""===o.referenceData.id&&(o.referenceData.id=null),null!=e&&e.unsubscribe()}),[4,this.stateService.get("orgInvitation")];case 1:if(null==(t=a.sent()))return[3,5];a.label=2;case 2:return a.trys.push([2,4,,5]),[4,this.apiService.getPoliciesByToken(t.organizationId,t.token,t.email,t.organizationUserId)];case 3:return null!=(n=a.sent()).data&&(r=n.data.map(function(e){return new c.PolicyData(e)}),this.policies=r.map(function(e){return new l.Policy(e)})),[3,5];case 4:return a.sent(),[3,5];case 5:return null==this.policies?[3,7]:(i=this,[4,this.policyService.getMasterPasswordPolicyOptions(this.policies)]);case 6:i.enforcedPolicyOptions=a.sent(),a.label=7;case 7:return[2]}})})},t.prototype.submit=function(){return o(this,void 0,void 0,function(){return a(this,function(t){switch(t.label){case 0:return null==this.enforcedPolicyOptions||this.policyService.evaluateMasterPassword(this.masterPasswordScore,this.masterPassword,this.enforcedPolicyOptions)?[4,e.prototype.submit.call(this)]:(this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("masterPasswordPolicyRequirementsNotMet")),[2]);case 1:return t.sent(),[2]}})})},t.ɵfac=function(e){return new(e||t)(u.ɵɵdirectiveInject(d.AuthService),u.ɵɵdirectiveInject(h.Router),u.ɵɵdirectiveInject(f.I18nService),u.ɵɵdirectiveInject(m.CryptoService),u.ɵɵdirectiveInject(v.ApiService),u.ɵɵdirectiveInject(h.ActivatedRoute),u.ɵɵdirectiveInject(y.StateService),u.ɵɵdirectiveInject(g.PlatformUtilsService),u.ɵɵdirectiveInject(x.PasswordGenerationService),u.ɵɵdirectiveInject(b.PolicyService))},t.ɵcmp=u.ɵɵdefineComponent({type:t,selectors:[["app-register"]],features:[u.ɵɵInheritDefinitionFeature],decls:146,vars:80,consts:[[1,"layout",3,"ngClass"],["class","header",4,"ngIf"],["ngNativeValidate","",1,"container",3,"appApiAction","ngSubmit"],["form",""],[1,"row"],["class","col-7",4,"ngIf"],[3,"ngClass"],[1,"row","justify-content-md-center","mt-5"],["class","lead text-center mb-4",4,"ngIf"],[1,"card","d-block"],[1,"card-body"],["type","info","icon","fa-thumb-tack",3,"title",4,"ngIf"],[1,"form-group"],["for","email"],["id","email","type","text","name","Email","required","","inputmode","email","appInputVerbatim","false",1,"form-control",3,"ngModel","appAutofocus","ngModelChange"],[1,"form-text","text-muted"],["for","name"],["id","name","type","text","name","Name",1,"form-control",3,"ngModel","appAutofocus","ngModelChange"],["type","info",4,"ngIf"],["for","masterPassword"],[1,"d-flex"],[1,"w-100"],["id","masterPassword","name","MasterPassword","required","","appInputVerbatim","",1,"text-monospace","form-control","mb-1",3,"type","ngModel","ngModelChange","input"],[3,"score","showText"],["type","button",1,"ml-1","btn","btn-link",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-lg",3,"ngClass"],[1,"progress-bar","invisible"],["for","masterPasswordRetype"],["id","masterPasswordRetype","name","MasterPasswordRetype","required","","appInputVerbatim","",1,"text-monospace","form-control",3,"type","ngModel","ngModelChange"],["for","hint"],["id","hint","type","text","name","Hint",1,"form-control",3,"ngModel","ngModelChange"],["class","form-group",4,"ngIf"],[1,"d-flex","mb-2"],["type","submit",1,"btn","btn-primary","btn-block","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["routerLink","/",1,"btn","btn-outline-secondary","btn-block","ml-2","mt-0"],[1,"header"],[1,"container"],[1,"col-7"],["alt","Bitwarden","src","images/logo-horizontal-white.png",1,"logo","mb-2"],[1,"mt-5"],[4,"ngIf"],[1,"highlight"],["src","images/wired-logo.png","alt","Wired"],[1,"lead","text-center","mb-4"],["type","info","icon","fa-thumb-tack",3,"title"],["type","info"],[1,"mb-0"],[1,"form-check"],["type","checkbox","id","acceptPolicies","name","AcceptPolicies",1,"form-check-input",3,"ngModel","ngModelChange"],["for","acceptPolicies",1,"form-check-label","small","text-muted"],["href","https://bitwarden.com/terms/","target","_blank","rel","noopener"],["href","https://bitwarden.com/privacy/","target","_blank","rel","noopener"]],template:function(e,t){if(1&e&&(u.ɵɵelementStart(0,"div",0),u.ɵɵtext(1,"\n "),u.ɵɵtemplate(2,O,13,0,"header",1),u.ɵɵtext(3,"\n "),u.ɵɵelementStart(4,"form",2,3),u.ɵɵlistener("ngSubmit",function(){return t.submit()}),u.ɵɵtext(6,"\n "),u.ɵɵelementStart(7,"div",4),u.ɵɵtext(8,"\n "),u.ɵɵtemplate(9,D,11,3,"div",5),u.ɵɵtext(10,"\n "),u.ɵɵelementStart(11,"div",6),u.ɵɵtext(12,"\n "),u.ɵɵelementStart(13,"div",7),u.ɵɵtext(14,"\n "),u.ɵɵelementStart(15,"div",6),u.ɵɵtext(16,"\n "),u.ɵɵtemplate(17,j,3,3,"p",8),u.ɵɵtext(18,"\n "),u.ɵɵelementStart(19,"div",9),u.ɵɵtext(20,"\n "),u.ɵɵelementStart(21,"div",10),u.ɵɵtext(22,"\n "),u.ɵɵtemplate(23,V,4,6,"app-callout",11),u.ɵɵtext(24,"\n "),u.ɵɵelementStart(25,"div",12),u.ɵɵtext(26,"\n "),u.ɵɵelementStart(27,"label",13),u.ɵɵtext(28),u.ɵɵpipe(29,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(30,"\n "),u.ɵɵelementStart(31,"input",14),u.ɵɵlistener("ngModelChange",function(e){return t.email=e}),u.ɵɵelementEnd(),u.ɵɵtext(32,"\n "),u.ɵɵelementStart(33,"small",15),u.ɵɵtext(34),u.ɵɵpipe(35,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(36,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(37,"\n "),u.ɵɵelementStart(38,"div",12),u.ɵɵtext(39,"\n "),u.ɵɵelementStart(40,"label",16),u.ɵɵtext(41),u.ɵɵpipe(42,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(43,"\n "),u.ɵɵelementStart(44,"input",17),u.ɵɵlistener("ngModelChange",function(e){return t.name=e}),u.ɵɵelementEnd(),u.ɵɵtext(45,"\n "),u.ɵɵelementStart(46,"small",15),u.ɵɵtext(47),u.ɵɵpipe(48,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(49,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(50,"\n "),u.ɵɵelementStart(51,"div",12),u.ɵɵtext(52,"\n "),u.ɵɵtemplate(53,G,18,9,"app-callout",18),u.ɵɵtext(54,"\n "),u.ɵɵelementStart(55,"label",19),u.ɵɵtext(56),u.ɵɵpipe(57,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(58,"\n "),u.ɵɵelementStart(59,"div",20),u.ɵɵtext(60,"\n "),u.ɵɵelementStart(61,"div",21),u.ɵɵtext(62,"\n "),u.ɵɵelementStart(63,"input",22),u.ɵɵlistener("ngModelChange",function(e){return t.masterPassword=e})("input",function(){return t.updatePasswordStrength()}),u.ɵɵelementEnd(),u.ɵɵtext(64,"\n "),u.ɵɵelementStart(65,"app-password-strength",23),u.ɵɵtext(66,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(67,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(68,"\n "),u.ɵɵelementStart(69,"div"),u.ɵɵtext(70,"\n "),u.ɵɵelementStart(71,"button",24),u.ɵɵlistener("click",function(){return t.togglePassword(!1)}),u.ɵɵpipe(72,"i18n"),u.ɵɵtext(73,"\n "),u.ɵɵelement(74,"i",25),u.ɵɵtext(75,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(76,"\n "),u.ɵɵelement(77,"div",26),u.ɵɵtext(78,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(79,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(80,"\n "),u.ɵɵelementStart(81,"small",15),u.ɵɵtext(82),u.ɵɵpipe(83,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(84,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(85,"\n "),u.ɵɵelementStart(86,"div",12),u.ɵɵtext(87,"\n "),u.ɵɵelementStart(88,"label",27),u.ɵɵtext(89),u.ɵɵpipe(90,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(91,"\n "),u.ɵɵelementStart(92,"div",20),u.ɵɵtext(93,"\n "),u.ɵɵelementStart(94,"input",28),u.ɵɵlistener("ngModelChange",function(e){return t.confirmMasterPassword=e}),u.ɵɵelementEnd(),u.ɵɵtext(95,"\n "),u.ɵɵelementStart(96,"button",24),u.ɵɵlistener("click",function(){return t.togglePassword(!0)}),u.ɵɵpipe(97,"i18n"),u.ɵɵtext(98,"\n "),u.ɵɵelement(99,"i",25),u.ɵɵtext(100,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(101,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(102,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(103,"\n "),u.ɵɵelementStart(104,"div",12),u.ɵɵtext(105,"\n "),u.ɵɵelementStart(106,"label",29),u.ɵɵtext(107),u.ɵɵpipe(108,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(109,"\n "),u.ɵɵelementStart(110,"input",30),u.ɵɵlistener("ngModelChange",function(e){return t.hint=e}),u.ɵɵelementEnd(),u.ɵɵtext(111,"\n "),u.ɵɵelementStart(112,"small",15),u.ɵɵtext(113),u.ɵɵpipe(114,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(115,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(116,"\n "),u.ɵɵtemplate(117,K,21,10,"div",31),u.ɵɵtext(118,"\n "),u.ɵɵelement(119,"hr"),u.ɵɵtext(120,"\n "),u.ɵɵelementStart(121,"div",32),u.ɵɵtext(122,"\n "),u.ɵɵelementStart(123,"button",33),u.ɵɵtext(124,"\n "),u.ɵɵelementStart(125,"span"),u.ɵɵtext(126),u.ɵɵpipe(127,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(128,"\n "),u.ɵɵelement(129,"i",34),u.ɵɵpipe(130,"i18n"),u.ɵɵtext(131,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(132,"\n "),u.ɵɵelementStart(133,"a",35),u.ɵɵtext(134),u.ɵɵpipe(135,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(136,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(137,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(138,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(139,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(140,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(141,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(142,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(143,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(144,"\n"),u.ɵɵelementEnd(),u.ɵɵtext(145,"\n")),2&e){var n=u.ɵɵreference(5);u.ɵɵproperty("ngClass",u.ɵɵpureFunction1(66,q,t.layout)),u.ɵɵadvance(2),u.ɵɵproperty("ngIf","enterprise2"===t.layout),u.ɵɵadvance(2),u.ɵɵproperty("appApiAction",t.formPromise),u.ɵɵadvance(5),u.ɵɵproperty("ngIf",t.layout),u.ɵɵadvance(2),u.ɵɵproperty("ngClass",u.ɵɵpureFunction2(68,W,t.layout,!t.layout)),u.ɵɵadvance(4),u.ɵɵproperty("ngClass",u.ɵɵpureFunction2(71,W,!t.layout,t.layout)),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",!t.layout),u.ɵɵadvance(6),u.ɵɵproperty("ngIf",t.showCreateOrgMessage),u.ɵɵadvance(5),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(29,38,"emailAddress")),u.ɵɵadvance(3),u.ɵɵproperty("ngModel",t.email)("appAutofocus",""===t.email),u.ɵɵadvance(3),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(35,40,"emailAddressDesc")),u.ɵɵadvance(7),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(42,42,"yourName")),u.ɵɵadvance(3),u.ɵɵproperty("ngModel",t.name)("appAutofocus",""!==t.email),u.ɵɵadvance(3),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(48,44,"yourNameDesc")),u.ɵɵadvance(6),u.ɵɵproperty("ngIf",t.enforcedPolicyOptions),u.ɵɵadvance(3),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(57,46,"masterPass")),u.ɵɵadvance(7),u.ɵɵpropertyInterpolate("type",t.showPassword?"text":"password"),u.ɵɵproperty("ngModel",t.masterPassword),u.ɵɵadvance(2),u.ɵɵproperty("score",t.masterPasswordScore)("showText",!0),u.ɵɵadvance(6),u.ɵɵpropertyInterpolate("appA11yTitle",u.ɵɵpipeBind1(72,48,"toggleVisibility")),u.ɵɵadvance(3),u.ɵɵproperty("ngClass",u.ɵɵpureFunction2(74,H,!t.showPassword,t.showPassword)),u.ɵɵadvance(8),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(83,50,"masterPassDesc")),u.ɵɵadvance(7),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(90,52,"reTypeMasterPass")),u.ɵɵadvance(5),u.ɵɵpropertyInterpolate("type",t.showPassword?"text":"password"),u.ɵɵproperty("ngModel",t.confirmMasterPassword),u.ɵɵadvance(2),u.ɵɵpropertyInterpolate("appA11yTitle",u.ɵɵpipeBind1(97,54,"toggleVisibility")),u.ɵɵadvance(3),u.ɵɵproperty("ngClass",u.ɵɵpureFunction2(77,H,!t.showPassword,t.showPassword)),u.ɵɵadvance(8),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(108,56,"masterPassHint")),u.ɵɵadvance(3),u.ɵɵproperty("ngModel",t.hint),u.ɵɵadvance(3),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(114,58,"masterPassHintDesc")),u.ɵɵadvance(4),u.ɵɵproperty("ngIf",t.showTerms),u.ɵɵadvance(6),u.ɵɵproperty("disabled",n.loading),u.ɵɵadvance(3),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(127,60,"submit")),u.ɵɵadvance(3),u.ɵɵpropertyInterpolate("title",u.ɵɵpipeBind1(130,62,"loading")),u.ɵɵadvance(5),u.ɵɵtextInterpolate1("\n ",u.ɵɵpipeBind1(135,64,"cancel"),"\n ")}},directives:[S.NgClass,S.NgIf,w.NgControlStatusGroup,w.NgForm,C.ApiActionDirective,w.DefaultValueAccessor,w.RequiredValidator,I.InputVerbatimDirective,w.NgControlStatus,w.NgModel,E.AutofocusDirective,P.PasswordStrengthComponent,k.A11yTitleDirective,h.RouterLinkWithHref,_.CalloutComponent,w.CheckboxControlValueAccessor],pipes:[A.I18nPipe],encapsulation:2}),t}(s.RegisterComponent);t.RegisterComponent=$},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){var n=e.call(this)||this;return null==t?n:(n.id=t.id,n.organizationId=t.organizationId,n.type=t.type,n.data=t.data,n.enabled=t.enabled,n)}return i(t,e),t}(n(80).default);t.Policy=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.id=e.id,this.organizationId=e.organizationId,this.type=e.type,this.data=e.data,this.enabled=e.enabled}}();t.PolicyData=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});n(0),n(7),n(6),n(23),n(4),n(16),n(37),n(5),n(83),n(61),n(9);var o=n(811),a=n(0),s=n(6),l=n(4),c=n(23),p=n(16),u=n(9),d=n(37),h=n(5),f=n(83),m=n(7),v=n(61),y=n(15),g=n(17),x=n(3),b=n(28),S=n(46),w=n(272),C=n(18),I=n(11);function E(e,t){1&e&&(a.ɵɵelementStart(0,"div",8),a.ɵɵtext(1,"\n "),a.ɵɵelement(2,"i",9),a.ɵɵpipe(3,"i18n"),a.ɵɵtext(4),a.ɵɵpipe(5,"i18n"),a.ɵɵelementEnd()),2&e&&(a.ɵɵadvance(2),a.ɵɵpropertyInterpolate("title",a.ɵɵpipeBind1(3,2,"loading")),a.ɵɵadvance(2),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(5,4,"loading"),"\n "))}function P(e,t){if(1&e&&(a.ɵɵelementStart(0,"li"),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()),2&e){var n=a.ɵɵnextContext(3);a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind2(2,1,"policyInEffectMinComplexity",n.getPasswordScoreAlertDisplay()),"\n ")}}function k(e,t){if(1&e&&(a.ɵɵelementStart(0,"li"),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()),2&e){var n=a.ɵɵnextContext(3);a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind2(2,1,"policyInEffectMinLength",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.minLength.toString()),"\n ")}}function _(e,t){1&e&&(a.ɵɵelementStart(0,"li"),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()),2&e&&(a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(2,1,"policyInEffectUppercase"),""))}function A(e,t){1&e&&(a.ɵɵelementStart(0,"li"),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()),2&e&&(a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(2,1,"policyInEffectLowercase"),""))}function O(e,t){1&e&&(a.ɵɵelementStart(0,"li"),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()),2&e&&(a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(2,1,"policyInEffectNumbers"),""))}function T(e,t){1&e&&(a.ɵɵelementStart(0,"li"),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()),2&e&&(a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind2(2,1,"policyInEffectSpecial","!@#$%^&*"),""))}function M(e,t){if(1&e&&(a.ɵɵelementStart(0,"app-callout",11),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementStart(3,"ul",29),a.ɵɵtext(4,"\n "),a.ɵɵtemplate(5,P,3,4,"li",30),a.ɵɵtext(6,"\n "),a.ɵɵtemplate(7,k,3,4,"li",30),a.ɵɵtext(8,"\n "),a.ɵɵtemplate(9,_,3,3,"li",30),a.ɵɵtext(10,"\n "),a.ɵɵtemplate(11,A,3,3,"li",30),a.ɵɵtext(12,"\n "),a.ɵɵtemplate(13,O,3,3,"li",30),a.ɵɵtext(14,"\n "),a.ɵɵtemplate(15,T,3,4,"li",30),a.ɵɵtext(16,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(17,"\n "),a.ɵɵelementEnd()),2&e){var n=a.ɵɵnextContext(2);a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(2,7,"masterPasswordPolicyInEffect"),"\n "),a.ɵɵadvance(4),a.ɵɵproperty("ngIf",(null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.minComplexity)>0),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",(null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.minLength)>0),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireUpper),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireLower),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireNumbers),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireSpecial)}}var B=function(e,t){return{"fa-eye":e,"fa-eye-slash":t}};function D(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"div",10),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"app-callout",11),a.ɵɵtext(3),a.ɵɵpipe(4,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(5,"\n "),a.ɵɵelementStart(6,"div",12),a.ɵɵtext(7,"\n "),a.ɵɵtemplate(8,M,18,9,"app-callout",13),a.ɵɵtext(9,"\n "),a.ɵɵelementStart(10,"label",14),a.ɵɵtext(11),a.ɵɵpipe(12,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(13,"\n "),a.ɵɵelementStart(14,"div",15),a.ɵɵtext(15,"\n "),a.ɵɵelementStart(16,"div",16),a.ɵɵtext(17,"\n "),a.ɵɵelementStart(18,"input",17),a.ɵɵlistener("ngModelChange",function(e){return a.ɵɵrestoreView(n),a.ɵɵnextContext().masterPassword=e})("input",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext().updatePasswordStrength()}),a.ɵɵelementEnd(),a.ɵɵtext(19,"\n "),a.ɵɵelementStart(20,"app-password-strength",18),a.ɵɵtext(21,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(22,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(23,"\n "),a.ɵɵelementStart(24,"div"),a.ɵɵtext(25,"\n "),a.ɵɵelementStart(26,"button",19),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext().togglePassword(!1)}),a.ɵɵpipe(27,"i18n"),a.ɵɵtext(28,"\n "),a.ɵɵelement(29,"i",20),a.ɵɵtext(30,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(31,"\n "),a.ɵɵelement(32,"div",21),a.ɵɵtext(33,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(34,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(35,"\n "),a.ɵɵelementStart(36,"small",22),a.ɵɵtext(37),a.ɵɵpipe(38,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(39,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(40,"\n "),a.ɵɵelementStart(41,"div",12),a.ɵɵtext(42,"\n "),a.ɵɵelementStart(43,"label",23),a.ɵɵtext(44),a.ɵɵpipe(45,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(46,"\n "),a.ɵɵelementStart(47,"div",15),a.ɵɵtext(48,"\n "),a.ɵɵelementStart(49,"input",24),a.ɵɵlistener("ngModelChange",function(e){return a.ɵɵrestoreView(n),a.ɵɵnextContext().masterPasswordRetype=e}),a.ɵɵelementEnd(),a.ɵɵtext(50,"\n "),a.ɵɵelementStart(51,"button",19),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext().togglePassword(!0)}),a.ɵɵpipe(52,"i18n"),a.ɵɵtext(53,"\n "),a.ɵɵelement(54,"i",20),a.ɵɵtext(55,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(56,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(57,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(58,"\n "),a.ɵɵelementStart(59,"div",12),a.ɵɵtext(60,"\n "),a.ɵɵelementStart(61,"label",25),a.ɵɵtext(62),a.ɵɵpipe(63,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(64,"\n "),a.ɵɵelementStart(65,"input",26),a.ɵɵlistener("ngModelChange",function(e){return a.ɵɵrestoreView(n),a.ɵɵnextContext().hint=e}),a.ɵɵelementEnd(),a.ɵɵtext(66,"\n "),a.ɵɵelementStart(67,"small",22),a.ɵɵtext(68),a.ɵɵpipe(69,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(70,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(71,"\n "),a.ɵɵelement(72,"hr"),a.ɵɵtext(73,"\n "),a.ɵɵelementStart(74,"div",15),a.ɵɵtext(75,"\n "),a.ɵɵelementStart(76,"button",27),a.ɵɵtext(77,"\n "),a.ɵɵelement(78,"i",9),a.ɵɵpipe(79,"i18n"),a.ɵɵtext(80,"\n "),a.ɵɵelementStart(81,"span"),a.ɵɵtext(82),a.ɵɵpipe(83,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(84,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(85,"\n "),a.ɵɵelementStart(86,"button",28),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext().logOut()}),a.ɵɵtext(87),a.ɵɵpipe(88,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(89,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(90,"\n "),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵnextContext(),i=a.ɵɵreference(1);a.ɵɵadvance(3),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(4,22,"ssoCompleteRegistration")),a.ɵɵadvance(5),a.ɵɵproperty("ngIf",r.enforcedPolicyOptions),a.ɵɵadvance(3),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(12,24,"masterPass")),a.ɵɵadvance(7),a.ɵɵpropertyInterpolate("type",r.showPassword?"text":"password"),a.ɵɵproperty("ngModel",r.masterPassword),a.ɵɵadvance(2),a.ɵɵproperty("score",r.masterPasswordScore)("showText",!0),a.ɵɵadvance(6),a.ɵɵpropertyInterpolate("appA11yTitle",a.ɵɵpipeBind1(27,26,"toggleVisibility")),a.ɵɵadvance(3),a.ɵɵproperty("ngClass",a.ɵɵpureFunction2(44,B,!r.showPassword,r.showPassword)),a.ɵɵadvance(8),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(38,28,"masterPassDesc")),a.ɵɵadvance(7),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(45,30,"reTypeMasterPass")),a.ɵɵadvance(5),a.ɵɵpropertyInterpolate("type",r.showPassword?"text":"password"),a.ɵɵproperty("ngModel",r.masterPasswordRetype),a.ɵɵadvance(2),a.ɵɵpropertyInterpolate("appA11yTitle",a.ɵɵpipeBind1(52,32,"toggleVisibility")),a.ɵɵadvance(3),a.ɵɵproperty("ngClass",a.ɵɵpureFunction2(47,B,!r.showPassword,r.showPassword)),a.ɵɵadvance(8),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(63,34,"masterPassHint")),a.ɵɵadvance(3),a.ɵɵproperty("ngModel",r.hint),a.ɵɵadvance(3),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(69,36,"masterPassHintDesc")),a.ɵɵadvance(8),a.ɵɵproperty("disabled",i.loading),a.ɵɵadvance(2),a.ɵɵpropertyInterpolate("title",a.ɵɵpipeBind1(79,38,"loading")),a.ɵɵadvance(4),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(83,40,"submit")),a.ɵɵadvance(5),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(88,42,"logOut"),"\n ")}}var j=function(e){function t(t,n,r,i,o,a,s,l,c,p,u){return e.call(this,n,r,i,o,a,s,l,c,t,p,u)||this}return i(t,e),t.ɵfac=function(e){return new(e||t)(a.ɵɵdirectiveInject(s.ApiService),a.ɵɵdirectiveInject(l.I18nService),a.ɵɵdirectiveInject(c.CryptoService),a.ɵɵdirectiveInject(p.MessagingService),a.ɵɵdirectiveInject(u.UserService),a.ɵɵdirectiveInject(d.PasswordGenerationService),a.ɵɵdirectiveInject(h.PlatformUtilsService),a.ɵɵdirectiveInject(f.PolicyService),a.ɵɵdirectiveInject(m.Router),a.ɵɵdirectiveInject(v.SyncService),a.ɵɵdirectiveInject(m.ActivatedRoute))},t.ɵcmp=a.ɵɵdefineComponent({type:t,selectors:[["app-set-password"]],features:[a.ɵɵInheritDefinitionFeature],decls:21,vars:6,consts:[["ngNativeValidate","","autocomplete","off",3,"appApiAction","ngSubmit"],["form",""],[1,"row","justify-content-md-center","mt-5"],[1,"col-5"],[1,"lead","text-center","mb-4"],[1,"card","d-block"],["class","card-body text-center",4,"ngIf"],["class","card-body",4,"ngIf"],[1,"card-body","text-center"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],[1,"card-body"],["type","info"],[1,"form-group"],["type","info",4,"ngIf"],["for","masterPassword"],[1,"d-flex"],[1,"w-100"],["id","masterPassword","name","MasterPasswordHash","required","","appInputVerbatim","",1,"text-monospace","form-control","mb-1",3,"type","ngModel","ngModelChange","input"],[3,"score","showText"],["type","button",1,"ml-1","btn","btn-link",3,"appA11yTitle","click"],["aria-hidden","true",1,"fa","fa-lg",3,"ngClass"],[1,"progress-bar","invisible"],[1,"form-text","text-muted"],["for","masterPasswordRetype"],["id","masterPasswordRetype","name","MasterPasswordRetype","required","","appInputVerbatim","",1,"text-monospace","form-control",3,"type","ngModel","ngModelChange"],["for","hint"],["id","hint","type","text","name","Hint",1,"form-control",3,"ngModel","ngModelChange"],["type","submit",1,"btn","btn-primary","btn-block","btn-submit",3,"disabled"],["type","button",1,"btn","btn-outline-secondary","btn-block","ml-2","mt-0",3,"click"],[1,"mb-0"],[4,"ngIf"]],template:function(e,t){1&e&&(a.ɵɵelementStart(0,"form",0,1),a.ɵɵlistener("ngSubmit",function(){return t.submit()}),a.ɵɵtext(2,"\n "),a.ɵɵelementStart(3,"div",2),a.ɵɵtext(4,"\n "),a.ɵɵelementStart(5,"div",3),a.ɵɵtext(6,"\n "),a.ɵɵelementStart(7,"p",4),a.ɵɵtext(8),a.ɵɵpipe(9,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(10,"\n "),a.ɵɵelementStart(11,"div",5),a.ɵɵtext(12,"\n "),a.ɵɵtemplate(13,E,6,6,"div",6),a.ɵɵtext(14,"\n "),a.ɵɵtemplate(15,D,91,50,"div",7),a.ɵɵtext(16,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(17,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(18,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(19,"\n"),a.ɵɵelementEnd(),a.ɵɵtext(20,"\n")),2&e&&(a.ɵɵproperty("appApiAction",t.formPromise),a.ɵɵadvance(8),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(9,4,"setMasterPassword")),a.ɵɵadvance(5),a.ɵɵproperty("ngIf",t.syncLoading),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",!t.syncLoading))},directives:[y.NgControlStatusGroup,y.NgForm,g.ApiActionDirective,x.NgIf,b.CalloutComponent,y.DefaultValueAccessor,y.RequiredValidator,S.InputVerbatimDirective,y.NgControlStatus,y.NgModel,w.PasswordStrengthComponent,C.A11yTitleDirective,x.NgClass],pipes:[I.I18nPipe],encapsulation:2}),t}(o.SetPasswordComponent);t.SetPasswordComponent=j},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1&&(e=e.concat(this.email.substr(0,t).trim().toLowerCase().split(/[^A-Za-z0-9]/))),e},e.ɵfac=function(t){return new(t||e)(o.ɵɵdirectiveInject(a.I18nService),o.ɵɵdirectiveInject(s.CryptoService),o.ɵɵdirectiveInject(l.MessagingService),o.ɵɵdirectiveInject(c.UserService),o.ɵɵdirectiveInject(p.PasswordGenerationService),o.ɵɵdirectiveInject(u.PlatformUtilsService),o.ɵɵdirectiveInject(d.PolicyService))},e.ɵdir=o.ɵɵdefineDirective({type:e}),e}();t.ChangePasswordComponent=h},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1?t[1]:null},e.prototype.checkState=function(e,t){if(null==e)return!1;if(null==t)return!1;var n=e.split("_identifier="),r=t.split("_identifier=");return n[0]===r[0]},e.ɵfac=function(t){return new(t||e)(s.ɵɵdirectiveInject(l.AuthService),s.ɵɵdirectiveInject(c.Router),s.ɵɵdirectiveInject(p.I18nService),s.ɵɵdirectiveInject(c.ActivatedRoute),s.ɵɵdirectiveInject(u.StorageService),s.ɵɵdirectiveInject(d.StateService),s.ɵɵdirectiveInject(h.PlatformUtilsService),s.ɵɵdirectiveInject(f.ApiService),s.ɵɵdirectiveInject(m.CryptoFunctionService),s.ɵɵdirectiveInject(v.PasswordGenerationService))},e.ɵdir=s.ɵɵdefineDirective({type:e}),e}();t.SsoComponent=y},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]this.pageSize&&(t=this.pagedCollectionsCount),this.collections.length>e&&(this.pagedCollections=this.pagedCollections.concat(this.collections.slice(e,e+t))),this.pagedCollectionsCount=this.pagedCollections.length,this.didScroll=this.pagedCollections.length>this.pageSize}},e.prototype.edit=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(l.ModalComponent);this.modal=this.addEditModalRef.createComponent(n).instance;var r=this.modal.show(c.CollectionAddEditComponent,this.addEditModalRef);r.organizationId=this.organizationId,r.collectionId=null!=e?e.id:null,r.onSavedCollection.subscribe(function(){t.modal.close(),t.load()}),r.onDeletedCollection.subscribe(function(){t.modal.close(),t.removeCollection(e)}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.add=function(){this.edit(null)},e.prototype.delete=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteCollectionConfirmation"),e.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!t.sent())return[2,!1];t.label=2;case 2:return t.trys.push([2,4,,5]),[4,this.apiService.deleteCollection(this.organizationId,e.id)];case 3:return t.sent(),this.analytics.eventTrack.next({action:"Deleted Collection"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedCollectionId",e.name)),this.removeCollection(e),[3,5];case 4:return t.sent(),[3,5];case 5:return[2]}})})},e.prototype.users=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(l.ModalComponent);this.modal=this.usersModalRef.createComponent(n).instance;var r=this.modal.show(p.EntityUsersComponent,this.usersModalRef);r.organizationId=this.organizationId,r.entity="collection",r.entityId=e.id,r.entityName=e.name,r.onEditedUsers.subscribe(function(){t.load(),t.modal.close()}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.resetPaging=function(){return r(this,void 0,void 0,function(){return i(this,function(e){return this.pagedCollections=[],this.loadMore(),[2]})})},e.prototype.isSearching=function(){return this.searchService.isSearchable(this.searchText)},e.prototype.isPaging=function(){var e=this.isSearching();return e&&this.didScroll&&this.resetPaging(),!e&&this.collections&&this.collections.length>this.pageSize},e.prototype.removeCollection=function(e){var t=this.collections.indexOf(e);t>-1&&(this.collections.splice(t,1),this.resetPaging())},e.ɵfac=function(t){return new(t||e)(u.ɵɵdirectiveInject(d.ApiService),u.ɵɵdirectiveInject(h.ActivatedRoute),u.ɵɵdirectiveInject(f.CollectionService),u.ɵɵdirectiveInject(u.ComponentFactoryResolver),u.ɵɵdirectiveInject(m.Angulartics2),u.ɵɵdirectiveInject(v.ToasterService),u.ɵɵdirectiveInject(y.I18nService),u.ɵɵdirectiveInject(g.PlatformUtilsService),u.ɵɵdirectiveInject(x.UserService),u.ɵɵdirectiveInject(b.SearchService))},e.ɵcmp=u.ɵɵdefineComponent({type:e,selectors:[["app-org-manage-collections"]],viewQuery:function(e,t){var n;(1&e&&(u.ɵɵstaticViewQuery(_,!0,o.ViewContainerRef),u.ɵɵstaticViewQuery(A,!0,o.ViewContainerRef)),2&e)&&(u.ɵɵqueryRefresh(n=u.ɵɵloadQuery())&&(t.addEditModalRef=n.first),u.ɵɵqueryRefresh(n=u.ɵɵloadQuery())&&(t.usersModalRef=n.first))},decls:37,vars:20,consts:[[1,"page-header","d-flex"],[1,"ml-auto","d-flex"],["for","search",1,"sr-only"],["type","search","id","search",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],["type","button",1,"btn","btn-sm","btn-outline-primary","ml-3",3,"click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"],[4,"ngIf"],["addEdit",""],["usersTemplate",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["class","table table-hover table-list","infiniteScroll","",3,"infiniteScrollDistance","infiniteScrollDisabled","scrolled",4,"ngIf"],["infiniteScroll","",1,"table","table-hover","table-list",3,"infiniteScrollDistance","infiniteScrollDisabled","scrolled"],[4,"ngFor","ngForOf"],["href","#","appStopClick","",3,"click"],[1,"table-list-options"],["appListDropdown","",1,"dropdown"],["type","button","data-toggle","dropdown","aria-haspopup","true","aria-expanded","false",1,"btn","btn-outline-secondary","dropdown-toggle",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-cog","fa-lg"],[1,"dropdown-menu","dropdown-menu-right"],["href","#","appStopClick","",1,"dropdown-item",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-users"],["href","#","appStopClick","",1,"dropdown-item","text-danger",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-trash-o"]],template:function(e,t){1&e&&(u.ɵɵelementStart(0,"div",0),u.ɵɵtext(1,"\n "),u.ɵɵelementStart(2,"h1"),u.ɵɵtext(3),u.ɵɵpipe(4,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(5,"\n "),u.ɵɵelementStart(6,"div",1),u.ɵɵtext(7,"\n "),u.ɵɵelementStart(8,"div"),u.ɵɵtext(9,"\n "),u.ɵɵelementStart(10,"label",2),u.ɵɵtext(11),u.ɵɵpipe(12,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(13,"\n "),u.ɵɵelementStart(14,"input",3),u.ɵɵlistener("ngModelChange",function(e){return t.searchText=e}),u.ɵɵpipe(15,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(16,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(17,"\n "),u.ɵɵelementStart(18,"button",4),u.ɵɵlistener("click",function(){return t.add()}),u.ɵɵtext(19,"\n "),u.ɵɵelement(20,"i",5),u.ɵɵtext(21),u.ɵɵpipe(22,"i18n"),u.ɵɵelementEnd(),u.ɵɵtext(23,"\n "),u.ɵɵelementEnd(),u.ɵɵtext(24,"\n"),u.ɵɵelementEnd(),u.ɵɵtext(25,"\n"),u.ɵɵtemplate(26,O,9,6,"ng-container",6),u.ɵɵtext(27,"\n"),u.ɵɵtemplate(28,D,6,2,"ng-container",6),u.ɵɵpipe(29,"search"),u.ɵɵtext(30,"\n"),u.ɵɵtemplate(31,j,0,0,"ng-template",null,7,u.ɵɵtemplateRefExtractor),u.ɵɵtext(33,"\n"),u.ɵɵtemplate(34,V,0,0,"ng-template",null,8,u.ɵɵtemplateRefExtractor),u.ɵɵtext(36,"\n")),2&e&&(u.ɵɵadvance(3),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(4,7,"collections")),u.ɵɵadvance(8),u.ɵɵtextInterpolate(u.ɵɵpipeBind1(12,9,"search")),u.ɵɵadvance(3),u.ɵɵpropertyInterpolate("placeholder",u.ɵɵpipeBind1(15,11,"search")),u.ɵɵproperty("ngModel",t.searchText),u.ɵɵadvance(7),u.ɵɵtextInterpolate1("\n ",u.ɵɵpipeBind1(22,13,"newCollection"),"\n "),u.ɵɵadvance(5),u.ɵɵproperty("ngIf",t.loading),u.ɵɵadvance(2),u.ɵɵproperty("ngIf",!t.loading&&(t.isPaging()?t.pagedCollections:u.ɵɵpipeBind4(29,15,t.collections,t.searchText,"name","id"))))},directives:[S.DefaultValueAccessor,S.NgControlStatus,S.NgModel,w.NgIf,C.InfiniteScrollDirective,w.NgForOf,I.StopClickDirective,E.A11yTitleDirective],pipes:[P.I18nPipe,k.SearchPipe],encapsulation:2}),e}();t.CollectionsComponent=R},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&r.groups.forEach(function(e){var t=s.groups.filter(function(t){return!t.accessAll&&t.id===e.id});null!=t&&t.length>0&&(t[0].checked=!0,t[0].readOnly=e.readOnly,t[0].hidePasswords=e.hidePasswords)}),[3,9];case 8:return i.sent(),[3,9];case 9:return[3,11];case 10:this.title=this.i18nService.t("addCollection"),i.label=11;case 11:return this.groups.forEach(function(e){e.accessAll&&(e.checked=!0)}),this.loading=!1,[2]}})})},e.prototype.check=function(e,t){e.accessAll||(e.checked=null==t?!e.checked:t,e.checked||(e.readOnly=!1,e.hidePasswords=!1))},e.prototype.selectAll=function(e){var t=this;this.groups.forEach(function(n){return t.check(n,e)})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e,t;return i(this,function(n){switch(n.label){case 0:if(null==this.orgKey)throw new Error("No encryption key for this organization.");return e=new s.CollectionRequest,t=e,[4,this.cryptoService.encrypt(this.name,this.orgKey)];case 1:t.name=n.sent().encryptedString,e.externalId=this.externalId,e.groups=this.groups.filter(function(e){return e.checked&&!e.accessAll}).map(function(e){return new l.SelectionReadOnlyRequest(e.id,!!e.readOnly,!!e.hidePasswords)}),n.label=2;case 2:return n.trys.push([2,4,,5]),this.editMode?this.formPromise=this.apiService.putCollection(this.organizationId,this.collectionId,e):this.formPromise=this.apiService.postCollection(this.organizationId,e),[4,this.formPromise];case 3:return n.sent(),this.analytics.eventTrack.next({action:this.editMode?"Edited Collection":"Created Collection"}),this.toasterService.popAsync("success",null,this.i18nService.t(this.editMode?"editedCollectionId":"createdCollectionId",this.name)),this.onSavedCollection.emit(),[3,5];case 4:return n.sent(),[3,5];case 5:return[2]}})})},e.prototype.delete=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.editMode?[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteCollectionConfirmation"),this.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2];case 1:if(!e.sent())return[2,!1];e.label=2;case 2:return e.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteCollection(this.organizationId,this.collectionId),[4,this.deletePromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:"Deleted Collection"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedCollectionId",this.name)),this.onDeletedCollection.emit(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},e.ɵfac=function(t){return new(t||e)(p.ɵɵdirectiveInject(u.ApiService),p.ɵɵdirectiveInject(d.I18nService),p.ɵɵdirectiveInject(h.Angulartics2),p.ɵɵdirectiveInject(f.ToasterService),p.ɵɵdirectiveInject(m.PlatformUtilsService),p.ɵɵdirectiveInject(v.CryptoService),p.ɵɵdirectiveInject(y.UserService))},e.ɵcmp=p.ɵɵdefineComponent({type:e,selectors:[["app-collection-add-edit"]],inputs:{collectionId:"collectionId",organizationId:"organizationId"},outputs:{onSavedCollection:"onSavedCollection",onDeletedCollection:"onDeletedCollection"},decls:49,vars:18,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","collectionAddEditTitle",1,"modal","fade"],["role","document",1,"modal-dialog"],["ngNativeValidate","",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","collectionAddEditTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"ml-auto"],["type","button","class","btn btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click",4,"ngIf"],[1,"modal-body"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"form-group"],["for","name"],["id","name","type","text","name","Name","required","","appAutofocus","",1,"form-control",3,"ngModel","ngModelChange"],["for","externalId"],["id","externalId","type","text","name","ExternalId",1,"form-control",3,"ngModel","ngModelChange"],[1,"form-text","text-muted"],[4,"ngIf"],[1,"mt-4","d-flex","mb-0"],["class","ml-auto",4,"ngIf"],["class","table table-hover table-list mb-0",4,"ngIf"],["type","button",1,"btn","btn-link","btn-sm","py-0",3,"click"],[1,"table","table-hover","table-list","mb-0"],["width","100",1,"text-center"],[4,"ngFor","ngForOf"],[1,"table-list-checkbox",3,"click"],["type","checkbox","appStopProp","",3,"ngModel","name","disabled","ngModelChange"],[3,"click"],[1,"text-center"],["type","checkbox",3,"ngModel","name","disabled","ngModelChange"],["aria-hidden","true",1,"fa","fa-th","text-muted","fa-fw",3,"title"],["type","button",1,"btn","btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click"],["deleteBtn",""],["aria-hidden","true",1,"fa","fa-trash-o","fa-lg","fa-fw",3,"hidden"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","fa-lg","fa-fw",3,"hidden","title"]],template:function(e,t){if(1&e&&(p.ɵɵelementStart(0,"div",0),p.ɵɵtext(1,"\n "),p.ɵɵelementStart(2,"div",1),p.ɵɵtext(3,"\n "),p.ɵɵelementStart(4,"form",2,3),p.ɵɵlistener("ngSubmit",function(){return t.submit()}),p.ɵɵtext(6,"\n "),p.ɵɵelementStart(7,"div",4),p.ɵɵtext(8,"\n "),p.ɵɵelementStart(9,"h2",5),p.ɵɵtext(10),p.ɵɵelementEnd(),p.ɵɵtext(11,"\n "),p.ɵɵelementStart(12,"button",6),p.ɵɵpipe(13,"i18n"),p.ɵɵtext(14,"\n "),p.ɵɵelementStart(15,"span",7),p.ɵɵtext(16,"×"),p.ɵɵelementEnd(),p.ɵɵtext(17,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(18,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(19,"\n "),p.ɵɵtemplate(20,E,9,6,"div",8),p.ɵɵtext(21,"\n "),p.ɵɵtemplate(22,M,26,12,"div",8),p.ɵɵtext(23,"\n "),p.ɵɵelementStart(24,"div",9),p.ɵɵtext(25,"\n "),p.ɵɵelementStart(26,"button",10),p.ɵɵtext(27,"\n "),p.ɵɵelement(28,"i",11),p.ɵɵpipe(29,"i18n"),p.ɵɵtext(30,"\n "),p.ɵɵelementStart(31,"span"),p.ɵɵtext(32),p.ɵɵpipe(33,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(34,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(35,"\n "),p.ɵɵelementStart(36,"button",12),p.ɵɵtext(37),p.ɵɵpipe(38,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(39,"\n "),p.ɵɵelementStart(40,"div",13),p.ɵɵtext(41,"\n "),p.ɵɵtemplate(42,B,9,10,"button",14),p.ɵɵtext(43,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(44,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(45,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(46,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(47,"\n"),p.ɵɵelementEnd(),p.ɵɵtext(48,"\n")),2&e){var n=p.ɵɵreference(5);p.ɵɵadvance(4),p.ɵɵproperty("appApiAction",t.formPromise),p.ɵɵadvance(6),p.ɵɵtextInterpolate(t.title),p.ɵɵadvance(2),p.ɵɵpropertyInterpolate("appA11yTitle",p.ɵɵpipeBind1(13,10,"close")),p.ɵɵadvance(8),p.ɵɵproperty("ngIf",t.loading),p.ɵɵadvance(2),p.ɵɵproperty("ngIf",!t.loading),p.ɵɵadvance(4),p.ɵɵproperty("disabled",n.loading),p.ɵɵadvance(2),p.ɵɵpropertyInterpolate("title",p.ɵɵpipeBind1(29,12,"loading")),p.ɵɵadvance(4),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(33,14,"save")),p.ɵɵadvance(5),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(38,16,"cancel")),p.ɵɵadvance(5),p.ɵɵproperty("ngIf",t.editMode)}},directives:[g.NgControlStatusGroup,g.NgForm,x.ApiActionDirective,b.A11yTitleDirective,S.NgIf,g.DefaultValueAccessor,g.RequiredValidator,w.AutofocusDirective,g.NgControlStatus,g.NgModel,S.NgForOf,g.CheckboxControlValueAccessor,C.StopPropDirective],pipes:[I.I18nPipe],encapsulation:2}),e}();t.CollectionAddEditComponent=D},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.groups=[],null!=e&&(this.name=e.name?e.name.encryptedString:null,this.externalId=e.externalId)}}();t.CollectionRequest=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?this.events=this.events.concat(o):this.events=o,this.loading=!1,this.morePromise=null,this.refreshPromise=null,[2]}})})},e.ɵfac=function(t){return new(t||e)(o.ɵɵdirectiveInject(a.ApiService),o.ɵɵdirectiveInject(s.ActivatedRoute),o.ɵɵdirectiveInject(l.EventService),o.ɵɵdirectiveInject(c.I18nService),o.ɵɵdirectiveInject(p.ToasterService),o.ɵɵdirectiveInject(u.UserService),o.ɵɵdirectiveInject(s.Router))},e.ɵcmp=o.ɵɵdefineComponent({type:e,selectors:[["app-org-events"]],decls:41,vars:27,consts:[[1,"page-header","d-flex"],[1,"ml-auto","d-flex"],[1,"form-inline"],["for","start",1,"sr-only"],["type","datetime-local","id","start","placeholder","YYYY-MM-DDTHH:MM",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],[1,"mx-2"],["for","end",1,"sr-only"],["type","datetime-local","id","end","placeholder","YYYY-MM-DDTHH:MM",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],["type","button",1,"btn","btn-sm","btn-outline-primary","ml-3",3,"appApiAction","disabled","click"],["refreshBtn",""],["aria-hidden","true",1,"fa","fa-refresh","fa-fw",3,"ngClass"],[4,"ngIf"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["class","table table-hover",4,"ngIf"],["type","button","class","btn btn-block btn-link btn-submit",3,"appApiAction","disabled","click",4,"ngIf"],[1,"table","table-hover"],["width","210",1,"border-top-0"],["width","40",1,"border-top-0"],["width","150",1,"border-top-0"],[1,"border-top-0"],[4,"ngFor","ngForOf"],["aria-hidden","true",3,"title"],[3,"title"],[3,"innerHTML"],["type","button",1,"btn","btn-block","btn-link","btn-submit",3,"appApiAction","disabled","click"],["moreBtn",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"]],template:function(e,t){if(1&e&&(o.ɵɵelementStart(0,"div",0),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"h1"),o.ɵɵtext(3),o.ɵɵpipe(4,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(5,"\n "),o.ɵɵelementStart(6,"div",1),o.ɵɵtext(7,"\n "),o.ɵɵelementStart(8,"div",2),o.ɵɵtext(9,"\n "),o.ɵɵelementStart(10,"label",3),o.ɵɵtext(11),o.ɵɵpipe(12,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(13,"\n "),o.ɵɵelementStart(14,"input",4),o.ɵɵlistener("ngModelChange",function(e){return t.start=e}),o.ɵɵpipe(15,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(16,"\n "),o.ɵɵelementStart(17,"span",5),o.ɵɵtext(18,"-"),o.ɵɵelementEnd(),o.ɵɵtext(19,"\n "),o.ɵɵelementStart(20,"label",6),o.ɵɵtext(21),o.ɵɵpipe(22,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(23,"\n "),o.ɵɵelementStart(24,"input",7),o.ɵɵlistener("ngModelChange",function(e){return t.end=e}),o.ɵɵpipe(25,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(26,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(27,"\n "),o.ɵɵelementStart(28,"button",8,9),o.ɵɵlistener("click",function(){return t.loadEvents(!0)}),o.ɵɵtext(30,"\n "),o.ɵɵelement(31,"i",10),o.ɵɵtext(32),o.ɵɵpipe(33,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(34,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(35,"\n"),o.ɵɵelementEnd(),o.ɵɵtext(36,"\n"),o.ɵɵtemplate(37,v,9,6,"ng-container",11),o.ɵɵtext(38,"\n"),o.ɵɵtemplate(39,S,8,3,"ng-container",11),o.ɵɵtext(40,"\n")),2&e){var n=o.ɵɵreference(29);o.ɵɵadvance(3),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(4,13,"eventLogs")),o.ɵɵadvance(8),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(12,15,"startDate")),o.ɵɵadvance(3),o.ɵɵpropertyInterpolate("placeholder",o.ɵɵpipeBind1(15,17,"startDate")),o.ɵɵproperty("ngModel",t.start),o.ɵɵadvance(7),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(22,19,"endDate")),o.ɵɵadvance(3),o.ɵɵpropertyInterpolate("placeholder",o.ɵɵpipeBind1(25,21,"endDate")),o.ɵɵproperty("ngModel",t.end),o.ɵɵadvance(4),o.ɵɵproperty("appApiAction",t.refreshPromise)("disabled",t.loaded&&n.loading),o.ɵɵadvance(3),o.ɵɵproperty("ngClass",o.ɵɵpureFunction1(25,w,t.loaded&&n.loading)),o.ɵɵadvance(1),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(33,23,"refresh"),"\n "),o.ɵɵadvance(5),o.ɵɵproperty("ngIf",!t.loaded),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",t.loaded)}},directives:[d.DefaultValueAccessor,d.NgControlStatus,d.NgModel,h.ApiActionDirective,f.NgClass,f.NgIf,f.NgForOf],pipes:[m.I18nPipe,f.DatePipe],encapsulation:2}),e}();t.EventsComponent=C},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?e.data:[]).sort(a.Utils.getSortFunction(this.i18nService,"name")),this.groups=t,this.resetPaging(),this.loading=!1,[2]}})})},e.prototype.loadMore=function(){if(this.groups&&!(this.groups.length<=this.pageSize)){var e=this.pagedGroups.length,t=this.pageSize;0===e&&this.pagedGroupsCount>this.pageSize&&(t=this.pagedGroupsCount),this.groups.length>e&&(this.pagedGroups=this.pagedGroups.concat(this.groups.slice(e,e+t))),this.pagedGroupsCount=this.pagedGroups.length,this.didScroll=this.pagedGroups.length>this.pageSize}},e.prototype.edit=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent);this.modal=this.addEditModalRef.createComponent(n).instance;var r=this.modal.show(c.GroupAddEditComponent,this.addEditModalRef);r.organizationId=this.organizationId,r.groupId=null!=e?e.id:null,r.onSavedGroup.subscribe(function(){t.modal.close(),t.load()}),r.onDeletedGroup.subscribe(function(){t.modal.close(),t.removeGroup(e)}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.add=function(){this.edit(null)},e.prototype.delete=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteGroupConfirmation"),e.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!t.sent())return[2,!1];t.label=2;case 2:return t.trys.push([2,4,,5]),[4,this.apiService.deleteGroup(this.organizationId,e.id)];case 3:return t.sent(),this.analytics.eventTrack.next({action:"Deleted Group"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedGroupId",e.name)),this.removeGroup(e),[3,5];case 4:return t.sent(),[3,5];case 5:return[2]}})})},e.prototype.users=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent);this.modal=this.usersModalRef.createComponent(n).instance;var r=this.modal.show(l.EntityUsersComponent,this.usersModalRef);r.organizationId=this.organizationId,r.entity="group",r.entityId=e.id,r.entityName=e.name,r.onEditedUsers.subscribe(function(){t.modal.close()}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.resetPaging=function(){return r(this,void 0,void 0,function(){return i(this,function(e){return this.pagedGroups=[],this.loadMore(),[2]})})},e.prototype.isSearching=function(){return this.searchService.isSearchable(this.searchText)},e.prototype.isPaging=function(){var e=this.isSearching();return e&&this.didScroll&&this.resetPaging(),!e&&this.groups&&this.groups.length>this.pageSize},e.prototype.removeGroup=function(e){var t=this.groups.indexOf(e);t>-1&&(this.groups.splice(t,1),this.resetPaging())},e.ɵfac=function(t){return new(t||e)(p.ɵɵdirectiveInject(u.ApiService),p.ɵɵdirectiveInject(d.ActivatedRoute),p.ɵɵdirectiveInject(h.I18nService),p.ɵɵdirectiveInject(p.ComponentFactoryResolver),p.ɵɵdirectiveInject(f.Angulartics2),p.ɵɵdirectiveInject(m.ToasterService),p.ɵɵdirectiveInject(v.PlatformUtilsService),p.ɵɵdirectiveInject(y.UserService),p.ɵɵdirectiveInject(d.Router),p.ɵɵdirectiveInject(g.SearchService))},e.ɵcmp=p.ɵɵdefineComponent({type:e,selectors:[["app-org-groups"]],viewQuery:function(e,t){var n;(1&e&&(p.ɵɵstaticViewQuery(P,!0,o.ViewContainerRef),p.ɵɵstaticViewQuery(k,!0,o.ViewContainerRef)),2&e)&&(p.ɵɵqueryRefresh(n=p.ɵɵloadQuery())&&(t.addEditModalRef=n.first),p.ɵɵqueryRefresh(n=p.ɵɵloadQuery())&&(t.usersModalRef=n.first))},decls:37,vars:20,consts:[[1,"page-header","d-flex"],[1,"ml-auto","d-flex"],["for","search",1,"sr-only"],["type","search","id","search",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],["type","button",1,"btn","btn-sm","btn-outline-primary","ml-3",3,"click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"],[4,"ngIf"],["addEdit",""],["usersTemplate",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["class","table table-hover table-list","infiniteScroll","",3,"infiniteScrollDistance","infiniteScrollDisabled","scrolled",4,"ngIf"],["infiniteScroll","",1,"table","table-hover","table-list",3,"infiniteScrollDistance","infiniteScrollDisabled","scrolled"],[4,"ngFor","ngForOf"],["href","#","appStopClick","",3,"click"],[1,"table-list-options"],["appListDropdown","",1,"dropdown"],["type","button","data-toggle","dropdown","aria-haspopup","true","aria-expanded","false",1,"btn","btn-outline-secondary","dropdown-toggle",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-cog","fa-lg"],[1,"dropdown-menu","dropdown-menu-right"],["href","#","appStopClick","",1,"dropdown-item",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-users"],["href","#","appStopClick","",1,"dropdown-item","text-danger",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-trash-o"]],template:function(e,t){1&e&&(p.ɵɵelementStart(0,"div",0),p.ɵɵtext(1,"\n "),p.ɵɵelementStart(2,"h1"),p.ɵɵtext(3),p.ɵɵpipe(4,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(5,"\n "),p.ɵɵelementStart(6,"div",1),p.ɵɵtext(7,"\n "),p.ɵɵelementStart(8,"div"),p.ɵɵtext(9,"\n "),p.ɵɵelementStart(10,"label",2),p.ɵɵtext(11),p.ɵɵpipe(12,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(13,"\n "),p.ɵɵelementStart(14,"input",3),p.ɵɵlistener("ngModelChange",function(e){return t.searchText=e}),p.ɵɵpipe(15,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(16,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(17,"\n "),p.ɵɵelementStart(18,"button",4),p.ɵɵlistener("click",function(){return t.add()}),p.ɵɵtext(19,"\n "),p.ɵɵelement(20,"i",5),p.ɵɵtext(21),p.ɵɵpipe(22,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(23,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(24,"\n"),p.ɵɵelementEnd(),p.ɵɵtext(25,"\n"),p.ɵɵtemplate(26,_,9,6,"ng-container",6),p.ɵɵtext(27,"\n"),p.ɵɵtemplate(28,M,6,2,"ng-container",6),p.ɵɵpipe(29,"search"),p.ɵɵtext(30,"\n"),p.ɵɵtemplate(31,B,0,0,"ng-template",null,7,p.ɵɵtemplateRefExtractor),p.ɵɵtext(33,"\n"),p.ɵɵtemplate(34,D,0,0,"ng-template",null,8,p.ɵɵtemplateRefExtractor),p.ɵɵtext(36,"\n")),2&e&&(p.ɵɵadvance(3),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(4,7,"groups")),p.ɵɵadvance(8),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(12,9,"search")),p.ɵɵadvance(3),p.ɵɵpropertyInterpolate("placeholder",p.ɵɵpipeBind1(15,11,"search")),p.ɵɵproperty("ngModel",t.searchText),p.ɵɵadvance(7),p.ɵɵtextInterpolate1("\n ",p.ɵɵpipeBind1(22,13,"newGroup"),"\n "),p.ɵɵadvance(5),p.ɵɵproperty("ngIf",t.loading),p.ɵɵadvance(2),p.ɵɵproperty("ngIf",!t.loading&&(t.isPaging()?t.pagedGroups:p.ɵɵpipeBind4(29,15,t.groups,t.searchText,"name","id"))))},directives:[x.DefaultValueAccessor,x.NgControlStatus,x.NgModel,b.NgIf,S.InfiniteScrollDirective,b.NgForOf,w.StopClickDirective,C.A11yTitleDirective],pipes:[I.I18nPipe,E.SearchPipe],encapsulation:2}),e}();t.GroupsComponent=j},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(n[0].checked=!0,n[0].readOnly=e.readOnly,n[0].hidePasswords=e.hidePasswords)}),[3,5];case 4:return n.sent(),[3,5];case 5:return[3,7];case 6:this.title=this.i18nService.t("addGroup"),n.label=7;case 7:return this.loading=!1,[2]}})})},e.prototype.loadCollections=function(){return r(this,void 0,void 0,function(){var e,t,n;return i(this,function(r){switch(r.label){case 0:return[4,this.apiService.getCollections(this.organizationId)];case 1:return e=r.sent(),t=e.data.map(function(e){return new s.Collection(new a.CollectionData(e))}),n=this,[4,this.collectionService.decryptMany(t)];case 2:return n.collections=r.sent(),[2]}})})},e.prototype.check=function(e,t){e.checked=null==t?!e.checked:t,e.checked||(e.readOnly=!1)},e.prototype.selectAll=function(e){var t=this;this.collections.forEach(function(n){return t.check(n,e)})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:(e=new l.GroupRequest).name=this.name,e.externalId=this.externalId,e.accessAll="all"===this.access,e.accessAll||(e.collections=this.collections.filter(function(e){return e.checked}).map(function(e){return new c.SelectionReadOnlyRequest(e.id,!!e.readOnly,!!e.hidePasswords)})),t.label=1;case 1:return t.trys.push([1,3,,4]),this.editMode?this.formPromise=this.apiService.putGroup(this.organizationId,this.groupId,e):this.formPromise=this.apiService.postGroup(this.organizationId,e),[4,this.formPromise];case 2:return t.sent(),this.analytics.eventTrack.next({action:this.editMode?"Edited Group":"Created Group"}),this.toasterService.popAsync("success",null,this.i18nService.t(this.editMode?"editedGroupId":"createdGroupId",this.name)),this.onSavedGroup.emit(),[3,4];case 3:return t.sent(),[3,4];case 4:return[2]}})})},e.prototype.delete=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.editMode?[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteGroupConfirmation"),this.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2];case 1:if(!e.sent())return[2,!1];e.label=2;case 2:return e.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteGroup(this.organizationId,this.groupId),[4,this.deletePromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:"Deleted Group"}),this.toasterService.popAsync("success",null,this.i18nService.t("deletedGroupId",this.name)),this.onDeletedGroup.emit(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},e.ɵfac=function(t){return new(t||e)(p.ɵɵdirectiveInject(u.ApiService),p.ɵɵdirectiveInject(d.I18nService),p.ɵɵdirectiveInject(h.Angulartics2),p.ɵɵdirectiveInject(f.ToasterService),p.ɵɵdirectiveInject(m.CollectionService),p.ɵɵdirectiveInject(v.PlatformUtilsService))},e.ɵcmp=p.ɵɵdefineComponent({type:e,selectors:[["app-group-add-edit"]],inputs:{groupId:"groupId",organizationId:"organizationId"},outputs:{onSavedGroup:"onSavedGroup",onDeletedGroup:"onDeletedGroup"},decls:49,vars:18,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","groupAddEditTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],["ngNativeValidate","",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","groupAddEditTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"ml-auto"],["type","button","class","btn btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click",4,"ngIf"],[1,"modal-body"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"form-group"],["for","name"],["id","name","type","text","name","Name","required","",1,"form-control",3,"ngModel","ngModelChange"],["for","externalId"],["id","externalId","type","text","name","ExternalId",1,"form-control",3,"ngModel","ngModelChange"],[1,"form-text","text-muted"],[1,"mt-4","d-flex"],[1,"mb-2"],["target","_blank","rel","noopener","href","https://bitwarden.com/help/article/user-types-access-control/#access-control",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],["class","ml-auto",4,"ngIf"],[1,"form-group",3,"ngClass"],[1,"form-check"],["type","radio","name","access","id","accessAll","value","all",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessAll",1,"form-check-label"],["type","radio","name","access","id","accessSelected","value","selected",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessSelected",1,"form-check-label"],[4,"ngIf"],["type","button",1,"btn","btn-link","btn-sm","py-0",3,"click"],["class","table table-hover table-list mb-0",4,"ngIf"],[1,"table","table-hover","table-list","mb-0"],["width","100",1,"text-center"],[4,"ngFor","ngForOf"],[1,"table-list-checkbox",3,"click"],["type","checkbox","appStopProp","",3,"ngModel","name","ngModelChange"],[3,"click"],[1,"text-center"],["type","checkbox",3,"ngModel","name","disabled","ngModelChange"],["type","button",1,"btn","btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click"],["deleteBtn",""],["aria-hidden","true",1,"fa","fa-trash-o","fa-lg","fa-fw",3,"hidden"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","fa-lg","fa-fw",3,"hidden","title"]],template:function(e,t){if(1&e&&(p.ɵɵelementStart(0,"div",0),p.ɵɵtext(1,"\n "),p.ɵɵelementStart(2,"div",1),p.ɵɵtext(3,"\n "),p.ɵɵelementStart(4,"form",2,3),p.ɵɵlistener("ngSubmit",function(){return t.submit()}),p.ɵɵtext(6,"\n "),p.ɵɵelementStart(7,"div",4),p.ɵɵtext(8,"\n "),p.ɵɵelementStart(9,"h2",5),p.ɵɵtext(10),p.ɵɵelementEnd(),p.ɵɵtext(11,"\n "),p.ɵɵelementStart(12,"button",6),p.ɵɵpipe(13,"i18n"),p.ɵɵtext(14,"\n "),p.ɵɵelementStart(15,"span",7),p.ɵɵtext(16,"×"),p.ɵɵelementEnd(),p.ɵɵtext(17,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(18,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(19,"\n "),p.ɵɵtemplate(20,C,9,6,"div",8),p.ɵɵtext(21,"\n "),p.ɵɵtemplate(22,O,62,30,"div",8),p.ɵɵtext(23,"\n "),p.ɵɵelementStart(24,"div",9),p.ɵɵtext(25,"\n "),p.ɵɵelementStart(26,"button",10),p.ɵɵtext(27,"\n "),p.ɵɵelement(28,"i",11),p.ɵɵpipe(29,"i18n"),p.ɵɵtext(30,"\n "),p.ɵɵelementStart(31,"span"),p.ɵɵtext(32),p.ɵɵpipe(33,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(34,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(35,"\n "),p.ɵɵelementStart(36,"button",12),p.ɵɵtext(37),p.ɵɵpipe(38,"i18n"),p.ɵɵelementEnd(),p.ɵɵtext(39,"\n "),p.ɵɵelementStart(40,"div",13),p.ɵɵtext(41,"\n "),p.ɵɵtemplate(42,T,9,10,"button",14),p.ɵɵtext(43,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(44,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(45,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(46,"\n "),p.ɵɵelementEnd(),p.ɵɵtext(47,"\n"),p.ɵɵelementEnd(),p.ɵɵtext(48,"\n")),2&e){var n=p.ɵɵreference(5);p.ɵɵadvance(4),p.ɵɵproperty("appApiAction",t.formPromise),p.ɵɵadvance(6),p.ɵɵtextInterpolate(t.title),p.ɵɵadvance(2),p.ɵɵpropertyInterpolate("appA11yTitle",p.ɵɵpipeBind1(13,10,"close")),p.ɵɵadvance(8),p.ɵɵproperty("ngIf",t.loading),p.ɵɵadvance(2),p.ɵɵproperty("ngIf",!t.loading),p.ɵɵadvance(4),p.ɵɵproperty("disabled",n.loading),p.ɵɵadvance(2),p.ɵɵpropertyInterpolate("title",p.ɵɵpipeBind1(29,12,"loading")),p.ɵɵadvance(4),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(33,14,"save")),p.ɵɵadvance(5),p.ɵɵtextInterpolate(p.ɵɵpipeBind1(38,16,"cancel")),p.ɵɵadvance(5),p.ɵɵproperty("ngIf",t.editMode)}},directives:[y.NgControlStatusGroup,y.NgForm,g.ApiActionDirective,x.A11yTitleDirective,b.NgIf,y.DefaultValueAccessor,y.RequiredValidator,y.NgControlStatus,y.NgModel,b.NgClass,y.RadioControlValueAccessor,b.NgForOf,y.CheckboxControlValueAccessor,S.StopPropDirective],pipes:[w.I18nPipe],encapsulation:2}),e}();t.GroupAddEditComponent=M},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&t[0].status===l.OrganizationUserStatusType.Confirmed&&this.events(t[0]),null!=n&&n.unsubscribe(),[2]})})}),[2]}})})}),[2]})})},e.prototype.load=function(){return r(this,void 0,void 0,function(){var e,t=this;return i(this,function(n){switch(n.label){case 0:return[4,this.apiService.getOrganizationUsers(this.organizationId)];case 1:return e=n.sent(),this.statusMap.clear(),this.allUsers=null!=e.data&&e.data.length>0?e.data:[],this.allUsers.sort(p.Utils.getSortFunction(this.i18nService,"email")),this.allUsers.forEach(function(e){t.statusMap.has(e.status)?t.statusMap.get(e.status).push(e):t.statusMap.set(e.status,[e])}),this.filter(this.status),this.loading=!1,[2]}})})},e.prototype.filter=function(e){this.status=e,null!=this.status?this.users=this.statusMap.get(this.status):this.users=this.allUsers,this.resetPaging()},e.prototype.loadMore=function(){if(this.users&&!(this.users.length<=this.pageSize)){var e=this.pagedUsers.length,t=this.pageSize;0===e&&this.pagedUsersCount>this.pageSize&&(t=this.pagedUsersCount),this.users.length>e&&(this.pagedUsers=this.pagedUsers.concat(this.users.slice(e,e+t))),this.pagedUsersCount=this.pagedUsers.length,this.didScroll=this.pagedUsers.length>this.pageSize}},Object.defineProperty(e.prototype,"allCount",{get:function(){return null!=this.allUsers?this.allUsers.length:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"invitedCount",{get:function(){return this.statusMap.has(l.OrganizationUserStatusType.Invited)?this.statusMap.get(l.OrganizationUserStatusType.Invited).length:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"acceptedCount",{get:function(){return this.statusMap.has(l.OrganizationUserStatusType.Accepted)?this.statusMap.get(l.OrganizationUserStatusType.Accepted).length:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"confirmedCount",{get:function(){return this.statusMap.has(l.OrganizationUserStatusType.Confirmed)?this.statusMap.get(l.OrganizationUserStatusType.Confirmed).length:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"showConfirmUsers",{get:function(){return null!=this.allUsers&&null!=this.statusMap&&this.allUsers.length>1&&this.confirmedCount>0&&this.confirmedCount<3&&this.acceptedCount>0},enumerable:!0,configurable:!0}),e.prototype.edit=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(u.ModalComponent);this.modal=this.addEditModalRef.createComponent(n).instance;var r=this.modal.show(h.UserAddEditComponent,this.addEditModalRef);r.name=null!=e?e.name||e.email:null,r.organizationId=this.organizationId,r.organizationUserId=null!=e?e.id:null,r.onSavedUser.subscribe(function(){t.modal.close(),t.load()}),r.onDeletedUser.subscribe(function(){t.modal.close(),t.removeUser(e)}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.invite=function(){this.edit(null)},e.prototype.groups=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(u.ModalComponent);this.modal=this.groupsModalRef.createComponent(n).instance;var r=this.modal.show(m.UserGroupsComponent,this.groupsModalRef);r.name=null!=e?e.name||e.email:null,r.organizationId=this.organizationId,r.organizationUserId=null!=e?e.id:null,r.onSavedUser.subscribe(function(){t.modal.close()}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.remove=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("removeUserConfirmation"),e.name||e.email,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!t.sent())return[2,!1];t.label=2;case 2:return t.trys.push([2,4,,5]),[4,this.apiService.deleteOrganizationUser(this.organizationId,e.id)];case 3:return t.sent(),this.analytics.eventTrack.next({action:"Deleted User"}),this.toasterService.popAsync("success",null,this.i18nService.t("removedUserId",e.name||e.email)),this.removeUser(e),[3,5];case 4:return t.sent(),[3,5];case 5:return[2]}})})},e.prototype.reinvite=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return null!=this.actionPromise?[2]:(this.actionPromise=this.apiService.postOrganizationUserReinvite(this.organizationId,e.id),[4,this.actionPromise]);case 1:return t.sent(),this.analytics.eventTrack.next({action:"Reinvited User"}),this.toasterService.popAsync("success",null,this.i18nService.t("hasBeenReinvited",e.name||e.email)),this.actionPromise=null,[2]}})})},e.prototype.confirm=function(e){return r(this,void 0,void 0,function(){function t(t){e.status=l.OrganizationUserStatusType.Confirmed;var n=t.statusMap.get(l.OrganizationUserStatusType.Accepted).indexOf(e);n>-1&&(t.statusMap.get(l.OrganizationUserStatusType.Accepted).splice(n,1),t.statusMap.get(l.OrganizationUserStatusType.Confirmed).push(e))}var n,r,o,s=this;return i(this,function(i){switch(i.label){case 0:return null!=this.actionPromise?[2]:[4,this.storageService.get(a.ConstantsService.autoConfirmFingerprints)];case 1:return null!=(n=i.sent())&&n?(this.actionPromise=this.doConfirmation(e),[4,this.actionPromise]):(null!=this.modal&&this.modal.close(),r=this.componentFactoryResolver.resolveComponentFactory(u.ModalComponent),this.modal=this.confirmModalRef.createComponent(r).instance,(o=this.modal.show(f.UserConfirmComponent,this.confirmModalRef)).name=null!=e?e.name||e.email:null,o.organizationId=this.organizationId,o.organizationUserId=null!=e?e.id:null,o.userId=null!=e?e.userId:null,o.onConfirmedUser.subscribe(function(){s.modal.close(),t(s)}),this.modal.onClosed.subscribe(function(){s.modal=null}),[2]);case 2:return i.sent(),t(this),this.analytics.eventTrack.next({action:"Confirmed User"}),this.toasterService.popAsync("success",null,this.i18nService.t("hasBeenConfirmed",e.name||e.email)),this.actionPromise=null,[2]}})})},e.prototype.events=function(e){return r(this,void 0,void 0,function(){var t,n,r=this;return i(this,function(i){return null!=this.modal&&this.modal.close(),t=this.componentFactoryResolver.resolveComponentFactory(u.ModalComponent),this.modal=this.eventsModalRef.createComponent(t).instance,(n=this.modal.show(d.EntityEventsComponent,this.eventsModalRef)).name=e.name||e.email,n.organizationId=this.organizationId,n.entityId=e.id,n.showUser=!1,n.entity="user",this.modal.onClosed.subscribe(function(){r.modal=null}),[2]})})},e.prototype.resetPaging=function(){return r(this,void 0,void 0,function(){return i(this,function(e){return this.pagedUsers=[],this.loadMore(),[2]})})},e.prototype.isSearching=function(){return this.searchService.isSearchable(this.searchText)},e.prototype.isPaging=function(){var e=this.isSearching();return e&&this.didScroll&&this.resetPaging(),!e&&this.users&&this.users.length>this.pageSize},e.prototype.doConfirmation=function(e){return r(this,void 0,void 0,function(){var t,n,r,o,a,l,c,u;return i(this,function(i){switch(i.label){case 0:return[4,this.cryptoService.getOrgKey(this.organizationId)];case 1:return t=i.sent(),[4,this.apiService.getUserPublicKey(e.userId)];case 2:n=i.sent(),r=p.Utils.fromB64ToArray(n.publicKey),i.label=3;case 3:return i.trys.push([3,5,,6]),a=(o=console).log,l="User's fingerprint: ",[4,this.cryptoService.getFingerprint(e.userId,r.buffer)];case 4:return a.apply(o,[l+i.sent().join("-")]),[3,6];case 5:return i.sent(),[3,6];case 6:return[4,this.cryptoService.rsaEncrypt(t.key,r.buffer)];case 7:return c=i.sent(),(u=new s.OrganizationUserConfirmRequest).key=c.encryptedString,[4,this.apiService.postOrganizationUserConfirm(this.organizationId,e.id,u)];case 8:return i.sent(),[2]}})})},e.prototype.removeUser=function(e){var t=this.users.indexOf(e);t>-1&&(this.users.splice(t,1),this.resetPaging()),this.statusMap.has(l.OrganizationUserStatusType.Accepted)&&(t=this.statusMap.get(l.OrganizationUserStatusType.Accepted).indexOf(e))>-1&&this.statusMap.get(l.OrganizationUserStatusType.Accepted).splice(t,1),this.statusMap.has(l.OrganizationUserStatusType.Invited)&&(t=this.statusMap.get(l.OrganizationUserStatusType.Invited).indexOf(e))>-1&&this.statusMap.get(l.OrganizationUserStatusType.Invited).splice(t,1),this.statusMap.has(l.OrganizationUserStatusType.Confirmed)&&(t=this.statusMap.get(l.OrganizationUserStatusType.Confirmed).indexOf(e))>-1&&this.statusMap.get(l.OrganizationUserStatusType.Confirmed).splice(t,1)},e.ɵfac=function(t){return new(t||e)(v.ɵɵdirectiveInject(y.ApiService),v.ɵɵdirectiveInject(g.ActivatedRoute),v.ɵɵdirectiveInject(x.I18nService),v.ɵɵdirectiveInject(v.ComponentFactoryResolver),v.ɵɵdirectiveInject(b.PlatformUtilsService),v.ɵɵdirectiveInject(S.Angulartics2),v.ɵɵdirectiveInject(w.ToasterService),v.ɵɵdirectiveInject(C.CryptoService),v.ɵɵdirectiveInject(I.UserService),v.ɵɵdirectiveInject(g.Router),v.ɵɵdirectiveInject(E.StorageService),v.ɵɵdirectiveInject(P.SearchService))},e.ɵcmp=v.ɵɵdefineComponent({type:e,selectors:[["app-org-people"]],viewQuery:function(e,t){var n;(1&e&&(v.ɵɵstaticViewQuery(V,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(R,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(U,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(F,!0,o.ViewContainerRef)),2&e)&&(v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.addEditModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.groupsModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.eventsModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.confirmModalRef=n.first))},decls:64,vars:45,consts:[[1,"page-header","d-flex"],[1,"ml-auto","d-flex"],["role","group",1,"btn-group","btn-group-sm"],["type","button",1,"btn","btn-outline-secondary",3,"ngClass","click"],["class","badge badge-pill badge-info",4,"ngIf"],["class","badge badge-pill badge-warning",4,"ngIf"],[1,"ml-3"],["for","search",1,"sr-only"],["type","search","id","search",1,"form-control","form-control-sm",3,"placeholder","ngModel","ngModelChange"],["type","button",1,"btn","btn-sm","btn-outline-primary","ml-3",3,"click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"],[4,"ngIf"],["addEdit",""],["groupsTemplate",""],["eventsTemplate",""],["confirmTemplate",""],[1,"badge","badge-pill","badge-info"],[1,"badge","badge-pill","badge-warning"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["type","info","icon","fa-check-circle",3,"title",4,"ngIf"],["infiniteScroll","",1,"table","table-hover","table-list",3,"infiniteScrollDistance","infiniteScrollDisabled","scrolled"],[4,"ngFor","ngForOf"],["type","info","icon","fa-check-circle",3,"title"],["width","30"],["size","25",3,"data","email","circle","fontSize"],["href","#","appStopClick","",3,"click"],["class","badge badge-secondary",4,"ngIf"],["class","badge badge-warning",4,"ngIf"],["class","text-muted d-block",4,"ngIf"],[1,"table-list-options"],["appListDropdown","",1,"dropdown"],["type","button","data-toggle","dropdown","aria-haspopup","true","aria-expanded","false",1,"btn","btn-outline-secondary","dropdown-toggle",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-cog","fa-lg"],[1,"dropdown-menu","dropdown-menu-right"],["class","dropdown-item","href","#","appStopClick","",3,"click",4,"ngIf"],["class","dropdown-item text-success","href","#","appStopClick","",3,"click",4,"ngIf"],["href","#","appStopClick","",1,"dropdown-item","text-danger",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-remove"],[1,"badge","badge-secondary"],[1,"badge","badge-warning"],[1,"text-muted","d-block"],["aria-hidden","true",1,"fa","fa-lock",3,"title"],["href","#","appStopClick","",1,"dropdown-item",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-envelope-o"],["href","#","appStopClick","",1,"dropdown-item","text-success",3,"click"],["aria-hidden","true",1,"fa","fa-fw","fa-check"],["aria-hidden","true",1,"fa","fa-fw","fa-sitemap"],["aria-hidden","true",1,"fa","fa-fw","fa-file-text-o"]],template:function(e,t){1&e&&(v.ɵɵelementStart(0,"div",0),v.ɵɵtext(1,"\n "),v.ɵɵelementStart(2,"h1"),v.ɵɵtext(3),v.ɵɵpipe(4,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(5,"\n "),v.ɵɵelementStart(6,"div",1),v.ɵɵtext(7,"\n "),v.ɵɵelementStart(8,"div",2),v.ɵɵtext(9,"\n "),v.ɵɵelementStart(10,"button",3),v.ɵɵlistener("click",function(){return t.filter(null)}),v.ɵɵtext(11),v.ɵɵpipe(12,"i18n"),v.ɵɵtemplate(13,N,2,1,"span",4),v.ɵɵtext(14,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(15,"\n "),v.ɵɵelementStart(16,"button",3),v.ɵɵlistener("click",function(){return t.filter(t.organizationUserStatusType.Invited)}),v.ɵɵtext(17),v.ɵɵpipe(18,"i18n"),v.ɵɵtemplate(19,z,2,1,"span",4),v.ɵɵtext(20,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(21,"\n "),v.ɵɵelementStart(22,"button",3),v.ɵɵlistener("click",function(){return t.filter(t.organizationUserStatusType.Accepted)}),v.ɵɵtext(23),v.ɵɵpipe(24,"i18n"),v.ɵɵtemplate(25,L,2,1,"span",5),v.ɵɵtext(26,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(27,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(28,"\n "),v.ɵɵelementStart(29,"div",6),v.ɵɵtext(30,"\n "),v.ɵɵelementStart(31,"label",7),v.ɵɵtext(32),v.ɵɵpipe(33,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(34,"\n "),v.ɵɵelementStart(35,"input",8),v.ɵɵlistener("ngModelChange",function(e){return t.searchText=e}),v.ɵɵpipe(36,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(37,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(38,"\n "),v.ɵɵelementStart(39,"button",9),v.ɵɵlistener("click",function(){return t.invite()}),v.ɵɵtext(40,"\n "),v.ɵɵelement(41,"i",10),v.ɵɵtext(42),v.ɵɵpipe(43,"i18n"),v.ɵɵelementEnd(),v.ɵɵtext(44,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(45,"\n"),v.ɵɵelementEnd(),v.ɵɵtext(46,"\n"),v.ɵɵtemplate(47,G,9,6,"ng-container",11),v.ɵɵtext(48,"\n"),v.ɵɵtemplate(49,ae,6,2,"ng-container",11),v.ɵɵpipe(50,"search"),v.ɵɵtext(51,"\n"),v.ɵɵtemplate(52,se,0,0,"ng-template",null,12,v.ɵɵtemplateRefExtractor),v.ɵɵtext(54,"\n"),v.ɵɵtemplate(55,le,0,0,"ng-template",null,13,v.ɵɵtemplateRefExtractor),v.ɵɵtext(57,"\n"),v.ɵɵtemplate(58,ce,0,0,"ng-template",null,14,v.ɵɵtemplateRefExtractor),v.ɵɵtext(60,"\n"),v.ɵɵtemplate(61,pe,0,0,"ng-template",null,15,v.ɵɵtemplateRefExtractor),v.ɵɵtext(63,"\n")),2&e&&(v.ɵɵadvance(3),v.ɵɵtextInterpolate(v.ɵɵpipeBind1(4,16,"people")),v.ɵɵadvance(7),v.ɵɵproperty("ngClass",v.ɵɵpureFunction1(36,ue,null==t.status)),v.ɵɵadvance(1),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(12,18,"all"),"\n "),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",t.allCount),v.ɵɵadvance(3),v.ɵɵproperty("ngClass",v.ɵɵpureFunction1(38,ue,t.status==t.organizationUserStatusType.Invited)),v.ɵɵadvance(1),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(18,20,"invited"),"\n "),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",t.invitedCount),v.ɵɵadvance(3),v.ɵɵproperty("ngClass",v.ɵɵpureFunction1(40,ue,t.status==t.organizationUserStatusType.Accepted)),v.ɵɵadvance(1),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(24,22,"accepted"),"\n "),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",t.acceptedCount),v.ɵɵadvance(7),v.ɵɵtextInterpolate(v.ɵɵpipeBind1(33,24,"search")),v.ɵɵadvance(3),v.ɵɵpropertyInterpolate("placeholder",v.ɵɵpipeBind1(36,26,"search")),v.ɵɵproperty("ngModel",t.searchText),v.ɵɵadvance(7),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(43,28,"inviteUser"),"\n "),v.ɵɵadvance(5),v.ɵɵproperty("ngIf",t.loading),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",!t.loading&&(t.isPaging()?t.pagedUsers:v.ɵɵpipeBindV(50,30,v.ɵɵpureFunction2(42,de,t.users,t.searchText)))))},directives:[k.NgClass,k.NgIf,_.DefaultValueAccessor,_.NgControlStatus,_.NgModel,A.InfiniteScrollDirective,k.NgForOf,O.CalloutComponent,T.AvatarComponent,M.StopClickDirective,B.A11yTitleDirective],pipes:[D.I18nPipe,j.SearchPipe],encapsulation:2}),e}();t.PeopleComponent=he},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.OrganizationUserConfirmRequest=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(n[0].checked=!0,n[0].readOnly=e.readOnly,n[0].hidePasswords=e.hidePasswords)}),[3,5];case 4:return n.sent(),[3,5];case 5:return[3,7];case 6:this.title=this.i18nService.t("inviteUser"),n.label=7;case 7:return this.loading=!1,[2]}})})},e.prototype.loadCollections=function(){return r(this,void 0,void 0,function(){var e,t,n;return i(this,function(r){switch(r.label){case 0:return[4,this.apiService.getCollections(this.organizationId)];case 1:return e=r.sent(),t=e.data.map(function(e){return new s.Collection(new a.CollectionData(e))}),n=this,[4,this.collectionService.decryptMany(t)];case 2:return n.collections=r.sent(),[2]}})})},e.prototype.check=function(e,t){e.checked=null==t?!e.checked:t,e.checked||(e.readOnly=!1)},e.prototype.selectAll=function(e){var t=this;this.collections.forEach(function(n){return t.check(n,e)})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e,t;return i(this,function(n){switch(n.label){case 0:e=null,"all"!==this.access&&(e=this.collections.filter(function(e){return e.checked}).map(function(e){return new p.SelectionReadOnlyRequest(e.id,!!e.readOnly,!!e.hidePasswords)})),n.label=1;case 1:return n.trys.push([1,3,,4]),this.editMode?((t=new c.OrganizationUserUpdateRequest).accessAll="all"===this.access,t.type=this.type,t.collections=e,this.formPromise=this.apiService.putOrganizationUser(this.organizationId,this.organizationUserId,t)):((t=new l.OrganizationUserInviteRequest).emails=this.emails.trim().split(/\s*,\s*/),t.accessAll="all"===this.access,t.type=this.type,t.collections=e,this.formPromise=this.apiService.postOrganizationUserInvite(this.organizationId,t)),[4,this.formPromise];case 2:return n.sent(),this.analytics.eventTrack.next({action:this.editMode?"Edited User":"Invited User"}),this.toasterService.popAsync("success",null,this.i18nService.t(this.editMode?"editedUserId":"invitedUsers",this.name)),this.onSavedUser.emit(),[3,4];case 3:return n.sent(),[3,4];case 4:return[2]}})})},e.prototype.delete=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.editMode?[4,this.platformUtilsService.showDialog(this.i18nService.t("removeUserConfirmation"),this.name,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2];case 1:if(!e.sent())return[2,!1];e.label=2;case 2:return e.trys.push([2,4,,5]),this.deletePromise=this.apiService.deleteOrganizationUser(this.organizationId,this.organizationUserId),[4,this.deletePromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:"Deleted User"}),this.toasterService.popAsync("success",null,this.i18nService.t("removedUserId",this.name)),this.onDeletedUser.emit(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},e.ɵfac=function(t){return new(t||e)(d.ɵɵdirectiveInject(h.ApiService),d.ɵɵdirectiveInject(f.I18nService),d.ɵɵdirectiveInject(m.Angulartics2),d.ɵɵdirectiveInject(v.ToasterService),d.ɵɵdirectiveInject(y.CollectionService),d.ɵɵdirectiveInject(g.PlatformUtilsService))},e.ɵcmp=d.ɵɵdefineComponent({type:e,selectors:[["app-user-add-edit"]],inputs:{name:"name",organizationUserId:"organizationUserId",organizationId:"organizationId"},outputs:{onSavedUser:"onSavedUser",onDeletedUser:"onDeletedUser"},decls:51,vars:19,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","userAddEditTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],["ngNativeValidate","",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","userAddEditTitle",1,"modal-title"],["class","text-muted",4,"ngIf"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"ml-auto"],["type","button","class","btn btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click",4,"ngIf"],[1,"text-muted"],[1,"modal-body"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[4,"ngIf"],["target","_blank","rel","noopener","href","https://bitwarden.com/help/article/user-types-access-control/#user-types",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],[1,"form-check","mt-2","form-check-block"],["type","radio","name","userType","id","userTypeUser",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","userTypeUser",1,"form-check-label"],["type","radio","name","userType","id","userTypeManager",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","userTypeManager",1,"form-check-label"],["type","radio","name","userType","id","userTypeAdmin",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","userTypeAdmin",1,"form-check-label"],["type","radio","name","userType","id","userTypeOwner",1,"form-check-input",3,"value","ngModel","ngModelChange"],["for","userTypeOwner",1,"form-check-label"],[1,"mt-4","d-flex"],[1,"mb-2"],["target","_blank","rel","noopener","href","https://bitwarden.com/help/article/user-types-access-control/#access-control",3,"appA11yTitle"],["class","ml-auto",4,"ngIf"],[1,"form-group",3,"ngClass"],[1,"form-check"],["type","radio","name","access","id","accessAll","value","all",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessAll",1,"form-check-label"],["type","radio","name","access","id","accessSelected","value","selected",1,"form-check-input",3,"ngModel","ngModelChange"],["for","accessSelected",1,"form-check-label"],[1,"form-group","mb-4"],["for","emails"],["id","emails","type","text","name","Emails","required","","appAutoFocus","",1,"form-control",3,"ngModel","ngModelChange"],["type","button",1,"btn","btn-link","btn-sm","py-0",3,"click"],["class","table table-hover table-list mb-0",4,"ngIf"],[1,"table","table-hover","table-list","mb-0"],["width","100",1,"text-center"],[4,"ngFor","ngForOf"],[1,"table-list-checkbox",3,"click"],["type","checkbox","appStopProp","",3,"ngModel","name","ngModelChange"],[3,"click"],[1,"text-center"],["type","checkbox",3,"ngModel","name","disabled","ngModelChange"],["type","button",1,"btn","btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click"],["deleteBtn",""],["aria-hidden","true",1,"fa","fa-trash-o","fa-lg","fa-fw",3,"hidden"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","fa-lg","fa-fw",3,"hidden","title"]],template:function(e,t){if(1&e&&(d.ɵɵelementStart(0,"div",0),d.ɵɵtext(1,"\n "),d.ɵɵelementStart(2,"div",1),d.ɵɵtext(3,"\n "),d.ɵɵelementStart(4,"form",2,3),d.ɵɵlistener("ngSubmit",function(){return t.submit()}),d.ɵɵtext(6,"\n "),d.ɵɵelementStart(7,"div",4),d.ɵɵtext(8,"\n "),d.ɵɵelementStart(9,"h2",5),d.ɵɵtext(10),d.ɵɵtemplate(11,E,2,1,"small",6),d.ɵɵtext(12,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(13,"\n "),d.ɵɵelementStart(14,"button",7),d.ɵɵpipe(15,"i18n"),d.ɵɵtext(16,"\n "),d.ɵɵelementStart(17,"span",8),d.ɵɵtext(18,"×"),d.ɵɵelementEnd(),d.ɵɵtext(19,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(20,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(21,"\n "),d.ɵɵtemplate(22,P,9,6,"div",9),d.ɵɵtext(23,"\n "),d.ɵɵtemplate(24,D,104,58,"div",9),d.ɵɵtext(25,"\n "),d.ɵɵelementStart(26,"div",10),d.ɵɵtext(27,"\n "),d.ɵɵelementStart(28,"button",11),d.ɵɵtext(29,"\n "),d.ɵɵelement(30,"i",12),d.ɵɵpipe(31,"i18n"),d.ɵɵtext(32,"\n "),d.ɵɵelementStart(33,"span"),d.ɵɵtext(34),d.ɵɵpipe(35,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(36,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(37,"\n "),d.ɵɵelementStart(38,"button",13),d.ɵɵtext(39),d.ɵɵpipe(40,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(41,"\n "),d.ɵɵelementStart(42,"div",14),d.ɵɵtext(43,"\n "),d.ɵɵtemplate(44,j,9,10,"button",15),d.ɵɵtext(45,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(46,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(47,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(48,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(49,"\n"),d.ɵɵelementEnd(),d.ɵɵtext(50,"\n")),2&e){var n=d.ɵɵreference(5);d.ɵɵadvance(4),d.ɵɵproperty("appApiAction",t.formPromise),d.ɵɵadvance(6),d.ɵɵtextInterpolate1("\n ",t.title,"\n "),d.ɵɵadvance(1),d.ɵɵproperty("ngIf",t.name),d.ɵɵadvance(3),d.ɵɵpropertyInterpolate("appA11yTitle",d.ɵɵpipeBind1(15,11,"close")),d.ɵɵadvance(8),d.ɵɵproperty("ngIf",t.loading),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",!t.loading),d.ɵɵadvance(4),d.ɵɵproperty("disabled",n.loading),d.ɵɵadvance(2),d.ɵɵpropertyInterpolate("title",d.ɵɵpipeBind1(31,13,"loading")),d.ɵɵadvance(4),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(35,15,"save")),d.ɵɵadvance(5),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(40,17,"cancel")),d.ɵɵadvance(5),d.ɵɵproperty("ngIf",t.editMode)}},directives:[x.NgControlStatusGroup,x.NgForm,b.ApiActionDirective,S.NgIf,w.A11yTitleDirective,x.RadioControlValueAccessor,x.DefaultValueAccessor,x.NgControlStatus,x.NgModel,S.NgClass,x.RequiredValidator,S.NgForOf,x.CheckboxControlValueAccessor,C.StopPropDirective],pipes:[I.I18nPipe],encapsulation:2}),e}();t.UserAddEditComponent=V},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(t[0].checked=!0)}),[3,5];case 4:return i.sent(),[3,5];case 5:return this.loading=!1,[2]}})})},e.prototype.check=function(e,t){e.checked=null==t?!e.checked:t,e.checked||(e.readOnly=!1)},e.prototype.selectAll=function(e){var t=this;this.groups.forEach(function(n){return t.check(n,e)})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:(e=new a.OrganizationUserUpdateGroupsRequest).groupIds=this.groups.filter(function(e){return e.checked}).map(function(e){return e.id}),t.label=1;case 1:return t.trys.push([1,3,,4]),this.formPromise=this.apiService.putOrganizationUserGroups(this.organizationId,this.organizationUserId,e),[4,this.formPromise];case 2:return t.sent(),this.analytics.eventTrack.next({action:"Edited User Groups"}),this.toasterService.popAsync("success",null,this.i18nService.t("editedGroupsForUser",this.name)),this.onSavedUser.emit(),[3,4];case 3:return t.sent(),[3,4];case 4:return[2]}})})},e.ɵfac=function(t){return new(t||e)(l.ɵɵdirectiveInject(c.ApiService),l.ɵɵdirectiveInject(p.I18nService),l.ɵɵdirectiveInject(u.Angulartics2),l.ɵɵdirectiveInject(d.ToasterService))},e.ɵcmp=l.ɵɵdefineComponent({type:e,selectors:[["app-user-groups"]],inputs:{name:"name",organizationUserId:"organizationUserId",organizationId:"organizationId"},outputs:{onSavedUser:"onSavedUser"},decls:47,vars:20,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","groupAccessTitle",1,"modal","fade"],["role","document",1,"modal-dialog"],[1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","groupAccessTitle",1,"modal-title"],["class","text-muted",4,"ngIf"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"text-muted"],[1,"modal-body"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[4,"ngIf"],["class","table table-hover table-list mb-0",4,"ngIf"],[1,"table","table-hover","table-list","mb-0"],[4,"ngFor","ngForOf"],[1,"table-list-checkbox",3,"click"],["type","checkbox","appStopProp","",3,"ngModel","name","ngModelChange"],[3,"click"]],template:function(e,t){if(1&e&&(l.ɵɵelementStart(0,"div",0),l.ɵɵtext(1,"\n "),l.ɵɵelementStart(2,"div",1),l.ɵɵtext(3,"\n "),l.ɵɵelementStart(4,"form",2,3),l.ɵɵlistener("ngSubmit",function(){return t.submit()}),l.ɵɵtext(6,"\n "),l.ɵɵelementStart(7,"div",4),l.ɵɵtext(8,"\n "),l.ɵɵelementStart(9,"h2",5),l.ɵɵtext(10),l.ɵɵpipe(11,"i18n"),l.ɵɵtemplate(12,x,2,1,"small",6),l.ɵɵtext(13,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(14,"\n "),l.ɵɵelementStart(15,"button",7),l.ɵɵpipe(16,"i18n"),l.ɵɵtext(17,"\n "),l.ɵɵelementStart(18,"span",8),l.ɵɵtext(19,"×"),l.ɵɵelementEnd(),l.ɵɵtext(20,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(21,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(22,"\n "),l.ɵɵtemplate(23,b,9,6,"div",9),l.ɵɵtext(24,"\n "),l.ɵɵtemplate(25,I,10,5,"div",9),l.ɵɵtext(26,"\n "),l.ɵɵelementStart(27,"div",10),l.ɵɵtext(28,"\n "),l.ɵɵelementStart(29,"button",11),l.ɵɵtext(30,"\n "),l.ɵɵelement(31,"i",12),l.ɵɵpipe(32,"i18n"),l.ɵɵtext(33,"\n "),l.ɵɵelementStart(34,"span"),l.ɵɵtext(35),l.ɵɵpipe(36,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(37,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(38,"\n "),l.ɵɵelementStart(39,"button",13),l.ɵɵtext(40),l.ɵɵpipe(41,"i18n"),l.ɵɵelementEnd(),l.ɵɵtext(42,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(43,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(44,"\n "),l.ɵɵelementEnd(),l.ɵɵtext(45,"\n"),l.ɵɵelementEnd(),l.ɵɵtext(46,"\n")),2&e){var n=l.ɵɵreference(5);l.ɵɵadvance(4),l.ɵɵproperty("appApiAction",t.formPromise),l.ɵɵadvance(6),l.ɵɵtextInterpolate1("\n ",l.ɵɵpipeBind1(11,10,"groupAccess"),"\n "),l.ɵɵadvance(2),l.ɵɵproperty("ngIf",t.name),l.ɵɵadvance(3),l.ɵɵpropertyInterpolate("appA11yTitle",l.ɵɵpipeBind1(16,12,"close")),l.ɵɵadvance(8),l.ɵɵproperty("ngIf",t.loading),l.ɵɵadvance(2),l.ɵɵproperty("ngIf",!t.loading),l.ɵɵadvance(4),l.ɵɵproperty("disabled",n.loading),l.ɵɵadvance(2),l.ɵɵpropertyInterpolate("title",l.ɵɵpipeBind1(32,14,"loading")),l.ɵɵadvance(4),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(36,16,"save")),l.ɵɵadvance(5),l.ɵɵtextInterpolate(l.ɵɵpipeBind1(41,18,"cancel"))}},directives:[h.ɵangular_packages_forms_forms_y,h.NgControlStatusGroup,h.NgForm,f.ApiActionDirective,m.NgIf,v.A11yTitleDirective,m.NgForOf,h.CheckboxControlValueAccessor,y.StopPropDirective,h.NgControlStatus,h.NgModel],pipes:[g.I18nPipe],encapsulation:2}),e}();t.UserGroupsComponent=E},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?e.data:[],this.orgPolicies.forEach(function(e){t.policiesEnabledMap.set(e.type,e.enabled)}),this.policies.forEach(function(e){e.enabled=t.policiesEnabledMap.has(e.type)&&t.policiesEnabledMap.get(e.type)}),this.loading=!1,[2]}})})},e.prototype.edit=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(s.ModalComponent);this.modal=this.editModalRef.createComponent(n).instance;var r=this.modal.show(l.PolicyEditComponent,this.editModalRef);r.name=e.name,r.description=e.description,r.type=e.type,r.organizationId=this.organizationId,r.policiesEnabledMap=this.policiesEnabledMap,r.onSavedPolicy.subscribe(function(){t.modal.close(),t.load()}),this.modal.onClosed.subscribe(function(){t.modal=null})},e.prototype.goToEnterprisePortal=function(){return r(this,void 0,void 0,function(){var e,t;return i(this,function(n){switch(n.label){case 0:if(null!=this.enterpriseTokenPromise)return[2];n.label=1;case 1:return n.trys.push([1,5,,6]),this.enterpriseTokenPromise=this.apiService.getEnterprisePortalSignInToken(),[4,this.enterpriseTokenPromise];case 2:return null==(e=n.sent())?[3,4]:[4,this.userService.getUserId()];case 3:t=n.sent(),this.platformUtilsService.launchUri(this.enterpriseUrl+"/login?userId="+t+"&token="+window.encodeURIComponent(e)+"&organizationId="+this.organizationId),n.label=4;case 4:return[3,6];case 5:return n.sent(),[3,6];case 6:return this.enterpriseTokenPromise=null,[2]}})})},e.ɵfac=function(t){return new(t||e)(c.ɵɵdirectiveInject(p.ApiService),c.ɵɵdirectiveInject(u.ActivatedRoute),c.ɵɵdirectiveInject(d.I18nService),c.ɵɵdirectiveInject(c.ComponentFactoryResolver),c.ɵɵdirectiveInject(h.PlatformUtilsService),c.ɵɵdirectiveInject(f.UserService),c.ɵɵdirectiveInject(u.Router),c.ɵɵdirectiveInject(m.EnvironmentService))},e.ɵcmp=c.ɵɵdefineComponent({type:e,selectors:[["app-org-policies"]],viewQuery:function(e,t){var n;(1&e&&c.ɵɵstaticViewQuery(b,!0,o.ViewContainerRef),2&e)&&(c.ɵɵqueryRefresh(n=c.ɵɵloadQuery())&&(t.editModalRef=n.first))},decls:25,vars:12,consts:[[3,"type"],["type","button",1,"btn","btn-outline-secondary",3,"click"],[1,"page-header","d-flex"],[4,"ngIf"],["class","table table-hover table-list",4,"ngIf"],["editTemplate",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],[1,"table","table-hover","table-list"],[4,"ngFor","ngForOf"],["href","#","appStopClick","",3,"click"],["class","badge badge-success",4,"ngIf"],[1,"text-muted","d-block"],[1,"badge","badge-success"]],template:function(e,t){1&e&&(c.ɵɵelementStart(0,"app-callout",0),c.ɵɵtext(1,"\n "),c.ɵɵelementStart(2,"p"),c.ɵɵtext(3),c.ɵɵpipe(4,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(5,"\n "),c.ɵɵelementStart(6,"button",1),c.ɵɵlistener("click",function(){return t.goToEnterprisePortal()}),c.ɵɵtext(7),c.ɵɵpipe(8,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(9,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(10,"\n"),c.ɵɵelementStart(11,"div",2),c.ɵɵtext(12,"\n "),c.ɵɵelementStart(13,"h1"),c.ɵɵtext(14),c.ɵɵpipe(15,"i18n"),c.ɵɵelementEnd(),c.ɵɵtext(16,"\n"),c.ɵɵelementEnd(),c.ɵɵtext(17,"\n"),c.ɵɵtemplate(18,S,9,6,"ng-container",3),c.ɵɵtext(19,"\n"),c.ɵɵtemplate(20,E,7,1,"table",4),c.ɵɵtext(21,"\n"),c.ɵɵtemplate(22,P,0,0,"ng-template",null,5,c.ɵɵtemplateRefExtractor),c.ɵɵtext(24,"\n")),2&e&&(c.ɵɵproperty("type","warning"),c.ɵɵadvance(3),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(4,6,"webPoliciesDeprecationWarning")),c.ɵɵadvance(4),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(8,8,"businessPortal")),c.ɵɵadvance(7),c.ɵɵtextInterpolate(c.ɵɵpipeBind1(15,10,"policies")),c.ɵɵadvance(4),c.ɵɵproperty("ngIf",t.loading),c.ɵɵadvance(2),c.ɵɵproperty("ngIf",!t.loading))},directives:[v.CalloutComponent,y.NgIf,y.NgForOf,g.StopClickDirective],pipes:[x.I18nPipe],encapsulation:2}),e}();t.PoliciesComponent=k},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(6);t.ApiService=r.ApiService;var i=n(827);t.AppIdService=i.AppIdService;var o=n(102);t.AuditService=o.AuditService;var a=n(58);t.AuthService=a.AuthService;var s=n(22);t.CipherService=s.CipherService;var l=n(41);t.CollectionService=l.CollectionService;var c=n(23);t.CryptoService=c.CryptoService;var p=n(70);t.EnvironmentService=p.EnvironmentService;var u=n(52);t.FolderService=u.FolderService;var d=n(4);t.I18nService=d.I18nService;var h=n(828);t.LogService=h.LogService;var f=n(16);t.MessagingService=f.MessagingService;var m=n(37);t.PasswordGenerationService=m.PasswordGenerationService;var v=n(5);t.PlatformUtilsService=v.PlatformUtilsService;var y=n(86);t.SearchService=y.SearchService;var g=n(276);t.SettingsService=g.SettingsService;var x=n(44);t.StorageService=x.StorageService;var b=n(40);t.StateService=b.StateService;var S=n(61);t.SyncService=S.SyncService;var w=n(100);t.TokenService=w.TokenService;var C=n(206);t.TotpService=C.TotpService;var I=n(9);t.UserService=I.UserService;var E=n(109);t.VaultTimeoutService=E.VaultTimeoutService},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1?"×"+n.quantity:""," @ ",a.ɵɵpipeBind2(4,5,n.amount,"$"),"\n "),a.ɵɵadvance(4),a.ɵɵtextInterpolate2("\n ",a.ɵɵpipeBind2(8,8,n.quantity*n.amount,"$")," /",a.ɵɵpipeBind1(9,11,n.interval),"\n ")}}function j(e,t){if(1&e&&(a.ɵɵelementStart(0,"div",20),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"strong",21),a.ɵɵtext(3),a.ɵɵpipe(4,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(5,"\n "),a.ɵɵelementStart(6,"table",22),a.ɵɵtext(7,"\n "),a.ɵɵelementStart(8,"tbody"),a.ɵɵtext(9,"\n "),a.ɵɵtemplate(10,D,11,13,"tr",23),a.ɵɵtext(11,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(12,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(13,"\n "),a.ɵɵelementEnd()),2&e){var n=a.ɵɵnextContext(3);a.ɵɵadvance(3),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(4,2,"details")),a.ɵɵadvance(7),a.ɵɵproperty("ngForOf",n.subscription.items)}}function V(e,t){if(1&e&&(a.ɵɵelementStart(0,"div",14),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"div",15),a.ɵɵtext(3,"\n "),a.ɵɵelementStart(4,"dl"),a.ɵɵtext(5,"\n "),a.ɵɵelementStart(6,"dt"),a.ɵɵtext(7),a.ɵɵpipe(8,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(9,"\n "),a.ɵɵelementStart(10,"dd"),a.ɵɵtext(11),a.ɵɵelementEnd(),a.ɵɵtext(12,"\n "),a.ɵɵtemplate(13,B,23,15,"ng-container",1),a.ɵɵtext(14,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(15,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(16,"\n "),a.ɵɵtemplate(17,j,14,4,"div",16),a.ɵɵtext(18,"\n "),a.ɵɵelementEnd()),2&e){var n=a.ɵɵnextContext(2);a.ɵɵadvance(7),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(8,4,"billingPlan")),a.ɵɵadvance(4),a.ɵɵtextInterpolate(n.sub.plan.name),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.subscription),a.ɵɵadvance(4),a.ɵɵproperty("ngIf",n.subscription)}}function R(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"div",27),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"div",28),a.ɵɵtext(3,"\n "),a.ɵɵelementStart(4,"button",29),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).closeUpdateLicense(!1)}),a.ɵɵpipe(5,"i18n"),a.ɵɵelementStart(6,"span",30),a.ɵɵtext(7,"×"),a.ɵɵelementEnd(),a.ɵɵelementEnd(),a.ɵɵtext(8,"\n "),a.ɵɵelementStart(9,"h3",31),a.ɵɵtext(10),a.ɵɵpipe(11,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(12,"\n "),a.ɵɵelementStart(13,"app-update-license",32),a.ɵɵlistener("onUpdated",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).closeUpdateLicense(!0)})("onCanceled",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).closeUpdateLicense(!1)}),a.ɵɵelementEnd(),a.ɵɵtext(14,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(15,"\n "),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵnextContext(3);a.ɵɵadvance(4),a.ɵɵpropertyInterpolate("appA11yTitle",a.ɵɵpipeBind1(5,3,"cancel")),a.ɵɵadvance(6),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(11,5,"updateLicense")),a.ɵɵadvance(3),a.ɵɵproperty("organizationId",r.organizationId)}}function U(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementContainerStart(0),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"div"),a.ɵɵtext(3,"\n "),a.ɵɵelementStart(4,"button",24),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(2).updateLicense()}),a.ɵɵtext(5),a.ɵɵpipe(6,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(7,"\n "),a.ɵɵelementStart(8,"a",25),a.ɵɵtext(9),a.ɵɵpipe(10,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(11,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(12,"\n "),a.ɵɵtemplate(13,R,16,7,"div",26),a.ɵɵtext(14,"\n "),a.ɵɵelementContainerEnd()}if(2&e){var r=a.ɵɵnextContext(2);a.ɵɵadvance(5),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(6,3,"updateLicense"),"\n "),a.ɵɵadvance(4),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(10,5,"manageSubscription"),"\n "),a.ɵɵadvance(4),a.ɵɵproperty("ngIf",r.showUpdateLicense)}}function F(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"button",24),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).changePlan()}),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()}2&e&&(a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(2,1,"changeBillingPlan"),"\n "))}function N(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"button",42),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).downloadLicense()}),a.ɵɵtext(1),a.ɵɵpipe(2,"i18n"),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵnextContext(3);a.ɵɵproperty("disabled",r.showDownloadLicense),a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(2,2,"downloadLicense"),"\n ")}}function z(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"button",43,44),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).cancel()}),a.ɵɵtext(2,"\n "),a.ɵɵelement(3,"i",10),a.ɵɵpipe(4,"i18n"),a.ɵɵtext(5,"\n "),a.ɵɵelementStart(6,"span"),a.ɵɵtext(7),a.ɵɵpipe(8,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(9,"\n "),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵreference(1),i=a.ɵɵnextContext(3);a.ɵɵproperty("appApiAction",i.cancelPromise)("disabled",r.loading),a.ɵɵadvance(3),a.ɵɵpropertyInterpolate("title",a.ɵɵpipeBind1(4,4,"loading")),a.ɵɵadvance(4),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(8,6,"cancelSubscription"))}}function L(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"app-change-plan",45),a.ɵɵlistener("onChanged",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).closeChangePlan(!0)})("onCanceled",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).closeChangePlan(!1)}),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵnextContext(3);a.ɵɵproperty("organizationId",r.organizationId)}}function G(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"div",46),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"app-download-license",47),a.ɵɵlistener("onDownloaded",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).closeDownloadLicense()})("onCanceled",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(3).closeDownloadLicense()}),a.ɵɵelementEnd(),a.ɵɵtext(3,"\n "),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵnextContext(3);a.ɵɵadvance(2),a.ɵɵproperty("organizationId",r.organizationId)}}function K(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"div",33),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"button",24),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).adjustSeats(!0)}),a.ɵɵtext(3),a.ɵɵpipe(4,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(5,"\n "),a.ɵɵelementStart(6,"button",50),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).adjustSeats(!1)}),a.ɵɵtext(7),a.ɵɵpipe(8,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(9,"\n "),a.ɵɵelementEnd()}2&e&&(a.ɵɵadvance(3),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(4,2,"addSeats"),"\n "),a.ɵɵadvance(4),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(8,4,"removeSeats"),"\n "))}function q(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"app-adjust-seats",51),a.ɵɵlistener("onAdjusted",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).closeSeats(!0)})("onCanceled",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).closeSeats(!1)}),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵnextContext(4);a.ɵɵproperty("seatPrice",r.seatPrice)("add",r.adjustSeatsAdd)("organizationId",r.organizationId)("interval",r.billingInterval)}}function W(e,t){if(1&e&&(a.ɵɵelementContainerStart(0),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"div",46),a.ɵɵtext(3,"\n "),a.ɵɵtemplate(4,K,10,6,"div",48),a.ɵɵtext(5,"\n "),a.ɵɵtemplate(6,q,1,4,"app-adjust-seats",49),a.ɵɵtext(7,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(8,"\n "),a.ɵɵelementContainerEnd()),2&e){var n=a.ɵɵnextContext(3);a.ɵɵadvance(4),a.ɵɵproperty("ngIf",!n.showAdjustSeats),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.showAdjustSeats)}}function H(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"div",33),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"button",24),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).adjustStorage(!0)}),a.ɵɵtext(3),a.ɵɵpipe(4,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(5,"\n "),a.ɵɵelementStart(6,"button",50),a.ɵɵlistener("click",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).adjustStorage(!1)}),a.ɵɵtext(7),a.ɵɵpipe(8,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(9,"\n "),a.ɵɵelementEnd()}2&e&&(a.ɵɵadvance(3),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(4,2,"addStorage"),"\n "),a.ɵɵadvance(4),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(8,4,"removeStorage"),"\n "))}function $(e,t){if(1&e){var n=a.ɵɵgetCurrentView();a.ɵɵelementStart(0,"app-adjust-storage",53),a.ɵɵlistener("onAdjusted",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).closeStorage(!0)})("onCanceled",function(){return a.ɵɵrestoreView(n),a.ɵɵnextContext(4).closeStorage(!1)}),a.ɵɵelementEnd()}if(2&e){var r=a.ɵɵnextContext(4);a.ɵɵproperty("storageGbPrice",r.storageGbPrice)("add",r.adjustStorageAdd)("organizationId",r.organizationId)("interval",r.billingInterval)}}function Q(e,t){if(1&e&&(a.ɵɵelementContainerStart(0),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"div",46),a.ɵɵtext(3,"\n "),a.ɵɵtemplate(4,H,10,6,"div",48),a.ɵɵtext(5,"\n "),a.ɵɵtemplate(6,$,1,4,"app-adjust-storage",52),a.ɵɵtext(7,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(8,"\n "),a.ɵɵelementContainerEnd()),2&e){var n=a.ɵɵnextContext(3);a.ɵɵadvance(4),a.ɵɵproperty("ngIf",!n.showAdjustStorage),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.showAdjustStorage)}}var Y=function(e){return{width:e}};function J(e,t){if(1&e&&(a.ɵɵelementContainerStart(0),a.ɵɵtext(1,"\n "),a.ɵɵelementStart(2,"div",33),a.ɵɵtext(3,"\n "),a.ɵɵtemplate(4,F,3,3,"button",34),a.ɵɵtext(5,"\n "),a.ɵɵtemplate(6,N,3,4,"button",35),a.ɵɵtext(7,"\n "),a.ɵɵtemplate(8,z,10,8,"button",36),a.ɵɵtext(9,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(10,"\n "),a.ɵɵtemplate(11,L,1,1,"app-change-plan",37),a.ɵɵtext(12,"\n "),a.ɵɵtemplate(13,G,4,1,"div",38),a.ɵɵtext(14,"\n "),a.ɵɵelementStart(15,"h2",39),a.ɵɵtext(16),a.ɵɵpipe(17,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(18,"\n "),a.ɵɵelementStart(19,"p"),a.ɵɵtext(20),a.ɵɵpipe(21,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(22,"\n "),a.ɵɵtemplate(23,W,9,2,"ng-container",1),a.ɵɵtext(24,"\n "),a.ɵɵelementStart(25,"h2",39),a.ɵɵtext(26),a.ɵɵpipe(27,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(28,"\n "),a.ɵɵelementStart(29,"p"),a.ɵɵtext(30),a.ɵɵpipe(31,"i18n"),a.ɵɵelementEnd(),a.ɵɵtext(32,"\n "),a.ɵɵelementStart(33,"div",40),a.ɵɵtext(34,"\n "),a.ɵɵelementStart(35,"div",41),a.ɵɵtext(36),a.ɵɵpipe(37,"percent"),a.ɵɵelementEnd(),a.ɵɵtext(38,"\n "),a.ɵɵelementEnd(),a.ɵɵtext(39,"\n "),a.ɵɵtemplate(40,Q,9,2,"ng-container",1),a.ɵɵtext(41,"\n "),a.ɵɵelementContainerEnd()),2&e){var n=a.ɵɵnextContext(2);a.ɵɵadvance(4),a.ɵɵproperty("ngIf",!n.showChangePlan),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.canDownloadLicense),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.subscription&&!n.subscription.cancelled&&!n.subscriptionMarkedForCancel),a.ɵɵadvance(3),a.ɵɵproperty("ngIf",n.showChangePlan),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.showDownloadLicense),a.ɵɵadvance(3),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(17,14,"userSeats")),a.ɵɵadvance(4),a.ɵɵtextInterpolate(a.ɵɵpipeBind2(21,16,"subscriptionUserSeats",n.sub.seats)),a.ɵɵadvance(3),a.ɵɵproperty("ngIf",n.subscription&&n.canAdjustSeats&&!n.subscription.cancelled&&!n.subscriptionMarkedForCancel),a.ɵɵadvance(3),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(27,19,"storage")),a.ɵɵadvance(4),a.ɵɵtextInterpolate(a.ɵɵpipeBind3(31,21,"subscriptionStorage",n.sub.maxStorageGb||0,n.sub.storageName||"0 MB")),a.ɵɵadvance(5),a.ɵɵproperty("ngStyle",a.ɵɵpureFunction1(27,Y,n.storageProgressWidth+"%")),a.ɵɵattribute("aria-valuenow",n.storagePercentage),a.ɵɵadvance(1),a.ɵɵtextInterpolate1("\n ",a.ɵɵpipeBind1(37,25,n.storagePercentage/100),""),a.ɵɵadvance(4),a.ɵɵproperty("ngIf",n.subscription&&!n.subscription.cancelled&&!n.subscriptionMarkedForCancel)}}function X(e,t){if(1&e&&(a.ɵɵelementContainerStart(0),a.ɵɵtext(1,"\n "),a.ɵɵtemplate(2,P,4,6,"app-callout",5),a.ɵɵtext(3,"\n "),a.ɵɵtemplate(4,k,18,14,"app-callout",5),a.ɵɵtext(5,"\n "),a.ɵɵtemplate(6,T,17,9,"dl",1),a.ɵɵtext(7,"\n "),a.ɵɵtemplate(8,V,19,6,"div",6),a.ɵɵtext(9,"\n "),a.ɵɵtemplate(10,U,15,7,"ng-container",1),a.ɵɵtext(11,"\n "),a.ɵɵtemplate(12,J,42,29,"ng-container",1),a.ɵɵtext(13,"\n"),a.ɵɵelementContainerEnd()),2&e){var n=a.ɵɵnextContext();a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.subscription&&n.subscription.cancelled),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.subscriptionMarkedForCancel),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.selfHosted),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",!n.selfHosted),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",n.selfHosted),a.ɵɵadvance(2),a.ɵɵproperty("ngIf",!n.selfHosted)}}var Z=function(){function e(e,t,n,r,i,o,a){this.apiService=e,this.platformUtilsService=t,this.i18nService=n,this.analytics=r,this.toasterService=i,this.messagingService=o,this.route=a,this.loading=!1,this.firstLoaded=!1,this.adjustSeatsAdd=!0,this.showAdjustSeats=!1,this.adjustStorageAdd=!0,this.showAdjustStorage=!1,this.showUpdateLicense=!1,this.showDownloadLicense=!1,this.showChangePlan=!1,this.selfHosted=!1,this.selfHosted=t.isSelfHost()}return e.prototype.ngOnInit=function(){return r(this,void 0,void 0,function(){var e=this;return i(this,function(t){return this.route.parent.parent.params.subscribe(function(t){return r(e,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.organizationId=t.organizationId,[4,this.load()];case 1:return e.sent(),this.firstLoaded=!0,[2]}})})}),[2]})})},e.prototype.load=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:return this.loading?[2]:(this.loading=!0,e=this,[4,this.apiService.getOrganizationSubscription(this.organizationId)]);case 1:return e.sub=t.sent(),this.loading=!1,[2]}})})},e.prototype.reinstate=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.loading?[2]:[4,this.platformUtilsService.showDialog(this.i18nService.t("reinstateConfirmation"),this.i18nService.t("reinstateSubscription"),this.i18nService.t("yes"),this.i18nService.t("cancel"))];case 1:if(!e.sent())return[2];e.label=2;case 2:return e.trys.push([2,4,,5]),this.reinstatePromise=this.apiService.postOrganizationReinstate(this.organizationId),[4,this.reinstatePromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:"Reinstated Plan"}),this.toasterService.popAsync("success",null,this.i18nService.t("reinstated")),this.load(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},e.prototype.cancel=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.loading?[2]:[4,this.platformUtilsService.showDialog(this.i18nService.t("cancelConfirmation"),this.i18nService.t("cancelSubscription"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!e.sent())return[2];e.label=2;case 2:return e.trys.push([2,4,,5]),this.cancelPromise=this.apiService.postOrganizationCancel(this.organizationId),[4,this.cancelPromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:"Canceled Plan"}),this.toasterService.popAsync("success",null,this.i18nService.t("canceledSubscription")),this.load(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},e.prototype.changePlan=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return null==this.subscription&&this.sub.planType===o.PlanType.Free?(this.showChangePlan=!this.showChangePlan,[2]):[4,this.platformUtilsService.showDialog(this.i18nService.t("changeBillingPlanDesc"),this.i18nService.t("changeBillingPlan"),this.i18nService.t("contactSupport"),this.i18nService.t("close"))];case 1:return e.sent()&&this.platformUtilsService.launchUri("https://bitwarden.com/contact"),[2]}})})},e.prototype.closeChangePlan=function(e){this.showChangePlan=!1},e.prototype.downloadLicense=function(){this.showDownloadLicense=!this.showDownloadLicense},e.prototype.closeDownloadLicense=function(){this.showDownloadLicense=!1},e.prototype.updateLicense=function(){this.loading||(this.showUpdateLicense=!0)},e.prototype.closeUpdateLicense=function(e){this.showUpdateLicense=!1,e&&(this.load(),this.messagingService.send("updatedOrgLicense"))},e.prototype.adjustSeats=function(e){this.adjustSeatsAdd=e,this.showAdjustSeats=!0},e.prototype.closeSeats=function(e){this.showAdjustSeats=!1,e&&this.load()},e.prototype.adjustStorage=function(e){this.adjustStorageAdd=e,this.showAdjustStorage=!0},e.prototype.closeStorage=function(e){this.showAdjustStorage=!1,e&&this.load()},Object.defineProperty(e.prototype,"isExpired",{get:function(){return null!=this.sub&&null!=this.sub.expiration&&new Date(this.sub.expiration)0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]

'+this.i18nService.t("twoFactorRecoveryYourCode")+":

"+this.code+'

'+new Date+"

"),e.print(),e.close()},e.prototype.formatString=function(e){return null==e?null:e.replace(/(.{4})/g,"$1 ").trim().toUpperCase()},e.prototype.processResponse=function(e){this.code=this.formatString(e.code)},e.ɵfac=function(t){return new(t||e)(i.ɵɵdirectiveInject(o.I18nService))},e.ɵcmp=i.ɵɵdefineComponent({type:e,selectors:[["app-two-factor-recovery"]],decls:31,vars:11,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","2faRecoveryTitle",1,"modal","fade"],["role","document",1,"modal-dialog"],[1,"modal-content"],[1,"modal-header"],["id","2faRecoveryTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],[3,"organizationId","type","onAuthed",4,"ngIf"],[4,"ngIf"],[3,"organizationId","type","onAuthed"],[1,"modal-body","text-center"],[1,"modal-footer"],["type","button","class","btn btn-primary",3,"click",4,"ngIf"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],[1,"text-lg"],["type","button",1,"btn","btn-primary",3,"click"]],template:function(e,t){1&e&&(i.ɵɵelementStart(0,"div",0),i.ɵɵtext(1,"\n "),i.ɵɵelementStart(2,"div",1),i.ɵɵtext(3,"\n "),i.ɵɵelementStart(4,"div",2),i.ɵɵtext(5,"\n "),i.ɵɵelementStart(6,"div",3),i.ɵɵtext(7,"\n "),i.ɵɵelementStart(8,"h2",4),i.ɵɵtext(9),i.ɵɵpipe(10,"i18n"),i.ɵɵelementStart(11,"small"),i.ɵɵtext(12),i.ɵɵpipe(13,"i18n"),i.ɵɵelementEnd(),i.ɵɵtext(14,"\n "),i.ɵɵelementEnd(),i.ɵɵtext(15,"\n "),i.ɵɵelementStart(16,"button",5),i.ɵɵpipe(17,"i18n"),i.ɵɵtext(18,"\n "),i.ɵɵelementStart(19,"span",6),i.ɵɵtext(20,"×"),i.ɵɵelementEnd(),i.ɵɵtext(21,"\n "),i.ɵɵelementEnd(),i.ɵɵtext(22,"\n "),i.ɵɵelementEnd(),i.ɵɵtext(23,"\n "),i.ɵɵtemplate(24,p,2,2,"app-two-factor-verify",7),i.ɵɵtext(25,"\n "),i.ɵɵtemplate(26,f,18,6,"ng-container",8),i.ɵɵtext(27,"\n "),i.ɵɵelementEnd(),i.ɵɵtext(28,"\n "),i.ɵɵelementEnd(),i.ɵɵtext(29,"\n"),i.ɵɵelementEnd(),i.ɵɵtext(30,"\n")),2&e&&(i.ɵɵadvance(9),i.ɵɵtextInterpolate1("\n ",i.ɵɵpipeBind1(10,5,"twoStepLogin"),"\n "),i.ɵɵadvance(3),i.ɵɵtextInterpolate(i.ɵɵpipeBind1(13,7,"recoveryCodeTitle")),i.ɵɵadvance(4),i.ɵɵpropertyInterpolate("appA11yTitle",i.ɵɵpipeBind1(17,9,"close")),i.ɵɵadvance(8),i.ɵɵproperty("ngIf",!t.authed),i.ɵɵadvance(2),i.ɵɵproperty("ngIf",t.authed))},directives:[a.A11yTitleDirective,s.NgIf,l.TwoFactorVerifyComponent],pipes:[c.I18nPipe],encapsulation:2}),e}();t.TwoFactorRecoveryComponent=m},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1&&n.configured)}}function V(e,t){1&e&&(d.ɵɵelementContainerStart(0),d.ɵɵtext(1,"\n "),d.ɵɵelement(2,"i",41),d.ɵɵtext(3,"\n "),d.ɵɵelementContainerEnd())}function R(e,t){1&e&&(d.ɵɵelementContainerStart(0),d.ɵɵtext(1,"\n "),d.ɵɵelement(2,"i",41),d.ɵɵtext(3),d.ɵɵpipe(4,"i18n"),d.ɵɵelementContainerEnd()),2&e&&(d.ɵɵadvance(3),d.ɵɵtextInterpolate1("\n ",d.ɵɵpipeBind1(4,1,"twoFactorU2fWaiting"),"...\n "))}function U(e,t){1&e&&(d.ɵɵelementContainerStart(0),d.ɵɵtext(1,"\n "),d.ɵɵelement(2,"i",42),d.ɵɵtext(3),d.ɵɵpipe(4,"i18n"),d.ɵɵelementContainerEnd()),2&e&&(d.ɵɵadvance(3),d.ɵɵtextInterpolate1("\n ",d.ɵɵpipeBind1(4,1,"twoFactorU2fClickSave"),"\n "))}function F(e,t){1&e&&(d.ɵɵelementContainerStart(0),d.ɵɵtext(1,"\n "),d.ɵɵelement(2,"i",43),d.ɵɵtext(3),d.ɵɵpipe(4,"i18n"),d.ɵɵelementContainerEnd()),2&e&&(d.ɵɵadvance(3),d.ɵɵtextInterpolate1("\n ",d.ɵɵpipeBind1(4,1,"twoFactorU2fProblemReadingTryAgain"),"\n "))}function N(e,t){if(1&e&&(d.ɵɵelementContainerStart(0),d.ɵɵtext(1,"\n "),d.ɵɵtemplate(2,R,5,3,"ng-container",25),d.ɵɵtext(3,"\n "),d.ɵɵtemplate(4,U,5,3,"ng-container",25),d.ɵɵtext(5,"\n "),d.ɵɵtemplate(6,F,5,3,"ng-container",25),d.ɵɵtext(7,"\n "),d.ɵɵelementContainerEnd()),2&e){var n=d.ɵɵnextContext(2);d.ɵɵadvance(2),d.ɵɵproperty("ngIf",n.u2fListening),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",n.u2fResponse),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",n.u2fError)}}function z(e,t){1&e&&(d.ɵɵelement(0,"i",44),d.ɵɵpipe(1,"i18n")),2&e&&d.ɵɵpropertyInterpolate("title",d.ɵɵpipeBind1(1,1,"loading"))}function L(e,t){1&e&&(d.ɵɵelementStart(0,"span"),d.ɵɵtext(1),d.ɵɵpipe(2,"i18n"),d.ɵɵelementEnd()),2&e&&(d.ɵɵadvance(1),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(2,1,"save")))}function G(e,t){if(1&e){var n=d.ɵɵgetCurrentView();d.ɵɵelementStart(0,"button",45,46),d.ɵɵlistener("click",function(){return d.ɵɵrestoreView(n),d.ɵɵnextContext(2).disable()}),d.ɵɵtext(2,"\n "),d.ɵɵelement(3,"i",44),d.ɵɵpipe(4,"i18n"),d.ɵɵtext(5,"\n "),d.ɵɵelementStart(6,"span"),d.ɵɵtext(7),d.ɵɵpipe(8,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(9,"\n "),d.ɵɵelementEnd()}if(2&e){var r=d.ɵɵreference(1),i=d.ɵɵnextContext(2);d.ɵɵproperty("appApiAction",i.disablePromise)("disabled",r.loading),d.ɵɵadvance(3),d.ɵɵpropertyInterpolate("title",d.ɵɵpipeBind1(4,4,"loading")),d.ɵɵadvance(4),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(8,6,"disableAllKeys"))}}function K(e,t){if(1&e){var n=d.ɵɵgetCurrentView();d.ɵɵelementStart(0,"form",10,11),d.ɵɵlistener("ngSubmit",function(){return d.ɵɵrestoreView(n),d.ɵɵnextContext().submit()}),d.ɵɵtext(2,"\n "),d.ɵɵelementStart(3,"div",12),d.ɵɵtext(4,"\n "),d.ɵɵtemplate(5,k,4,6,"app-callout",13),d.ɵɵtext(6,"\n "),d.ɵɵelementStart(7,"app-callout",14),d.ɵɵtext(8,"\n "),d.ɵɵelementStart(9,"p"),d.ɵɵtext(10),d.ɵɵpipe(11,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(12,"\n "),d.ɵɵelementStart(13,"ul",15),d.ɵɵtext(14,"\n "),d.ɵɵelementStart(15,"li"),d.ɵɵtext(16),d.ɵɵpipe(17,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(18,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(19,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(20,"\n "),d.ɵɵelement(21,"img",16),d.ɵɵtext(22,"\n "),d.ɵɵelementStart(23,"ul",17),d.ɵɵtext(24,"\n "),d.ɵɵtemplate(25,j,13,5,"li",18),d.ɵɵtext(26,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(27,"\n "),d.ɵɵelement(28,"hr"),d.ɵɵtext(29,"\n "),d.ɵɵelementStart(30,"p"),d.ɵɵtext(31),d.ɵɵpipe(32,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(33,"\n "),d.ɵɵelementStart(34,"ol"),d.ɵɵtext(35,"\n "),d.ɵɵelementStart(36,"li"),d.ɵɵtext(37),d.ɵɵpipe(38,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(39,"\n "),d.ɵɵelementStart(40,"li"),d.ɵɵtext(41),d.ɵɵpipe(42,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(43,"\n "),d.ɵɵelementStart(44,"li"),d.ɵɵtext(45),d.ɵɵpipe(46,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(47,"\n "),d.ɵɵelementStart(48,"li"),d.ɵɵtext(49),d.ɵɵpipe(50,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(51,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(52,"\n "),d.ɵɵelementStart(53,"div",19),d.ɵɵtext(54,"\n "),d.ɵɵelementStart(55,"div",20),d.ɵɵtext(56,"\n "),d.ɵɵelementStart(57,"label",21),d.ɵɵtext(58),d.ɵɵpipe(59,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(60,"\n "),d.ɵɵelementStart(61,"input",22),d.ɵɵlistener("ngModelChange",function(e){return d.ɵɵrestoreView(n),d.ɵɵnextContext().name=e}),d.ɵɵelementEnd(),d.ɵɵtext(62,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(63,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(64,"\n "),d.ɵɵelementStart(65,"button",23,24),d.ɵɵlistener("click",function(){return d.ɵɵrestoreView(n),d.ɵɵnextContext().readKey()}),d.ɵɵtext(67),d.ɵɵpipe(68,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(69,"\n "),d.ɵɵtemplate(70,V,4,0,"ng-container",25),d.ɵɵtext(71,"\n "),d.ɵɵtemplate(72,N,8,3,"ng-container",25),d.ɵɵtext(73,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(74,"\n "),d.ɵɵelementStart(75,"div",26),d.ɵɵtext(76,"\n "),d.ɵɵelementStart(77,"button",27),d.ɵɵtext(78,"\n "),d.ɵɵtemplate(79,z,2,3,"i",28),d.ɵɵtext(80,"\n "),d.ɵɵtemplate(81,L,3,3,"span",25),d.ɵɵtext(82,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(83,"\n "),d.ɵɵtemplate(84,G,10,8,"button",29),d.ɵɵtext(85,"\n "),d.ɵɵelementStart(86,"button",30),d.ɵɵtext(87),d.ɵɵpipe(88,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(89,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(90,"\n "),d.ɵɵelementEnd()}if(2&e){var r=d.ɵɵreference(1),i=d.ɵɵreference(66),o=d.ɵɵnextContext();d.ɵɵproperty("appApiAction",o.formPromise),d.ɵɵadvance(5),d.ɵɵproperty("ngIf",o.enabled),d.ɵɵadvance(5),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(11,23,"twoFactorU2fWarning")),d.ɵɵadvance(6),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(17,25,"twoFactorU2fSupportWeb")),d.ɵɵadvance(9),d.ɵɵproperty("ngForOf",o.keys),d.ɵɵadvance(6),d.ɵɵtextInterpolate1("",d.ɵɵpipeBind1(32,27,"twoFactorU2fAdd"),":"),d.ɵɵadvance(6),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(38,29,"twoFactorU2fGiveName")),d.ɵɵadvance(4),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(42,31,"twoFactorU2fPlugInReadKey")),d.ɵɵadvance(4),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(46,33,"twoFactorU2fTouchButton")),d.ɵɵadvance(4),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(50,35,"twoFactorU2fSaveForm")),d.ɵɵadvance(9),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(59,37,"name")),d.ɵɵadvance(3),d.ɵɵproperty("ngModel",o.name)("disabled",!o.keyIdAvailable),d.ɵɵadvance(4),d.ɵɵproperty("disabled",i.loading||o.u2fListening||!o.keyIdAvailable)("appApiAction",o.challengePromise),d.ɵɵadvance(2),d.ɵɵtextInterpolate1("\n ",d.ɵɵpipeBind1(68,39,"readKey"),"\n "),d.ɵɵadvance(3),d.ɵɵproperty("ngIf",i.loading),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",!i.loading),d.ɵɵadvance(5),d.ɵɵproperty("disabled",r.loading||!o.u2fResponse),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",r.loading),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",!r.loading),d.ɵɵadvance(3),d.ɵɵproperty("ngIf",o.enabled),d.ɵɵadvance(3),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(88,41,"close"))}}var q=function(e){function t(t,n,r,i,o,a){var l=e.call(this,t,n,r,i,o)||this;return l.ngZone=a,l.type=s.TwoFactorProviderType.U2f,l.keyIdAvailable=null,l.keysConfiguredCount=0,l.u2fScript=window.document.createElement("script"),l.u2fScript.src="scripts/u2f.js",l.u2fScript.async=!0,l}return i(t,e),t.prototype.ngOnInit=function(){window.document.body.appendChild(this.u2fScript)},t.prototype.ngOnDestroy=function(){window.document.body.removeChild(this.u2fScript)},t.prototype.auth=function(t){e.prototype.auth.call(this,t),this.processResponse(t.response)},t.prototype.submit=function(){var t=this;if(null==this.u2fResponse||null==this.keyIdAvailable)return Promise.reject();var n=new p.UpdateTwoFactorU2fRequest;return n.masterPasswordHash=this.masterPasswordHash,n.deviceResponse=this.u2fResponse,n.id=this.keyIdAvailable,n.name=this.name,e.prototype.enable.call(this,function(){return o(t,void 0,void 0,function(){var e;return a(this,function(t){switch(t.label){case 0:return this.formPromise=this.apiService.putTwoFactorU2f(n),[4,this.formPromise];case 1:return e=t.sent(),[4,this.processResponse(e)];case 2:return t.sent(),[2]}})})})},t.prototype.disable=function(){return e.prototype.disable.call(this,this.formPromise)},t.prototype.remove=function(e){return o(this,void 0,void 0,function(){var t,n,r;return a(this,function(i){switch(i.label){case 0:return this.keysConfiguredCount<=1||null!=e.removePromise?[2]:(t=null!=e.name?e.name:this.i18nService.t("u2fkeyX",e.id),[4,this.platformUtilsService.showDialog(this.i18nService.t("removeU2fConfirmation"),t,this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]);case 1:if(!i.sent())return[2];(n=new c.UpdateTwoFactorU2fDeleteRequest).id=e.id,n.masterPasswordHash=this.masterPasswordHash,i.label=2;case 2:return i.trys.push([2,5,,6]),e.removePromise=this.apiService.deleteTwoFactorU2f(n),[4,e.removePromise];case 3:return r=i.sent(),e.removePromise=null,[4,this.processResponse(r)];case 4:return i.sent(),[3,6];case 5:return i.sent(),[3,6];case 6:return[2]}})})},t.prototype.readKey=function(){return o(this,void 0,void 0,function(){var e,t;return a(this,function(n){switch(n.label){case 0:if(null==this.keyIdAvailable)return[2];(e=new l.PasswordVerificationRequest).masterPasswordHash=this.masterPasswordHash,n.label=1;case 1:return n.trys.push([1,3,,4]),this.challengePromise=this.apiService.getTwoFactorU2fChallenge(e),[4,this.challengePromise];case 2:return t=n.sent(),this.readDevice(t),[3,4];case 3:return n.sent(),[3,4];case 4:return[2]}})})},t.prototype.readDevice=function(e){var t=this;console.log("listening for key..."),this.resetU2f(!0),window.u2f.register(e.appId,[{version:e.version,challenge:e.challenge}],[],function(e){t.ngZone.run(function(){if(t.u2fListening=!1,e.errorCode)return t.u2fError=!0,void console.log("error: "+e.errorCode);t.u2fResponse=JSON.stringify(e)})},15)},t.prototype.resetU2f=function(e){void 0===e&&(e=!1),this.u2fResponse=null,this.u2fError=!1,this.u2fListening=e},t.prototype.processResponse=function(e){this.resetU2f(),this.keys=[],this.keyIdAvailable=null,this.name=null,this.keysConfiguredCount=0;for(var t=function(t){if(null!=e.keys){var r=e.keys.filter(function(e){return e.id===t});if(r.length>0)return n.keysConfiguredCount++,n.keys.push({id:t,name:r[0].name,configured:!0,compromised:r[0].compromised,removePromise:null}),"continue"}n.keys.push({id:t,name:null,configured:!1,compromised:!1,removePromise:null}),null==n.keyIdAvailable&&(n.keyIdAvailable=t)},n=this,r=1;r<=5;r++)t(r);this.enabled=e.enabled},t.ɵfac=function(e){return new(e||t)(d.ɵɵdirectiveInject(h.ApiService),d.ɵɵdirectiveInject(f.I18nService),d.ɵɵdirectiveInject(m.Angulartics2),d.ɵɵdirectiveInject(v.ToasterService),d.ɵɵdirectiveInject(y.PlatformUtilsService),d.ɵɵdirectiveInject(d.NgZone))},t.ɵcmp=d.ɵɵdefineComponent({type:t,selectors:[["app-two-factor-u2f"]],features:[d.ɵɵInheritDefinitionFeature],decls:30,vars:8,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","2faU2fTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],[1,"modal-content"],[1,"modal-header"],["id","2faU2fTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],[3,"organizationId","type","onAuthed",4,"ngIf"],["ngNativeValidate","",3,"appApiAction","ngSubmit",4,"ngIf"],[3,"organizationId","type","onAuthed"],["ngNativeValidate","",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-body"],["type","success","icon","fa-check-circle",3,"title",4,"ngIf"],["type","warning"],[1,"mb-0"],["src","images/4.png","alt","",1,"float-right","ml-5"],[1,"fa-ul"],[3,"appApiAction",4,"ngFor","ngForOf"],[1,"row"],[1,"form-group","col-6"],["for","name"],["id","name","type","text","name","Name",1,"form-control",3,"ngModel","disabled","ngModelChange"],["type","button",1,"btn","btn-outline-secondary","mr-2",3,"disabled","appApiAction","click"],["readKeyBtn",""],[4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary",3,"disabled"],["class","fa fa-spinner fa-spin","aria-hidden","true",3,"title",4,"ngIf"],["type","button","class","btn btn-outline-secondary btn-submit",3,"appApiAction","disabled","click",4,"ngIf"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],["type","success","icon","fa-check-circle",3,"title"],[3,"appApiAction"],["removeKeyBtn",""],[1,"fa-li","fa","fa-key"],["aria-hidden","true",1,"fa","fa-fw","fa-exclamation-triangle","text-warning",3,"title"],[1,"sr-only"],["aria-hidden","true",1,"fa","fa-fw","fa-check","text-success",3,"title"],["class","fa fa-spin fa-spinner text-muted fa-fw","aria-hidden","true",3,"title",4,"ngIf"],["href","#","appStopClick","",3,"click"],["aria-hidden","true",1,"fa","fa-spin","fa-spinner","text-muted","fa-fw",3,"title"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted"],["aria-hidden","true",1,"fa","fa-check-circle","text-success"],["aria-hidden","true",1,"fa","fa-warning","text-danger"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button",1,"btn","btn-outline-secondary","btn-submit",3,"appApiAction","disabled","click"],["disableBtn",""]],template:function(e,t){1&e&&(d.ɵɵelementStart(0,"div",0),d.ɵɵtext(1,"\n "),d.ɵɵelementStart(2,"div",1),d.ɵɵtext(3,"\n "),d.ɵɵelementStart(4,"div",2),d.ɵɵtext(5,"\n "),d.ɵɵelementStart(6,"div",3),d.ɵɵtext(7,"\n "),d.ɵɵelementStart(8,"h2",4),d.ɵɵtext(9),d.ɵɵpipe(10,"i18n"),d.ɵɵelementStart(11,"small"),d.ɵɵtext(12,"FIDO U2F"),d.ɵɵelementEnd(),d.ɵɵtext(13,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(14,"\n "),d.ɵɵelementStart(15,"button",5),d.ɵɵpipe(16,"i18n"),d.ɵɵtext(17,"\n "),d.ɵɵelementStart(18,"span",6),d.ɵɵtext(19,"×"),d.ɵɵelementEnd(),d.ɵɵtext(20,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(21,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(22,"\n "),d.ɵɵtemplate(23,P,2,2,"app-two-factor-verify",7),d.ɵɵtext(24,"\n "),d.ɵɵtemplate(25,K,91,43,"form",8),d.ɵɵtext(26,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(27,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(28,"\n"),d.ɵɵelementEnd(),d.ɵɵtext(29,"\n")),2&e&&(d.ɵɵadvance(9),d.ɵɵtextInterpolate1("\n ",d.ɵɵpipeBind1(10,4,"twoStepLogin"),"\n "),d.ɵɵadvance(6),d.ɵɵpropertyInterpolate("appA11yTitle",d.ɵɵpipeBind1(16,6,"close")),d.ɵɵadvance(8),d.ɵɵproperty("ngIf",!t.authed),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",t.authed))},directives:[g.A11yTitleDirective,x.NgIf,b.TwoFactorVerifyComponent,S.NgControlStatusGroup,S.NgForm,w.ApiActionDirective,C.CalloutComponent,x.NgForOf,S.DefaultValueAccessor,S.NgControlStatus,S.NgModel,I.StopClickDirective],pipes:[E.I18nPipe],encapsulation:2}),t}(u.TwoFactorBaseComponent);t.TwoFactorU2fComponent=q},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?this.keys[0].key:null,n.key2=null!=this.keys&&this.keys.length>1?this.keys[1].key:null,n.key3=null!=this.keys&&this.keys.length>2?this.keys[2].key:null,n.key4=null!=this.keys&&this.keys.length>3?this.keys[3].key:null,n.key5=null!=this.keys&&this.keys.length>4?this.keys[4].key:null,n.nfc=this.nfc,e.prototype.enable.call(this,function(){return o(t,void 0,void 0,function(){var e;return a(this,function(t){switch(t.label){case 0:return this.formPromise=this.apiService.putTwoFactorYubiKey(n),[4,this.formPromise];case 1:return e=t.sent(),[4,this.processResponse(e)];case 2:return t.sent(),this.toasterService.popAsync("success",null,this.i18nService.t("yubikeysUpdated")),[2]}})})})},t.prototype.disable=function(){return e.prototype.disable.call(this,this.disablePromise)},t.prototype.remove=function(e){e.existingKey=null,e.key=null},t.prototype.processResponse=function(e){this.enabled=e.enabled,this.keys=[{key:e.key1,existingKey:this.padRight(e.key1)},{key:e.key2,existingKey:this.padRight(e.key2)},{key:e.key3,existingKey:this.padRight(e.key3)},{key:e.key4,existingKey:this.padRight(e.key4)},{key:e.key5,existingKey:this.padRight(e.key5)}],this.nfc=e.nfc||!e.enabled},t.prototype.padRight=function(e,t,n){if(void 0===t&&(t="•"),void 0===n&&(n=44),null==e||null==t||e.length>=n)return e;for(var r=(n-e.length)/t.length,i=0;i0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(e.uris=[],this.uris.forEach(function(t){e.uris.push(t.toLoginUriData())})),e},t}(n(80).default);t.Login=p},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(575),a=n(254),s=function(e){function t(t,n){void 0===n&&(n=!1);var r=e.call(this)||this;return null==t?r:(r.match=t.match,r.buildDomainModel(r,t,{uri:null},n,[]),r)}return i(t,e),t.prototype.decrypt=function(e){return this.decryptObj(new a.LoginUriView(this),{uri:null},e)},t.prototype.toLoginUriData=function(){var e=new o.LoginUriData;return this.buildDataModel(this,e,{uri:null},["match"]),e},t}(n(80).default);t.LoginUri=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(576),a=n(80),s=n(469),l=function(e){function t(t,n){void 0===n&&(n=!1);var r=e.call(this)||this;return null==t?r:(r.buildDomainModel(r,t,{password:null},n),r.lastUsedDate=new Date(t.lastUsedDate),r)}return i(t,e),t.prototype.decrypt=function(e){return this.decryptObj(new s.PasswordHistoryView(this),{password:null},e)},t.prototype.toPasswordHistoryData=function(){var e=new o.PasswordHistoryData;return e.lastUsedDate=this.lastUsedDate.toISOString(),this.buildDataModel(this,e,{password:null}),e},t}(a.default);t.Password=l},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(577),a=n(80),s=n(93),l=function(e){function t(t,n){void 0===n&&(n=!1);var r=e.call(this)||this;return null==t?r:(r.type=t.type,r)}return i(t,e),t.prototype.decrypt=function(e){return Promise.resolve(new s.SecureNoteView(this))},t.prototype.toSecureNoteData=function(){var e=new o.SecureNoteData;return e.type=this.type,e},t}(a.default);t.SecureNote=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(208),i=function(){return function(e){this.cipher=new r.CipherRequest(e),this.collectionIds=e.collectionIds}}();t.CipherCreateRequest=i},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){void 0===t&&(t=null);var n=e.call(this,t)||this;return null==t?n:(n.cardholderName=n.getResponseProperty("CardholderName"),n.brand=n.getResponseProperty("Brand"),n.number=n.getResponseProperty("Number"),n.expMonth=n.getResponseProperty("ExpMonth"),n.expYear=n.getResponseProperty("ExpYear"),n.code=n.getResponseProperty("Code"),n)}return i(t,e),t}(n(29).BaseResponse);t.CardApi=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){void 0===t&&(t=null);var n=e.call(this,t)||this;return null==t?n:(n.type=n.getResponseProperty("Type"),n.name=n.getResponseProperty("Name"),n.value=n.getResponseProperty("Value"),n)}return i(t,e),t}(n(29).BaseResponse);t.FieldApi=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){void 0===t&&(t=null);var n=e.call(this,t)||this;return null==t?n:(n.title=n.getResponseProperty("Title"),n.firstName=n.getResponseProperty("FirstName"),n.middleName=n.getResponseProperty("MiddleName"),n.lastName=n.getResponseProperty("LastName"),n.address1=n.getResponseProperty("Address1"),n.address2=n.getResponseProperty("Address2"),n.address3=n.getResponseProperty("Address3"),n.city=n.getResponseProperty("City"),n.state=n.getResponseProperty("State"),n.postalCode=n.getResponseProperty("PostalCode"),n.country=n.getResponseProperty("Country"),n.company=n.getResponseProperty("Company"),n.email=n.getResponseProperty("Email"),n.phone=n.getResponseProperty("Phone"),n.ssn=n.getResponseProperty("SSN"),n.username=n.getResponseProperty("Username"),n.passportNumber=n.getResponseProperty("PassportNumber"),n.licenseNumber=n.getResponseProperty("LicenseNumber"),n)}return i(t,e),t}(n(29).BaseResponse);t.IdentityApi=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(29),a=n(593),s=function(e){function t(t){void 0===t&&(t=null);var n=e.call(this,t)||this;if(null==t)return n;n.username=n.getResponseProperty("Username"),n.password=n.getResponseProperty("Password"),n.passwordRevisionDate=n.getResponseProperty("PasswordRevisionDate"),n.totp=n.getResponseProperty("Totp");var r=n.getResponseProperty("Uris");return null!=r&&(n.uris=r.map(function(e){return new a.LoginUriApi(e)})),n}return i(t,e),t}(o.BaseResponse);t.LoginApi=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){void 0===t&&(t=null);var n=e.call(this,t)||this;if(n.match=null,null==t)return n;n.uri=n.getResponseProperty("Uri");var r=n.getResponseProperty("Match");return n.match=null!=r?r:null,n}return i(t,e),t}(n(29).BaseResponse);t.LoginUriApi=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){void 0===t&&(t=null);var n=e.call(this,t)||this;return null==t?n:(n.type=n.getResponseProperty("Type"),n)}return i(t,e),t}(n(29).BaseResponse);t.SecureNoteApi=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(0),i=function(){function e(e){this.el=e}return e.prototype.onError=function(){this.el.nativeElement.src=this.appFallbackSrc},e.ɵfac=function(t){return new(t||e)(r.ɵɵdirectiveInject(r.ElementRef))},e.ɵdir=r.ɵɵdefineDirective({type:e,selectors:[["","appFallbackSrc",""]],hostBindings:function(e,t){1&e&&r.ɵɵlistener("error",function(){return t.onError()})},inputs:{appFallbackSrc:"appFallbackSrc"}}),e}();t.FallbackSrcDirective=i},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&this.viewEvents(n[0]),null!=o&&o.unsubscribe(),[2]}})})}),null!=t&&t.unsubscribe(),[2]}})})})},e.prototype.ngOnDestroy=function(){this.broadcasterService.unsubscribe("OrgVaultComponent")},e.prototype.clearGroupingFilters=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.ciphersComponent.showAddNew=!0,this.ciphersComponent.deleted=!1,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchVault"),[4,this.ciphersComponent.applyFilter()];case 1:return e.sent(),this.clearFilters(),this.go(),[2]}})})},e.prototype.filterCipherType=function(e,t){return void 0===t&&(t=!1),r(this,void 0,void 0,function(){var n;return i(this,function(r){switch(r.label){case 0:return this.ciphersComponent.showAddNew=!0,this.ciphersComponent.deleted=!1,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchType"),n=function(t){return t.type===e},t?[4,this.ciphersComponent.reload(n)]:[3,2];case 1:return r.sent(),[3,4];case 2:return[4,this.ciphersComponent.applyFilter(n)];case 3:r.sent(),r.label=4;case 4:return this.clearFilters(),this.type=e,this.go(),[2]}})})},e.prototype.filterCollection=function(e,t){return void 0===t&&(t=!1),r(this,void 0,void 0,function(){var n;return i(this,function(r){switch(r.label){case 0:return this.ciphersComponent.showAddNew=!0,this.ciphersComponent.deleted=!1,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchCollection"),n=function(t){return"unassigned"===e?null==t.collectionIds||0===t.collectionIds.length:null!=t.collectionIds&&t.collectionIds.indexOf(e)>-1},t?[4,this.ciphersComponent.reload(n)]:[3,2];case 1:return r.sent(),[3,4];case 2:return[4,this.ciphersComponent.applyFilter(n)];case 3:r.sent(),r.label=4;case 4:return this.clearFilters(),this.collectionId=e,this.go(),[2]}})})},e.prototype.filterDeleted=function(e){return void 0===e&&(e=!1),r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return this.ciphersComponent.showAddNew=!1,this.ciphersComponent.deleted=!0,this.groupingsComponent.searchPlaceholder=this.i18nService.t("searchTrash"),e?[4,this.ciphersComponent.reload(null,!0)]:[3,2];case 1:return t.sent(),[3,4];case 2:return[4,this.ciphersComponent.applyFilter(null)];case 3:t.sent(),t.label=4;case 4:return this.clearFilters(),this.deleted=!0,this.go(),[2]}})})},e.prototype.filterSearchText=function(e){this.ciphersComponent.searchText=e,this.ciphersComponent.search(200)},e.prototype.editCipherAttachments=function(e){var t=this;if(null!=this.organization.maxStorageGb&&0!==this.organization.maxStorageGb){null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent);this.modal=this.attachmentsModalRef.createComponent(n).instance;var o=this.modal.show(c.AttachmentsComponent,this.attachmentsModalRef);o.organization=this.organization,o.cipherId=e.id;var s=!1;o.onUploadedAttachment.subscribe(function(){return s=!0}),o.onDeletedAttachment.subscribe(function(){return s=!0}),this.modal.onClosed.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal=null,s?[4,this.ciphersComponent.refresh()]:[3,2];case 1:e.sent(),e.label=2;case 2:return s=!1,[2]}})})})}else this.messagingService.send("upgradeOrganization",{organizationId:e.organizationId})},e.prototype.editCipherCollections=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent);this.modal=this.collectionsModalRef.createComponent(n).instance;var o=this.modal.show(u.CollectionsComponent,this.collectionsModalRef);this.organization.isAdmin&&(o.collectionIds=e.collectionIds,o.collections=this.groupingsComponent.collections.filter(function(e){return!e.readOnly})),o.organization=this.organization,o.cipherId=e.id,o.onSavedCollections.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){return this.modal=null,[2]})})})},e.prototype.addCipher=function(){var e=this.editCipher(null);e.organizationId=this.organization.id,e.type=this.type,this.organization.isAdmin&&(e.collections=this.groupingsComponent.collections.filter(function(e){return!e.readOnly})),null!=this.collectionId&&(e.collectionIds=[this.collectionId])},e.prototype.editCipher=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent);this.modal=this.cipherAddEditModalRef.createComponent(n).instance;var o=this.modal.show(l.AddEditComponent,this.cipherAddEditModalRef);return o.organization=this.organization,o.cipherId=null==e?null:e.id,o.onSavedCipher.subscribe(function(e){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),o.onDeletedCipher.subscribe(function(e){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),o.onRestoredCipher.subscribe(function(e){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){t.modal=null}),o},e.prototype.cloneCipher=function(e){var t=this.editCipher(e);t.cloneMode=!0,t.organizationId=this.organization.id,this.organization.isAdmin&&(t.collections=this.groupingsComponent.collections.filter(function(e){return!e.readOnly})),t.collectionIds=e.collectionIds},e.prototype.viewEvents=function(e){return r(this,void 0,void 0,function(){var t,n,r=this;return i(this,function(i){return null!=this.modal&&this.modal.close(),t=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent),this.modal=this.eventsModalRef.createComponent(t).instance,(n=this.modal.show(s.EntityEventsComponent,this.eventsModalRef)).name=e.name,n.organizationId=this.organization.id,n.entityId=e.id,n.showUser=!0,n.entity="cipher",this.modal.onClosed.subscribe(function(){r.modal=null}),[2]})})},e.prototype.clearFilters=function(){this.collectionId=null,this.type=null,this.deleted=!1},e.prototype.go=function(e){void 0===e&&(e=null),null==e&&(e={type:this.type,collectionId:this.collectionId,deleted:!!this.deleted||null}),this.router.navigate([],{relativeTo:this.route,queryParams:e,replaceUrl:!0})},e.ɵfac=function(t){return new(t||e)(h.ɵɵdirectiveInject(f.ActivatedRoute),h.ɵɵdirectiveInject(m.UserService),h.ɵɵdirectiveInject(f.Router),h.ɵɵdirectiveInject(h.ChangeDetectorRef),h.ɵɵdirectiveInject(v.SyncService),h.ɵɵdirectiveInject(y.I18nService),h.ɵɵdirectiveInject(h.ComponentFactoryResolver),h.ɵɵdirectiveInject(g.MessagingService),h.ɵɵdirectiveInject(x.BroadcasterService),h.ɵɵdirectiveInject(h.NgZone))},e.ɵcmp=h.ɵɵdefineComponent({type:e,selectors:[["app-org-vault"]],viewQuery:function(e,t){var n;(1&e&&(h.ɵɵstaticViewQuery(d.GroupingsComponent,!0),h.ɵɵstaticViewQuery(p.CiphersComponent,!0),h.ɵɵstaticViewQuery(P,!0,o.ViewContainerRef),h.ɵɵstaticViewQuery(k,!0,o.ViewContainerRef),h.ɵɵstaticViewQuery(_,!0,o.ViewContainerRef),h.ɵɵstaticViewQuery(A,!0,o.ViewContainerRef)),2&e)&&(h.ɵɵqueryRefresh(n=h.ɵɵloadQuery())&&(t.groupingsComponent=n.first),h.ɵɵqueryRefresh(n=h.ɵɵloadQuery())&&(t.ciphersComponent=n.first),h.ɵɵqueryRefresh(n=h.ɵɵloadQuery())&&(t.attachmentsModalRef=n.first),h.ɵɵqueryRefresh(n=h.ɵɵloadQuery())&&(t.cipherAddEditModalRef=n.first),h.ɵɵqueryRefresh(n=h.ɵɵloadQuery())&&(t.collectionsModalRef=n.first),h.ɵɵqueryRefresh(n=h.ɵɵloadQuery())&&(t.eventsModalRef=n.first))},decls:51,vars:13,consts:[[1,"container","page-content"],[1,"row"],[1,"col-3"],[3,"showFolders","showFavorites","showTrash","onAllClicked","onCipherTypeClicked","onCollectionClicked","onSearchTextChanged","onTrashClicked"],[1,"col-9"],[1,"page-header","d-flex"],[3,"appApiAction"],["actionSpinner",""],[4,"ngIf"],[1,"ml-auto","d-flex"],[3,"ciphersComponent","modal","deleted","organization"],["type","button","class","btn btn-outline-primary btn-sm ml-auto",3,"click",4,"ngIf"],[3,"onCipherClicked","onAttachmentsClicked","onAddCipher","onCollectionsClicked","onEventsClicked","onCloneClicked"],["attachments",""],["cipherAddEdit",""],["collections",""],["eventsTemplate",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["type","button",1,"btn","btn-outline-primary","btn-sm","ml-auto",3,"click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"]],template:function(e,t){if(1&e&&(h.ɵɵelementStart(0,"div",0),h.ɵɵtext(1,"\n "),h.ɵɵelementStart(2,"div",1),h.ɵɵtext(3,"\n "),h.ɵɵelementStart(4,"div",2),h.ɵɵtext(5,"\n "),h.ɵɵelementStart(6,"app-org-vault-groupings",3),h.ɵɵlistener("onAllClicked",function(){return t.clearGroupingFilters()})("onCipherTypeClicked",function(e){return t.filterCipherType(e)})("onCollectionClicked",function(e){return t.filterCollection(e.id)})("onSearchTextChanged",function(e){return t.filterSearchText(e)})("onTrashClicked",function(){return t.filterDeleted()}),h.ɵɵtext(7,"\n "),h.ɵɵelementEnd(),h.ɵɵtext(8,"\n "),h.ɵɵelementEnd(),h.ɵɵtext(9,"\n "),h.ɵɵelementStart(10,"div",4),h.ɵɵtext(11,"\n "),h.ɵɵelementStart(12,"div",5),h.ɵɵtext(13,"\n "),h.ɵɵelementStart(14,"h1"),h.ɵɵtext(15),h.ɵɵpipe(16,"i18n"),h.ɵɵelementStart(17,"small",6,7),h.ɵɵtext(19,"\n "),h.ɵɵtemplate(20,O,9,6,"ng-container",8),h.ɵɵtext(21,"\n "),h.ɵɵelementEnd(),h.ɵɵtext(22,"\n "),h.ɵɵelementEnd(),h.ɵɵtext(23,"\n "),h.ɵɵelementStart(24,"div",9),h.ɵɵtext(25,"\n "),h.ɵɵelementStart(26,"app-vault-bulk-actions",10),h.ɵɵtext(27,"\n "),h.ɵɵelementEnd(),h.ɵɵtext(28,"\n "),h.ɵɵtemplate(29,T,5,3,"button",11),h.ɵɵtext(30,"\n "),h.ɵɵelementEnd(),h.ɵɵtext(31,"\n "),h.ɵɵelementEnd(),h.ɵɵtext(32,"\n "),h.ɵɵelementStart(33,"app-org-vault-ciphers",12),h.ɵɵlistener("onCipherClicked",function(e){return t.editCipher(e)})("onAttachmentsClicked",function(e){return t.editCipherAttachments(e)})("onAddCipher",function(){return t.addCipher()})("onCollectionsClicked",function(e){return t.editCipherCollections(e)})("onEventsClicked",function(e){return t.viewEvents(e)})("onCloneClicked",function(e){return t.cloneCipher(e)}),h.ɵɵtext(34,"\n "),h.ɵɵelementEnd(),h.ɵɵtext(35,"\n "),h.ɵɵelementEnd(),h.ɵɵtext(36,"\n "),h.ɵɵelementEnd(),h.ɵɵtext(37,"\n"),h.ɵɵelementEnd(),h.ɵɵtext(38,"\n"),h.ɵɵtemplate(39,M,0,0,"ng-template",null,13,h.ɵɵtemplateRefExtractor),h.ɵɵtext(41,"\n"),h.ɵɵtemplate(42,B,0,0,"ng-template",null,14,h.ɵɵtemplateRefExtractor),h.ɵɵtext(44,"\n"),h.ɵɵtemplate(45,D,0,0,"ng-template",null,15,h.ɵɵtemplateRefExtractor),h.ɵɵtext(47,"\n"),h.ɵɵtemplate(48,j,0,0,"ng-template",null,16,h.ɵɵtemplateRefExtractor),h.ɵɵtext(50,"\n")),2&e){var n=h.ɵɵreference(18);h.ɵɵadvance(6),h.ɵɵproperty("showFolders",!1)("showFavorites",!1)("showTrash",!0),h.ɵɵadvance(9),h.ɵɵtextInterpolate1("\n ",h.ɵɵpipeBind1(16,11,"vault"),"\n "),h.ɵɵadvance(2),h.ɵɵproperty("appApiAction",t.ciphersComponent.actionPromise),h.ɵɵadvance(3),h.ɵɵproperty("ngIf",n.loading),h.ɵɵadvance(6),h.ɵɵproperty("ciphersComponent",t.ciphersComponent)("modal",t.modal)("deleted",t.deleted)("organization",t.organization),h.ɵɵadvance(3),h.ɵɵproperty("ngIf",!t.deleted)}},directives:[b.GroupingsComponent,S.ApiActionDirective,w.NgIf,C.BulkActionsComponent,I.CiphersComponent],pipes:[E.I18nPipe],encapsulation:2}),e}();t.VaultComponent=V},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(this.organizationId=this.organizations[0].id),this.filterCollections(),[2]}})})},e.prototype.ngOnDestroy=function(){this.selectAll(!1)},e.prototype.filterCollections=function(){var e=this;this.selectAll(!1),null==this.organizationId||0===this.writeableCollections.length?this.collections=[]:this.collections=this.writeableCollections.filter(function(t){return t.organizationId===e.organizationId})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:e=this.collections.filter(function(e){return e.checked}).map(function(e){return e.id}),t.label=1;case 1:return t.trys.push([1,3,,4]),this.formPromise=this.cipherService.shareManyWithServer(this.shareableCiphers,this.organizationId,e),[4,this.formPromise];case 2:return t.sent(),this.onShared.emit(),this.analytics.eventTrack.next({action:"Bulk Shared Items"}),this.toasterService.popAsync("success",null,this.i18nService.t("sharedItems")),[3,4];case 3:return t.sent(),[3,4];case 4:return[2]}})})},e.prototype.check=function(e,t){e.checked=null==t?!e.checked:t},e.prototype.selectAll=function(e){var t=this;(e?this.collections:this.writeableCollections).forEach(function(n){return t.check(n,e)})},Object.defineProperty(e.prototype,"canSave",{get:function(){if(null!=this.shareableCiphers&&this.shareableCiphers.length>0&&null!=this.collections)for(var e=0;e0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1&&t.indexOf("]")>-1){var i=t.lastIndexOf(".");r=t.substr(0,i>-1?i:t.length)+": "}e.push(r+n)})},n=this;for(var r in this.validationErrors)t(r);return e},t}(n(29).BaseResponse);t.ErrorResponse=o},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",(null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.minLength)>0),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireUpper),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireLower),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireNumbers),d.ɵɵadvance(2),d.ɵɵproperty("ngIf",null==n.enforcedPolicyOptions?null:n.enforcedPolicyOptions.requireSpecial)}}var F=function(e){function t(t,n,r,i,o,a,s,l,c,p,u){var d=e.call(this,t,n,r,i,o,a,s)||this;return d.folderService=l,d.cipherService=c,d.syncService=p,d.apiService=u,d.rotateEncKey=!1,d}return i(t,e),t.prototype.rotateEncKeyClicked=function(){return o(this,void 0,void 0,function(){var e,t,n;return a(this,function(r){switch(r.label){case 0:return this.rotateEncKey?[4,this.cipherService.getAllDecrypted()]:[3,5];case 1:if(e=r.sent(),t=!1,null!=e)for(n=0;n0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0),a.ɵɵadvance(2),a.ɵɵproperty("disabled",n.loading),a.ɵɵadvance(2),a.ɵɵpropertyInterpolate("title",a.ɵɵpipeBind1(43,27,"loading")),a.ɵɵadvance(4),a.ɵɵtextInterpolate(a.ɵɵpipeBind1(47,29,"save"))}},directives:[u.NgControlStatusGroup,u.NgForm,d.ApiActionDirective,h.NgIf,h.NgForOf,u.DefaultValueAccessor,u.RequiredValidator,u.NgControlStatus,u.NgModel,f.A11yTitleDirective,h.NgClass,m.StopClickDirective],pipes:[v.I18nPipe],encapsulation:2}),e}();t.DomainRulesComponent=P},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]1?"×"+n.quantity:""," @ ",o.ɵɵpipeBind2(4,5,n.amount,"$"),"\n "),o.ɵɵadvance(4),o.ɵɵtextInterpolate2("\n ",o.ɵɵpipeBind2(8,8,n.quantity*n.amount,"$")," /",o.ɵɵpipeBind1(9,11,n.interval),"\n ")}}function A(e,t){if(1&e&&(o.ɵɵelementStart(0,"div",16),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"strong",17),o.ɵɵtext(3),o.ɵɵpipe(4,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(5,"\n "),o.ɵɵelementStart(6,"table",18),o.ɵɵtext(7,"\n "),o.ɵɵelementStart(8,"tbody"),o.ɵɵtext(9,"\n "),o.ɵɵtemplate(10,_,11,13,"tr",19),o.ɵɵtext(11,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(12,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(13,"\n "),o.ɵɵelementEnd()),2&e){var n=o.ɵɵnextContext(3);o.ɵɵadvance(3),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(4,2,"details")),o.ɵɵadvance(7),o.ɵɵproperty("ngForOf",n.subscription.items)}}function O(e,t){if(1&e&&(o.ɵɵelementStart(0,"div",10),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"div",11),o.ɵɵtext(3,"\n "),o.ɵɵelementStart(4,"dl"),o.ɵɵtext(5,"\n "),o.ɵɵelementStart(6,"dt"),o.ɵɵtext(7),o.ɵɵpipe(8,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(9,"\n "),o.ɵɵelementStart(10,"dd"),o.ɵɵtext(11,"\n "),o.ɵɵelementStart(12,"span",12),o.ɵɵtext(13),o.ɵɵelementEnd(),o.ɵɵtext(14,"\n "),o.ɵɵtemplate(15,k,3,3,"span",13),o.ɵɵtext(16,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(17,"\n "),o.ɵɵelementStart(18,"dt"),o.ɵɵtext(19),o.ɵɵpipe(20,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(21,"\n "),o.ɵɵelementStart(22,"dd"),o.ɵɵtext(23),o.ɵɵpipe(24,"date"),o.ɵɵpipe(25,"currency"),o.ɵɵelementEnd(),o.ɵɵtext(26,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(27,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(28,"\n "),o.ɵɵtemplate(29,A,14,4,"div",14),o.ɵɵtext(30,"\n "),o.ɵɵelementEnd()),2&e){var n=o.ɵɵnextContext(2);o.ɵɵadvance(7),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(8,6,"status")),o.ɵɵadvance(6),o.ɵɵtextInterpolate(n.subscription&&n.subscription.status||"-"),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.subscriptionMarkedForCancel),o.ɵɵadvance(4),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(20,8,"nextCharge")),o.ɵɵadvance(4),o.ɵɵtextInterpolate1("",n.nextInvoice?o.ɵɵpipeBind2(24,10,n.nextInvoice.date,"mediumDate")+", "+o.ɵɵpipeBind2(25,13,n.nextInvoice.amount,"$"):"-","\n "),o.ɵɵadvance(6),o.ɵɵproperty("ngIf",n.subscription)}}function T(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementStart(0,"div",23),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"div",24),o.ɵɵtext(3,"\n "),o.ɵɵelementStart(4,"button",25),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(3).closeUpdateLicense(!1)}),o.ɵɵpipe(5,"i18n"),o.ɵɵelementStart(6,"span",26),o.ɵɵtext(7,"×"),o.ɵɵelementEnd(),o.ɵɵelementEnd(),o.ɵɵtext(8,"\n "),o.ɵɵelementStart(9,"h3",27),o.ɵɵtext(10),o.ɵɵpipe(11,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(12,"\n "),o.ɵɵelementStart(13,"app-update-license",28),o.ɵɵlistener("onUpdated",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(3).closeUpdateLicense(!0)})("onCanceled",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(3).closeUpdateLicense(!1)}),o.ɵɵtext(14,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(15,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(16,"\n "),o.ɵɵelementEnd()}2&e&&(o.ɵɵadvance(4),o.ɵɵpropertyInterpolate("appA11yTitle",o.ɵɵpipeBind1(5,2,"cancel")),o.ɵɵadvance(6),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(11,4,"updateLicense")))}function M(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementContainerStart(0),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"div"),o.ɵɵtext(3,"\n "),o.ɵɵelementStart(4,"button",20),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(2).updateLicense()}),o.ɵɵtext(5),o.ɵɵpipe(6,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(7,"\n "),o.ɵɵelementStart(8,"a",21),o.ɵɵtext(9),o.ɵɵpipe(10,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(11,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(12,"\n "),o.ɵɵtemplate(13,T,17,6,"div",22),o.ɵɵtext(14,"\n "),o.ɵɵelementContainerEnd()}if(2&e){var r=o.ɵɵnextContext(2);o.ɵɵadvance(5),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(6,3,"updateLicense"),"\n "),o.ɵɵadvance(4),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(10,5,"manageSubscription"),"\n "),o.ɵɵadvance(4),o.ɵɵproperty("ngIf",r.showUpdateLicense)}}function B(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementStart(0,"button",20),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(3).downloadLicense()}),o.ɵɵtext(1),o.ɵɵpipe(2,"i18n"),o.ɵɵelementEnd()}2&e&&(o.ɵɵadvance(1),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(2,1,"downloadLicense"),"\n "))}function D(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementStart(0,"button",35,36),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(3).cancel()}),o.ɵɵtext(2,"\n "),o.ɵɵelement(3,"i",9),o.ɵɵpipe(4,"i18n"),o.ɵɵtext(5,"\n "),o.ɵɵelementStart(6,"span"),o.ɵɵtext(7),o.ɵɵpipe(8,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(9,"\n "),o.ɵɵelementEnd()}if(2&e){var r=o.ɵɵreference(1),i=o.ɵɵnextContext(3);o.ɵɵproperty("appApiAction",i.cancelPromise)("disabled",r.loading),o.ɵɵadvance(3),o.ɵɵpropertyInterpolate("title",o.ɵɵpipeBind1(4,4,"loading")),o.ɵɵadvance(4),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(8,6,"cancelSubscription"))}}function j(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementStart(0,"div",29),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"button",20),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(4).adjustStorage(!0)}),o.ɵɵtext(3),o.ɵɵpipe(4,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(5,"\n "),o.ɵɵelementStart(6,"button",40),o.ɵɵlistener("click",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(4).adjustStorage(!1)}),o.ɵɵtext(7),o.ɵɵpipe(8,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(9,"\n "),o.ɵɵelementEnd()}2&e&&(o.ɵɵadvance(3),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(4,2,"addStorage"),"\n "),o.ɵɵadvance(4),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(8,4,"removeStorage"),"\n "))}function V(e,t){if(1&e){var n=o.ɵɵgetCurrentView();o.ɵɵelementStart(0,"app-adjust-storage",41),o.ɵɵlistener("onAdjusted",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(4).closeStorage(!0)})("onCanceled",function(){return o.ɵɵrestoreView(n),o.ɵɵnextContext(4).closeStorage(!1)}),o.ɵɵelementEnd()}if(2&e){var r=o.ɵɵnextContext(4);o.ɵɵproperty("storageGbPrice",4)("add",r.adjustStorageAdd)}}function R(e,t){if(1&e&&(o.ɵɵelementContainerStart(0),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"div",37),o.ɵɵtext(3,"\n "),o.ɵɵtemplate(4,j,10,6,"div",38),o.ɵɵtext(5,"\n "),o.ɵɵtemplate(6,V,1,2,"app-adjust-storage",39),o.ɵɵtext(7,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(8,"\n "),o.ɵɵelementContainerEnd()),2&e){var n=o.ɵɵnextContext(3);o.ɵɵadvance(4),o.ɵɵproperty("ngIf",!n.showAdjustStorage),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.showAdjustStorage)}}var U=function(e){return{width:e}};function F(e,t){if(1&e&&(o.ɵɵelementContainerStart(0),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"div",29),o.ɵɵtext(3,"\n "),o.ɵɵtemplate(4,B,3,3,"button",30),o.ɵɵtext(5,"\n "),o.ɵɵtemplate(6,D,10,8,"button",31),o.ɵɵtext(7,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(8,"\n "),o.ɵɵelementStart(9,"h2",32),o.ɵɵtext(10),o.ɵɵpipe(11,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(12,"\n "),o.ɵɵelementStart(13,"p"),o.ɵɵtext(14),o.ɵɵpipe(15,"i18n"),o.ɵɵelementEnd(),o.ɵɵtext(16,"\n "),o.ɵɵelementStart(17,"div",33),o.ɵɵtext(18,"\n "),o.ɵɵelementStart(19,"div",34),o.ɵɵtext(20),o.ɵɵpipe(21,"percent"),o.ɵɵelementEnd(),o.ɵɵtext(22,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(23,"\n "),o.ɵɵtemplate(24,R,9,2,"ng-container",1),o.ɵɵtext(25,"\n "),o.ɵɵelementContainerEnd()),2&e){var n=o.ɵɵnextContext(2);o.ɵɵadvance(4),o.ɵɵproperty("ngIf",!n.subscription||!n.subscription.cancelled),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.subscription&&!n.subscription.cancelled&&!n.subscriptionMarkedForCancel),o.ɵɵadvance(4),o.ɵɵtextInterpolate(o.ɵɵpipeBind1(11,8,"storage")),o.ɵɵadvance(4),o.ɵɵtextInterpolate(o.ɵɵpipeBind3(15,10,"subscriptionStorage",n.sub.maxStorageGb||0,n.sub.storageName||"0 MB")),o.ɵɵadvance(5),o.ɵɵproperty("ngStyle",o.ɵɵpureFunction1(16,U,n.storageProgressWidth+"%")),o.ɵɵattribute("aria-valuenow",n.storagePercentage),o.ɵɵadvance(1),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(21,14,n.storagePercentage/100),""),o.ɵɵadvance(4),o.ɵɵproperty("ngIf",n.subscription&&!n.subscription.cancelled&&!n.subscriptionMarkedForCancel)}}function N(e,t){if(1&e&&(o.ɵɵelementContainerStart(0),o.ɵɵtext(1,"\n "),o.ɵɵtemplate(2,w,4,6,"app-callout",4),o.ɵɵtext(3,"\n "),o.ɵɵtemplate(4,C,18,14,"app-callout",4),o.ɵɵtext(5,"\n "),o.ɵɵtemplate(6,P,10,5,"dl",1),o.ɵɵtext(7,"\n "),o.ɵɵtemplate(8,O,31,16,"div",5),o.ɵɵtext(9,"\n "),o.ɵɵtemplate(10,M,15,7,"ng-container",1),o.ɵɵtext(11,"\n "),o.ɵɵtemplate(12,F,26,18,"ng-container",1),o.ɵɵtext(13,"\n"),o.ɵɵelementContainerEnd()),2&e){var n=o.ɵɵnextContext();o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.subscription&&n.subscription.cancelled),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.subscriptionMarkedForCancel),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.selfHosted),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",!n.selfHosted),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",n.selfHosted),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",!n.selfHosted)}}var z=function(){function e(e,t,n,r,i,o,a){this.tokenService=e,this.apiService=t,this.platformUtilsService=n,this.i18nService=r,this.analytics=i,this.toasterService=o,this.router=a,this.loading=!1,this.firstLoaded=!1,this.adjustStorageAdd=!0,this.showAdjustStorage=!1,this.showUpdateLicense=!1,this.selfHosted=!1,this.selfHosted=n.isSelfHost()}return e.prototype.ngOnInit=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return[4,this.load()];case 1:return e.sent(),this.firstLoaded=!0,[2]}})})},e.prototype.load=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:return this.loading?[2]:this.tokenService.getPremium()?(this.loading=!0,e=this,[4,this.apiService.getUserSubscription()]):[3,2];case 1:return e.sub=t.sent(),[3,3];case 2:return this.router.navigate(["/settings/premium"]),[2];case 3:return this.loading=!1,[2]}})})},e.prototype.reinstate=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.loading?[2]:this.usingInAppPurchase?(this.platformUtilsService.showDialog(this.i18nService.t("manageSubscriptionFromStore"),this.i18nService.t("cancelSubscription"),null,null,"warning"),[2]):[4,this.platformUtilsService.showDialog(this.i18nService.t("reinstateConfirmation"),this.i18nService.t("reinstateSubscription"),this.i18nService.t("yes"),this.i18nService.t("cancel"))];case 1:if(!e.sent())return[2];e.label=2;case 2:return e.trys.push([2,4,,5]),this.reinstatePromise=this.apiService.postReinstatePremium(),[4,this.reinstatePromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:"Reinstated Premium"}),this.toasterService.popAsync("success",null,this.i18nService.t("reinstated")),this.load(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},e.prototype.cancel=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.loading?[2]:this.usingInAppPurchase?(this.platformUtilsService.showDialog(this.i18nService.t("manageSubscriptionFromStore"),this.i18nService.t("cancelSubscription"),null,null,"warning"),[2]):[4,this.platformUtilsService.showDialog(this.i18nService.t("cancelConfirmation"),this.i18nService.t("cancelSubscription"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!e.sent())return[2];e.label=2;case 2:return e.trys.push([2,4,,5]),this.cancelPromise=this.apiService.postCancelPremium(),[4,this.cancelPromise];case 3:return e.sent(),this.analytics.eventTrack.next({action:"Canceled Premium"}),this.toasterService.popAsync("success",null,this.i18nService.t("canceledSubscription")),this.load(),[3,5];case 4:return e.sent(),[3,5];case 5:return[2]}})})},e.prototype.downloadLicense=function(){if(!this.loading){var e=JSON.stringify(this.sub.license,null,2);this.platformUtilsService.saveFile(window,e,null,"bitwarden_premium_license.json")}},e.prototype.updateLicense=function(){this.loading||(this.showUpdateLicense=!0)},e.prototype.closeUpdateLicense=function(e){this.showUpdateLicense=!1,e&&this.load()},e.prototype.adjustStorage=function(e){this.usingInAppPurchase?this.platformUtilsService.showDialog(this.i18nService.t("cannotPerformInAppPurchase"),this.i18nService.t(e?"addStorage":"removeStorage"),null,null,"warning"):(this.adjustStorageAdd=e,this.showAdjustStorage=!0)},e.prototype.closeStorage=function(e){this.showAdjustStorage=!1,e&&this.load()},Object.defineProperty(e.prototype,"subscriptionMarkedForCancel",{get:function(){return null!=this.subscription&&!this.subscription.cancelled&&this.subscription.cancelAtEndDate},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"subscription",{get:function(){return null!=this.sub?this.sub.subscription:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"nextInvoice",{get:function(){return null!=this.sub?this.sub.upcomingInvoice:null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"storagePercentage",{get:function(){return null!=this.sub&&this.sub.maxStorageGb?+(this.sub.storageGb/this.sub.maxStorageGb*100).toFixed(2):0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"storageProgressWidth",{get:function(){return this.storagePercentage<5?5:0},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"usingInAppPurchase",{get:function(){return null!=this.sub&&this.sub.usingInAppPurchase},enumerable:!0,configurable:!0}),e.ɵfac=function(t){return new(t||e)(o.ɵɵdirectiveInject(a.TokenService),o.ɵɵdirectiveInject(s.ApiService),o.ɵɵdirectiveInject(l.PlatformUtilsService),o.ɵɵdirectiveInject(c.I18nService),o.ɵɵdirectiveInject(p.Angulartics2),o.ɵɵdirectiveInject(u.ToasterService),o.ɵɵdirectiveInject(d.Router))},e.ɵcmp=o.ɵɵdefineComponent({type:e,selectors:[["app-user-subscription"]],decls:13,vars:6,consts:[[1,"page-header"],[4,"ngIf"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["type","warning",3,"title",4,"ngIf"],["class","row",4,"ngIf"],["type","warning",3,"title"],["type","button",1,"btn","btn-outline-secondary","btn-submit",3,"appApiAction","disabled","click"],["reinstateBtn",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],[1,"row"],[1,"col-4"],[1,"text-capitalize"],["class","badge badge-warning",4,"ngIf"],["class","col-8",4,"ngIf"],[1,"badge","badge-warning"],[1,"col-8"],[1,"d-block","mb-1"],[1,"table"],[4,"ngFor","ngForOf"],["type","button",1,"btn","btn-outline-secondary",3,"click"],["href","https://vault.bitwarden.com/#/settings/subscription","target","_blank","rel","noopener",1,"btn","btn-outline-secondary"],["class","card mt-3",4,"ngIf"],[1,"card","mt-3"],[1,"card-body"],["type","button",1,"close",3,"appA11yTitle","click"],["aria-hidden","true"],[1,"card-body-header"],[3,"onUpdated","onCanceled"],[1,"d-flex"],["type","button","class","btn btn-outline-secondary",3,"click",4,"ngIf"],["type","button","class","btn btn-outline-danger btn-submit ml-auto",3,"appApiAction","disabled","click",4,"ngIf"],[1,"spaced-header"],[1,"progress"],["role","progressbar","aria-valuemin","0","aria-valuemax","100",1,"progress-bar","bg-success",3,"ngStyle"],["type","button",1,"btn","btn-outline-danger","btn-submit","ml-auto",3,"appApiAction","disabled","click"],["cancelBtn",""],[1,"mt-3"],["class","d-flex",4,"ngIf"],[3,"storageGbPrice","add","onAdjusted","onCanceled",4,"ngIf"],["type","button",1,"ml-1","btn","btn-outline-secondary",3,"click"],[3,"storageGbPrice","add","onAdjusted","onCanceled"]],template:function(e,t){1&e&&(o.ɵɵelementStart(0,"div",0),o.ɵɵtext(1,"\n "),o.ɵɵelementStart(2,"h1"),o.ɵɵtext(3),o.ɵɵpipe(4,"i18n"),o.ɵɵtemplate(5,b,9,6,"small",1),o.ɵɵtext(6,"\n "),o.ɵɵelementEnd(),o.ɵɵtext(7,"\n"),o.ɵɵelementEnd(),o.ɵɵtext(8,"\n"),o.ɵɵtemplate(9,S,9,6,"ng-container",1),o.ɵɵtext(10,"\n"),o.ɵɵtemplate(11,N,14,6,"ng-container",1),o.ɵɵtext(12,"\n")),2&e&&(o.ɵɵadvance(3),o.ɵɵtextInterpolate1("\n ",o.ɵɵpipeBind1(4,4,"premiumMembership"),"\n "),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",t.firstLoaded&&t.loading),o.ɵɵadvance(4),o.ɵɵproperty("ngIf",!t.firstLoaded&&t.loading),o.ɵɵadvance(2),o.ɵɵproperty("ngIf",t.sub))},directives:[h.NgIf,f.CalloutComponent,m.ApiActionDirective,h.NgForOf,v.A11yTitleDirective,y.UpdateLicenseComponent,h.NgStyle,g.AdjustStorageComponent],pipes:[x.I18nPipe,h.DatePipe,h.CurrencyPipe,h.PercentPipe],encapsulation:2}),e}();t.UserSubscriptionComponent=z},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1})];case 1:return t.sent(),this.clearFilters(),this.collectionId=e,this.go(),[2]}})})},e.prototype.filterSearchText=function(e){this.ciphersComponent.searchText=e,this.ciphersComponent.search(200)},e.prototype.editCipherAttachments=function(e){return r(this,void 0,void 0,function(){var t,n,o,s,l,c=this;return i(this,function(u){switch(u.label){case 0:return[4,this.userService.canAccessPremium()];case 1:return t=u.sent(),null!=e.organizationId||t?[3,2]:(this.messagingService.send("premiumRequired"),[2]);case 2:return null==e.organizationId?[3,4]:[4,this.userService.getOrganization(e.organizationId)];case 3:if(null!=(n=u.sent())&&(null==n.maxStorageGb||0===n.maxStorageGb))return this.messagingService.send("upgradeOrganization",{organizationId:e.organizationId}),[2];u.label=4;case 4:return null!=this.modal&&this.modal.close(),o=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent),this.modal=this.attachmentsModalRef.createComponent(o).instance,(s=this.modal.show(p.AttachmentsComponent,this.attachmentsModalRef)).cipherId=e.id,l=!1,s.onUploadedAttachment.subscribe(function(){return l=!0}),s.onDeletedAttachment.subscribe(function(){return l=!0}),s.onReuploadedAttachment.subscribe(function(){return l=!0}),this.modal.onClosed.subscribe(function(){return r(c,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal=null,l?[4,this.ciphersComponent.refresh()]:[3,2];case 1:e.sent(),e.label=2;case 2:return l=!1,[2]}})})}),[2]}})})},e.prototype.shareCipher=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent);this.modal=this.shareModalRef.createComponent(n).instance;var o=this.modal.show(m.ShareComponent,this.shareModalRef);o.cipherId=e.id,o.onSharedCipher.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){return this.modal=null,[2]})})})},e.prototype.editCipherCollections=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent);this.modal=this.collectionsModalRef.createComponent(n).instance;var o=this.modal.show(d.CollectionsComponent,this.collectionsModalRef);o.cipherId=e.id,o.onSavedCollections.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){return r(t,void 0,void 0,function(){return i(this,function(e){return this.modal=null,[2]})})})},e.prototype.addFolder=function(){return r(this,void 0,void 0,function(){var e,t,n=this;return i(this,function(o){return null!=this.modal&&this.modal.close(),e=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent),this.modal=this.folderAddEditModalRef.createComponent(e).instance,(t=this.modal.show(h.FolderAddEditComponent,this.folderAddEditModalRef)).folderId=null,t.onSavedFolder.subscribe(function(){return r(n,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return e.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){n.modal=null}),[2]})})},e.prototype.editFolder=function(e){return r(this,void 0,void 0,function(){var t,n,o=this;return i(this,function(s){return null!=this.modal&&this.modal.close(),t=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent),this.modal=this.folderAddEditModalRef.createComponent(t).instance,(n=this.modal.show(h.FolderAddEditComponent,this.folderAddEditModalRef)).folderId=e,n.onSavedFolder.subscribe(function(){return r(o,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return e.sent(),[2]}})})}),n.onDeletedFolder.subscribe(function(){return r(o,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.groupingsComponent.loadFolders()];case 1:return e.sent(),[4,this.filterFolder("none")];case 2:return e.sent(),this.groupingsComponent.selectedFolderId=null,[2]}})})}),this.modal.onClosed.subscribe(function(){o.modal=null}),[2]})})},e.prototype.addCipher=function(){var e=this,t=this.editCipher(null);if(t.type=this.type,t.folderId="none"===this.folderId?null:this.folderId,null!=this.collectionId){var n=this.groupingsComponent.collections.filter(function(t){return t.id===e.collectionId});n.length>0&&(t.organizationId=n[0].organizationId,t.collectionIds=[this.collectionId])}},e.prototype.editCipher=function(e){var t=this;null!=this.modal&&this.modal.close();var n=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent);this.modal=this.cipherAddEditModalRef.createComponent(n).instance;var o=this.modal.show(c.AddEditComponent,this.cipherAddEditModalRef);return o.cipherId=null==e?null:e.id,o.onSavedCipher.subscribe(function(e){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),o.onDeletedCipher.subscribe(function(e){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),o.onRestoredCipher.subscribe(function(e){return r(t,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.modal.close(),[4,this.ciphersComponent.refresh()];case 1:return e.sent(),[2]}})})}),this.modal.onClosed.subscribe(function(){t.modal=null}),o},e.prototype.cloneCipher=function(e){this.editCipher(e).cloneMode=!0},e.prototype.updateKey=function(){var e=this;null!=this.modal&&this.modal.close();var t=this.componentFactoryResolver.resolveComponentFactory(a.ModalComponent);this.modal=this.updateKeyModalRef.createComponent(t).instance,this.modal.show(l.UpdateKeyComponent,this.updateKeyModalRef),this.modal.onClosed.subscribe(function(){e.modal=null})},e.prototype.clearFilters=function(){this.folderId=null,this.collectionId=null,this.favorites=!1,this.type=null,this.deleted=!1},e.prototype.go=function(e){void 0===e&&(e=null),null==e&&(e={favorites:!!this.favorites||null,type:this.type,folderId:this.folderId,collectionId:this.collectionId,deleted:!!this.deleted||null}),this.router.navigate([],{relativeTo:this.route,queryParams:e,replaceUrl:!0})},e.ɵfac=function(t){return new(t||e)(v.ɵɵdirectiveInject(y.SyncService),v.ɵɵdirectiveInject(g.ActivatedRoute),v.ɵɵdirectiveInject(g.Router),v.ɵɵdirectiveInject(v.ChangeDetectorRef),v.ɵɵdirectiveInject(x.I18nService),v.ɵɵdirectiveInject(v.ComponentFactoryResolver),v.ɵɵdirectiveInject(b.TokenService),v.ɵɵdirectiveInject(S.CryptoService),v.ɵɵdirectiveInject(w.MessagingService),v.ɵɵdirectiveInject(C.UserService),v.ɵɵdirectiveInject(I.PlatformUtilsService),v.ɵɵdirectiveInject(E.BroadcasterService),v.ɵɵdirectiveInject(v.NgZone))},e.ɵcmp=v.ɵɵdefineComponent({type:e,selectors:[["app-vault"]],viewQuery:function(e,t){var n;(1&e&&(v.ɵɵstaticViewQuery(f.GroupingsComponent,!0),v.ɵɵstaticViewQuery(u.CiphersComponent,!0),v.ɵɵstaticViewQuery(s.OrganizationsComponent,!0),v.ɵɵstaticViewQuery(j,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(V,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(R,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(U,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(F,!0,o.ViewContainerRef),v.ɵɵstaticViewQuery(N,!0,o.ViewContainerRef)),2&e)&&(v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.groupingsComponent=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.ciphersComponent=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.organizationsComponent=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.attachmentsModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.folderAddEditModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.cipherAddEditModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.shareModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.collectionsModalRef=n.first),v.ɵɵqueryRefresh(n=v.ɵɵloadQuery())&&(t.updateKeyModalRef=n.first))},decls:86,vars:20,consts:[[1,"container","page-content"],[1,"row"],[1,"col-3"],[3,"onAllClicked","onFavoritesClicked","onCipherTypeClicked","onFolderClicked","onAddFolder","onEditFolder","onCollectionClicked","onSearchTextChanged","onTrashClicked"],[1,"col-6"],[1,"page-header","d-flex"],[3,"appApiAction"],["actionSpinner",""],[4,"ngIf"],[1,"ml-auto","d-flex"],[3,"ciphersComponent","modal","deleted"],["type","button","class","btn btn-outline-primary btn-sm",3,"click",4,"ngIf"],[3,"onCipherClicked","onAttachmentsClicked","onAddCipher","onShareClicked","onCollectionsClicked","onCloneClicked"],["class","card border-warning mb-4",4,"ngIf"],["class","d-block mb-4",4,"ngIf"],["class","card border-success mb-4",4,"ngIf"],[1,"card"],[1,"card-header","d-flex"],["href","https://help.bitwarden.com/article/what-is-an-organization/","target","_blank","rel","noopener",1,"ml-auto",3,"appA11yTitle"],["aria-hidden","true",1,"fa","fa-question-circle-o"],[1,"card-body"],[3,"vault"],["attachments",""],["folderAddEdit",""],["cipherAddEdit",""],["share",""],["collections",""],["updateKeyTemplate",""],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","text-muted",3,"title"],[1,"sr-only"],["type","button",1,"btn","btn-outline-primary","btn-sm",3,"click"],["aria-hidden","true",1,"fa","fa-plus","fa-fw"],[1,"card","border-warning","mb-4"],[1,"card-header","bg-warning","text-white"],["aria-hidden","true",1,"fa","fa-warning","fa-fw"],["type","button",1,"btn","btn-block","btn-outline-secondary",3,"click"],[1,"d-block","mb-4"],["target","_blank","href","https://browser-update.org/update-browser.html","rel","noopener",1,"btn","btn-block","btn-outline-secondary"],[1,"card","border-success","mb-4"],[1,"card-header","bg-success","text-white"],["aria-hidden","true",1,"fa","fa-star","fa-fw"],["routerLink","/settings/premium",1,"btn","btn-block","btn-outline-secondary"]],template:function(e,t){if(1&e&&(v.ɵɵelementStart(0,"div",0),v.ɵɵtext(1,"\n "),v.ɵɵelementStart(2,"div",1),v.ɵɵtext(3,"\n "),v.ɵɵelementStart(4,"div",2),v.ɵɵtext(5,"\n "),v.ɵɵelementStart(6,"app-vault-groupings",3),v.ɵɵlistener("onAllClicked",function(){return t.clearGroupingFilters()})("onFavoritesClicked",function(){return t.filterFavorites()})("onCipherTypeClicked",function(e){return t.filterCipherType(e)})("onFolderClicked",function(e){return t.filterFolder(e.id)})("onAddFolder",function(){return t.addFolder()})("onEditFolder",function(e){return t.editFolder(e.id)})("onCollectionClicked",function(e){return t.filterCollection(e.id)})("onSearchTextChanged",function(e){return t.filterSearchText(e)})("onTrashClicked",function(){return t.filterDeleted()}),v.ɵɵtext(7,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(8,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(9,"\n "),v.ɵɵelementStart(10,"div",4),v.ɵɵtext(11,"\n "),v.ɵɵelementStart(12,"div",5),v.ɵɵtext(13,"\n "),v.ɵɵelementStart(14,"h1"),v.ɵɵtext(15),v.ɵɵpipe(16,"i18n"),v.ɵɵelementStart(17,"small",6,7),v.ɵɵtext(19,"\n "),v.ɵɵtemplate(20,z,9,6,"ng-container",8),v.ɵɵtext(21,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(22,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(23,"\n "),v.ɵɵelementStart(24,"div",9),v.ɵɵtext(25,"\n "),v.ɵɵelementStart(26,"app-vault-bulk-actions",10),v.ɵɵtext(27,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(28,"\n "),v.ɵɵtemplate(29,L,5,3,"button",11),v.ɵɵtext(30,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(31,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(32,"\n "),v.ɵɵelementStart(33,"app-vault-ciphers",12),v.ɵɵlistener("onCipherClicked",function(e){return t.editCipher(e)})("onAttachmentsClicked",function(e){return t.editCipherAttachments(e)})("onAddCipher",function(){return t.addCipher()})("onShareClicked",function(e){return t.shareCipher(e)})("onCollectionsClicked",function(e){return t.editCipherCollections(e)})("onCloneClicked",function(e){return t.cloneCipher(e)}),v.ɵɵtext(34,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(35,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(36,"\n "),v.ɵɵelementStart(37,"div",2),v.ɵɵtext(38,"\n "),v.ɵɵtemplate(39,G,19,9,"div",13),v.ɵɵtext(40,"\n "),v.ɵɵtemplate(41,K,1,0,"app-verify-email",14),v.ɵɵtext(42,"\n "),v.ɵɵtemplate(43,q,19,9,"div",13),v.ɵɵtext(44,"\n "),v.ɵɵtemplate(45,W,19,9,"div",15),v.ɵɵtext(46,"\n "),v.ɵɵelementStart(47,"div",16),v.ɵɵtext(48,"\n "),v.ɵɵelementStart(49,"div",17),v.ɵɵtext(50),v.ɵɵpipe(51,"i18n"),v.ɵɵelementStart(52,"a",18),v.ɵɵpipe(53,"i18n"),v.ɵɵtext(54,"\n "),v.ɵɵelement(55,"i",19),v.ɵɵtext(56,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(57,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(58,"\n "),v.ɵɵelementStart(59,"div",20),v.ɵɵtext(60,"\n "),v.ɵɵelement(61,"app-organizations",21),v.ɵɵtext(62,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(63,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(64,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(65,"\n "),v.ɵɵelementEnd(),v.ɵɵtext(66,"\n"),v.ɵɵelementEnd(),v.ɵɵtext(67,"\n"),v.ɵɵtemplate(68,H,0,0,"ng-template",null,22,v.ɵɵtemplateRefExtractor),v.ɵɵtext(70,"\n"),v.ɵɵtemplate(71,$,0,0,"ng-template",null,23,v.ɵɵtemplateRefExtractor),v.ɵɵtext(73,"\n"),v.ɵɵtemplate(74,Q,0,0,"ng-template",null,24,v.ɵɵtemplateRefExtractor),v.ɵɵtext(76,"\n"),v.ɵɵtemplate(77,Y,0,0,"ng-template",null,25,v.ɵɵtemplateRefExtractor),v.ɵɵtext(79,"\n"),v.ɵɵtemplate(80,J,0,0,"ng-template",null,26,v.ɵɵtemplateRefExtractor),v.ɵɵtext(82,"\n"),v.ɵɵtemplate(83,X,0,0,"ng-template",null,27,v.ɵɵtemplateRefExtractor),v.ɵɵtext(85,"\n")),2&e){var n=v.ɵɵreference(18);v.ɵɵadvance(15),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(16,14,"myVault"),"\n "),v.ɵɵadvance(2),v.ɵɵproperty("appApiAction",t.ciphersComponent.actionPromise),v.ɵɵadvance(3),v.ɵɵproperty("ngIf",n.loading),v.ɵɵadvance(6),v.ɵɵproperty("ciphersComponent",t.ciphersComponent)("modal",t.modal)("deleted",t.deleted),v.ɵɵadvance(3),v.ɵɵproperty("ngIf",!t.deleted),v.ɵɵadvance(10),v.ɵɵproperty("ngIf",t.showUpdateKey),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",t.showVerifyEmail),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",t.showBrowserOutdated),v.ɵɵadvance(2),v.ɵɵproperty("ngIf",t.showPremiumCallout),v.ɵɵadvance(5),v.ɵɵtextInterpolate1("\n ",v.ɵɵpipeBind1(51,16,"organizations"),"\n "),v.ɵɵadvance(2),v.ɵɵpropertyInterpolate("appA11yTitle",v.ɵɵpipeBind1(53,18,"learnMore")),v.ɵɵadvance(9),v.ɵɵproperty("vault",!0)}},directives:[P.GroupingsComponent,k.ApiActionDirective,_.NgIf,A.BulkActionsComponent,O.CiphersComponent,T.A11yTitleDirective,M.OrganizationsComponent,B.VerifyEmailComponent,g.RouterLinkWithHref],pipes:[D.I18nPipe],encapsulation:2}),e}();t.VaultComponent=Z},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1?"&":"?",e+="end="+n),null!=r&&(e+=e.indexOf("?")>-1?"&":"?",e+="continuationToken="+r),e},e.prototype.isJsonResponse=function(e){var t=e.headers.get("content-type");return null!=t&&t.indexOf("application/json")>-1},e}();t.ApiService=z},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(872),a=n(29),s=n(873),l=n(589),c=n(590),p=n(591),u=n(592),d=n(594),h=function(e){function t(t){var n=e.call(this,t)||this;n.id=n.getResponseProperty("Id"),n.organizationId=n.getResponseProperty("OrganizationId"),n.folderId=n.getResponseProperty("FolderId")||null,n.type=n.getResponseProperty("Type"),n.name=n.getResponseProperty("Name"),n.notes=n.getResponseProperty("Notes"),n.favorite=n.getResponseProperty("Favorite")||!1,n.edit=!!n.getResponseProperty("Edit"),null==n.getResponseProperty("ViewPassword")?n.viewPassword=!0:n.viewPassword=n.getResponseProperty("ViewPassword"),n.organizationUseTotp=n.getResponseProperty("OrganizationUseTotp"),n.revisionDate=n.getResponseProperty("RevisionDate"),n.collectionIds=n.getResponseProperty("CollectionIds"),n.deletedDate=n.getResponseProperty("DeletedDate");var r=n.getResponseProperty("Login");null!=r&&(n.login=new u.LoginApi(r));var i=n.getResponseProperty("Card");null!=i&&(n.card=new l.CardApi(i));var a=n.getResponseProperty("Identity");null!=a&&(n.identity=new p.IdentityApi(a));var h=n.getResponseProperty("SecureNote");null!=h&&(n.secureNote=new d.SecureNoteApi(h));var f=n.getResponseProperty("Fields");null!=f&&(n.fields=f.map(function(e){return new c.FieldApi(e)}));var m=n.getResponseProperty("Attachments");null!=m&&(n.attachments=m.map(function(e){return new o.AttachmentResponse(e)}));var v=n.getResponseProperty("PasswordHistory");return null!=v&&(n.passwordHistory=v.map(function(e){return new s.PasswordHistoryResponse(e)})),n}return i(t,e),t}(a.BaseResponse);t.CipherResponse=h},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(29),a=n(285),s=function(e){function t(t){var n=e.call(this,t)||this;return n.id=n.getResponseProperty("Id"),n.organizationId=n.getResponseProperty("OrganizationId"),n.name=n.getResponseProperty("Name"),n.externalId=n.getResponseProperty("ExternalId"),n}return i(t,e),t}(o.BaseResponse);t.CollectionResponse=s;var l=function(e){function t(t){var n=e.call(this,t)||this;return n.readOnly=n.getResponseProperty("ReadOnly")||!1,n}return i(t,e),t}(s);t.CollectionDetailsResponse=l;var c=function(e){function t(t){var n=e.call(this,t)||this;n.groups=[];var r=n.getResponseProperty("Groups");return null!=r&&(n.groups=r.map(function(e){return new a.SelectionReadOnlyResponse(e)})),n}return i(t,e),t}(s);t.CollectionGroupDetailsResponse=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(29),a=n(874),s=function(e){function t(t){var n=e.call(this,t)||this;n.globalEquivalentDomains=[],n.equivalentDomains=n.getResponseProperty("EquivalentDomains");var r=n.getResponseProperty("GlobalEquivalentDomains");return n.globalEquivalentDomains=null!=r?r.map(function(e){return new a.GlobalDomainResponse(e)}):[],n}return i(t,e),t}(o.BaseResponse);t.DomainsResponse=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){var n=e.call(this,t)||this;return n.id=n.getResponseProperty("Id"),n.name=n.getResponseProperty("Name"),n.revisionDate=n.getResponseProperty("RevisionDate"),n}return i(t,e),t}(n(29).BaseResponse);t.FolderResponse=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(29),a=n(652),s=function(e){function t(t){var n=e.call(this,t)||this;n.id=n.getResponseProperty("Id"),n.identifier=n.getResponseProperty("Identifier"),n.name=n.getResponseProperty("Name"),n.businessName=n.getResponseProperty("BusinessName"),n.businessAddress1=n.getResponseProperty("BusinessAddress1"),n.businessAddress2=n.getResponseProperty("BusinessAddress2"),n.businessAddress3=n.getResponseProperty("BusinessAddress3"),n.businessCountry=n.getResponseProperty("BusinessCountry"),n.businessTaxNumber=n.getResponseProperty("BusinessTaxNumber"),n.billingEmail=n.getResponseProperty("BillingEmail");var r=n.getResponseProperty("Plan");return n.plan=null==r?null:new a.PlanResponse(r),n.planType=n.getResponseProperty("PlanType"),n.seats=n.getResponseProperty("Seats"),n.maxCollections=n.getResponseProperty("MaxCollections"),n.maxStorageGb=n.getResponseProperty("MaxStorageGb"),n.useGroups=n.getResponseProperty("UseGroups"),n.useDirectory=n.getResponseProperty("UseDirectory"),n.useEvents=n.getResponseProperty("UseEvents"),n.useTotp=n.getResponseProperty("UseTotp"),n.use2fa=n.getResponseProperty("Use2fa"),n.useApi=n.getResponseProperty("UseApi"),n}return i(t,e),t}(o.BaseResponse);t.OrganizationResponse=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){var n=e.call(this,t)||this;return n.type=n.getResponseProperty("Type"),n.product=n.getResponseProperty("Product"),n.name=n.getResponseProperty("Name"),n.isAnnual=n.getResponseProperty("IsAnnual"),n.nameLocalizationKey=n.getResponseProperty("NameLocalizationKey"),n.descriptionLocalizationKey=n.getResponseProperty("DescriptionLocalizationKey"),n.canBeUsedByBusiness=n.getResponseProperty("CanBeUsedByBusiness"),n.baseSeats=n.getResponseProperty("BaseSeats"),n.baseStorageGb=n.getResponseProperty("BaseStorageGb"),n.maxCollections=n.getResponseProperty("MaxCollections"),n.maxUsers=n.getResponseProperty("MaxUsers"),n.hasAdditionalSeatsOption=n.getResponseProperty("HasAdditionalSeatsOption"),n.maxAdditionalSeats=n.getResponseProperty("MaxAdditionalSeats"),n.hasAdditionalStorageOption=n.getResponseProperty("HasAdditionalStorageOption"),n.maxAdditionalStorage=n.getResponseProperty("MaxAdditionalStorage"),n.hasPremiumAccessOption=n.getResponseProperty("HasPremiumAccessOption"),n.trialPeriodDays=n.getResponseProperty("TrialPeriodDays"),n.hasSelfHost=n.getResponseProperty("HasSelfHost"),n.hasPolicies=n.getResponseProperty("HasPolicies"),n.hasGroups=n.getResponseProperty("HasGroups"),n.hasDirectory=n.getResponseProperty("HasDirectory"),n.hasEvents=n.getResponseProperty("HasEvents"),n.hasTotp=n.getResponseProperty("HasTotp"),n.has2fa=n.getResponseProperty("Has2fa"),n.hasApi=n.getResponseProperty("HasApi"),n.hasSso=n.getResponseProperty("HasSso"),n.usersGetPremium=n.getResponseProperty("UsersGetPremium"),n.upgradeSortOrder=n.getResponseProperty("UpgradeSortOrder"),n.displaySortOrder=n.getResponseProperty("SortOrder"),n.legacyYear=n.getResponseProperty("LegacyYear"),n.disabled=n.getResponseProperty("Disabled"),n.stripePlanId=n.getResponseProperty("StripePlanId"),n.stripeSeatPlanId=n.getResponseProperty("StripeSeatPlanId"),n.stripeStoragePlanId=n.getResponseProperty("StripeStoragePlanId"),n.stripePremiumAccessPlanId=n.getResponseProperty("StripePremiumAccessPlanId"),n.basePrice=n.getResponseProperty("BasePrice"),n.seatPrice=n.getResponseProperty("SeatPrice"),n.additionalStoragePricePerGb=n.getResponseProperty("AdditionalStoragePricePerGb"),n.premiumAccessOptionPrice=n.getResponseProperty("PremiumAccessOptionPrice"),n}return i(t,e),t}(n(29).BaseResponse);t.PlanResponse=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(29),a=function(e){function t(t){var n=e.call(this,t)||this;n.storageName=n.getResponseProperty("StorageName"),n.storageGb=n.getResponseProperty("StorageGb"),n.maxStorageGb=n.getResponseProperty("MaxStorageGb"),n.license=n.getResponseProperty("License"),n.expiration=n.getResponseProperty("Expiration"),n.usingInAppPurchase=n.getResponseProperty("UsingInAppPurchase");var r=n.getResponseProperty("Subscription"),i=n.getResponseProperty("UpcomingInvoice");return n.subscription=null==r?null:new s(r),n.upcomingInvoice=null==i?null:new c(i),n}return i(t,e),t}(o.BaseResponse);t.SubscriptionResponse=a;var s=function(e){function t(t){var n=e.call(this,t)||this;n.items=[],n.trialEndDate=n.getResponseProperty("TrialStartDate"),n.trialEndDate=n.getResponseProperty("TrialEndDate"),n.periodStartDate=n.getResponseProperty("PeriodStartDate"),n.periodEndDate=n.getResponseProperty("PeriodEndDate"),n.cancelledDate=n.getResponseProperty("CancelledDate"),n.cancelAtEndDate=n.getResponseProperty("CancelAtEndDate"),n.status=n.getResponseProperty("Status"),n.cancelled=n.getResponseProperty("Cancelled");var r=n.getResponseProperty("Items");return null!=r&&(n.items=r.map(function(e){return new l(e)})),n}return i(t,e),t}(o.BaseResponse);t.BillingSubscriptionResponse=s;var l=function(e){function t(t){var n=e.call(this,t)||this;return n.name=n.getResponseProperty("Name"),n.amount=n.getResponseProperty("Amount"),n.quantity=n.getResponseProperty("Quantity"),n.interval=n.getResponseProperty("Interval"),n}return i(t,e),t}(o.BaseResponse);t.BillingSubscriptionItemResponse=l;var c=function(e){function t(t){var n=e.call(this,t)||this;return n.date=n.getResponseProperty("Date"),n.amount=n.getResponseProperty("Amount"),n}return i(t,e),t}(o.BaseResponse);t.BillingSubscriptionUpcomingInvoiceResponse=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(t){var n=e.call(this,t)||this;return n.id=n.getResponseProperty("Id"),n.organizationId=n.getResponseProperty("OrganizationId"),n.type=n.getResponseProperty("Type"),n.data=n.getResponseProperty("Data"),n.enabled=n.getResponseProperty("Enabled"),n}return i(t,e),t}(n(29).BaseResponse);t.PolicyResponse=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(29),a=n(488),s=n(489),l=function(e){function t(t){var n=e.call(this,t)||this;n.id=n.getResponseProperty("Id"),n.accessId=n.getResponseProperty("AccessId"),n.type=n.getResponseProperty("Type"),n.name=n.getResponseProperty("Name"),n.notes=n.getResponseProperty("Notes"),n.key=n.getResponseProperty("Key"),n.maxAccessCount=n.getResponseProperty("MaxAccessCount"),n.accessCount=n.getResponseProperty("AccessCount"),n.revisionDate=n.getResponseProperty("RevisionDate"),n.expirationDate=n.getResponseProperty("ExpirationDate"),n.deletionDate=n.getResponseProperty("DeletionDate"),n.password=n.getResponseProperty("Password"),n.disable=n.getResponseProperty("Disabled")||!1;var r=n.getResponseProperty("Text");null!=r&&(n.text=new s.SendTextApi(r));var i=n.getResponseProperty("File");return null!=i&&(n.file=new a.SendFileApi(i)),n}return i(t,e),t}(o.BaseResponse);t.SendResponse=l},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0;s--)(i=e[s])&&(a=(o<3?i(a):o>3?i(t,n,a):i(t,n))||a);return o>3&&a&&Object.defineProperty(t,n,a),a},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0;s--)(i=e[s])&&(a=(o<3?i(a):o>3?i(t,n,a):i(t,n))||a);return o>3&&a&&Object.defineProperty(t,n,a),a},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]5&&(e.passwordHistory=e.passwordHistory.slice(0,5)),a.label=5;case 5:return(p=new h.Cipher).id=e.id,p.folderId=e.folderId,p.favorite=e.favorite,p.organizationId=e.organizationId,p.type=e.type,p.collectionIds=e.collectionIds,p.revisionDate=e.revisionDate,null!=t||null==p.organizationId?[3,7]:[4,this.cryptoService.getOrgKey(p.organizationId)];case 6:if(null==(t=a.sent()))throw new Error("Cannot encrypt cipher for organization. No key.");a.label=7;case 7:return[4,Promise.all([this.encryptObjProperty(e,p,{name:null,notes:null},t),this.encryptCipherData(p,e,t),this.encryptFields(e.fields,t).then(function(e){p.fields=e}),this.encryptPasswordHistories(e.passwordHistory,t).then(function(e){p.passwordHistory=e}),this.encryptAttachments(e.attachments,t).then(function(e){p.attachments=e})])];case 8:return a.sent(),[2,p]}})})},t.prototype.encryptAttachments=function(e,t){return o(this,void 0,void 0,function(){var n,r,i=this;return a(this,function(s){switch(s.label){case 0:return null==e||0===e.length?[2,null]:(n=[],r=[],e.forEach(function(e){return o(i,void 0,void 0,function(){var i,s,l=this;return a(this,function(c){return(i=new u.Attachment).id=e.id,i.size=e.size,i.sizeName=e.sizeName,i.url=e.url,s=this.encryptObjProperty(e,i,{fileName:null},t).then(function(){return o(l,void 0,void 0,function(){var n;return a(this,function(o){switch(o.label){case 0:return null==e.key?[3,2]:(n=i,[4,this.cryptoService.encrypt(e.key.key,t)]);case 1:n.key=o.sent(),o.label=2;case 2:return r.push(i),[2]}})})}),n.push(s),[2]})})}),[4,Promise.all(n)]);case 1:return s.sent(),[2,r]}})})},t.prototype.encryptFields=function(e,t){return o(this,void 0,void 0,function(){var n,r;return a(this,function(i){switch(i.label){case 0:return e&&e.length?(n=this,r=[],[4,e.reduce(function(e,i){return e.then(function(){return n.encryptField(i,t)}).then(function(e){r.push(e)})},Promise.resolve())]):[2,null];case 1:return i.sent(),[2,r]}})})},t.prototype.encryptField=function(e,t){return o(this,void 0,void 0,function(){var n;return a(this,function(r){switch(r.label){case 0:return(n=new f.Field).type=e.type,e.type===l.FieldType.Boolean&&"true"!==e.value&&(e.value="false"),[4,this.encryptObjProperty(e,n,{name:null,value:null},t)];case 1:return r.sent(),[2,n]}})})},t.prototype.encryptPasswordHistories=function(e,t){return o(this,void 0,void 0,function(){var n,r;return a(this,function(i){switch(i.label){case 0:return e&&e.length?(n=this,r=[],[4,e.reduce(function(e,i){return e.then(function(){return n.encryptPasswordHistory(i,t)}).then(function(e){r.push(e)})},Promise.resolve())]):[2,null];case 1:return i.sent(),[2,r]}})})},t.prototype.encryptPasswordHistory=function(e,t){return o(this,void 0,void 0,function(){var n;return a(this,function(r){switch(r.label){case 0:return(n=new g.Password).lastUsedDate=e.lastUsedDate,[4,this.encryptObjProperty(e,n,{password:null},t)];case 1:return r.sent(),[2,n]}})})},t.prototype.get=function(e){return o(this,void 0,void 0,function(){var t,n,r;return a(this,function(i){switch(i.label){case 0:return[4,this.userService.getUserId()];case 1:return t=i.sent(),[4,this.storageService.get(D)];case 2:return n=i.sent(),[4,this.storageService.get(B+t)];case 3:return null!=(r=i.sent())&&r.hasOwnProperty(e)?[2,new h.Cipher(r[e],!1,n?n[e]:null)]:[2,null]}})})},t.prototype.getAll=function(){return o(this,void 0,void 0,function(){var e,t,n,r,i;return a(this,function(o){switch(o.label){case 0:return[4,this.userService.getUserId()];case 1:return e=o.sent(),[4,this.storageService.get(D)];case 2:return t=o.sent(),[4,this.storageService.get(B+e)];case 3:for(i in n=o.sent(),r=[],n)n.hasOwnProperty(i)&&r.push(new h.Cipher(n[i],!1,t?t[i]:null));return[2,r]}})})},t.prototype.getAllDecrypted=function(){return o(this,void 0,void 0,function(){var e,t;return a(this,function(n){switch(n.label){case 0:return null!=this.decryptedCipherCache?[2,this.decryptedCipherCache]:(e=[],[4,this.cryptoService.hasKey()]);case 1:if(!n.sent())throw new Error("No key.");return t=[],[4,this.getAll()];case 2:return n.sent().forEach(function(n){t.push(n.decrypt().then(function(t){return e.push(t)}))}),[4,Promise.all(t)];case 3:return n.sent(),e.sort(this.getLocaleSortingFunction()),this.decryptedCipherCache=e,[2,this.decryptedCipherCache]}})})},t.prototype.getAllDecryptedForGrouping=function(e,t){return void 0===t&&(t=!0),o(this,void 0,void 0,function(){return a(this,function(n){switch(n.label){case 0:return[4,this.getAllDecrypted()];case 1:return[2,n.sent().filter(function(n){return!n.isDeleted&&(!(!t||n.folderId!==e)||!t&&null!=n.collectionIds&&n.collectionIds.indexOf(e)>-1)})]}})})},t.prototype.getAllDecryptedForUrl=function(e,t,n){return void 0===n&&(n=null),o(this,void 0,void 0,function(){var r,i,o,l,p;return a(this,function(a){switch(a.label){case 0:return null==e&&null==t?[2,Promise.resolve([])]:(r=M.Utils.getDomain(e),i=null==r?Promise.resolve([]):this.settingsService.getEquivalentDomains().then(function(e){var t=[];return e.forEach(function(e){e.length&&e.indexOf(r)>=0&&(t=t.concat(e))}),t.length||t.push(r),t}),[4,Promise.all([i,this.getAllDecrypted()])]);case 1:return o=a.sent(),l=o[0],p=o[1],null!=n?[3,3]:[4,this.storageService.get(O.ConstantsService.defaultUriMatch)];case 2:null==(n=a.sent())&&(n=c.UriMatchType.Domain),a.label=3;case 3:return[2,p.filter(function(i){if(null!=i.deletedDate)return!1;if(null!=t&&t.indexOf(i.type)>-1)return!0;if(null!=e&&i.type===s.CipherType.Login&&null!=i.login.uris)for(var o=0;o-1){if(!V.has(p.domain))return!0;var u=M.Utils.getHost(e);if(!V.get(p.domain).has(u))return!0}break;case c.UriMatchType.Host:var d=M.Utils.getHost(e);if(null!=d&&d===M.Utils.getHost(p.uri))return!0;break;case c.UriMatchType.Exact:if(e===p.uri)return!0;break;case c.UriMatchType.StartsWith:if(e.startsWith(p.uri))return!0;break;case c.UriMatchType.RegularExpression:try{if(new RegExp(p.uri,"i").test(e))return!0}catch(a){}break;case c.UriMatchType.Never:}}return!1})]}})})},t.prototype.getAllFromApiForOrganization=function(e){return o(this,void 0,void 0,function(){var t,n,r;return a(this,function(i){switch(i.label){case 0:return[4,this.apiService.getCiphersOrganization(e)];case 1:return null!=(t=i.sent())&&null!=t.data&&t.data.length?(n=[],r=[],t.data.forEach(function(e){var t=new p.CipherData(e),i=new h.Cipher(t);r.push(i.decrypt().then(function(e){return n.push(e)}))}),[4,Promise.all(r)]):[3,3];case 2:return i.sent(),n.sort(this.getLocaleSortingFunction()),[2,n];case 3:return[2,[]]}})})},t.prototype.getLastUsedForUrl=function(e){return o(this,void 0,void 0,function(){return a(this,function(t){return[2,this.getCipherForUrl(e,!0,!1)]})})},t.prototype.getLastLaunchedForUrl=function(e){return o(this,void 0,void 0,function(){return a(this,function(t){return[2,this.getCipherForUrl(e,!1,!0)]})})},t.prototype.getNextCipherForUrl=function(e){return o(this,void 0,void 0,function(){return a(this,function(t){return[2,this.getCipherForUrl(e,!1,!1)]})})},t.prototype.updateLastUsedIndexForUrl=function(e){this.sortedCiphersCache.updateLastUsedIndex(e)},t.prototype.updateLastUsedDate=function(e){return o(this,void 0,void 0,function(){var t,n,r;return a(this,function(i){switch(i.label){case 0:return[4,this.storageService.get(D)];case 1:return(t=i.sent())||(t={}),t[e]?t[e].lastUsedDate=(new Date).getTime():t[e]={lastUsedDate:(new Date).getTime()},[4,this.storageService.save(D,t)];case 2:if(i.sent(),null==this.decryptedCipherCache)return[2];for(n=0;nr?-1:null!=r&&null==n?1:0},t.prototype.sortCiphersByLastUsedThenName=function(e,t){var n=this.sortCiphersByLastUsed(e,t);return 0!==n?n:this.getLocaleSortingFunction()(e,t)},t.prototype.getLocaleSortingFunction=function(){var e=this;return function(t,n){var r=t.name,i=n.name;if(null==r&&null!=i)return-1;if(null!=r&&null==i)return 1;if(null==r&&null==i)return 0;var o=e.i18nService.collator?e.i18nService.collator.compare(r,i):r.localeCompare(i);return 0!==o||t.type!==s.CipherType.Login||n.type!==s.CipherType.Login?o:(null!=t.login.username&&(r+=t.login.username),null!=n.login.username&&(i+=n.login.username),e.i18nService.collator?e.i18nService.collator.compare(r,i):r.localeCompare(i))}},t.prototype.softDelete=function(e){return o(this,void 0,void 0,function(){var t,n,r;return a(this,function(i){switch(i.label){case 0:return[4,this.userService.getUserId()];case 1:return t=i.sent(),[4,this.storageService.get(B+t)];case 2:return null==(n=i.sent())?[2]:(r=function(e){null!=n[e]&&(n[e].deletedDate=(new Date).toISOString())},"string"==typeof e?r(e):e.forEach(r),[4,this.storageService.save(B+t,n)]);case 3:return i.sent(),this.decryptedCipherCache=null,[2]}})})},t.prototype.softDeleteWithServer=function(e){return o(this,void 0,void 0,function(){return a(this,function(t){switch(t.label){case 0:return[4,this.apiService.putDeleteCipher(e)];case 1:return t.sent(),[4,this.softDelete(e)];case 2:return t.sent(),[2]}})})},t.prototype.softDeleteManyWithServer=function(e){return o(this,void 0,void 0,function(){return a(this,function(t){switch(t.label){case 0:return[4,this.apiService.putDeleteManyCiphers(new b.CipherBulkDeleteRequest(e))];case 1:return t.sent(),[4,this.softDelete(e)];case 2:return t.sent(),[2]}})})},t.prototype.restore=function(e){return o(this,void 0,void 0,function(){var t,n,r;return a(this,function(i){switch(i.label){case 0:return[4,this.userService.getUserId()];case 1:return t=i.sent(),[4,this.storageService.get(B+t)];case 2:return null==(n=i.sent())?[2]:(r=function(e){null!=n[e]&&(n[e].deletedDate=null)},"string"==typeof e?r(e):e.forEach(r),[4,this.storageService.save(B+t,n)]);case 3:return i.sent(),this.decryptedCipherCache=null,[2]}})})},t.prototype.restoreWithServer=function(e){return o(this,void 0,void 0,function(){return a(this,function(t){switch(t.label){case 0:return[4,this.apiService.putRestoreCipher(e)];case 1:return t.sent(),[4,this.restore(e)];case 2:return t.sent(),[2]}})})},t.prototype.restoreManyWithServer=function(e){return o(this,void 0,void 0,function(){return a(this,function(t){switch(t.label){case 0:return[4,this.apiService.putRestoreManyCiphers(new w.CipherBulkRestoreRequest(e))];case 1:return t.sent(),[4,this.restore(e)];case 2:return t.sent(),[2]}})})},t.prototype.shareAttachmentWithServer=function(t,n,r){return o(this,void 0,void 0,function(){var i,o,s,l,c,p,u,d,h,f;return a(this,function(a){switch(a.label){case 0:return[4,this.apiService.nativeFetch(new Request(t.url,{cache:"no-store"}))];case 1:if(200!==(i=a.sent()).status)throw Error("Failed to download attachment: "+i.status.toString());return[4,i.arrayBuffer()];case 2:return o=a.sent(),[4,this.cryptoService.decryptFromBytes(o,null)];case 3:return s=a.sent(),[4,this.cryptoService.getOrgKey(r)];case 4:return l=a.sent(),[4,this.cryptoService.encrypt(t.fileName,l)];case 5:return c=a.sent(),[4,this.cryptoService.makeEncKey(l)];case 6:return p=a.sent(),[4,this.cryptoService.encryptToBytes(s,p[0])];case 7:u=a.sent(),d=new FormData;try{h=new Blob([u],{type:"application/octet-stream"}),d.append("key",p[1].encryptedString),d.append("data",h,c.encryptedString)}catch(m){if(!M.Utils.isNode||M.Utils.isBrowser)throw m;d.append("key",p[1].encryptedString),d.append("data",e.from(u),{filepath:c.encryptedString,contentType:"application/octet-stream"})}a.label=8;case 8:return a.trys.push([8,10,,11]),[4,this.apiService.postShareCipherAttachment(n,t.id,d,r)];case 9:return a.sent(),[3,11];case 10:throw f=a.sent(),new Error(f.getSingleMessage());case 11:return[2]}})})},t.prototype.encryptObjProperty=function(e,t,n,r){return o(this,void 0,void 0,function(){var i,o,s;return a(this,function(a){switch(a.label){case 0:for(s in i=[],o=this,n)n.hasOwnProperty(s)&&function(t,a){var s=Promise.resolve().then(function(){var i=e[n[t]||t];return i&&""!==i?o.cryptoService.encrypt(i,r):null}).then(function(e){a[t]=e});i.push(s)}(s,t);return[4,Promise.all(i)];case 1:return a.sent(),[2]}})})},t.prototype.encryptCipherData=function(e,t,n){return o(this,void 0,void 0,function(){var r,i;return a(this,function(o){switch(o.label){case 0:switch(e.type){case s.CipherType.Login:return[3,1];case s.CipherType.SecureNote:return[3,7];case s.CipherType.Card:return[3,8];case s.CipherType.Identity:return[3,10]}return[3,12];case 1:return e.login=new v.Login,e.login.passwordRevisionDate=t.login.passwordRevisionDate,[4,this.encryptObjProperty(t.login,e.login,{username:null,password:null,totp:null},n)];case 2:if(o.sent(),null==t.login.uris)return[3,6];e.login.uris=[],r=0,o.label=3;case 3:return r0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0;s--)(i=e[s])&&(a=(o<3?i(a):o>3?i(t,n,a):i(t,n))||a);return o>3&&a&&Object.defineProperty(t,n,a),a},i=this&&this.__metadata||function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0?[2,this.orgKeys]:[4,this.storageService.get(g)];case 1:if(null==(e=a.sent()))return[2,null];for(i in t=new Map,n=!1,r=[],e)r.push(i);o=0,a.label=2;case 2:return o53)throw new Error("We cannot generate numbers larger than 53 bits.");return o=Math.ceil(i/8),s=Math.pow(2,i)-1,c=Uint8Array.bind,[4,this.cryptoFunctionService.randomBytes(o)];case 1:for(l=new(c.apply(Uint8Array,[void 0,a.sent()])),p=8*(o-1),u=0;u=r?[2,this.randomNumber(e,t)]:[2,e+n]}})})},e.prototype.aesEncrypt=function(e,t){return o(this,void 0,void 0,function(){var n,r,i,o,s,l;return a(this,function(a){switch(a.label){case 0:return n=new u.EncryptedObject,r=n,[4,this.getKeyForEncryption(t)];case 1:return r.key=a.sent(),i=n,[4,this.cryptoFunctionService.randomBytes(16)];case 2:return i.iv=a.sent(),o=n,[4,this.cryptoFunctionService.aesEncrypt(e,n.iv,n.key.encKey)];case 3:return o.data=a.sent(),null==n.key.macKey?[3,5]:((s=new Uint8Array(n.iv.byteLength+n.data.byteLength)).set(new Uint8Array(n.iv),0),s.set(new Uint8Array(n.data),n.iv.byteLength),l=n,[4,this.cryptoFunctionService.hmac(s.buffer,n.key.macKey,"sha256")]);case 4:l.mac=a.sent(),a.label=5;case 5:return[2,n]}})})},e.prototype.aesDecryptToUtf8=function(e,t,n,r,i){return o(this,void 0,void 0,function(){var o,s,l,c;return a(this,function(a){switch(a.label){case 0:return[4,this.getKeyForEncryption(i)];case 1:return o=a.sent(),null!=(s=this.resolveLegacyKey(e,o)).macKey&&null==r?(console.error("mac required."),[2,null]):s.encType!==e?(console.error("encType unavailable."),[2,null]):null==(l=this.cryptoFunctionService.aesDecryptFastParameters(t,n,r,s)).macKey||null==l.mac?[3,4]:[4,this.cryptoFunctionService.hmacFast(l.macData,l.macKey,"sha256")];case 2:return c=a.sent(),[4,this.cryptoFunctionService.compareFast(l.mac,c)];case 3:if(!a.sent())return console.error("mac failed."),[2,null];a.label=4;case 4:return[2,this.cryptoFunctionService.aesDecryptFast(l)]}})})},e.prototype.aesDecryptToBytes=function(e,t,n,r,i){return o(this,void 0,void 0,function(){var o,s,l,c;return a(this,function(a){switch(a.label){case 0:return[4,this.getKeyForEncryption(i)];case 1:return o=a.sent(),null!=(s=this.resolveLegacyKey(e,o)).macKey&&null==r?[2,null]:s.encType!==e?[2,null]:null==s.macKey||null==r?[3,4]:((l=new Uint8Array(n.byteLength+t.byteLength)).set(new Uint8Array(n),0),l.set(new Uint8Array(t),n.byteLength),[4,this.cryptoFunctionService.hmac(l.buffer,s.macKey,"sha256")]);case 2:return null===(c=a.sent())?[2,null]:[4,this.cryptoFunctionService.compare(r,c)];case 3:if(!a.sent())return console.error("mac failed."),[2,null];a.label=4;case 4:return[4,this.cryptoFunctionService.aesDecrypt(t,n,s.encKey)];case 5:return[2,a.sent()]}})})},e.prototype.rsaDecrypt=function(e){return o(this,void 0,void 0,function(){var t,n,r,i,o,s;return a(this,function(a){switch(a.label){case 0:if(t=e.split("."),n=null,1===t.length)n=l.EncryptionType.Rsa2048_OaepSha256_B64,r=[t[0]];else if(2===t.length)try{n=parseInt(t[0],null),r=t[1].split("|")}catch(c){}switch(n){case l.EncryptionType.Rsa2048_OaepSha256_B64:case l.EncryptionType.Rsa2048_OaepSha1_B64:case l.EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:case l.EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:break;default:throw new Error("encType unavailable.")}if(null==r||r.length<=0)throw new Error("encPieces unavailable.");return i=m.Utils.fromB64ToArray(r[0]).buffer,[4,this.getPrivateKey()];case 1:if(null==(o=a.sent()))throw new Error("No private key.");switch(s="sha1",n){case l.EncryptionType.Rsa2048_OaepSha256_B64:case l.EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:s="sha256";break;case l.EncryptionType.Rsa2048_OaepSha1_B64:case l.EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:break;default:throw new Error("encType unavailable.")}return[2,this.cryptoFunctionService.rsaDecrypt(i,o,s)]}})})},e.prototype.getKeyForEncryption=function(e){return o(this,void 0,void 0,function(){var t;return a(this,function(n){switch(n.label){case 0:return null!=e?[2,e]:[4,this.getEncKey()];case 1:return null!=(t=n.sent())?[2,t]:[4,this.getKey()];case 2:return[2,n.sent()]}})})},e.prototype.resolveLegacyKey=function(e,t){return e===l.EncryptionType.AesCbc128_HmacSha256_B64&&t.encType===l.EncryptionType.AesCbc256_B64?(null==this.legacyEtmKey&&(this.legacyEtmKey=new d.SymmetricCryptoKey(t.key,l.EncryptionType.AesCbc128_HmacSha256_B64)),this.legacyEtmKey):t},e.prototype.stretchKey=function(e){return o(this,void 0,void 0,function(){var t,n,r;return a(this,function(i){switch(i.label){case 0:return t=new Uint8Array(64),[4,this.cryptoFunctionService.hkdfExpand(e.key,"enc",32,"sha256")];case 1:return n=i.sent(),[4,this.cryptoFunctionService.hkdfExpand(e.key,"mac",32,"sha256")];case 2:return r=i.sent(),t.set(new Uint8Array(n)),t.set(new Uint8Array(r),32),[2,new d.SymmetricCryptoKey(t.buffer)]}})})},e.prototype.hashPhrase=function(e,t){return void 0===t&&(t=64),o(this,void 0,void 0,function(){var n,r,i,o,l,c,p;return a(this,function(a){if(n=Math.log(v.EEFLongWordList.length)/Math.log(2),r=Math.ceil(t/n),i=Array.from(new Uint8Array(e)),o=4*i.length,r*n>o)throw new Error("Output entropy of hash function is too small");for(l=[],c=s.fromArray(i,256);r--;)p=c.mod(v.EEFLongWordList.length),c=c.divide(v.EEFLongWordList.length),l.push(v.EEFLongWordList[p]);return[2,l]})})},e.prototype.buildEncKey=function(e,t){return o(this,void 0,void 0,function(){var n,r;return a(this,function(i){switch(i.label){case 0:return n=null,32!==e.key.byteLength?[3,3]:[4,this.stretchKey(e)];case 1:return r=i.sent(),[4,this.encrypt(t,r)];case 2:return n=i.sent(),[3,6];case 3:return 64!==e.key.byteLength?[3,5]:[4,this.encrypt(t,e)];case 4:return n=i.sent(),[3,6];case 5:throw new Error("Invalid key size.");case 6:return[2,[new d.SymmetricCryptoKey(t),n]]}})})},r([f.sequentialize(function(){return"getEncKey"}),i("design:type",Function),i("design:paramtypes",[d.SymmetricCryptoKey]),i("design:returntype",Promise)],e.prototype,"getEncKey",null),r([f.sequentialize(function(){return"getOrgKeys"}),i("design:type",Function),i("design:paramtypes",[]),i("design:returntype",Promise)],e.prototype,"getOrgKeys",null),e}();t.CryptoService=w},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EEFLongWordList=["abacus","abdomen","abdominal","abide","abiding","ability","ablaze","able","abnormal","abrasion","abrasive","abreast","abridge","abroad","abruptly","absence","absentee","absently","absinthe","absolute","absolve","abstain","abstract","absurd","accent","acclaim","acclimate","accompany","account","accuracy","accurate","accustom","acetone","achiness","aching","acid","acorn","acquaint","acquire","acre","acrobat","acronym","acting","action","activate","activator","active","activism","activist","activity","actress","acts","acutely","acuteness","aeration","aerobics","aerosol","aerospace","afar","affair","affected","affecting","affection","affidavit","affiliate","affirm","affix","afflicted","affluent","afford","affront","aflame","afloat","aflutter","afoot","afraid","afterglow","afterlife","aftermath","aftermost","afternoon","aged","ageless","agency","agenda","agent","aggregate","aghast","agile","agility","aging","agnostic","agonize","agonizing","agony","agreeable","agreeably","agreed","agreeing","agreement","aground","ahead","ahoy","aide","aids","aim","ajar","alabaster","alarm","albatross","album","alfalfa","algebra","algorithm","alias","alibi","alienable","alienate","aliens","alike","alive","alkaline","alkalize","almanac","almighty","almost","aloe","aloft","aloha","alone","alongside","aloof","alphabet","alright","although","altitude","alto","aluminum","alumni","always","amaretto","amaze","amazingly","amber","ambiance","ambiguity","ambiguous","ambition","ambitious","ambulance","ambush","amendable","amendment","amends","amenity","amiable","amicably","amid","amigo","amino","amiss","ammonia","ammonium","amnesty","amniotic","among","amount","amperage","ample","amplifier","amplify","amply","amuck","amulet","amusable","amused","amusement","amuser","amusing","anaconda","anaerobic","anagram","anatomist","anatomy","anchor","anchovy","ancient","android","anemia","anemic","aneurism","anew","angelfish","angelic","anger","angled","angler","angles","angling","angrily","angriness","anguished","angular","animal","animate","animating","animation","animator","anime","animosity","ankle","annex","annotate","announcer","annoying","annually","annuity","anointer","another","answering","antacid","antarctic","anteater","antelope","antennae","anthem","anthill","anthology","antibody","antics","antidote","antihero","antiquely","antiques","antiquity","antirust","antitoxic","antitrust","antiviral","antivirus","antler","antonym","antsy","anvil","anybody","anyhow","anymore","anyone","anyplace","anything","anytime","anyway","anywhere","aorta","apache","apostle","appealing","appear","appease","appeasing","appendage","appendix","appetite","appetizer","applaud","applause","apple","appliance","applicant","applied","apply","appointee","appraisal","appraiser","apprehend","approach","approval","approve","apricot","april","apron","aptitude","aptly","aqua","aqueduct","arbitrary","arbitrate","ardently","area","arena","arguable","arguably","argue","arise","armadillo","armband","armchair","armed","armful","armhole","arming","armless","armoire","armored","armory","armrest","army","aroma","arose","around","arousal","arrange","array","arrest","arrival","arrive","arrogance","arrogant","arson","art","ascend","ascension","ascent","ascertain","ashamed","ashen","ashes","ashy","aside","askew","asleep","asparagus","aspect","aspirate","aspire","aspirin","astonish","astound","astride","astrology","astronaut","astronomy","astute","atlantic","atlas","atom","atonable","atop","atrium","atrocious","atrophy","attach","attain","attempt","attendant","attendee","attention","attentive","attest","attic","attire","attitude","attractor","attribute","atypical","auction","audacious","audacity","audible","audibly","audience","audio","audition","augmented","august","authentic","author","autism","autistic","autograph","automaker","automated","automatic","autopilot","available","avalanche","avatar","avenge","avenging","avenue","average","aversion","avert","aviation","aviator","avid","avoid","await","awaken","award","aware","awhile","awkward","awning","awoke","awry","axis","babble","babbling","babied","baboon","backache","backboard","backboned","backdrop","backed","backer","backfield","backfire","backhand","backing","backlands","backlash","backless","backlight","backlit","backlog","backpack","backpedal","backrest","backroom","backshift","backside","backslid","backspace","backspin","backstab","backstage","backtalk","backtrack","backup","backward","backwash","backwater","backyard","bacon","bacteria","bacterium","badass","badge","badland","badly","badness","baffle","baffling","bagel","bagful","baggage","bagged","baggie","bagginess","bagging","baggy","bagpipe","baguette","baked","bakery","bakeshop","baking","balance","balancing","balcony","balmy","balsamic","bamboo","banana","banish","banister","banjo","bankable","bankbook","banked","banker","banking","banknote","bankroll","banner","bannister","banshee","banter","barbecue","barbed","barbell","barber","barcode","barge","bargraph","barista","baritone","barley","barmaid","barman","barn","barometer","barrack","barracuda","barrel","barrette","barricade","barrier","barstool","bartender","barterer","bash","basically","basics","basil","basin","basis","basket","batboy","batch","bath","baton","bats","battalion","battered","battering","battery","batting","battle","bauble","bazooka","blabber","bladder","blade","blah","blame","blaming","blanching","blandness","blank","blaspheme","blasphemy","blast","blatancy","blatantly","blazer","blazing","bleach","bleak","bleep","blemish","blend","bless","blighted","blimp","bling","blinked","blinker","blinking","blinks","blip","blissful","blitz","blizzard","bloated","bloating","blob","blog","bloomers","blooming","blooper","blot","blouse","blubber","bluff","bluish","blunderer","blunt","blurb","blurred","blurry","blurt","blush","blustery","boaster","boastful","boasting","boat","bobbed","bobbing","bobble","bobcat","bobsled","bobtail","bodacious","body","bogged","boggle","bogus","boil","bok","bolster","bolt","bonanza","bonded","bonding","bondless","boned","bonehead","boneless","bonelike","boney","bonfire","bonnet","bonsai","bonus","bony","boogeyman","boogieman","book","boondocks","booted","booth","bootie","booting","bootlace","bootleg","boots","boozy","borax","boring","borough","borrower","borrowing","boss","botanical","botanist","botany","botch","both","bottle","bottling","bottom","bounce","bouncing","bouncy","bounding","boundless","bountiful","bovine","boxcar","boxer","boxing","boxlike","boxy","breach","breath","breeches","breeching","breeder","breeding","breeze","breezy","brethren","brewery","brewing","briar","bribe","brick","bride","bridged","brigade","bright","brilliant","brim","bring","brink","brisket","briskly","briskness","bristle","brittle","broadband","broadcast","broaden","broadly","broadness","broadside","broadways","broiler","broiling","broken","broker","bronchial","bronco","bronze","bronzing","brook","broom","brought","browbeat","brownnose","browse","browsing","bruising","brunch","brunette","brunt","brush","brussels","brute","brutishly","bubble","bubbling","bubbly","buccaneer","bucked","bucket","buckle","buckshot","buckskin","bucktooth","buckwheat","buddhism","buddhist","budding","buddy","budget","buffalo","buffed","buffer","buffing","buffoon","buggy","bulb","bulge","bulginess","bulgur","bulk","bulldog","bulldozer","bullfight","bullfrog","bullhorn","bullion","bullish","bullpen","bullring","bullseye","bullwhip","bully","bunch","bundle","bungee","bunion","bunkbed","bunkhouse","bunkmate","bunny","bunt","busboy","bush","busily","busload","bust","busybody","buzz","cabana","cabbage","cabbie","cabdriver","cable","caboose","cache","cackle","cacti","cactus","caddie","caddy","cadet","cadillac","cadmium","cage","cahoots","cake","calamari","calamity","calcium","calculate","calculus","caliber","calibrate","calm","caloric","calorie","calzone","camcorder","cameo","camera","camisole","camper","campfire","camping","campsite","campus","canal","canary","cancel","candied","candle","candy","cane","canine","canister","cannabis","canned","canning","cannon","cannot","canola","canon","canopener","canopy","canteen","canyon","capable","capably","capacity","cape","capillary","capital","capitol","capped","capricorn","capsize","capsule","caption","captivate","captive","captivity","capture","caramel","carat","caravan","carbon","cardboard","carded","cardiac","cardigan","cardinal","cardstock","carefully","caregiver","careless","caress","caretaker","cargo","caring","carless","carload","carmaker","carnage","carnation","carnival","carnivore","carol","carpenter","carpentry","carpool","carport","carried","carrot","carrousel","carry","cartel","cartload","carton","cartoon","cartridge","cartwheel","carve","carving","carwash","cascade","case","cash","casing","casino","casket","cassette","casually","casualty","catacomb","catalog","catalyst","catalyze","catapult","cataract","catatonic","catcall","catchable","catcher","catching","catchy","caterer","catering","catfight","catfish","cathedral","cathouse","catlike","catnap","catnip","catsup","cattail","cattishly","cattle","catty","catwalk","caucasian","caucus","causal","causation","cause","causing","cauterize","caution","cautious","cavalier","cavalry","caviar","cavity","cedar","celery","celestial","celibacy","celibate","celtic","cement","census","ceramics","ceremony","certainly","certainty","certified","certify","cesarean","cesspool","chafe","chaffing","chain","chair","chalice","challenge","chamber","chamomile","champion","chance","change","channel","chant","chaos","chaperone","chaplain","chapped","chaps","chapter","character","charbroil","charcoal","charger","charging","chariot","charity","charm","charred","charter","charting","chase","chasing","chaste","chastise","chastity","chatroom","chatter","chatting","chatty","cheating","cheddar","cheek","cheer","cheese","cheesy","chef","chemicals","chemist","chemo","cherisher","cherub","chess","chest","chevron","chevy","chewable","chewer","chewing","chewy","chief","chihuahua","childcare","childhood","childish","childless","childlike","chili","chill","chimp","chip","chirping","chirpy","chitchat","chivalry","chive","chloride","chlorine","choice","chokehold","choking","chomp","chooser","choosing","choosy","chop","chosen","chowder","chowtime","chrome","chubby","chuck","chug","chummy","chump","chunk","churn","chute","cider","cilantro","cinch","cinema","cinnamon","circle","circling","circular","circulate","circus","citable","citadel","citation","citizen","citric","citrus","city","civic","civil","clad","claim","clambake","clammy","clamor","clamp","clamshell","clang","clanking","clapped","clapper","clapping","clarify","clarinet","clarity","clash","clasp","class","clatter","clause","clavicle","claw","clay","clean","clear","cleat","cleaver","cleft","clench","clergyman","clerical","clerk","clever","clicker","client","climate","climatic","cling","clinic","clinking","clip","clique","cloak","clobber","clock","clone","cloning","closable","closure","clothes","clothing","cloud","clover","clubbed","clubbing","clubhouse","clump","clumsily","clumsy","clunky","clustered","clutch","clutter","coach","coagulant","coastal","coaster","coasting","coastland","coastline","coat","coauthor","cobalt","cobbler","cobweb","cocoa","coconut","cod","coeditor","coerce","coexist","coffee","cofounder","cognition","cognitive","cogwheel","coherence","coherent","cohesive","coil","coke","cola","cold","coleslaw","coliseum","collage","collapse","collar","collected","collector","collide","collie","collision","colonial","colonist","colonize","colony","colossal","colt","coma","come","comfort","comfy","comic","coming","comma","commence","commend","comment","commerce","commode","commodity","commodore","common","commotion","commute","commuting","compacted","compacter","compactly","compactor","companion","company","compare","compel","compile","comply","component","composed","composer","composite","compost","composure","compound","compress","comprised","computer","computing","comrade","concave","conceal","conceded","concept","concerned","concert","conch","concierge","concise","conclude","concrete","concur","condense","condiment","condition","condone","conducive","conductor","conduit","cone","confess","confetti","confidant","confident","confider","confiding","configure","confined","confining","confirm","conflict","conform","confound","confront","confused","confusing","confusion","congenial","congested","congrats","congress","conical","conjoined","conjure","conjuror","connected","connector","consensus","consent","console","consoling","consonant","constable","constant","constrain","constrict","construct","consult","consumer","consuming","contact","container","contempt","contend","contented","contently","contents","contest","context","contort","contour","contrite","control","contusion","convene","convent","copartner","cope","copied","copier","copilot","coping","copious","copper","copy","coral","cork","cornball","cornbread","corncob","cornea","corned","corner","cornfield","cornflake","cornhusk","cornmeal","cornstalk","corny","coronary","coroner","corporal","corporate","corral","correct","corridor","corrode","corroding","corrosive","corsage","corset","cortex","cosigner","cosmetics","cosmic","cosmos","cosponsor","cost","cottage","cotton","couch","cough","could","countable","countdown","counting","countless","country","county","courier","covenant","cover","coveted","coveting","coyness","cozily","coziness","cozy","crabbing","crabgrass","crablike","crabmeat","cradle","cradling","crafter","craftily","craftsman","craftwork","crafty","cramp","cranberry","crane","cranial","cranium","crank","crate","crave","craving","crawfish","crawlers","crawling","crayfish","crayon","crazed","crazily","craziness","crazy","creamed","creamer","creamlike","crease","creasing","creatable","create","creation","creative","creature","credible","credibly","credit","creed","creme","creole","crepe","crept","crescent","crested","cresting","crestless","crevice","crewless","crewman","crewmate","crib","cricket","cried","crier","crimp","crimson","cringe","cringing","crinkle","crinkly","crisped","crisping","crisply","crispness","crispy","criteria","critter","croak","crock","crook","croon","crop","cross","crouch","crouton","crowbar","crowd","crown","crucial","crudely","crudeness","cruelly","cruelness","cruelty","crumb","crummiest","crummy","crumpet","crumpled","cruncher","crunching","crunchy","crusader","crushable","crushed","crusher","crushing","crust","crux","crying","cryptic","crystal","cubbyhole","cube","cubical","cubicle","cucumber","cuddle","cuddly","cufflink","culinary","culminate","culpable","culprit","cultivate","cultural","culture","cupbearer","cupcake","cupid","cupped","cupping","curable","curator","curdle","cure","curfew","curing","curled","curler","curliness","curling","curly","curry","curse","cursive","cursor","curtain","curtly","curtsy","curvature","curve","curvy","cushy","cusp","cussed","custard","custodian","custody","customary","customer","customize","customs","cut","cycle","cyclic","cycling","cyclist","cylinder","cymbal","cytoplasm","cytoplast","dab","dad","daffodil","dagger","daily","daintily","dainty","dairy","daisy","dallying","dance","dancing","dandelion","dander","dandruff","dandy","danger","dangle","dangling","daredevil","dares","daringly","darkened","darkening","darkish","darkness","darkroom","darling","darn","dart","darwinism","dash","dastardly","data","datebook","dating","daughter","daunting","dawdler","dawn","daybed","daybreak","daycare","daydream","daylight","daylong","dayroom","daytime","dazzler","dazzling","deacon","deafening","deafness","dealer","dealing","dealmaker","dealt","dean","debatable","debate","debating","debit","debrief","debtless","debtor","debug","debunk","decade","decaf","decal","decathlon","decay","deceased","deceit","deceiver","deceiving","december","decency","decent","deception","deceptive","decibel","decidable","decimal","decimeter","decipher","deck","declared","decline","decode","decompose","decorated","decorator","decoy","decrease","decree","dedicate","dedicator","deduce","deduct","deed","deem","deepen","deeply","deepness","deface","defacing","defame","default","defeat","defection","defective","defendant","defender","defense","defensive","deferral","deferred","defiance","defiant","defile","defiling","define","definite","deflate","deflation","deflator","deflected","deflector","defog","deforest","defraud","defrost","deftly","defuse","defy","degraded","degrading","degrease","degree","dehydrate","deity","dejected","delay","delegate","delegator","delete","deletion","delicacy","delicate","delicious","delighted","delirious","delirium","deliverer","delivery","delouse","delta","deluge","delusion","deluxe","demanding","demeaning","demeanor","demise","democracy","democrat","demote","demotion","demystify","denatured","deniable","denial","denim","denote","dense","density","dental","dentist","denture","deny","deodorant","deodorize","departed","departure","depict","deplete","depletion","deplored","deploy","deport","depose","depraved","depravity","deprecate","depress","deprive","depth","deputize","deputy","derail","deranged","derby","derived","desecrate","deserve","deserving","designate","designed","designer","designing","deskbound","desktop","deskwork","desolate","despair","despise","despite","destiny","destitute","destruct","detached","detail","detection","detective","detector","detention","detergent","detest","detonate","detonator","detoxify","detract","deuce","devalue","deviancy","deviant","deviate","deviation","deviator","device","devious","devotedly","devotee","devotion","devourer","devouring","devoutly","dexterity","dexterous","diabetes","diabetic","diabolic","diagnoses","diagnosis","diagram","dial","diameter","diaper","diaphragm","diary","dice","dicing","dictate","dictation","dictator","difficult","diffused","diffuser","diffusion","diffusive","dig","dilation","diligence","diligent","dill","dilute","dime","diminish","dimly","dimmed","dimmer","dimness","dimple","diner","dingbat","dinghy","dinginess","dingo","dingy","dining","dinner","diocese","dioxide","diploma","dipped","dipper","dipping","directed","direction","directive","directly","directory","direness","dirtiness","disabled","disagree","disallow","disarm","disarray","disaster","disband","disbelief","disburse","discard","discern","discharge","disclose","discolor","discount","discourse","discover","discuss","disdain","disengage","disfigure","disgrace","dish","disinfect","disjoin","disk","dislike","disliking","dislocate","dislodge","disloyal","dismantle","dismay","dismiss","dismount","disobey","disorder","disown","disparate","disparity","dispatch","dispense","dispersal","dispersed","disperser","displace","display","displease","disposal","dispose","disprove","dispute","disregard","disrupt","dissuade","distance","distant","distaste","distill","distinct","distort","distract","distress","district","distrust","ditch","ditto","ditzy","dividable","divided","dividend","dividers","dividing","divinely","diving","divinity","divisible","divisibly","division","divisive","divorcee","dizziness","dizzy","doable","docile","dock","doctrine","document","dodge","dodgy","doily","doing","dole","dollar","dollhouse","dollop","dolly","dolphin","domain","domelike","domestic","dominion","dominoes","donated","donation","donator","donor","donut","doodle","doorbell","doorframe","doorknob","doorman","doormat","doornail","doorpost","doorstep","doorstop","doorway","doozy","dork","dormitory","dorsal","dosage","dose","dotted","doubling","douche","dove","down","dowry","doze","drab","dragging","dragonfly","dragonish","dragster","drainable","drainage","drained","drainer","drainpipe","dramatic","dramatize","drank","drapery","drastic","draw","dreaded","dreadful","dreadlock","dreamboat","dreamily","dreamland","dreamless","dreamlike","dreamt","dreamy","drearily","dreary","drench","dress","drew","dribble","dried","drier","drift","driller","drilling","drinkable","drinking","dripping","drippy","drivable","driven","driver","driveway","driving","drizzle","drizzly","drone","drool","droop","drop-down","dropbox","dropkick","droplet","dropout","dropper","drove","drown","drowsily","drudge","drum","dry","dubbed","dubiously","duchess","duckbill","ducking","duckling","ducktail","ducky","duct","dude","duffel","dugout","duh","duke","duller","dullness","duly","dumping","dumpling","dumpster","duo","dupe","duplex","duplicate","duplicity","durable","durably","duration","duress","during","dusk","dust","dutiful","duty","duvet","dwarf","dweeb","dwelled","dweller","dwelling","dwindle","dwindling","dynamic","dynamite","dynasty","dyslexia","dyslexic","each","eagle","earache","eardrum","earflap","earful","earlobe","early","earmark","earmuff","earphone","earpiece","earplugs","earring","earshot","earthen","earthlike","earthling","earthly","earthworm","earthy","earwig","easeful","easel","easiest","easily","easiness","easing","eastbound","eastcoast","easter","eastward","eatable","eaten","eatery","eating","eats","ebay","ebony","ebook","ecard","eccentric","echo","eclair","eclipse","ecologist","ecology","economic","economist","economy","ecosphere","ecosystem","edge","edginess","edging","edgy","edition","editor","educated","education","educator","eel","effective","effects","efficient","effort","eggbeater","egging","eggnog","eggplant","eggshell","egomaniac","egotism","egotistic","either","eject","elaborate","elastic","elated","elbow","eldercare","elderly","eldest","electable","election","elective","elephant","elevate","elevating","elevation","elevator","eleven","elf","eligible","eligibly","eliminate","elite","elitism","elixir","elk","ellipse","elliptic","elm","elongated","elope","eloquence","eloquent","elsewhere","elude","elusive","elves","email","embargo","embark","embassy","embattled","embellish","ember","embezzle","emblaze","emblem","embody","embolism","emboss","embroider","emcee","emerald","emergency","emission","emit","emote","emoticon","emotion","empathic","empathy","emperor","emphases","emphasis","emphasize","emphatic","empirical","employed","employee","employer","emporium","empower","emptier","emptiness","empty","emu","enable","enactment","enamel","enchanted","enchilada","encircle","enclose","enclosure","encode","encore","encounter","encourage","encroach","encrust","encrypt","endanger","endeared","endearing","ended","ending","endless","endnote","endocrine","endorphin","endorse","endowment","endpoint","endurable","endurance","enduring","energetic","energize","energy","enforced","enforcer","engaged","engaging","engine","engorge","engraved","engraver","engraving","engross","engulf","enhance","enigmatic","enjoyable","enjoyably","enjoyer","enjoying","enjoyment","enlarged","enlarging","enlighten","enlisted","enquirer","enrage","enrich","enroll","enslave","ensnare","ensure","entail","entangled","entering","entertain","enticing","entire","entitle","entity","entomb","entourage","entrap","entree","entrench","entrust","entryway","entwine","enunciate","envelope","enviable","enviably","envious","envision","envoy","envy","enzyme","epic","epidemic","epidermal","epidermis","epidural","epilepsy","epileptic","epilogue","epiphany","episode","equal","equate","equation","equator","equinox","equipment","equity","equivocal","eradicate","erasable","erased","eraser","erasure","ergonomic","errand","errant","erratic","error","erupt","escalate","escalator","escapable","escapade","escapist","escargot","eskimo","esophagus","espionage","espresso","esquire","essay","essence","essential","establish","estate","esteemed","estimate","estimator","estranged","estrogen","etching","eternal","eternity","ethanol","ether","ethically","ethics","euphemism","evacuate","evacuee","evade","evaluate","evaluator","evaporate","evasion","evasive","even","everglade","evergreen","everybody","everyday","everyone","evict","evidence","evident","evil","evoke","evolution","evolve","exact","exalted","example","excavate","excavator","exceeding","exception","excess","exchange","excitable","exciting","exclaim","exclude","excluding","exclusion","exclusive","excretion","excretory","excursion","excusable","excusably","excuse","exemplary","exemplify","exemption","exerciser","exert","exes","exfoliate","exhale","exhaust","exhume","exile","existing","exit","exodus","exonerate","exorcism","exorcist","expand","expanse","expansion","expansive","expectant","expedited","expediter","expel","expend","expenses","expensive","expert","expire","expiring","explain","expletive","explicit","explode","exploit","explore","exploring","exponent","exporter","exposable","expose","exposure","express","expulsion","exquisite","extended","extending","extent","extenuate","exterior","external","extinct","extortion","extradite","extras","extrovert","extrude","extruding","exuberant","fable","fabric","fabulous","facebook","facecloth","facedown","faceless","facelift","faceplate","faceted","facial","facility","facing","facsimile","faction","factoid","factor","factsheet","factual","faculty","fade","fading","failing","falcon","fall","false","falsify","fame","familiar","family","famine","famished","fanatic","fancied","fanciness","fancy","fanfare","fang","fanning","fantasize","fantastic","fantasy","fascism","fastball","faster","fasting","fastness","faucet","favorable","favorably","favored","favoring","favorite","fax","feast","federal","fedora","feeble","feed","feel","feisty","feline","felt-tip","feminine","feminism","feminist","feminize","femur","fence","fencing","fender","ferment","fernlike","ferocious","ferocity","ferret","ferris","ferry","fervor","fester","festival","festive","festivity","fetal","fetch","fever","fiber","fiction","fiddle","fiddling","fidelity","fidgeting","fidgety","fifteen","fifth","fiftieth","fifty","figment","figure","figurine","filing","filled","filler","filling","film","filter","filth","filtrate","finale","finalist","finalize","finally","finance","financial","finch","fineness","finer","finicky","finished","finisher","finishing","finite","finless","finlike","fiscally","fit","five","flaccid","flagman","flagpole","flagship","flagstick","flagstone","flail","flakily","flaky","flame","flammable","flanked","flanking","flannels","flap","flaring","flashback","flashbulb","flashcard","flashily","flashing","flashy","flask","flatbed","flatfoot","flatly","flatness","flatten","flattered","flatterer","flattery","flattop","flatware","flatworm","flavored","flavorful","flavoring","flaxseed","fled","fleshed","fleshy","flick","flier","flight","flinch","fling","flint","flip","flirt","float","flock","flogging","flop","floral","florist","floss","flounder","flyable","flyaway","flyer","flying","flyover","flypaper","foam","foe","fog","foil","folic","folk","follicle","follow","fondling","fondly","fondness","fondue","font","food","fool","footage","football","footbath","footboard","footer","footgear","foothill","foothold","footing","footless","footman","footnote","footpad","footpath","footprint","footrest","footsie","footsore","footwear","footwork","fossil","foster","founder","founding","fountain","fox","foyer","fraction","fracture","fragile","fragility","fragment","fragrance","fragrant","frail","frame","framing","frantic","fraternal","frayed","fraying","frays","freckled","freckles","freebase","freebee","freebie","freedom","freefall","freehand","freeing","freeload","freely","freemason","freeness","freestyle","freeware","freeway","freewill","freezable","freezing","freight","french","frenzied","frenzy","frequency","frequent","fresh","fretful","fretted","friction","friday","fridge","fried","friend","frighten","frightful","frigidity","frigidly","frill","fringe","frisbee","frisk","fritter","frivolous","frolic","from","front","frostbite","frosted","frostily","frosting","frostlike","frosty","froth","frown","frozen","fructose","frugality","frugally","fruit","frustrate","frying","gab","gaffe","gag","gainfully","gaining","gains","gala","gallantly","galleria","gallery","galley","gallon","gallows","gallstone","galore","galvanize","gambling","game","gaming","gamma","gander","gangly","gangrene","gangway","gap","garage","garbage","garden","gargle","garland","garlic","garment","garnet","garnish","garter","gas","gatherer","gathering","gating","gauging","gauntlet","gauze","gave","gawk","gazing","gear","gecko","geek","geiger","gem","gender","generic","generous","genetics","genre","gentile","gentleman","gently","gents","geography","geologic","geologist","geology","geometric","geometry","geranium","gerbil","geriatric","germicide","germinate","germless","germproof","gestate","gestation","gesture","getaway","getting","getup","giant","gibberish","giblet","giddily","giddiness","giddy","gift","gigabyte","gigahertz","gigantic","giggle","giggling","giggly","gigolo","gilled","gills","gimmick","girdle","giveaway","given","giver","giving","gizmo","gizzard","glacial","glacier","glade","gladiator","gladly","glamorous","glamour","glance","glancing","glandular","glare","glaring","glass","glaucoma","glazing","gleaming","gleeful","glider","gliding","glimmer","glimpse","glisten","glitch","glitter","glitzy","gloater","gloating","gloomily","gloomy","glorified","glorifier","glorify","glorious","glory","gloss","glove","glowing","glowworm","glucose","glue","gluten","glutinous","glutton","gnarly","gnat","goal","goatskin","goes","goggles","going","goldfish","goldmine","goldsmith","golf","goliath","gonad","gondola","gone","gong","good","gooey","goofball","goofiness","goofy","google","goon","gopher","gore","gorged","gorgeous","gory","gosling","gossip","gothic","gotten","gout","gown","grab","graceful","graceless","gracious","gradation","graded","grader","gradient","grading","gradually","graduate","graffiti","grafted","grafting","grain","granddad","grandkid","grandly","grandma","grandpa","grandson","granite","granny","granola","grant","granular","grape","graph","grapple","grappling","grasp","grass","gratified","gratify","grating","gratitude","gratuity","gravel","graveness","graves","graveyard","gravitate","gravity","gravy","gray","grazing","greasily","greedily","greedless","greedy","green","greeter","greeting","grew","greyhound","grid","grief","grievance","grieving","grievous","grill","grimace","grimacing","grime","griminess","grimy","grinch","grinning","grip","gristle","grit","groggily","groggy","groin","groom","groove","grooving","groovy","grope","ground","grouped","grout","grove","grower","growing","growl","grub","grudge","grudging","grueling","gruffly","grumble","grumbling","grumbly","grumpily","grunge","grunt","guacamole","guidable","guidance","guide","guiding","guileless","guise","gulf","gullible","gully","gulp","gumball","gumdrop","gumminess","gumming","gummy","gurgle","gurgling","guru","gush","gusto","gusty","gutless","guts","gutter","guy","guzzler","gyration","habitable","habitant","habitat","habitual","hacked","hacker","hacking","hacksaw","had","haggler","haiku","half","halogen","halt","halved","halves","hamburger","hamlet","hammock","hamper","hamster","hamstring","handbag","handball","handbook","handbrake","handcart","handclap","handclasp","handcraft","handcuff","handed","handful","handgrip","handgun","handheld","handiness","handiwork","handlebar","handled","handler","handling","handmade","handoff","handpick","handprint","handrail","handsaw","handset","handsfree","handshake","handstand","handwash","handwork","handwoven","handwrite","handyman","hangnail","hangout","hangover","hangup","hankering","hankie","hanky","haphazard","happening","happier","happiest","happily","happiness","happy","harbor","hardcopy","hardcore","hardcover","harddisk","hardened","hardener","hardening","hardhat","hardhead","hardiness","hardly","hardness","hardship","hardware","hardwired","hardwood","hardy","harmful","harmless","harmonica","harmonics","harmonize","harmony","harness","harpist","harsh","harvest","hash","hassle","haste","hastily","hastiness","hasty","hatbox","hatchback","hatchery","hatchet","hatching","hatchling","hate","hatless","hatred","haunt","haven","hazard","hazelnut","hazily","haziness","hazing","hazy","headache","headband","headboard","headcount","headdress","headed","header","headfirst","headgear","heading","headlamp","headless","headlock","headphone","headpiece","headrest","headroom","headscarf","headset","headsman","headstand","headstone","headway","headwear","heap","heat","heave","heavily","heaviness","heaving","hedge","hedging","heftiness","hefty","helium","helmet","helper","helpful","helping","helpless","helpline","hemlock","hemstitch","hence","henchman","henna","herald","herbal","herbicide","herbs","heritage","hermit","heroics","heroism","herring","herself","hertz","hesitancy","hesitant","hesitate","hexagon","hexagram","hubcap","huddle","huddling","huff","hug","hula","hulk","hull","human","humble","humbling","humbly","humid","humiliate","humility","humming","hummus","humongous","humorist","humorless","humorous","humpback","humped","humvee","hunchback","hundredth","hunger","hungrily","hungry","hunk","hunter","hunting","huntress","huntsman","hurdle","hurled","hurler","hurling","hurray","hurricane","hurried","hurry","hurt","husband","hush","husked","huskiness","hut","hybrid","hydrant","hydrated","hydration","hydrogen","hydroxide","hyperlink","hypertext","hyphen","hypnoses","hypnosis","hypnotic","hypnotism","hypnotist","hypnotize","hypocrisy","hypocrite","ibuprofen","ice","iciness","icing","icky","icon","icy","idealism","idealist","idealize","ideally","idealness","identical","identify","identity","ideology","idiocy","idiom","idly","igloo","ignition","ignore","iguana","illicitly","illusion","illusive","image","imaginary","imagines","imaging","imbecile","imitate","imitation","immature","immerse","immersion","imminent","immobile","immodest","immorally","immortal","immovable","immovably","immunity","immunize","impaired","impale","impart","impatient","impeach","impeding","impending","imperfect","imperial","impish","implant","implement","implicate","implicit","implode","implosion","implosive","imply","impolite","important","importer","impose","imposing","impotence","impotency","impotent","impound","imprecise","imprint","imprison","impromptu","improper","improve","improving","improvise","imprudent","impulse","impulsive","impure","impurity","iodine","iodize","ion","ipad","iphone","ipod","irate","irk","iron","irregular","irrigate","irritable","irritably","irritant","irritate","islamic","islamist","isolated","isolating","isolation","isotope","issue","issuing","italicize","italics","item","itinerary","itunes","ivory","ivy","jab","jackal","jacket","jackknife","jackpot","jailbird","jailbreak","jailer","jailhouse","jalapeno","jam","janitor","january","jargon","jarring","jasmine","jaundice","jaunt","java","jawed","jawless","jawline","jaws","jaybird","jaywalker","jazz","jeep","jeeringly","jellied","jelly","jersey","jester","jet","jiffy","jigsaw","jimmy","jingle","jingling","jinx","jitters","jittery","job","jockey","jockstrap","jogger","jogging","john","joining","jokester","jokingly","jolliness","jolly","jolt","jot","jovial","joyfully","joylessly","joyous","joyride","joystick","jubilance","jubilant","judge","judgingly","judicial","judiciary","judo","juggle","juggling","jugular","juice","juiciness","juicy","jujitsu","jukebox","july","jumble","jumbo","jump","junction","juncture","june","junior","juniper","junkie","junkman","junkyard","jurist","juror","jury","justice","justifier","justify","justly","justness","juvenile","kabob","kangaroo","karaoke","karate","karma","kebab","keenly","keenness","keep","keg","kelp","kennel","kept","kerchief","kerosene","kettle","kick","kiln","kilobyte","kilogram","kilometer","kilowatt","kilt","kimono","kindle","kindling","kindly","kindness","kindred","kinetic","kinfolk","king","kinship","kinsman","kinswoman","kissable","kisser","kissing","kitchen","kite","kitten","kitty","kiwi","kleenex","knapsack","knee","knelt","knickers","knoll","koala","kooky","kosher","krypton","kudos","kung","labored","laborer","laboring","laborious","labrador","ladder","ladies","ladle","ladybug","ladylike","lagged","lagging","lagoon","lair","lake","lance","landed","landfall","landfill","landing","landlady","landless","landline","landlord","landmark","landmass","landmine","landowner","landscape","landside","landslide","language","lankiness","lanky","lantern","lapdog","lapel","lapped","lapping","laptop","lard","large","lark","lash","lasso","last","latch","late","lather","latitude","latrine","latter","latticed","launch","launder","laundry","laurel","lavender","lavish","laxative","lazily","laziness","lazy","lecturer","left","legacy","legal","legend","legged","leggings","legible","legibly","legislate","lego","legroom","legume","legwarmer","legwork","lemon","lend","length","lens","lent","leotard","lesser","letdown","lethargic","lethargy","letter","lettuce","level","leverage","levers","levitate","levitator","liability","liable","liberty","librarian","library","licking","licorice","lid","life","lifter","lifting","liftoff","ligament","likely","likeness","likewise","liking","lilac","lilly","lily","limb","limeade","limelight","limes","limit","limping","limpness","line","lingo","linguini","linguist","lining","linked","linoleum","linseed","lint","lion","lip","liquefy","liqueur","liquid","lisp","list","litigate","litigator","litmus","litter","little","livable","lived","lively","liver","livestock","lividly","living","lizard","lubricant","lubricate","lucid","luckily","luckiness","luckless","lucrative","ludicrous","lugged","lukewarm","lullaby","lumber","luminance","luminous","lumpiness","lumping","lumpish","lunacy","lunar","lunchbox","luncheon","lunchroom","lunchtime","lung","lurch","lure","luridness","lurk","lushly","lushness","luster","lustfully","lustily","lustiness","lustrous","lusty","luxurious","luxury","lying","lyrically","lyricism","lyricist","lyrics","macarena","macaroni","macaw","mace","machine","machinist","magazine","magenta","maggot","magical","magician","magma","magnesium","magnetic","magnetism","magnetize","magnifier","magnify","magnitude","magnolia","mahogany","maimed","majestic","majesty","majorette","majority","makeover","maker","makeshift","making","malformed","malt","mama","mammal","mammary","mammogram","manager","managing","manatee","mandarin","mandate","mandatory","mandolin","manger","mangle","mango","mangy","manhandle","manhole","manhood","manhunt","manicotti","manicure","manifesto","manila","mankind","manlike","manliness","manly","manmade","manned","mannish","manor","manpower","mantis","mantra","manual","many","map","marathon","marauding","marbled","marbles","marbling","march","mardi","margarine","margarita","margin","marigold","marina","marine","marital","maritime","marlin","marmalade","maroon","married","marrow","marry","marshland","marshy","marsupial","marvelous","marxism","mascot","masculine","mashed","mashing","massager","masses","massive","mastiff","matador","matchbook","matchbox","matcher","matching","matchless","material","maternal","maternity","math","mating","matriarch","matrimony","matrix","matron","matted","matter","maturely","maturing","maturity","mauve","maverick","maximize","maximum","maybe","mayday","mayflower","moaner","moaning","mobile","mobility","mobilize","mobster","mocha","mocker","mockup","modified","modify","modular","modulator","module","moisten","moistness","moisture","molar","molasses","mold","molecular","molecule","molehill","mollusk","mom","monastery","monday","monetary","monetize","moneybags","moneyless","moneywise","mongoose","mongrel","monitor","monkhood","monogamy","monogram","monologue","monopoly","monorail","monotone","monotype","monoxide","monsieur","monsoon","monstrous","monthly","monument","moocher","moodiness","moody","mooing","moonbeam","mooned","moonlight","moonlike","moonlit","moonrise","moonscape","moonshine","moonstone","moonwalk","mop","morale","morality","morally","morbidity","morbidly","morphine","morphing","morse","mortality","mortally","mortician","mortified","mortify","mortuary","mosaic","mossy","most","mothball","mothproof","motion","motivate","motivator","motive","motocross","motor","motto","mountable","mountain","mounted","mounting","mourner","mournful","mouse","mousiness","moustache","mousy","mouth","movable","move","movie","moving","mower","mowing","much","muck","mud","mug","mulberry","mulch","mule","mulled","mullets","multiple","multiply","multitask","multitude","mumble","mumbling","mumbo","mummified","mummify","mummy","mumps","munchkin","mundane","municipal","muppet","mural","murkiness","murky","murmuring","muscular","museum","mushily","mushiness","mushroom","mushy","music","musket","muskiness","musky","mustang","mustard","muster","mustiness","musty","mutable","mutate","mutation","mute","mutilated","mutilator","mutiny","mutt","mutual","muzzle","myself","myspace","mystified","mystify","myth","nacho","nag","nail","name","naming","nanny","nanometer","nape","napkin","napped","napping","nappy","narrow","nastily","nastiness","national","native","nativity","natural","nature","naturist","nautical","navigate","navigator","navy","nearby","nearest","nearly","nearness","neatly","neatness","nebula","nebulizer","nectar","negate","negation","negative","neglector","negligee","negligent","negotiate","nemeses","nemesis","neon","nephew","nerd","nervous","nervy","nest","net","neurology","neuron","neurosis","neurotic","neuter","neutron","never","next","nibble","nickname","nicotine","niece","nifty","nimble","nimbly","nineteen","ninetieth","ninja","nintendo","ninth","nuclear","nuclei","nucleus","nugget","nullify","number","numbing","numbly","numbness","numeral","numerate","numerator","numeric","numerous","nuptials","nursery","nursing","nurture","nutcase","nutlike","nutmeg","nutrient","nutshell","nuttiness","nutty","nuzzle","nylon","oaf","oak","oasis","oat","obedience","obedient","obituary","object","obligate","obliged","oblivion","oblivious","oblong","obnoxious","oboe","obscure","obscurity","observant","observer","observing","obsessed","obsession","obsessive","obsolete","obstacle","obstinate","obstruct","obtain","obtrusive","obtuse","obvious","occultist","occupancy","occupant","occupier","occupy","ocean","ocelot","octagon","octane","october","octopus","ogle","oil","oink","ointment","okay","old","olive","olympics","omega","omen","ominous","omission","omit","omnivore","onboard","oncoming","ongoing","onion","online","onlooker","only","onscreen","onset","onshore","onslaught","onstage","onto","onward","onyx","oops","ooze","oozy","opacity","opal","open","operable","operate","operating","operation","operative","operator","opium","opossum","opponent","oppose","opposing","opposite","oppressed","oppressor","opt","opulently","osmosis","other","otter","ouch","ought","ounce","outage","outback","outbid","outboard","outbound","outbreak","outburst","outcast","outclass","outcome","outdated","outdoors","outer","outfield","outfit","outflank","outgoing","outgrow","outhouse","outing","outlast","outlet","outline","outlook","outlying","outmatch","outmost","outnumber","outplayed","outpost","outpour","output","outrage","outrank","outreach","outright","outscore","outsell","outshine","outshoot","outsider","outskirts","outsmart","outsource","outspoken","outtakes","outthink","outward","outweigh","outwit","oval","ovary","oven","overact","overall","overarch","overbid","overbill","overbite","overblown","overboard","overbook","overbuilt","overcast","overcoat","overcome","overcook","overcrowd","overdraft","overdrawn","overdress","overdrive","overdue","overeager","overeater","overexert","overfed","overfeed","overfill","overflow","overfull","overgrown","overhand","overhang","overhaul","overhead","overhear","overheat","overhung","overjoyed","overkill","overlabor","overlaid","overlap","overlay","overload","overlook","overlord","overlying","overnight","overpass","overpay","overplant","overplay","overpower","overprice","overrate","overreach","overreact","override","overripe","overrule","overrun","overshoot","overshot","oversight","oversized","oversleep","oversold","overspend","overstate","overstay","overstep","overstock","overstuff","oversweet","overtake","overthrow","overtime","overtly","overtone","overture","overturn","overuse","overvalue","overview","overwrite","owl","oxford","oxidant","oxidation","oxidize","oxidizing","oxygen","oxymoron","oyster","ozone","paced","pacemaker","pacific","pacifier","pacifism","pacifist","pacify","padded","padding","paddle","paddling","padlock","pagan","pager","paging","pajamas","palace","palatable","palm","palpable","palpitate","paltry","pampered","pamperer","pampers","pamphlet","panama","pancake","pancreas","panda","pandemic","pang","panhandle","panic","panning","panorama","panoramic","panther","pantomime","pantry","pants","pantyhose","paparazzi","papaya","paper","paprika","papyrus","parabola","parachute","parade","paradox","paragraph","parakeet","paralegal","paralyses","paralysis","paralyze","paramedic","parameter","paramount","parasail","parasite","parasitic","parcel","parched","parchment","pardon","parish","parka","parking","parkway","parlor","parmesan","parole","parrot","parsley","parsnip","partake","parted","parting","partition","partly","partner","partridge","party","passable","passably","passage","passcode","passenger","passerby","passing","passion","passive","passivism","passover","passport","password","pasta","pasted","pastel","pastime","pastor","pastrami","pasture","pasty","patchwork","patchy","paternal","paternity","path","patience","patient","patio","patriarch","patriot","patrol","patronage","patronize","pauper","pavement","paver","pavestone","pavilion","paving","pawing","payable","payback","paycheck","payday","payee","payer","paying","payment","payphone","payroll","pebble","pebbly","pecan","pectin","peculiar","peddling","pediatric","pedicure","pedigree","pedometer","pegboard","pelican","pellet","pelt","pelvis","penalize","penalty","pencil","pendant","pending","penholder","penknife","pennant","penniless","penny","penpal","pension","pentagon","pentagram","pep","perceive","percent","perch","percolate","perennial","perfected","perfectly","perfume","periscope","perish","perjurer","perjury","perkiness","perky","perm","peroxide","perpetual","perplexed","persecute","persevere","persuaded","persuader","pesky","peso","pessimism","pessimist","pester","pesticide","petal","petite","petition","petri","petroleum","petted","petticoat","pettiness","petty","petunia","phantom","phobia","phoenix","phonebook","phoney","phonics","phoniness","phony","phosphate","photo","phrase","phrasing","placard","placate","placidly","plank","planner","plant","plasma","plaster","plastic","plated","platform","plating","platinum","platonic","platter","platypus","plausible","plausibly","playable","playback","player","playful","playgroup","playhouse","playing","playlist","playmaker","playmate","playoff","playpen","playroom","playset","plaything","playtime","plaza","pleading","pleat","pledge","plentiful","plenty","plethora","plexiglas","pliable","plod","plop","plot","plow","ploy","pluck","plug","plunder","plunging","plural","plus","plutonium","plywood","poach","pod","poem","poet","pogo","pointed","pointer","pointing","pointless","pointy","poise","poison","poker","poking","polar","police","policy","polio","polish","politely","polka","polo","polyester","polygon","polygraph","polymer","poncho","pond","pony","popcorn","pope","poplar","popper","poppy","popsicle","populace","popular","populate","porcupine","pork","porous","porridge","portable","portal","portfolio","porthole","portion","portly","portside","poser","posh","posing","possible","possibly","possum","postage","postal","postbox","postcard","posted","poster","posting","postnasal","posture","postwar","pouch","pounce","pouncing","pound","pouring","pout","powdered","powdering","powdery","power","powwow","pox","praising","prance","prancing","pranker","prankish","prankster","prayer","praying","preacher","preaching","preachy","preamble","precinct","precise","precision","precook","precut","predator","predefine","predict","preface","prefix","preflight","preformed","pregame","pregnancy","pregnant","preheated","prelaunch","prelaw","prelude","premiere","premises","premium","prenatal","preoccupy","preorder","prepaid","prepay","preplan","preppy","preschool","prescribe","preseason","preset","preshow","president","presoak","press","presume","presuming","preteen","pretended","pretender","pretense","pretext","pretty","pretzel","prevail","prevalent","prevent","preview","previous","prewar","prewashed","prideful","pried","primal","primarily","primary","primate","primer","primp","princess","print","prior","prism","prison","prissy","pristine","privacy","private","privatize","prize","proactive","probable","probably","probation","probe","probing","probiotic","problem","procedure","process","proclaim","procreate","procurer","prodigal","prodigy","produce","product","profane","profanity","professed","professor","profile","profound","profusely","progeny","prognosis","program","progress","projector","prologue","prolonged","promenade","prominent","promoter","promotion","prompter","promptly","prone","prong","pronounce","pronto","proofing","proofread","proofs","propeller","properly","property","proponent","proposal","propose","props","prorate","protector","protegee","proton","prototype","protozoan","protract","protrude","proud","provable","proved","proven","provided","provider","providing","province","proving","provoke","provoking","provolone","prowess","prowler","prowling","proximity","proxy","prozac","prude","prudishly","prune","pruning","pry","psychic","public","publisher","pucker","pueblo","pug","pull","pulmonary","pulp","pulsate","pulse","pulverize","puma","pumice","pummel","punch","punctual","punctuate","punctured","pungent","punisher","punk","pupil","puppet","puppy","purchase","pureblood","purebred","purely","pureness","purgatory","purge","purging","purifier","purify","purist","puritan","purity","purple","purplish","purposely","purr","purse","pursuable","pursuant","pursuit","purveyor","pushcart","pushchair","pusher","pushiness","pushing","pushover","pushpin","pushup","pushy","putdown","putt","puzzle","puzzling","pyramid","pyromania","python","quack","quadrant","quail","quaintly","quake","quaking","qualified","qualifier","qualify","quality","qualm","quantum","quarrel","quarry","quartered","quarterly","quarters","quartet","quench","query","quicken","quickly","quickness","quicksand","quickstep","quiet","quill","quilt","quintet","quintuple","quirk","quit","quiver","quizzical","quotable","quotation","quote","rabid","race","racing","racism","rack","racoon","radar","radial","radiance","radiantly","radiated","radiation","radiator","radio","radish","raffle","raft","rage","ragged","raging","ragweed","raider","railcar","railing","railroad","railway","raisin","rake","raking","rally","ramble","rambling","ramp","ramrod","ranch","rancidity","random","ranged","ranger","ranging","ranked","ranking","ransack","ranting","rants","rare","rarity","rascal","rash","rasping","ravage","raven","ravine","raving","ravioli","ravishing","reabsorb","reach","reacquire","reaction","reactive","reactor","reaffirm","ream","reanalyze","reappear","reapply","reappoint","reapprove","rearrange","rearview","reason","reassign","reassure","reattach","reawake","rebalance","rebate","rebel","rebirth","reboot","reborn","rebound","rebuff","rebuild","rebuilt","reburial","rebuttal","recall","recant","recapture","recast","recede","recent","recess","recharger","recipient","recital","recite","reckless","reclaim","recliner","reclining","recluse","reclusive","recognize","recoil","recollect","recolor","reconcile","reconfirm","reconvene","recopy","record","recount","recoup","recovery","recreate","rectal","rectangle","rectified","rectify","recycled","recycler","recycling","reemerge","reenact","reenter","reentry","reexamine","referable","referee","reference","refill","refinance","refined","refinery","refining","refinish","reflected","reflector","reflex","reflux","refocus","refold","reforest","reformat","reformed","reformer","reformist","refract","refrain","refreeze","refresh","refried","refueling","refund","refurbish","refurnish","refusal","refuse","refusing","refutable","refute","regain","regalia","regally","reggae","regime","region","register","registrar","registry","regress","regretful","regroup","regular","regulate","regulator","rehab","reheat","rehire","rehydrate","reimburse","reissue","reiterate","rejoice","rejoicing","rejoin","rekindle","relapse","relapsing","relatable","related","relation","relative","relax","relay","relearn","release","relenting","reliable","reliably","reliance","reliant","relic","relieve","relieving","relight","relish","relive","reload","relocate","relock","reluctant","rely","remake","remark","remarry","rematch","remedial","remedy","remember","reminder","remindful","remission","remix","remnant","remodeler","remold","remorse","remote","removable","removal","removed","remover","removing","rename","renderer","rendering","rendition","renegade","renewable","renewably","renewal","renewed","renounce","renovate","renovator","rentable","rental","rented","renter","reoccupy","reoccur","reopen","reorder","repackage","repacking","repaint","repair","repave","repaying","repayment","repeal","repeated","repeater","repent","rephrase","replace","replay","replica","reply","reporter","repose","repossess","repost","repressed","reprimand","reprint","reprise","reproach","reprocess","reproduce","reprogram","reps","reptile","reptilian","repugnant","repulsion","repulsive","repurpose","reputable","reputably","request","require","requisite","reroute","rerun","resale","resample","rescuer","reseal","research","reselect","reseller","resemble","resend","resent","reset","reshape","reshoot","reshuffle","residence","residency","resident","residual","residue","resigned","resilient","resistant","resisting","resize","resolute","resolved","resonant","resonate","resort","resource","respect","resubmit","result","resume","resupply","resurface","resurrect","retail","retainer","retaining","retake","retaliate","retention","rethink","retinal","retired","retiree","retiring","retold","retool","retorted","retouch","retrace","retract","retrain","retread","retreat","retrial","retrieval","retriever","retry","return","retying","retype","reunion","reunite","reusable","reuse","reveal","reveler","revenge","revenue","reverb","revered","reverence","reverend","reversal","reverse","reversing","reversion","revert","revisable","revise","revision","revisit","revivable","revival","reviver","reviving","revocable","revoke","revolt","revolver","revolving","reward","rewash","rewind","rewire","reword","rework","rewrap","rewrite","rhyme","ribbon","ribcage","rice","riches","richly","richness","rickety","ricotta","riddance","ridden","ride","riding","rifling","rift","rigging","rigid","rigor","rimless","rimmed","rind","rink","rinse","rinsing","riot","ripcord","ripeness","ripening","ripping","ripple","rippling","riptide","rise","rising","risk","risotto","ritalin","ritzy","rival","riverbank","riverbed","riverboat","riverside","riveter","riveting","roamer","roaming","roast","robbing","robe","robin","robotics","robust","rockband","rocker","rocket","rockfish","rockiness","rocking","rocklike","rockslide","rockstar","rocky","rogue","roman","romp","rope","roping","roster","rosy","rotten","rotting","rotunda","roulette","rounding","roundish","roundness","roundup","roundworm","routine","routing","rover","roving","royal","rubbed","rubber","rubbing","rubble","rubdown","ruby","ruckus","rudder","rug","ruined","rule","rumble","rumbling","rummage","rumor","runaround","rundown","runner","running","runny","runt","runway","rupture","rural","ruse","rush","rust","rut","sabbath","sabotage","sacrament","sacred","sacrifice","sadden","saddlebag","saddled","saddling","sadly","sadness","safari","safeguard","safehouse","safely","safeness","saffron","saga","sage","sagging","saggy","said","saint","sake","salad","salami","salaried","salary","saline","salon","saloon","salsa","salt","salutary","salute","salvage","salvaging","salvation","same","sample","sampling","sanction","sanctity","sanctuary","sandal","sandbag","sandbank","sandbar","sandblast","sandbox","sanded","sandfish","sanding","sandlot","sandpaper","sandpit","sandstone","sandstorm","sandworm","sandy","sanitary","sanitizer","sank","santa","sapling","sappiness","sappy","sarcasm","sarcastic","sardine","sash","sasquatch","sassy","satchel","satiable","satin","satirical","satisfied","satisfy","saturate","saturday","sauciness","saucy","sauna","savage","savanna","saved","savings","savior","savor","saxophone","say","scabbed","scabby","scalded","scalding","scale","scaling","scallion","scallop","scalping","scam","scandal","scanner","scanning","scant","scapegoat","scarce","scarcity","scarecrow","scared","scarf","scarily","scariness","scarring","scary","scavenger","scenic","schedule","schematic","scheme","scheming","schilling","schnapps","scholar","science","scientist","scion","scoff","scolding","scone","scoop","scooter","scope","scorch","scorebook","scorecard","scored","scoreless","scorer","scoring","scorn","scorpion","scotch","scoundrel","scoured","scouring","scouting","scouts","scowling","scrabble","scraggly","scrambled","scrambler","scrap","scratch","scrawny","screen","scribble","scribe","scribing","scrimmage","script","scroll","scrooge","scrounger","scrubbed","scrubber","scruffy","scrunch","scrutiny","scuba","scuff","sculptor","sculpture","scurvy","scuttle","secluded","secluding","seclusion","second","secrecy","secret","sectional","sector","secular","securely","security","sedan","sedate","sedation","sedative","sediment","seduce","seducing","segment","seismic","seizing","seldom","selected","selection","selective","selector","self","seltzer","semantic","semester","semicolon","semifinal","seminar","semisoft","semisweet","senate","senator","send","senior","senorita","sensation","sensitive","sensitize","sensually","sensuous","sepia","september","septic","septum","sequel","sequence","sequester","series","sermon","serotonin","serpent","serrated","serve","service","serving","sesame","sessions","setback","setting","settle","settling","setup","sevenfold","seventeen","seventh","seventy","severity","shabby","shack","shaded","shadily","shadiness","shading","shadow","shady","shaft","shakable","shakily","shakiness","shaking","shaky","shale","shallot","shallow","shame","shampoo","shamrock","shank","shanty","shape","shaping","share","sharpener","sharper","sharpie","sharply","sharpness","shawl","sheath","shed","sheep","sheet","shelf","shell","shelter","shelve","shelving","sherry","shield","shifter","shifting","shiftless","shifty","shimmer","shimmy","shindig","shine","shingle","shininess","shining","shiny","ship","shirt","shivering","shock","shone","shoplift","shopper","shopping","shoptalk","shore","shortage","shortcake","shortcut","shorten","shorter","shorthand","shortlist","shortly","shortness","shorts","shortwave","shorty","shout","shove","showbiz","showcase","showdown","shower","showgirl","showing","showman","shown","showoff","showpiece","showplace","showroom","showy","shrank","shrapnel","shredder","shredding","shrewdly","shriek","shrill","shrimp","shrine","shrink","shrivel","shrouded","shrubbery","shrubs","shrug","shrunk","shucking","shudder","shuffle","shuffling","shun","shush","shut","shy","siamese","siberian","sibling","siding","sierra","siesta","sift","sighing","silenced","silencer","silent","silica","silicon","silk","silliness","silly","silo","silt","silver","similarly","simile","simmering","simple","simplify","simply","sincere","sincerity","singer","singing","single","singular","sinister","sinless","sinner","sinuous","sip","siren","sister","sitcom","sitter","sitting","situated","situation","sixfold","sixteen","sixth","sixties","sixtieth","sixtyfold","sizable","sizably","size","sizing","sizzle","sizzling","skater","skating","skedaddle","skeletal","skeleton","skeptic","sketch","skewed","skewer","skid","skied","skier","skies","skiing","skilled","skillet","skillful","skimmed","skimmer","skimming","skimpily","skincare","skinhead","skinless","skinning","skinny","skintight","skipper","skipping","skirmish","skirt","skittle","skydiver","skylight","skyline","skype","skyrocket","skyward","slab","slacked","slacker","slacking","slackness","slacks","slain","slam","slander","slang","slapping","slapstick","slashed","slashing","slate","slather","slaw","sled","sleek","sleep","sleet","sleeve","slept","sliceable","sliced","slicer","slicing","slick","slider","slideshow","sliding","slighted","slighting","slightly","slimness","slimy","slinging","slingshot","slinky","slip","slit","sliver","slobbery","slogan","sloped","sloping","sloppily","sloppy","slot","slouching","slouchy","sludge","slug","slum","slurp","slush","sly","small","smartly","smartness","smasher","smashing","smashup","smell","smelting","smile","smilingly","smirk","smite","smith","smitten","smock","smog","smoked","smokeless","smokiness","smoking","smoky","smolder","smooth","smother","smudge","smudgy","smuggler","smuggling","smugly","smugness","snack","snagged","snaking","snap","snare","snarl","snazzy","sneak","sneer","sneeze","sneezing","snide","sniff","snippet","snipping","snitch","snooper","snooze","snore","snoring","snorkel","snort","snout","snowbird","snowboard","snowbound","snowcap","snowdrift","snowdrop","snowfall","snowfield","snowflake","snowiness","snowless","snowman","snowplow","snowshoe","snowstorm","snowsuit","snowy","snub","snuff","snuggle","snugly","snugness","speak","spearfish","spearhead","spearman","spearmint","species","specimen","specked","speckled","specks","spectacle","spectator","spectrum","speculate","speech","speed","spellbind","speller","spelling","spendable","spender","spending","spent","spew","sphere","spherical","sphinx","spider","spied","spiffy","spill","spilt","spinach","spinal","spindle","spinner","spinning","spinout","spinster","spiny","spiral","spirited","spiritism","spirits","spiritual","splashed","splashing","splashy","splatter","spleen","splendid","splendor","splice","splicing","splinter","splotchy","splurge","spoilage","spoiled","spoiler","spoiling","spoils","spoken","spokesman","sponge","spongy","sponsor","spoof","spookily","spooky","spool","spoon","spore","sporting","sports","sporty","spotless","spotlight","spotted","spotter","spotting","spotty","spousal","spouse","spout","sprain","sprang","sprawl","spray","spree","sprig","spring","sprinkled","sprinkler","sprint","sprite","sprout","spruce","sprung","spry","spud","spur","sputter","spyglass","squabble","squad","squall","squander","squash","squatted","squatter","squatting","squeak","squealer","squealing","squeamish","squeegee","squeeze","squeezing","squid","squiggle","squiggly","squint","squire","squirt","squishier","squishy","stability","stabilize","stable","stack","stadium","staff","stage","staging","stagnant","stagnate","stainable","stained","staining","stainless","stalemate","staleness","stalling","stallion","stamina","stammer","stamp","stand","stank","staple","stapling","starboard","starch","stardom","stardust","starfish","stargazer","staring","stark","starless","starlet","starlight","starlit","starring","starry","starship","starter","starting","startle","startling","startup","starved","starving","stash","state","static","statistic","statue","stature","status","statute","statutory","staunch","stays","steadfast","steadier","steadily","steadying","steam","steed","steep","steerable","steering","steersman","stegosaur","stellar","stem","stench","stencil","step","stereo","sterile","sterility","sterilize","sterling","sternness","sternum","stew","stick","stiffen","stiffly","stiffness","stifle","stifling","stillness","stilt","stimulant","stimulate","stimuli","stimulus","stinger","stingily","stinging","stingray","stingy","stinking","stinky","stipend","stipulate","stir","stitch","stock","stoic","stoke","stole","stomp","stonewall","stoneware","stonework","stoning","stony","stood","stooge","stool","stoop","stoplight","stoppable","stoppage","stopped","stopper","stopping","stopwatch","storable","storage","storeroom","storewide","storm","stout","stove","stowaway","stowing","straddle","straggler","strained","strainer","straining","strangely","stranger","strangle","strategic","strategy","stratus","straw","stray","streak","stream","street","strength","strenuous","strep","stress","stretch","strewn","stricken","strict","stride","strife","strike","striking","strive","striving","strobe","strode","stroller","strongbox","strongly","strongman","struck","structure","strudel","struggle","strum","strung","strut","stubbed","stubble","stubbly","stubborn","stucco","stuck","student","studied","studio","study","stuffed","stuffing","stuffy","stumble","stumbling","stump","stung","stunned","stunner","stunning","stunt","stupor","sturdily","sturdy","styling","stylishly","stylist","stylized","stylus","suave","subarctic","subatomic","subdivide","subdued","subduing","subfloor","subgroup","subheader","subject","sublease","sublet","sublevel","sublime","submarine","submerge","submersed","submitter","subpanel","subpar","subplot","subprime","subscribe","subscript","subsector","subside","subsiding","subsidize","subsidy","subsoil","subsonic","substance","subsystem","subtext","subtitle","subtly","subtotal","subtract","subtype","suburb","subway","subwoofer","subzero","succulent","such","suction","sudden","sudoku","suds","sufferer","suffering","suffice","suffix","suffocate","suffrage","sugar","suggest","suing","suitable","suitably","suitcase","suitor","sulfate","sulfide","sulfite","sulfur","sulk","sullen","sulphate","sulphuric","sultry","superbowl","superglue","superhero","superior","superjet","superman","supermom","supernova","supervise","supper","supplier","supply","support","supremacy","supreme","surcharge","surely","sureness","surface","surfacing","surfboard","surfer","surgery","surgical","surging","surname","surpass","surplus","surprise","surreal","surrender","surrogate","surround","survey","survival","survive","surviving","survivor","sushi","suspect","suspend","suspense","sustained","sustainer","swab","swaddling","swagger","swampland","swan","swapping","swarm","sway","swear","sweat","sweep","swell","swept","swerve","swifter","swiftly","swiftness","swimmable","swimmer","swimming","swimsuit","swimwear","swinger","swinging","swipe","swirl","switch","swivel","swizzle","swooned","swoop","swoosh","swore","sworn","swung","sycamore","sympathy","symphonic","symphony","symptom","synapse","syndrome","synergy","synopses","synopsis","synthesis","synthetic","syrup","system","t-shirt","tabasco","tabby","tableful","tables","tablet","tableware","tabloid","tackiness","tacking","tackle","tackling","tacky","taco","tactful","tactical","tactics","tactile","tactless","tadpole","taekwondo","tag","tainted","take","taking","talcum","talisman","tall","talon","tamale","tameness","tamer","tamper","tank","tanned","tannery","tanning","tantrum","tapeless","tapered","tapering","tapestry","tapioca","tapping","taps","tarantula","target","tarmac","tarnish","tarot","tartar","tartly","tartness","task","tassel","taste","tastiness","tasting","tasty","tattered","tattle","tattling","tattoo","taunt","tavern","thank","that","thaw","theater","theatrics","thee","theft","theme","theology","theorize","thermal","thermos","thesaurus","these","thesis","thespian","thicken","thicket","thickness","thieving","thievish","thigh","thimble","thing","think","thinly","thinner","thinness","thinning","thirstily","thirsting","thirsty","thirteen","thirty","thong","thorn","those","thousand","thrash","thread","threaten","threefold","thrift","thrill","thrive","thriving","throat","throbbing","throng","throttle","throwaway","throwback","thrower","throwing","thud","thumb","thumping","thursday","thus","thwarting","thyself","tiara","tibia","tidal","tidbit","tidiness","tidings","tidy","tiger","tighten","tightly","tightness","tightrope","tightwad","tigress","tile","tiling","till","tilt","timid","timing","timothy","tinderbox","tinfoil","tingle","tingling","tingly","tinker","tinkling","tinsel","tinsmith","tint","tinwork","tiny","tipoff","tipped","tipper","tipping","tiptoeing","tiptop","tiring","tissue","trace","tracing","track","traction","tractor","trade","trading","tradition","traffic","tragedy","trailing","trailside","train","traitor","trance","tranquil","transfer","transform","translate","transpire","transport","transpose","trapdoor","trapeze","trapezoid","trapped","trapper","trapping","traps","trash","travel","traverse","travesty","tray","treachery","treading","treadmill","treason","treat","treble","tree","trekker","tremble","trembling","tremor","trench","trend","trespass","triage","trial","triangle","tribesman","tribunal","tribune","tributary","tribute","triceps","trickery","trickily","tricking","trickle","trickster","tricky","tricolor","tricycle","trident","tried","trifle","trifocals","trillion","trilogy","trimester","trimmer","trimming","trimness","trinity","trio","tripod","tripping","triumph","trivial","trodden","trolling","trombone","trophy","tropical","tropics","trouble","troubling","trough","trousers","trout","trowel","truce","truck","truffle","trump","trunks","trustable","trustee","trustful","trusting","trustless","truth","try","tubby","tubeless","tubular","tucking","tuesday","tug","tuition","tulip","tumble","tumbling","tummy","turban","turbine","turbofan","turbojet","turbulent","turf","turkey","turmoil","turret","turtle","tusk","tutor","tutu","tux","tweak","tweed","tweet","tweezers","twelve","twentieth","twenty","twerp","twice","twiddle","twiddling","twig","twilight","twine","twins","twirl","twistable","twisted","twister","twisting","twisty","twitch","twitter","tycoon","tying","tyke","udder","ultimate","ultimatum","ultra","umbilical","umbrella","umpire","unabashed","unable","unadorned","unadvised","unafraid","unaired","unaligned","unaltered","unarmored","unashamed","unaudited","unawake","unaware","unbaked","unbalance","unbeaten","unbend","unbent","unbiased","unbitten","unblended","unblessed","unblock","unbolted","unbounded","unboxed","unbraided","unbridle","unbroken","unbuckled","unbundle","unburned","unbutton","uncanny","uncapped","uncaring","uncertain","unchain","unchanged","uncharted","uncheck","uncivil","unclad","unclaimed","unclamped","unclasp","uncle","unclip","uncloak","unclog","unclothed","uncoated","uncoiled","uncolored","uncombed","uncommon","uncooked","uncork","uncorrupt","uncounted","uncouple","uncouth","uncover","uncross","uncrown","uncrushed","uncured","uncurious","uncurled","uncut","undamaged","undated","undaunted","undead","undecided","undefined","underage","underarm","undercoat","undercook","undercut","underdog","underdone","underfed","underfeed","underfoot","undergo","undergrad","underhand","underline","underling","undermine","undermost","underpaid","underpass","underpay","underrate","undertake","undertone","undertook","undertow","underuse","underwear","underwent","underwire","undesired","undiluted","undivided","undocked","undoing","undone","undrafted","undress","undrilled","undusted","undying","unearned","unearth","unease","uneasily","uneasy","uneatable","uneaten","unedited","unelected","unending","unengaged","unenvied","unequal","unethical","uneven","unexpired","unexposed","unfailing","unfair","unfasten","unfazed","unfeeling","unfiled","unfilled","unfitted","unfitting","unfixable","unfixed","unflawed","unfocused","unfold","unfounded","unframed","unfreeze","unfrosted","unfrozen","unfunded","unglazed","ungloved","unglue","ungodly","ungraded","ungreased","unguarded","unguided","unhappily","unhappy","unharmed","unhealthy","unheard","unhearing","unheated","unhelpful","unhidden","unhinge","unhitched","unholy","unhook","unicorn","unicycle","unified","unifier","uniformed","uniformly","unify","unimpeded","uninjured","uninstall","uninsured","uninvited","union","uniquely","unisexual","unison","unissued","unit","universal","universe","unjustly","unkempt","unkind","unknotted","unknowing","unknown","unlaced","unlatch","unlawful","unleaded","unlearned","unleash","unless","unleveled","unlighted","unlikable","unlimited","unlined","unlinked","unlisted","unlit","unlivable","unloaded","unloader","unlocked","unlocking","unlovable","unloved","unlovely","unloving","unluckily","unlucky","unmade","unmanaged","unmanned","unmapped","unmarked","unmasked","unmasking","unmatched","unmindful","unmixable","unmixed","unmolded","unmoral","unmovable","unmoved","unmoving","unnamable","unnamed","unnatural","unneeded","unnerve","unnerving","unnoticed","unopened","unopposed","unpack","unpadded","unpaid","unpainted","unpaired","unpaved","unpeeled","unpicked","unpiloted","unpinned","unplanned","unplanted","unpleased","unpledged","unplowed","unplug","unpopular","unproven","unquote","unranked","unrated","unraveled","unreached","unread","unreal","unreeling","unrefined","unrelated","unrented","unrest","unretired","unrevised","unrigged","unripe","unrivaled","unroasted","unrobed","unroll","unruffled","unruly","unrushed","unsaddle","unsafe","unsaid","unsalted","unsaved","unsavory","unscathed","unscented","unscrew","unsealed","unseated","unsecured","unseeing","unseemly","unseen","unselect","unselfish","unsent","unsettled","unshackle","unshaken","unshaved","unshaven","unsheathe","unshipped","unsightly","unsigned","unskilled","unsliced","unsmooth","unsnap","unsocial","unsoiled","unsold","unsolved","unsorted","unspoiled","unspoken","unstable","unstaffed","unstamped","unsteady","unsterile","unstirred","unstitch","unstopped","unstuck","unstuffed","unstylish","unsubtle","unsubtly","unsuited","unsure","unsworn","untagged","untainted","untaken","untamed","untangled","untapped","untaxed","unthawed","unthread","untidy","untie","until","untimed","untimely","untitled","untoasted","untold","untouched","untracked","untrained","untreated","untried","untrimmed","untrue","untruth","unturned","untwist","untying","unusable","unused","unusual","unvalued","unvaried","unvarying","unveiled","unveiling","unvented","unviable","unvisited","unvocal","unwanted","unwarlike","unwary","unwashed","unwatched","unweave","unwed","unwelcome","unwell","unwieldy","unwilling","unwind","unwired","unwitting","unwomanly","unworldly","unworn","unworried","unworthy","unwound","unwoven","unwrapped","unwritten","unzip","upbeat","upchuck","upcoming","upcountry","update","upfront","upgrade","upheaval","upheld","uphill","uphold","uplifted","uplifting","upload","upon","upper","upright","uprising","upriver","uproar","uproot","upscale","upside","upstage","upstairs","upstart","upstate","upstream","upstroke","upswing","uptake","uptight","uptown","upturned","upward","upwind","uranium","urban","urchin","urethane","urgency","urgent","urging","urologist","urology","usable","usage","useable","used","uselessly","user","usher","usual","utensil","utility","utilize","utmost","utopia","utter","vacancy","vacant","vacate","vacation","vagabond","vagrancy","vagrantly","vaguely","vagueness","valiant","valid","valium","valley","valuables","value","vanilla","vanish","vanity","vanquish","vantage","vaporizer","variable","variably","varied","variety","various","varmint","varnish","varsity","varying","vascular","vaseline","vastly","vastness","veal","vegan","veggie","vehicular","velcro","velocity","velvet","vendetta","vending","vendor","veneering","vengeful","venomous","ventricle","venture","venue","venus","verbalize","verbally","verbose","verdict","verify","verse","version","versus","vertebrae","vertical","vertigo","very","vessel","vest","veteran","veto","vexingly","viability","viable","vibes","vice","vicinity","victory","video","viewable","viewer","viewing","viewless","viewpoint","vigorous","village","villain","vindicate","vineyard","vintage","violate","violation","violator","violet","violin","viper","viral","virtual","virtuous","virus","visa","viscosity","viscous","viselike","visible","visibly","vision","visiting","visitor","visor","vista","vitality","vitalize","vitally","vitamins","vivacious","vividly","vividness","vixen","vocalist","vocalize","vocally","vocation","voice","voicing","void","volatile","volley","voltage","volumes","voter","voting","voucher","vowed","vowel","voyage","wackiness","wad","wafer","waffle","waged","wager","wages","waggle","wagon","wake","waking","walk","walmart","walnut","walrus","waltz","wand","wannabe","wanted","wanting","wasabi","washable","washbasin","washboard","washbowl","washcloth","washday","washed","washer","washhouse","washing","washout","washroom","washstand","washtub","wasp","wasting","watch","water","waviness","waving","wavy","whacking","whacky","wham","wharf","wheat","whenever","whiff","whimsical","whinny","whiny","whisking","whoever","whole","whomever","whoopee","whooping","whoops","why","wick","widely","widen","widget","widow","width","wieldable","wielder","wife","wifi","wikipedia","wildcard","wildcat","wilder","wildfire","wildfowl","wildland","wildlife","wildly","wildness","willed","willfully","willing","willow","willpower","wilt","wimp","wince","wincing","wind","wing","winking","winner","winnings","winter","wipe","wired","wireless","wiring","wiry","wisdom","wise","wish","wisplike","wispy","wistful","wizard","wobble","wobbling","wobbly","wok","wolf","wolverine","womanhood","womankind","womanless","womanlike","womanly","womb","woof","wooing","wool","woozy","word","work","worried","worrier","worrisome","worry","worsening","worshiper","worst","wound","woven","wow","wrangle","wrath","wreath","wreckage","wrecker","wrecking","wrench","wriggle","wriggly","wrinkle","wrinkly","wrist","writing","written","wrongdoer","wronged","wrongful","wrongly","wrongness","wrought","xbox","xerox","yahoo","yam","yanking","yapping","yard","yarn","yeah","yearbook","yearling","yearly","yearning","yeast","yelling","yelp","yen","yesterday","yiddish","yield","yin","yippee","yo-yo","yodel","yoga","yogurt","yonder","yoyo","yummy","zap","zealous","zebra","zen","zeppelin","zero","zestfully","zesty","zigzagged","zipfile","zipping","zippy","zips","zit","zodiac","zombie","zone","zoning","zookeeper","zoologist","zoology","zoom"]},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&this.cipherService.upsert(o)}return[2]}})})},e.prototype.deleteWithServer=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.apiService.deleteFolder(e)];case 1:return t.sent(),[4,this.delete(e)];case 2:return t.sent(),[2]}})})},e}();t.FolderService=h},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.userId=t,this.name=e.name,this.id=e.id,this.revisionDate=e.revisionDate}}();t.FolderData=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)for(d=0;d0)for(d=0;d0)for(d=0;d0)for(d=0;d1)&&(t.wordSeparator=" "),null==t.capitalize&&(t.capitalize=!1),null==t.includeNumber&&(t.includeNumber=!1),n=c.EEFLongWordList.length-1,r=new Array(t.numWords),o=0,i.label=1;case 1:return oe.length&&(e.minSpecial=e.length-e.minNumber),e.numWordsn.minLength&&(n.minLength=e.data.minLength),e.data.useUpper&&(n.useUppercase=!0),e.data.useLower&&(n.useLowercase=!0),e.data.useNumbers&&(n.useNumbers=!0),null!=e.data.minNumbers&&e.data.minNumbers>n.numberCount&&(n.numberCount=e.data.minNumbers),e.data.useSpecial&&(n.useSpecial=!0),null!=e.data.minSpecial&&e.data.minSpecial>n.specialCount&&(n.specialCount=e.data.minSpecial),null!=e.data.minNumberWords&&e.data.minNumberWords>n.minNumberWords&&(n.minNumberWords=e.data.minNumberWords),e.data.capitalize&&(n.capitalize=!0),e.data.includeNumber&&(n.includeNumber=!0))}),[2,n])}})})},e.prototype.saveOptions=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.storageService.save(d,e)];case 1:return t.sent(),this.optionsCache=e,[2]}})})},e.prototype.getHistory=function(){return r(this,void 0,void 0,function(){var e,t;return i(this,function(n){switch(n.label){case 0:return[4,this.cryptoService.hasKey()];case 1:return n.sent()?this.history?[3,4]:[4,this.storageService.get(h)]:[2,new Array];case 2:return e=n.sent(),t=this,[4,this.decryptHistory(e)];case 3:t.history=n.sent(),n.label=4;case 4:return[2,this.history||new Array]}})})},e.prototype.addHistory=function(e){return r(this,void 0,void 0,function(){var t,n;return i(this,function(r){switch(r.label){case 0:return[4,this.cryptoService.hasKey()];case 1:return r.sent()?[4,this.getHistory()]:[2];case 2:return t=r.sent(),this.matchesPrevious(e,t)?[2]:(t.unshift(new s.GeneratedPasswordHistory(e,Date.now())),t.length>100&&t.pop(),[4,this.encryptHistory(t)]);case 3:return n=r.sent(),[4,this.storageService.save(h,n)];case 4:return[2,r.sent()]}})})},e.prototype.clear=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.history=[],[4,this.storageService.remove(h)];case 1:return[2,e.sent()]}})})},e.prototype.passwordStrength=function(e,t){if(void 0===t&&(t=null),null==e||0===e.length)return null;var n=["bitwarden","bit","warden"];null!=t&&t.length>0&&(n=n.concat(t));var r=Array.from(new Set(n));return o(e,r)},e.prototype.normalizeOptions=function(e,t){e.minLowercase=0,e.minUppercase=0,!e.length||e.length<5?e.length=5:e.length>128&&(e.length=128),e.lengthe.length?e.minNumber=e.length:e.minNumber>9&&(e.minNumber=9):e.minNumber=0,e.minNumbere.length?e.minSpecial=e.length:e.minSpecial>9&&(e.minSpecial=9):e.minSpecial=0,e.minSpeciale.length&&(e.minSpecial=e.length-e.minNumber),null==e.numWords||e.length<3?e.numWords=3:e.numWords>20&&(e.numWords=20),e.numWords1&&(e.wordSeparator=e.wordSeparator[0]),this.sanitizePasswordLength(e,!1)},e.prototype.capitalize=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},e.prototype.appendRandomNumberToRandomWord=function(e){return r(this,void 0,void 0,function(){var t,n;return i(this,function(r){switch(r.label){case 0:return null==e||e.length<=0?[2]:[4,this.cryptoService.randomNumber(0,e.length-1)];case 1:return t=r.sent(),[4,this.cryptoService.randomNumber(0,9)];case 2:return n=r.sent(),e[t]=e[t]+n,[2]}})})},e.prototype.encryptHistory=function(e){return r(this,void 0,void 0,function(){var t,n=this;return i(this,function(o){switch(o.label){case 0:return null==e||0===e.length?[2,Promise.resolve([])]:(t=e.map(function(e){return r(n,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:return[4,this.cryptoService.encrypt(e.password)];case 1:return t=n.sent(),[2,new s.GeneratedPasswordHistory(t.encryptedString,e.date)]}})})}),[4,Promise.all(t)]);case 1:return[2,o.sent()]}})})},e.prototype.decryptHistory=function(e){return r(this,void 0,void 0,function(){var t,n=this;return i(this,function(o){switch(o.label){case 0:return null==e||0===e.length?[2,Promise.resolve([])]:(t=e.map(function(e){return r(n,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:return[4,this.cryptoService.decryptToUtf8(new a.CipherString(e.password))];case 1:return t=n.sent(),[2,new s.GeneratedPasswordHistory(t,e.date)]}})})}),[4,Promise.all(t)]);case 1:return[2,o.sent()]}})})},e.prototype.matchesPrevious=function(e,t){return null!=t&&0!==t.length&&t[t.length-1].password===e},e.prototype.shuffleArray=function(e){return r(this,void 0,void 0,function(){var t,n,r;return i(this,function(i){switch(i.label){case 0:t=e.length-1,i.label=1;case 1:return t>0?[4,this.cryptoService.randomNumber(0,t)]:[3,4];case 2:n=i.sent(),r=[e[n],e[t]],e[t]=r[0],e[n]=r[1],i.label=3;case 3:return t--,[3,1];case 4:return[2]}})})},e.prototype.sanitizePasswordLength=function(e,t){var n=0,r=0,i=e.minNumber,o=e.minSpecial;e.uppercase&&e.minUppercase<=0?n=1:e.uppercase||(n=0),e.lowercase&&e.minLowercase<=0?r=1:e.lowercase||(r=0),e.number&&e.minNumber<=0?i=1:e.number||(i=0),e.special&&e.minSpecial<=0?o=1:e.special||(o=0),(!e.length||e.length<1)&&(e.length=10);var a=n+r+i+o;e.length0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=e.revisionDate&&(n=!1),a=!1,n&&(t?(n=null!=r,a=!0):null==e.collectionIds||null==e.organizationId?n=null==r:(n=!1,a=!0)),!n&&a&&null!=e.organizationId&&null!=e.collectionIds&&e.collectionIds.length>0?[4,this.collectionService.getAll()]:[3,5];case 4:if(null!=(s=i.sent()))for(l=0;l-1){n=!0;break}i.label=5;case 5:return n?[4,this.apiService.getCipher(e.id)]:[3,9];case 6:return null==(c=i.sent())?[3,9]:[4,this.userService.getUserId()];case 7:return p=i.sent(),[4,this.cipherService.upsert(new o.CipherData(c,p))];case 8:return i.sent(),this.messagingService.send("syncedUpsertedCipher",{cipherId:e.id}),[2,this.syncCompleted(!0)];case 9:return[3,13];case 10:return null!=(u=i.sent())&&404===u.statusCode&&t?[4,this.cipherService.delete(e.id)]:[3,12];case 11:return i.sent(),this.messagingService.send("syncedDeletedCipher",{cipherId:e.id}),[2,this.syncCompleted(!0)];case 12:return[3,13];case 13:return[2,this.syncCompleted(!1)]}})})},e.prototype.syncDeleteCipher=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return this.syncStarted(),[4,this.userService.isAuthenticated()];case 1:return t.sent()?[4,this.cipherService.delete(e.id)]:[3,3];case 2:return t.sent(),this.messagingService.send("syncedDeletedCipher",{cipherId:e.id}),[2,this.syncCompleted(!0)];case 3:return[2,this.syncCompleted(!1)]}})})},e.prototype.syncStarted=function(){this.syncInProgress=!0,this.messagingService.send("syncStarted")},e.prototype.syncCompleted=function(e){return this.syncInProgress=!1,this.messagingService.send("syncCompleted",{successfully:e}),e},e.prototype.needsSyncing=function(e){return r(this,void 0,void 0,function(){var t,n;return i(this,function(r){switch(r.label){case 0:return e?[2,!0]:[4,this.getLastSync()];case 1:return null==(t=r.sent())||0===t.getTime()?[2,!0]:[4,this.apiService.getAccountRevisionDate()];case 2:return n=r.sent(),new Date(n)<=t?[2,!1]:[2,!0]}})})},e.prototype.syncProfile=function(e){return r(this,void 0,void 0,function(){var t,n;return i(this,function(r){switch(r.label){case 0:return[4,this.userService.getSecurityStamp()];case 1:return null==(t=r.sent())||t===e.securityStamp?[3,4]:null==this.logoutCallback?[3,3]:[4,this.logoutCallback(!0)];case 2:r.sent(),r.label=3;case 3:throw new Error("Stamp has changed");case 4:return[4,this.cryptoService.setEncKey(e.key)];case 5:return r.sent(),[4,this.cryptoService.setEncPrivateKey(e.privateKey)];case 6:return r.sent(),[4,this.cryptoService.setOrgKeys(e.organizations)];case 7:return r.sent(),[4,this.userService.setSecurityStamp(e.securityStamp)];case 8:return r.sent(),n={},e.organizations.forEach(function(e){n[e.id]=new l.OrganizationData(e)}),[4,this.userService.replaceOrganizations(n)];case 9:return[2,r.sent()]}})})},e.prototype.syncFolders=function(e,t){return r(this,void 0,void 0,function(){var n;return i(this,function(r){switch(r.label){case 0:return n={},t.forEach(function(t){n[t.id]=new s.FolderData(t,e)}),[4,this.folderService.replace(n)];case 1:return[2,r.sent()]}})})},e.prototype.syncCollections=function(e){return r(this,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:return t={},e.forEach(function(e){t[e.id]=new a.CollectionData(e)}),[4,this.collectionService.replace(t)];case 1:return[2,n.sent()]}})})},e.prototype.syncCiphers=function(e,t){return r(this,void 0,void 0,function(){var n;return i(this,function(r){switch(r.label){case 0:return n={},t.forEach(function(t){n[t.id]=new o.CipherData(t,e)}),[4,this.cipherService.replace(n)];case 1:return[2,r.sent()]}})})},e.prototype.syncSends=function(e,t){return r(this,void 0,void 0,function(){var n;return i(this,function(r){switch(r.label){case 0:return n={},t.forEach(function(t){n[t.id]=new p.SendData(t,e)}),[4,this.sendService.replace(n)];case 1:return[2,r.sent()]}})})},e.prototype.syncSettings=function(e,t){return r(this,void 0,void 0,function(){var e;return i(this,function(n){return e=[],null!=t&&null!=t.equivalentDomains&&(e=e.concat(t.equivalentDomains)),null!=t&&null!=t.globalEquivalentDomains&&t.globalEquivalentDomains.forEach(function(t){t.domains.length>0&&e.push(t.domains)}),[2,this.settingsService.setEquivalentDomains(e)]})})},e.prototype.syncPolicies=function(e){return r(this,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:return t={},null!=e&&e.forEach(function(e){t[e.id]=new c.PolicyData(e)}),[4,this.policyService.replace(t)];case 1:return[2,n.sent()]}})})},e}();t.SyncService=d},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]10?r=10:u>0&&(r=u)}catch(I){}if(p.has("period")&&null!=p.get("period"))try{(d=parseInt(p.get("period").trim(),null))>0&&(t=d)}catch(E){}p.has("secret")&&null!=p.get("secret")&&(o=p.get("secret")),p.has("algorithm")&&null!=p.get("algorithm")&&("sha1"!==(h=p.get("algorithm").toLowerCase())&&"sha256"!==h&&"sha512"!==h||(n=h))}else c&&(o=e.substr("steam://".length),r=5);return f=Math.round((new Date).getTime()/1e3),m=this.leftPad(this.decToHex(Math.floor(f/t)),16,"0"),v=a.Utils.fromHexToArray(m),(y=this.b32ToBytes(o)).length&&v.length?[4,this.sign(y,v,n)]:[2,null];case 1:if(0===(g=i.sent()).length)return[2,null];if(x=15&g[g.length-1],b=(127&g[x])<<24|(255&g[x+1])<<16|(255&g[x+2])<<8|255&g[x+3],S="",c)for(w=2147483647&b,C=0;C=e.length&&(e=Array(t+1-e.length).join(n)+e),e},e.prototype.decToHex=function(e){return(e<15.5?"0":"")+Math.round(e).toString(16)},e.prototype.b32ToHex=function(e){e=e.toUpperCase();for(var t="",n=0;n0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=n?[4,this.storageService.get(o.ConstantsService.vaultTimeoutActionKey)]:[3,12]);case 7:return"logOut"!==r.sent()?[3,9]:[4,this.logOut()];case 8:return r.sent(),[3,11];case 9:return[4,this.lock(!0)];case 10:r.sent(),r.label=11;case 11:r.label=12;case 12:return[2]}})})},e.prototype.lock=function(e){return void 0===e&&(e=!1),r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.userService.isAuthenticated()];case 1:return t.sent()?(this.biometricLocked=!0,e?[4,this.isBiometricLockSet()]:[3,5]):[2];case 2:return t.sent()&&this.platformUtilsService.supportsSecureStorage()?(this.messagingService.send("locked"),null==this.lockedCallback?[3,4]:[4,this.lockedCallback()]):[3,5];case 3:t.sent(),t.label=4;case 4:return[2];case 5:return[4,Promise.all([this.cryptoService.clearKey(),this.cryptoService.clearOrgKeys(!0),this.cryptoService.clearKeyPair(!0),this.cryptoService.clearEncKey(!0)])];case 6:return t.sent(),this.folderService.clearCache(),this.cipherService.clearCache(),this.collectionService.clearCache(),this.searchService.clearIndex(),this.messagingService.send("locked"),null==this.lockedCallback?[3,8]:[4,this.lockedCallback()];case 7:t.sent(),t.label=8;case 8:return[2]}})})},e.prototype.logOut=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return null==this.loggedOutCallback?[3,2]:[4,this.loggedOutCallback()];case 1:e.sent(),e.label=2;case 2:return[2]}})})},e.prototype.setVaultTimeoutOptions=function(e,t){return r(this,void 0,void 0,function(){return i(this,function(n){switch(n.label){case 0:return[4,this.storageService.save(o.ConstantsService.vaultTimeoutKey,e)];case 1:return n.sent(),[4,this.storageService.save(o.ConstantsService.vaultTimeoutActionKey,t)];case 2:return n.sent(),[4,this.cryptoService.toggleKey()];case 3:return n.sent(),[4,this.tokenService.toggleTokens()];case 4:return n.sent(),[2]}})})},e.prototype.isPinLockSet=function(){return r(this,void 0,void 0,function(){var e,t;return i(this,function(n){switch(n.label){case 0:return[4,this.storageService.get(o.ConstantsService.protectedPin)];case 1:return e=n.sent(),[4,this.storageService.get(o.ConstantsService.pinProtectedKey)];case 2:return t=n.sent(),[2,[null!=e,null!=t]]}})})},e.prototype.isBiometricLockSet=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return[4,this.storageService.get(o.ConstantsService.biometricUnlockKey)];case 1:return[2,e.sent()]}})})},e.prototype.clear=function(){return this.pinProtectedKey=null,this.storageService.remove(o.ConstantsService.protectedPin)},e}();t.VaultTimeoutService=a},,,,,,,,,function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.build=function(t){this.id=t.id,e.prototype.build.call(this,t),this.collectionIds=t.collectionIds},t}(n(934).Cipher);t.CipherWithIds=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.build=function(t){this.id=t.id,e.prototype.build.call(this,t)},t}(n(941).Collection);t.CollectionWithId=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.build=function(t){this.id=t.id,e.prototype.build.call(this,t)},t}(n(942).Folder);t.FolderWithId=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.SyncCipherUpdate=0]="SyncCipherUpdate",e[e.SyncCipherCreate=1]="SyncCipherCreate",e[e.SyncLoginDelete=2]="SyncLoginDelete",e[e.SyncFolderDelete=3]="SyncFolderDelete",e[e.SyncCiphers=4]="SyncCiphers",e[e.SyncVault=5]="SyncVault",e[e.SyncOrgKeys=6]="SyncOrgKeys",e[e.SyncFolderCreate=7]="SyncFolderCreate",e[e.SyncFolderUpdate=8]="SyncFolderUpdate",e[e.SyncCipherDelete=9]="SyncCipherDelete",e[e.SyncSettings=10]="SyncSettings",e[e.LogOut=11]="LogOut"}(t.NotificationType||(t.NotificationType={}))},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]104857600)return this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("maxFileSize")),[2]}return[4,this.encryptSend(e)];case 1:r=i.sent(),i.label=2;case 2:return i.trys.push([2,4,,5]),this.formPromise=this.sendService.saveWithServer(r),[4,this.formPromise];case 3:return i.sent(),this.send.id=r[0].id,this.platformUtilsService.showToast("success",null,this.i18nService.t(this.editMode?"editedSend":"createdSend")),this.onSavedSend.emit(this.send),[2,!0];case 4:return i.sent(),[3,5];case 5:return[2,!1]}})})},e.prototype.clearExpiration=function(){this.expirationDate=null},e.prototype.delete=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return null!=this.deletePromise?[2]:[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteSendConfirmation"),this.i18nService.t("deleteSend"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!e.sent())return[2];e.label=2;case 2:return e.trys.push([2,5,,6]),this.deletePromise=this.apiService.deleteSend(this.send.id),[4,this.deletePromise];case 3:return e.sent(),this.platformUtilsService.showToast("success",null,this.i18nService.t("deletedSend")),[4,this.load()];case 4:return e.sent(),this.onDeletedSend.emit(this.send),[3,6];case 5:return e.sent(),[3,6];case 6:return[2]}})})},e.prototype.loadSend=function(){return r(this,void 0,void 0,function(){var e,t;return i(this,function(n){switch(n.label){case 0:return[4,this.apiService.getSend(this.sendId)];case 1:return e=n.sent(),t=new u.SendData(e),[2,new p.Send(t)]}})})},e.prototype.encryptSend=function(e){return r(this,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:return[4,this.sendService.encrypt(this.send,e,this.password,null)];case 1:t=n.sent();try{t[0].deletionDate=null==this.deletionDate?null:new Date(this.deletionDate)}catch(r){t[0].deletionDate=null}try{t[0].expirationDate=null==this.expirationDate?null:new Date(this.expirationDate)}catch(i){t[0].expirationDate=null}return[2,t]}})})},e.ɵfac=function(t){return new(t||e)(d.ɵɵdirectiveInject(h.I18nService),d.ɵɵdirectiveInject(f.PlatformUtilsService),d.ɵɵdirectiveInject(m.ApiService),d.ɵɵdirectiveInject(v.EnvironmentService),d.ɵɵdirectiveInject(y.DatePipe),d.ɵɵdirectiveInject(g.SendService))},e.ɵcmp=d.ɵɵdefineComponent({type:e,selectors:[["app-send-add-edit"]],inputs:{sendId:"sendId",type:"type"},outputs:{onSavedSend:"onSavedSend",onDeletedSend:"onDeletedSend",onCancelled:"onCancelled"},decls:44,vars:17,consts:[["tabindex","-1","role","dialog","aria-modal","true","aria-labelledby","sendAddEditTitle",1,"modal","fade"],["role","document",1,"modal-dialog","modal-lg"],["ngNativeValidate","","autocomplete","off",1,"modal-content",3,"appApiAction","ngSubmit"],["form",""],[1,"modal-header"],["id","sendAddEditTitle",1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"appA11yTitle"],["aria-hidden","true"],["class","modal-body",4,"ngIf"],[1,"modal-footer"],["type","submit",1,"btn","btn-primary","btn-submit",3,"disabled"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin",3,"title"],["type","button","data-dismiss","modal",1,"btn","btn-outline-secondary"],["class","ml-auto",4,"ngIf"],[1,"modal-body"],["class","row",4,"ngIf"],[1,"row"],[1,"col-6","form-group"],["for","name"],["id","name","type","text","name","Name","required","",1,"form-control",3,"ngModel","ngModelChange"],[4,"ngIf"],[1,"mt-4"],["for","deletionDate"],["id","deletionDate","type","datetime-local","name","DeletionDate","required","",1,"form-control",3,"ngModel","ngModelChange"],[1,"d-flex"],["for","expirationDate"],["href","#","appStopClick","",1,"ml-auto",3,"click"],["id","expirationDate","type","datetime-local","name","ExpirationDate",1,"form-control",3,"ngModel","ngModelChange"],["for","maxAccessCount"],["id","maxAccessCount","type","number","name","MaxAccessCount",1,"form-control",3,"ngModel","ngModelChange"],["class","col-6 form-group",4,"ngIf"],["for","password",4,"ngIf"],["id","password","type","password","name","Password",1,"form-control",3,"ngModel","ngModelChange"],[1,"form-group"],["for","notes"],["id","notes","name","Notes","rows","6",1,"form-control",3,"ngModel","ngModelChange"],[1,"form-check"],["type","checkbox","id","disabled","name","Disabled",1,"form-check-input",3,"ngModel","ngModelChange"],["for","disabled",1,"form-check-label"],["class","form-group",4,"ngIf"],["for","type"],["id","type","name","Type","appAutofocus","",1,"form-control",3,"ngModel","ngModelChange"],[3,"ngValue",4,"ngFor","ngForOf"],[3,"ngValue"],["for","text"],["id","text","name","Text.Text","rows","6",1,"form-control",3,"ngModel","ngModelChange"],["type","checkbox","id","text-hidden","name","Text.Hidden",1,"form-check-input",3,"ngModel","ngModelChange"],["for","text-hidden",1,"form-check-label"],[1,"d-block"],["for","file"],["type","file","id","file","name","file","required","",1,"form-control-file"],[1,"form-text","text-muted"],["for","accessCount"],["id","accessCount","type","number","name","AccessCount","readonly","",1,"form-control",3,"ngModel","ngModelChange"],["for","password"],["for","link"],["type","text","readonly","","id","link","name","Link",1,"form-control",3,"ngModel","ngModelChange"],[1,"ml-auto"],["type","button","class","btn btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click",4,"ngIf"],["type","button",1,"btn","btn-outline-danger",3,"appA11yTitle","disabled","appApiAction","click"],["deleteBtn",""],["aria-hidden","true",1,"fa","fa-trash-o","fa-lg","fa-fw",3,"hidden"],["aria-hidden","true",1,"fa","fa-spinner","fa-spin","fa-lg","fa-fw",3,"hidden","title"]],template:function(e,t){if(1&e&&(d.ɵɵelementStart(0,"div",0),d.ɵɵtext(1,"\n "),d.ɵɵelementStart(2,"div",1),d.ɵɵtext(3,"\n "),d.ɵɵelementStart(4,"form",2,3),d.ɵɵlistener("ngSubmit",function(){return t.submit()}),d.ɵɵtext(6,"\n "),d.ɵɵelementStart(7,"div",4),d.ɵɵtext(8,"\n "),d.ɵɵelementStart(9,"h2",5),d.ɵɵtext(10),d.ɵɵelementEnd(),d.ɵɵtext(11,"\n "),d.ɵɵelementStart(12,"button",6),d.ɵɵpipe(13,"i18n"),d.ɵɵtext(14,"\n "),d.ɵɵelementStart(15,"span",7),d.ɵɵtext(16,"×"),d.ɵɵelementEnd(),d.ɵɵtext(17,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(18,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(19,"\n "),d.ɵɵtemplate(20,j,103,38,"div",8),d.ɵɵtext(21,"\n "),d.ɵɵelementStart(22,"div",9),d.ɵɵtext(23,"\n "),d.ɵɵelementStart(24,"button",10),d.ɵɵtext(25,"\n "),d.ɵɵelement(26,"i",11),d.ɵɵpipe(27,"i18n"),d.ɵɵtext(28,"\n "),d.ɵɵelementStart(29,"span"),d.ɵɵtext(30),d.ɵɵpipe(31,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(32,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(33,"\n "),d.ɵɵelementStart(34,"button",12),d.ɵɵtext(35),d.ɵɵpipe(36,"i18n"),d.ɵɵelementEnd(),d.ɵɵtext(37,"\n "),d.ɵɵtemplate(38,R,4,1,"div",13),d.ɵɵtext(39,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(40,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(41,"\n "),d.ɵɵelementEnd(),d.ɵɵtext(42,"\n"),d.ɵɵelementEnd(),d.ɵɵtext(43,"\n")),2&e){var n=d.ɵɵreference(5);d.ɵɵadvance(4),d.ɵɵproperty("appApiAction",t.formPromise),d.ɵɵadvance(6),d.ɵɵtextInterpolate(t.title),d.ɵɵadvance(2),d.ɵɵpropertyInterpolate("appA11yTitle",d.ɵɵpipeBind1(13,9,"close")),d.ɵɵadvance(8),d.ɵɵproperty("ngIf",t.send),d.ɵɵadvance(4),d.ɵɵproperty("disabled",n.loading),d.ɵɵadvance(2),d.ɵɵpropertyInterpolate("title",d.ɵɵpipeBind1(27,11,"loading")),d.ɵɵadvance(4),d.ɵɵtextInterpolate(d.ɵɵpipeBind1(31,13,"save")),d.ɵɵadvance(5),d.ɵɵtextInterpolate1("\n ",d.ɵɵpipeBind1(36,15,"cancel"),"\n "),d.ɵɵadvance(3),d.ɵɵproperty("ngIf",t.send)}},directives:[x.NgControlStatusGroup,x.NgForm,b.ApiActionDirective,S.A11yTitleDirective,y.NgIf,x.DefaultValueAccessor,x.RequiredValidator,x.NgControlStatus,x.NgModel,w.StopClickDirective,x.NumberValueAccessor,x.CheckboxControlValueAccessor,x.SelectControlValueAccessor,C.AutofocusDirective,y.NgForOf,x.NgSelectOption,x.ɵangular_packages_forms_forms_x],pipes:[I.I18nPipe],encapsulation:2}),e}();t.AddEditComponent=U},,,,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0);n(722),n(267),n(502),n(723);var i=n(724),o=n(69);r.enableProdMode(),o.platformBrowser().bootstrapModule(i.AppModule,{preserveWhitespaces:!0})},,function(e,t,n){},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(725);var r=n(8),i=n(12),o=n(210),a=n(790),s=n(292),l=(n(0),n(15)),c=n(69),p=n(864),u=n(865),d=n(1024),h=n(92),f=n(152),m=n(272),v=n(449),y=n(512),g=n(448),x=n(513),b=n(516),S=n(517),w=n(518),C=n(519),I=n(520),E=n(521),P=n(522),k=n(523),_=n(526),A=n(528),O=n(531),T=n(530),M=n(533),B=n(534),D=n(536),j=n(535),V=n(455),R=n(454),U=n(538),F=n(540),N=n(539),z=n(541),L=n(542),G=n(547),K=n(549),q=n(544),W=n(545),H=n(546),$=n(550),Q=n(560),Y=n(557),J=n(553),X=n(559),Z=n(554),ee=n(556),te=n(561),ne=n(562),re=n(568),ie=n(569),oe=n(596),ae=n(597),se=n(598),le=n(599),ce=n(600),pe=n(601),ue=n(468),de=n(603),he=n(477),fe=n(604),me=n(479),ve=n(602),ye=n(611),ge=n(709),xe=n(1025),be=n(615),Se=n(459),we=n(460),Ce=n(463),Ie=n(456),Ee=n(619),Pe=n(625),ke=n(621),_e=n(626),Ae=n(616),Oe=n(617),Te=n(627),Me=n(629),Be=n(628),De=n(277),je=n(284),Ve=n(116),Re=n(630),Ue=n(618),Fe=n(457),Ne=n(631),ze=n(137),Le=n(563),Ge=n(464),Ke=n(564),qe=n(565),We=n(465),He=n(566),$e=n(186),Qe=n(567),Ye=n(638),Je=n(462),Xe=n(458),Ze=n(632),et=n(641),tt=n(633),nt=n(466),rt=n(467),it=n(471),ot=n(472),at=n(635),st=n(634),lt=n(473),ct=n(636),pt=n(474),ut=n(475),dt=n(279),ht=n(476),ft=n(480),mt=n(606),vt=n(608),yt=n(609),gt=n(610),xt=n(256),bt=n(478),St=n(639),wt=n(280),Ct=n(640),It=n(637),Et=n(28),Pt=n(111),kt=n(18),_t=n(17),At=n(64),Ot=n(1026),Tt=n(1027),Mt=n(595),Bt=n(46),Dt=n(485),jt=n(38),Vt=n(57),Rt=n(470),Ut=n(486),Ft=n(11),Nt=n(1028),zt=n(247),Lt=n(3),Gt=n(1029),Kt=n(1030),qt=n(1031),Wt=n(1032),Ht=n(1033),$t=n(1034),Qt=n(1035),Yt=n(1036),Jt=n(1037),Xt=n(1038),Zt=n(1039),en=n(1040),tn=n(1041),nn=n(1042),rn=n(1043),on=n(1044),an=n(1045),sn=n(1046),ln=n(1047),cn=n(1048),pn=n(1049),un=n(1050),dn=n(1051),hn=n(1052),fn=n(1053),mn=n(1054),vn=n(0),yn=n(12),gn=n(8);Lt.registerLocaleData(Gt.default,"ca"),Lt.registerLocaleData(Kt.default,"cs"),Lt.registerLocaleData(qt.default,"da"),Lt.registerLocaleData(Wt.default,"de"),Lt.registerLocaleData(Ht.default,"el"),Lt.registerLocaleData($t.default,"en-GB"),Lt.registerLocaleData(Qt.default,"es"),Lt.registerLocaleData(Yt.default,"et"),Lt.registerLocaleData(Jt.default,"fr"),Lt.registerLocaleData(Xt.default,"he"),Lt.registerLocaleData(Zt.default,"it"),Lt.registerLocaleData(en.default,"ja"),Lt.registerLocaleData(tn.default,"ko"),Lt.registerLocaleData(nn.default,"lv"),Lt.registerLocaleData(rn.default,"ml"),Lt.registerLocaleData(on.default,"nb"),Lt.registerLocaleData(an.default,"nl"),Lt.registerLocaleData(sn.default,"pl"),Lt.registerLocaleData(ln.default,"pt-BR"),Lt.registerLocaleData(cn.default,"pt-PT"),Lt.registerLocaleData(pn.default,"ru"),Lt.registerLocaleData(un.default,"sk"),Lt.registerLocaleData(dn.default,"sv"),Lt.registerLocaleData(hn.default,"uk"),Lt.registerLocaleData(fn.default,"zh-CN"),Lt.registerLocaleData(mn.default,"zh-TW");var xn=function(){function e(){}return e.ɵmod=vn.ɵɵdefineNgModule({type:e,bootstrap:[d.AppComponent]}),e.ɵinj=vn.ɵɵdefineInjector({factory:function(t){return new(t||e)},providers:[Lt.DatePipe],imports:[[c.BrowserModule,p.BrowserAnimationsModule,l.FormsModule,a.AppRoutingModule,u.ServicesModule,i.Angulartics2Module.forRoot({pageTracking:{clearQueryParams:!0}}),r.ToasterModule.forRoot(),o.InfiniteScrollModule,s.DragDropModule]]}),e}();t.AppModule=xn,("undefined"==typeof ngJitMode||ngJitMode)&&vn.ɵɵsetNgModuleScope(xn,{declarations:[kt.A11yTitleDirective,ye.AccessComponent,S.AcceptOrganizationComponent,be.AccountComponent,_.SetPasswordComponent,Se.AddCreditComponent,dt.AddEditComponent,we.AdjustPaymentComponent,Q.AdjustSeatsComponent,Ce.AdjustStorageComponent,_t.ApiActionDirective,Ie.ApiKeyComponent,d.AppComponent,ht.AttachmentsComponent,At.AutofocusDirective,f.AvatarComponent,Ot.BlurClickDirective,Tt.BoxRowDirective,tt.BreachReportComponent,ft.BulkActionsComponent,mt.BulkDeleteComponent,vt.BulkMoveComponent,yt.BulkRestoreComponent,gt.BulkShareComponent,Et.CalloutComponent,Ee.ChangeEmailComponent,Pe.ChangeKdfComponent,ke.ChangePasswordComponent,Y.ChangePlanComponent,xt.CiphersComponent,bt.CollectionsComponent,Ut.ColorPasswordPipe,_e.CreateOrganizationComponent,Ae.DeauthorizeSessionsComponent,Oe.DeleteAccountComponent,J.DeleteOrganizationComponent,Te.DomainRulesComponent,X.DownloadLicenseComponent,nt.ExportComponent,rt.ExposedPasswordsReportComponent,Mt.FallbackSrcDirective,St.FolderAddEditComponent,v.FooterComponent,y.FrontendLayoutComponent,wt.GroupingsComponent,w.HintComponent,Ft.I18nPipe,Pt.IconComponent,it.ImportComponent,ot.InactiveTwoFactorReportComponent,Bt.InputVerbatimDirective,Me.LinkSsoComponent,C.LockComponent,I.LoginComponent,h.ModalComponent,g.NavbarComponent,Be.OptionsComponent,$.AccountComponent,ue.AddEditComponent,Z.OrganizationBillingComponent,De.OrganizationPlansComponent,ee.OrganizationSubscriptionComponent,de.AttachmentsComponent,he.CiphersComponent,D.CollectionAddEditComponent,fe.CollectionsComponent,V.EntityEventsComponent,R.EntityUsersComponent,U.EventsComponent,re.ExportComponent,ie.ExposedPasswordsReportComponent,oe.ImportComponent,ae.InactiveTwoFactorReportComponent,F.GroupAddEditComponent,me.GroupingsComponent,N.GroupsComponent,j.CollectionsComponent,z.ManageComponent,L.PeopleComponent,K.PolicyEditComponent,G.PoliciesComponent,se.ReusedPasswordsReportComponent,te.SettingsComponent,le.ToolsComponent,ne.TwoFactorSetupComponent,q.UserAddEditComponent,W.UserConfirmComponent,H.UserGroupsComponent,je.OrganizationsComponent,x.OrganizationLayoutComponent,ce.UnsecuredWebsitesReportComponent,ve.VaultComponent,pe.WeakPasswordsReportComponent,st.PasswordGeneratorComponent,at.PasswordGeneratorHistoryComponent,m.PasswordStrengthComponent,Ve.PaymentComponent,Re.PremiumComponent,Ue.ProfileComponent,Fe.PurgeVaultComponent,E.RecoverDeleteComponent,P.RecoverTwoFactorComponent,k.RegisterComponent,lt.ReusedPasswordsReportComponent,Nt.SearchCiphersPipe,zt.SearchPipe,Dt.SelectCopyDirective,ge.AddEditComponent,xe.SendComponent,Ne.SettingsComponent,Ct.ShareComponent,A.SsoComponent,jt.StopClickDirective,Vt.StopPropDirective,ze.TaxInfoComponent,ct.ToolsComponent,Rt.TrueFalseValueDirective,Le.TwoFactorAuthenticatorComponent,T.TwoFactorComponent,Ge.TwoFactorDuoComponent,Ke.TwoFactorEmailComponent,O.TwoFactorOptionsComponent,qe.TwoFactorRecoveryComponent,We.TwoFactorSetupComponent,He.TwoFactorU2fComponent,$e.TwoFactorVerifyComponent,Qe.TwoFactorYubiKeyComponent,pt.UnsecuredWebsitesReportComponent,Ye.UpdateKeyComponent,Je.UpdateLicenseComponent,Xe.UserBillingComponent,b.UserLayoutComponent,Ze.UserSubscriptionComponent,It.VaultComponent,et.VerifyEmailComponent,M.VerifyEmailTokenComponent,B.VerifyRecoverDeleteComponent,ut.WeakPasswordsReportComponent],imports:[c.BrowserModule,p.BrowserAnimationsModule,l.FormsModule,a.AppRoutingModule,u.ServicesModule,yn.Angulartics2Module,gn.ToasterModule,o.InfiniteScrollModule,s.DragDropModule]})},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(7),i=n(512),o=n(513),a=n(516),s=n(517),l=n(518),c=n(519),p=n(520),u=n(521),d=n(522),h=n(523),f=n(526),m=n(528),v=n(530),y=n(533),g=n(534),x=n(535),b=n(538),S=n(539),w=n(541),C=n(542),I=n(547),E=n(550),P=n(554),k=n(556),_=n(561),A=n(562),O=n(568),T=n(569),M=n(596),B=n(597),D=n(598),j=n(599),V=n(600),R=n(601),U=n(602),F=n(611),N=n(615),z=n(626),L=n(627),G=n(628),K=n(284),q=n(630),W=n(631),H=n(465),$=n(458),Q=n(632),Y=n(633),J=n(466),X=n(467),Z=n(471),ee=n(472),te=n(634),ne=n(473),re=n(636),ie=n(474),oe=n(475),ae=n(637),se=n(642),le=n(643),ce=n(644),pe=n(645),ue=n(246),de=n(0),he=n(7),fe=[{path:"",component:i.FrontendLayoutComponent,children:[{path:"",pathMatch:"full",component:p.LoginComponent,canActivate:[ce.UnauthGuardService]},{path:"2fa",component:v.TwoFactorComponent,canActivate:[ce.UnauthGuardService]},{path:"register",component:h.RegisterComponent,canActivate:[ce.UnauthGuardService],data:{titleId:"createAccount"}},{path:"sso",component:m.SsoComponent,canActivate:[ce.UnauthGuardService],data:{titleId:"enterpriseSingleSignOn"}},{path:"set-password",component:f.SetPasswordComponent,data:{titleId:"setMasterPassword"}},{path:"hint",component:l.HintComponent,canActivate:[ce.UnauthGuardService],data:{titleId:"passwordHint"}},{path:"lock",component:c.LockComponent},{path:"verify-email",component:y.VerifyEmailTokenComponent},{path:"accept-organization",component:s.AcceptOrganizationComponent,data:{titleId:"joinOrganization"}},{path:"recover",pathMatch:"full",redirectTo:"recover-2fa"},{path:"recover-2fa",component:d.RecoverTwoFactorComponent,canActivate:[ce.UnauthGuardService],data:{titleId:"recoverAccountTwoStep"}},{path:"recover-delete",component:u.RecoverDeleteComponent,canActivate:[ce.UnauthGuardService],data:{titleId:"deleteAccount"}},{path:"verify-recover-delete",component:g.VerifyRecoverDeleteComponent,canActivate:[ce.UnauthGuardService],data:{titleId:"deleteAccount"}},{path:"send/:sendId/:key",component:F.AccessComponent,data:{title:"Bitwarden Send"}}]},{path:"",component:a.UserLayoutComponent,canActivate:[pe.AuthGuardService],children:[{path:"vault",component:ae.VaultComponent,data:{titleId:"myVault"}},{path:"settings",component:W.SettingsComponent,children:[{path:"",pathMatch:"full",redirectTo:"account"},{path:"account",component:N.AccountComponent,data:{titleId:"myAccount"}},{path:"options",component:G.OptionsComponent,data:{titleId:"options"}},{path:"domain-rules",component:L.DomainRulesComponent,data:{titleId:"domainRules"}},{path:"two-factor",component:H.TwoFactorSetupComponent,data:{titleId:"twoStepLogin"}},{path:"premium",component:q.PremiumComponent,data:{titleId:"goPremium"}},{path:"billing",component:$.UserBillingComponent,data:{titleId:"billing"}},{path:"subscription",component:Q.UserSubscriptionComponent,data:{titleId:"premiumMembership"}},{path:"organizations",component:K.OrganizationsComponent,data:{titleId:"organizations"}},{path:"create-organization",component:z.CreateOrganizationComponent,data:{titleId:"newOrganization"}}]},{path:"tools",component:re.ToolsComponent,canActivate:[pe.AuthGuardService],children:[{path:"",pathMatch:"full",redirectTo:"generator"},{path:"import",component:Z.ImportComponent,data:{titleId:"importData"}},{path:"export",component:J.ExportComponent,data:{titleId:"exportVault"}},{path:"generator",component:te.PasswordGeneratorComponent,data:{titleId:"passwordGenerator"}},{path:"breach-report",component:Y.BreachReportComponent,data:{titleId:"dataBreachReport"}},{path:"reused-passwords-report",component:ne.ReusedPasswordsReportComponent,data:{titleId:"reusedPasswordsReport"}},{path:"unsecured-websites-report",component:ie.UnsecuredWebsitesReportComponent,data:{titleId:"unsecuredWebsitesReport"}},{path:"weak-passwords-report",component:oe.WeakPasswordsReportComponent,data:{titleId:"weakPasswordsReport"}},{path:"exposed-passwords-report",component:X.ExposedPasswordsReportComponent,data:{titleId:"exposedPasswordsReport"}},{path:"inactive-two-factor-report",component:ee.InactiveTwoFactorReportComponent,data:{titleId:"inactive2faReport"}}]}]},{path:"organizations/:organizationId",component:o.OrganizationLayoutComponent,canActivate:[pe.AuthGuardService,se.OrganizationGuardService],children:[{path:"",pathMatch:"full",redirectTo:"vault"},{path:"vault",component:U.VaultComponent,data:{titleId:"vault"}},{path:"tools",component:j.ToolsComponent,canActivate:[le.OrganizationTypeGuardService],data:{allowedTypes:[ue.OrganizationUserType.Owner,ue.OrganizationUserType.Admin]},children:[{path:"",pathMatch:"full",redirectTo:"import"},{path:"import",component:M.ImportComponent,data:{titleId:"importData"}},{path:"export",component:O.ExportComponent,data:{titleId:"exportVault"}},{path:"exposed-passwords-report",component:T.ExposedPasswordsReportComponent,data:{titleId:"exposedPasswordsReport"}},{path:"inactive-two-factor-report",component:B.InactiveTwoFactorReportComponent,data:{titleId:"inactive2faReport"}},{path:"reused-passwords-report",component:D.ReusedPasswordsReportComponent,data:{titleId:"reusedPasswordsReport"}},{path:"unsecured-websites-report",component:V.UnsecuredWebsitesReportComponent,data:{titleId:"unsecuredWebsitesReport"}},{path:"weak-passwords-report",component:R.WeakPasswordsReportComponent,data:{titleId:"weakPasswordsReport"}}]},{path:"manage",component:w.ManageComponent,canActivate:[le.OrganizationTypeGuardService],data:{allowedTypes:[ue.OrganizationUserType.Owner,ue.OrganizationUserType.Admin,ue.OrganizationUserType.Manager]},children:[{path:"",pathMatch:"full",redirectTo:"people"},{path:"collections",component:x.CollectionsComponent,data:{titleId:"collections"}},{path:"events",component:b.EventsComponent,data:{titleId:"eventLogs"}},{path:"groups",component:S.GroupsComponent,data:{titleId:"groups"}},{path:"people",component:C.PeopleComponent,data:{titleId:"people"}},{path:"policies",component:I.PoliciesComponent,data:{titleId:"policies"}}]},{path:"settings",component:_.SettingsComponent,canActivate:[le.OrganizationTypeGuardService],data:{allowedTypes:[ue.OrganizationUserType.Owner]},children:[{path:"",pathMatch:"full",redirectTo:"account"},{path:"account",component:E.AccountComponent,data:{titleId:"myOrganization"}},{path:"two-factor",component:A.TwoFactorSetupComponent,data:{titleId:"twoStepLogin"}},{path:"billing",component:P.OrganizationBillingComponent,data:{titleId:"billing"}},{path:"subscription",component:k.OrganizationSubscriptionComponent,data:{titleId:"subscription"}}]}]},{path:"**",redirectTo:""}],me=function(){function e(){}return e.ɵmod=de.ɵɵdefineNgModule({type:e}),e.ɵinj=de.ɵɵdefineInjector({factory:function(t){return new(t||e)},imports:[[r.RouterModule.forRoot(fe,{useHash:!0})],r.RouterModule]}),e}();t.AppRoutingModule=me,("undefined"==typeof ngJitMode||ngJitMode)&&de.ɵɵsetNgModuleScope(me,{imports:[he.RouterModule],exports:[r.RouterModule]})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(){this.subscribers=new Map}return e.prototype.send=function(e,t){null==t?this.subscribers.forEach(function(t){t(e)}):this.subscribers.has(t)&&this.subscribers.get(t)(e)},e.prototype.subscribe=function(e,t){this.subscribers.set(e,t)},e.prototype.unsubscribe=function(e){this.subscribers.has(e)&&this.subscribers.delete(e)},e}();t.BroadcasterService=r},,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getDomain=function(e){return null}},,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.OrganizationUserAcceptRequest=r},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=5)return this.messagingService.send("logout"),[2];this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("invalidPin"))}return[3,33];case 16:return[4,this.cryptoService.makeKey(this.masterPassword,this.email,e,t)];case 17:return r=i.sent(),[4,this.cryptoService.hashPassword(this.masterPassword,r)];case 18:return l=i.sent(),c=!1,null==l?[3,25]:[4,this.cryptoService.getKeyHash()];case 19:return null==(p=i.sent())?[3,20]:(c=p===l,[3,25]);case 20:(u=new s.PasswordVerificationRequest).masterPasswordHash=l,i.label=21;case 21:return i.trys.push([21,24,,25]),this.formPromise=this.apiService.postAccountVerifyPassword(u),[4,this.formPromise];case 22:return i.sent(),c=!0,[4,this.cryptoService.setKeyHash(l)];case 23:return i.sent(),[3,25];case 24:return i.sent(),[3,25];case 25:return c?this.pinSet[0]?[4,this.storageService.get(o.ConstantsService.protectedPin)]:[3,31]:[3,32];case 26:return d=i.sent(),[4,this.cryptoService.getEncKey(r)];case 27:return h=i.sent(),[4,this.cryptoService.decryptToUtf8(new a.CipherString(d),h)];case 28:return f=i.sent(),[4,this.cryptoService.makePinKey(f,this.email,e,t)];case 29:return m=i.sent(),v=this.vaultTimeoutService,[4,this.cryptoService.encrypt(r.key,m)];case 30:v.pinProtectedKey=i.sent(),i.label=31;case 31:return this.setKeyAndContinue(r),[3,33];case 32:this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("invalidMasterPassword")),i.label=33;case 33:return[2]}})})},e.prototype.logOut=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t("logOutConfirmation"),this.i18nService.t("logOut"),this.i18nService.t("logOut"),this.i18nService.t("cancel"))];case 1:return e.sent()&&this.messagingService.send("logout"),[2]}})})},e.prototype.unlockBiometric=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.biometricLock?[4,this.platformUtilsService.authenticateBiometric()]:[2];case 1:return e.sent()?[4,this.doContinue()]:[3,3];case 2:e.sent(),e.label=3;case 3:return[2]}})})},e.prototype.togglePassword=function(){this.platformUtilsService.eventTrack("Toggled Master Password on Unlock"),this.showPassword=!this.showPassword,document.getElementById(this.pinLock?"pin":"masterPassword").focus()},e.prototype.setKeyAndContinue=function(e){return r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return[4,this.cryptoService.setKey(e)];case 1:return t.sent(),this.doContinue(),[2]}})})},e.prototype.doContinue=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:return this.vaultTimeoutService.biometricLocked=!1,[4,this.storageService.get(o.ConstantsService.disableFaviconKey)];case 1:return e=t.sent(),[4,this.stateService.save(o.ConstantsService.disableFaviconKey,!!e)];case 2:return t.sent(),this.messagingService.send("unlocked"),null!=this.onSuccessfulSubmit?this.onSuccessfulSubmit():null!=this.router&&this.router.navigate([this.successRoute]),[2]}})})},e.ɵfac=function(t){return new(t||e)(c.ɵɵdirectiveInject(p.Router),c.ɵɵdirectiveInject(u.I18nService),c.ɵɵdirectiveInject(d.PlatformUtilsService),c.ɵɵdirectiveInject(h.MessagingService),c.ɵɵdirectiveInject(f.UserService),c.ɵɵdirectiveInject(m.CryptoService),c.ɵɵdirectiveInject(v.StorageService),c.ɵɵdirectiveInject(y.VaultTimeoutService),c.ɵɵdirectiveInject(g.EnvironmentService),c.ɵɵdirectiveInject(x.StateService),c.ɵɵdirectiveInject(b.ApiService))},e.ɵdir=c.ɵɵdefineDirective({type:e}),e}();t.LockComponent=S},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1&&(e=e.concat(this.email.substr(0,t).trim().toLowerCase().split(/[^A-Za-z0-9]/))),null!=this.name&&""!==this.name&&(e=e.concat(this.name.trim().toLowerCase().split(" "))),e},e}();t.RegisterComponent=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t,n,r,i,o,a,s){this.name=t,this.email=e,this.masterPasswordHash=n,this.masterPasswordHint=r||null,this.key=i,this.kdf=o,this.kdfIterations=a,this.referenceData=s}}();t.RegisterRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.ReferenceEventRequest=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&this.u2f.init({appId:t[0].appId,challenge:t[0].challenge,keys:t.map(function(e){return{version:e.version,keyHandle:e.keyHandle}})}),[3,7]):[3,7];case 2:return setTimeout(function(){c.init({iframe:void 0,host:e.Host,sig_request:e.Signature,submit_callback:function(e){return r(n,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:return null==(t=e.querySelector('input[name="sig_response"]'))?[3,2]:(this.token=t.value,[4,this.submit()]);case 1:n.sent(),n.label=2;case 2:return[2]}})})}})},0),[3,7];case 3:return this.twoFactorEmail=e.Email,this.authService.twoFactorProvidersData.size>1?[4,this.sendEmail(!1)]:[3,5];case 4:a.sent(),a.label=5;case 5:case 6:return[3,7];case 7:return[2]}})})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e,t;return i(this,function(n){switch(n.label){case 0:if(null==this.token||""===this.token)return this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("verificationCodeRequired")),[2];if(this.selectedProviderType===o.TwoFactorProviderType.U2f){if(null==this.u2f)return[2];this.u2f.stop()}else this.selectedProviderType!==o.TwoFactorProviderType.Email&&this.selectedProviderType!==o.TwoFactorProviderType.Authenticator||(this.token=this.token.replace(" ","").trim());n.label=1;case 1:return n.trys.push([1,5,,6]),this.formPromise=this.authService.logInTwoFactor(this.selectedProviderType,this.token,this.remember),[4,this.formPromise];case 2:return e=n.sent(),[4,this.storageService.get(l.ConstantsService.disableFaviconKey)];case 3:return t=n.sent(),[4,this.stateService.save(l.ConstantsService.disableFaviconKey,!!t)];case 4:return n.sent(),null!=this.onSuccessfulLogin&&this.onSuccessfulLogin(),this.platformUtilsService.eventTrack("Logged In From Two-step"),e.resetMasterPassword&&(this.successRoute="set-password"),null!=this.onSuccessfulLoginNavigate?this.onSuccessfulLoginNavigate():this.router.navigate([this.successRoute],{queryParams:{identifier:this.identifier}}),[3,6];case 5:return n.sent(),this.selectedProviderType===o.TwoFactorProviderType.U2f&&null!=this.u2f&&this.u2f.start(),[3,6];case 6:return[2]}})})},e.prototype.sendEmail=function(e){return r(this,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:if(this.selectedProviderType!==o.TwoFactorProviderType.Email)return[2];if(null!=this.emailPromise)return[2];n.label=1;case 1:return n.trys.push([1,3,,4]),t=new a.TwoFactorEmailRequest(this.authService.email,this.authService.masterPasswordHash),this.emailPromise=this.apiService.postTwoFactorEmail(t),[4,this.emailPromise];case 2:return n.sent(),e&&this.platformUtilsService.showToast("success",null,this.i18nService.t("verificationCodeEmailSent",this.twoFactorEmail)),[3,4];case 3:return n.sent(),[3,4];case 4:return this.emailPromise=null,[2]}})})},e.prototype.cleanupU2f=function(){null!=this.u2f&&(this.u2f.stop(),this.u2f.cleanup())},Object.defineProperty(e.prototype,"authing",{get:function(){return this.authService.authingWithPassword()||this.authService.authingWithSso()||this.authService.authingWithApiKey()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"needsLock",{get:function(){return this.authService.authingWithSso()||this.authService.authingWithApiKey()},enumerable:!0,configurable:!0}),e.ɵfac=function(t){return new(t||e)(u.ɵɵdirectiveInject(d.AuthService),u.ɵɵdirectiveInject(h.Router),u.ɵɵdirectiveInject(f.I18nService),u.ɵɵdirectiveInject(m.ApiService),u.ɵɵdirectiveInject(v.PlatformUtilsService),u.ɵɵdirectiveInject(Window),u.ɵɵdirectiveInject(y.EnvironmentService),u.ɵɵdirectiveInject(g.StateService),u.ɵɵdirectiveInject(x.StorageService),u.ɵɵdirectiveInject(h.ActivatedRoute))},e.ɵdir=u.ɵɵdefineDirective({type:e}),e}();t.TwoFactorComponent=b},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){this.twoFactor=!1,this.resetMasterPassword=!1,this.twoFactorProviders=null}}();t.AuthResult=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.type=t.getDevice(),this.name=t.getDeviceString(),this.identifier=e,this.pushToken=null}}();t.DeviceRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.email=e}}();t.PreloginRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t,n,r,i,o,a){null!=e&&e.length>1?(this.email=e[0],this.masterPasswordHash=e[1]):null!=t&&t.length>2?(this.code=t[0],this.codeVerifier=t[1],this.redirectUri=t[2]):null!=n&&n.length>1&&(this.clientId=n[0],this.clientSecret=n[1]),this.token=i,this.provider=r,this.remember=o,this.device=null!=a?a:null}return e.prototype.toIdentityToken=function(e){var t={scope:"api offline_access",client_id:e};if(null!=this.clientSecret)t.scope="api",t.grant_type="client_credentials",t.client_secret=this.clientSecret;else if(null!=this.masterPasswordHash&&null!=this.email)t.grant_type="password",t.username=this.email,t.password=this.masterPasswordHash;else{if(null==this.code||null==this.codeVerifier||null==this.redirectUri)throw new Error("must provide credentials or codes");t.grant_type="authorization_code",t.code=this.code,t.code_verifier=this.codeVerifier,t.redirect_uri=this.redirectUri}return this.device&&(t.deviceType=this.device.type,t.deviceIdentifier=this.device.identifier,t.deviceName=this.device.name),this.token&&null!=this.provider&&(t.twoFactorToken=this.token,t.twoFactorProvider=this.provider,t.twoFactorRemember=this.remember?"1":"0"),t},e}();t.TokenRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t,n,r,i){this.win=e,this.webVaultUrl=t,this.successCallback=n,this.errorCallback=r,this.infoCallback=i,this.iframe=null,this.parseFunction=this.parseMessage.bind(this),this.connectorLink=e.document.createElement("a"),this.webVaultUrl=null!=t&&""!==t?t:"https://vault.bitwarden.com"}return e.prototype.init=function(e){this.connectorLink.href=this.webVaultUrl+"/u2f-connector.html?data="+this.base64Encode(JSON.stringify(e))+"&parent="+encodeURIComponent(this.win.document.location.href)+"&v=1",this.iframe=this.win.document.getElementById("u2f_iframe"),this.iframe.src=this.connectorLink.href,this.win.addEventListener("message",this.parseFunction,!1)},e.prototype.stop=function(){this.sendMessage("stop")},e.prototype.start=function(){this.sendMessage("start")},e.prototype.sendMessage=function(e){this.iframe&&this.iframe.src&&this.iframe.contentWindow&&this.iframe.contentWindow.postMessage(e,this.iframe.src)},e.prototype.base64Encode=function(e){return btoa(encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,function(e,t){return String.fromCharCode("0x"+t)}))},e.prototype.cleanup=function(){this.win.removeEventListener("message",this.parseFunction,!1)},e.prototype.parseMessage=function(e){if(this.validMessage(e)){var t=e.data.split("|");"success"===t[0]&&this.successCallback?this.successCallback(t[1]):"error"===t[0]&&this.errorCallback?this.errorCallback(t[1]):"info"===t[0]&&this.infoCallback&&this.infoCallback(t[1])}},e.prototype.validMessage=function(e){return null!=e.origin&&""!==e.origin&&e.origin===this.connectorLink.origin&&null!=e.data&&"string"==typeof e.data&&(0===e.data.indexOf("success|")||0===e.data.indexOf("error|")||0===e.data.indexOf("info|"))},e}();t.U2f=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.userId=e,this.token=t}}();t.VerifyEmailRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.userId=e,this.token=t}}();t.VerifyDeleteRecoverRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){this.collections=[]}}();t.GroupRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){this.emails=[],this.collections=[]}}();t.OrganizationUserInviteRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){this.collections=[]}}();t.OrganizationUserUpdateRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){this.groupIds=[]}}();t.OrganizationUserUpdateGroupsRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.AppIdService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.LogService=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.PolicyRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.OrganizationUpdateRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Charge=0]="Charge",e[e.Credit=1]="Credit",e[e.PromotionalCredit=2]="PromotionalCredit",e[e.ReferralCredit=3]="ReferralCredit",e[e.Refund=4]="Refund"}(t.TransactionType||(t.TransactionType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.VerifyBankRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.BitPayInvoiceRequest=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(551).OrganizationTaxInfoUpdateRequest);t.PaymentRequest=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.OrganizationCreateRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.OrganizationUpgradeRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.SeatRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.StorageRequest=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(78).PasswordVerificationRequest);t.UpdateTwoFactorDuoRequest=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(78).PasswordVerificationRequest);t.TwoFactorProviderRequest=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(78).PasswordVerificationRequest);t.UpdateTwoFactorAuthenticatorRequest=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(78).PasswordVerificationRequest);t.UpdateTwoFactorEmailRequest=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(78).PasswordVerificationRequest);t.UpdateTwoFactorU2fDeleteRequest=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(78).PasswordVerificationRequest);t.UpdateTwoFactorU2fRequest=o},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t}(n(78).PasswordVerificationRequest);t.UpdateTwoFactorYubioOtpRequest=o},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&this.collections.length>0&&this.collections.forEach(function(e){o.collectionIds.indexOf(e.id)>-1&&(e.checked=!0)}),i.label=8;case 8:return r=this,[4,this.folderService.getAllDecrypted()];case 9:return r.folders=i.sent(),this.editMode&&this.previousCipherId!==this.cipherId&&this.eventService.collect(l.EventType.Cipher_ClientViewed,this.cipherId),this.previousCipherId=this.cipherId,[2]}})})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:return this.cipher.isDeleted?[2,this.restore()]:null==this.cipher.name||""===this.cipher.name?(this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("nameRequired")),[2,!1]):(this.editMode&&!this.cloneMode||this.cipher.type!==s.CipherType.Login||null==this.cipher.login.uris||1!==this.cipher.login.uris.length||null!=this.cipher.login.uris[0].uri&&""!==this.cipher.login.uris[0].uri||(this.cipher.login.uris=null),this.editMode&&!this.cloneMode||null==this.cipher.organizationId||(this.cipher.collectionIds=null==this.collections?[]:this.collections.filter(function(e){return e.checked}).map(function(e){return e.id})),this.cloneMode&&(this.cipher.id=null),[4,this.encryptCipher()]);case 1:e=t.sent(),t.label=2;case 2:return t.trys.push([2,4,,5]),this.formPromise=this.saveCipher(e),[4,this.formPromise];case 3:return t.sent(),this.cipher.id=e.id,this.platformUtilsService.eventTrack(this.editMode&&!this.cloneMode?"Edited Cipher":"Added Cipher"),this.platformUtilsService.showToast("success",null,this.i18nService.t(this.editMode&&!this.cloneMode?"editedItem":"addedItem")),this.onSavedCipher.emit(this.cipher),this.messagingService.send(this.editMode&&!this.cloneMode?"editedCipher":"addedCipher"),[2,!0];case 4:return t.sent(),[3,5];case 5:return[2,!1]}})})},e.prototype.addUri=function(){this.cipher.type===s.CipherType.Login&&(null==this.cipher.login.uris&&(this.cipher.login.uris=[]),this.cipher.login.uris.push(new y.LoginUriView))},e.prototype.removeUri=function(e){if(this.cipher.type===s.CipherType.Login&&null!=this.cipher.login.uris){var t=this.cipher.login.uris.indexOf(e);t>-1&&this.cipher.login.uris.splice(t,1)}},e.prototype.addField=function(){null==this.cipher.fields&&(this.cipher.fields=[]);var e=new m.FieldView;e.type=this.addFieldType,e.newField=!0,this.cipher.fields.push(e)},e.prototype.removeField=function(e){var t=this.cipher.fields.indexOf(e);t>-1&&this.cipher.fields.splice(t,1)},e.prototype.trackByFunction=function(e,t){return e},e.prototype.cancel=function(){this.onCancelled.emit(this.cipher)},e.prototype.attachments=function(){this.onEditAttachments.emit(this.cipher)},e.prototype.share=function(){this.onShareCipher.emit(this.cipher)},e.prototype.editCollections=function(){this.onEditCollections.emit(this.cipher)},e.prototype.delete=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return[4,this.platformUtilsService.showDialog(this.i18nService.t(this.cipher.isDeleted?"permanentlyDeleteItemConfirmation":"deleteItemConfirmation"),this.i18nService.t("deleteItem"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!e.sent())return[2,!1];e.label=2;case 2:return e.trys.push([2,4,,5]),this.deletePromise=this.deleteCipher(),[4,this.deletePromise];case 3:return e.sent(),this.platformUtilsService.eventTrack((this.cipher.isDeleted?"Permanently ":"")+"Deleted Cipher"),this.platformUtilsService.showToast("success",null,this.i18nService.t(this.cipher.isDeleted?"permanentlyDeletedItem":"deletedItem")),this.onDeletedCipher.emit(this.cipher),this.messagingService.send(this.cipher.isDeleted?"permanentlyDeletedCipher":"deletedCipher"),[3,5];case 4:return e.sent(),[3,5];case 5:return[2,!0]}})})},e.prototype.restore=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return this.cipher.isDeleted?[4,this.platformUtilsService.showDialog(this.i18nService.t("restoreItemConfirmation"),this.i18nService.t("restoreItem"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")]:[2,!1];case 1:if(!e.sent())return[2,!1];e.label=2;case 2:return e.trys.push([2,4,,5]),this.restorePromise=this.restoreCipher(),[4,this.restorePromise];case 3:return e.sent(),this.platformUtilsService.eventTrack("Restored Cipher"),this.platformUtilsService.showToast("success",null,this.i18nService.t("restoredItem")),this.onRestoredCipher.emit(this.cipher),this.messagingService.send("restoredCipher"),[3,5];case 4:return e.sent(),[3,5];case 5:return[2,!0]}})})},e.prototype.generatePassword=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return null!=this.cipher.login&&null!=this.cipher.login.password&&this.cipher.login.password.length?[4,this.platformUtilsService.showDialog(this.i18nService.t("overwritePasswordConfirmation"),this.i18nService.t("overwritePassword"),this.i18nService.t("yes"),this.i18nService.t("no"))]:[3,2];case 1:if(!e.sent())return[2,!1];e.label=2;case 2:return this.onGeneratePassword.emit(),[2,!0]}})})},e.prototype.togglePassword=function(){this.platformUtilsService.eventTrack("Toggled Password on Edit"),this.showPassword=!this.showPassword,document.getElementById("loginPassword").focus(),this.editMode&&this.showPassword&&this.eventService.collect(l.EventType.Cipher_ClientToggledPasswordVisible,this.cipherId)},e.prototype.toggleCardCode=function(){this.platformUtilsService.eventTrack("Toggled CardCode on Edit"),this.showCardCode=!this.showCardCode,document.getElementById("cardCode").focus(),this.editMode&&this.showCardCode&&this.eventService.collect(l.EventType.Cipher_ClientToggledCardCodeVisible,this.cipherId)},e.prototype.toggleFieldValue=function(e){var t=e;t.showValue=!t.showValue,this.editMode&&t.showValue&&this.eventService.collect(l.EventType.Cipher_ClientToggledHiddenFieldVisible,this.cipherId)},e.prototype.toggleUriOptions=function(e){var t=e;t.showOptions=(null!=t.showOptions||null==e.match)&&!t.showOptions},e.prototype.loginUriMatchChanged=function(e){var t=e;t.showOptions=null==t.showOptions||t.showOptions},e.prototype.drop=function(e){o.moveItemInArray(this.cipher.fields,e.previousIndex,e.currentIndex)},e.prototype.organizationChanged=function(){return r(this,void 0,void 0,function(){var e,t=this;return i(this,function(n){switch(n.label){case 0:return null!=this.writeableCollections&&this.writeableCollections.forEach(function(e){return e.checked=!1}),null==this.cipher.organizationId?[3,2]:(this.collections=this.writeableCollections.filter(function(e){return e.organizationId===t.cipher.organizationId}),[4,this.userService.getOrganization(this.cipher.organizationId)]);case 1:return null!=(e=n.sent())&&(this.cipher.organizationUseTotp=e.useTotp),[3,3];case 2:this.collections=[],n.label=3;case 3:return[2]}})})},e.prototype.checkPassword=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:return null!=this.checkPasswordPromise?[2]:null==this.cipher.login||null==this.cipher.login.password||""===this.cipher.login.password?[2]:(this.platformUtilsService.eventTrack("Check Password"),this.checkPasswordPromise=this.auditService.passwordLeaked(this.cipher.login.password),[4,this.checkPasswordPromise]);case 1:return e=t.sent(),this.checkPasswordPromise=null,e>0?this.platformUtilsService.showToast("warning",null,this.i18nService.t("passwordExposed",e.toString())):this.platformUtilsService.showToast("success",null,this.i18nService.t("passwordSafe")),[2]}})})},e.prototype.loadCollections=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return[4,this.collectionService.getAllDecrypted()];case 1:return[2,e.sent().filter(function(e){return!e.readOnly})]}})})},e.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},e.prototype.encryptCipher=function(){return this.cipherService.encrypt(this.cipher)},e.prototype.saveCipher=function(e){return this.cipherService.saveWithServer(e)},e.prototype.deleteCipher=function(){return this.cipher.isDeleted?this.cipherService.deleteWithServer(this.cipher.id):this.cipherService.softDeleteWithServer(this.cipher.id)},e.prototype.restoreCipher=function(){return this.cipherService.restoreWithServer(this.cipher.id)},e.ɵfac=function(t){return new(t||e)(S.ɵɵdirectiveInject(w.CipherService),S.ɵɵdirectiveInject(C.FolderService),S.ɵɵdirectiveInject(I.I18nService),S.ɵɵdirectiveInject(E.PlatformUtilsService),S.ɵɵdirectiveInject(P.AuditService),S.ɵɵdirectiveInject(k.StateService),S.ɵɵdirectiveInject(_.UserService),S.ɵɵdirectiveInject(A.CollectionService),S.ɵɵdirectiveInject(O.MessagingService),S.ɵɵdirectiveInject(T.EventService))},e.ɵdir=S.ɵɵdefineDirective({type:e,inputs:{cloneMode:"cloneMode",folderId:"folderId",cipherId:"cipherId",type:"type",collectionIds:"collectionIds",organizationId:"organizationId"},outputs:{onSavedCipher:"onSavedCipher",onDeletedCipher:"onDeletedCipher",onRestoredCipher:"onRestoredCipher",onCancelled:"onCancelled",onEditAttachments:"onEditAttachments",onShareCipher:"onShareCipher",onEditCollections:"onEditCollections",onGeneratePassword:"onGeneratePassword"}}),e}();t.AddEditComponent=M},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]104857600)return this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("maxFileSize")),[2];i.label=1;case 1:return i.trys.push([1,4,,5]),this.formPromise=this.saveCipherAttachment(t[0]),n=this,[4,this.formPromise];case 2:return n.cipherDomain=i.sent(),r=this,[4,this.cipherDomain.decrypt()];case 3:return r.cipher=i.sent(),this.platformUtilsService.eventTrack("Added Attachment"),this.platformUtilsService.showToast("success",null,this.i18nService.t("attachmentSaved")),this.onUploadedAttachment.emit(),[3,5];case 4:return i.sent(),[3,5];case 5:return e.type="",e.type="file",e.value="",[2]}})})},e.prototype.delete=function(e){return r(this,void 0,void 0,function(){var t;return i(this,function(n){switch(n.label){case 0:return null!=this.deletePromises[e.id]?[2]:[4,this.platformUtilsService.showDialog(this.i18nService.t("deleteAttachmentConfirmation"),this.i18nService.t("deleteAttachment"),this.i18nService.t("yes"),this.i18nService.t("no"),"warning")];case 1:if(!n.sent())return[2];n.label=2;case 2:return n.trys.push([2,4,,5]),this.deletePromises[e.id]=this.deleteCipherAttachment(e.id),[4,this.deletePromises[e.id]];case 3:return n.sent(),this.platformUtilsService.eventTrack("Deleted Attachment"),this.platformUtilsService.showToast("success",null,this.i18nService.t("deletedAttachment")),(t=this.cipher.attachments.indexOf(e))>-1&&this.cipher.attachments.splice(t,1),[3,5];case 4:return n.sent(),[3,5];case 5:return this.deletePromises[e.id]=null,this.onDeletedAttachment.emit(),[2]}})})},e.prototype.download=function(e){return r(this,void 0,void 0,function(){var t,n,r,o,a,s;return i(this,function(i){switch(i.label){case 0:return(t=e).downloading?[2]:this.canAccessAttachments?(t.downloading=!0,[4,fetch(new Request(e.url,{cache:"no-store"}))]):(this.platformUtilsService.showToast("error",this.i18nService.t("premiumRequired"),this.i18nService.t("premiumRequiredDesc")),[2]);case 1:if(200!==(n=i.sent()).status)return this.platformUtilsService.showToast("error",null,this.i18nService.t("errorOccurred")),t.downloading=!1,[2];i.label=2;case 2:return i.trys.push([2,8,,9]),[4,n.arrayBuffer()];case 3:return r=i.sent(),null==e.key?[3,4]:(a=e.key,[3,6]);case 4:return[4,this.cryptoService.getOrgKey(this.cipher.organizationId)];case 5:a=i.sent(),i.label=6;case 6:return o=a,[4,this.cryptoService.decryptFromBytes(r,o)];case 7:return s=i.sent(),this.platformUtilsService.saveFile(this.win,s,null,e.fileName),[3,9];case 8:return i.sent(),this.platformUtilsService.showToast("error",null,this.i18nService.t("errorOccurred")),[3,9];case 9:return t.downloading=!1,[2]}})})},e.prototype.init=function(){return r(this,void 0,void 0,function(){var e,t,n,r;return i(this,function(i){switch(i.label){case 0:return e=this,[4,this.loadCipher()];case 1:return e.cipherDomain=i.sent(),t=this,[4,this.cipherDomain.decrypt()];case 2:return t.cipher=i.sent(),n=this,[4,this.cryptoService.hasEncKey()];case 3:return n.hasUpdatedKey=i.sent(),[4,this.userService.canAccessPremium()];case 4:return r=i.sent(),this.canAccessAttachments=r||null!=this.cipher.organizationId,this.canAccessAttachments?[3,6]:[4,this.platformUtilsService.showDialog(this.i18nService.t("premiumRequiredDesc"),this.i18nService.t("premiumRequired"),this.i18nService.t("learnMore"),this.i18nService.t("cancel"))];case 5:return i.sent()&&this.platformUtilsService.launchUri("https://vault.bitwarden.com/#/?premium=purchase"),[3,8];case 6:return this.hasUpdatedKey?[3,8]:[4,this.platformUtilsService.showDialog(this.i18nService.t("updateKey"),this.i18nService.t("featureUnavailable"),this.i18nService.t("learnMore"),this.i18nService.t("cancel"),"warning")];case 7:i.sent()&&this.platformUtilsService.launchUri("https://help.bitwarden.com/article/update-encryption-key/"),i.label=8;case 8:return[2]}})})},e.prototype.reuploadCipherAttachment=function(e,t){return r(this,void 0,void 0,function(){var n,o=this;return i(this,function(a){switch(a.label){case 0:if(n=e,null!=e.key||n.downloading||null!=this.reuploadPromises[e.id])return[2];a.label=1;case 1:return a.trys.push([1,3,,4]),this.reuploadPromises[e.id]=Promise.resolve().then(function(){return r(o,void 0,void 0,function(){var r,o,a,s,l,c,p,u,d;return i(this,function(i){switch(i.label){case 0:return n.downloading=!0,[4,fetch(new Request(e.url,{cache:"no-store"}))];case 1:if(200!==(r=i.sent()).status)return this.platformUtilsService.showToast("error",null,this.i18nService.t("errorOccurred")),n.downloading=!1,[2];i.label=2;case 2:return i.trys.push([2,11,,12]),[4,r.arrayBuffer()];case 3:return o=i.sent(),null==e.key?[3,4]:(s=e.key,[3,6]);case 4:return[4,this.cryptoService.getOrgKey(this.cipher.organizationId)];case 5:s=i.sent(),i.label=6;case 6:return a=s,[4,this.cryptoService.decryptFromBytes(o,a)];case 7:return l=i.sent(),c=this,[4,this.cipherService.saveAttachmentRawWithServer(this.cipherDomain,e.fileName,l,t)];case 8:return c.cipherDomain=i.sent(),p=this,[4,this.cipherDomain.decrypt()];case 9:return p.cipher=i.sent(),this.deletePromises[e.id]=this.deleteCipherAttachment(e.id),[4,this.deletePromises[e.id]];case 10:return i.sent(),(u=this.cipher.attachments.filter(function(t){return t.id===e.id})).length>0&&(d=this.cipher.attachments.indexOf(u[0]))>-1&&this.cipher.attachments.splice(d,1),this.platformUtilsService.eventTrack("Reuploaded Attachment"),this.platformUtilsService.showToast("success",null,this.i18nService.t("attachmentSaved")),this.onReuploadedAttachment.emit(),[3,12];case 11:return i.sent(),this.platformUtilsService.showToast("error",null,this.i18nService.t("errorOccurred")),[3,12];case 12:return n.downloading=!1,[2]}})})}),[4,this.reuploadPromises[e.id]];case 2:return a.sent(),[3,4];case 3:return a.sent(),[3,4];case 4:return[2]}})})},e.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},e.prototype.saveCipherAttachment=function(e){return this.cipherService.saveAttachmentWithServer(this.cipherDomain,e)},e.prototype.deleteCipherAttachment=function(e){return this.cipherService.deleteAttachmentWithServer(this.cipher.id,e)},e.ɵfac=function(t){return new(t||e)(a.ɵɵdirectiveInject(s.CipherService),a.ɵɵdirectiveInject(l.I18nService),a.ɵɵdirectiveInject(c.CryptoService),a.ɵɵdirectiveInject(p.UserService),a.ɵɵdirectiveInject(u.PlatformUtilsService),a.ɵɵdirectiveInject(Window))},e.ɵdir=a.ɵɵdefineDirective({type:e,inputs:{cipherId:"cipherId"},outputs:{onUploadedAttachment:"onUploadedAttachment",onDeletedAttachment:"onDeletedAttachment",onReuploadedAttachment:"onReuploadedAttachment"}}),e}();t.AttachmentsComponent=d},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]this.pageSize&&(t=this.pagedCiphersCount),this.ciphers.length>e&&(this.pagedCiphers=this.pagedCiphers.concat(this.ciphers.slice(e,e+t))),this.pagedCiphersCount=this.pagedCiphers.length,this.didScroll=this.pagedCiphers.length>this.pageSize}},e.prototype.reload=function(e,t){return void 0===e&&(e=null),void 0===t&&(t=!1),r(this,void 0,void 0,function(){return i(this,function(n){switch(n.label){case 0:return this.loaded=!1,this.ciphers=[],[4,this.load(e,t)];case 1:return n.sent(),[2]}})})},e.prototype.refresh=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return e.trys.push([0,,2,3]),this.refreshing=!0,[4,this.reload(this.filter,this.deleted)];case 1:return e.sent(),[3,3];case 2:return this.refreshing=!1,[7];case 3:return[2]}})})},e.prototype.applyFilter=function(e){return void 0===e&&(e=null),r(this,void 0,void 0,function(){return i(this,function(t){switch(t.label){case 0:return this.filter=e,[4,this.search(null)];case 1:return t.sent(),[2]}})})},e.prototype.search=function(e){return void 0===e&&(e=null),r(this,void 0,void 0,function(){var t,n,o=this;return i(this,function(a){switch(a.label){case 0:return this.searchPending=!1,null!=this.searchTimeout&&clearTimeout(this.searchTimeout),t=function(e){return e.isDeleted===o.deleted},null!=e?[3,3]:(n=this,[4,this.searchService.searchCiphers(this.searchText,[this.filter,t],null)]);case 1:return n.ciphers=a.sent(),[4,this.resetPaging()];case 2:return a.sent(),[2];case 3:return this.searchPending=!0,this.searchTimeout=setTimeout(function(){return r(o,void 0,void 0,function(){var e;return i(this,function(n){switch(n.label){case 0:return e=this,[4,this.searchService.searchCiphers(this.searchText,[this.filter,t],null)];case 1:return e.ciphers=n.sent(),[4,this.resetPaging()];case 2:return n.sent(),this.searchPending=!1,[2]}})})},e),[2]}})})},e.prototype.selectCipher=function(e){this.onCipherClicked.emit(e)},e.prototype.rightClickCipher=function(e){this.onCipherRightClicked.emit(e)},e.prototype.addCipher=function(){this.onAddCipher.emit()},e.prototype.addCipherOptions=function(){this.onAddCipherOptions.emit()},e.prototype.isSearching=function(){return!this.searchPending&&this.searchService.isSearchable(this.searchText)},e.prototype.isPaging=function(){var e=this.isSearching();return e&&this.didScroll&&this.resetPaging(),!e&&this.ciphers.length>this.pageSize},e.prototype.resetPaging=function(){return r(this,void 0,void 0,function(){return i(this,function(e){return this.pagedCiphers=[],this.loadMore(),[2]})})},e.ɵfac=function(t){return new(t||e)(a.ɵɵdirectiveInject(s.SearchService))},e.ɵdir=a.ɵɵdefineDirective({type:e,inputs:{activeCipherId:"activeCipherId"},outputs:{onCipherClicked:"onCipherClicked",onCipherRightClicked:"onCipherRightClicked",onAddCipher:"onAddCipher",onAddCipherOptions:"onAddCipherOptions"}}),e}();t.CiphersComponent=l},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1}),[2]}})})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e;return i(this,function(t){switch(t.label){case 0:if(e=this.collections.filter(function(e){return!!e.checked}).map(function(e){return e.id}),!this.allowSelectNone&&0===e.length)return this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("selectOneCollection")),[2];this.cipherDomain.collectionIds=e,t.label=1;case 1:return t.trys.push([1,3,,4]),this.formPromise=this.saveCollections(),[4,this.formPromise];case 2:return t.sent(),this.onSavedCollections.emit(),this.platformUtilsService.eventTrack("Edited Cipher Collections"),this.platformUtilsService.showToast("success",null,this.i18nService.t("editedItem")),[3,4];case 3:return t.sent(),[3,4];case 4:return[2]}})})},e.prototype.loadCipher=function(){return this.cipherService.get(this.cipherId)},e.prototype.loadCipherCollections=function(){return this.cipherDomain.collectionIds},e.prototype.loadCollections=function(){return r(this,void 0,void 0,function(){var e=this;return i(this,function(t){switch(t.label){case 0:return[4,this.collectionService.getAllDecrypted()];case 1:return[2,t.sent().filter(function(t){return!t.readOnly&&t.organizationId===e.cipher.organizationId})]}})})},e.prototype.saveCollections=function(){return this.cipherService.saveCollectionsWithServer(this.cipherDomain)},e.ɵfac=function(t){return new(t||e)(a.ɵɵdirectiveInject(s.CollectionService),a.ɵɵdirectiveInject(l.PlatformUtilsService),a.ɵɵdirectiveInject(c.I18nService),a.ɵɵdirectiveInject(p.CipherService))},e.ɵdir=a.ɵɵdefineDirective({type:e,inputs:{cipherId:"cipherId",allowSelectNone:"allowSelectNone"},outputs:{onSavedCollections:"onSavedCollections"}}),e}();t.CollectionsComponent=u},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(this.organizationId=this.organizations[0].id),this.filterCollections(),[2]}})})},e.prototype.filterCollections=function(){var e=this;this.writeableCollections.forEach(function(e){return e.checked=!1}),null==this.organizationId||0===this.writeableCollections.length?this.collections=[]:this.collections=this.writeableCollections.filter(function(t){return t.organizationId===e.organizationId})},e.prototype.submit=function(){return r(this,void 0,void 0,function(){var e,t,n=this;return i(this,function(o){switch(o.label){case 0:return 0===(e=this.collections.filter(function(e){return!!e.checked}).map(function(e){return e.id})).length?(this.platformUtilsService.showToast("error",this.i18nService.t("errorOccurred"),this.i18nService.t("selectOneCollection")),[2]):[4,this.cipherService.get(this.cipherId)];case 1:return[4,o.sent().decrypt()];case 2:t=o.sent(),o.label=3;case 3:return o.trys.push([3,5,,6]),this.formPromise=this.cipherService.shareWithServer(t,this.organizationId,e).then(function(){return r(n,void 0,void 0,function(){return i(this,function(e){return this.onSharedCipher.emit(),this.platformUtilsService.eventTrack("Shared Cipher"),this.platformUtilsService.showToast("success",null,this.i18nService.t("sharedItem")),[2]})})}),[4,this.formPromise];case 4:return o.sent(),[2,!0];case 5:return o.sent(),[3,6];case 6:return[2,!1]}})})},Object.defineProperty(e.prototype,"canSave",{get:function(){if(null!=this.collections)for(var e=0;e0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=e?c[e-1]():0===c.length&&(s.delete(l),0===s.size&&a.delete(n))};o.apply(n,r).then(function(e){return u(),e}).catch(function(e){throw u(),e}).then(t,i)};c.push(p),c.length<=e&&p()})}}}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.ids=null==e?[]:e,this.folderId=t}}();t.CipherBulkMoveRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.ids=null==e?[]:e}}();t.CipherBulkRestoreRequest=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(483),i=function(){return function(e,t){var n=this;null!=e&&(this.ciphers=[],e.forEach(function(e){n.ciphers.push(new r.CipherWithIdRequest(e))})),this.collectionIds=t}}();t.CipherBulkShareRequest=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(208),i=function(){return function(e){this.cipher=new r.CipherRequest(e),this.collectionIds=e.collectionIds}}();t.CipherShareRequest=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e){this.comparator=e,this.sortedCiphersByUrl=new Map,this.timeouts=new Map}return e.prototype.isCached=function(e){return this.sortedCiphersByUrl.has(e)},e.prototype.addCiphers=function(e,t){t.sort(this.comparator),this.sortedCiphersByUrl.set(e,new i(t)),this.resetTimer(e)},e.prototype.getLastUsed=function(e){return this.resetTimer(e),this.isCached(e)?this.sortedCiphersByUrl.get(e).getLastUsed():null},e.prototype.getLastLaunched=function(e){return this.isCached(e)?this.sortedCiphersByUrl.get(e).getLastLaunched():null},e.prototype.getNext=function(e){return this.resetTimer(e),this.isCached(e)?this.sortedCiphersByUrl.get(e).getNext():null},e.prototype.updateLastUsedIndex=function(e){this.isCached(e)&&this.sortedCiphersByUrl.get(e).updateLastUsedIndex()},e.prototype.clear=function(){this.sortedCiphersByUrl.clear(),this.timeouts.clear()},e.prototype.resetTimer=function(e){var t=this;clearTimeout(this.timeouts.get(e)),this.timeouts.set(e,setTimeout(function(){t.sortedCiphersByUrl.delete(e),t.timeouts.delete(e)},3e3))},e}();t.SortedCiphersCache=r;var i=function(){function e(e){this.ciphers=e,this.lastUsedIndex=-1}return e.prototype.getLastUsed=function(){return this.lastUsedIndex=Math.max(this.lastUsedIndex,0),this.ciphers[this.lastUsedIndex]},e.prototype.getLastLaunched=function(){return this.ciphers.filter(function(e){var t;return null===(t=e.localData)||void 0===t?void 0:t.lastLaunched}).sort(function(e,t){return t.localData.lastLaunched.valueOf()-e.localData.lastLaunched.valueOf()})[0]},e.prototype.getNextIndex=function(){return(this.lastUsedIndex+1)%this.ciphers.length},e.prototype.getNext=function(){return this.ciphers[this.getNextIndex()]},e.prototype.updateLastUsedIndex=function(){this.lastUsedIndex=this.getNextIndex()},e}()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t,n){this.children=[],this.parent=n,this.node=e,this.node.name=t}}();t.TreeNode=r},,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.EncryptedObject=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.EnvironmentUrls=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(125),a=function(e){function t(t,n){void 0===n&&(n=!1);var r=e.call(this)||this;return null==t?r:(r.buildDomainModel(r,t,{id:null,name:null},n,["id"]),r.revisionDate=null!=t.revisionDate?new Date(t.revisionDate):null,r)}return i(t,e),t.prototype.decrypt=function(){return this.decryptObj(new o.FolderView(this),{name:null},null)},t}(n(80).default);t.Folder=a},,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e,t){this.password=e,this.date=t}}();t.GeneratedPasswordHistory=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.defaultType="",t.minLength=0,t.useUppercase=!1,t.useLowercase=!1,t.useNumbers=!1,t.numberCount=0,t.useSpecial=!1,t.specialCount=0,t.minNumberWords=0,t.capitalize=!1,t.includeNumber=!1,t}return i(t,e),t.prototype.inEffect=function(){return""!==this.defaultType||this.minLength>0||this.numberCount>0||this.specialCount>0||this.useUppercase||this.useLowercase||this.useNumbers||this.useSpecial||this.minNumberWords>0||this.capitalize||this.includeNumber},t}(n(80).default);t.PasswordGeneratorPolicyOptions=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(e){this.id=e.id,this.name=e.name,this.status=e.status,this.type=e.type,this.enabled=e.enabled,this.usePolicies=e.usePolicies,this.useGroups=e.useGroups,this.useDirectory=e.useDirectory,this.useEvents=e.useEvents,this.useTotp=e.useTotp,this.use2fa=e.use2fa,this.useApi=e.useApi,this.useBusinessPortal=e.useBusinessPortal,this.useSso=e.useSso,this.selfHost=e.selfHost,this.usersGetPremium=e.usersGetPremium,this.seats=e.seats,this.maxCollections=e.maxCollections,this.maxStorageGb=e.maxStorageGb,this.ssoBound=e.ssoBound,this.identifier=e.identifier}}();t.OrganizationData=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},a=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=0?this.browserCache=a.DeviceType.OperaBrowser:-1!==navigator.userAgent.indexOf(" Edg/")?this.browserCache=a.DeviceType.EdgeBrowser:-1!==navigator.userAgent.indexOf(" Vivaldi/")?this.browserCache=a.DeviceType.VivaldiBrowser:-1!==navigator.userAgent.indexOf(" Safari/")&&-1===navigator.userAgent.indexOf("Chrome")?this.browserCache=a.DeviceType.SafariBrowser:window.chrome&&-1!==navigator.userAgent.indexOf(" Chrome/")?this.browserCache=a.DeviceType.ChromeBrowser:-1!==navigator.userAgent.indexOf(" Trident/")?this.browserCache=a.DeviceType.IEBrowser:this.browserCache=a.DeviceType.UnknownBrowser,this.browserCache)},e.prototype.getDeviceString=function(){return a.DeviceType[this.getDevice()].toLowerCase().replace("browser","")},e.prototype.isFirefox=function(){return this.getDevice()===a.DeviceType.FirefoxBrowser},e.prototype.isChrome=function(){return this.getDevice()===a.DeviceType.ChromeBrowser},e.prototype.isEdge=function(){return this.getDevice()===a.DeviceType.EdgeBrowser},e.prototype.isOpera=function(){return this.getDevice()===a.DeviceType.OperaBrowser},e.prototype.isVivaldi=function(){return this.getDevice()===a.DeviceType.VivaldiBrowser},e.prototype.isSafari=function(){return this.getDevice()===a.DeviceType.SafariBrowser},e.prototype.isIE=function(){return this.getDevice()===a.DeviceType.IEBrowser},e.prototype.isMacAppStore=function(){return!1},e.prototype.analyticsId=function(){return"UA-81915606-3"},e.prototype.isViewOpen=function(){return Promise.resolve(!1)},e.prototype.lockTimeout=function(){return null},e.prototype.launchUri=function(e,t){var n=document.createElement("a");n.href=e,null!=t&&t.sameWindow||(n.target="_blank",n.rel="noreferrer noopener"),n.classList.add("d-none"),document.body.appendChild(n),n.click(),document.body.removeChild(n)},e.prototype.saveFile=function(e,t,n,r){var i=null,o=null,a=r.toLowerCase(),s=!0;if(a.endsWith(".pdf")?(o="application/pdf",s=!1):a.endsWith(".xlsx")?o="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":a.endsWith(".docx")?o="application/vnd.openxmlformats-officedocument.wordprocessingml.document":a.endsWith(".pptx")?o="application/vnd.openxmlformats-officedocument.presentationml.presentation":a.endsWith(".csv")?o="text/csv":a.endsWith(".png")?o="image/png":a.endsWith(".jpg")||a.endsWith(".jpeg")?o="image/jpeg":a.endsWith(".gif")&&(o="image/gif"),null!=o&&null==(n=n||{}).type&&(n.type=o),i=null==n||this.isIE()?new Blob([t]):new Blob([t],n),navigator.msSaveOrOpenBlob)navigator.msSaveBlob(i,r);else{var l=e.document.createElement("a");s?l.download=r:l.target="_blank",l.href=URL.createObjectURL(i),l.style.position="fixed",e.document.body.appendChild(l),l.click(),e.document.body.removeChild(l)}},e.prototype.getApplicationVersion=function(){return"2.17.1"},e.prototype.supportsU2f=function(e){return null!=e&&null!=e.u2f||(this.isChrome()||(this.isOpera()||this.isVivaldi())&&!s.Utils.isMobileBrowser)},e.prototype.supportsDuo=function(){return!0},e.prototype.showToast=function(e,t,n,r){this.messagingService.send("showToast",{text:n,title:t,type:e,options:r})},e.prototype.showDialog=function(e,t,n,a,s){return r(this,void 0,void 0,function(){var r,l;return i(this,function(i){switch(i.label){case 0:if(r=null,null!=s)switch(s){case"success":r="fa-check text-success";break;case"warning":r="fa-warning text-warning";break;case"error":r="fa-bolt text-danger";break;case"info":r="fa-info-circle text-info"}return l=null!=r?'':void 0,[4,o.default.fire({heightAuto:!1,buttonsStyling:!1,icon:s,iconHtml:l,text:e,title:t,showCancelButton:null!=a,cancelButtonText:a,showConfirmButton:!0,confirmButtonText:null==n?this.i18nService.t("ok"):n})];case 1:return[2,i.sent().value]}})})},e.prototype.eventTrack=function(e,t,n){this.messagingService.send("analyticsEventTrack",{action:e,label:t,options:n})},e.prototype.isDev=function(){return!1},e.prototype.isSelfHost=function(){return"true"===(!1).toString()},e.prototype.copyToClipboard=function(e,t){var n=window,r=window.document;if(t&&(t.window||t.win)?r=(n=t.window||t.win).document:t&&t.doc&&(r=t.doc),n.clipboardData&&n.clipboardData.setData)n.clipboardData.setData("Text",e);else if(r.queryCommandSupported&&r.queryCommandSupported("copy")){var i=r.createElement("textarea");i.textContent=e,i.style.position="fixed";var o=r.body;r.body.classList.contains("modal-open")&&(o=r.body.querySelector(".modal")),o.appendChild(i),i.select();try{r.execCommand("copy")}catch(a){console.warn("Copy to clipboard failed.",a)}finally{o.removeChild(i)}}},e.prototype.readFromClipboard=function(e){throw new Error("Cannot read from clipboard on web.")},e.prototype.supportsBiometric=function(){return Promise.resolve(!1)},e.prototype.authenticateBiometric=function(){return Promise.resolve(!1)},e.prototype.supportsSecureStorage=function(){return!1},e}();t.WebPlatformUtilsService=l},function(e,t,n){"use strict";var r,i=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},o=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1&&(e=e.substring(0,t)),0!==e.indexOf("!/")&&0!==e.indexOf("#/")||(e=e.substring(1));var n=e.split("/"),r=[];return n.forEach(function(e){e.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i)?r.push("__guid__"):r.push(e)}),encodeURIComponent(r.join("/"))},e}();t.Analytics=l},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&e.data.forEach(function(e){var r=new l.Collection(new p.CollectionData(e));t.push(r.decrypt().then(function(e){n.push(e)}))}),Promise.all(t)})),h.push(this.apiService.getCiphersOrganization(e).then(function(e){var t=[];return null!=e&&null!=e.data&&e.data.length>0&&e.data.forEach(function(e){var n=new s.Cipher(new c.CipherData(e));t.push(n.decrypt().then(function(e){r.push(e)}))}),Promise.all(t)})),[4,Promise.all(h)];case 1:return i.sent(),"csv"===t?(f=new Map,n.forEach(function(e){f.set(e.id,e)}),m=[],r.forEach(function(e){if(e.type===a.CipherType.Login||e.type===a.CipherType.SecureNote){var t={collections:[]};null!=e.collectionIds&&(t.collections=e.collectionIds.filter(function(e){return f.has(e)}).map(function(e){return f.get(e).name})),y.buildCommonCipher(t,e),m.push(t)}}),[2,o.unparse(m)]):(v={collections:[],items:[]},n.forEach(function(e){var t=new d.CollectionWithId;t.build(e),v.collections.push(t)}),r.forEach(function(e){var t=new u.CipherWithIds;t.build(e),v.items.push(t)}),[2,JSON.stringify(v,null," ")])}})})},e.prototype.getFileName=function(e,t){void 0===e&&(e=null),void 0===t&&(t="csv");var n=new Date;return"bitwarden"+(e?"_"+e:"")+"_export_"+(n.getFullYear()+""+this.padNumber(n.getMonth()+1,2)+this.padNumber(n.getDate(),2)+this.padNumber(n.getHours(),2)+this.padNumber(n.getMinutes(),2)+this.padNumber(n.getSeconds(),2))+"."+t},e.prototype.padNumber=function(e,t,n){void 0===n&&(n="0");var r=e.toString();return r.length>=t?r:new Array(t-r.length+1).join(n)+r},e.prototype.buildCommonCipher=function(e,t){switch(e.type=null,e.name=t.name,e.notes=t.notes,e.fields=null,e.login_uri=null,e.login_username=null,e.login_password=null,e.login_totp=null,t.fields&&t.fields.forEach(function(t){e.fields?e.fields+="\n":e.fields="",e.fields+=(t.name||"")+": "+t.value}),t.type){case a.CipherType.Login:e.type="login",e.login_username=t.login.username,e.login_password=t.login.password,e.login_totp=t.login.totp,t.login.uris&&(e.login_uri=[],t.login.uris.forEach(function(t){e.login_uri.push(t.uri)}));break;case a.CipherType.SecureNote:e.type="note";break;default:return}return e},e}();t.ExportService=f},,function(e,t){},,function(e,t){},,,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(39),i=n(138),o=n(935),a=n(936),s=n(937),l=n(938),c=n(940),p=function(){function e(){}return e.template=function(){var t=new e;return t.organizationId=null,t.folderId=null,t.type=r.CipherType.Login,t.name="Item name",t.notes="Some notes about this item.",t.favorite=!1,t.fields=[],t.login=null,t.secureNote=null,t.card=null,t.identity=null,t},e.toView=function(e,t){switch(void 0===t&&(t=new i.CipherView),t.type=e.type,t.folderId=e.folderId,null==t.organizationId&&(t.organizationId=e.organizationId),t.name=e.name,t.notes=e.notes,t.favorite=e.favorite,null!=e.fields&&(t.fields=e.fields.map(function(e){return a.Field.toView(e)})),e.type){case r.CipherType.Login:t.login=l.Login.toView(e.login);break;case r.CipherType.SecureNote:t.secureNote=c.SecureNote.toView(e.secureNote);break;case r.CipherType.Card:t.card=o.Card.toView(e.card);break;case r.CipherType.Identity:t.identity=s.Identity.toView(e.identity)}return t},e.prototype.build=function(e){switch(this.organizationId=e.organizationId,this.folderId=e.folderId,this.type=e.type,this.name=e.name,this.notes=e.notes,this.favorite=e.favorite,null!=e.fields&&(this.fields=e.fields.map(function(e){return new a.Field(e)})),e.type){case r.CipherType.Login:this.login=new l.Login(e.login);break;case r.CipherType.SecureNote:this.secureNote=new c.SecureNote(e.secureNote);break;case r.CipherType.Card:this.card=new o.Card(e.card);break;case r.CipherType.Identity:this.identity=new s.Identity(e.identity)}},e}();t.Cipher=p},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(87),i=function(){function e(e){null!=e&&(this.cardholderName=e.cardholderName,this.brand=e.brand,this.number=e.number,this.expMonth=e.expMonth,this.expYear=e.expYear,this.code=e.code)}return e.template=function(){var t=new e;return t.cardholderName="John Doe",t.brand="visa",t.number="4242424242424242",t.expMonth="04",t.expYear="2023",t.code="123",t},e.toView=function(e,t){return void 0===t&&(t=new r.CardView),t.cardholderName=e.cardholderName,t.brand=e.brand,t.number=e.number,t.expMonth=e.expMonth,t.expYear=e.expYear,t.code=e.code,t},e}();t.Card=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(140),i=n(207),o=function(){function e(e){null!=e&&(this.name=e.name,this.value=e.value,this.type=e.type)}return e.template=function(){var t=new e;return t.name="Field name",t.value="Some value",t.type=r.FieldType.Text,t},e.toView=function(e,t){return void 0===t&&(t=new i.FieldView),t.type=e.type,t.value=e.value,t.name=e.name,t},e}();t.Field=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(139),i=function(){function e(e){null!=e&&(this.title=e.title,this.firstName=e.firstName,this.middleName=e.middleName,this.lastName=e.lastName,this.address1=e.address1,this.address2=e.address2,this.address3=e.address3,this.city=e.city,this.state=e.state,this.postalCode=e.postalCode,this.country=e.country,this.company=e.company,this.email=e.email,this.phone=e.phone,this.ssn=e.ssn,this.username=e.username,this.passportNumber=e.passportNumber,this.licenseNumber=e.licenseNumber)}return e.template=function(){var t=new e;return t.title="Mr",t.firstName="John",t.middleName="William",t.lastName="Doe",t.address1="123 Any St",t.address2="Apt #123",t.address3=null,t.city="New York",t.state="NY",t.postalCode="10001",t.country="US",t.company="Acme Inc.",t.email="john@company.com",t.phone="5555551234",t.ssn="000-123-4567",t.username="jdoe",t.passportNumber="US-123456789",t.licenseNumber="D123-12-123-12333",t},e.toView=function(e,t){return void 0===t&&(t=new r.IdentityView),t.title=e.title,t.firstName=e.firstName,t.middleName=e.middleName,t.lastName=e.lastName,t.address1=e.address1,t.address2=e.address2,t.address3=e.address3,t.city=e.city,t.state=e.state,t.postalCode=e.postalCode,t.country=e.country,t.company=e.company,t.email=e.email,t.phone=e.phone,t.ssn=e.ssn,t.username=e.username,t.passportNumber=e.passportNumber,t.licenseNumber=e.licenseNumber,t},e}();t.Identity=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(939),i=n(154),o=function(){function e(e){null!=e&&(null!=e.uris&&(this.uris=e.uris.map(function(e){return new r.LoginUri(e)})),this.username=e.username,this.password=e.password,this.totp=e.totp)}return e.template=function(){var t=new e;return t.uris=[],t.username="jdoe",t.password="myp@ssword123",t.totp="JBSWY3DPEHPK3PXP",t},e.toView=function(e,t){return void 0===t&&(t=new i.LoginView),null!=e.uris&&(t.uris=e.uris.map(function(e){return r.LoginUri.toView(e)})),t.username=e.username,t.password=e.password,t.totp=e.totp,t},e}();t.Login=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(254),i=function(){function e(e){this.match=null,null!=e&&(this.uri=e.uri,this.match=e.match)}return e.template=function(){var t=new e;return t.uri="https://google.com",t.match=null,t},e.toView=function(e,t){return void 0===t&&(t=new r.LoginUriView),t.uri=e.uri,t.match=e.match,t},e}();t.LoginUri=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(110),i=n(93),o=function(){function e(e){null!=e&&(this.type=e.type)}return e.template=function(){var t=new e;return t.type=r.SecureNoteType.Generic,t},e.toView=function(e,t){return void 0===t&&(t=new i.SecureNoteView),t.type=e.type,t},e}();t.SecureNote=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(153),i=function(){function e(){}return e.template=function(){var t=new e;return t.organizationId="00000000-0000-0000-0000-000000000000",t.name="Collection name",t.externalId=null,t},e.toView=function(e,t){return void 0===t&&(t=new r.CollectionView),t.name=e.name,t.externalId=e.externalId,null==t.organizationId&&(t.organizationId=e.organizationId),t},e.prototype.build=function(e){this.organizationId=e.organizationId,this.name=e.name,this.externalId=e.externalId},e}();t.Collection=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(125),i=function(){function e(){}return e.template=function(){var t=new e;return t.name="Folder name",t},e.toView=function(e,t){return void 0===t&&(t=new r.FolderView),t.name=e.name,t},e.prototype.build=function(e){this.name=e.name},e}();t.Folder=i},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&(o=Math.floor(r.ciphers.length/2),a=r.ciphers.length-1,this.badData(r.ciphers[0])&&this.badData(r.ciphers[o])&&this.badData(r.ciphers[a]))?[2,new Error(this.i18nService.t("importFormatError"))]:[4,this.postImport(r,n)]:[3,3];case 2:return i.sent(),[2,null];case 3:return[2,new Error(this.i18nService.t("importFormatError"))]}})})},e.prototype.getImporter=function(e,t){void 0===t&&(t=!1);var n=this.getImporterInstance(e);return null==n?null:(n.organization=t,n)},e.prototype.getImporterInstance=function(e){if(null==e||""===e)return null;switch(e){case"bitwardencsv":return new y.BitwardenCsvImporter;case"bitwardenjson":return new g.BitwardenJsonImporter;case"lastpasscsv":case"passboltcsv":return new V.LastPassCsvImporter;case"keepassxcsv":return new D.KeePassXCsvImporter;case"aviracsv":return new v.AviraCsvImporter;case"blurcsv":return new b.BlurCsvImporter;case"safeincloudxml":return new ee.SafeInCloudXmlImporter;case"padlockcsv":return new G.PadlockCsvImporter;case"keepass2xml":return new B.KeePass2XmlImporter;case"chromecsv":case"operacsv":case"vivaldicsv":return new w.ChromeCsvImporter;case"firefoxcsv":return new A.FirefoxCsvImporter;case"upmcsv":return new ae.UpmCsvImporter;case"saferpasscsv":return new te.SaferPassCsvImporter;case"meldiumcsv":return new U.MeldiumCsvImporter;case"1password1pif":return new z.OnePassword1PifImporter;case"1passwordwincsv":return new L.OnePasswordWinCsvImporter;case"keepercsv":return new j.KeeperCsvImporter;case"passworddragonxml":return new Q.PasswordDragonXmlImporter;case"enpasscsv":return new k.EnpassCsvImporter;case"enpassjson":return new _.EnpassJsonImporter;case"pwsafexml":return new Y.PasswordSafeXmlImporter;case"dashlanejson":return new E.DashlaneJsonImporter;case"msecurecsv":return new F.MSecureCsvImporter;case"stickypasswordxml":return new ie.StickyPasswordXmlImporter;case"truekeycsv":return new oe.TrueKeyCsvImporter;case"clipperzhtml":return new C.ClipperzHtmlImporter;case"roboformcsv":return new Z.RoboFormCsvImporter;case"ascendocsv":return new h.AscendoCsvImporter;case"passwordbossjson":return new $.PasswordBossJsonImporter;case"zohovaultcsv":return new le.ZohoVaultCsvImporter;case"splashidcsv":return new re.SplashIdCsvImporter;case"passkeepcsv":return new K.PassKeepCsvImporter;case"gnomejson":return new T.GnomeJsonImporter;case"passwordagentcsv":return new H.PasswordAgentCsvImporter;case"passpackcsv":return new W.PasspackCsvImporter;case"passmanjson":return new q.PassmanJsonImporter;case"avastcsv":return new f.AvastCsvImporter;case"avastjson":return new m.AvastJsonImporter;case"fsecurefsk":return new O.FSecureFskImporter;case"kasperskytxt":return new M.KasperskyTxtImporter;case"remembearcsv":return new X.RememBearCsvImporter;case"passwordwallettxt":return new J.PasswordWalletTxtImporter;case"mykicsv":return new N.MykiCsvImporter;case"securesafecsv":return new ne.SecureSafeCsvImporter;case"logmeoncecsv":return new R.LogMeOnceCsvImporter;case"blackberrycsv":return new x.BlackBerryCsvImporter;case"buttercupcsv":return new S.ButtercupCsvImporter;case"codebookcsv":return new I.CodebookCsvImporter;case"encryptrcsv":return new P.EncryptrCsvImporter;case"yoticsv":return new se.YotiCsvImporter;default:return null}},e.prototype.postImport=function(e,t){return void 0===t&&(t=null),r(this,void 0,void 0,function(){var n,r,o,a,h;return i(this,function(i){switch(i.label){case 0:if(null!=t)return[3,10];n=new p.ImportCiphersRequest,a=0,i.label=1;case 1:return a2&&e.length%2==0)for(var i=0;i-1?r.login.password=t.getValueOrDefault(o):null==r.login.username&&t.usernameFieldNames.indexOf(s)>-1?r.login.username=t.getValueOrDefault(o):(null==r.login.uris||0===r.login.uris.length)&&t.uriFieldNames.indexOf(s)>-1?r.login.uris=t.makeUriArray(o):t.processKvp(r,a,o)}}t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,n)},t}(o.BaseImporter);t.AscendoCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,n):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.name),r.login.uris=t.makeUriArray(e.web),r.login.password=t.getValueOrDefault(e.password),r.login.username=t.getValueOrDefault(e.login),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,n)},t}(o.BaseImporter);t.AvastCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=n(39),l=n(110),c=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=JSON.parse(e);return null==r?(n.success=!1,n):(null!=r.logins&&r.logins.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.custName),r.notes=t.getValueOrDefault(e.note),r.login.uris=t.makeUriArray(e.url),r.login.password=t.getValueOrDefault(e.pwd),r.login.username=t.getValueOrDefault(e.loginName),t.cleanupCipher(r),n.ciphers.push(r)}),null!=r.notes&&r.notes.forEach(function(e){var r=t.initLoginCipher();r.type=s.CipherType.SecureNote,r.secureNote.type=l.SecureNoteType.Generic,r.name=t.getValueOrDefault(e.label),r.notes=t.getValueOrDefault(e.text),t.cleanupCipher(r),n.ciphers.push(r)}),null!=r.cards&&r.cards.forEach(function(e){var r=t.initLoginCipher();r.type=s.CipherType.Card,r.name=t.getValueOrDefault(e.custName),r.notes=t.getValueOrDefault(e.note),r.card.cardholderName=t.getValueOrDefault(e.holderName),r.card.number=t.getValueOrDefault(e.cardNumber),r.card.code=t.getValueOrDefault(e.cvv),r.card.brand=t.getCardBrand(r.card.number),null!=e.expirationDate&&(null!=e.expirationDate.month&&(r.card.expMonth=e.expirationDate.month+""),null!=e.expirationDate.year&&(r.card.expYear=e.expirationDate.year+"")),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,n)},t}(o.BaseImporter);t.AvastJsonImporter=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,n):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.name,t.getValueOrDefault(t.nameFromUrl(e.website),"--")),r.login.uris=t.makeUriArray(e.website),r.login.password=t.getValueOrDefault(e.password),t.isNullOrWhitespace(e.username)&&!t.isNullOrWhitespace(e.secondary_username)?r.login.username=e.secondary_username:(r.login.username=t.getValueOrDefault(e.username),r.notes=t.getValueOrDefault(e.secondary_username)),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,n)},t}(o.BaseImporter);t.AviraCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=n(138),l=n(153),c=n(207),p=n(154),u=n(93),d=n(39),h=n(140),f=n(110),m=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,n):(r.forEach(function(e){t.organization&&!t.isNullOrWhitespace(e.collections)?e.collections.split(",").forEach(function(e){for(var t=!0,r=n.collections.length,i=0;ia+2&&(m.value=i[o].substr(a+2)),r.fields.push(m)}}switch(null!=e.type?e.type.toLowerCase():null){case"note":r.type=d.CipherType.SecureNote,r.secureNote=new u.SecureNoteView,r.secureNote.type=f.SecureNoteType.Generic;break;default:r.type=d.CipherType.Login,r.login=new p.LoginView,r.login.totp=t.getValueOrDefault(e.login_totp||e.totp),r.login.username=t.getValueOrDefault(e.login_username||e.username),r.login.password=t.getValueOrDefault(e.login_password||e.password);var v=t.parseSingleRowCsv(e.login_uri||e.uri);r.login.uris=t.makeUriArray(v)}n.ciphers.push(r)}),n.success=!0,n)},t}(o.BaseImporter);t.BitwardenCsvImporter=m},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=n(686),l=n(687),c=n(688),p=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=JSON.parse(e);if(null==r||null==r.items||0===r.items.length)return n.success=!1,n;var i=new Map;return this.organization&&null!=r.collections?r.collections.forEach(function(e){var t=l.CollectionWithId.toView(e);null!=t&&(t.id=null,t.organizationId=null,i.set(e.id,n.collections.length),n.collections.push(t))}):this.organization||null==r.folders||r.folders.forEach(function(e){var t=c.FolderWithId.toView(e);null!=t&&(t.id=null,i.set(e.id,n.folders.length),n.folders.push(t))}),r.items.forEach(function(e){var r=s.CipherWithIds.toView(e);r.id=null,r.folderId=null,r.organizationId=null,r.collectionIds=null,null!=r.passwordHistory&&r.passwordHistory.length>5&&(r.passwordHistory=r.passwordHistory.slice(0,5)),!t.organization&&null!=e.folderId&&i.has(e.folderId)?n.folderRelationships.push([n.ciphers.length,i.get(e.folderId)]):t.organization&&null!=e.collectionIds&&e.collectionIds.forEach(function(e){i.has(e)&&n.collectionRelationships.push([n.ciphers.length,i.get(e)])}),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,n},t}(o.BaseImporter);t.BitwardenJsonImporter=p},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,n):(r.forEach(function(e){if("list"!==e.grouping){var r=t.initLoginCipher();r.favorite="1"===e.fav,r.name=t.getValueOrDefault(e.name),r.notes=t.getValueOrDefault(e.extra),"note"!==e.grouping&&(r.login.uris=t.makeUriArray(e.url),r.login.password=t.getValueOrDefault(e.password),r.login.username=t.getValueOrDefault(e.username)),t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,n)},t}(o.BaseImporter);t.BlackBerryCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,n):(r.forEach(function(e){"null"===e.label&&(e.label=null);var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.label,t.getValueOrDefault(t.nameFromUrl(e.domain),"--")),r.login.uris=t.makeUriArray(e.domain),r.login.password=t.getValueOrDefault(e.password),t.isNullOrWhitespace(e.email)&&!t.isNullOrWhitespace(e.username)?r.login.username=e.username:(r.login.username=t.getValueOrDefault(e.email),r.notes=t.getValueOrDefault(e.username)),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,n)},t}(o.BaseImporter);t.BlurCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=["!group_id","!group_name","title","username","password","URL","id"],l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,n):(r.forEach(function(e){t.processFolder(n,t.getValueOrDefault(e["!group_name"]));var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.title,"--"),r.login.username=t.getValueOrDefault(e.username),r.login.password=t.getValueOrDefault(e.password),r.login.uris=t.makeUriArray(e.URL);var i=!1;for(var o in e)e.hasOwnProperty(o)&&(i||-1!==s.indexOf(o)||(i=!0),i&&t.processKvp(r,o,e[o]));t.cleanupCipher(r),n.ciphers.push(r)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,n)},t}(o.BaseImporter);t.ButtercupCsvImporter=l},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,n):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.name,"--"),r.login.username=t.getValueOrDefault(e.username),r.login.password=t.getValueOrDefault(e.password),r.login.uris=t.makeUriArray(e.url),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,n)},t}(o.BaseImporter);t.ChromeCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseXml(e);if(null==r)return n.success=!1,n;var i=r.querySelector("textarea");return null==i||this.isNullOrWhitespace(i.textContent)?(n.errorMessage="Missing textarea.",n.success=!1,n):(JSON.parse(i.textContent).forEach(function(e){var r=t.initLoginCipher();if(t.isNullOrWhitespace(e.label)||(r.name=e.label.split(" ")[0]),null==e.data||t.isNullOrWhitespace(e.data.notes)||(r.notes=e.data.notes.split("\\n").join("\n")),null!=e.currentVersion&&null!=e.currentVersion.fields)for(var i in e.currentVersion.fields)if(e.currentVersion.fields.hasOwnProperty(i)){var o=e.currentVersion.fields[i];switch(null!=o.actionType?o.actionType.toLowerCase():null){case"password":r.login.password=t.getValueOrDefault(o.value);break;case"email":case"username":case"user":case"name":r.login.username=t.getValueOrDefault(o.value);break;case"url":r.login.uris=t.makeUriArray(o.value);break;default:var a=null!=o.label?o.label.toLowerCase():null;null==r.login.password&&t.passwordFieldNames.indexOf(a)>-1?r.login.password=t.getValueOrDefault(o.value):null==r.login.username&&t.usernameFieldNames.indexOf(a)>-1?r.login.username=t.getValueOrDefault(o.value):(null==r.login.uris||0===r.login.uris.length)&&t.uriFieldNames.indexOf(a)>-1?r.login.uris=t.makeUriArray(o.value):t.processKvp(r,o.label,o.value)}}t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,n)},t}(o.BaseImporter);t.ClipperzHtmlImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,n):(r.forEach(function(e){t.processFolder(n,t.getValueOrDefault(e.Category));var r=t.initLoginCipher();r.favorite="True"===t.getValueOrDefault(e.Favorite),r.name=t.getValueOrDefault(e.Entry,"--"),r.notes=t.getValueOrDefault(e.Note),r.login.username=t.getValueOrDefault(e.Username,e.Email),r.login.password=t.getValueOrDefault(e.Password),r.login.totp=t.getValueOrDefault(e.TOTP),r.login.uris=t.makeUriArray(e.Website),t.isNullOrWhitespace(e.Username)||t.processKvp(r,"Email",e.Email),t.processKvp(r,"Phone",e.Phone),t.processKvp(r,"PIN",e.PIN),t.processKvp(r,"Account",e.Account),t.processKvp(r,"Date",e.Date),t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,n)},t}(o.BaseImporter);t.CodebookCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=n(87),l=n(138),c=n(139),p=n(93),u=n(39),d=n(110),h=new Set(["ADDRESS","AUTHENTIFIANT","BANKSTATEMENT","IDCARD","IDENTITY","PAYMENTMEANS_CREDITCARD","PAYMENTMEAN_PAYPAL","EMAIL"]),f=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){this.result=new a.ImportResult;var t=JSON.parse(e);if(null==t||0===t.length)return this.result.success=!1,this.result;for(var n in null!=t.ADDRESS&&this.processAddress(t.ADDRESS),null!=t.AUTHENTIFIANT&&this.processAuth(t.AUTHENTIFIANT),null!=t.BANKSTATEMENT&&this.processNote(t.BANKSTATEMENT,"BankAccountName"),null!=t.IDCARD&&this.processNote(t.IDCARD,"Fullname"),null!=t.PAYMENTMEANS_CREDITCARD&&this.processCard(t.PAYMENTMEANS_CREDITCARD),null!=t.IDENTITY&&this.processIdentity(t.IDENTITY),t)t.hasOwnProperty(n)&&!h.has(n)&&this.processNote(t[n],null,"Generic Note");return this.result.success=!0,this.result},t.prototype.processAuth=function(e){var t=this;e.forEach(function(e){var n=t.initLoginCipher();n.name=t.getValueOrDefault(e.title),n.login.username=t.getValueOrDefault(e.login,t.getValueOrDefault(e.secondaryLogin)),t.isNullOrWhitespace(n.login.username)?n.login.username=t.getValueOrDefault(e.email):t.isNullOrWhitespace(e.email)||(n.notes="Email: "+e.email+"\n"),n.login.password=t.getValueOrDefault(e.password),n.login.uris=t.makeUriArray(e.domain),n.notes+=t.getValueOrDefault(e.note,""),t.convertToNoteIfNeeded(n),t.cleanupCipher(n),t.result.ciphers.push(n)})},t.prototype.processIdentity=function(e){var t=this;e.forEach(function(e){var n=new l.CipherView;n.identity=new c.IdentityView,n.type=u.CipherType.Identity,n.name=t.getValueOrDefault(e.fullName,"");var r=n.name.split(" ");r.length>0&&(n.identity.firstName=t.getValueOrDefault(r[0])),2===r.length?n.identity.lastName=t.getValueOrDefault(r[1]):3===r.length&&(n.identity.middleName=t.getValueOrDefault(r[1]),n.identity.lastName=t.getValueOrDefault(r[2])),n.identity.username=t.getValueOrDefault(e.pseudo),t.cleanupCipher(n),t.result.ciphers.push(n)})},t.prototype.processAddress=function(e){var t=this;e.forEach(function(e){var n=new l.CipherView;n.identity=new c.IdentityView,n.type=u.CipherType.Identity,n.name=t.getValueOrDefault(e.addressName),n.identity.address1=t.getValueOrDefault(e.addressFull),n.identity.city=t.getValueOrDefault(e.city),n.identity.state=t.getValueOrDefault(e.state),n.identity.postalCode=t.getValueOrDefault(e.zipcode),n.identity.country=t.getValueOrDefault(e.country),null!=n.identity.country&&(n.identity.country=n.identity.country.toUpperCase()),t.cleanupCipher(n),t.result.ciphers.push(n)})},t.prototype.processCard=function(e){var t=this;e.forEach(function(e){var n=new l.CipherView;n.card=new s.CardView,n.type=u.CipherType.Card,n.name=t.getValueOrDefault(e.bank),n.card.number=t.getValueOrDefault(e.cardNumber),n.card.brand=t.getCardBrand(n.card.number),n.card.cardholderName=t.getValueOrDefault(e.owner),t.isNullOrWhitespace(n.card.brand)||(t.isNullOrWhitespace(n.name)?n.name=n.card.brand:n.name+=" - "+n.card.brand),t.cleanupCipher(n),t.result.ciphers.push(n)})},t.prototype.processNote=function(e,t,n){var r=this;void 0===n&&(n=null),e.forEach(function(e){var i=new l.CipherView;for(var o in i.secureNote=new p.SecureNoteView,i.type=u.CipherType.SecureNote,i.secureNote.type=d.SecureNoteType.Generic,i.name=null!=n?n:r.getValueOrDefault(e[t]),e)e.hasOwnProperty(o)&&o!==t&&r.processKvp(i,o,e[o].toString());r.cleanupCipher(i),r.result.ciphers.push(i)})},t}(o.BaseImporter);t.DashlaneJsonImporter=f},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=n(87),l=n(39),c=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,n):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.Label,"--"),r.notes=t.getValueOrDefault(e.Notes);var i=t.getValueOrDefault(e.Text);t.isNullOrWhitespace(i)||(t.isNullOrWhitespace(r.notes)?r.notes=i:r.notes+="\n\n"+i);var o=e["Entry Type"];if("Password"===o)r.login.username=t.getValueOrDefault(e.Username),r.login.password=t.getValueOrDefault(e.Password),r.login.uris=t.makeUriArray(e["Site URL"]);else if("Credit Card"===o){r.type=l.CipherType.Card,r.card=new s.CardView,r.card.cardholderName=t.getValueOrDefault(e["Name on card"]),r.card.number=t.getValueOrDefault(e["Card Number"]),r.card.brand=t.getCardBrand(r.card.number),r.card.code=t.getValueOrDefault(e.CVV);var a=t.getValueOrDefault(e.Expiry);if(!t.isNullOrWhitespace(a)){var c=a.split("/");c.length>1&&(r.card.expMonth=parseInt(c[0],null).toString(),r.card.expYear=(2e3+parseInt(c[1],null)).toString())}}t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,n)},t}(o.BaseImporter);t.EncryptrCsvImporter=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=n(39),l=n(110),c=n(87),p=n(93),u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);if(null==r)return n.success=!1,n;var i=!0;return r.forEach(function(e){if(e.length<2||i&&("Title"===e[0]||"title"===e[0]))i=!1;else{var r=t.initLoginCipher();if(r.notes=t.getValueOrDefault(e[e.length-1]),r.name=t.getValueOrDefault(e[0],"--"),2!==e.length&&(t.containsField(e,"username")||t.containsField(e,"password")||t.containsField(e,"email")||t.containsField(e,"url"))||(r.type=s.CipherType.SecureNote,r.secureNote=new p.SecureNoteView,r.secureNote.type=l.SecureNoteType.Generic),t.containsField(e,"cardholder")&&t.containsField(e,"number")&&t.containsField(e,"expiry date")&&(r.type=s.CipherType.Card,r.card=new c.CardView),e.length>2&&e.length%2==0)for(var o=0;o0},t}(o.BaseImporter);t.EnpassCsvImporter=u},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=n(87),l=n(125),c=n(39),p=n(140),u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=JSON.parse(e);if(null==r||null==r.items||0===r.items.length)return n.success=!1,n;var i=new Map,o=new Map,s=this.buildFolderTree(r.folders);return this.flattenFolderTree(null,s,i),i.forEach(function(e,t){o.set(t,n.folders.length);var r=new l.FolderView;r.name=e,n.folders.push(r)}),r.items.forEach(function(e){null!=e.folders&&e.folders.length>0&&o.has(e.folders[0])&&n.folderRelationships.push([n.ciphers.length,o.get(e.folders[0])]);var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.title),r.favorite=e.favorite>0,null!=e.template_type&&null!=e.fields&&e.fields.length>0&&(0===e.template_type.indexOf("login.")||0===e.template_type.indexOf("password.")?t.processLogin(r,e.fields):0===e.template_type.indexOf("creditcard.")?t.processCard(r,e.fields):e.template_type.indexOf("identity.")<0&&e.fields.some(function(e){return"password"===e.type&&!t.isNullOrWhitespace(e.value)})?t.processLogin(r,e.fields):t.processNote(r,e.fields)),r.notes+="\n"+t.getValueOrDefault(e.note,""),t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,n},t.prototype.processLogin=function(e,t){var n=this,r=[];t.forEach(function(t){n.isNullOrWhitespace(t.value)||"section"===t.type||("username"!==t.type&&"email"!==t.type||!n.isNullOrWhitespace(e.login.username)?"password"===t.type&&n.isNullOrWhitespace(e.login.password)?e.login.password=t.value:"totp"===t.type&&n.isNullOrWhitespace(e.login.totp)?e.login.totp=t.value:"url"===t.type?r.push(t.value):n.processKvp(e,t.label,t.value,1===t.sensitive?p.FieldType.Hidden:p.FieldType.Text):e.login.username=t.value)}),e.login.uris=this.makeUriArray(r)},t.prototype.processCard=function(e,t){var n=this;e.card=new s.CardView,e.type=c.CipherType.Card,t.forEach(function(t){n.isNullOrWhitespace(t.value)||"section"===t.type||"ccType"===t.type||("ccName"===t.type&&n.isNullOrWhitespace(e.card.cardholderName)?e.card.cardholderName=t.value:"ccNumber"===t.type&&n.isNullOrWhitespace(e.card.number)?(e.card.number=t.value,e.card.brand=n.getCardBrand(e.card.number)):"ccCvc"===t.type&&n.isNullOrWhitespace(e.card.code)?e.card.code=t.value:"ccExpiry"===t.type&&n.isNullOrWhitespace(e.card.expYear)&&n.setCardExpiration(e,t.value)||n.processKvp(e,t.label,t.value,1===t.sensitive?p.FieldType.Hidden:p.FieldType.Text))})},t.prototype.processNote=function(e,t){var n=this;t.forEach(function(t){n.isNullOrWhitespace(t.value)||"section"===t.type||n.processKvp(e,t.label,t.value,1===t.sensitive?p.FieldType.Hidden:p.FieldType.Text)})},t.prototype.buildFolderTree=function(e){if(null==e)return[];var t=[],n=new Map([]);return e.forEach(function(e){n.set(e.uuid,e),e.children=[]}),e.forEach(function(e){null!=e.parent_uuid&&""!==e.parent_uuid&&n.has(e.parent_uuid)?n.get(e.parent_uuid).children.push(e):t.push(e)}),t},t.prototype.flattenFolderTree=function(e,t,n){var r=this;null!=t&&t.forEach(function(t){if(null!=t.title&&""!==t.title.trim()){var i=t.title.trim();null!=e&&""!==e.trim()&&(i=e+"/"+i),n.set(t.uuid,i),null!=t.children&&0!==t.children.length&&r.flattenFolderTree(i,t.children,n)}})},t}(o.BaseImporter);t.EnpassJsonImporter=u},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,n):(r.forEach(function(e){var r=t.initLoginCipher(),i=t.getValueOrDefault(e.url,t.getValueOrDefault(e.hostname));r.name=t.getValueOrDefault(t.nameFromUrl(i),"--"),r.login.username=t.getValueOrDefault(e.username),r.login.password=t.getValueOrDefault(e.password),r.login.uris=t.makeUriArray(i),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,n)},t}(o.BaseImporter);t.FirefoxCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=n(87),l=n(39),c=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=new a.ImportResult,n=JSON.parse(e);if(null==n||null==n.data)return t.success=!1,t;for(var r in n.data)if(n.data.hasOwnProperty(r)){var i=n.data[r],o=this.initLoginCipher();if(o.name=this.getValueOrDefault(i.service),o.notes=this.getValueOrDefault(i.notes),"website"===i.style)o.login.username=this.getValueOrDefault(i.username),o.login.password=this.getValueOrDefault(i.password),o.login.uris=this.makeUriArray(i.url);else{if("creditcard"!==i.style)continue;o.type=l.CipherType.Card,o.card=new s.CardView,o.card.cardholderName=this.getValueOrDefault(i.username),o.card.number=this.getValueOrDefault(i.creditNumber),o.card.brand=this.getCardBrand(o.card.number),o.card.code=this.getValueOrDefault(i.creditCvv),this.isNullOrWhitespace(i.creditExpiry)||this.setCardExpiration(o,i.creditExpiry)||this.processKvp(o,"Expiration",i.creditExpiry),this.isNullOrWhitespace(i.password)||this.processKvp(o,"PIN",i.password)}this.convertToNoteIfNeeded(o),this.cleanupCipher(o),t.ciphers.push(o)}return t.success=!0,t},t}(o.BaseImporter);t.FSecureFskImporter=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=JSON.parse(e);if(null==r||0===Object.keys(r).length)return n.success=!1,n;var i=function(e){if(!r.hasOwnProperty(e)||o.isNullOrWhitespace(e)||0===r[e].length)return"continue";r[e].forEach(function(r){if(!t.isNullOrWhitespace(r.display_name)&&0===r.display_name.indexOf("http")){t.processFolder(n,e);var i=t.initLoginCipher();if(i.name=r.display_name.replace("http://","").replace("https://",""),i.name.length>30&&(i.name=i.name.substring(0,30)),i.login.password=t.getValueOrDefault(r.secret),i.login.uris=t.makeUriArray(r.display_name),null!=r.attributes)for(var o in i.login.username=null!=r.attributes?t.getValueOrDefault(r.attributes.username_value):null,r.attributes)r.attributes.hasOwnProperty(o)&&"username_value"!==o&&"xdg:schema"!==o&&t.processKvp(i,o,r.attributes[o]);t.convertToNoteIfNeeded(i),t.cleanupCipher(i),n.ciphers.push(i)}})},o=this;for(var s in r)i(s);return this.organization&&this.moveFoldersToCollections(n),n.success=!0,n},t}(o.BaseImporter);t.GnomeJsonImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t,n,r,i,o=this,s=new a.ImportResult,l=this.splitNewLine(e).join("\n");-1!==l.indexOf("Notes\n\n")&&((i=l.split("Notes\n\n")).length>1&&(l=i[0],t=i[1]));-1!==l.indexOf("Applications\n\n")&&((i=l.split("Applications\n\n")).length>1&&(l=i[0],n=i[1]));0===l.indexOf("Websites\n\n")&&((i=l.split("Websites\n\n")).length>1&&(l=i[0],r=i[1]));var c=this.parseDataCategory(t),p=this.parseDataCategory(n),u=this.parseDataCategory(r);return c.forEach(function(e){var t=o.initLoginCipher();t.name=o.getValueOrDefault(e.get("Name")),t.notes=o.getValueOrDefault(e.get("Text")),o.cleanupCipher(t),s.ciphers.push(t)}),u.concat(p).forEach(function(e){var t=o.initLoginCipher(),n=e.has("Website name")?"Website name":"Application";t.name=o.getValueOrDefault(e.get(n),""),o.isNullOrWhitespace(e.get("Login name"))||(o.isNullOrWhitespace(t.name)||(t.name+=": "),t.name+=e.get("Login name")),t.notes=o.getValueOrDefault(e.get("Comment")),e.has("Website URL")&&(t.login.uris=o.makeUriArray(e.get("Website URL"))),t.login.username=o.getValueOrDefault(e.get("Login")),t.login.password=o.getValueOrDefault(e.get("Password")),o.cleanupCipher(t),s.ciphers.push(t)}),s.success=!0,s},t.prototype.parseDataCategory=function(e){if(this.isNullOrWhitespace(e)||-1===e.indexOf("\n---\n"))return[];var t=[];return e.split("\n---\n").forEach(function(e){if(-1!==e.indexOf("\n")){var n,r,i=new Map;e.split("\n").forEach(function(e){if(null==n){var t,o,a=e.indexOf(":");-1!==a&&(t=e.substring(0,a),e.length>a+1&&(o=e.substring(a+2)),null!=t&&i.set(t,o),"Comment"!==t&&"Text"!==t||(n=o,r=t))}else n+="\n"+e}),null!=n&&null!=r&&i.set(r,n),0!==i.size&&t.push(i)}}),t},t}(o.BaseImporter);t.KasperskyTxtImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(140),s=n(26),l=n(125),c=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.result=new s.ImportResult,t}return i(t,e),t.prototype.parse=function(e){var t=this.parseXml(e);if(null==t)return this.result.success=!1,this.result;var n=t.querySelector("KeePassFile > Root > Group");return null==n?(this.result.errorMessage="Missing `KeePassFile > Root > Group` node.",this.result.success=!1,this.result):(this.traverse(n,!0,""),this.organization&&this.moveFoldersToCollections(this.result),this.result.success=!0,this.result)},t.prototype.traverse=function(e,t,n){var r=this,i=this.result.folders.length,o=n;if(!t){""!==o&&(o+="/");var s=this.querySelectorDirectChild(e,"Name");o+=null==s?"-":s.textContent;var c=new l.FolderView;c.name=o,this.result.folders.push(c)}this.querySelectorAllDirectChild(e,"Entry").forEach(function(e){var n=r.result.ciphers.length,o=r.initLoginCipher();r.querySelectorAllDirectChild(e,"String").forEach(function(e){var t=r.querySelectorDirectChild(e,"Value"),n=null!=t?t.textContent:null;if(!r.isNullOrWhitespace(n)){var i=r.querySelectorDirectChild(e,"Key"),s=null!=i?i.textContent:null;if("URL"===s)o.login.uris=r.makeUriArray(n);else if("UserName"===s)o.login.username=n;else if("Password"===s)o.login.password=n;else if("otp"===s)o.login.totp=n.replace("key=","");else if("Title"===s)o.name=n;else if("Notes"===s)o.notes+=n+"\n";else{var l=a.FieldType.Text,c=t.attributes;c.length>0&&null!=c.ProtectInMemory&&"True"===c.ProtectInMemory.value&&(l=a.FieldType.Hidden),r.processKvp(o,s,n,l)}}}),r.cleanupCipher(o),r.result.ciphers.push(o),t||r.result.folderRelationships.push([n,i])}),this.querySelectorAllDirectChild(e,"Group").forEach(function(e){r.traverse(e,!1,o)})},t}(o.BaseImporter);t.KeePass2XmlImporter=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,n):(r.forEach(function(e){if(!t.isNullOrWhitespace(e.Title)){e.Group=!t.isNullOrWhitespace(e.Group)&&e.Group.startsWith("Root/")?e.Group.replace("Root/",""):e.Group;var r=t.isNullOrWhitespace(e.Group)?null:e.Group;t.processFolder(n,r);var i=t.initLoginCipher();i.notes=t.getValueOrDefault(e.Notes),i.name=t.getValueOrDefault(e.Title,"--"),i.login.username=t.getValueOrDefault(e.Username),i.login.password=t.getValueOrDefault(e.Password),i.login.uris=t.makeUriArray(e.URL),t.cleanupCipher(i),n.ciphers.push(i)}}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,n)},t}(o.BaseImporter);t.KeePassXCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);return null==r?(n.success=!1,n):(r.forEach(function(e){if(!(e.length<6)){t.processFolder(n,e[0]);var r=t.initLoginCipher();if(r.notes=t.getValueOrDefault(e[5])+"\n",r.name=t.getValueOrDefault(e[1],"--"),r.login.username=t.getValueOrDefault(e[2]),r.login.password=t.getValueOrDefault(e[3]),r.login.uris=t.makeUriArray(e[4]),e.length>7)for(var i=7;i-1){var n=e.ccexp.split("-");n.length>1&&(t.expYear=n[0],t.expMonth=n[1],2===t.expMonth.length&&"0"===t.expMonth[0]&&(t.expMonth=t.expMonth[1]))}return t},t.prototype.parseIdentity=function(e){var t=new p.IdentityView;return t.title=this.getValueOrDefault(e.title),t.firstName=this.getValueOrDefault(e.firstname),t.middleName=this.getValueOrDefault(e.middlename),t.lastName=this.getValueOrDefault(e.lastname),t.username=this.getValueOrDefault(e.username),t.company=this.getValueOrDefault(e.company),t.ssn=this.getValueOrDefault(e.ssn),t.address1=this.getValueOrDefault(e.address1),t.address2=this.getValueOrDefault(e.address2),t.address3=this.getValueOrDefault(e.address3),t.city=this.getValueOrDefault(e.city),t.state=this.getValueOrDefault(e.state),t.postalCode=this.getValueOrDefault(e.zip),t.country=this.getValueOrDefault(e.country),t.email=this.getValueOrDefault(e.email),t.phone=this.getValueOrDefault(e.phone),this.isNullOrWhitespace(t.title)||(t.title=t.title.charAt(0).toUpperCase()+t.title.slice(1)),t},t.prototype.parseSecureNote=function(e,t){var n=this.splitNewLine(e.extra),r=!1;if(n.length){var i=n[0].split(":");if(i.length>1&&"NoteType"===i[0]&&("Credit Card"===i[1]||"Address"===i[1])){if("Credit Card"===i[1]){var o=this.parseSecureNoteMapping(t,n,{Number:"number","Name on Card":"cardholderName","Security Code":"code","Expiration Date":"expMonth"});if(this.isNullOrWhitespace(o.expMonth)||","===o.expMonth)o.expMonth=void 0;else{var a=o.expMonth.split(","),s=a[0],l=a[1];if(this.isNullOrWhitespace(s))o.expMonth=void 0;else{var c=new Date(Date.parse(s.trim()+" 1, 2012")).getMonth()+1;isNaN(c)?o.expMonth=void 0:o.expMonth=c.toString()}this.isNullOrWhitespace(l)||(o.expYear=l)}t.type=h.CipherType.Card,t.card=o}else if("Address"===i[1]){o=this.parseSecureNoteMapping(t,n,{Title:"title","First Name":"firstName","Last Name":"lastName","Middle Name":"middleName",Company:"company","Address 1":"address1","Address 2":"address2","Address 3":"address3","City / Town":"city",State:"state","Zip / Postal Code":"postalCode",Country:"country","Email Address":"email",Username:"username"});t.type=h.CipherType.Identity,t.identity=o}r=!0}}r||(t.secureNote=new d.SecureNoteView,t.secureNote.type=f.SecureNoteType.Generic,t.notes=this.getValueOrDefault(e.extra))},t.prototype.parseSecureNoteMapping=function(e,t,n){var r=this,i={},o=!1;return t.forEach(function(t){var a=null,s=null;if(!o){if(r.isNullOrWhitespace(t))return;var l=t.indexOf(":");if(-1===l?a=t:(a=t.substring(0,l),t.length>l&&(s=t.substring(l+1))),r.isNullOrWhitespace(a)||r.isNullOrWhitespace(s)||"NoteType"===a)return}o?e.notes+="\n"+t:"Notes"===a?(r.isNullOrWhitespace(e.notes)?e.notes=s:e.notes+="\n"+s,o=!0):n.hasOwnProperty(a)?i[n[a]]=s:r.processKvp(e,a,s)}),i},t}(o.BaseImporter);t.LastPassCsvImporter=m},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);return null==r?(n.success=!1,n):(r.forEach(function(e){if(!(e.length<4)){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e[0],"--"),r.login.username=t.getValueOrDefault(e[2]),r.login.password=t.getValueOrDefault(e[3]),r.login.uris=t.makeUriArray(e[1]),t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,n)},t}(o.BaseImporter);t.LogMeOnceCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,n):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.DisplayName,"--"),r.notes=t.getValueOrDefault(e.Notes),r.login.username=t.getValueOrDefault(e.UserName),r.login.password=t.getValueOrDefault(e.Password),r.login.uris=t.makeUriArray(e.Url),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,n)},t}(o.BaseImporter);t.MeldiumCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=n(39),l=n(110),c=n(93),p=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);return null==r?(n.success=!1,n):(r.forEach(function(e){if(!(e.length<3)){var r="Unassigned"!==t.getValueOrDefault(e[0],"Unassigned")?e[0]:null;t.processFolder(n,r);var i=t.initLoginCipher();if(i.name=t.getValueOrDefault(e[2],"--"),"Web Logins"===e[1]||"Login"===e[1])i.login.uris=t.makeUriArray(e[4]),i.login.username=t.getValueOrDefault(e[5]),i.login.password=t.getValueOrDefault(e[6]),i.notes=t.isNullOrWhitespace(e[3])?null:e[3].split("\\n").join("\n");else if(e.length>3){i.type=s.CipherType.SecureNote,i.secureNote=new c.SecureNoteView,i.secureNote.type=l.SecureNoteType.Generic;for(var o=3;o0&&(t.login.uris=this.makeUriArray(r))}null!=e.secureContents.fields&&this.parseFields(e.secureContents.fields,t,"designation","value","name"),null!=e.secureContents.sections&&e.secureContents.sections.forEach(function(e){null!=e.fields&&n.parseFields(e.fields,t,"n","v","t")})}},t.prototype.parsePasswordHistory=function(e,t){var n=this,r=e.length>5?5:e.length;t.passwordHistory=e.filter(function(e){return!n.isNullOrWhitespace(e.value)&&null!=e.time}).sort(function(e,t){return t.time-e.time}).slice(0,r).map(function(e){var t=new c.PasswordHistoryView;return t.password=e.value,t.lastUsedDate=new Date((""+e.time).length>=13?e.time:1e3*e.time),t})},t.prototype.parseFields=function(e,t,n,r,i){var o=this;e.forEach(function(e){if(null!=e[r]&&""!==e[r].toString().trim()){var a=e[r].toString(),s=null!=e[n]?e[n].toString():null;if(t.type===u.CipherType.Login){if(o.isNullOrWhitespace(t.login.username)&&"username"===s)return void(t.login.username=a);if(o.isNullOrWhitespace(t.login.password)&&"password"===s)return void(t.login.password=a);if(o.isNullOrWhitespace(t.login.totp)&&null!=s&&s.startsWith("TOTP_"))return void(t.login.totp=a)}else if(t.type===u.CipherType.Card){if(o.isNullOrWhitespace(t.card.number)&&"ccnum"===s)return t.card.number=a,void(t.card.brand=o.getCardBrand(a));if(o.isNullOrWhitespace(t.card.code)&&"cvv"===s)return void(t.card.code=a);if(o.isNullOrWhitespace(t.card.cardholderName)&&"cardholder"===s)return void(t.card.cardholderName=a);if(o.isNullOrWhitespace(t.card.expiration)&&"expiry"===s&&6===a.length)return t.card.expMonth=a.substr(4,2),"0"===t.card.expMonth[0]&&(t.card.expMonth=t.card.expMonth.substr(1,1)),void(t.card.expYear=a.substr(0,4));if("type"===s)return}else if(t.type===u.CipherType.Identity){var l=t.identity;if(o.isNullOrWhitespace(l.firstName)&&"firstname"===s)return void(l.firstName=a);if(o.isNullOrWhitespace(l.lastName)&&"lastname"===s)return void(l.lastName=a);if(o.isNullOrWhitespace(l.middleName)&&"initial"===s)return void(l.middleName=a);if(o.isNullOrWhitespace(l.phone)&&"defphone"===s)return void(l.phone=a);if(o.isNullOrWhitespace(l.company)&&"company"===s)return void(l.company=a);if(o.isNullOrWhitespace(l.email)&&"email"===s)return void(l.email=a);if(o.isNullOrWhitespace(l.username)&&"username"===s)return void(l.username=a);if("address"===s){var c=e[r],p=c.street,h=c.city,f=c.country,m=c.zip;return l.address1=o.getValueOrDefault(p),l.city=o.getValueOrDefault(h),o.isNullOrWhitespace(f)||(l.country=f.toUpperCase()),void(l.postalCode=o.getValueOrDefault(m))}}var v=o.isNullOrWhitespace(e[i])?"no_name":e[i];if("password"!==v||null==t.passwordHistory||!t.passwordHistory.some(function(e){return e.password===a})){var y="concealed"===e.k?d.FieldType.Hidden:d.FieldType.Text;o.processKvp(t,v,a,y)}}})},t}(o.BaseImporter);t.OnePassword1PifImporter=f},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=n(39),l=n(977),c=["ainfo","autosubmit","notesplain","ps","scope","tags","title","uuid"],p=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,n):(r.forEach(function(e){if(!t.isNullOrWhitespace(t.getProp(e,"title"))){var r=t.initLoginCipher();r.name=t.getValueOrDefault(t.getProp(e,"title"),"--"),r.notes=t.getValueOrDefault(t.getProp(e,"notesPlain"),"")+"\n",t.isNullOrWhitespace(t.getProp(e,"number"))||t.isNullOrWhitespace(t.getProp(e,"expiry date"))||(r.type=s.CipherType.Card,r.card=new l.CardView);var i=null;for(var o in e)if(e.hasOwnProperty(o)&&!t.isNullOrWhitespace(e[o])){var a=o.toLowerCase();if(r.type===s.CipherType.Login){if(t.isNullOrWhitespace(r.login.password)&&"password"===a){r.login.password=e[o];continue}if(t.isNullOrWhitespace(r.login.username)&&"username"===a){r.login.username=e[o];continue}if((null==r.login.uris||0===r.login.uri.length)&&"urls"===a){var p=e[o].split(t.newLineRegex);r.login.uris=t.makeUriArray(p);continue}}else if(r.type===s.CipherType.Card){if(t.isNullOrWhitespace(r.card.number)&&"number"===a){r.card.number=e[o],r.card.brand=t.getCardBrand(t.getProp(e,"number"));continue}if(t.isNullOrWhitespace(r.card.code)&&"verification number"===a){r.card.code=e[o];continue}if(t.isNullOrWhitespace(r.card.cardholderName)&&"cardholder name"===a){r.card.cardholderName=e[o];continue}if(t.isNullOrWhitespace(r.card.expiration)&&"expiry date"===a&&6===e[o].length){r.card.expMonth=e[o].substr(4,2),"0"===r.card.expMonth[0]&&(r.card.expMonth=r.card.expMonth.substr(1,1)),r.card.expYear=e[o].substr(0,4);continue}if("type"===a)continue}-1!==c.indexOf(a)||a.startsWith("section:")||a.startsWith("section ")||(null==i&&"email"===a&&(i=e[o]),t.processKvp(r,o,e[o]))}r.type===s.CipherType.Login&&!t.isNullOrWhitespace(i)&&t.isNullOrWhitespace(r.login.username)&&-1===i.indexOf("://")&&(r.login.username=i),t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,n)},t.prototype.getProp=function(e,t){return e[t]||e[t.toUpperCase()]},t}(o.BaseImporter);t.OnePasswordWinCsvImporter=p},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(579);t.AttachmentView=r.AttachmentView;var i=n(87);t.CardView=i.CardView;var o=n(138);t.CipherView=o.CipherView;var a=n(207);t.FieldView=a.FieldView;var s=n(139);t.IdentityView=s.IdentityView;var l=n(254);t.LoginUriView=l.LoginUriView;var c=n(154);t.LoginView=c.LoginView;var p=n(93);t.SecureNoteView=p.SecureNoteView;var u=n(978);t.View=u.View},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){return function(){}}();t.View=r},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=n(153),l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);if(null==r)return n.success=!1,n;var i=null;return r.forEach(function(e){if(null!=i){if(!(e.length<2||e.length!==i.length)){if(!t.isNullOrWhitespace(e[1]))if(t.organization){(r=e[1].split(",")).forEach(function(e){e=e.trim();for(var t=!0,r=n.collections.length,i=0;i0?r[0].trim():null;t.processFolder(n,o)}var a=t.initLoginCipher();a.name=t.getValueOrDefault(e[0],"--");for(var l=2;l-1?a.login.username=e[l]:t.passwordFieldNames.indexOf(c)>-1?a.login.password=e[l]:t.uriFieldNames.indexOf(c)>-1?a.login.uris=t.makeUriArray(e[l]):t.processKvp(a,i[l],e[l]))}t.cleanupCipher(a),n.ciphers.push(a)}}else i=e.map(function(e){return e})}),n.success=!0,n},t}(o.BaseImporter);t.PadlockCsvImporter=l},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,n):(r.forEach(function(e){t.processFolder(n,t.getValue("category",e));var r=t.initLoginCipher();r.notes=t.getValue("description",e),r.name=t.getValueOrDefault(t.getValue("title",e),"--"),r.login.username=t.getValue("username",e),r.login.password=t.getValue("password",e),r.login.uris=t.makeUriArray(t.getValue("site",e)),t.processKvp(r,"Password 2",t.getValue("password2",e)),t.cleanupCipher(r),n.ciphers.push(r)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,n)},t.prototype.getValue=function(e,t){return this.getValueOrDefault(t[e],this.getValueOrDefault(t[" "+e]))},t}(o.BaseImporter);t.PassKeepCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=JSON.parse(e);return null==r||0===r.length?(n.success=!1,n):(r.forEach(function(e){if(null!=e.tags&&e.tags.length>0){var r=e.tags[0].text;t.processFolder(n,r)}var i=t.initLoginCipher();i.name=e.label,i.login.username=t.getValueOrDefault(e.username),t.isNullOrWhitespace(i.login.username)?i.login.username=t.getValueOrDefault(e.email):t.isNullOrWhitespace(e.email)||(i.notes="Email: "+e.email+"\n"),i.login.password=t.getValueOrDefault(e.password),i.login.uris=t.makeUriArray(e.url),i.notes+=t.getValueOrDefault(e.description,""),null!=e.otp&&(i.login.totp=t.getValueOrDefault(e.otp.secret)),null!=e.custom_fields&&e.custom_fields.forEach(function(e){switch(e.field_type){case"text":case"password":t.processKvp(i,e.label,e.value)}}),t.convertToNoteIfNeeded(i),t.cleanupCipher(i),n.ciphers.push(i)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,n)},t}(o.BaseImporter);t.PassmanJsonImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=n(153),l=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,n):(r.forEach(function(e){var r=t.isNullOrWhitespace(e.Tags)?null:JSON.parse(e.Tags),i=null!=r&&null!=r.tags&&r.tags.length>0?r.tags.map(function(e){try{var n=JSON.parse(e);return t.getValueOrDefault(n.tag)}catch(r){}return null}).filter(function(e){return!t.isNullOrWhitespace(e)}):null;t.organization&&null!=i&&i.length>0?i.forEach(function(e){for(var t=!0,r=n.collections.length,i=0;i0&&t.processFolder(n,i[0]);var o=t.initLoginCipher();o.notes=t.getValueOrDefault(e.Notes,""),o.notes+="\n\n"+t.getValueOrDefault(e["Shared Notes"],"")+"\n",o.name=t.getValueOrDefault(e["Entry Name"],"--"),o.login.username=t.getValueOrDefault(e["User ID"]),o.login.password=t.getValueOrDefault(e.Password),o.login.uris=t.makeUriArray(e.URL),null!=e.__parsed_extra&&e.__parsed_extra.length>0&&e.__parsed_extra.forEach(function(e){t.isNullOrWhitespace(e)||(o.notes+="\n"+e)});var a=t.isNullOrWhitespace(e["Extra Fields"])?null:JSON.parse(e["Extra Fields"]),l=null!=a&&null!=a.extraFields&&a.extraFields.length>0?a.extraFields.map(function(e){try{return JSON.parse(e)}catch(t){}return null}):null;null!=l&&l.forEach(function(e){null!=e&&t.processKvp(o,e.name,e.data)}),t.cleanupCipher(o),n.ciphers.push(o)}),n.success=!0,n)},t}(o.BaseImporter);t.PasspackCsvImporter=l},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);if(null==r)return n.success=!1,n;var i=!0;return r.forEach(function(e){if(!(5!==e.length&&e.length<9)){var r=10===e.length&&"0"===e[0],o=t.initLoginCipher();if(o.name=t.getValueOrDefault(e[r?1:0],"--"),o.login.username=t.getValueOrDefault(e[r?2:1]),o.login.password=t.getValueOrDefault(e[r?3:2]),5===e.length)i=!1,o.notes=t.getValueOrDefault(e[4]),o.login.uris=t.makeUriArray(e[3]);else{var a=t.getValueOrDefault(e[r?9:8],"(None)"),s="(None)"!==a?a.split("\\").join("/"):null;null!=s&&(s=a.split(" > ").join("/"),s=a.split(">").join("/")),t.processFolder(n,s),o.notes=t.getValueOrDefault(e[r?5:3]),o.login.uris=t.makeUriArray(e[4])}t.convertToNoteIfNeeded(o),t.cleanupCipher(o),n.ciphers.push(o)}}),i&&this.organization&&this.moveFoldersToCollections(n),n.success=!0,n},t}(o.BaseImporter);t.PasswordAgentCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=n(87),l=n(125),c=n(39),p=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=JSON.parse(e);if(null==r||null==r.items)return n.success=!1,n;var i=new Map;r.folders.forEach(function(e){i.set(e.id,e.name)});var o=new Map;return i.forEach(function(e,t){o.set(t,n.folders.length);var r=new l.FolderView;r.name=e,n.folders.push(r)}),r.items.forEach(function(e){var r=t.initLoginCipher();if(r.name=t.getValueOrDefault(e.name,"--"),r.login.uris=t.makeUriArray(e.login_url),null!=e.folder&&o.has(e.folder)&&n.folderRelationships.push([n.ciphers.length,o.get(e.folder)]),null!=e.identifiers){for(var i in t.isNullOrWhitespace(e.identifiers.notes)||(r.notes=e.identifiers.notes.split("\\r\\n").join("\n").split("\\n").join("\n")),"CreditCard"===e.type&&(r.card=new s.CardView,r.type=c.CipherType.Card),e.identifiers)if(e.identifiers.hasOwnProperty(i)){var a=e.identifiers[i],l=null!=a?a.toString():null;if(!t.isNullOrWhitespace(l)&&"notes"!==i&&"ignoreItemInSecurityScore"!==i)if("custom_fields"!==i){if(r.type===c.CipherType.Card){if("cardNumber"===i){r.card.number=l,r.card.brand=t.getCardBrand(l);continue}if("nameOnCard"===i){r.card.cardholderName=l;continue}if("security_code"===i){r.card.code=l;continue}if("expires"===i){try{var p=new Date(l);r.card.expYear=p.getFullYear().toString(),r.card.expMonth=(p.getMonth()+1).toString()}catch(u){}continue}if("cardType"===i)continue}else{if(("username"===i||"email"===i)&&t.isNullOrWhitespace(r.login.username)){r.login.username=l;continue}if("password"===i){r.login.password=l;continue}if("totp"===i){r.login.totp=l;continue}if((null==r.login.uris||0===r.login.uris.length)&&t.uriFieldNames.indexOf(i)>-1){r.login.uris=t.makeUriArray(l);continue}}t.processKvp(r,i,l)}else a.forEach(function(e){t.processKvp(r,e.name,e.value)})}t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,n},t}(o.BaseImporter);t.PasswordBossJsonImporter=p},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseXml(e);if(null==r)return n.success=!1,n;var i=r.querySelectorAll("PasswordManager > record");return Array.from(i).forEach(function(e){var r=t.querySelectorDirectChild(e,"Category"),i=null==r||t.isNullOrWhitespace(r.textContent)||"Unfiled"===r.textContent?null:r.textContent;t.processFolder(n,i);var o=t.querySelectorDirectChild(e,"Account-Name"),a=t.querySelectorDirectChild(e,"User-Id"),s=t.querySelectorDirectChild(e,"Password"),l=t.querySelectorDirectChild(e,"URL"),c=t.querySelectorDirectChild(e,"Notes"),p=t.initLoginCipher();p.name=null!=o?t.getValueOrDefault(o.textContent,"--"):"--",p.notes=null!=c?t.getValueOrDefault(c.textContent):"",p.login.username=null!=a?t.getValueOrDefault(a.textContent):null,p.login.password=null!=s?t.getValueOrDefault(s.textContent):null,p.login.uris=null!=l?t.makeUriArray(l.textContent):null;for(var u=[],d=1;d<=10;d++)u.push("Attribute-"+d);t.querySelectorAllDirectChild(e,u.join(",")).forEach(function(e){t.isNullOrWhitespace(e.textContent)||"null"===e.textContent||t.processKvp(p,e.tagName,e.textContent)}),t.cleanupCipher(p),n.ciphers.push(p)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,n},t}(o.BaseImporter);t.PasswordDragonXmlImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseXml(e);if(null==r)return n.success=!1,n;var i=r.querySelector("passwordsafe");if(null==i)return n.errorMessage="Missing `passwordsafe` node.",n.success=!1,n;var o=i.getAttribute("delimiter"),s=r.querySelectorAll("passwordsafe > entry");return Array.from(s).forEach(function(e){var r=t.querySelectorDirectChild(e,"group"),i=null==r||t.isNullOrWhitespace(r.textContent)?null:r.textContent.split(".").join("/");t.processFolder(n,i);var a=t.querySelectorDirectChild(e,"title"),s=t.querySelectorDirectChild(e,"username"),l=t.querySelectorDirectChild(e,"email"),c=t.querySelectorDirectChild(e,"password"),p=t.querySelectorDirectChild(e,"url"),u=t.querySelectorDirectChild(e,"notes"),d=t.initLoginCipher();d.name=null!=a?t.getValueOrDefault(a.textContent,"--"):"--",d.notes=null!=u?t.getValueOrDefault(u.textContent,"").split(o).join("\n"):null,d.login.username=null!=s?t.getValueOrDefault(s.textContent):null,d.login.password=null!=c?t.getValueOrDefault(c.textContent):null,d.login.uris=null!=p?t.makeUriArray(p.textContent):null,t.isNullOrWhitespace(d.login.username)&&null!=l?d.login.username=t.getValueOrDefault(l.textContent):null==l||t.isNullOrWhitespace(l.textContent)||(d.notes=t.isNullOrWhitespace(d.notes)?"Email: "+l.textContent:d.notes+"\nEmail: "+l.textContent),t.cleanupCipher(d),n.ciphers.push(d)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,n},t}(o.BaseImporter);t.PasswordSafeXmlImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);return null==r?(n.success=!1,n):(r.forEach(function(e){if(!(e.length<1)){e.length>5&&t.processFolder(n,e[5]);var r=t.initLoginCipher();r.name=t.getValueOrDefault(e[0],"--"),e.length>4&&(r.notes=t.getValueOrDefault(e[4],"").split("¬").join("\n")),e.length>2&&(r.login.username=t.getValueOrDefault(e[2])),e.length>3&&(r.login.password=t.getValueOrDefault(e[3])),e.length>1&&(r.login.uris=t.makeUriArray(e[1])),t.cleanupCipher(r),n.ciphers.push(r)}}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,n)},t}(o.BaseImporter);t.PasswordWalletTxtImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(39),s=n(26),l=n(87),c=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new s.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,n):(r.forEach(function(e){if("true"!==e.trash){var r=t.initLoginCipher();if(r.name=t.getValueOrDefault(e.name),r.notes=t.getValueOrDefault(e.notes),"LoginItem"===e.type)r.login.uris=t.makeUriArray(e.website),r.login.password=t.getValueOrDefault(e.password),r.login.username=t.getValueOrDefault(e.username);else if("CreditCardItem"===e.type){r.type=a.CipherType.Card,r.card=new l.CardView,r.card.cardholderName=t.getValueOrDefault(e.cardholder),r.card.number=t.getValueOrDefault(e.number),r.card.brand=t.getCardBrand(r.card.number),r.card.code=t.getValueOrDefault(e.verification);try{var i=t.getValueOrDefault(e.expiryMonth);if(null!=i){var o=parseInt(i,null);null!=o&&o>=1&&o<=12&&(r.card.expMonth=o.toString())}}catch(d){}try{var s=t.getValueOrDefault(e.expiryYear);if(null!=s){var c=parseInt(s,null);null!=c&&(r.card.expYear=c.toString())}}catch(h){}var p=t.getValueOrDefault(e.pin);null!=p&&t.processKvp(r,"PIN",p);var u=t.getValueOrDefault(e.zipCode);null!=u&&t.processKvp(r,"Zip Code",u)}t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,n)},t}(o.BaseImporter);t.RememBearCsvImporter=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);if(null==r)return n.success=!1,n;var i=1;return r.forEach(function(e){var o=!t.isNullOrWhitespace(e.Folder)&&e.Folder.startsWith("/")?e.Folder.replace("/",""):e.Folder,a=t.isNullOrWhitespace(o)?null:o;t.processFolder(n,a);var s=t.initLoginCipher();if(s.notes=t.getValueOrDefault(e.Note),s.name=t.getValueOrDefault(e.Name,"--"),s.login.username=t.getValueOrDefault(e.Login),s.login.password=t.getValueOrDefault(e.Pwd),s.login.uris=t.makeUriArray(e.Url),!t.isNullOrWhitespace(e.Rf_fields)){var l=[e.Rf_fields];null!=e.__parsed_extra&&e.__parsed_extra.length>0&&(l=l.concat(e.__parsed_extra)),l.forEach(function(e){var n=e.split(":");if(!(n.length<3)){var r="-no-name-"===n[0]?null:n[0],i=4===n.length&&"rck"===n[2]?n[1]:n[2];t.processKvp(s,r,i)}})}t.convertToNoteIfNeeded(s),t.cleanupCipher(s),i===r.length&&"--"===s.name&&t.isNullOrWhitespace(s.login.password)||(n.ciphers.push(s),i++)}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,n},t}(o.BaseImporter);t.RoboFormCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=n(125),l=n(93),c=n(39),p=n(110),u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseXml(e);if(null==r)return n.success=!1,n;if(null==r.querySelector("database"))return n.errorMessage="Missing `database` node.",n.success=!1,n;var i=new Map;return Array.from(r.querySelectorAll("database > label")).forEach(function(e){var r=e.getAttribute("name"),o=e.getAttribute("id");if(!t.isNullOrWhitespace(r)&&!t.isNullOrWhitespace(o)){i.set(o,n.folders.length);var a=new s.FolderView;a.name=r,n.folders.push(a)}}),Array.from(r.querySelectorAll("database > card")).forEach(function(e){if("true"!==e.getAttribute("template")){var r=t.querySelectorDirectChild(e,"label_id");if(null!=r){var o=r.textContent;!t.isNullOrWhitespace(o)&&i.has(o)&&n.folderRelationships.push([n.ciphers.length,i.get(o)])}var a=t.initLoginCipher();a.name=t.getValueOrDefault(e.getAttribute("title"),"--"),"note"===e.getAttribute("type")?(a.type=c.CipherType.SecureNote,a.secureNote=new l.SecureNoteView,a.secureNote.type=p.SecureNoteType.Generic):Array.from(t.querySelectorAllDirectChild(e,"field")).forEach(function(e){var n=e.textContent;if(!t.isNullOrWhitespace(n)){var r=e.getAttribute("name"),i=t.getValueOrDefault(e.getAttribute("type"),"").toLowerCase();"login"===i?a.login.username=n:"password"===i?a.login.password=n:"one_time_password"===i?a.login.totp=n:"notes"===i?a.notes+=n+"\n":"weblogin"===i||"website"===i?a.login.uris=t.makeUriArray(n):t.processKvp(a,r,n)}}),Array.from(t.querySelectorAllDirectChild(e,"notes")).forEach(function(e){a.notes+=e.textContent+"\n"}),t.cleanupCipher(a),n.ciphers.push(a)}}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,n},t}(o.BaseImporter);t.SafeInCloudXmlImporter=u},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,n):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(t.nameFromUrl(e.url),"--"),r.notes=t.getValueOrDefault(e.notes),r.login.username=t.getValueOrDefault(e.username),r.login.password=t.getValueOrDefault(e.password),r.login.uris=t.makeUriArray(e.url),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,n)},t}(o.BaseImporter);t.SaferPassCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,n):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.Title),r.notes=t.getValueOrDefault(e.Comment),r.login.uris=t.makeUriArray(e.Url),r.login.password=t.getValueOrDefault(e.Password),r.login.username=t.getValueOrDefault(e.Username),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,n)},t}(o.BaseImporter);t.SecureSafeCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);return null==r?(n.success=!1,n):(r.forEach(function(e){if(!(e.length<3)){t.processFolder(n,t.getValueOrDefault(e[e.length-1]));var r=t.initLoginCipher();r.notes=t.getValueOrDefault(e[e.length-2],""),r.name=t.getValueOrDefault(e[1],"--"),"Web Logins"===e[0]||"Servers"===e[0]||"Email Accounts"===e[0]?(r.login.username=t.getValueOrDefault(e[2]),r.login.password=t.getValueOrDefault(e[3]),r.login.uris=t.makeUriArray(e[4]),t.parseFieldsToNotes(r,5,e)):t.parseFieldsToNotes(r,2,e),t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,n)},t.prototype.parseFieldsToNotes=function(e,t,n){for(var r=t;r Database > Logins > Login");return Array.from(i).forEach(function(e){var i=e.getAttribute("ID");if(!t.isNullOrWhitespace(i)){var o=e.getAttribute("Name"),a=e.getAttribute("Password"),s=null,l=null,c=null,p=null,u=null,d=r.querySelector('root > Database > Accounts > Account > LoginLinks > Login[SourceLoginID="'+i+'"]');if(null!=d){var h=d.parentElement.parentElement;null!=h&&(s=h.getAttribute("Name"),l=h.getAttribute("Link"),p=h.getAttribute("ParentID"),c=h.getAttribute("Comments"),t.isNullOrWhitespace(c)||(c=c.split("/n").join("\n")))}t.isNullOrWhitespace(p)||(u=t.buildGroupText(r,p,""),t.processFolder(n,u));var f=t.initLoginCipher();f.name=t.getValueOrDefault(s,"--"),f.notes=t.getValueOrDefault(c),f.login.username=t.getValueOrDefault(o),f.login.password=t.getValueOrDefault(a),f.login.uris=t.makeUriArray(l),t.cleanupCipher(f),n.ciphers.push(f)}}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,n},t.prototype.buildGroupText=function(e,t,n){var r=e.querySelector('root > Database > Groups > Group[ID="'+t+'"]');return null==r?n:(this.isNullOrWhitespace(n)||(n="/"+n),n=r.getAttribute("Name")+n,this.buildGroupText(e,r.getAttribute("ParentID"),n))},t}(o.BaseImporter);t.StickyPasswordXmlImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=n(87),l=n(93),c=n(39),p=n(110),u=["kind","autologin","favorite","hexcolor","protectedwithpassword","subdomainonly","type","tk_export_version","note","title","document_content"],d=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,n):(r.forEach(function(e){var r=t.initLoginCipher();if(r.favorite="true"===t.getValueOrDefault(e.favorite,"").toLowerCase(),r.name=t.getValueOrDefault(e.name,"--"),r.notes=t.getValueOrDefault(e.memo,""),r.login.username=t.getValueOrDefault(e.login),r.login.password=t.getValueOrDefault(e.password),r.login.uris=t.makeUriArray(e.url),"login"!==e.kind&&(r.name=t.getValueOrDefault(e.title,"--"),r.notes=t.getValueOrDefault(e.note,"")),"cc"===e.kind){if(r.type=c.CipherType.Card,r.card=new s.CardView,r.card.cardholderName=t.getValueOrDefault(e.cardholder),r.card.number=t.getValueOrDefault(e.number),r.card.brand=t.getCardBrand(r.card.number),!t.isNullOrWhitespace(e.expiryDate))try{var i=new Date(e.expiryDate);r.card.expYear=i.getFullYear().toString(),r.card.expMonth=(i.getMonth()+1).toString()}catch(a){}}else if("login"!==e.kind)for(var o in r.type=c.CipherType.SecureNote,r.secureNote=new l.SecureNoteView,r.secureNote.type=p.SecureNoteType.Generic,t.isNullOrWhitespace(r.notes)||(r.notes=t.getValueOrDefault(e.document_content,"")),e)e.hasOwnProperty(o)&&u.indexOf(o.toLowerCase())<0&&!t.isNullOrWhitespace(e[o])&&t.processKvp(r,o,e[o]);t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,n)},t}(o.BaseImporter);t.TrueKeyCsvImporter=d},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!1);return null==r?(n.success=!1,n):(r.forEach(function(e){if(5===e.length){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e[0],"--"),r.notes=t.getValueOrDefault(e[4]),r.login.username=t.getValueOrDefault(e[1]),r.login.password=t.getValueOrDefault(e[2]),r.login.uris=t.makeUriArray(e[3]),t.cleanupCipher(r),n.ciphers.push(r)}}),n.success=!0,n)},t}(o.BaseImporter);t.UpmCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,n):(r.forEach(function(e){var r=t.initLoginCipher();r.name=t.getValueOrDefault(e.Name,"--"),r.login.username=t.getValueOrDefault(e["User name"]),r.login.password=t.getValueOrDefault(e.Password),r.login.uris=t.makeUriArray(e.URL),t.cleanupCipher(r),n.ciphers.push(r)}),n.success=!0,n)},t}(o.BaseImporter);t.YotiCsvImporter=s},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(25),a=n(26),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return i(t,e),t.prototype.parse=function(e){var t=this,n=new a.ImportResult,r=this.parseCsv(e,!0);return null==r?(n.success=!1,n):(r.forEach(function(e){if(!t.isNullOrWhitespace(e["Password Name"])||!t.isNullOrWhitespace(e["Secret Name"])){t.processFolder(n,t.getValueOrDefault(e.ChamberName));var r=t.initLoginCipher();r.favorite="1"===t.getValueOrDefault(e.Favorite,"0"),r.notes=t.getValueOrDefault(e.Notes),r.name=t.getValueOrDefault(e["Password Name"],t.getValueOrDefault(e["Secret Name"],"--")),r.login.uris=t.makeUriArray(t.getValueOrDefault(e["Password URL"],t.getValueOrDefault(e["Secret URL"]))),t.parseData(r,e.SecretData),t.parseData(r,e.CustomData),t.convertToNoteIfNeeded(r),t.cleanupCipher(r),n.ciphers.push(r)}}),this.organization&&this.moveFoldersToCollections(n),n.success=!0,n)},t.prototype.parseData=function(e,t){var n=this;this.isNullOrWhitespace(t)||this.splitNewLine(t).forEach(function(t){var r=t.indexOf(":");if(!(r<0)){var i=t.substring(0,r),o=t.length>r?t.substring(r+1):null;if(!n.isNullOrWhitespace(i)&&!n.isNullOrWhitespace(o)&&"SecretType"!==i){var a=i.toLowerCase();null==e.login.username&&n.usernameFieldNames.indexOf(a)>-1?e.login.username=o:null==e.login.password&&n.passwordFieldNames.indexOf(a)>-1?e.login.password=o:n.processKvp(e,i,o)}}})},t}(o.BaseImporter);t.ZohoVaultCsvImporter=s},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]t.minComplexity&&(t.minComplexity=e.data.minComplexity),null!=e.data.minLength&&e.data.minLength>t.minLength&&(t.minLength=e.data.minLength),e.data.requireUpper&&(t.requireUpper=!0),e.data.requireLower&&(t.requireLower=!0),e.data.requireNumbers&&(t.requireNumbers=!0),e.data.requireSpecial&&(t.requireSpecial=!0))}),[2,t])}})})},e.prototype.evaluateMasterPassword=function(e,t,n){return null==n||!(n.minComplexity>0&&n.minComplexity>e)&&(!(n.minLength>0&&n.minLength>t.length)&&((!n.requireUpper||t.toLocaleLowerCase()!==t)&&((!n.requireLower||t.toLocaleUpperCase()!==t)&&(!(n.requireNumbers&&!/[0-9]/.test(t))&&!(n.requireSpecial&&!/[!@#$%\^&*]/g.test(t))))))},e}();t.PolicyService=c},function(e,t,n){"use strict";var r,i=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.minComplexity=0,t.minLength=0,t.requireUpper=!1,t.requireLower=!1,t.requireNumbers=!1,t.requireSpecial=!1,t}return i(t,e),t}(n(80).default);t.MasterPasswordPolicyOptions=o},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]"))},e.prototype.indexCiphers=function(){return r(this,void 0,void 0,function(){var e,t=this;return i(this,function(n){switch(n.label){case 0:return this.indexing?[2]:(console.time("search indexing"),this.indexing=!0,this.index=null,(e=new o.Builder).ref("id"),e.field("shortid",{boost:100,extractor:function(e){return e.id.substr(0,8)}}),e.field("name",{boost:10}),e.field("subtitle",{boost:5,extractor:function(e){return null!=e.subTitle&&e.type===a.CipherType.Card?e.subTitle.replace(/\*/g,""):e.subTitle}}),e.field("notes"),e.field("login.username",{extractor:function(e){return e.type===a.CipherType.Login&&null!=e.login?e.login.username:null}}),e.field("login.uris",{boost:2,extractor:function(e){return t.uriExtractor(e)}}),e.field("fields",{extractor:function(e){return t.fieldExtractor(e,!1)}}),e.field("fields_joined",{extractor:function(e){return t.fieldExtractor(e,!0)}}),e.field("attachments",{extractor:function(e){return t.attachmentExtractor(e,!1)}}),e.field("attachments_joined",{extractor:function(e){return t.attachmentExtractor(e,!0)}}),e.field("organizationid",{extractor:function(e){return e.organizationId}}),[4,this.cipherService.getAllDecrypted()]);case 1:return n.sent().forEach(function(t){return e.add(t)}),this.index=e.build(),this.indexing=!1,console.timeEnd("search indexing"),[2]}})})},e.prototype.searchCiphers=function(e,t,n){return void 0===t&&(t=null),void 0===n&&(n=null),r(this,void 0,void 0,function(){var r,a,s,l,c;return i(this,function(i){switch(i.label){case 0:return r=[],null!=e&&(e=e.trim().toLowerCase()),""===e&&(e=null),null!=n?[3,2]:[4,this.cipherService.getAllDecrypted()];case 1:n=i.sent(),i.label=2;case 2:return null!=t&&Array.isArray(t)&&t.length>0?n=n.filter(function(e){return t.every(function(t){return null==t||t(e)})}):null!=t&&(n=n.filter(t)),this.isSearchable(e)?this.indexing?[4,new Promise(function(e){return setTimeout(e,250)})]:[3,5]:[2,n];case 3:return i.sent(),this.indexing?[4,new Promise(function(e){return setTimeout(e,500)})]:[3,5];case 4:i.sent(),i.label=5;case 5:if(null==(a=this.getIndexForSearch()))return[2,this.searchCiphersBasic(n,e)];if(s=new Map,n.forEach(function(e){return s.set(e.id,e)}),l=null,null!=e&&e.length>1&&0===e.indexOf(">"))try{l=a.search(e.substr(1).trim())}catch(p){}else c=o.Query.wildcard.LEADING|o.Query.wildcard.TRAILING,l=a.query(function(t){o.tokenizer(e).forEach(function(e){var n=e.toString();t.term(n,{fields:["name"],wildcard:c}),t.term(n,{fields:["subtitle"],wildcard:c}),t.term(n,{fields:["login.uris"],wildcard:c}),t.term(n,{})})});return null!=l&&l.forEach(function(e){s.has(e.ref)&&r.push(s.get(e.ref))}),[2,r]}})})},e.prototype.searchCiphersBasic=function(e,t,n){return void 0===n&&(n=!1),t=t.trim().toLowerCase(),e.filter(function(e){return n===e.isDeleted&&(null!=e.name&&e.name.toLowerCase().indexOf(t)>-1||(!!(t.length>=8&&e.id.startsWith(t))||(null!=e.subTitle&&e.subTitle.toLowerCase().indexOf(t)>-1||!!(e.login&&null!=e.login.uri&&e.login.uri.toLowerCase().indexOf(t)>-1))))})},e.prototype.getIndexForSearch=function(){return this.index},e.prototype.fieldExtractor=function(e,t){if(!e.hasFields)return null;var n=[];return e.fields.forEach(function(e){null!=e.name&&n.push(e.name),e.type===s.FieldType.Text&&null!=e.value&&n.push(e.value)}),0===(n=n.filter(function(e){return""!==e.trim()})).length?null:t?n.join(" "):n},e.prototype.attachmentExtractor=function(e,t){if(!e.hasAttachments)return null;var n=[];return e.attachments.forEach(function(e){null!=e&&null!=e.fileName&&(t&&e.fileName.indexOf(".")>-1?n.push(e.fileName.substr(0,e.fileName.lastIndexOf("."))):n.push(e.fileName))}),0===(n=n.filter(function(e){return""!==e.trim()})).length?null:t?n.join(" "):n},e.prototype.uriExtractor=function(e){if(e.type!==a.CipherType.Login||null==e.login||!e.login.hasUris)return null;var t=[];return e.login.uris.forEach(function(e){if(null!=e.uri&&""!==e.uri)if(null==e.hostname){var n=e.uri;if(e.match!==l.UriMatchType.RegularExpression){var r=n.indexOf("://");r>-1&&(n=n.substr(r+3));var i=n.search(/\?|&|#/);i>-1&&(n=n.substring(0,i))}t.push(n)}else t.push(e.hostname)}),t.length>0?t:null},e}();t.SearchService=c},,function(e,t,n){"use strict";(function(e){var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1||n.indexOf(" Version/9.")>-1)}return e.prototype.pbkdf2=function(e,t,n,s){return r(this,void 0,void 0,function(){var r,l,c,p,u,d,h,f,m;return i(this,function(i){switch(i.label){case 0:return this.isIE||this.isOldSafari?(r="sha256"===n?32:64,l=this.toByteString(e),c=this.toByteString(t),p=o.pbkdf2(l,c,s,r,n),[2,a.Utils.fromByteStringToArray(p).buffer]):(u="sha256"===n?256:512,d=this.toBuf(e),h=this.toBuf(t),f={name:"PBKDF2",salt:h,iterations:s,hash:{name:this.toWebCryptoAlgorithm(n)}},[4,this.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveBits"])]);case 1:return m=i.sent(),[4,this.subtle.deriveBits(f,m,u)];case 2:return[2,i.sent()]}})})},e.prototype.hkdf=function(e,t,n,o,a){return r(this,void 0,void 0,function(){var r,s,l,c;return i(this,function(i){switch(i.label){case 0:return r=this.toBuf(t),s=this.toBuf(n),l={name:"HKDF",salt:r,info:s,hash:{name:this.toWebCryptoAlgorithm(a)}},[4,this.subtle.importKey("raw",e,{name:"HKDF"},!1,["deriveBits"])];case 1:return c=i.sent(),[4,this.subtle.deriveBits(l,c,8*o)];case 2:return[2,i.sent()]}})})},e.prototype.hkdfExpand=function(e,t,n,o){return r(this,void 0,void 0,function(){var r,a,s,l,c,p,u,d,h,f;return i(this,function(i){switch(i.label){case 0:if(n>255*(r="sha256"===o?32:64))throw new Error("outputByteSize is too large.");if(new Uint8Array(e).length=n)return[3,4];i.label=3;case 3:return d++,[3,1];case 4:return[2,u.slice(0,n).buffer]}})})},e.prototype.hash=function(e,t){return r(this,void 0,void 0,function(){var n,r,s;return i(this,function(i){switch(i.label){case 0:return this.isIE&&"sha1"===t||"md5"===t?(n="md5"===t?o.md.md5.create():o.md.sha1.create(),r=this.toByteString(e),n.update(r,"raw"),[2,a.Utils.fromByteStringToArray(n.digest().data).buffer]):(s=this.toBuf(e),[4,this.subtle.digest({name:this.toWebCryptoAlgorithm(t)},s)]);case 1:return[2,i.sent()]}})})},e.prototype.hmac=function(e,t,n){return r(this,void 0,void 0,function(){var r,s,l,c,p;return i(this,function(i){switch(i.label){case 0:return this.isIE&&"sha512"===n?(r=o.hmac.create(),s=this.toByteString(t),l=this.toByteString(e),r.start(n,s),r.update(l,"raw"),[2,a.Utils.fromByteStringToArray(r.digest().data).buffer]):(c={name:"HMAC",hash:{name:this.toWebCryptoAlgorithm(n)}},[4,this.subtle.importKey("raw",t,c,!1,["sign"])]);case 1:return p=i.sent(),[4,this.subtle.sign(c,p,e)];case 2:return[2,i.sent()]}})})},e.prototype.compare=function(e,t){return r(this,void 0,void 0,function(){var n,r,o,a,s,l,c,p;return i(this,function(i){switch(i.label){case 0:return[4,this.randomBytes(32)];case 1:return n=i.sent(),r={name:"HMAC",hash:{name:"SHA-256"}},[4,this.subtle.importKey("raw",n,r,!1,["sign"])];case 2:return o=i.sent(),[4,this.subtle.sign(r,o,e)];case 3:return a=i.sent(),[4,this.subtle.sign(r,o,t)];case 4:if(s=i.sent(),a.byteLength!==s.byteLength)return[2,!1];for(l=new Uint8Array(a),c=new Uint8Array(s),p=0;p0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]"}),n.body=r,n.bodyOutputType=s.BodyOutputType.TrustedHtml}null!=e.options&&(!0===e.options.trustedHtml&&(n.bodyOutputType=s.BodyOutputType.TrustedHtml),null!=e.options.timeout&&e.options.timeout>0&&(n.timeout=e.options.timeout)),this.toasterService.popAsync(n)},e.prototype.idleStateChanged=function(){this.isIdle?this.notificationsService.disconnectFromInactivity():this.notificationsService.reconnectFromActivity()},e.prototype.setFullWidth=function(){return r(this,void 0,void 0,function(){return i(this,function(e){switch(e.label){case 0:return[4,this.storageService.get("enableFullWidth")];case 1:return e.sent()?document.body.classList.add("full-width"):document.body.classList.remove("full-width"),[2]}})})},e.ɵfac=function(t){return new(t||e)(u.ɵɵdirectiveInject(d.Angulartics2GoogleAnalytics),u.ɵɵdirectiveInject(h.BroadcasterService),u.ɵɵdirectiveInject(f.UserService),u.ɵɵdirectiveInject(m.TokenService),u.ɵɵdirectiveInject(v.FolderService),u.ɵɵdirectiveInject(y.SettingsService),u.ɵɵdirectiveInject(g.SyncService),u.ɵɵdirectiveInject(x.PasswordGenerationService),u.ɵɵdirectiveInject(b.CipherService),u.ɵɵdirectiveInject(S.AuthService),u.ɵɵdirectiveInject(w.Router),u.ɵɵdirectiveInject(C.Angulartics2),u.ɵɵdirectiveInject(I.ToasterService),u.ɵɵdirectiveInject(E.I18nService),u.ɵɵdirectiveInject(P.PlatformUtilsService),u.ɵɵdirectiveInject(u.NgZone),u.ɵɵdirectiveInject(k.VaultTimeoutService),u.ɵɵdirectiveInject(_.StorageService),u.ɵɵdirectiveInject(A.CryptoService),u.ɵɵdirectiveInject(O.CollectionService),u.ɵɵdirectiveInject(T.DomSanitizer),u.ɵɵdirectiveInject(M.SearchService),u.ɵɵdirectiveInject(B.NotificationsService),u.ɵɵdirectiveInject(D.RouterService),u.ɵɵdirectiveInject(j.StateService),u.ɵɵdirectiveInject(V.EventService),u.ɵɵdirectiveInject(R.PolicyService))},e.ɵcmp=u.ɵɵdefineComponent({type:e,selectors:[["app-root"]],decls:4,vars:1,consts:[["aria-live","polite",3,"toasterconfig"]],template:function(e,t){1&e&&(u.ɵɵelement(0,"toaster-container",0),u.ɵɵtext(1,"\n"),u.ɵɵelement(2,"router-outlet"),u.ɵɵtext(3,"\n")),2&e&&u.ɵɵproperty("toasterconfig",t.toasterConfig)},directives:[I.ToasterContainerComponent,w.RouterOutlet],encapsulation:2}),e}();t.AppComponent=U},function(e,t,n){"use strict";var r=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))(function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r.throw(e))}catch(t){o(t)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(a,s)}l((r=r.apply(e,t||[])).next())})},i=this&&this.__generator||function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=(i=a.trys).length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0){var n=this.formEls[0];if("input"===n.tagName.toLowerCase()){var r=n;if(null!=r.type&&"checkbox"===r.type.toLowerCase())return void r.click()}n.focus()}},e.ɵfac=function(t){return new(t||e)(r.ɵɵdirectiveInject(r.ElementRef))},e.ɵdir=r.ɵɵdefineDirective({type:e,selectors:[["","appBoxRow",""]],hostBindings:function(e,t){1&e&&r.ɵɵlistener("click",function(e){return t.onClick(e)})}}),e}();t.BoxRowDirective=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});n(0);var r=n(0),i=function(){function e(){}return e.prototype.transform=function(e,t,n){return void 0===n&&(n=!1),null==e||0===e.length?[]:null==t||t.length<2?e.filter(function(e){return n!==e.isDeleted}):(t=t.trim().toLowerCase(),e.filter(function(e){return n===e.isDeleted&&(null!=e.name&&e.name.toLowerCase().indexOf(t)>-1||(!!(t.length>=8&&e.id.startsWith(t))||(null!=e.subTitle&&e.subTitle.toLowerCase().indexOf(t)>-1||!!(e.login&&null!=e.login.uri&&e.login.uri.toLowerCase().indexOf(t)>-1))))}))},e.ɵfac=function(t){return new(t||e)},e.ɵpipe=r.ɵɵdefinePipe({name:"searchCiphers",type:e,pure:!0}),e}();t.SearchCiphersPipe=i}]); -//# sourceMappingURL=main.c95e488578c8d271f566.js.map \ No newline at end of file diff --git a/app/main.c95e488578c8d271f566.js.map b/app/main.c95e488578c8d271f566.js.map deleted file mode 100644 index 4d85bea0..00000000 --- a/app/main.c95e488578c8d271f566.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./jslib/src/abstractions/i18n.service.ts","webpack:///./jslib/src/abstractions/platformUtils.service.ts","webpack:///./jslib/src/abstractions/api.service.ts","webpack:///./jslib/src/abstractions/user.service.ts","webpack:///./jslib/src/angular/pipes/i18n.pipe.ts","webpack:///./jslib/src/abstractions/messaging.service.ts","webpack:///./jslib/src/angular/directives/api-action.directive.ts","webpack:///./jslib/src/angular/directives/a11y-title.directive.ts","webpack:///./jslib/src/abstractions/cipher.service.ts","webpack:///./jslib/src/abstractions/crypto.service.ts","webpack:///./jslib/src/importers/baseImporter.ts","webpack:///./jslib/src/models/domain/importResult.ts","webpack:///./jslib/src/angular/components/callout.component.ts","webpack:///./jslib/src/angular/components/callout.component.html","webpack:///./jslib/src/models/response/baseResponse.ts","webpack:///./jslib/src/misc/utils.ts","webpack:///./jslib/src/abstractions/passwordGeneration.service.ts","webpack:///./jslib/src/angular/directives/stop-click.directive.ts","webpack:///./jslib/src/enums/cipherType.ts","webpack:///./jslib/src/abstractions/state.service.ts","webpack:///./jslib/src/abstractions/collection.service.ts","webpack:///./jslib/src/abstractions/storage.service.ts","webpack:///./jslib/src/angular/directives/input-verbatim.directive.ts","webpack:///./jslib/src/abstractions/folder.service.ts","webpack:///./jslib/src/angular/directives/stop-prop.directive.ts","webpack:///./jslib/src/abstractions/auth.service.ts","webpack:///./jslib/src/abstractions/sync.service.ts","webpack:///./jslib/src/angular/directives/autofocus.directive.ts","webpack:///./jslib/src/abstractions/environment.service.ts","webpack:///./jslib/src/services/constants.service.ts","webpack:///./jslib/src/models/request/passwordVerificationRequest.ts","webpack:///./jslib/src/abstractions/event.service.ts","webpack:///./jslib/src/models/domain/domainBase.ts","webpack:///./jslib/src/abstractions/policy.service.ts","webpack:///./jslib/src/abstractions/search.service.ts","webpack:///./jslib/src/models/view/cardView.ts","webpack:///./src/app/modal.component.ts","webpack:///./jslib/src/models/view/secureNoteView.ts","webpack:///./jslib/src/abstractions/token.service.ts","webpack:///./jslib/src/abstractions/cryptoFunction.service.ts","webpack:///./jslib/src/abstractions/audit.service.ts","webpack:///./jslib/src/abstractions/vaultTimeout.service.ts","webpack:///./jslib/src/enums/secureNoteType.ts","webpack:///./jslib/src/angular/components/icon.component.ts","webpack:///./jslib/src/angular/components/icon.component.html","webpack:///./jslib/src/enums/twoFactorProviderType.ts","webpack:///./jslib/src/angular/services/broadcaster.service.ts","webpack:///./src/app/settings/payment.component.ts","webpack:///./src/app/settings/payment.component.html","webpack:///./jslib/src/models/view/folderView.ts","webpack:///./src/app/settings/tax-info.component.ts","webpack:///./src/app/settings/tax-info.component.html","webpack:///./jslib/src/models/view/cipherView.ts","webpack:///./jslib/src/models/view/identityView.ts","webpack:///./jslib/src/enums/fieldType.ts","webpack:///./src/app/components/avatar.component.ts","webpack:///./jslib/src/models/view/collectionView.ts","webpack:///./jslib/src/models/view/loginView.ts","webpack:///./jslib/src/enums/sendType.ts","webpack:///./jslib/src/models/data/collectionData.ts","webpack:///./jslib/src/models/domain/collection.ts","webpack:///./src/app/settings/two-factor-verify.component.ts","webpack:///./src/app/settings/two-factor-verify.component.html","webpack:///./jslib/src/abstractions/export.service.ts","webpack:///./jslib/src/models/data/cipherData.ts","webpack:///./jslib/src/enums/policyType.ts","webpack:///./jslib/src/abstractions/totp.service.ts","webpack:///./jslib/src/models/view/fieldView.ts","webpack:///./jslib/src/models/request/cipherRequest.ts","webpack:///./src/app/services/router.service.ts","webpack:///./jslib/src/models/domain/cipherString.ts","webpack:///./jslib/src/enums/organizationUserStatusType.ts","webpack:///./jslib/src/enums/organizationUserType.ts","webpack:///./jslib/src/angular/pipes/search.pipe.ts","webpack:///./src/app/services/event.service.ts","webpack:///./jslib/src/enums/eventType.ts","webpack:///./jslib/src/enums/paymentMethodType.ts","webpack:///./src/app/settings/two-factor-base.component.ts","webpack:///./src/app/tools/cipher-report.component.ts","webpack:///./jslib/src/models/domain/cipher.ts","webpack:///./jslib/src/models/view/loginUriView.ts","webpack:///./jslib/src/abstractions/import.service.ts","webpack:///./src/app/vault/ciphers.component.ts","webpack:///./src/app/vault/ciphers.component.html","webpack:///./jslib/src/abstractions/send.service.ts","webpack:///./jslib/src/enums/kdfType.ts","webpack:///./src/app/components/password-strength.component.ts","webpack:///./src/app/components/password-strength.component.html","webpack:///./jslib/src/services/auth.service.ts","webpack:///./jslib/src/models/request/selectionReadOnlyRequest.ts","webpack:///./jslib/src/enums/deviceType.ts","webpack:///./jslib/src/abstractions/settings.service.ts","webpack:///./src/app/settings/organization-plans.component.ts","webpack:///./src/app/settings/organization-plans.component.html","webpack:///./jslib/src/enums/uriMatchType.ts","webpack:///./src/app/vault/add-edit.component.ts","webpack:///./src/app/vault/add-edit.component.html","webpack:///./src/app/vault/groupings.component.ts","webpack:///./src/app/vault/groupings.component.html","webpack:///./jslib/src/models/domain/organization.ts","webpack:///./jslib/src/models/view/sendFileView.ts","webpack:///./jslib/src/models/view/sendTextView.ts","webpack:///./src/app/settings/organizations.component.ts","webpack:///./src/app/settings/organizations.component.html","webpack:///./jslib/src/models/response/selectionReadOnlyResponse.ts","webpack:///./jslib/src/models/data/sendData.ts","webpack:///./src/app/layouts/navbar.component.ts","webpack:///./src/app/layouts/navbar.component.html","webpack:///./src/app/layouts/footer.component.ts","webpack:///./src/app/layouts/footer.component.html","webpack:///./jslib/src/angular/services/validation.service.ts","webpack:///./jslib/src/enums/encryptionType.ts","webpack:///./jslib/src/models/request/keysRequest.ts","webpack:///./src/app/organizations/manage/entity-users.component.ts","webpack:///./src/app/organizations/manage/entity-users.component.html","webpack:///./src/app/organizations/manage/entity-events.component.ts","webpack:///./src/app/organizations/manage/entity-events.component.html","webpack:///./src/app/settings/api-key.component.ts","webpack:///./src/app/settings/api-key.component.html","webpack:///./src/app/settings/purge-vault.component.ts","webpack:///./src/app/settings/purge-vault.component.html","webpack:///./src/app/settings/user-billing.component.ts","webpack:///./src/app/settings/user-billing.component.html","webpack:///./src/app/settings/add-credit.component.ts","webpack:///./src/app/settings/add-credit.component.html","webpack:///./src/app/settings/adjust-payment.component.ts","webpack:///./src/app/settings/adjust-payment.component.html","webpack:///./jslib/src/enums/planType.ts","webpack:///./src/app/settings/update-license.component.ts","webpack:///./src/app/settings/update-license.component.html","webpack:///./src/app/settings/adjust-storage.component.ts","webpack:///./src/app/settings/adjust-storage.component.html","webpack:///./src/app/settings/two-factor-duo.component.ts","webpack:///./src/app/settings/two-factor-duo.component.html","webpack:///./src/app/settings/two-factor-setup.component.ts","webpack:///./src/app/settings/two-factor-setup.component.html","webpack:///./src/app/tools/export.component.ts","webpack:///./src/app/tools/export.component.html","webpack:///./src/app/tools/exposed-passwords-report.component.ts","webpack:///./src/app/tools/exposed-passwords-report.component.html","webpack:///./src/app/organizations/vault/add-edit.component.ts","webpack:///./jslib/src/models/view/passwordHistoryView.ts","webpack:///./jslib/src/angular/directives/true-false-value.directive.ts","webpack:///./src/app/tools/import.component.ts","webpack:///./src/app/tools/import.component.html","webpack:///./src/app/tools/inactive-two-factor-report.component.ts","webpack:///./src/app/tools/inactive-two-factor-report.component.html","webpack:///./src/app/tools/reused-passwords-report.component.ts","webpack:///./src/app/tools/reused-passwords-report.component.html","webpack:///./src/app/tools/unsecured-websites-report.component.ts","webpack:///./src/app/tools/unsecured-websites-report.component.html","webpack:///./src/app/tools/weak-passwords-report.component.ts","webpack:///./src/app/tools/weak-passwords-report.component.html","webpack:///./src/app/vault/attachments.component.ts","webpack:///./src/app/vault/attachments.component.html","webpack:///./src/app/organizations/vault/ciphers.component.ts","webpack:///./src/app/vault/collections.component.ts","webpack:///./src/app/vault/collections.component.html","webpack:///./src/app/organizations/vault/groupings.component.ts","webpack:///./src/app/vault/bulk-actions.component.ts","webpack:///./src/app/vault/bulk-actions.component.html","webpack:///./jslib/src/models/domain/sendFile.ts","webpack:///./jslib/src/models/domain/sendText.ts","webpack:///./jslib/src/models/request/cipherWithIdRequest.ts","webpack:///./jslib/src/models/request/folderRequest.ts","webpack:///./jslib/src/angular/directives/select-copy.directive.ts","webpack:///./jslib/src/angular/pipes/color-password.pipe.ts","webpack:///./jslib/src/models/response/profileResponse.ts","webpack:///./jslib/src/models/api/sendFileApi.ts","webpack:///./jslib/src/models/api/sendTextApi.ts","webpack:///./jslib/src/abstractions/notifications.service.ts","webpack:///./$_lazy_route_resource lazy namespace object","webpack:///./src/app/layouts/frontend-layout.component.ts","webpack:///./src/app/layouts/frontend-layout.component.html","webpack:///./src/app/layouts/organization-layout.component.ts","webpack:///./src/app/layouts/organization-layout.component.html","webpack:///./src/app/layouts/user-layout.component.ts","webpack:///./src/app/layouts/user-layout.component.html","webpack:///./src/app/accounts/accept-organization.component.ts","webpack:///./src/app/accounts/accept-organization.component.html","webpack:///./src/app/accounts/hint.component.ts","webpack:///./src/app/accounts/hint.component.html","webpack:///./src/app/accounts/lock.component.ts","webpack:///./src/app/accounts/lock.component.html","webpack:///./src/app/accounts/login.component.ts","webpack:///./src/app/accounts/login.component.html","webpack:///./src/app/accounts/recover-delete.component.ts","webpack:///./src/app/accounts/recover-delete.component.html","webpack:///./src/app/accounts/recover-two-factor.component.ts","webpack:///./src/app/accounts/recover-two-factor.component.html","webpack:///./src/app/accounts/register.component.ts","webpack:///./src/app/accounts/register.component.html","webpack:///./jslib/src/models/domain/policy.ts","webpack:///./jslib/src/models/data/policyData.ts","webpack:///./src/app/accounts/set-password.component.ts","webpack:///./src/app/accounts/set-password.component.html","webpack:///./jslib/src/angular/components/change-password.component.ts","webpack:///./src/app/accounts/sso.component.ts","webpack:///./src/app/accounts/sso.component.html","webpack:///./jslib/src/angular/components/sso.component.ts","webpack:///./src/app/accounts/two-factor.component.ts","webpack:///./src/app/accounts/two-factor.component.html","webpack:///./src/app/accounts/two-factor-options.component.ts","webpack:///./src/app/accounts/two-factor-options.component.html","webpack:///./jslib/src/models/request/twoFactorEmailRequest.ts","webpack:///./src/app/accounts/verify-email-token.component.ts","webpack:///./src/app/accounts/verify-email-token.component.html","webpack:///./src/app/accounts/verify-recover-delete.component.ts","webpack:///./src/app/accounts/verify-recover-delete.component.html","webpack:///./src/app/organizations/manage/collections.component.ts","webpack:///./src/app/organizations/manage/collections.component.html","webpack:///./src/app/organizations/manage/collection-add-edit.component.ts","webpack:///./src/app/organizations/manage/collection-add-edit.component.html","webpack:///./jslib/src/models/request/collectionRequest.ts","webpack:///./src/app/organizations/manage/events.component.ts","webpack:///./src/app/organizations/manage/events.component.html","webpack:///./src/app/organizations/manage/groups.component.ts","webpack:///./src/app/organizations/manage/groups.component.html","webpack:///./src/app/organizations/manage/group-add-edit.component.ts","webpack:///./src/app/organizations/manage/group-add-edit.component.html","webpack:///./src/app/organizations/manage/manage.component.ts","webpack:///./src/app/organizations/manage/manage.component.html","webpack:///./src/app/organizations/manage/people.component.ts","webpack:///./src/app/organizations/manage/people.component.html","webpack:///./jslib/src/models/request/organizationUserConfirmRequest.ts","webpack:///./src/app/organizations/manage/user-add-edit.component.ts","webpack:///./src/app/organizations/manage/user-add-edit.component.html","webpack:///./src/app/organizations/manage/user-confirm.component.ts","webpack:///./src/app/organizations/manage/user-confirm.component.html","webpack:///./src/app/organizations/manage/user-groups.component.ts","webpack:///./src/app/organizations/manage/user-groups.component.html","webpack:///./src/app/organizations/manage/policies.component.ts","webpack:///./src/app/organizations/manage/policies.component.html","webpack:///./jslib/src/abstractions/index.ts","webpack:///./src/app/organizations/manage/policy-edit.component.ts","webpack:///./src/app/organizations/manage/policy-edit.component.html","webpack:///./src/app/organizations/settings/account.component.ts","webpack:///./src/app/organizations/settings/account.component.html","webpack:///./jslib/src/models/request/organizationTaxInfoUpdateRequest.ts","webpack:///./jslib/src/models/request/taxInfoUpdateRequest.ts","webpack:///./src/app/organizations/settings/delete-organization.component.ts","webpack:///./src/app/organizations/settings/delete-organization.component.html","webpack:///./src/app/organizations/settings/organization-billing.component.ts","webpack:///./src/services/webConstants.ts","webpack:///./src/app/organizations/settings/organization-subscription.component.ts","webpack:///./src/app/organizations/settings/organization-subscription.component.html","webpack:///./src/app/organizations/settings/change-plan.component.ts","webpack:///./src/app/organizations/settings/change-plan.component.html","webpack:///./jslib/src/enums/productType.ts","webpack:///./src/app/organizations/settings/download-license.component.ts","webpack:///./src/app/organizations/settings/download-license.component.html","webpack:///./src/app/organizations/settings/adjust-seats.component.ts","webpack:///./src/app/organizations/settings/adjust-seats.component.html","webpack:///./src/app/organizations/settings/settings.component.ts","webpack:///./src/app/organizations/settings/settings.component.html","webpack:///./src/app/organizations/settings/two-factor-setup.component.ts","webpack:///./src/app/settings/two-factor-authenticator.component.ts","webpack:///./src/app/settings/two-factor-authenticator.component.html","webpack:///./src/app/settings/two-factor-email.component.ts","webpack:///./src/app/settings/two-factor-email.component.html","webpack:///./src/app/settings/two-factor-recovery.component.ts","webpack:///./src/app/settings/two-factor-recovery.component.html","webpack:///./src/app/settings/two-factor-u2f.component.ts","webpack:///./src/app/settings/two-factor-u2f.component.html","webpack:///./src/app/settings/two-factor-yubikey.component.ts","webpack:///./src/app/settings/two-factor-yubikey.component.html","webpack:///./src/app/organizations/tools/export.component.ts","webpack:///./src/app/organizations/tools/exposed-passwords-report.component.ts","webpack:///./jslib/src/models/data/attachmentData.ts","webpack:///./jslib/src/models/data/cardData.ts","webpack:///./jslib/src/models/data/fieldData.ts","webpack:///./jslib/src/models/data/identityData.ts","webpack:///./jslib/src/models/data/loginData.ts","webpack:///./jslib/src/models/data/loginUriData.ts","webpack:///./jslib/src/models/data/passwordHistoryData.ts","webpack:///./jslib/src/models/data/secureNoteData.ts","webpack:///./jslib/src/models/domain/attachment.ts","webpack:///./jslib/src/models/view/attachmentView.ts","webpack:///./jslib/src/models/domain/symmetricCryptoKey.ts","webpack:///./jslib/src/models/domain/card.ts","webpack:///./jslib/src/models/domain/field.ts","webpack:///./jslib/src/models/domain/identity.ts","webpack:///./jslib/src/models/domain/login.ts","webpack:///./jslib/src/models/domain/loginUri.ts","webpack:///./jslib/src/models/domain/password.ts","webpack:///./jslib/src/models/domain/secureNote.ts","webpack:///./jslib/src/models/request/cipherCreateRequest.ts","webpack:///./jslib/src/models/api/cardApi.ts","webpack:///./jslib/src/models/api/fieldApi.ts","webpack:///./jslib/src/models/api/identityApi.ts","webpack:///./jslib/src/models/api/loginApi.ts","webpack:///./jslib/src/models/api/loginUriApi.ts","webpack:///./jslib/src/models/api/secureNoteApi.ts","webpack:///./jslib/src/angular/directives/fallback-src.directive.ts","webpack:///./src/app/organizations/tools/import.component.ts","webpack:///./src/app/organizations/tools/inactive-two-factor-report.component.ts","webpack:///./src/app/organizations/tools/reused-passwords-report.component.ts","webpack:///./src/app/organizations/tools/tools.component.ts","webpack:///./src/app/organizations/tools/tools.component.html","webpack:///./src/app/organizations/tools/unsecured-websites-report.component.ts","webpack:///./src/app/organizations/tools/weak-passwords-report.component.ts","webpack:///./src/app/organizations/vault/vault.component.ts","webpack:///./src/app/organizations/vault/vault.component.html","webpack:///./src/app/organizations/vault/attachments.component.ts","webpack:///./src/app/organizations/vault/collections.component.ts","webpack:///./jslib/src/models/request/cipherCollectionsRequest.ts","webpack:///./src/app/vault/bulk-delete.component.ts","webpack:///./src/app/vault/bulk-delete.component.html","webpack:///./jslib/src/models/request/cipherBulkDeleteRequest.ts","webpack:///./src/app/vault/bulk-move.component.ts","webpack:///./src/app/vault/bulk-move.component.html","webpack:///./src/app/vault/bulk-restore.component.ts","webpack:///./src/app/vault/bulk-restore.component.html","webpack:///./src/app/vault/bulk-share.component.ts","webpack:///./src/app/vault/bulk-share.component.html","webpack:///./src/app/send/access.component.ts","webpack:///./src/app/send/access.component.html","webpack:///./jslib/src/models/data/sendFileData.ts","webpack:///./jslib/src/models/data/sendTextData.ts","webpack:///./jslib/src/models/response/errorResponse.ts","webpack:///./src/app/settings/account.component.ts","webpack:///./src/app/settings/account.component.html","webpack:///./src/app/settings/deauthorize-sessions.component.ts","webpack:///./src/app/settings/deauthorize-sessions.component.html","webpack:///./src/app/settings/delete-account.component.ts","webpack:///./src/app/settings/delete-account.component.html","webpack:///./src/app/settings/profile.component.ts","webpack:///./src/app/settings/profile.component.html","webpack:///./src/app/settings/change-email.component.ts","webpack:///./src/app/settings/change-email.component.html","webpack:///./jslib/src/models/request/emailTokenRequest.ts","webpack:///./src/app/settings/change-password.component.ts","webpack:///./src/app/settings/change-password.component.html","webpack:///./jslib/src/models/request/folderWithIdRequest.ts","webpack:///./jslib/src/models/request/passwordRequest.ts","webpack:///./jslib/src/models/request/updateKeyRequest.ts","webpack:///./src/app/settings/change-kdf.component.ts","webpack:///./src/app/settings/change-kdf.component.html","webpack:///./src/app/settings/create-organization.component.ts","webpack:///./src/app/settings/create-organization.component.html","webpack:///./src/app/settings/domain-rules.component.ts","webpack:///./src/app/settings/domain-rules.component.html","webpack:///./src/app/settings/options.component.ts","webpack:///./src/app/settings/options.component.html","webpack:///./src/app/settings/link-sso.component.ts","webpack:///./src/app/settings/link-sso.component.html","webpack:///./src/app/settings/premium.component.ts","webpack:///./src/app/settings/premium.component.html","webpack:///./src/app/settings/settings.component.ts","webpack:///./src/app/settings/settings.component.html","webpack:///./src/app/settings/user-subscription.component.ts","webpack:///./src/app/settings/user-subscription.component.html","webpack:///./src/app/tools/breach-report.component.ts","webpack:///./src/app/tools/breach-report.component.html","webpack:///./src/app/tools/password-generator.component.ts","webpack:///./src/app/tools/password-generator.component.html","webpack:///./src/app/tools/password-generator-history.component.ts","webpack:///./src/app/tools/password-generator-history.component.html","webpack:///./src/app/tools/tools.component.ts","webpack:///./src/app/tools/tools.component.html","webpack:///./src/app/vault/vault.component.ts","webpack:///./src/app/vault/vault.component.html","webpack:///./src/app/settings/update-key.component.ts","webpack:///./src/app/settings/update-key.component.html","webpack:///./src/app/vault/folder-add-edit.component.ts","webpack:///./src/app/vault/folder-add-edit.component.html","webpack:///./src/app/vault/share.component.ts","webpack:///./src/app/vault/share.component.html","webpack:///./src/app/settings/verify-email.component.ts","webpack:///./src/app/settings/verify-email.component.html","webpack:///./src/app/services/organization-guard.service.ts","webpack:///./src/app/services/organization-type-guard.service.ts","webpack:///./src/app/services/unauth-guard.service.ts","webpack:///./jslib/src/angular/services/auth-guard.service.ts","webpack:///./jslib/src/services/api.service.ts","webpack:///./jslib/src/models/response/cipherResponse.ts","webpack:///./jslib/src/models/response/collectionResponse.ts","webpack:///./jslib/src/models/response/domainsResponse.ts","webpack:///./jslib/src/models/response/folderResponse.ts","webpack:///./jslib/src/models/response/organizationResponse.ts","webpack:///./jslib/src/models/response/planResponse.ts","webpack:///./jslib/src/models/response/subscriptionResponse.ts","webpack:///./jslib/src/models/response/policyResponse.ts","webpack:///./jslib/src/models/response/sendResponse.ts","webpack:///./jslib/src/services/appId.service.ts","webpack:///./jslib/src/services/audit.service.ts","webpack:///./jslib/src/services/cipher.service.ts","webpack:///./jslib/src/misc/sequentialize.ts","webpack:///./jslib/src/services/collection.service.ts","webpack:///./jslib/src/misc/serviceUtils.ts","webpack:///./jslib/src/services/container.service.ts","webpack:///./jslib/src/services/crypto.service.ts","webpack:///./jslib/src/misc/wordlist.ts","webpack:///./jslib/src/services/environment.service.ts","webpack:///./jslib/src/services/folder.service.ts","webpack:///./jslib/src/models/data/folderData.ts","webpack:///./jslib/src/services/i18n.service.ts","webpack:///./jslib/src/services/passwordGeneration.service.ts","webpack:///./jslib/src/services/settings.service.ts","webpack:///./jslib/src/services/state.service.ts","webpack:///./jslib/src/services/sync.service.ts","webpack:///./jslib/src/services/token.service.ts","webpack:///./jslib/src/services/totp.service.ts","webpack:///./jslib/src/services/user.service.ts","webpack:///./jslib/src/services/vaultTimeout.service.ts","webpack:///./jslib/src/models/export/cipherWithIds.ts","webpack:///./jslib/src/models/export/collectionWithId.ts","webpack:///./jslib/src/models/export/folderWithId.ts","webpack:///./jslib/src/enums/notificationType.ts","webpack:///./jslib/src/models/domain/send.ts","webpack:///./jslib/src/models/view/sendView.ts","webpack:///./src/app/send/add-edit.component.ts","webpack:///./src/app/send/add-edit.component.html","webpack:///./src/app/main.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/app-routing.module.ts","webpack:///./jslib/src/services/broadcaster.service.ts","webpack:///./jslib/src/misc/tldjs.noop.ts","webpack:///./jslib/src/models/request/organizationUserAcceptRequest.ts","webpack:///./jslib/src/angular/components/hint.component.ts","webpack:///./jslib/src/models/request/passwordHintRequest.ts","webpack:///./jslib/src/angular/components/lock.component.ts","webpack:///./jslib/src/angular/components/login.component.ts","webpack:///./jslib/src/models/request/deleteRecoverRequest.ts","webpack:///./jslib/src/models/request/twoFactorRecoveryRequest.ts","webpack:///./jslib/src/angular/components/register.component.ts","webpack:///./jslib/src/models/request/registerRequest.ts","webpack:///./jslib/src/models/request/referenceEventRequest.ts","webpack:///./jslib/src/angular/components/set-password.component.ts","webpack:///./jslib/src/models/request/setPasswordRequest.ts","webpack:///./jslib/src/angular/components/two-factor-options.component.ts","webpack:///./jslib/src/angular/components/modal.component.ts","webpack:///./jslib/src/angular/components/two-factor.component.ts","webpack:///./jslib/src/models/domain/authResult.ts","webpack:///./jslib/src/models/request/deviceRequest.ts","webpack:///./jslib/src/models/request/preloginRequest.ts","webpack:///./jslib/src/models/request/tokenRequest.ts","webpack:///./jslib/src/misc/u2f.ts","webpack:///./jslib/src/models/request/verifyEmailRequest.ts","webpack:///./jslib/src/models/request/verifyDeleteRecoverRequest.ts","webpack:///./jslib/src/models/request/groupRequest.ts","webpack:///./jslib/src/models/request/organizationUserInviteRequest.ts","webpack:///./jslib/src/models/request/organizationUserUpdateRequest.ts","webpack:///./jslib/src/models/request/organizationUserUpdateGroupsRequest.ts","webpack:///./jslib/src/abstractions/appId.service.ts","webpack:///./jslib/src/abstractions/log.service.ts","webpack:///./jslib/src/models/request/policyRequest.ts","webpack:///./jslib/src/models/request/organizationUpdateRequest.ts","webpack:///./jslib/src/enums/transactionType.ts","webpack:///./jslib/src/models/request/verifyBankRequest.ts","webpack:///./jslib/src/models/request/bitPayInvoiceRequest.ts","webpack:///./jslib/src/models/request/paymentRequest.ts","webpack:///./jslib/src/models/request/organizationCreateRequest.ts","webpack:///./jslib/src/models/request/organizationUpgradeRequest.ts","webpack:///./jslib/src/models/request/seatRequest.ts","webpack:///./jslib/src/models/request/storageRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorDuoRequest.ts","webpack:///./jslib/src/models/request/twoFactorProviderRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorAuthenticatorRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorEmailRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorU2fDeleteRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorU2fRequest.ts","webpack:///./jslib/src/models/request/updateTwoFactorYubioOtpRequest.ts","webpack:///./jslib/src/angular/components/export.component.ts","webpack:///./jslib/src/models/request/attachmentRequest.ts","webpack:///./jslib/src/angular/components/add-edit.component.ts","webpack:///./jslib/src/angular/components/attachments.component.ts","webpack:///./jslib/src/angular/components/ciphers.component.ts","webpack:///./jslib/src/angular/components/collections.component.ts","webpack:///./jslib/src/angular/components/groupings.component.ts","webpack:///./jslib/src/models/domain/sendAccess.ts","webpack:///./jslib/src/models/view/sendAccessView.ts","webpack:///./jslib/src/models/request/sendAccessRequest.ts","webpack:///./jslib/src/models/request/updateProfileRequest.ts","webpack:///./jslib/src/models/request/emailRequest.ts","webpack:///./jslib/src/models/request/kdfRequest.ts","webpack:///./jslib/src/models/request/updateDomainsRequest.ts","webpack:///./jslib/src/angular/components/password-generator.component.ts","webpack:///./jslib/src/angular/components/password-generator-history.component.ts","webpack:///./jslib/src/angular/components/folder-add-edit.component.ts","webpack:///./jslib/src/angular/components/share.component.ts","webpack:///./src/app/services/services.module.ts","webpack:///./src/services/broadcasterMessaging.service.ts","webpack:///./src/services/htmlStorage.service.ts","webpack:///./jslib/src/services/index.ts","webpack:///./jslib/src/models/response/apiKeyResponse.ts","webpack:///./jslib/src/models/response/billingResponse.ts","webpack:///./jslib/src/models/response/breachAccountResponse.ts","webpack:///./jslib/src/models/response/attachmentResponse.ts","webpack:///./jslib/src/models/response/passwordHistoryResponse.ts","webpack:///./jslib/src/models/response/globalDomainResponse.ts","webpack:///./jslib/src/models/response/eventResponse.ts","webpack:///./jslib/src/models/response/groupResponse.ts","webpack:///./jslib/src/models/response/identityTokenResponse.ts","webpack:///./jslib/src/models/response/identityTwoFactorResponse.ts","webpack:///./jslib/src/models/response/listResponse.ts","webpack:///./jslib/src/models/response/organizationSubscriptionResponse.ts","webpack:///./jslib/src/models/response/organizationUserResponse.ts","webpack:///./jslib/src/models/response/paymentResponse.ts","webpack:///./jslib/src/models/response/profileOrganizationResponse.ts","webpack:///./jslib/src/models/response/preloginResponse.ts","webpack:///./jslib/src/models/response/sendAccessResponse.ts","webpack:///./jslib/src/models/response/syncResponse.ts","webpack:///./jslib/src/models/response/taxInfoResponse.ts","webpack:///./jslib/src/models/response/twoFactorAuthenticatorResponse.ts","webpack:///./jslib/src/models/response/twoFactorDuoResponse.ts","webpack:///./jslib/src/models/response/twoFactorEmailResponse.ts","webpack:///./jslib/src/models/response/twoFactorProviderResponse.ts","webpack:///./jslib/src/models/response/twoFactorRescoverResponse.ts","webpack:///./jslib/src/models/response/twoFactorU2fResponse.ts","webpack:///./jslib/src/models/response/twoFactorYubiKeyResponse.ts","webpack:///./jslib/src/models/response/userKeyResponse.ts","webpack:///./jslib/src/misc/throttle.ts","webpack:///./jslib/src/models/request/cipherBulkMoveRequest.ts","webpack:///./jslib/src/models/request/cipherBulkRestoreRequest.ts","webpack:///./jslib/src/models/request/cipherBulkShareRequest.ts","webpack:///./jslib/src/models/request/cipherShareRequest.ts","webpack:///./jslib/src/models/domain/sortedCiphersCache.ts","webpack:///./jslib/src/models/domain/treeNode.ts","webpack:///./jslib/src/models/domain/encryptedObject.ts","webpack:///./jslib/src/models/domain/environmentUrls.ts","webpack:///./jslib/src/models/domain/folder.ts","webpack:///./jslib/src/models/domain/generatedPasswordHistory.ts","webpack:///./jslib/src/models/domain/passwordGeneratorPolicyOptions.ts","webpack:///./jslib/src/models/data/organizationData.ts","webpack:///./src/services/i18n.service.ts","webpack:///./src/services/memoryStorage.service.ts","webpack:///./src/services/webPlatformUtils.service.ts","webpack:///./jslib/src/misc/analytics.ts","webpack:///./jslib/src/services/event.service.ts","webpack:///./jslib/src/models/data/eventData.ts","webpack:///./jslib/src/models/request/eventRequest.ts","webpack:///./jslib/src/services/export.service.ts","webpack:///./jslib/src/models/export/cipher.ts","webpack:///./jslib/src/models/export/card.ts","webpack:///./jslib/src/models/export/field.ts","webpack:///./jslib/src/models/export/identity.ts","webpack:///./jslib/src/models/export/login.ts","webpack:///./jslib/src/models/export/loginUri.ts","webpack:///./jslib/src/models/export/secureNote.ts","webpack:///./jslib/src/models/export/collection.ts","webpack:///./jslib/src/models/export/folder.ts","webpack:///./jslib/src/services/import.service.ts","webpack:///./jslib/src/models/request/importCiphersRequest.ts","webpack:///./jslib/src/models/request/importOrganizationCiphersRequest.ts","webpack:///./jslib/src/models/request/kvpRequest.ts","webpack:///./jslib/src/importers/ascendoCsvImporter.ts","webpack:///./jslib/src/importers/avastCsvImporter.ts","webpack:///./jslib/src/importers/avastJsonImporter.ts","webpack:///./jslib/src/importers/aviraCsvImporter.ts","webpack:///./jslib/src/importers/bitwardenCsvImporter.ts","webpack:///./jslib/src/importers/bitwardenJsonImporter.ts","webpack:///./jslib/src/importers/blackBerryCsvImporter.ts","webpack:///./jslib/src/importers/blurCsvImporter.ts","webpack:///./jslib/src/importers/buttercupCsvImporter.ts","webpack:///./jslib/src/importers/chromeCsvImporter.ts","webpack:///./jslib/src/importers/clipperzHtmlImporter.ts","webpack:///./jslib/src/importers/codebookCsvImporter.ts","webpack:///./jslib/src/importers/dashlaneJsonImporter.ts","webpack:///./jslib/src/importers/encryptrCsvImporter.ts","webpack:///./jslib/src/importers/enpassCsvImporter.ts","webpack:///./jslib/src/importers/enpassJsonImporter.ts","webpack:///./jslib/src/importers/firefoxCsvImporter.ts","webpack:///./jslib/src/importers/fsecureFskImporter.ts","webpack:///./jslib/src/importers/gnomeJsonImporter.ts","webpack:///./jslib/src/importers/kasperskyTxtImporter.ts","webpack:///./jslib/src/importers/keepass2XmlImporter.ts","webpack:///./jslib/src/importers/keepassxCsvImporter.ts","webpack:///./jslib/src/importers/keeperCsvImporter.ts","webpack:///./jslib/src/importers/lastpassCsvImporter.ts","webpack:///./jslib/src/importers/logMeOnceCsvImporter.ts","webpack:///./jslib/src/importers/meldiumCsvImporter.ts","webpack:///./jslib/src/importers/msecureCsvImporter.ts","webpack:///./jslib/src/importers/mykiCsvImporter.ts","webpack:///./jslib/src/importers/onepassword1PifImporter.ts","webpack:///./jslib/src/importers/onepasswordWinCsvImporter.ts","webpack:///./jslib/src/models/view/index.ts","webpack:///./jslib/src/models/view/view.ts","webpack:///./jslib/src/importers/padlockCsvImporter.ts","webpack:///./jslib/src/importers/passkeepCsvImporter.ts","webpack:///./jslib/src/importers/passmanJsonImporter.ts","webpack:///./jslib/src/importers/passpackCsvImporter.ts","webpack:///./jslib/src/importers/passwordAgentCsvImporter.ts","webpack:///./jslib/src/importers/passwordBossJsonImporter.ts","webpack:///./jslib/src/importers/passwordDragonXmlImporter.ts","webpack:///./jslib/src/importers/passwordSafeXmlImporter.ts","webpack:///./jslib/src/importers/passwordWalletTxtImporter.ts","webpack:///./jslib/src/importers/rememBearCsvImporter.ts","webpack:///./jslib/src/importers/roboformCsvImporter.ts","webpack:///./jslib/src/importers/safeInCloudXmlImporter.ts","webpack:///./jslib/src/importers/saferpassCsvImport.ts","webpack:///./jslib/src/importers/secureSafeCsvImporter.ts","webpack:///./jslib/src/importers/splashIdCsvImporter.ts","webpack:///./jslib/src/importers/stickyPasswordXmlImporter.ts","webpack:///./jslib/src/importers/truekeyCsvImporter.ts","webpack:///./jslib/src/importers/upmCsvImporter.ts","webpack:///./jslib/src/importers/yotiCsvImporter.ts","webpack:///./jslib/src/importers/zohoVaultCsvImporter.ts","webpack:///./jslib/src/services/notifications.service.ts","webpack:///./jslib/src/models/response/notificationResponse.ts","webpack:///./jslib/src/services/policy.service.ts","webpack:///./jslib/src/models/domain/masterPasswordPolicyOptions.ts","webpack:///./jslib/src/services/search.service.ts","webpack:///./jslib/src/services/send.service.ts","webpack:///./jslib/src/models/request/sendRequest.ts","webpack:///./jslib/src/services/webCryptoFunction.service.ts","webpack:///./jslib/src/models/domain/decryptParameters.ts","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.component.html","webpack:///./src/app/send/send.component.ts","webpack:///./src/app/send/send.component.html","webpack:///./jslib/src/angular/directives/blur-click.directive.ts","webpack:///./jslib/src/angular/directives/box-row.directive.ts","webpack:///./jslib/src/angular/pipes/search-ciphers.pipe.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","0","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","I18nService","PlatformUtilsService","ApiService","UserService","I18nPipe","i18nService","this","transform","id","p1","p2","p3","i0","ɵɵdirectiveInject","i1","pure","MessagingService","ApiActionDirective","el","validationService","ngOnChanges","changes","_this","appApiAction","then","nativeElement","loading","response","e","showError","ElementRef","ValidationService","selectors","inputs","features","ɵɵNgOnChangesFeature","A11yTitleDirective","renderer","title","ngOnInit","hasAttribute","setAttribute","Renderer2","appA11yTitle","CipherService","CryptoService","papa","cipherView_1","collectionView_1","loginUriView_1","utils_1","fieldView_1","folderView_1","loginView_1","secureNoteView_1","cipherType_1","fieldType_1","secureNoteType_1","BaseImporter","organization","newLineRegex","passwordFieldNames","usernameFieldNames","notesFieldNames","uriFieldNames","parseXml","doc","DOMParser","parseFromString","querySelector","parseCsv","header","splitNewLine","join","trim","parse","encoding","skipEmptyLines","errors","forEach","row","console","warn","message","parseSingleRowCsv","rowData","isNullOrWhitespace","parsedRow","makeUriArray","uri","loginUri","LoginUriView","fixUri","match","returnArr_1","u","indexOf","substring","nameFromUrl","url","hostname","Utils","getHostname","startsWith","replace","str","getValueOrDefault","defaultValue","split","getCardBrand","cardNum","re","RegExp","test","setCardExpiration","cipher","expiration","parts","month","year","substr","card","expMonth","expYear","moveFoldersToCollections","folderRelationships","collectionRelationships","collections","folders","map","f","collection","CollectionView","querySelectorDirectChild","parentEl","query","els","querySelectorAllDirectChild","Array","from","querySelectorAll","filter","parentNode","initLoginCipher","CipherView","favorite","notes","fields","login","LoginView","type","CipherType","Login","cleanupCipher","processKvp","FieldType","Text","search","field","FieldView","processFolder","folderName","folderIndex","hasFolder","addFolder","FolderView","ciphers","convertToNoteIfNeeded","username","password","uris","SecureNote","secureNote","SecureNoteView","SecureNoteType","Generic","ImportResult","success","ɵɵelement","ɵɵclassMapInterpolate1","ctx_r1","icon","ɵɵelementStart","ɵɵtext","ɵɵtemplate","CalloutComponent_h3_2_i_2_Template","ɵɵelementEnd","ɵɵadvance","ɵɵproperty","ctx_r0","ɵɵtextInterpolate1","CalloutComponent","calloutStyle","undefined","ngContentSelectors","_c0","decls","vars","consts","template","rf","ctx","CalloutComponent_h3_2_Template","ɵɵprojection","BaseResponse","getResponseProperty","propertyName","exactName","Error","otherCasePropertyName","charAt","toUpperCase","toLowerCase","tldjs","nodeURL","init","inited","isNode","process","release","isBrowser","isNativeScript","isMobileBrowser","isMobile","isAppleMobileBrowser","isAppleMobile","global","fromB64ToArray","Uint8Array","Buffer","binaryString","atob","bytes","charCodeAt","fromUrlB64ToArray","fromUrlB64ToB64","fromHexToArray","parseInt","fromUtf8ToArray","strUtf8","unescape","encodeURIComponent","arr","fromByteStringToArray","fromBufferToB64","buffer","toString","binary","byteLength","String","fromCharCode","btoa","fromBufferToUrlB64","fromB64toUrlB64","b64Str","fromBufferToUtf8","encodedString","decodeURIComponent","escape","fromBufferToByteString","fromBufferToHex","x","urlB64Str","output","fromUrlB64ToUtf8","fromB64ToUtf8","newGuid","Math","random","isGuid","uriString","getUrl","_a","getHost","host","getDomain","httpUrl","tldEndingRegex","getUrlObject","validIpAddress","urlDomain","domain","getQueryParams","Map","pair","set","getSortFunction","prop","a","b","collator","compare","localeCompare","ipString","win","mobile","navigator","userAgent","vendor","opera","URL","hasProtocol","anchor","document","createElement","href","PasswordGenerationService","StopClickDirective","onClick","$event","preventDefault","hostBindings","StateService","CollectionService","StorageService","InputVerbatimDirective","condition","disableComplete","appInputVerbatim","FolderService","StopPropDirective","stopPropagation","AuthService","SyncService","AutofocusDirective","autofocus","focus","appAutofocus","EnvironmentService","ConstantsService","environmentUrlsKey","disableGaKey","disableAddLoginNotificationKey","disableContextMenuItemKey","disableFaviconKey","disableAutoTotpCopyKey","enableAutoFillOnPageLoadKey","vaultTimeoutKey","vaultTimeoutActionKey","lastActiveKey","neverDomainsKey","installedVersionKey","localeKey","themeKey","collapsedGroupingsKey","autoConfirmFingerprints","dontShowCardsCurrentTab","dontShowIdentitiesCurrentTab","defaultUriMatch","pinProtectedKey","protectedPin","clearClipboardKey","eventCollectionKey","ssoCodeVerifierKey","ssoStateKey","biometricUnlockKey","biometricText","biometricAwaitingAcceptance","disableChangedPasswordNotificationKey","PasswordVerificationRequest","EventService","cipherString_1","Domain","buildDomainModel","dataObj","alreadyEncrypted","notEncList","objProp","CipherString","buildDataModel","notCipherStringList","encryptedString","decryptObj","viewModel","orgId","promises","self","theProp","Promise","resolve","mapProp","decrypt","val","all","sent","PolicyService","SearchService","CardView","cardholderName","code","_brand","_number","_subTitle","repeat","brand","number","count","exp","formatYear","jq","modal_component_1","ModalComponent","_super","componentFactoryResolver","messagingService","__extends","ngOnDestroy","show","parentContainer","fade","setComponentParameters","factory","resolveComponentFactory","componentRef","container","createComponent","instance","modals","modal","on","onShow","emit","send","onShown","find","onClose","onClosed","clear","close","ComponentFactoryResolver","ɵɵInheritDefinitionFeature","ModalComponent_ng_template_0_Template","ɵɵtemplateRefExtractor","TokenService","CryptoFunctionService","AuditService","VaultTimeoutService","constants_service_1","ɵɵpropertyInterpolate","fallbackImage","image","ɵɵsanitizeUrl","IconMap","fa-globe","fa-sticky-note-o","fa-id-card-o","fa-credit-card","fa-android","fa-apple","IconComponent","environmentService","stateService","iconsUrl","baseUrl","imageEnabled","_b","load","setLoginIcon","Card","Identity","hostnameUri","isWebsite","i2","IconComponent_img_2_Template","IconComponent_i_4_Template","TwoFactorProviderType","broadcaster_service_1","BroadcasterService","ɵfac","paymentMethodType_1","webConstants_1","ɵɵlistener","ɵɵrestoreView","_r9","ɵɵnextContext","method","changeMethod","ctx_r5","paymentMethodType","BankAccount","ɵɵpipeBind1","_r12","ctx_r6","PayPal","_r15","ctx_r7","Credit","_r18","PaymentComponent_div_0_div_13_Template","PaymentComponent_div_0_div_15_Template","PaymentComponent_div_0_div_17_Template","hideBank","hidePaypal","hideCredit","ɵɵelementContainerStart","ɵɵelementContainerEnd","ɵɵtextInterpolate","_r21","bank","routing_number","account_number","account_holder_name","account_holder_type","ɵɵtextInterpolate2","ctx_r2","StripeElementStyle","base","color","fontFamily","fontSize","fontSmoothing","invalid","StripeElementClasses","empty","PaymentComponent","platformUtilsService","apiService","showMethods","showOptions","PaymentMethodType","currency","country","btInstance","stripe","stripeElements","stripeCardNumberElement","stripeCardExpiryElement","stripeCardCvcElement","stripeScript","src","async","onload","Stripe","isDev","WebConstants","stripeTestKey","stripeLiveKey","elements","setStripeElement","btScript","head","appendChild","removeChild","setTimeout","body","btStylesheet","braintree","dropin","authorization","btSandboxKey","btProductionKey","paymentOptionPriority","paypal","flow","buttonStyle","label","size","shape","createErr","error","createPaymentToken","reject","requestPaymentMethod","payload","nonce","catch","err","postSetupPayment","clientSecret","handleCardSetup","setupIntent","status","payment_method","createToken","token","handleStripeCardPayment","successCallback","__awaiter","paymentIntent","style","classes","placeholder","mount","PaymentComponent_div_0_Template","PaymentComponent_ng_container_2_Template","PaymentComponent_ng_container_4_Template","PaymentComponent_ng_container_6_Template","PaymentComponent_ng_container_8_Template","revisionDate","core_1","organizationTaxInfoUpdateRequest_1","taxInfoUpdateRequest_1","_r4","taxInfo","includeTaxId","_r6","taxId","_r8","line1","line2","city","state","TaxInfoComponent","route","onCountryChanged","EventEmitter","postalCode","pristine","parent","params","subscribe","organizationId","getOrganizationTaxInfo","getTaxInfo","assign","getTaxInfoRequest","request","OrganizationTaxInfoUpdateRequest","TaxInfoUpdateRequest","submitTaxInfo","hasChanged","putOrganizationTaxInfo","putTaxInfo","changeCountry","ActivatedRoute","outputs","TaxInfoComponent_div_779_Template","TaxInfoComponent_div_782_Template","TaxInfoComponent_div_784_Template","cardView_1","identityView_1","folderId","organizationUseTotp","edit","viewPassword","identity","IdentityView","attachments","passwordHistory","collectionIds","deletedDate","localData","subTitle","hasAttachments","passwordRevisionDate","middleName","address1","address2","address3","company","email","phone","ssn","passportNumber","licenseNumber","_firstName","_lastName","firstName","lastName","name_1","address","addressPart2","AvatarComponent","sanitizer","cryptoFunctionService","charCount","textColor","fontWeight","dynamic","circle","generate","hash","hashBytes","chars","upperData","getFirstLetters","charObj","getCharText","stringToColor","svg","getSvg","html","outerHTML","svgHtml","text","svgTag","backgroundColor","width","height","character","textTag","textContent","DomSanitizer","i3","collection_1","externalId","readOnly","hidePasswords","Collection","totp","hasUris","some","canLaunch","launchUri","SendType","CollectionData","obj","default","twoFactorProviderType_1","passwordVerificationRequest_1","TwoFactorVerifyComponent","toasterService","cryptoService","onAuthed","submit","masterPassword","popAsync","hashPassword","masterPasswordHash","_d","formPromise","getTwoFactorRecover","Duo","OrganizationDuo","getTwoFactorOrganizationDuo","getTwoFactorDuo","Email","getTwoFactorEmail","U2f","getTwoFactorU2f","Authenticator","getTwoFactorAuthenticator","Yubikey","getTwoFactorYubiKey","ToasterService","i4","_r0","ExportService","attachmentData_1","cardData_1","fieldData_1","identityData_1","loginData_1","passwordHistoryData_1","secureNoteData_1","CipherData","userId","LoginData","SecureNoteData","CardData","IdentityData","FieldData","AttachmentData","ph","PasswordHistoryData","PolicyType","TotpService","newField","showValue","cardApi_1","fieldApi_1","identityApi_1","loginApi_1","loginUriApi_1","secureNoteApi_1","attachmentRequest_1","CipherRequest","lastKnownRevisionDate","LoginApi","toISOString","LoginUriApi","SecureNoteApi","CardApi","IdentityApi","FieldApi","lastUsedDate","attachments2","attachment","fileName","attachmentRequest","AttachmentRequest","router_1","RouterService","router","activatedRoute","titleService","previousUrl","currentUrl","events","event","NavigationEnd","titleId","rawTitle","child","firstChild","snapshot","newTitle","setTitle","getPreviousUrl","setPreviousUrl","ɵɵinject","Router","Title","encryptionType_1","encryptedStringOrType","iv","mac","encType","encryptionType","headerPieces","encPieces","EncryptionType","AesCbc128_HmacSha256_B64","AesCbc256_B64","AesCbc256_HmacSha256_B64","Rsa2048_OaepSha256_B64","Rsa2048_OaepSha1_B64","decryptedValue","containerService","bitwardenContainerService","getCryptoService","getOrgKey","decryptToUtf8","OrganizationUserStatusType","OrganizationUserType","SearchPipe","items","searchText","prop1","prop2","prop3","deviceType_1","eventType_1","getDefaultDateFilters","Date","end","getFullYear","getMonth","getDate","setDate","start","toDateTimeLocalString","formatDateFilters","filterStart","filterEnd","isNaN","getTime","getEventInfo","ev","options","EventOptions","appInfo","getAppInfo","deviceType","getEventMessage","appIcon","appName","msg","EventType","User_LoggedIn","User_ChangedPassword","User_Updated2fa","User_Disabled2fa","User_Recovered2fa","User_FailedLogIn","User_FailedLogIn2fa","User_ClientExportedVault","Cipher_Created","formatCipherId","Cipher_Updated","Cipher_Deleted","Cipher_SoftDeleted","Cipher_Restored","Cipher_AttachmentCreated","Cipher_AttachmentDeleted","Cipher_Shared","Cipher_ClientViewed","Cipher_ClientToggledPasswordVisible","Cipher_ClientToggledHiddenFieldVisible","Cipher_ClientToggledCardCodeVisible","Cipher_ClientCopiedHiddenField","Cipher_ClientCopiedPassword","Cipher_ClientCopiedCardCode","Cipher_ClientAutofilled","Cipher_UpdatedCollections","Collection_Created","formatCollectionId","Collection_Updated","Collection_Deleted","Group_Created","formatGroupId","Group_Updated","Group_Deleted","OrganizationUser_Invited","formatOrgUserId","OrganizationUser_Confirmed","OrganizationUser_Updated","OrganizationUser_Removed","OrganizationUser_UpdatedGroups","Organization_Updated","Organization_PurgedVault","DeviceType","Android","iOS","UWP","ChromeExtension","FirefoxExtension","OperaExtension","EdgeExtension","VivaldiExtension","SafariExtension","WindowsDesktop","MacOsDesktop","LinuxDesktop","ChromeBrowser","FirefoxBrowser","OperaBrowser","SafariBrowser","VivaldiBrowser","EdgeBrowser","IEBrowser","UnknownBrowser","shortId","getShortId","cipherId","cipherInfo","makeAnchor","groupId","collectionId","organizationUserId","innerHTML","date","pad","getHours","getMinutes","num","norm","floor","abs","EventInfo","twoFactorProviderRequest_1","TwoFactorBaseComponent","analytics","onUpdated","twoFactorProviderType","enabled","authed","auth","authResponse","enable","enableFunction","eventTrack","next","action","disable","promise","showDialog","TwoFactorProviderRequest","putTwoFactorOrganizationDisable","putTwoFactorDisable","Angulartics2","i5","add_edit_component_1","add_edit_component_2","CipherReportComponent","userService","requiresPaid","hasLoaded","setCiphers","selectCipher","childComponent","cipherAddEditModalRef","AddEditComponent","onSavedCipher","onDeletedCipher","onRestoredCipher","checkAccess","useTotp","canAccessPremium","accessPremium","viewQuery","ViewContainerRef","cipherData_1","attachment_1","card_1","domainBase_1","field_1","identity_1","login_1","password_1","secureNote_1","Cipher","Attachment","Field","Password","model","_f","_c","_e","attachments_1","reduce","decAttachment","fields_1","decField","passwordHistory_1","decPh","toCipherData","toLoginData","toSecureNoteData","toCardData","toIdentityData","toFieldData","toAttachmentData","toPasswordHistoryData","uriMatchType_1","CanLaunchWhitelist","_uri","_domain","_hostname","_host","_canLaunch","UriMatchType","RegularExpression","ImportService","ciphers_component_1","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_20_ng_container_9_Template","showFixOldAttachments","c_r5","_r20","$implicit","copy","_r23","launch","_r26","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_40_a_8_Template","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_40_a_10_Template","_r30","clone","_r33","share","_r36","_r39","_r42","restore","_r44","checkCipher","checked","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_18_Template","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_20_Template","CiphersComponent_ng_container_0_table_2_tr_4_ng_container_40_Template","CiphersComponent_ng_container_0_table_2_tr_4_a_48_Template","CiphersComponent_ng_container_0_table_2_tr_4_a_50_Template","CiphersComponent_ng_container_0_table_2_tr_4_a_52_Template","CiphersComponent_ng_container_0_table_2_tr_4_a_54_Template","CiphersComponent_ng_container_0_table_2_tr_4_a_56_Template","delete","ctx_r4","cipherType","isDeleted","accessEvents","_r52","loadMore","CiphersComponent_ng_container_0_table_2_tr_4_Template","isPaging","filteredCiphers_r1","_r58","addCipher","CiphersComponent_ng_container_0_div_4_ng_container_4_button_6_Template","ctx_r55","showAddNew","CiphersComponent_ng_container_0_div_4_ng_container_2_Template","CiphersComponent_ng_container_0_div_4_ng_container_4_Template","ctx_r3","loaded","CiphersComponent_ng_container_0_table_2_Template","CiphersComponent_ng_container_0_div_4_Template","CiphersComponent","searchService","cipherService","eventService","onAttachmentsClicked","onShareClicked","onCollectionsClicked","onCloneClicked","pageSize","selectAll","actionPromise","permanent","deleteCipher","refresh","restoreWithServer","typeI18nKey","aType","copyToClipboard","collect","select","selectCount","getSelected","getSelectedIds","deleteWithServer","softDeleteWithServer","hasOldAttachments","i6","i7","CiphersComponent_ng_container_0_Template","pagedCiphers","SendService","KdfType","PasswordStrengthComponent","showText","scoreWidth","score","PasswordStrengthComponent_ng_container_4_Template","ɵɵpureFunction1","ɵɵattribute","authResult_1","deviceRequest_1","keysRequest_1","preloginRequest_1","tokenRequest_1","TwoFactorProviders","description","priority","sort","premium","tokenService","appIdService","vaultTimeoutService","setCryptoKeys","selectedTwoFactorProviderType","logIn","makePreloginKey","hashedPassword","logInHelper","logInSso","codeVerifier","redirectUrl","logInApiKey","clientId","logInTwoFactor","twoFactorProvider","twoFactorToken","remember","ssoRedirectUrl","logInComplete","logInSsoComplete","logInApiKeyComplete","logOut","callback","getSupportedTwoFactorProviders","providers","twoFactorProvidersData","has","supportsDuo","supportsU2f","getDefaultTwoFactorProvider","u2fSupported","providerType","providerPriority","provider","kdf","kdfIterations","postPrelogin","PreloginRequest","preloginResponse","e_1","statusCode","makeKey","authingWithApiKey","authingWithSso","authingWithPassword","getTwoFactorToken","storedTwoFactorToken","getAppId","appId","deviceRequest","DeviceRequest","emailPassword","codeCodeVerifier","clientIdClientSecret","TokenRequest","Remember","postIdentityToken","clearState","AuthResult","twoFactor","accessToken","twoFactorResponse","twoFactorProviders2","twoFactorProviders","tokenResponse","resetMasterPassword","setTwoFactorToken","setTokens","refreshToken","setInformation","getUserId","getEmail","setKey","setKeyHash","setEncKey","privateKey","makeKeyPair","keyPair","postAccountKeys","KeysRequest","e_2","setEncPrivateKey","biometricLocked","SelectionReadOnlyRequest","SettingsService","payment_component_1","tax_info_component_1","planType_1","policyType_1","productType_1","organizationCreateRequest_1","organizationUpgradeRequest_1","_r5","ɵɵpipeBind2","_r3","_r14","billingEmail","_r17","businessName","ctx_r8","OrganizationPlansComponent_form_4_div_24_ng_container_11_small_6_Template","OrganizationPlansComponent_form_4_div_24_ng_container_11_small_8_Template","OrganizationPlansComponent_form_4_div_24_ng_container_11_small_10_Template","selectableProduct_r18","hasSelfHost","hasSso","hasPolicies","maxUsers","maxCollections","maxAdditionalSeats","baseStorageGb","trialPeriodDays","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_1_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_3_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_5_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_7_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_9_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_11_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_13_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_15_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_17_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_19_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_21_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_23_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_25_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_small_27_Template","product","ctx_r21","productTypes","Free","hasGroups","hasApi","hasDirectory","usersGetPremium","ɵɵtextInterpolate3","seatPrice","OrganizationPlansComponent_form_4_div_24_span_16_ng_container_2_ng_container_5_Template","basePrice","baseSeats","hasAdditionalSeatsOption","OrganizationPlansComponent_form_4_div_24_span_16_ng_container_2_Template","_r57","changedProduct","OrganizationPlansComponent_form_4_div_24_ng_container_11_Template","OrganizationPlansComponent_form_4_div_24_ng_template_13_Template","OrganizationPlansComponent_form_4_div_24_span_16_Template","OrganizationPlansComponent_form_4_div_24_span_18_Template","OrganizationPlansComponent_form_4_div_24_span_20_Template","ɵɵpropertyInterpolate1","ctx_r9","nameLocalizationKey","descriptionLocalizationKey","Enterprise","_r67","additionalSeats","ctx_r59","_r69","ctx_r60","ɵɵpipeBind3","selectedPlan","seatPriceMonthly","_r71","premiumAccessAddon","ctx_r61","ɵɵtextInterpolate5","selectablePlan_r72","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_small_5_span_2_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_small_5_span_4_Template","ctx_r76","seatTotal","ɵɵtextInterpolate6","ctx_r77","additionalStorage","additionalStoragePricePerGb","additionalStorageTotal","premiumAccessOptionCost","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_small_3_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_small_5_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_small_7_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_small_9_Template","hasAdditionalStorageOption","hasPremiumAccessOption","ctx_r73","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_small_5_span_2_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_small_5_span_4_Template","ctx_r87","ctx_r88","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_small_3_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_small_5_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_small_7_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_small_9_Template","ctx_r74","_r98","plan","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_6_Template","OrganizationPlansComponent_form_4_div_26_div_38_ng_container_8_Template","ctx_r62","isAnnual","_r100","changedCountry","ctx_r63","selectedPlanInterval","ctx_r65","interval","OrganizationPlansComponent_form_4_div_26_ng_container_2_Template","OrganizationPlansComponent_form_4_div_26_div_8_Template","_r102","OrganizationPlansComponent_form_4_div_26_div_31_Template","OrganizationPlansComponent_form_4_div_26_div_38_Template","OrganizationPlansComponent_form_4_div_26_ng_container_51_Template","OrganizationPlansComponent_form_4_div_26_ng_container_53_Template","OrganizationPlansComponent_form_4_div_26_small_55_Template","ctx_r10","ɵɵpipeBind4","additionalStoragePriceMonthly","selectablePlans","subtotal","createOrganization","_r104","cancel","_r106","OrganizationPlansComponent_form_4_div_7_Template","ownedBusiness","changedOwnedBusiness","OrganizationPlansComponent_form_4_div_18_Template","OrganizationPlansComponent_form_4_div_24_Template","OrganizationPlansComponent_form_4_div_26_Template","OrganizationPlansComponent_form_4_div_28_Template","OrganizationPlansComponent_form_4_button_42_Template","selectableProducts","singleOrgPolicyBlock","showCancel","OrganizationPlansComponent","syncService","policyService","showFree","ProductType","PlanType","onSuccess","onCanceled","selfHosted","isSelfHost","getPlans","plans","validPlans","Custom","canBeUsedByBusiness","legacyYear","disabled","subTotal","premiumAccessOptionPrice","TeamsMonthly","paymentComponent","taxComponent","getAll","SingleOrg","policies","policy","files","fileEl","getElementById","doSubmit","tokenResult","makeShareKey","shareKey","encrypt","collectionCt","fd","FormData","append","postOrganizationLicense","OrganizationCreateRequest","collectionName","planType","paymentToken","additionalStorageGb","billingAddressPostalCode","billingAddressCountry","taxIdNumber","billingAddressLine1","billingAddressLine2","billingAddressCity","billingAddressState","postOrganization","OrganizationUpgradeRequest","postOrganizationUpgrade","paymentIntentClientSecret","refreshIdentityToken","fullSync","navigate","i8","i9","OrganizationPlansComponent_ng_container_0_Template","OrganizationPlansComponent_ng_container_2_Template","OrganizationPlansComponent_form_4_Template","o_r15","AddEditComponent_div_20_div_2_option_10_Template","typeOptions","f_r19","AddEditComponent_div_20_div_15_option_8_Template","_r29","ctx_r28","generatePassword","AddEditComponent_div_20_ng_container_19_div_26_a_2_Template","_r35","checkPassword","ctx_r23","checkPasswordPromise","_r31","premiumRequired","_r41","upgradeOrganization","AddEditComponent_div_20_ng_container_19_div_64_a_5_Template","AddEditComponent_div_20_ng_container_19_div_64_a_7_Template","ctx_r24","ɵɵnamespaceSVG","ɵɵnamespaceHTML","_r43","ctx_r42","totpCode","ctx_r25","totpSec","totpDash","totpCodeFormatted","o_r49","u_r45","removeUri","_r54","loginUriMatchChanged","AddEditComponent_div_20_ng_container_19_ng_container_70_div_2_option_49_Template","AddEditComponent_div_20_ng_container_19_ng_container_70_div_2_button_52_Template","i_r46","ctx_r44","uriMatchOptions","AddEditComponent_div_20_ng_container_19_ng_container_70_div_2_Template","ctx_r26","trackByFunction","_r60","addUri","_r62","AddEditComponent_div_20_ng_container_19_div_14_Template","AddEditComponent_div_20_ng_container_19_div_26_Template","togglePassword","AddEditComponent_div_20_ng_container_19_div_64_Template","AddEditComponent_div_20_ng_container_19_div_66_Template","AddEditComponent_div_20_ng_container_19_ng_container_70_Template","AddEditComponent_div_20_ng_container_19_a_72_Template","showPassword","ɵɵpureFunction2","_c1","_c2","totpLow","o_r69","o_r70","_r72","AddEditComponent_div_20_ng_container_22_option_21_Template","ctx_r75","AddEditComponent_div_20_ng_container_22_option_57_Template","toggleCardCode","ctx_r80","cardBrandOptions","cardExpMonthOptions","showCardCode","o_r82","_r84","AddEditComponent_div_20_ng_container_25_option_12_Template","identityTitleOptions","_r112","f_r103","i_r104","ctx_r105","_r118","toggleFieldValue","ctx_r121","fieldType","Hidden","ctx_r106","_r126","ctx_r107","_r130","removeField","_r132","AddEditComponent_div_20_div_40_div_2_div_28_Template","AddEditComponent_div_20_div_40_div_2_div_30_Template","AddEditComponent_div_20_div_40_div_2_input_34_Template","AddEditComponent_div_20_div_40_div_2_button_37_Template","AddEditComponent_div_20_div_40_div_2_button_39_Template","ctx_r102","Boolean","_r134","drop","AddEditComponent_div_20_div_40_div_2_Template","_r136","addField","o_r138","_r140","addFieldType","AddEditComponent_div_20_div_44_option_10_Template","addFieldTypeOptions","o_r142","_r144","organizationChanged","AddEditComponent_div_20_ng_container_46_option_16_Template","ctx_r11","ownershipOptions","_r152","i_r150","c_r149","ctx_r148","AddEditComponent_div_20_ng_container_48_ng_container_8_div_2_Template","ctx_r147","AddEditComponent_div_20_ng_container_48_div_6_Template","AddEditComponent_div_20_ng_container_48_ng_container_8_Template","ctx_r12","ctx_r153","passwordRevisionDisplayDate","_r157","viewHistory","ctx_r154","ph_r159","AddEditComponent_div_20_ng_container_50_div_16_div_2_Template","ctx_r155","AddEditComponent_div_20_ng_container_50_div_12_Template","AddEditComponent_div_20_ng_container_50_div_14_Template","AddEditComponent_div_20_ng_container_50_div_16_Template","ctx_r13","showRevisionDate","hasPasswordHistory","viewingPasswordHistory","AddEditComponent_div_20_div_2_Template","_r161","AddEditComponent_div_20_div_15_Template","AddEditComponent_div_20_ng_container_19_Template","AddEditComponent_div_20_ng_container_22_Template","AddEditComponent_div_20_ng_container_25_Template","AddEditComponent_div_20_div_40_Template","AddEditComponent_div_20_a_42_Template","AddEditComponent_div_20_div_44_Template","AddEditComponent_div_20_ng_container_46_Template","AddEditComponent_div_20_ng_container_48_Template","AddEditComponent_div_20_ng_container_50_Template","editMode","hasFields","allowOwnershipAssignment","cloneMode","_r166","toggleFavorite","ctx_r163","_c3","_r169","ctx_r164","_r167","deletePromise","AddEditComponent_div_38_button_2_Template","AddEditComponent_div_38_button_4_Template","folderService","auditService","collectionService","totpService","passwordGenerationService","cleanUp","totpUpdateCode","interval_1","getTimeInterval","totpTick","totpInterval","setInterval","showToast","confirmed","getOptions","clearInterval","getCode","half","intervalSeconds","epoch","round","mod","i10","i11","i12","AddEditComponent_div_20_Template","AddEditComponent_div_38_Template","groupings_component_1","selectFavorites","selectedFavorites","_r7","selectTrash","selectedTrash","f_r15","editFolder","node","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_li_1_ul_13_ng_container_2_Template","_r10","children","_r24","collapse","selectFolder","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_li_1_a_10_Template","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_li_1_ul_13_Template","ctx_r14","selectedFolder","selectedFolderId","isCollapsed","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_li_1_Template","folders_r13","_r27","GroupingsComponent_ng_container_78_ng_container_2_ng_template_14_Template","GroupingsComponent_ng_container_78_ng_container_2_ng_container_17_Template","nestedFolders","GroupingsComponent_ng_container_78_ng_container_4_ng_template_8_li_1_ul_8_ng_container_2_Template","_r28","c_r33","_r38","selectCollection","GroupingsComponent_ng_container_78_ng_container_4_ng_template_8_li_1_ul_8_Template","ctx_r32","selectedCollectionId","GroupingsComponent_ng_container_78_ng_container_4_ng_template_8_li_1_Template","collections_r31","GroupingsComponent_ng_container_78_ng_container_4_ng_template_8_Template","GroupingsComponent_ng_container_78_ng_container_4_ng_container_11_Template","nestedCollections","GroupingsComponent_ng_container_78_ng_container_2_Template","GroupingsComponent_ng_container_78_ng_container_4_Template","showFolders","showCollections","GroupingsComponent","storageService","onSearchTextChanged","searchPlaceholder","searchTextChanged","GroupingsComponent_li_28_Template","GroupingsComponent_li_30_Template","selectType","GroupingsComponent_p_76_Template","GroupingsComponent_ng_container_78_Template","selectedAll","showFavorites","showTrash","selectedType","organizationUserStatusType_1","organizationUserType_1","Organization","usePolicies","useGroups","useDirectory","useEvents","use2fa","useApi","useBusinessPortal","useSso","selfHost","seats","maxStorageGb","ssoBound","identifier","Owner","Confirmed","Manager","Admin","SendFileView","sizeName","SendTextView","hidden","OrganizationsComponent_ng_container_0_ng_container_4_ul_2_li_2_ng_container_6_Template","o_r7","OrganizationsComponent_ng_container_0_ng_container_4_ul_2_li_2_Template","organizations","OrganizationsComponent_ng_container_0_ng_container_4_ul_2_Template","OrganizationsComponent_ng_container_0_ng_container_4_p_4_Template","OrganizationsComponent_ng_container_0_p_2_Template","OrganizationsComponent_ng_container_0_ng_container_4_Template","_r25","o_r17","unlinkSso","OrganizationsComponent_ng_container_2_ng_container_19_table_4_tr_4_ng_container_27_a_2_Template","OrganizationsComponent_ng_container_2_ng_container_19_table_4_tr_4_ng_container_27_ng_template_4_Template","OrganizationsComponent_ng_container_2_ng_container_19_table_4_tr_4_ng_container_12_Template","OrganizationsComponent_ng_container_2_ng_container_19_table_4_tr_4_ng_container_27_Template","leave","OrganizationsComponent_ng_container_2_ng_container_19_table_4_tr_4_Template","ctx_r15","OrganizationsComponent_ng_container_2_ng_container_19_ng_container_2_Template","OrganizationsComponent_ng_container_2_ng_container_19_table_4_Template","OrganizationsComponent_ng_container_2_ng_container_10_Template","OrganizationsComponent_ng_container_2_a_14_Template","OrganizationsComponent_ng_container_2_ng_container_17_Template","OrganizationsComponent_ng_container_2_ng_container_19_Template","OrganizationsComponent","vault","getAllOrganizations","orgs","org","deleteSsoUser","postLeaveOrganization","OrganizationsComponent_ng_container_0_Template","OrganizationsComponent_ng_container_2_Template","SelectionReadOnlyResponse","sendType_1","sendFileData_1","sendTextData_1","SendData","accessId","maxAccessCount","accessCount","expirationDate","deletionDate","SendTextData","File","file","SendFileData","NavbarComponent","getName","lock","NavbarComponent_div_49_Template","FooterComponent","version","getApplicationVersion","defaultErrorMessage","validationErrors","concat","getAllMessages","timeout","publicKey","encryptedPrivateKey","selectionReadOnlyRequest_1","selectedCount","u_r11","EntityUsersComponent_div_26_ng_container_30_tr_32_td_21_ng_container_2_Template","accessAll","_r34","check","selectedChanged","EntityUsersComponent_div_26_ng_container_30_tr_32_span_14_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_span_16_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_small_18_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_td_21_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_span_25_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_span_27_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_span_29_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_span_31_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_td_34_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_td_36_Template","entity","organizationUserStatusType","Invited","Accepted","organizationUserType","User","EntityUsersComponent_div_26_ng_container_30_th_18_Template","EntityUsersComponent_div_26_ng_container_30_th_24_Template","EntityUsersComponent_div_26_ng_container_30_th_26_Template","EntityUsersComponent_div_26_ng_container_30_tr_32_Template","searchedUsers_r3","_r40","filterSelected","EntityUsersComponent_div_26_span_23_Template","EntityUsersComponent_div_26_ng_container_28_Template","EntityUsersComponent_div_26_ng_container_30_Template","showSelected","EntityUsersComponent","onEditedUsers","allUsers","loadUsers","getOrganizationUsers","users","getGroupUsers","entityId","user","getCollectionUsers","selections","putGroupUsers","putCollectionUsers","entityName","EntityUsersComponent_div_24_Template","EntityUsersComponent_div_26_Template","ɵɵpipeBindV","e_r9","userEmail","userName","EntityEventsComponent_div_24_table_36_tr_27_td_14_Template","ɵɵpropertyInterpolate2","ip","showUser","ɵɵsanitizeHtml","EntityEventsComponent_div_24_table_36_th_17_Template","EntityEventsComponent_div_24_table_36_tr_27_Template","loadEvents","morePromise","_r16","EntityEventsComponent_div_24_div_34_Template","EntityEventsComponent_div_24_table_36_Template","EntityEventsComponent_div_24_button_38_Template","refreshPromise","continuationToken","EntityEventsComponent","orgUsersUserIdMap","orgUsersIdMap","defaultDates","clearExisting","dates","getEventsOrganizationUser","getEventsCipher","actingUserId","eventInfo","ipAddress","EntityEventsComponent_small_11_Template","EntityEventsComponent_div_22_Template","EntityEventsComponent_div_24_Template","apiKeyWarning","scope","grantType","isRotation","ApiKeyComponent","postKey","apiKey","keyType","ApiKeyComponent_ng_container_27_Template","ApiKeyComponent_app_callout_29_Template","ApiKeyComponent_app_callout_31_Template","ApiKeyComponent_button_36_Template","apiKeyTitle","apiKeyDescription","PurgeVaultComponent","postPurgeCiphers","transactionType_1","verifyBankRequest_1","addCredit","closeAddCredit","verifyBank","verifyAmount1","verifyAmount2","ctx_r20","verifyBankPromise","_r22","UserBillingComponent_ng_container_11_ng_container_25_app_callout_2_Template","UserBillingComponent_ng_container_11_ng_container_25_span_8_Template","paymentSource","needsVerification","ɵɵpureFunction6","Check","AppleInApp","GoogleInApp","paymentSourceInApp","changePayment","closePayment","UserBillingComponent_ng_container_11_table_37_tr_4_span_25_Template","UserBillingComponent_ng_container_11_table_37_tr_4_span_27_Template","i_r33","pdfUrl","amount","paid","UserBillingComponent_ng_container_11_table_37_tr_4_Template","invoices","ɵɵpureFunction4","t_r37","ctx_r40","WireTransfer","BitPay","UserBillingComponent_ng_container_11_table_45_tr_4_span_8_Template","UserBillingComponent_ng_container_11_table_45_tr_4_span_10_Template","UserBillingComponent_ng_container_11_table_45_tr_4_i_15_Template","createdDate","ctx_r36","transactionType","Charge","Refund","details","refunded","UserBillingComponent_ng_container_11_table_45_tr_4_Template","transactions","UserBillingComponent_ng_container_11_button_15_Template","UserBillingComponent_ng_container_11_app_add_credit_17_Template","UserBillingComponent_ng_container_11_p_23_Template","UserBillingComponent_ng_container_11_ng_container_25_Template","UserBillingComponent_ng_container_11_button_27_Template","UserBillingComponent_ng_container_11_app_adjust_payment_29_Template","UserBillingComponent_ng_container_11_p_35_Template","UserBillingComponent_ng_container_11_table_37_Template","UserBillingComponent_ng_container_11_p_43_Template","UserBillingComponent_ng_container_11_table_45_Template","isCreditBalance","creditOrBalance","showAddCredit","showAdjustPayment","UserBillingComponent","firstLoaded","TransactionType","getOrganizationBilling","billing","getUserBilling","VerifyBankRequest","amount1","amount2","postOrganizationVerifyBank","balance","UserBillingComponent_button_6_Template","UserBillingComponent_ng_container_9_Template","UserBillingComponent_ng_container_11_Template","bitPayInvoiceRequest_1","AddCreditComponent","onAdded","ppButtonFormAction","buttonActionProduction","ppButtonBusinessId","businessIdProduction","ppLoading","buttonActionSandbox","businessIdSandbox","creditAmount","ppButtonCustomField","getOrganization","subject","returnUrl","location","ppButtonFormRef","req","BitPayInvoiceRequest","credit","creditAmountNumber","postBitPayInvoice","bitPayUrl","formatAmount","floatAmount","parseFloat","toFixed","AddCreditComponent_div_14_Template","paymentRequest_1","AdjustPaymentComponent","onAdjusted","request_1","PaymentRequest","taxInfoComponent","postAccountPayment","postOrganizationPayment","currentType","UpdateLicenseComponent","updatePromise","postAccountLicense","postOrganizationLicenseUpdate","storageRequest_1","ɵɵtextInterpolate4","storageAdjustment","storageGbPrice","adjustedStorageTotal","AdjustStorageComponent","add","StorageRequest","storageGbAdjustment","paymentFailed_1","postAccountStorage","postOrganizationStorage","relativeTo","AdjustStorageComponent_div_26_Template","updateTwoFactorDuoRequest_1","two_factor_base_component_1","ikey","skey","TwoFactorDuoComponent_form_25_ng_container_5_Template","TwoFactorDuoComponent_form_25_ng_container_7_Template","TwoFactorDuoComponent_form_25_span_17_Template","TwoFactorDuoComponent_form_25_span_19_Template","TwoFactorDuoComponent","processResponse","UpdateTwoFactorDuoRequest","integrationKey","secretKey","putTwoFactorOrganizationDuo","putTwoFactorDuo","TwoFactorDuoComponent_app_two_factor_verify_23_Template","TwoFactorDuoComponent_form_25_Template","auth_service_1","two_factor_authenticator_component_1","two_factor_duo_component_1","two_factor_email_component_1","two_factor_recovery_component_1","two_factor_u2f_component_1","two_factor_yubikey_component_1","_r19","recoveryCode","TwoFactorSetupComponent_li_23_ng_container_11_Template","TwoFactorSetupComponent_li_23_a_13_Template","p_r20","manage","TwoFactorSetupComponent","showPolicyWarning","filterProvider","getTwoFactorProviders","evaluatePolicies","openModal","authenticatorModalRef","TwoFactorAuthenticatorComponent","updateStatus","yubikeyModalRef","TwoFactorYubiKeyComponent","duoModalRef","emailModalRef","TwoFactorEmailComponent","u2fModalRef","TwoFactorU2fComponent","recoveryModalRef","TwoFactorRecoveryComponent","ref","TwoFactorAuthentication","TwoFactorSetupComponent_p_7_Template","TwoFactorSetupComponent_p_9_Template","TwoFactorSetupComponent_app_callout_11_Template","TwoFactorSetupComponent_small_16_Template","TwoFactorSetupComponent_app_callout_19_Template","TwoFactorSetupComponent_li_23_Template","TwoFactorSetupComponent_ng_template_26_Template","TwoFactorSetupComponent_ng_template_29_Template","TwoFactorSetupComponent_ng_template_32_Template","TwoFactorSetupComponent_ng_template_35_Template","TwoFactorSetupComponent_ng_template_38_Template","TwoFactorSetupComponent_ng_template_41_Template","_c6","export_component_1","ExportComponent","exportService","saved","format","cipher_report_component_1","c_r6","ExposedPasswordsReportComponent_div_21_ng_container_4_tr_12_ng_container_13_Template","ExposedPasswordsReportComponent_div_21_ng_container_4_tr_12_ng_container_15_Template","exposedPasswordMap","ExposedPasswordsReportComponent_div_21_ng_container_4_tr_12_Template","ExposedPasswordsReportComponent_div_21_app_callout_2_Template","ExposedPasswordsReportComponent_div_21_ng_container_4_Template","ExposedPasswordsReportComponent","getAllCiphers","allCiphers","exposedPasswordCiphers","passwordLeaked","exposedCount","getAllDecrypted","ExposedPasswordsReportComponent_div_21_Template","ExposedPasswordsReportComponent_ng_template_23_Template","cipher_1","cipherCreateRequest_1","cipherRequest_1","originalCipher","isAdmin","loadCollections","loadCipher","getCipherAdmin","encryptCipher","saveCipher","putCipherAdmin","CipherCreateRequest","postCipherAdmin","deleteCipherAdmin","putDeleteCipherAdmin","i13","PasswordHistoryView","forms_1","TrueFalseValueDirective","elementRef","trueValue","falseValue","propagateChange","_","onHostChange","target","writeValue","setProperty","registerOnChange","fn","registerOnTouched","setDisabledState","isDisabled","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","multi","o_r4","o_r6","ImportComponent_ng_container_24_option_4_Template","importOptions","ImportComponent_app_callout_30_ng_container_26_span_2_Template","ctx_r19","ImportComponent_app_callout_30_ng_container_2_Template","ImportComponent_app_callout_30_ng_container_4_Template","ImportComponent_app_callout_30_ng_container_6_Template","ImportComponent_app_callout_30_ng_container_8_Template","ImportComponent_app_callout_30_ng_container_10_Template","ImportComponent_app_callout_30_ng_container_12_Template","ImportComponent_app_callout_30_ng_container_14_Template","ImportComponent_app_callout_30_ng_container_16_Template","ImportComponent_app_callout_30_ng_container_18_Template","ImportComponent_app_callout_30_ng_container_20_Template","ImportComponent_app_callout_30_ng_container_22_Template","ImportComponent_app_callout_30_ng_container_24_Template","ImportComponent_app_callout_30_ng_container_26_Template","ImportComponent_app_callout_30_ng_container_28_Template","ImportComponent_app_callout_30_ng_container_30_Template","ImportComponent_app_callout_30_ng_container_32_Template","ImportComponent_app_callout_30_ng_container_34_Template","ImportComponent_app_callout_30_ng_container_36_Template","ImportComponent_app_callout_30_ng_container_38_Template","ImportComponent_app_callout_30_ng_container_40_Template","ImportComponent_app_callout_30_ng_container_42_Template","ImportComponent_app_callout_30_ng_container_44_Template","ImportComponent_app_callout_30_ng_container_46_Template","ImportComponent_app_callout_30_ng_container_48_Template","ImportComponent_app_callout_30_ng_container_50_Template","ImportComponent_app_callout_30_ng_container_52_Template","ImportComponent_app_callout_30_ng_container_54_Template","ImportComponent_app_callout_30_ng_container_56_Template","ImportComponent_app_callout_30_ng_container_58_Template","ImportComponent_app_callout_30_ng_container_60_Template","ImportComponent_app_callout_30_ng_container_62_Template","ImportComponent_app_callout_30_ng_container_64_Template","ImportComponent_app_callout_30_ng_container_66_Template","ImportComponent_app_callout_30_ng_container_68_Template","ImportComponent_app_callout_30_ng_container_70_Template","ImportComponent_app_callout_30_ng_container_72_Template","ImportComponent_app_callout_30_ng_container_74_Template","ImportComponent_app_callout_30_ng_container_76_Template","ImportComponent_app_callout_30_ng_container_78_Template","ImportComponent_app_callout_30_ng_container_80_Template","ImportComponent_app_callout_30_ng_container_82_Template","ImportComponent_app_callout_30_ng_container_84_Template","ImportComponent_app_callout_30_ng_container_86_Template","ImportComponent_app_callout_30_ng_container_88_Template","ImportComponent_app_callout_30_ng_container_90_Template","ImportComponent_app_callout_30_ng_container_92_Template","ImportComponent_app_callout_30_ng_container_94_Template","ImportComponent_app_callout_30_ng_container_96_Template","ImportComponent_app_callout_30_ng_container_98_Template","getFormatInstructionTitle","ImportComponent","importService","successNavigate","setImportOptions","importer","getImporter","fileContents","getFileContents","content","import","properties","results","featuredImportOptions","__spreadArrays","regularImportOptions","reader","FileReader","readAsText","evt","pre","onerror","ImportComponent_option_22_Template","ImportComponent_ng_container_24_Template","ImportComponent_app_callout_30_Template","cipherDocs","c_r8","InactiveTwoFactorReportComponent_div_15_ng_container_4_tr_12_ng_container_13_Template","InactiveTwoFactorReportComponent_div_15_ng_container_4_tr_12_ng_container_15_Template","InactiveTwoFactorReportComponent_div_15_ng_container_4_tr_12_a_25_Template","InactiveTwoFactorReportComponent_div_15_ng_container_4_tr_12_Template","InactiveTwoFactorReportComponent_div_15_app_callout_2_Template","InactiveTwoFactorReportComponent_div_15_ng_container_4_Template","InactiveTwoFactorReportComponent","services","load2fa","inactive2faCiphers_1","docs_1","fetch","Request","json","categoryName","responseJson","serviceName","category","service","tfa","software","InactiveTwoFactorReportComponent_small_5_Template","InactiveTwoFactorReportComponent_div_13_Template","InactiveTwoFactorReportComponent_div_15_Template","InactiveTwoFactorReportComponent_ng_template_17_Template","ReusedPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_container_13_Template","ReusedPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_container_15_Template","passwordUseMap","ReusedPasswordsReportComponent_div_15_ng_container_4_tr_12_Template","ReusedPasswordsReportComponent_div_15_app_callout_2_Template","ReusedPasswordsReportComponent_div_15_ng_container_4_Template","ReusedPasswordsReportComponent","ciphersWithPasswords","reusedPasswordCiphers","ReusedPasswordsReportComponent_small_5_Template","ReusedPasswordsReportComponent_div_13_Template","ReusedPasswordsReportComponent_div_15_Template","ReusedPasswordsReportComponent_ng_template_17_Template","UnsecuredWebsitesReportComponent_div_15_ng_container_4_tr_12_ng_container_13_Template","UnsecuredWebsitesReportComponent_div_15_ng_container_4_tr_12_ng_container_15_Template","UnsecuredWebsitesReportComponent_div_15_ng_container_4_tr_12_Template","UnsecuredWebsitesReportComponent_div_15_app_callout_2_Template","UnsecuredWebsitesReportComponent_div_15_ng_container_4_Template","UnsecuredWebsitesReportComponent","unsecuredCiphers","UnsecuredWebsitesReportComponent_small_5_Template","UnsecuredWebsitesReportComponent_div_13_Template","UnsecuredWebsitesReportComponent_div_15_Template","UnsecuredWebsitesReportComponent_ng_template_17_Template","WeakPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_container_13_Template","WeakPasswordsReportComponent_div_15_ng_container_4_tr_12_ng_container_15_Template","passwordStrengthMap","WeakPasswordsReportComponent_div_15_ng_container_4_tr_12_Template","WeakPasswordsReportComponent_div_15_app_callout_2_Template","WeakPasswordsReportComponent_div_15_ng_container_4_Template","WeakPasswordsReportComponent","passwordStrengthCache","weakPasswordCiphers","hasUsername","cacheKey","userInput","atPosition","passwordStrength","scoreKey","WeakPasswordsReportComponent_small_5_Template","WeakPasswordsReportComponent_div_13_Template","WeakPasswordsReportComponent_div_15_Template","WeakPasswordsReportComponent_ng_template_17_Template","attachments_component_1","a_r4","reupload","reuploadPromises","AttachmentsComponent_table_25_tr_4_i_4_Template","AttachmentsComponent_table_25_tr_4_i_6_Template","download","AttachmentsComponent_table_25_tr_4_div_16_Template","downloading","deletePromises","AttachmentsComponent_table_25_tr_4_Template","AttachmentsComponent","reuploadCipherAttachment","AttachmentsComponent_small_12_Template","AttachmentsComponent_table_25_Template","onEventsClicked","deleted","getAllFromApiForOrganization","applyFilter","searchPending","filteredCiphers","searchCiphersBasic","resetPaging","collections_component_1","c_r9","i_r10","CollectionsComponent_table_40_tr_4_Template","CollectionsComponent","CollectionsComponent_small_12_Template","CollectionsComponent_div_35_Template","CollectionsComponent_div_38_Template","CollectionsComponent_table_40_Template","collectionData_1","getCollections","collectionDomains","decryptMany","unassignedCollection","getAllNested","grouping","bulk_delete_component_1","bulk_move_component_1","bulk_restore_component_1","bulk_share_component_1","bulkMove","bulkShare","bulkRestore","BulkActionsComponent","bulkDelete","selectedIds","ciphersComponent","bulkDeleteModalRef","BulkDeleteComponent","cipherIds","onDeleted","bulkRestoreModalRef","BulkRestoreComponent","onRestored","selectedCiphers","bulkShareModalRef","BulkShareComponent","onShared","bulkMoveModalRef","BulkMoveComponent","onMoved","BulkActionsComponent_button_10_Template","BulkActionsComponent_button_12_Template","BulkActionsComponent_button_14_Template","BulkActionsComponent_ng_template_38_Template","BulkActionsComponent_ng_template_41_Template","BulkActionsComponent_ng_template_44_Template","BulkActionsComponent_ng_template_47_Template","sendFileView_1","SendFile","toSendFileData","sendTextView_1","SendText","toSendTextData","CipherWithIdRequest","FolderRequest","folder","SelectCopyDirective","onCopy","copyText","selection","getSelection","rangeCount","getRangeAt","stringEndPos","newLinePos","ColorPasswordPipe","colorizedPassword","isSpecial","baseResponse_1","profileOrganizationResponse_1","ProfileResponse","emailVerified","masterPasswordHint","culture","twoFactorEnabled","securityStamp","ProfileOrganizationResponse","SendFileApi","SendTextApi","NotificationsService","webpackEmptyAsyncContext","keys","FrontendLayoutComponent","classList","remove","OrganizationLayoutComponent_div_2_ul_23_li_20_Template","OrganizationLayoutComponent_div_2_ul_23_li_22_Template","isOwner","goToEnterprisePortal","enterpriseTokenPromise","OrganizationLayoutComponent_div_2_div_20_Template","OrganizationLayoutComponent_div_2_ul_23_Template","OrganizationLayoutComponent_div_2_button_28_Template","isManager","OrganizationLayoutComponent","broadcasterService","ngZone","enterpriseUrl","run","command","unsubscribe","getEnterprisePortalSignInToken","NgZone","OrganizationLayoutComponent_div_2_Template","UserLayoutComponent","organizationUserAcceptRequest_1","orgName","AcceptOrganizationComponent","fired","queryParams","qParams","errorMessage","isAuthenticated","OrganizationUserAcceptRequest","postOrganizationUserAccept","toast","save","organizationName","AcceptOrganizationComponent_div_0_Template","AcceptOrganizationComponent_div_2_Template","hint_component_1","HintComponent","lock_component_1","LockComponent","routerService","hasKey","onSuccessfulSubmit","successRoute","webVaultHostname","login_component_1","LoginComponent","authService","onSuccessfulLoginNavigate","goAfterLogIn","queryParamsSub","invite","loginRedirect","rememberEmail","deleteRecoverRequest_1","RecoverDeleteComponent","DeleteRecoverRequest","postAccountRecoverDelete","twoFactorRecoveryRequest_1","RecoverTwoFactorComponent","TwoFactorRecoveryRequest","postTwoFactorRecover","register_component_1","policy_1","policyData_1","referenceEventRequest_1","RegisterComponent_div_9_div_4_Template","RegisterComponent_div_9_div_6_Template","RegisterComponent_div_9_div_8_Template","layout","getPasswordScoreAlertDisplay","enforcedPolicyOptions","minLength","RegisterComponent_app_callout_53_li_5_Template","RegisterComponent_app_callout_53_li_7_Template","RegisterComponent_app_callout_53_li_9_Template","RegisterComponent_app_callout_53_li_11_Template","RegisterComponent_app_callout_53_li_13_Template","RegisterComponent_app_callout_53_li_15_Template","minComplexity","requireUpper","requireLower","requireNumbers","requireSpecial","acceptPolicies","RegisterComponent","showCreateOrgMessage","referenceData","ReferenceEventRequest","reference","cookie","pop","getPoliciesByToken","policiesData","PolicyData","Policy","getMasterPasswordPolicyOptions","evaluateMasterPassword","masterPasswordScore","RegisterComponent_header_2_Template","RegisterComponent_div_9_Template","RegisterComponent_p_17_Template","RegisterComponent_app_callout_23_Template","RegisterComponent_app_callout_53_Template","updatePasswordStrength","confirmMasterPassword","hint","RegisterComponent_div_117_Template","showTerms","_r1","set_password_component_1","SetPasswordComponent_div_15_app_callout_8_li_5_Template","SetPasswordComponent_div_15_app_callout_8_li_7_Template","SetPasswordComponent_div_15_app_callout_8_li_9_Template","SetPasswordComponent_div_15_app_callout_8_li_11_Template","SetPasswordComponent_div_15_app_callout_8_li_13_Template","SetPasswordComponent_div_15_app_callout_8_li_15_Template","SetPasswordComponent_div_15_app_callout_8_Template","_r11","masterPasswordRetype","SetPasswordComponent","SetPasswordComponent_div_13_Template","SetPasswordComponent_div_15_Template","syncLoading","ChangePasswordComponent","strengthResult","getPasswordStrengthUserInput","setupSubmitActions","getKdf","getKdfIterations","encKey","getEncKey","makeEncKey","remakeEncKey","performSubmitActions","masterPasswordStrengthTimeout","clearTimeout","sso_component_1","SsoComponent","redirectUri","origin","storedIdentifier","SsoComponent_div_11_Template","SsoComponent_div_13_Template","initiateSsoFormPromise","loggingIn","twoFactorRoute","changePasswordRoute","checkState","getOrgIdentiferFromState","codeChallenge","returnUri","includeUserIdentifier","preValidate","buildAuthorizeUrl","authorizeUrl","sameWindow","preValidateSso","passwordOptions","uppercase","lowercase","numbers","special","codeVerifierHash","identityBaseUrl","getSsoUserIdentifier","userIdentifier","orgIdFromState","onSuccessfulLoginTwoFactorNavigate","onSuccessfulLoginChangePasswordNavigate","disableFavicon","onSuccessfulLogin","stateSplit","checkStateSplit","two_factor_options_component_1","two_factor_component_1","twoFactorEmail","sendEmail","emailPromise","TwoFactorComponent_ng_container_14_small_14_a_2_Template","selectedProviderType","TwoFactorComponent_ng_container_14_p_2_Template","TwoFactorComponent_ng_container_14_p_4_Template","TwoFactorComponent_ng_container_14_small_14_Template","TwoFactorComponent_ng_container_18_p_2_Template","TwoFactorComponent_ng_container_18_ng_container_4_Template","u2fReady","TwoFactorComponent","anotherMethod","twoFactorOptionsModal","TwoFactorOptionsComponent","onProviderSelected","onRecoverSelected","TwoFactorComponent_ng_container_14_Template","TwoFactorComponent_ng_container_16_Template","TwoFactorComponent_ng_container_18_Template","TwoFactorComponent_ng_container_20_Template","TwoFactorComponent_i_22_Template","TwoFactorComponent_div_24_Template","TwoFactorComponent_ng_container_26_Template","TwoFactorComponent_button_32_Template","TwoFactorComponent_ng_template_51_Template","p_r1","choose","TwoFactorOptionsComponent_a_22_Template","recover","TwoFactorEmailRequest","verifyEmailRequest_1","VerifyEmailTokenComponent","postAccountVerifyEmailToken","VerifyEmailRequest","verifyDeleteRecoverRequest_1","VerifyRecoverDeleteComponent","VerifyDeleteRecoverRequest","postAccountRecoverDeleteToken","collection_add_edit_component_1","entity_users_component_1","c_r10","CollectionsComponent_ng_container_28_table_4_tr_4_Template","searchedCollections_r6","CollectionsComponent_ng_container_28_p_2_Template","CollectionsComponent_ng_container_28_table_4_Template","didScroll","pagedCollectionsCount","getUserCollections","pagedLength","pagedCollections","pagedSize","addEditModalRef","CollectionAddEditComponent","onSavedCollection","onDeletedCollection","removeCollection","deleteCollection","usersModalRef","isSearching","isSearchable","searching","index","CollectionsComponent_ng_container_26_Template","CollectionsComponent_ng_container_28_Template","CollectionsComponent_ng_template_31_Template","CollectionsComponent_ng_template_34_Template","collectionRequest_1","g_r12","CollectionAddEditComponent_div_22_ng_container_24_table_10_tr_25_ng_container_9_Template","i_r13","CollectionAddEditComponent_div_22_ng_container_24_table_10_tr_25_Template","groups","CollectionAddEditComponent_div_22_ng_container_24_div_5_Template","CollectionAddEditComponent_div_22_ng_container_24_div_8_Template","CollectionAddEditComponent_div_22_ng_container_24_table_10_Template","CollectionAddEditComponent_div_22_ng_container_24_Template","accessGroups","getGroups","groupsResponse","orgKey","getCollectionDetails","group","g","CollectionRequest","putCollection","postCollection","CollectionAddEditComponent_div_20_Template","CollectionAddEditComponent_div_22_Template","CollectionAddEditComponent_button_42_Template","e_r7","EventsComponent_ng_container_39_table_4_tr_29_Template","EventsComponent_ng_container_39_p_2_Template","EventsComponent_ng_container_39_table_4_Template","EventsComponent_ng_container_39_button_6_Template","EventsComponent","getEventsOrganization","EventsComponent_ng_container_37_Template","EventsComponent_ng_container_39_Template","group_add_edit_component_1","g_r10","GroupsComponent_ng_container_28_table_4_tr_4_Template","searchedGroups_r6","GroupsComponent_ng_container_28_p_2_Template","GroupsComponent_ng_container_28_table_4_Template","GroupsComponent","pagedGroupsCount","pagedGroups","GroupAddEditComponent","onSavedGroup","onDeletedGroup","removeGroup","deleteGroup","GroupsComponent_ng_container_26_Template","GroupsComponent_ng_container_28_Template","GroupsComponent_ng_template_31_Template","GroupsComponent_ng_template_34_Template","groupRequest_1","c_r12","GroupAddEditComponent_div_22_ng_container_60_table_4_tr_25_Template","GroupAddEditComponent_div_22_ng_container_60_div_2_Template","GroupAddEditComponent_div_22_ng_container_60_table_4_Template","GroupAddEditComponent_div_22_div_36_Template","access","GroupAddEditComponent_div_22_ng_container_60_Template","getGroupDetails","GroupRequest","putGroup","postGroup","GroupAddEditComponent_div_20_Template","GroupAddEditComponent_div_22_Template","GroupAddEditComponent_button_42_Template","ManageComponent_div_6_a_8_Template","ManageComponent_div_6_a_14_Template","ManageComponent_div_6_a_16_Template","ManageComponent_div_6_a_18_Template","accessPolicies","ManageComponent","ManageComponent_div_6_Template","organizationUserConfirmRequest_1","entity_events_component_1","user_add_edit_component_1","user_confirm_component_1","user_groups_component_1","allCount","invitedCount","acceptedCount","u_r18","reinvite","_r37","confirm","_r45","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_12_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_14_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_small_16_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_ng_container_21_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_26_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_28_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_30_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_span_32_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_a_47_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_a_49_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_a_51_Template","PeopleComponent_ng_container_49_ng_container_4_tr_8_a_53_Template","ctx_r17","PeopleComponent_ng_container_49_ng_container_4_app_callout_2_Template","_r48","PeopleComponent_ng_container_49_ng_container_4_tr_8_Template","showConfirmUsers","searchedUsers_r13","PeopleComponent_ng_container_49_p_2_Template","PeopleComponent_ng_container_49_ng_container_4_Template","PeopleComponent","statusMap","pagedUsersCount","viewEvents","pagedUsers","confirmedCount","UserAddEditComponent","onSavedUser","onDeletedUser","removeUser","groupsModalRef","UserGroupsComponent","deleteOrganizationUser","postOrganizationUserReinvite","updateUser","mapIndex","autoConfirm","doConfirmation","confirmModalRef","UserConfirmComponent","onConfirmedUser","eventsModalRef","getUserPublicKey","publicKeyResponse","log","getFingerprint","rsaEncrypt","OrganizationUserConfirmRequest","postOrganizationUserConfirm","PeopleComponent_span_13_Template","PeopleComponent_span_19_Template","PeopleComponent_span_25_Template","PeopleComponent_ng_container_47_Template","PeopleComponent_ng_container_49_Template","PeopleComponent_ng_template_52_Template","PeopleComponent_ng_template_55_Template","PeopleComponent_ng_template_58_Template","PeopleComponent_ng_template_61_Template","_c4","_c5","organizationUserInviteRequest_1","organizationUserUpdateRequest_1","emails","c_r16","i_r17","UserAddEditComponent_div_24_ng_container_102_table_4_tr_25_Template","UserAddEditComponent_div_24_ng_container_102_div_2_Template","UserAddEditComponent_div_24_ng_container_102_table_4_Template","UserAddEditComponent_div_24_ng_container_2_Template","UserAddEditComponent_div_24_div_78_Template","UserAddEditComponent_div_24_ng_container_102_Template","getOrganizationUser","OrganizationUserUpdateRequest","putOrganizationUser","OrganizationUserInviteRequest","postOrganizationUserInvite","UserAddEditComponent_small_11_Template","UserAddEditComponent_div_22_Template","UserAddEditComponent_div_24_Template","UserAddEditComponent_button_44_Template","dontAskAgain","fingerprint","UserConfirmComponent_small_12_Template","organizationUserUpdateGroupsRequest_1","g_r7","i_r8","UserGroupsComponent_div_25_table_8_tr_4_Template","UserGroupsComponent_div_25_div_6_Template","UserGroupsComponent_div_25_table_8_Template","getOrganizationUserGroups","userGroups","ug","OrganizationUserUpdateGroupsRequest","groupIds","putOrganizationUserGroups","UserGroupsComponent_small_12_Template","UserGroupsComponent_div_23_Template","UserGroupsComponent_div_25_Template","policy_edit_component_1","p_r5","PoliciesComponent_table_20_tr_4_td_2_span_5_Template","PoliciesComponent_table_20_tr_4_td_2_Template","display","PoliciesComponent_table_20_tr_4_Template","PoliciesComponent","policiesEnabledMap","MasterPassword","PasswordGenerator","RequireSso","getPolicies","orgPolicies","op","editModalRef","PolicyEditComponent","onSavedPolicy","PoliciesComponent_ng_container_18_Template","PoliciesComponent_table_20_Template","PoliciesComponent_ng_template_22_Template","api_service_1","appId_service_1","AppIdService","audit_service_1","cipher_service_1","collection_service_1","crypto_service_1","environment_service_1","folder_service_1","i18n_service_1","log_service_1","LogService","messaging_service_1","passwordGeneration_service_1","platformUtils_service_1","search_service_1","settings_service_1","storage_service_1","state_service_1","sync_service_1","token_service_1","totp_service_1","user_service_1","vaultTimeout_service_1","policyRequest_1","o_r9","masterPassMinComplexity","PolicyEditComponent_div_23_ng_container_23_option_12_Template","masterPassMinLength","masterPassRequireUpper","masterPassRequireLower","masterPassRequireNumbers","masterPassRequireSpecial","passwordScores","o_r18","passGenDefaultType","PolicyEditComponent_div_23_ng_container_25_option_12_Template","passGenMinLength","passGenMinNumbers","passGenMinSpecial","passGenUseUpper","passGenUseLower","passGenUseNumbers","passGenUseSpecial","passGenMinNumberWords","passGenCapitalize","passGenIncludeNumber","defaultTypes","PolicyEditComponent_div_23_app_callout_5_Template","PolicyEditComponent_div_23_app_callout_7_Template","PolicyEditComponent_div_23_ng_container_9_Template","_r32","PolicyEditComponent_div_23_ng_container_23_Template","PolicyEditComponent_div_23_ng_container_25_Template","policyType","getPolicy","defaultType","useUpper","useLower","useNumbers","useSpecial","minNumbers","minSpecial","minNumberWords","capitalize","includeNumber","PolicyRequest","putPolicy","PolicyEditComponent_div_21_Template","PolicyEditComponent_div_23_Template","organizationUpdateRequest_1","api_key_component_1","purge_vault_component_1","delete_organization_component_1","_r13","viewApiKey","rotateApiKey","taxFormPromise","AccountComponent","canUseApi","OrganizationUpdateRequest","putOrganization","deleteOrganization","deleteModalRef","DeleteOrganizationComponent","purgeVault","purgeModalRef","apiKeyModalRef","postOrganizationApiKey","rotateApiKeyModalRef","postOrganizationRotateApiKey","AccountComponent_div_7_Template","AccountComponent_form_9_Template","AccountComponent_ng_container_11_Template","AccountComponent_div_24_Template","AccountComponent_form_26_Template","AccountComponent_ng_template_53_Template","AccountComponent_ng_template_56_Template","AccountComponent_ng_template_59_Template","AccountComponent_ng_template_62_Template","user_billing_component_1","OrganizationBillingComponent_ng_container_11_ng_container_25_app_callout_2_Template","OrganizationBillingComponent_ng_container_11_ng_container_25_span_8_Template","OrganizationBillingComponent_ng_container_11_table_37_tr_4_span_25_Template","OrganizationBillingComponent_ng_container_11_table_37_tr_4_span_27_Template","OrganizationBillingComponent_ng_container_11_table_37_tr_4_Template","OrganizationBillingComponent_ng_container_11_table_45_tr_4_span_8_Template","OrganizationBillingComponent_ng_container_11_table_45_tr_4_span_10_Template","OrganizationBillingComponent_ng_container_11_table_45_tr_4_i_15_Template","OrganizationBillingComponent_ng_container_11_table_45_tr_4_Template","OrganizationBillingComponent_ng_container_11_button_15_Template","OrganizationBillingComponent_ng_container_11_app_add_credit_17_Template","OrganizationBillingComponent_ng_container_11_p_23_Template","OrganizationBillingComponent_ng_container_11_ng_container_25_Template","OrganizationBillingComponent_ng_container_11_button_27_Template","OrganizationBillingComponent_ng_container_11_app_adjust_payment_29_Template","OrganizationBillingComponent_ng_container_11_p_35_Template","OrganizationBillingComponent_ng_container_11_table_37_Template","OrganizationBillingComponent_ng_container_11_p_43_Template","OrganizationBillingComponent_ng_container_11_table_45_Template","OrganizationBillingComponent","OrganizationBillingComponent_button_6_Template","OrganizationBillingComponent_ng_container_9_Template","OrganizationBillingComponent_ng_container_11_Template","reinstate","reinstatePromise","OrganizationSubscriptionComponent_ng_container_11_dl_6_dd_13_span_3_Template","sub","isExpired","OrganizationSubscriptionComponent_ng_container_11_dl_6_dd_13_Template","OrganizationSubscriptionComponent_ng_container_11_dl_6_dd_15_Template","OrganizationSubscriptionComponent_ng_container_11_div_8_ng_container_13_span_11_Template","subscription","subscriptionMarkedForCancel","nextInvoice","i_r19","quantity","OrganizationSubscriptionComponent_ng_container_11_div_8_div_17_tr_10_Template","ctx_r16","OrganizationSubscriptionComponent_ng_container_11_div_8_ng_container_13_Template","OrganizationSubscriptionComponent_ng_container_11_div_8_div_17_Template","closeUpdateLicense","updateLicense","OrganizationSubscriptionComponent_ng_container_11_ng_container_10_div_13_Template","showUpdateLicense","changePlan","downloadLicense","showDownloadLicense","ctx_r29","cancelPromise","closeChangePlan","ctx_r30","closeDownloadLicense","ctx_r31","_r50","adjustSeats","_r53","closeSeats","ctx_r48","adjustSeatsAdd","billingInterval","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_ng_container_23_div_4_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_ng_container_23_app_adjust_seats_6_Template","showAdjustSeats","adjustStorage","_r61","closeStorage","ctx_r56","adjustStorageAdd","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_ng_container_40_div_4_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_ng_container_40_app_adjust_storage_6_Template","ctx_r33","showAdjustStorage","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_button_4_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_button_6_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_button_8_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_app_change_plan_11_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_div_13_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_ng_container_23_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_ng_container_40_Template","showChangePlan","canDownloadLicense","cancelled","canAdjustSeats","storageName","storageProgressWidth","storagePercentage","OrganizationSubscriptionComponent_ng_container_11_app_callout_2_Template","OrganizationSubscriptionComponent_ng_container_11_app_callout_4_Template","OrganizationSubscriptionComponent_ng_container_11_dl_6_Template","OrganizationSubscriptionComponent_ng_container_11_div_8_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_10_Template","OrganizationSubscriptionComponent_ng_container_11_ng_container_12_Template","OrganizationSubscriptionComponent","getOrganizationSubscription","postOrganizationReinstate","postOrganizationCancel","changed","updated","cancelAtEndDate","upcomingInvoice","storageGb","OrganizationSubscriptionComponent_small_5_Template","OrganizationSubscriptionComponent_ng_container_9_Template","OrganizationSubscriptionComponent_ng_container_11_Template","ChangePlanComponent","onChanged","defaultUpgradePlan","FamiliesAnnually","defaultUpgradeProduct","Families","DownloadLicenseComponent","onDownloaded","installationId","getOrganizationLicense","license","licenseString","JSON","stringify","saveFile","seatRequest_1","seatAdjustment","adjustedSeatTotal","AdjustSeatsComponent","SeatRequest","postOrganizationSeat","AdjustSeatsComponent_div_26_Template","SettingsComponent","access2fa","SettingsComponent_a_22_Template","SettingsComponent_a_24_Template","two_factor_setup_component_1","duoComp","getTwoFactorOrganizationProviders","updateTwoFactorAuthenticatorRequest_1","TwoFactorAuthenticatorComponent_form_26_ng_container_5_Template","TwoFactorAuthenticatorComponent_form_26_ng_container_7_Template","TwoFactorAuthenticatorComponent_form_26_p_43_Template","TwoFactorAuthenticatorComponent_form_26_hr_45_Template","TwoFactorAuthenticatorComponent_form_26_ng_container_57_Template","TwoFactorAuthenticatorComponent_form_26_span_67_Template","TwoFactorAuthenticatorComponent_form_26_span_69_Template","qrScript","UpdateTwoFactorAuthenticatorRequest","putTwoFactorAuthenticator","QRious","element","TwoFactorAuthenticatorComponent_app_two_factor_verify_24_Template","TwoFactorAuthenticatorComponent_form_26_Template","twoFactorEmailRequest_1","updateTwoFactorEmailRequest_1","sentEmail","TwoFactorEmailComponent_form_26_ng_container_7_span_33_Template","TwoFactorEmailComponent_form_26_ng_container_5_Template","TwoFactorEmailComponent_form_26_ng_container_7_Template","TwoFactorEmailComponent_form_26_span_17_Template","TwoFactorEmailComponent_form_26_span_19_Template","postTwoFactorEmailSetup","UpdateTwoFactorEmailRequest","putTwoFactorEmail","TwoFactorEmailComponent_app_two_factor_verify_24_Template","TwoFactorEmailComponent_form_26_Template","print","TwoFactorRecoveryComponent_ng_container_26_ng_container_4_Template","TwoFactorRecoveryComponent_ng_container_26_ng_container_6_Template","TwoFactorRecoveryComponent_ng_container_26_button_11_Template","w","open","write","formatString","TwoFactorRecoveryComponent_app_two_factor_verify_24_Template","TwoFactorRecoveryComponent_ng_container_26_Template","updateTwoFactorU2fDeleteRequest_1","updateTwoFactorU2fRequest_1","i_r14","k_r13","TwoFactorU2fComponent_form_25_li_25_ng_container_9_ng_container_2_Template","TwoFactorU2fComponent_form_25_li_25_ng_container_9_ng_container_4_Template","compromised","TwoFactorU2fComponent_form_25_li_25_ng_container_11_i_2_Template","TwoFactorU2fComponent_form_25_li_25_strong_5_Template","TwoFactorU2fComponent_form_25_li_25_strong_7_Template","TwoFactorU2fComponent_form_25_li_25_ng_container_9_Template","TwoFactorU2fComponent_form_25_li_25_ng_container_11_Template","removePromise","configured","keysConfiguredCount","TwoFactorU2fComponent_form_25_ng_container_72_ng_container_2_Template","TwoFactorU2fComponent_form_25_ng_container_72_ng_container_4_Template","TwoFactorU2fComponent_form_25_ng_container_72_ng_container_6_Template","u2fListening","u2fResponse","u2fError","disablePromise","TwoFactorU2fComponent_form_25_app_callout_5_Template","TwoFactorU2fComponent_form_25_li_25_Template","readKey","TwoFactorU2fComponent_form_25_ng_container_70_Template","TwoFactorU2fComponent_form_25_ng_container_72_Template","TwoFactorU2fComponent_form_25_i_79_Template","TwoFactorU2fComponent_form_25_span_81_Template","TwoFactorU2fComponent_form_25_button_84_Template","keyIdAvailable","challengePromise","u2fScript","UpdateTwoFactorU2fRequest","deviceResponse","putTwoFactorU2f","UpdateTwoFactorU2fDeleteRequest","deleteTwoFactorU2f","getTwoFactorU2fChallenge","challenge","readDevice","u2fChallenge","resetU2f","u2f","register","errorCode","listening","k","this_1","TwoFactorU2fComponent_app_two_factor_verify_23_Template","TwoFactorU2fComponent_form_25_Template","updateTwoFactorYubioOtpRequest_1","i_r9","k_r8","existingKey","TwoFactorYubiKeyComponent_form_25_div_54_input_6_Template","TwoFactorYubiKeyComponent_form_25_div_54_div_8_Template","TwoFactorYubiKeyComponent_form_25_app_callout_5_Template","TwoFactorYubiKeyComponent_form_25_div_54_Template","nfc","TwoFactorYubiKeyComponent_form_25_button_87_Template","UpdateTwoFactorYubioOtpRequest","key1","key2","key3","key4","key5","putTwoFactorYubiKey","padRight","max","TwoFactorYubiKeyComponent_app_two_factor_verify_23_Template","TwoFactorYubiKeyComponent_form_25_Template","getExportData","getOrganizationExport","getFileName","collectEvent","exposed_passwords_report_component_1","loginUriData_1","LoginUriData","attachmentView_1","symmetricCryptoKey_1","AttachmentView","view","decryptToBytes","decValue","SymmetricCryptoKey","macKey","keyB64","encKeyB64","macKeyB64","loginUri_1","LoginUri","toLoginUriData","passwordHistoryView_1","FallbackSrcDirective","onError","appFallbackSrc","import_component_1","inactive_two_factor_report_component_1","reused_passwords_report_component_1","_r2","ToolsComponent","accessReports","ToolsComponent_a_31_Template","unsecured_websites_report_component_1","weak_passwords_report_component_1","VaultComponent","changeDetectorRef","groupingsComponent","successfully","detectChanges","reload","filterDeleted","filterCipherType","filterCollection","clearGroupingFilters","clearFilters","go","filterSearchText","editCipherAttachments","attachmentsModalRef","madeAttachmentChanges","onUploadedAttachment","onDeletedAttachment","editCipherCollections","collectionsModalRef","onSavedCollections","component","editCipher","cloneCipher","replaceUrl","ChangeDetectorRef","VaultComponent_ng_container_20_Template","VaultComponent_button_29_Template","VaultComponent_ng_template_39_Template","VaultComponent_ng_template_42_Template","VaultComponent_ng_template_45_Template","VaultComponent_ng_template_48_Template","saveCipherAttachment","saveAttachmentWithServer","cipherDomain","deleteCipherAttachment","attachmentId","deleteCipherAttachmentAdmin","cipherCollectionsRequest_1","allowSelectNone","loadCipherCollections","saveCollections","CipherCollectionsRequest","putCipherCollectionsAdmin","cipherBulkDeleteRequest_1","deleteCiphers","deleteCiphersAdmin","deleteManyWithServer","softDeleteManyWithServer","deleteRequest","CipherBulkDeleteRequest","deleteManyCiphersAdmin","putDeleteManyCiphersAdmin","ids","f_r2","moveManyWithServer","BulkMoveComponent_option_35_Template","restoreManyWithServer","o_r5","i_r11","BulkShareComponent_table_54_tr_4_Template","nonShareableCount","shareableCiphers","writeableCollections","allCollections","filterCollections","checkedCollectionIds","shareManyWithServer","BulkShareComponent_option_39_Template","BulkShareComponent_div_49_Template","BulkShareComponent_div_52_Template","BulkShareComponent_table_54_Template","canSave","sendAccess_1","sendAccessRequest_1","errorResponse_1","toggleText","AccessComponent_div_16_ng_container_9_app_callout_2_Template","sendText","selectText","AccessComponent_div_16_ng_container_9_button_9_Template","AccessComponent_div_16_ng_container_9_Template","AccessComponent_div_16_ng_container_12_Template","sendType","AccessComponent","passwordRequired","maskedText","sendId","decKey","cache","arrayBuffer","buf","decryptFromBytes","decBuf","keyArray","accessRequest","SendAccessRequest","pbkdf2","passwordHash","sendResponse","postSendAccess","sendAccess","SendAccess","makeSendKey","ErrorResponse","AccessComponent_div_12_Template","AccessComponent_div_14_Template","AccessComponent_div_16_Template","identityResponse","errorModel","responseErrorModel","getSingleMessage","messages","item","prefix","lastSep","lastIndexOf","deauthorize_sessions_component_1","delete_account_component_1","deauthorizeSessions","deauthModalRef","DeauthorizeSessionsComponent","deleteAccount","DeleteAccountComponent","viewUserApiKey","viewUserApiKeyModalRef","postUserApiKey","rotateUserApiKey","rotateUserApiKeyModalRef","postUserRotateApiKey","AccountComponent_ng_template_84_Template","AccountComponent_ng_template_87_Template","AccountComponent_ng_template_90_Template","AccountComponent_ng_template_93_Template","AccountComponent_ng_template_96_Template","postSecurityStamp","updateProfileRequest_1","profile","ProfileComponent_form_2_p_44_Template","ProfileComponent","getProfile","UpdateProfileRequest","putProfile","ProfileComponent_div_0_Template","ProfileComponent_form_2_Template","emailRequest_1","emailTokenRequest_1","newEmail","reset","ChangeEmailComponent","tokenSent","hasEncKey","EmailTokenRequest","postEmailToken","EmailRequest","newKey","newMasterPasswordHash","newEncKey","postEmail","ChangeEmailComponent_ng_container_27_Template","ChangeEmailComponent_span_34_Template","ChangeEmailComponent_span_36_Template","ChangeEmailComponent_button_39_Template","change_password_component_1","cipherWithIdRequest_1","folderWithIdRequest_1","passwordRequest_1","updateKeyRequest_1","ChangePasswordComponent_app_callout_4_li_5_Template","ChangePasswordComponent_app_callout_4_li_7_Template","ChangePasswordComponent_app_callout_4_li_9_Template","ChangePasswordComponent_app_callout_4_li_11_Template","ChangePasswordComponent_app_callout_4_li_13_Template","ChangePasswordComponent_app_callout_4_li_15_Template","rotateEncKey","rotateEncKeyClicked","currentMasterPassword","PasswordRequest","postPassword","updateKey","getPrivateKey","encPrivateKey","UpdateKeyRequest","FolderWithIdRequest","postAccountKey","ChangePasswordComponent_app_callout_4_Template","kdfRequest_1","kdfType_1","o_r2","ChangeKdfComponent","PBKDF2_SHA256","kdfOptions","KdfRequest","postAccountKdf","ChangeKdfComponent_option_40_Template","organization_plans_component_1","CreateOrganizationComponent","orgPlansComponent","updateDomainsRequest_1","i_r7","custom","DomainRulesComponent_ng_container_20_div_2_Template","indexTrackBy","d_r14","toggleExcluded","DomainRulesComponent_table_38_tr_4_a_17_Template","DomainRulesComponent_table_38_tr_4_a_19_Template","customize","excluded","domains","DomainRulesComponent_table_38_tr_4_Template","DomainRulesComponent","getSettingsDomains","equivalentDomains","globalEquivalentDomains","globalDomain","UpdateDomainsRequest","excludedGlobalEquivalentDomains","d2","putSettingsDomains","DomainRulesComponent_p_18_Template","DomainRulesComponent_ng_container_20_Template","DomainRulesComponent_p_36_Template","DomainRulesComponent_table_38_Template","o_r3","OptionsComponent","vaultTimeout","vaultTimeoutAction","vaultTimeouts","localeOptions","supportedTranslationLocales","locale","localeNames","_h","disableIcons","enableGravatars","enableFullWidth","_g","startingLocale","setVaultTimeoutOptions","vaultTimeoutActionChanged","newValue","OptionsComponent_option_25_Template","OptionsComponent_option_89_Template","LinkSsoComponent","ngAfterContentInit","premiumPrice","total","PremiumComponent","getPremium","getEmailVerified","finalizePremium","postPremium","paymentResponse","PremiumComponent_app_callout_7_Template","PremiumComponent_a_59_Template","PremiumComponent_ng_container_62_Template","PremiumComponent_form_64_Template","SettingsComponent_a_26_Template","SettingsComponent_a_28_Template","SettingsComponent_a_30_Template","UserSubscriptionComponent_ng_container_11_dl_6_dd_6_Template","UserSubscriptionComponent_ng_container_11_dl_6_dd_8_Template","UserSubscriptionComponent_ng_container_11_div_8_div_29_tr_10_Template","UserSubscriptionComponent_ng_container_11_div_8_span_15_Template","UserSubscriptionComponent_ng_container_11_div_8_div_29_Template","UserSubscriptionComponent_ng_container_11_ng_container_10_div_13_Template","ctx_r34","UserSubscriptionComponent_ng_container_11_ng_container_12_ng_container_24_div_4_Template","UserSubscriptionComponent_ng_container_11_ng_container_12_ng_container_24_app_adjust_storage_6_Template","ctx_r27","UserSubscriptionComponent_ng_container_11_ng_container_12_button_4_Template","UserSubscriptionComponent_ng_container_11_ng_container_12_button_6_Template","UserSubscriptionComponent_ng_container_11_ng_container_12_ng_container_24_Template","UserSubscriptionComponent_ng_container_11_app_callout_2_Template","UserSubscriptionComponent_ng_container_11_app_callout_4_Template","UserSubscriptionComponent_ng_container_11_dl_6_Template","UserSubscriptionComponent_ng_container_11_div_8_Template","UserSubscriptionComponent_ng_container_11_ng_container_10_Template","UserSubscriptionComponent_ng_container_11_ng_container_12_Template","UserSubscriptionComponent","getUserSubscription","usingInAppPurchase","postReinstatePremium","postCancelPremium","UserSubscriptionComponent_small_5_Template","UserSubscriptionComponent_ng_container_9_Template","UserSubscriptionComponent_ng_container_11_Template","checkedUsername","breachedAccounts","d_r10","BreachReportComponent_div_41_ng_container_4_ul_6_li_2_li_22_Template","a_r8","logoPath","dataClasses","pwnCount","breachDate","addedDate","BreachReportComponent_div_41_ng_container_4_ul_6_li_2_Template","BreachReportComponent_div_41_ng_container_4_app_callout_2_Template","BreachReportComponent_div_41_ng_container_4_app_callout_4_Template","BreachReportComponent_div_41_ng_container_4_ul_6_Template","BreachReportComponent_div_41_p_2_Template","BreachReportComponent_div_41_ng_container_4_Template","BreachReportComponent","BreachReportComponent_div_41_Template","password_generator_component_1","password_generator_history_component_1","numWords","saveOptions","wordSeparator","lengthChanged","minNumber","minNumberChanged","minSpecialChanged","avoidAmbiguous","useUppercase","useLowercase","PasswordGeneratorComponent","history","historyModalRef","PasswordGeneratorHistoryComponent","PasswordGeneratorComponent_app_callout_7_Template","PasswordGeneratorComponent_ng_container_39_Template","PasswordGeneratorComponent_ng_container_41_Template","regenerate","PasswordGeneratorComponent_ng_template_66_Template","inEffect","h_r3","PasswordGeneratorHistoryComponent_ul_20_li_2_Template","PasswordGeneratorHistoryComponent_ul_20_Template","PasswordGeneratorHistoryComponent_div_22_Template","ToolsComponent_a_35_Template","ToolsComponent_span_66_Template","organizations_component_1","update_key_component_1","folder_add_edit_component_1","share_component_1","favorites","showVerifyEmail","showBrowserOutdated","showUpdateKey","showPremiumCallout","organizationsComponent","filterFavorites","filterFolder","onReuploadedAttachment","shareCipher","shareModalRef","ShareComponent","onSharedCipher","folderAddEditModalRef","FolderAddEditComponent","onSavedFolder","loadFolders","onDeletedFolder","updateKeyModalRef","UpdateKeyComponent","VaultComponent_div_39_Template","VaultComponent_app_verify_email_41_Template","VaultComponent_div_43_Template","VaultComponent_div_45_Template","VaultComponent_ng_template_68_Template","VaultComponent_ng_template_71_Template","VaultComponent_ng_template_74_Template","VaultComponent_ng_template_77_Template","VaultComponent_ng_template_80_Template","VaultComponent_ng_template_83_Template","makeRequest","getKey","FolderAddEditComponent_button_47_Template","o_r10","c_r15","i_r16","ShareComponent_div_25_table_29_tr_4_Template","ShareComponent_div_25_option_14_Template","ShareComponent_div_25_div_24_Template","ShareComponent_div_25_div_27_Template","ShareComponent_div_25_table_29_Template","ShareComponent_small_12_Template","ShareComponent_div_23_Template","ShareComponent_div_25_Template","ShareComponent_button_29_Template","ShareComponent_a_31_Template","VerifyEmailComponent","postAccountVerifyEmail","OrganizationGuardService","canActivate","OrganizationTypeGuardService","allowedTypes","UnauthGuardService","isLocked","AuthGuardService","routerState","promptBiometric","apiKeyResponse_1","billingResponse_1","breachAccountResponse_1","cipherResponse_1","collectionResponse_1","domainsResponse_1","eventResponse_1","folderResponse_1","groupResponse_1","identityTokenResponse_1","identityTwoFactorResponse_1","listResponse_1","organizationResponse_1","organizationSubscriptionResponse_1","organizationUserResponse_1","paymentResponse_1","planResponse_1","policyResponse_1","preloginResponse_1","profileResponse_1","selectionReadOnlyResponse_1","sendAccessResponse_1","sendResponse_1","subscriptionResponse_1","syncResponse_1","taxInfoResponse_1","twoFactorAuthenticatorResponse_1","twoFactorDuoResponse_1","twoFactorEmailResponse_1","twoFactorProviderResponse_1","twoFactorRescoverResponse_1","twoFactorU2fResponse_1","twoFactorYubiKeyResponse_1","userKeyResponse_1","logoutCallback","customUserAgent","urlsSet","isWebClient","isDesktopClient","usingBaseUrl","device","getDevice","setUrls","urls","apiBaseUrl","eventsBaseUrl","api","headers","Headers","Content-Type","Accept","Device-Type","qsStringify","toIdentityToken","identityClientId","credentials","getCredentials","isJsonResponse","IdentityTokenResponse","TwoFactorProviders2","clearTwoFactorToken","IdentityTwoFactorResponse","doRefreshToken","BillingResponse","SubscriptionResponse","TaxInfoResponse","PreloginResponse","setPassword","getAccountRevisionDate","postPasswordHint","postRegister","PaymentResponse","postIapCheck","postAccountVerifyPassword","ApiKeyResponse","getFolder","FolderResponse","postFolder","putFolder","deleteFolder","getSend","SendResponse","SendAccessResponse","getSends","ListResponse","postSend","postSendFile","putSend","putSendRemovePassword","deleteSend","getCipher","CipherResponse","getCiphersOrganization","postCipher","postCipherCreate","putCipher","deleteManyCiphers","putMoveCiphers","putShareCipher","putShareCiphers","putCipherCollections","path","postImportCiphers","postImportOrganizationCiphers","putDeleteCipher","putDeleteManyCiphers","putRestoreCipher","putRestoreCipherAdmin","putRestoreManyCiphers","postCipherAttachment","postCipherAttachmentAdmin","postShareCipherAttachment","CollectionGroupDetailsResponse","CollectionResponse","dr","deleteCollectionUser","GroupDetailsResponse","GroupResponse","deleteGroupUser","PolicyResponse","OrganizationUserDetailsResponse","OrganizationUserUserDetailsResponse","PlanResponse","postImportDirectory","DomainsResponse","getSync","SyncResponse","TwoFactorProviderResponse","TwoFactorAuthenticatorResponse","TwoFactorEmailResponse","TwoFactorDuoResponse","TwoFactorYubiKeyResponse","TwoFactorU2fResponse","ChallengeResponse","TwoFactorRecoverResponse","postTwoFactorEmail","OrganizationResponse","OrganizationSubscriptionResponse","getEvents","addEventParameters","EventResponse","postEventsCollect","getActiveBearerToken","authHeader","Authorization","UserKeyResponse","getHibpBreach","BreachAccountResponse","getToken","tokenNeedsRefresh","nativeFetch","handleError","hasResponse","requestInit","tokenError","getRefreshToken","decodedToken","decodeToken","grant_type","client_id","refresh_token","typeHeader","attachmentResponse_1","passwordHistoryResponse_1","AttachmentResponse","h","PasswordHistoryResponse","CollectionDetailsResponse","globalDomainResponse_1","GlobalDomainResponse","businessAddress1","businessAddress2","businessAddress3","businessCountry","businessTaxNumber","maxAdditionalStorage","hasEvents","hasTotp","has2fa","upgradeSortOrder","displaySortOrder","stripePlanId","stripeSeatPlanId","stripeStoragePlanId","stripePremiumAccessPlanId","BillingSubscriptionResponse","BillingSubscriptionUpcomingInvoiceResponse","trialEndDate","periodStartDate","periodEndDate","cancelledDate","BillingSubscriptionItemResponse","sendFileApi_1","sendTextApi_1","makeAndGetAppId","getAnonymousAppId","existingId","guid","throttle_1","hashStart","hashEnding","leakedHashes","v","__decorate","throttle","cipherBulkMoveRequest_1","cipherBulkRestoreRequest_1","cipherBulkShareRequest_1","cipherShareRequest_1","sortedCiphersCache_1","sequentialize_1","Keys","DomainMatchBlacklist","Set","settingsService","sortedCiphersCache","SortedCiphersCache","sortCiphersByLastUsed","_decryptedCipherCache","clearIndex","indexCiphers","clearCache","decryptedCipherCache","existingCipher","existingHiddenFields","hiddenFields_1","ef","matchedField","encryptObjProperty","encryptCipherData","encryptFields","encryptPasswordHistories","encryptAttachments","attachmentsModel","encAttachments","fieldsModel","encFields","encryptField","encField","fieldModel","phModels","encPhs","encryptPasswordHistory","encPh","phModel","decCiphers","getLocaleSortingFunction","getAllDecryptedForGrouping","groupingId","getAllDecryptedForUrl","includeOtherTypes","defaultMatch","eqDomainsPromise","getEquivalentDomains","eqDomains","matches","eqDomain","matchingDomains","domainUrlHost","Host","urlHost","Exact","StartsWith","Never","decCiphers_1","promises_1","getLastUsedForUrl","getCipherForUrl","getLastLaunchedForUrl","getNextCipherForUrl","updateLastUsedIndexForUrl","updateLastUsedIndex","updateLastUsedDate","ciphersLocalData","cached","updateLastLaunchedDate","lastLaunched","saveNeverDomain","saveWithServer","upsert","shareWithServer","attachmentPromises","shareAttachmentWithServer","encCipher","CipherShareRequest","encCiphers","_i","ciphers_1","CipherBulkShareRequest","unencryptedFile","admin","readAsArrayBuffer","saveAttachmentRawWithServer","cData","filename","encFileName","dataEncKey","encryptToBytes","encData","blob","Blob","filepath","contentType","saveCollectionsWithServer","CipherBulkMoveRequest","deleteAttachment","deleteAttachmentWithServer","e_3","aLastUsed","bLastUsed","bothNotNull","sortCiphersByLastUsedThenName","aName","bName","softDelete","setDeletedDate","clearDeletedDate","CipherBulkRestoreRequest","attachmentView","attachmentResponse","e_4","theObj","modelProp","lastUsed","isCached","addCiphers","getLastLaunched","getLastUsed","getNext","sequentialize","propertyKey","descriptor","originalMethod","caches","args","arguments","getCache","argsCacheKey","onFinally","serviceUtils_1","decryptedCollectionCache","decCollections","nodes","collectionCopy","ServiceUtils","nestedTraverse","getNested","getTreeNodeObject","treeNode_1","nodeTree","partIndex","delimiter","partName","TreeNode","newPartName","ContainerService","attachToWindow","attachToGlobal","bigInt","encryptedObject_1","wordlist_1","secureStorageService","platformUtilService","option","biometric","supportsSecureStorage","keyHash","setOrgKeys","orgKeys","getKeyHash","encKeyCipher","decEncKey","stretchKey","getPublicKey","rsaExtractPublicKey","keyFingerprint","hkdfExpand","userFingerprint","hashPhrase","getOrgKeys","encOrgKeys","rsaDecrypt","clearKey","legacyEtmKey","clearKeyHash","clearEncKey","memoryOnly","clearKeyPair","clearOrgKeys","clearPinProtectedKey","clearKeys","toggleKey","salt","makeKeyFromPin","pin","protectedKeyCs","makePinKey","pinKey","randomBytes","rsaGenerateKeyPair","publicB64","privateEnc","keyMaterial","hkdf","sendKey","getKeyForEncryption","theKey","buildEncKey","plainValue","plainBuf","aesEncrypt","encObj","encValue","macLen","encBytes","cipherString","aesDecryptToBytes","decipher","aesDecryptToUtf8","encBuf","ctBytes","ivBytes","macBytes","randomNumber","min","rval","range","bitsNeeded","ceil","log2","bytesNeeded","mask","pow","byteArray","EncryptedObject","macData","hmac","keyForEnc","resolveLegacyKey","fastParams","aesDecryptFastParameters","hmacFast","computedMac","compareFast","aesDecryptFast","aesDecrypt","Rsa2048_OaepSha256_HmacSha256_B64","Rsa2048_OaepSha1_HmacSha256_B64","alg","minimumEntropy","entropyPerWord","EEFLongWordList","hashArr","entropyAvailable","phrase","hashNumber","fromArray","remainder","divide","encKeyEnc","environmentUrls_1","notificationsService","getWebVaultUrl","webVaultUrl","setUrlsFromStorage","urlsObj","icons","notifications","webVault","enterprise","envUrls","EnvironmentUrls","apiUrl","identityUrl","notificationsUrl","eventsUrl","formatUrl","folderData_1","folder_1","folderRequest_1","decryptedFolderCache","Folder","decFolders","noneFolder","folderCopy","FolderData","cId","updates","systemLanguage","localesDirectory","getLocalesJson","defaultMessages","localeMessages","translationLocale","Intl","Collator","numeric","sensitivity","loadMessages","translate","messagesObj","formattedLocale","locales","placeholders","placeProp","replaceToken","replaceContent","zxcvbn","generatedPasswordHistory_1","passwordGeneratorPolicyOptions_1","DefaultOptions","ambiguous","minUppercase","minLowercase","generatePassphrase","sanitizePasswordLength","positions","shuffleArray","allCharSet","lowercaseCharSet","uppercaseCharSet","numberCharSet","specialCharSet","positionChars","randomCharIndex","listLength","wordList","wordIndex","appendRandomNumberToRandomWord","optionsCache","enforcePasswordGeneratorPoliciesOnOptions","enforcedOptions","getPasswordGeneratorPolicyOptions","numberCount","specialCount","PasswordGeneratorPolicyOptions","currentPolicy","getHistory","encrypted","decryptHistory","addHistory","currentHistory","matchesPrevious","unshift","GeneratedPasswordHistory","now","encryptHistory","newHistory","userInputs","globalUserInputs","finalUserInputs","normalizeOptions","decrypted","array","forGeneration","minUppercaseCalc","minLowercaseCalc","minNumberCalc","minSpecialCalc","settingsCache","getSettingsKey","setEquivalentDomains","setSettingsKey","getSettings","settings","purge","organizationData_1","sendData_1","sendService","syncInProgress","getLastSync","lastSync","setLastSync","toJSON","forceSync","allowThrowOnError","syncStarted","syncCompleted","needsSync","needsSyncing","syncProfile","syncFolders","syncCollections","syncCiphers","syncSends","sends","syncSettings","syncPolicies","syncUpsertFolder","notification","isEdit","localFolder","remoteFolder","syncDeleteFolder","syncUpsertCipher","shouldUpdate","localCipher","checkCollections","remoteCipher","syncDeleteCipher","getSecurityStamp","stamp","setSecurityStamp","OrganizationData","replaceOrganizations","setToken","setRefreshToken","skipTokenStorage","toggleTokens","clearToken","decoded","getTokenExpirationDate","setUTCSeconds","tokenSecondsRemaining","offsetSeconds","msRemaining","valueOf","minutes","email_verified","getIssuer","iss","B32Chars","SteamChars","period","digits","keyB32","isOtpAuth","isSteamAuth","digitParams","periodParam","algParam","timeHex","leftPad","decToHex","timeBytes","keyBytes","b32ToBytes","sign","offset","otp","fullCode","trunc","isAutoCopyEnabled","b32ToHex","cleanedInput","bits","hex","byteIndex","chunk","signature","organization_1","clearOrganizations","lockedCallback","loggedOutCallback","checkOnInterval","checkVaultTimeout","isBiometricLockSet","isViewOpen","lockTimeout","lastActive","vaultTimeoutSeconds","allowSoftLock","isPinLockSet","CipherWithIds","build","CollectionWithId","FolderWithId","NotificationType","sendView_1","sendFile_1","sendText_1","Send","SendView","cryptoKey","toSendData","send_1","o_r11","AddEditComponent_div_20_ng_container_20_div_4_Template","AddEditComponent_div_20_ng_container_20_div_6_Template","link","AddEditComponent_div_20_ng_container_17_Template","AddEditComponent_div_20_ng_container_20_Template","clearExpiration","AddEditComponent_div_20_div_65_Template","AddEditComponent_div_20_label_72_Template","AddEditComponent_div_20_label_74_Template","AddEditComponent_div_20_div_101_Template","hasPassword","datePipe","onSavedSend","onDeletedSend","onCancelled","loadSend","urlB64Key","encryptSend","encSend","sendData","DatePipe","enableProdMode","__NgCli_bootstrap_2","platformBrowser","bootstrapModule","__NgCli_bootstrap_1","AppModule","preserveWhitespaces","angular2_toaster_1","angulartics2_1","ngx_infinite_scroll_1","app_routing_module_1","drag_drop_1","platform_browser_1","animations_1","services_module_1","app_component_1","avatar_component_1","password_strength_component_1","footer_component_1","frontend_layout_component_1","navbar_component_1","organization_layout_component_1","user_layout_component_1","accept_organization_component_1","recover_delete_component_1","recover_two_factor_component_1","verify_email_token_component_1","verify_recover_delete_component_1","events_component_1","groups_component_1","manage_component_1","people_component_1","policies_component_1","account_component_1","adjust_seats_component_1","change_plan_component_1","download_license_component_1","organization_billing_component_1","organization_subscription_component_1","settings_component_1","tools_component_1","collections_component_2","vault_component_1","access_component_1","send_component_1","account_component_2","add_credit_component_1","adjust_payment_component_1","adjust_storage_component_1","change_email_component_1","change_kdf_component_1","create_organization_component_1","domain_rules_component_1","link_sso_component_1","options_component_1","premium_component_1","profile_component_1","settings_component_2","two_factor_setup_component_2","two_factor_verify_component_1","update_license_component_1","user_subscription_component_1","verify_email_component_1","breach_report_component_1","export_component_2","exposed_passwords_report_component_2","import_component_2","inactive_two_factor_report_component_2","reused_passwords_report_component_2","tools_component_2","unsecured_websites_report_component_2","weak_passwords_report_component_2","add_edit_component_3","attachments_component_2","bulk_actions_component_1","ciphers_component_2","collections_component_3","groupings_component_2","vault_component_2","callout_component_1","icon_component_1","a11y_title_directive_1","api_action_directive_1","autofocus_directive_1","blur_click_directive_1","box_row_directive_1","fallback_src_directive_1","input_verbatim_directive_1","select_copy_directive_1","stop_click_directive_1","stop_prop_directive_1","true_false_value_directive_1","color_password_pipe_1","i18n_pipe_1","search_ciphers_pipe_1","search_pipe_1","common_1","ca_1","cs_1","da_1","de_1","el_1","en_GB_1","es_1","et_1","fr_1","he_1","it_1","ja_1","ko_1","lv_1","ml_1","nb_1","nl_1","pl_1","pt_1","pt_PT_1","ru_1","sk_1","sv_1","uk_1","zh_Hans_1","zh_Hant_1","registerLocaleData","bootstrap","AppComponent","imports","BrowserModule","BrowserAnimationsModule","FormsModule","AppRoutingModule","ServicesModule","Angulartics2Module","forRoot","pageTracking","clearQueryParams","ToasterModule","InfiniteScrollModule","DragDropModule","declarations","BlurClickDirective","BoxRowDirective","SearchCiphersPipe","SendComponent","organization_guard_service_1","organization_type_guard_service_1","unauth_guard_service_1","auth_guard_service_1","routes","pathMatch","redirectTo","RouterModule","useHash","subscribers","messageCallback","passwordHintRequest_1","PasswordHintRequest","pinLock","invalidPinAttempts","pinSet","supportsBiometric","biometricLock","vaultUrl","failed","decPin","setKeyAndContinue","passwordValid","storedKeyHash","unlockBiometric","authenticateBiometric","doContinue","launchSsoBrowser","ssoRedirectUri","ssoCodeVerifier","webUrl","registerRequest_1","useLowerKdf","isIE","RegisterRequest","orgInvite","confirmField","setPasswordRequest_1","SetPasswordRequest","orgIdentifier","onSuccessfulChangePassword","Window","backdrop","className","addEventListener","modals_1","DuoWebSDK","u2f_1","initU2f","loginRoute","authing","needsLock","customWebVaultUrl","info","cleanupU2f","providerData","Challenge","challenges","Challenges","keyHandle","iframe","sig_request","Signature","submit_callback","sig","stop","doToast","cleanup","getDeviceString","pushToken","codes","client_secret","code_verifier","redirect_uri","deviceIdentifier","deviceName","twoFactorRemember","errorCallback","infoCallback","parseFunction","parseMessage","connectorLink","base64Encode","sendMessage","contentWindow","postMessage","removeEventListener","validMessage","onSaved","downloadFile","getExport","csv","onEditAttachments","onShareCipher","onEditCollections","onGeneratePassword","currentDate","myEmail","addEditCipherInfo","previousCipherId","editCollections","restorePromise","restoreCipher","toggleUriOptions","moveItemInArray","previousIndex","currentIndex","hasUpdatedKey","canAccessAttachments","foundAttachment","a2","activeCipherId","onCipherClicked","onCipherRightClicked","onAddCipher","onAddCipherOptions","searchTimeout","pagedCiphersCount","refreshing","deletedFilter","searchCiphers","rightClickCipher","addCipherOptions","selectedCollectionIds","onAllClicked","onFavoritesClicked","onTrashClicked","onCipherTypeClicked","onFolderClicked","onAddFolder","onEditFolder","onCollectionClicked","setLoaded","collapsedGroupings","clearSelections","idPrefix","sendAccessView_1","SendAccessView","showSelect","onSelected","optionsResponse","sliderChanged","sliderInput","copyOptions","toggleOptions","cipherView","broadcasterMessaging_service_1","htmlStorage_service_1","memoryStorage_service_1","webPlatformUtils_service_1","event_service_1","router_service_1","validation_service_1","analytics_1","container_service_1","event_service_2","export_service_1","import_service_1","notifications_service_1","policy_service_1","send_service_1","webCryptoFunction_service_1","api_service_2","audit_service_2","auth_service_2","cipher_service_2","collection_service_2","crypto_service_2","cryptoFunction_service_1","environment_service_2","event_service_3","export_service_2","folder_service_2","i18n_service_2","import_service_2","notifications_service_2","passwordGeneration_service_2","policy_service_2","search_service_2","send_service_2","settings_service_2","state_service_2","sync_service_2","token_service_2","totp_service_2","user_service_2","vaultTimeout_service_2","language","BroadcasterMessagingService","WebPlatformUtilsService","HtmlStorageService","MemoryStorageService","WebCryptoFunctionService","expired","__generator","eventLoggingService","Analytics","initFactory","htmlEl","documentElement","theme","useValue","APP_INITIALIZER","useFactory","deps","LOCALE_ID","subscriber","arg","services_1","localStorageKeys","localStorageStartsWithKeys","memoryStorageStartsWithKeys","memoryStorage","isLocalStorage","localStorage","getItem","isMemoryStorage","sessionStorage","setItem","removeItem","swKey","BillingSourceResponse","BillingTransactionResponse","BillingInvoiceResponse","cardBrand","partiallyRefunded","refundedAmount","isActive","isVerified","modifiedDate","access_token","expiresIn","expires_in","tokenType","token_type","OrganizationUserResponse","userProfile","taxIdType","KeyResponse","limit","throttleKey","allThrottles","throttles","getThrottles","argsThrottleKey","queue","exec","comparator","sortedCiphersByUrl","timeouts","Ciphers","resetTimer","lastUsedIndex","y","getNextIndex","filePath","store","sweetalert2_js_1","browserCache","chrome","isFirefox","isChrome","isEdge","isOpera","isVivaldi","isSafari","isMacAppStore","analyticsId","rel","click","blobData","blobOptions","fileNameLower","doDownload","endsWith","msSaveOrOpenBlob","msSaveBlob","createObjectURL","position","confirmText","cancelText","iconClasses","iconHtmlStr","fire","heightAuto","buttonsStyling","iconHtml","showCancelButton","cancelButtonText","showConfirmButton","confirmButtonText","clipboardData","setData","queryCommandSupported","textarea","copyEl","contains","execCommand","readFromClipboard","GaObj","AnalyticsIds","gaFilter","dependencyResolver","gaTrackingId","defaultDisabled","appVersion","GoogleAnalyticsObject","param1","param2","ga","gaAnonAppId","gaTrackPageView","hitType","page","gaTrackEvent","XMLHttpRequest","eventCategory","eventAction","eventLabel","eventValue","cleanPagePath","pagePath","paramIndex","pathParts","newPathParts","eventData_1","eventRequest_1","uploadEvents","eventType","uploadImmediately","orgIds","eventCollection","EventData","EventRequest","clearEvents","cipherWithIds_1","collectionWithId_1","folderWithId_1","foldersMap_1","exportCiphers_1","buildCommonCipher","unparse","jsonDoc_1","collectionPromises","decCol","cipherPromises","decCipher","collectionsMap_1","exportCiphers_2","jsonDoc_2","extension","padNumber","getSeconds","padCharacter","numString","login_uri","login_username","login_password","login_totp","toView","importCiphersRequest_1","importOrganizationCiphersRequest_1","kvpRequest_1","ascendoCsvImporter_1","avastCsvImporter_1","avastJsonImporter_1","aviraCsvImporter_1","bitwardenCsvImporter_1","bitwardenJsonImporter_1","blackBerryCsvImporter_1","blurCsvImporter_1","buttercupCsvImporter_1","chromeCsvImporter_1","clipperzHtmlImporter_1","codebookCsvImporter_1","dashlaneJsonImporter_1","encryptrCsvImporter_1","enpassCsvImporter_1","enpassJsonImporter_1","firefoxCsvImporter_1","fsecureFskImporter_1","gnomeJsonImporter_1","kasperskyTxtImporter_1","keepass2XmlImporter_1","keepassxCsvImporter_1","keeperCsvImporter_1","lastpassCsvImporter_1","logMeOnceCsvImporter_1","meldiumCsvImporter_1","msecureCsvImporter_1","mykiCsvImporter_1","onepassword1PifImporter_1","onepasswordWinCsvImporter_1","padlockCsvImporter_1","passkeepCsvImporter_1","passmanJsonImporter_1","passpackCsvImporter_1","passwordAgentCsvImporter_1","passwordBossJsonImporter_1","passwordDragonXmlImporter_1","passwordSafeXmlImporter_1","passwordWalletTxtImporter_1","rememBearCsvImporter_1","roboformCsvImporter_1","safeInCloudXmlImporter_1","saferpassCsvImport_1","secureSafeCsvImporter_1","splashIdCsvImporter_1","stickyPasswordXmlImporter_1","truekeyCsvImporter_1","upmCsvImporter_1","yotiCsvImporter_1","zohoVaultCsvImporter_1","getImportOptions","importResult","halfway","last","badData","postImport","getImporterInstance","BitwardenCsvImporter","BitwardenJsonImporter","LastPassCsvImporter","KeePassXCsvImporter","AviraCsvImporter","BlurCsvImporter","SafeInCloudXmlImporter","PadlockCsvImporter","KeePass2XmlImporter","ChromeCsvImporter","FirefoxCsvImporter","UpmCsvImporter","SaferPassCsvImporter","MeldiumCsvImporter","OnePassword1PifImporter","OnePasswordWinCsvImporter","KeeperCsvImporter","PasswordDragonXmlImporter","EnpassCsvImporter","EnpassJsonImporter","PasswordSafeXmlImporter","DashlaneJsonImporter","MSecureCsvImporter","StickyPasswordXmlImporter","TrueKeyCsvImporter","ClipperzHtmlImporter","RoboFormCsvImporter","AscendoCsvImporter","PasswordBossJsonImporter","ZohoVaultCsvImporter","SplashIdCsvImporter","PassKeepCsvImporter","GnomeJsonImporter","PasswordAgentCsvImporter","PasspackCsvImporter","PassmanJsonImporter","AvastCsvImporter","AvastJsonImporter","FSecureFskImporter","KasperskyTxtImporter","RememBearCsvImporter","PasswordWalletTxtImporter","MykiCsvImporter","SecureSafeCsvImporter","LogMeOnceCsvImporter","BlackBerryCsvImporter","ButtercupCsvImporter","CodebookCsvImporter","EncryptrCsvImporter","YotiCsvImporter","ImportCiphersRequest","KvpRequest","request_2","ImportOrganizationCiphersRequest","baseImporter_1","importResult_1","fieldLower","web","logins","custName","note","pwd","loginName","cards","holderName","cardNumber","cvv","website","secondary_username","col","addCollection","collectionIndex","delimPosition","groupingsMap","fav","extra","OfficialProps","processingCustomFields","entry","currentVersion","actionType","labelLower","Category","Favorite","Entry","Note","Username","TOTP","Website","Phone","PIN","Account","HandledResults","ADDRESS","processAddress","AUTHENTIFIANT","processAuth","BANKSTATEMENT","processNote","IDCARD","PAYMENTMEANS_CREDITCARD","processCard","IDENTITY","processIdentity","credential","secondaryLogin","fullName","nameParts","pseudo","addressName","addressFull","zipcode","owner","nameProperty","Label","Notes","CVV","expiry","Expiry","expParts","firstRow","containsField","fieldValue","fieldName","fieldNameLower","foldersMap","foldersIndexMap","folderTree","buildFolderTree","flattenFolderTree","template_type","processLogin","sensitive","uuid","parent_uuid","titlePrefix","tree","creditNumber","creditCvv","creditExpiry","keyRing","display_name","secret","attributes","attr","username_value","notesData","applicationsData","websitesData","workingData","parseDataCategory","applications","websites","nameKey","itemComment","itemCommentKey","colonIndex","rootGroup","traverse","isRootNode","groupPrefixName","groupName","nameEl","cipherIndex","entryString","valueEl","keyEl","attrs","ProtectInMemory","Group","buildBaseCipher","parseSecureNote","parseCard","parseIdentity","ccnum","cardCipher","profilename","firstname","lastname","ccname","cccsc","ccexp","ccexpParts","middlename","zip","extraParts","processedNote","typeParts","mappedData","parseSecureNoteMapping","Number","Name on Card","Security Code","Expiration Date","monthString","First Name","Last Name","Middle Name","Company","Address 1","Address 2","Address 3","City / Town","State","Zip / Postal Code","Country","Email Address","processingNotes","extraPart","DisplayName","UserName","Url","nickname","additionalInfo","twoFactAuthToken","cardName","exp_month","exp_year","firstAddressLine","secondAddressLine","zipCode","line","trashed","processStandardItem","processWinOpVaultItem","overview","URLs","urls_1","parsePasswordHistory","notesPlain","parseFields","sections","section","openContents","faveIndex","typeName","secureContents","urls_2","maxSize","time","designationKey","valueKey","fieldDesignation","street","view_1","IgnoredProperties","getProp","altUsername","lowerProp","View","tags","tag","getValue","custom_fields","customField","field_type","tagsJson","Tags","tagJson","__parsed_extra","fieldsJson","extraFields","fieldJson","newVersion","altFormat","login_url","identifiers","valObj","expDate","cf","records","record","categoryText","accountName","tagName","passwordSafe","notesDelimiter","getAttribute","entries","groupText","trash","cardholder","verification","expiryMonth","expMonthNumber","expiryYear","expYearNumber","Name","Pwd","Rf_fields","labelEl","cardEl","labelIdEl","labelId","fieldEl","notesEl","Comment","parseFieldsToNotes","startIndex","loginNodes","loginNode","accountId","usernameText","passwordText","titleText","linkText","notesText","accountLogin","account","parentElement","buildGroupText","PropertiesToIgnore","memo","kind","expiryDate","document_content","ChamberName","parseData","SecretData","CustomData","signalR","signalRMsgPack","notificationType_1","notificationResponse_1","connected","inactive","reconnectTimer","signalrConnection","off","HubConnectionBuilder","withUrl","accessTokenFactory","skipNegotiation","transport","HttpTransportType","WebSockets","withHubProtocol","MessagePackHubProtocol","processNotification","NotificationResponse","onclose","reconnect","isAuthedAndUnlocked","updateConnection","sync","reconnectFromActivity","disconnectFromInactivity","contextId","payloadUserId","UserId","myUserId","SyncCipherCreate","SyncCipherUpdate","SyncCipherDelete","SyncLoginDelete","SyncFolderCreate","SyncFolderUpdate","SyncFolderDelete","SyncVault","SyncCiphers","SyncSettings","SyncOrgKeys","LogOut","SyncCipherNotification","SyncFolderNotification","UserNotification","masterPasswordPolicyOptions_1","policyCache","MasterPasswordPolicyOptions","newPassword","toLocaleLowerCase","toLocaleUpperCase","lunr","indexing","builder","Builder","boost","extractor","uriExtractor","fieldExtractor","attachmentExtractor","timeEnd","isArray","every","getIndexForSearch","ciphersMap","searchResults","soWild_1","Query","wildcard","LEADING","TRAILING","q","tokenizer","term","joined","protocolIndex","queryIndex","sendRequest_1","decryptedSendCache","fileData","parseFile","decSends","SendRequest","forge","decryptParameters_1","crypto","subtle","ua","isOldSafari","algorithm","iterations","forgeLen","passwordBytes","toByteString","saltBytes","derivedKeyBytes","wcLen","passwordBuf","toBuf","saltBuf","pbkdf2Params","toWebCryptoAlgorithm","importKey","impKey","deriveBits","ikm","outputByteSize","infoBuf","hkdfParams","prk","hashLen","infoArr","runningOkmLength","previousT","okm","md","md5","sha1","valueBytes","update","digest","valueBuf","signingAlgorithm","mac1","mac2","arr1","arr2","getBytes","rand","Uint32Array","util","createBuffer","putInt32","DecryptParameters","meta","encKeyByteString","macKeyByteString","decode64","parameters","dataBuffer","createDecipher","finish","rsaParams","impPrivateKey","exportKey","jwkPrivateKey","jwkPublicKeyParams","kty","ext","impPublicKey","modulusLength","publicExponent","generateKey","getRandomValues","encodeUtf8","angulartics2GoogleAnalytics","toasterConfig","ToasterConfig","showCloseButton","mouseoverTimerStop","animation","lastActivity","idleTimer","isIdle","runOutsideAngular","onmousemove","recordActivity","onmousedown","ontouchstart","onclick","onscroll","onkeypress","setFullWidth","idleStateChanged","message_1","sanitize","SecurityContext","HTML","bodyOutputType","BodyOutputType","TrustedHtml","trustedHtml","Angulartics2GoogleAnalytics","i14","i15","i16","i17","i18","i19","i20","i21","i22","i23","i24","i25","i26","s_r7","removePassword","SendComponent_table_81_tr_4_i_6_Template","SendComponent_table_81_tr_4_i_8_Template","editSend","SendComponent_table_81_tr_4_ng_container_17_Template","SendComponent_table_81_tr_4_a_44_Template","SendComponent_table_81_tr_4_Template","filteredSends","addSend","SendComponent_div_83_ng_container_2_Template","SendComponent_div_83_ng_container_4_Template","sendAddEditModalRef","SendComponent_ng_container_66_Template","SendComponent_table_81_Template","SendComponent_div_83_Template","SendComponent_ng_template_88_Template","blur","elRef","formEls","formEl","inputEl"],"mappings":"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,EAAYvrH,EAAAgH,oBAEZ,MAAM,IAAIhL,MAAM,4BAEpB,SAAO,CAAC,IAAIu4F,EAAAK,mBAAmBjqB,GAAS4gD,UAnmB5ChQ,EAAA,CADCO,EAAAuH,cAAc,WAAM,qEACA9uB,EAAAK,mFA4ErB2mB,EAAA,CADCO,EAAAuH,cAAc,WAAM,wIA0hBzBxxH,EA1rBA,GAAa5E,EAAA4E,+FC5BA5E,EAAA89H,gBAAkB,CAC3B,SACA,UACA,YACA,QACA,UACA,UACA,SACA,OACA,WACA,WACA,WACA,UACA,UACA,SACA,WACA,UACA,WACA,WACA,WACA,WACA,UACA,UACA,WACA,SACA,SACA,UACA,YACA,YACA,UACA,WACA,WACA,WACA,UACA,WACA,SACA,OACA,QACA,WACA,UACA,OACA,UACA,UACA,SACA,SACA,WACA,YACA,SACA,WACA,WACA,WACA,UACA,OACA,UACA,YACA,WACA,WACA,UACA,YACA,OACA,SACA,WACA,YACA,YACA,YACA,YACA,SACA,QACA,YACA,WACA,SACA,UACA,SACA,SACA,WACA,QACA,SACA,YACA,YACA,YACA,YACA,YACA,OACA,UACA,SACA,SACA,QACA,YACA,SACA,QACA,UACA,QACA,WACA,UACA,YACA,QACA,YACA,YACA,SACA,WACA,YACA,UACA,QACA,OACA,OACA,OACA,MACA,OACA,YACA,QACA,YACA,QACA,UACA,UACA,YACA,QACA,QACA,YACA,WACA,SACA,QACA,QACA,WACA,WACA,UACA,WACA,SACA,OACA,QACA,QACA,QACA,YACA,QACA,WACA,UACA,WACA,WACA,OACA,WACA,SACA,SACA,WACA,QACA,YACA,QACA,WACA,YACA,YACA,WACA,YACA,YACA,SACA,YACA,YACA,SACA,UACA,UACA,WACA,OACA,QACA,QACA,QACA,UACA,WACA,UACA,WACA,QACA,SACA,WACA,QACA,YACA,UACA,QACA,QACA,SACA,WACA,SACA,YACA,SACA,UACA,WACA,YACA,UACA,YACA,UACA,SACA,UACA,UACA,UACA,SACA,SACA,WACA,OACA,YACA,UACA,QACA,SACA,SACA,SACA,UACA,UACA,YACA,YACA,UACA,SACA,UACA,YACA,YACA,WACA,QACA,YACA,QACA,QACA,WACA,YACA,WACA,WACA,UACA,WACA,UACA,YACA,UACA,YACA,WACA,WACA,WACA,SACA,UACA,YACA,WACA,SACA,WACA,WACA,YACA,WACA,YACA,WACA,YACA,YACA,YACA,YACA,SACA,UACA,QACA,QACA,UACA,SACA,UACA,SACA,WACA,WACA,UACA,SACA,WACA,QACA,SACA,UACA,YACA,SACA,UACA,YACA,YACA,WACA,WACA,YACA,UACA,WACA,QACA,YACA,YACA,UACA,QACA,YACA,YACA,YACA,YACA,WACA,WACA,UACA,UACA,QACA,QACA,WACA,QACA,OACA,WACA,YACA,YACA,WACA,OACA,QACA,WACA,WACA,QACA,QACA,YACA,UACA,WACA,QACA,SACA,UACA,SACA,UACA,UACA,UACA,SACA,UACA,OACA,QACA,QACA,SACA,UACA,UACA,QACA,SACA,UACA,SACA,YACA,WACA,QACA,MACA,SACA,YACA,SACA,YACA,UACA,QACA,QACA,OACA,QACA,QACA,SACA,YACA,SACA,WACA,SACA,UACA,WACA,UACA,UACA,YACA,YACA,YACA,SACA,WACA,QACA,OACA,WACA,OACA,SACA,YACA,UACA,SACA,SACA,UACA,YACA,WACA,YACA,YACA,SACA,QACA,SACA,WACA,YACA,YACA,WACA,UACA,YACA,WACA,UACA,UACA,WACA,QACA,WACA,YACA,SACA,YACA,SACA,SACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,SACA,SACA,WACA,SACA,UACA,WACA,QACA,WACA,UACA,OACA,QACA,QACA,SACA,QACA,QACA,SACA,UACA,SACA,QACA,OACA,OACA,SACA,WACA,SACA,SACA,WACA,YACA,YACA,WACA,SACA,SACA,YACA,WACA,WACA,UACA,YACA,WACA,WACA,YACA,UACA,UACA,WACA,YACA,WACA,WACA,YACA,WACA,WACA,YACA,WACA,WACA,YACA,WACA,YACA,SACA,WACA,WACA,YACA,WACA,QACA,WACA,YACA,SACA,QACA,UACA,QACA,UACA,SACA,WACA,QACA,SACA,UACA,SACA,SACA,YACA,UACA,QACA,UACA,WACA,QACA,SACA,WACA,SACA,UACA,YACA,UACA,QACA,WACA,SACA,SACA,SACA,WACA,QACA,WACA,WACA,SACA,SACA,UACA,WACA,WACA,SACA,YACA,UACA,SACA,WACA,SACA,UACA,SACA,UACA,QACA,WACA,UACA,WACA,SACA,UACA,SACA,OACA,YACA,UACA,YACA,SACA,WACA,YACA,UACA,WACA,YACA,WACA,OACA,YACA,SACA,QACA,QACA,QACA,SACA,SACA,QACA,OACA,QACA,OACA,YACA,WACA,YACA,UACA,UACA,SACA,SACA,UACA,UACA,UACA,QACA,OACA,QACA,UACA,YACA,YACA,QACA,YACA,YACA,QACA,WACA,YACA,SACA,UACA,SACA,QACA,QACA,UACA,QACA,QACA,WACA,QACA,QACA,UACA,UACA,WACA,SACA,OACA,WACA,QACA,WACA,UACA,WACA,OACA,OACA,WACA,WACA,UACA,OACA,SACA,UACA,QACA,SACA,YACA,QACA,QACA,UACA,SACA,QACA,QACA,WACA,UACA,WACA,WACA,OACA,SACA,UACA,SACA,SACA,UACA,UACA,YACA,OACA,SACA,SACA,QACA,OACA,MACA,UACA,OACA,UACA,SACA,UACA,WACA,QACA,WACA,WACA,WACA,QACA,UACA,SACA,SACA,QACA,OACA,YACA,YACA,OACA,YACA,SACA,QACA,SACA,UACA,WACA,UACA,QACA,QACA,QACA,SACA,UACA,WACA,YACA,OACA,YACA,WACA,SACA,QACA,OACA,SACA,WACA,SACA,SACA,WACA,SACA,WACA,YACA,YACA,SACA,SACA,QACA,SACA,UACA,OACA,SACA,SACA,WACA,YACA,UACA,WACA,SACA,SACA,WACA,UACA,UACA,QACA,QACA,QACA,QACA,UACA,UACA,SACA,YACA,OACA,QACA,QACA,UACA,UACA,YACA,UACA,UACA,YACA,YACA,UACA,UACA,YACA,YACA,YACA,UACA,WACA,SACA,SACA,YACA,SACA,SACA,WACA,QACA,QACA,UACA,WACA,YACA,SACA,WACA,WACA,SACA,WACA,QACA,QACA,WACA,QACA,YACA,SACA,WACA,SACA,YACA,SACA,SACA,SACA,WACA,WACA,YACA,YACA,WACA,WACA,UACA,QACA,SACA,UACA,SACA,SACA,UACA,UACA,QACA,OACA,QACA,YACA,SACA,OACA,UACA,YACA,YACA,WACA,WACA,UACA,UACA,UACA,WACA,WACA,WACA,QACA,QACA,SACA,SACA,SACA,UACA,YACA,WACA,QACA,OACA,SACA,OACA,SACA,UACA,OACA,WACA,OACA,SACA,UACA,SACA,YACA,QACA,UACA,QACA,SACA,QACA,SACA,SACA,QACA,QACA,WACA,UACA,OACA,UACA,OACA,WACA,WACA,UACA,YACA,WACA,UACA,YACA,OACA,UACA,UACA,UACA,YACA,QACA,SACA,WACA,SACA,WACA,UACA,WACA,SACA,QACA,SACA,SACA,UACA,SACA,QACA,OACA,SACA,WACA,WACA,SACA,UACA,SACA,SACA,SACA,QACA,YACA,SACA,UACA,SACA,UACA,UACA,WACA,OACA,YACA,UACA,UACA,SACA,YACA,UACA,UACA,UACA,YACA,UACA,YACA,UACA,UACA,QACA,UACA,SACA,YACA,SACA,UACA,WACA,WACA,YACA,YACA,YACA,WACA,SACA,YACA,QACA,SACA,UACA,UACA,WACA,UACA,YACA,WACA,YACA,QACA,YACA,YACA,UACA,UACA,UACA,SACA,YACA,QACA,SACA,WACA,SACA,UACA,YACA,YACA,QACA,UACA,UACA,UACA,OACA,OACA,SACA,SACA,SACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,YACA,UACA,YACA,UACA,WACA,SACA,UACA,WACA,WACA,UACA,YACA,WACA,UACA,SACA,SACA,SACA,UACA,YACA,SACA,QACA,UACA,YACA,SACA,SACA,YACA,QACA,UACA,YACA,UACA,WACA,WACA,UACA,SACA,SACA,QACA,SACA,YACA,WACA,WACA,SACA,SACA,SACA,WACA,WACA,YACA,YACA,YACA,UACA,WACA,WACA,QACA,WACA,QACA,QACA,UACA,YACA,UACA,YACA,WACA,SACA,SACA,UACA,QACA,QACA,YACA,WACA,UACA,QACA,UACA,YACA,YACA,WACA,UACA,WACA,UACA,UACA,QACA,UACA,UACA,WACA,QACA,UACA,SACA,WACA,WACA,WACA,UACA,WACA,SACA,WACA,UACA,QACA,QACA,SACA,SACA,OACA,YACA,UACA,QACA,YACA,SACA,QACA,QACA,UACA,QACA,WACA,SACA,UACA,QACA,QACA,YACA,YACA,YACA,WACA,YACA,YACA,QACA,QACA,QACA,OACA,WACA,SACA,WACA,WACA,QACA,WACA,WACA,SACA,YACA,UACA,QACA,UACA,WACA,SACA,OACA,SACA,UACA,WACA,SACA,SACA,QACA,OACA,SACA,QACA,QACA,QACA,QACA,QACA,WACA,QACA,SACA,WACA,SACA,WACA,WACA,YACA,SACA,UACA,UACA,WACA,UACA,SACA,SACA,OACA,QACA,QACA,OACA,QACA,WACA,SACA,SACA,QACA,YACA,QACA,WACA,UACA,UACA,WACA,UACA,WACA,UACA,QACA,QACA,QACA,UACA,SACA,WACA,OACA,OACA,QACA,QACA,QACA,UACA,QACA,SACA,YACA,WACA,QACA,SACA,UACA,SACA,UACA,WACA,QACA,SACA,WACA,OACA,SACA,QACA,UACA,QACA,QACA,UACA,WACA,UACA,UACA,WACA,QACA,SACA,UACA,WACA,YACA,QACA,WACA,SACA,SACA,YACA,SACA,UACA,QACA,YACA,UACA,UACA,WACA,YACA,YACA,OACA,WACA,SACA,UACA,SACA,QACA,UACA,MACA,WACA,SACA,UACA,SACA,YACA,YACA,YACA,WACA,YACA,WACA,WACA,OACA,OACA,OACA,OACA,WACA,WACA,UACA,WACA,SACA,YACA,YACA,UACA,SACA,YACA,WACA,WACA,WACA,SACA,WACA,OACA,OACA,OACA,UACA,QACA,QACA,SACA,QACA,WACA,UACA,UACA,WACA,UACA,YACA,YACA,SACA,YACA,UACA,YACA,YACA,YACA,YACA,YACA,YACA,UACA,UACA,SACA,UACA,SACA,YACA,WACA,WACA,YACA,UACA,YACA,WACA,WACA,YACA,WACA,YACA,UACA,UACA,UACA,WACA,UACA,YACA,UACA,QACA,YACA,UACA,WACA,WACA,SACA,WACA,YACA,YACA,UACA,YACA,YACA,UACA,OACA,UACA,WACA,YACA,YACA,WACA,YACA,YACA,WACA,YACA,UACA,WACA,UACA,WACA,WACA,WACA,YACA,YACA,YACA,YACA,WACA,WACA,UACA,YACA,UACA,WACA,YACA,YACA,YACA,UACA,UACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,UACA,WACA,YACA,UACA,YACA,WACA,UACA,YACA,YACA,WACA,UACA,UACA,UACA,UACA,WACA,UACA,YACA,UACA,UACA,YACA,OACA,SACA,SACA,UACA,SACA,UACA,SACA,OACA,QACA,OACA,WACA,YACA,UACA,SACA,SACA,SACA,YACA,YACA,WACA,WACA,YACA,QACA,WACA,UACA,WACA,YACA,SACA,UACA,WACA,UACA,YACA,YACA,UACA,SACA,SACA,WACA,YACA,SACA,SACA,YACA,OACA,UACA,SACA,QACA,QACA,QACA,YACA,YACA,WACA,YACA,UACA,SACA,UACA,WACA,QACA,UACA,WACA,UACA,SACA,WACA,OACA,WACA,YACA,WACA,WACA,SACA,WACA,UACA,WACA,YACA,YACA,SACA,QACA,YACA,QACA,UACA,UACA,QACA,QACA,QACA,UACA,WACA,WACA,WACA,WACA,SACA,SACA,UACA,YACA,QACA,UACA,UACA,YACA,SACA,WACA,YACA,SACA,WACA,WACA,WACA,WACA,WACA,SACA,QACA,QACA,SACA,QACA,QACA,WACA,UACA,WACA,YACA,UACA,WACA,UACA,WACA,OACA,UACA,QACA,QACA,QACA,UACA,SACA,WACA,UACA,UACA,UACA,WACA,UACA,YACA,SACA,WACA,UACA,QACA,QACA,QACA,QACA,OACA,QACA,SACA,UACA,UACA,QACA,QACA,UACA,UACA,YACA,UACA,YACA,UACA,QACA,YACA,SACA,UACA,WACA,WACA,YACA,UACA,WACA,YACA,UACA,UACA,WACA,QACA,OACA,SACA,UACA,UACA,YACA,OACA,UACA,UACA,WACA,SACA,SACA,WACA,WACA,YACA,WACA,UACA,YACA,WACA,UACA,YACA,UACA,QACA,SACA,UACA,UACA,UACA,SACA,OACA,SACA,SACA,SACA,SACA,YACA,UACA,QACA,QACA,QACA,UACA,SACA,UACA,SACA,SACA,YACA,QACA,QACA,QACA,OACA,SACA,UACA,YACA,UACA,YACA,WACA,YACA,UACA,MACA,QACA,SACA,UACA,UACA,WACA,SACA,YACA,YACA,MACA,MACA,WACA,SACA,QACA,WACA,SACA,QACA,QACA,WACA,QACA,UACA,YACA,SACA,WACA,QACA,SACA,SACA,WACA,YACA,QACA,WACA,WACA,YACA,UACA,WACA,WACA,UACA,OACA,OACA,YACA,OACA,YACA,OACA,WACA,SACA,WACA,WACA,UACA,OACA,SACA,WACA,UACA,WACA,WACA,UACA,UACA,UACA,UACA,WACA,SACA,YACA,WACA,SACA,UACA,YACA,QACA,OACA,YACA,SACA,WACA,QACA,UACA,WACA,SACA,QACA,SACA,SACA,QACA,QACA,YACA,QACA,WACA,SACA,WACA,YACA,WACA,UACA,SACA,YACA,YACA,UACA,YACA,UACA,YACA,WACA,OACA,WACA,UACA,SACA,YACA,YACA,YACA,QACA,WACA,SACA,WACA,YACA,SACA,SACA,OACA,OACA,SACA,SACA,WACA,SACA,WACA,SACA,UACA,SACA,YACA,YACA,YACA,WACA,UACA,YACA,WACA,WACA,WACA,UACA,SACA,WACA,SACA,WACA,UACA,YACA,WACA,YACA,YACA,QACA,WACA,UACA,UACA,SACA,SACA,OACA,WACA,YACA,WACA,SACA,YACA,QACA,WACA,QACA,WACA,YACA,SACA,WACA,WACA,WACA,YACA,YACA,YACA,WACA,YACA,WACA,UACA,QACA,SACA,WACA,SACA,YACA,YACA,WACA,SACA,YACA,WACA,SACA,WACA,YACA,YACA,WACA,SACA,QACA,SACA,QACA,UACA,SACA,UACA,UACA,OACA,YACA,YACA,WACA,YACA,SACA,UACA,YACA,WACA,SACA,SACA,SACA,WACA,YACA,YACA,UACA,UACA,QACA,WACA,SACA,SACA,WACA,QACA,UACA,YACA,UACA,YACA,YACA,WACA,WACA,YACA,YACA,UACA,WACA,WACA,UACA,UACA,UACA,UACA,YACA,WACA,WACA,SACA,YACA,YACA,WACA,YACA,YACA,SACA,WACA,YACA,WACA,UACA,QACA,UACA,WACA,UACA,UACA,YACA,WACA,SACA,UACA,YACA,UACA,WACA,WACA,YACA,WACA,YACA,YACA,WACA,WACA,WACA,YACA,YACA,UACA,OACA,WACA,SACA,YACA,QACA,OACA,SACA,UACA,YACA,WACA,YACA,WACA,WACA,YACA,YACA,MACA,WACA,YACA,WACA,OACA,SACA,OACA,WACA,QACA,SACA,SACA,UACA,SACA,QACA,UACA,SACA,YACA,QACA,QACA,SACA,SACA,UACA,UACA,UACA,SACA,SACA,UACA,WACA,YACA,YACA,WACA,YACA,WACA,YACA,WACA,WACA,WACA,SACA,WACA,WACA,UACA,YACA,WACA,UACA,UACA,YACA,WACA,WACA,WACA,YACA,WACA,UACA,UACA,YACA,YACA,WACA,OACA,YACA,UACA,OACA,UACA,YACA,YACA,WACA,WACA,YACA,SACA,UACA,WACA,UACA,WACA,SACA,YACA,YACA,WACA,WACA,YACA,YACA,YACA,WACA,UACA,YACA,WACA,UACA,WACA,UACA,YACA,UACA,WACA,WACA,UACA,WACA,UACA,WACA,UACA,WACA,WACA,WACA,WACA,QACA,QACA,QACA,YACA,UACA,WACA,WACA,WACA,WACA,SACA,WACA,YACA,YACA,WACA,WACA,WACA,YACA,QACA,SACA,SACA,OACA,WACA,WACA,QACA,QACA,QACA,QACA,OACA,SACA,YACA,SACA,QACA,UACA,SACA,WACA,WACA,WACA,WACA,UACA,WACA,UACA,QACA,QACA,SACA,WACA,YACA,WACA,UACA,UACA,WACA,WACA,WACA,WACA,UACA,QACA,OACA,YACA,SACA,SACA,OACA,SACA,WACA,SACA,OACA,OACA,QACA,OACA,OACA,WACA,YACA,YACA,WACA,YACA,WACA,UACA,UACA,YACA,WACA,YACA,QACA,UACA,UACA,OACA,UACA,WACA,YACA,YACA,WACA,YACA,YACA,YACA,SACA,SACA,WACA,SACA,SACA,QACA,OACA,UACA,QACA,QACA,QACA,UACA,WACA,YACA,WACA,WACA,SACA,WACA,SACA,SACA,WACA,UACA,UACA,UACA,QACA,QACA,QACA,YACA,UACA,WACA,UACA,UACA,UACA,QACA,QACA,WACA,SACA,OACA,MACA,SACA,YACA,UACA,WACA,UACA,WACA,WACA,QACA,OACA,OACA,SACA,SACA,MACA,OACA,SACA,WACA,OACA,UACA,WACA,WACA,MACA,OACA,SACA,YACA,YACA,UACA,UACA,WACA,SACA,SACA,OACA,OACA,UACA,OACA,QACA,QACA,QACA,UACA,UACA,WACA,UACA,YACA,UACA,WACA,UACA,WACA,WACA,OACA,QACA,UACA,UACA,UACA,SACA,UACA,QACA,UACA,UACA,WACA,WACA,WACA,UACA,UACA,UACA,YACA,YACA,UACA,YACA,SACA,SACA,UACA,QACA,UACA,SACA,WACA,SACA,YACA,YACA,SACA,WACA,UACA,QACA,SACA,SACA,OACA,OACA,QACA,QACA,QACA,YACA,OACA,SACA,UACA,YACA,UACA,WACA,YACA,UACA,YACA,YACA,OACA,WACA,SACA,OACA,UACA,SACA,WACA,YACA,WACA,MACA,YACA,UACA,YACA,SACA,YACA,SACA,SACA,WACA,WACA,YACA,UACA,YACA,SACA,QACA,YACA,UACA,SACA,QACA,YACA,UACA,SACA,YACA,WACA,WACA,WACA,UACA,YACA,YACA,WACA,SACA,MACA,WACA,WACA,YACA,QACA,UACA,SACA,MACA,UACA,WACA,MACA,YACA,QACA,YACA,WACA,YACA,QACA,UACA,QACA,QACA,UACA,SACA,UACA,YACA,YACA,QACA,WACA,UACA,SACA,SACA,WACA,SACA,YACA,QACA,UACA,YACA,WACA,OACA,QACA,WACA,UACA,WACA,UACA,UACA,WACA,WACA,YACA,WACA,YACA,WACA,WACA,WACA,WACA,UACA,UACA,YACA,QACA,MACA,SACA,YACA,SACA,YACA,YACA,WACA,UACA,YACA,SACA,SACA,YACA,YACA,WACA,UACA,UACA,WACA,WACA,YACA,QACA,SACA,UACA,UACA,YACA,YACA,UACA,YACA,WACA,YACA,YACA,WACA,YACA,WACA,SACA,WACA,WACA,UACA,WACA,SACA,UACA,WACA,WACA,YACA,UACA,SACA,UACA,YACA,YACA,YACA,UACA,WACA,YACA,WACA,YACA,YACA,WACA,WACA,SACA,SACA,SACA,UACA,UACA,SACA,SACA,YACA,WACA,YACA,WACA,SACA,UACA,SACA,SACA,YACA,SACA,SACA,WACA,UACA,WACA,UACA,YACA,WACA,WACA,WACA,UACA,WACA,QACA,OACA,SACA,OACA,WACA,YACA,YACA,WACA,WACA,YACA,WACA,WACA,UACA,QACA,SACA,WACA,UACA,UACA,YACA,SACA,YACA,YACA,WACA,SACA,SACA,UACA,YACA,SACA,SACA,UACA,QACA,QACA,WACA,YACA,YACA,WACA,WACA,WACA,SACA,YACA,YACA,WACA,UACA,QACA,UACA,YACA,YACA,SACA,WACA,WACA,YACA,YACA,WACA,UACA,UACA,WACA,UACA,QACA,YACA,SACA,YACA,WACA,UACA,QACA,WACA,YACA,YACA,UACA,UACA,OACA,YACA,YACA,YACA,WACA,WACA,QACA,WACA,UACA,OACA,QACA,YACA,SACA,QACA,UACA,UACA,WACA,YACA,YACA,YACA,SACA,WACA,YACA,WACA,UACA,UACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,SACA,YACA,YACA,YACA,YACA,QACA,OACA,YACA,SACA,UACA,SACA,QACA,WACA,OACA,SACA,YACA,WACA,WACA,SACA,UACA,YACA,YACA,YACA,YACA,YACA,QACA,SACA,WACA,YACA,SACA,SACA,WACA,UACA,YACA,WACA,UACA,UACA,UACA,YACA,WACA,WACA,YACA,SACA,WACA,UACA,YACA,YACA,WACA,YACA,SACA,YACA,WACA,WACA,UACA,YACA,YACA,SACA,YACA,UACA,YACA,YACA,QACA,SACA,WACA,WACA,YACA,WACA,WACA,WACA,YACA,UACA,SACA,WACA,SACA,YACA,UACA,UACA,SACA,YACA,UACA,UACA,OACA,SACA,UACA,SACA,OACA,QACA,UACA,OACA,WACA,SACA,SACA,WACA,UACA,UACA,YACA,QACA,UACA,OACA,UACA,YACA,YACA,UACA,UACA,WACA,SACA,UACA,WACA,SACA,YACA,YACA,UACA,WACA,WACA,MACA,QACA,UACA,SACA,SACA,OACA,OACA,SACA,SACA,WACA,WACA,WACA,WACA,WACA,QACA,QACA,UACA,SACA,UACA,WACA,YACA,WACA,SACA,SACA,QACA,SACA,SACA,WACA,UACA,YACA,QACA,QACA,QACA,QACA,UACA,SACA,WACA,WACA,YACA,UACA,UACA,QACA,WACA,QACA,UACA,SACA,WACA,SACA,SACA,SACA,UACA,OACA,SACA,QACA,WACA,SACA,WACA,WACA,UACA,UACA,YACA,QACA,WACA,QACA,UACA,WACA,WACA,YACA,SACA,UACA,UACA,WACA,MACA,OACA,UACA,UACA,WACA,WACA,YACA,YACA,QACA,UACA,QACA,QACA,YACA,UACA,WACA,WACA,OACA,UACA,YACA,YACA,YACA,WACA,WACA,SACA,QACA,UACA,WACA,SACA,WACA,UACA,YACA,YACA,WACA,UACA,WACA,WACA,WACA,YACA,YACA,WACA,OACA,UACA,SACA,QACA,QACA,SACA,SACA,QACA,QACA,OACA,QACA,QACA,QACA,WACA,OACA,SACA,UACA,QACA,WACA,UACA,UACA,QACA,SACA,UACA,WACA,OACA,MACA,MACA,OACA,QACA,OACA,WACA,SACA,WACA,SACA,WACA,SACA,OACA,OACA,OACA,UACA,WACA,WACA,YACA,SACA,WACA,WACA,WACA,UACA,WACA,UACA,WACA,UACA,WACA,YACA,WACA,UACA,WACA,WACA,WACA,SACA,SACA,UACA,WACA,WACA,MACA,QACA,WACA,WACA,UACA,YACA,WACA,YACA,WACA,QACA,QACA,UACA,UACA,YACA,SACA,UACA,QACA,WACA,WACA,WACA,UACA,UACA,UACA,WACA,WACA,UACA,WACA,SACA,YACA,WACA,YACA,WACA,UACA,WACA,YACA,WACA,UACA,SACA,WACA,SACA,YACA,WACA,QACA,UACA,UACA,WACA,SACA,SACA,QACA,SACA,WACA,YACA,YACA,WACA,QACA,SACA,UACA,QACA,UACA,YACA,SACA,OACA,QACA,YACA,UACA,WACA,WACA,YACA,SACA,QACA,QACA,SACA,WACA,YACA,WACA,QACA,YACA,SACA,MACA,QACA,MACA,YACA,UACA,QACA,OACA,YACA,WACA,UACA,SACA,SACA,UACA,YACA,SACA,YACA,WACA,OACA,SACA,QACA,SACA,SACA,WACA,UACA,MACA,SACA,UACA,SACA,SACA,UACA,SACA,UACA,SACA,UACA,SACA,MACA,WACA,YACA,SACA,UACA,WACA,QACA,OACA,OACA,SACA,OACA,QACA,OACA,SACA,MACA,SACA,UACA,WACA,WACA,QACA,UACA,YACA,SACA,QACA,YACA,WACA,YACA,UACA,YACA,WACA,WACA,SACA,YACA,YACA,YACA,WACA,YACA,UACA,YACA,UACA,UACA,UACA,QACA,QACA,YACA,SACA,UACA,YACA,QACA,OACA,WACA,YACA,WACA,SACA,WACA,SACA,SACA,SACA,QACA,UACA,SACA,WACA,QACA,QACA,SACA,QACA,UACA,UACA,UACA,QACA,YACA,SACA,YACA,UACA,SACA,WACA,YACA,QACA,UACA,QACA,WACA,UACA,WACA,UACA,SACA,UACA,UACA,UACA,UACA,SACA,UACA,SACA,UACA,WACA,WACA,SACA,YACA,YACA,UACA,WACA,QACA,QACA,QACA,UACA,WACA,UACA,OACA,SACA,YACA,UACA,SACA,OACA,OACA,WACA,OACA,UACA,QACA,WACA,WACA,YACA,OACA,UACA,QACA,UACA,OACA,OACA,OACA,QACA,WACA,YACA,QACA,SACA,OACA,SACA,OACA,SACA,WACA,OACA,UACA,SACA,SACA,SACA,OACA,OACA,OACA,WACA,YACA,WACA,YACA,SACA,SACA,WACA,UACA,YACA,WACA,WACA,UACA,WACA,QACA,WACA,WACA,UACA,UACA,UACA,WACA,UACA,SACA,UACA,QACA,WACA,QACA,QACA,UACA,YACA,QACA,QACA,YACA,UACA,UACA,YACA,WACA,SACA,YACA,SACA,YACA,YACA,UACA,QACA,OACA,UACA,WACA,WACA,YACA,SACA,QACA,UACA,WACA,OACA,YACA,OACA,QACA,YACA,WACA,WACA,QACA,UACA,YACA,QACA,YACA,QACA,SACA,WACA,OACA,UACA,OACA,WACA,SACA,QACA,QACA,SACA,WACA,SACA,QACA,SACA,UACA,QACA,QACA,SACA,UACA,QACA,OACA,SACA,WACA,WACA,UACA,UACA,YACA,UACA,WACA,SACA,QACA,YACA,WACA,WACA,QACA,UACA,YACA,QACA,OACA,WACA,QACA,OACA,UACA,UACA,YACA,UACA,QACA,SACA,WACA,OACA,OACA,QACA,QACA,UACA,OACA,SACA,MACA,UACA,WACA,YACA,WACA,UACA,WACA,SACA,SACA,UACA,UACA,MACA,UACA,QACA,OACA,UACA,OACA,SACA,SACA,YACA,SACA,UACA,SACA,UACA,YACA,UACA,WACA,WACA,YACA,WACA,WACA,YACA,YACA,WACA,SACA,UACA,WACA,UACA,WACA,YACA,YACA,YACA,UACA,UACA,WACA,WACA,UACA,WACA,YACA,WACA,UACA,UACA,YACA,YACA,YACA,WACA,WACA,YACA,YACA,WACA,WACA,UACA,WACA,SACA,YACA,SACA,QACA,YACA,YACA,UACA,WACA,UACA,YACA,QACA,SACA,WACA,WACA,YACA,WACA,WACA,WACA,YACA,UACA,WACA,YACA,SACA,WACA,WACA,WACA,YACA,WACA,QACA,UACA,WACA,YACA,YACA,YACA,UACA,UACA,UACA,QACA,UACA,OACA,SACA,QACA,UACA,YACA,QACA,SACA,YACA,WACA,UACA,WACA,YACA,OACA,UACA,SACA,QACA,QACA,SACA,WACA,SACA,WACA,SACA,OACA,WACA,WACA,YACA,YACA,YACA,SACA,SACA,YACA,WACA,UACA,WACA,WACA,WACA,YACA,YACA,WACA,WACA,YACA,UACA,WACA,YACA,YACA,UACA,WACA,OACA,OACA,QACA,UACA,YACA,UACA,QACA,UACA,YACA,QACA,SACA,SACA,SACA,UACA,UACA,WACA,WACA,UACA,YACA,QACA,WACA,QACA,SACA,SACA,YACA,QACA,WACA,SACA,UACA,UACA,UACA,UACA,QACA,YACA,WACA,WACA,UACA,WACA,SACA,SACA,WACA,OACA,MACA,OACA,OACA,OACA,QACA,SACA,WACA,SACA,QACA,YACA,WACA,UACA,SACA,YACA,WACA,YACA,WACA,WACA,SACA,SACA,YACA,YACA,SACA,WACA,SACA,OACA,SACA,UACA,WACA,WACA,SACA,SACA,SACA,UACA,SACA,YACA,UACA,QACA,OACA,UACA,OACA,SACA,YACA,MACA,SACA,UACA,WACA,YACA,WACA,YACA,YACA,YACA,SACA,WACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,MACA,UACA,QACA,OACA,OACA,MACA,WACA,WACA,WACA,UACA,YACA,YACA,WACA,WACA,WACA,SACA,QACA,OACA,QACA,WACA,SACA,SACA,YACA,WACA,WACA,QACA,YACA,WACA,UACA,WACA,UACA,YACA,WACA,UACA,YACA,WACA,WACA,WACA,YACA,WACA,YACA,YACA,WACA,WACA,WACA,SACA,SACA,YACA,UACA,WACA,YACA,YACA,WACA,SACA,UACA,YACA,YACA,WACA,UACA,YACA,YACA,QACA,WACA,YACA,WACA,SACA,WACA,YACA,YACA,WACA,UACA,YACA,UACA,WACA,YACA,WACA,UACA,YACA,YACA,YACA,UACA,YACA,SACA,WACA,SACA,SACA,MACA,OACA,SACA,OACA,QACA,MACA,OACA,YACA,WACA,YACA,YACA,WACA,WACA,UACA,WACA,WACA,YACA,YACA,UACA,QACA,UACA,YACA,UACA,OACA,YACA,SACA,QACA,MACA,MACA,SACA,SACA,YACA,UACA,WACA,YACA,SACA,YACA,WACA,MACA,UACA,UACA,SACA,UACA,UACA,WACA,QACA,OACA,QACA,UACA,UACA,OACA,UACA,YACA,OACA,OACA,YACA,UACA,QACA,SACA,SACA,MACA,QACA,SACA,QACA,SACA,WACA,OACA,UACA,UACA,MACA,SACA,YACA,SACA,UACA,OACA,UACA,WACA,WACA,YACA,QACA,OACA,MACA,SACA,WACA,YACA,SACA,UACA,WACA,YACA,WACA,QACA,YACA,WACA,YACA,OACA,SACA,WACA,UACA,QACA,YACA,QACA,UACA,UACA,OACA,SACA,QACA,OACA,WACA,WACA,OACA,SACA,UACA,SACA,UACA,WACA,SACA,QACA,OACA,UACA,YACA,UACA,SACA,WACA,WACA,QACA,WACA,UACA,SACA,QACA,QACA,SACA,WACA,OACA,MACA,OACA,SACA,OACA,WACA,WACA,SACA,OACA,OACA,WACA,WACA,YACA,WACA,OACA,SACA,SACA,WACA,SACA,WACA,UACA,UACA,UACA,OACA,UACA,UACA,YACA,WACA,SACA,UACA,UACA,OACA,SACA,QACA,OACA,UACA,WACA,OACA,QACA,WACA,QACA,QACA,QACA,SACA,UACA,QACA,OACA,UACA,UACA,WACA,YACA,WACA,SACA,SACA,QACA,UACA,WACA,SACA,UACA,SACA,OACA,OACA,QACA,SACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,YACA,YACA,WACA,YACA,WACA,YACA,QACA,UACA,SACA,QACA,SACA,UACA,SACA,OACA,QACA,OACA,OACA,QACA,OACA,QACA,OACA,SACA,WACA,UACA,SACA,WACA,SACA,UACA,UACA,SACA,WACA,SACA,WACA,SACA,WACA,OACA,WACA,OACA,SACA,QACA,SACA,SACA,WACA,UACA,UACA,YACA,OACA,UACA,SACA,YACA,UACA,QACA,OACA,SACA,OACA,OACA,UACA,SACA,UACA,YACA,WACA,SACA,UACA,QACA,WACA,SACA,WACA,YACA,YACA,SACA,UACA,YACA,UACA,UACA,WACA,MACA,OACA,SACA,UACA,UACA,WACA,SACA,WACA,WACA,SACA,QACA,QACA,OACA,OACA,UACA,YACA,QACA,QACA,UACA,WACA,OACA,QACA,WACA,WACA,SACA,SACA,WACA,UACA,OACA,OACA,MACA,UACA,UACA,SACA,OACA,OACA,WACA,YACA,SACA,SACA,SACA,UACA,QACA,SACA,QACA,YACA,UACA,SACA,SACA,YACA,YACA,QACA,UACA,YACA,WACA,YACA,YACA,SACA,WACA,UACA,SACA,YACA,WACA,YACA,UACA,UACA,SACA,QACA,WACA,WACA,YACA,YACA,OACA,QACA,OACA,YACA,OACA,SACA,WACA,SACA,YACA,UACA,YACA,WACA,QACA,YACA,SACA,QACA,YACA,WACA,WACA,SACA,WACA,WACA,QACA,OACA,UACA,YACA,WACA,UACA,SACA,UACA,WACA,QACA,YACA,WACA,YACA,YACA,YACA,UACA,YACA,WACA,WACA,SACA,WACA,UACA,YACA,WACA,WACA,QACA,YACA,SACA,YACA,OACA,OACA,SACA,UACA,YACA,UACA,WACA,UACA,WACA,UACA,YACA,WACA,SACA,SACA,QACA,QACA,YACA,UACA,UACA,UACA,YACA,WACA,YACA,SACA,UACA,UACA,YACA,QACA,UACA,SACA,UACA,QACA,WACA,SACA,SACA,SACA,OACA,MACA,WACA,YACA,UACA,UACA,WACA,QACA,QACA,YACA,YACA,SACA,WACA,SACA,SACA,UACA,WACA,SACA,YACA,SACA,UACA,SACA,QACA,YACA,SACA,YACA,YACA,UACA,SACA,YACA,SACA,UACA,WACA,SACA,UACA,UACA,UACA,YACA,WACA,UACA,WACA,YACA,WACA,WACA,YACA,OACA,SACA,YACA,YACA,SACA,SACA,SACA,SACA,WACA,WACA,WACA,QACA,WACA,WACA,UACA,QACA,SACA,YACA,SACA,UACA,SACA,WACA,WACA,UACA,QACA,SACA,SACA,WACA,SACA,UACA,YACA,SACA,UACA,YACA,WACA,QACA,WACA,OACA,YACA,WACA,WACA,UACA,MACA,YACA,SACA,WACA,WACA,YACA,YACA,YACA,WACA,UACA,UACA,WACA,WACA,WACA,YACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,YACA,UACA,WACA,UACA,YACA,QACA,SACA,WACA,SACA,YACA,WACA,UACA,WACA,YACA,YACA,YACA,WACA,MACA,SACA,WACA,UACA,YACA,WACA,WACA,WACA,QACA,YACA,WACA,YACA,YACA,UACA,WACA,SACA,QACA,OACA,WACA,YACA,SACA,WACA,YACA,SACA,YACA,QACA,QACA,YACA,WACA,UACA,WACA,UACA,WACA,QACA,YACA,YACA,QACA,QACA,UACA,OACA,QACA,SACA,QACA,SACA,OACA,OACA,MACA,MACA,WACA,QACA,OACA,SACA,UACA,WACA,WACA,YACA,YACA,SACA,WACA,QACA,YACA,UACA,QACA,QACA,WACA,UACA,YACA,SACA,QACA,YACA,QACA,YACA,WACA,SACA,UACA,YACA,WACA,QACA,QACA,SACA,YACA,QACA,UACA,UACA,SACA,YACA,QACA,UACA,SACA,WACA,OACA,YACA,YACA,SACA,OACA,SACA,SACA,SACA,UACA,YACA,UACA,OACA,QACA,MACA,OACA,OACA,SACA,QACA,YACA,OACA,SACA,SACA,UACA,QACA,SACA,UACA,YACA,WACA,SACA,WACA,UACA,SACA,WACA,WACA,WACA,YACA,OACA,SACA,UACA,SACA,WACA,SACA,WACA,SACA,YACA,SACA,SACA,WACA,WACA,YACA,WACA,YACA,YACA,UACA,UACA,OACA,SACA,OACA,UACA,QACA,OACA,MACA,YACA,SACA,WACA,WACA,SACA,UACA,QACA,OACA,SACA,WACA,WACA,QACA,QACA,SACA,SACA,WACA,YACA,QACA,WACA,QACA,UACA,SACA,UACA,SACA,UACA,SACA,UACA,SACA,WACA,UACA,WACA,YACA,UACA,WACA,WACA,UACA,UACA,UACA,UACA,UACA,SACA,WACA,WACA,YACA,QACA,SACA,QACA,MACA,MACA,QACA,MACA,YACA,WACA,WACA,SACA,WACA,UACA,WACA,YACA,SACA,YACA,OACA,UACA,YACA,YACA,WACA,YACA,WACA,YACA,YACA,WACA,WACA,YACA,WACA,SACA,YACA,SACA,UACA,YACA,YACA,WACA,WACA,SACA,QACA,SACA,UACA,SACA,UACA,UACA,OACA,MACA,OACA,WACA,OACA,MACA,QACA,WACA,QACA,OACA,UACA,WACA,OACA,WACA,UACA,WACA,UACA,QACA,SACA,WACA,OACA,WACA,QACA,UACA,YACA,UACA,OACA,SACA,OACA,OACA,OACA,OACA,UACA,OACA,OACA,WACA,UACA,YACA,YACA,YACA,WACA,QACA,UACA,WACA,SACA,WACA,WACA,YACA,YACA,MACA,YACA,UACA,QACA,QACA,OACA,QACA,QACA,SACA,UACA,SACA,WACA,WACA,WACA,WACA,UACA,WACA,UACA,WACA,WACA,QACA,WACA,SACA,WACA,WACA,UACA,WACA,SACA,UACA,SACA,UACA,UACA,WACA,WACA,UACA,YACA,YACA,UACA,UACA,SACA,UACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,YACA,WACA,YACA,YACA,WACA,WACA,UACA,WACA,SACA,OACA,QACA,OACA,UACA,UACA,WACA,UACA,WACA,WACA,YACA,YACA,WACA,YACA,WACA,WACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,UACA,YACA,YACA,YACA,UACA,WACA,WACA,WACA,WACA,YACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,YACA,WACA,YACA,WACA,UACA,UACA,WACA,WACA,WACA,YACA,YACA,WACA,UACA,YACA,WACA,YACA,YACA,WACA,YACA,YACA,WACA,WACA,WACA,UACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,WACA,WACA,YACA,YACA,YACA,WACA,YACA,WACA,UACA,WACA,WACA,WACA,UACA,YACA,WACA,YACA,MACA,SACA,UACA,YACA,UACA,YACA,SACA,WACA,SACA,QACA,QACA,YACA,UACA,WACA,WACA,WACA,SACA,SACA,UACA,SACA,WACA,UACA,QACA,QACA,SACA,UACA,SACA,YACA,OACA,WACA,YACA,SACA,WACA,WACA,UACA,WACA,SACA,UACA,WACA,QACA,WACA,OACA,YACA,QACA,UACA,WACA,YACA,UACA,YACA,SACA,QACA,YACA,YACA,SACA,QACA,UACA,UACA,WACA,YACA,SACA,UACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,WACA,WACA,YACA,SACA,UACA,YACA,SACA,SACA,QACA,UACA,UACA,SACA,WACA,SACA,SACA,UACA,UACA,UACA,SACA,UACA,YACA,SACA,UACA,YACA,QACA,WACA,WACA,UACA,WACA,YACA,WACA,UACA,UACA,UACA,YACA,WACA,WACA,WACA,QACA,SACA,SACA,UACA,SACA,WACA,UACA,QACA,YACA,SACA,WACA,YACA,OACA,WACA,UACA,QACA,YACA,UACA,SACA,YACA,YACA,SACA,WACA,QACA,YACA,WACA,SACA,SACA,UACA,UACA,WACA,SACA,QACA,QACA,SACA,UACA,WACA,UACA,SACA,SACA,QACA,SACA,WACA,WACA,YACA,WACA,WACA,YACA,WACA,UACA,SACA,OACA,SACA,WACA,UACA,SACA,UACA,UACA,YACA,WACA,UACA,YACA,QACA,SACA,UACA,WACA,YACA,MACA,WACA,UACA,QACA,YACA,YACA,YACA,YACA,UACA,YACA,SACA,WACA,UACA,YACA,QACA,OACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,QACA,OACA,YACA,YACA,SACA,YACA,QACA,SACA,WACA,QACA,YACA,SACA,YACA,YACA,QACA,UACA,UACA,SACA,UACA,YACA,SACA,UACA,YACA,QACA,YACA,QACA,SACA,WACA,UACA,UACA,WACA,QACA,UACA,QACA,SACA,UACA,UACA,SACA,WACA,UACA,WACA,WACA,UACA,WACA,YACA,YACA,WACA,WACA,SACA,UACA,YACA,YACA,UACA,WACA,YACA,WACA,UACA,UACA,WACA,UACA,YACA,WACA,QACA,WACA,QACA,SACA,YACA,SACA,WACA,YACA,UACA,OACA,OACA,OACA,OACA,OACA,QACA,OACA,UACA,WACA,SACA,OACA,YACA,UACA,QACA,MACA,OACA,OACA,OACA,UACA,UACA,WACA,YACA,SACA,QACA,SACA,QACA,SACA,QACA,SACA,SACA,QACA,SACA,WACA,QACA,OACA,YACA,UACA,YACA,UACA,SACA,OACA,OACA,UACA,OACA,SACA,SACA,QACA,WACA,WACA,UACA,WACA,YACA,OACA,SACA,WACA,WACA,SACA,YACA,WACA,UACA,SACA,WACA,QACA,OACA,SACA,WACA,WACA,SACA,UACA,SACA,UACA,WACA,SACA,SACA,UACA,YACA,UACA,UACA,QACA,SACA,WACA,QACA,UACA,OACA,WACA,YACA,UACA,QACA,SACA,MACA,WACA,SACA,WACA,UACA,WACA,YACA,SACA,UACA,WACA,YACA,UACA,WACA,WACA,UACA,YACA,UACA,SACA,WACA,YACA,UACA,UACA,SACA,YACA,YACA,UACA,YACA,WACA,YACA,YACA,SACA,UACA,WACA,WACA,UACA,WACA,YACA,WACA,UACA,SACA,UACA,SACA,YACA,YACA,YACA,SACA,UACA,YACA,UACA,QACA,UACA,YACA,UACA,YACA,YACA,WACA,UACA,SACA,UACA,UACA,YACA,UACA,UACA,WACA,SACA,YACA,WACA,QACA,SACA,YACA,UACA,UACA,SACA,QACA,WACA,QACA,QACA,QACA,SACA,SACA,WACA,UACA,UACA,YACA,QACA,YACA,WACA,WACA,YACA,QACA,UACA,YACA,UACA,YACA,UACA,WACA,YACA,WACA,WACA,UACA,UACA,UACA,UACA,YACA,YACA,YACA,UACA,WACA,YACA,UACA,YACA,UACA,WACA,YACA,WACA,YACA,YACA,YACA,WACA,YACA,WACA,WACA,QACA,QACA,YACA,SACA,WACA,YACA,SACA,YACA,WACA,WACA,YACA,WACA,UACA,QACA,UACA,YACA,WACA,SACA,YACA,YACA,WACA,WACA,QACA,WACA,SACA,SACA,WACA,WACA,YACA,WACA,UACA,UACA,YACA,YACA,UACA,UACA,WACA,YACA,QACA,SACA,QACA,YACA,QACA,UACA,MACA,UACA,SACA,YACA,SACA,SACA,MACA,OACA,YACA,OACA,UACA,QACA,YACA,OACA,SACA,SACA,QACA,WACA,YACA,YACA,UACA,WACA,OACA,QACA,SACA,QACA,WACA,YACA,WACA,SACA,WACA,YACA,QACA,UACA,WACA,SACA,SACA,UACA,SACA,SACA,WACA,YACA,OACA,QACA,YACA,WACA,UACA,WACA,WACA,YACA,SACA,YACA,UACA,WACA,UACA,SACA,QACA,UACA,OACA,SACA,WACA,UACA,YACA,SACA,QACA,WACA,QACA,WACA,QACA,UACA,YACA,YACA,UACA,UACA,QACA,UACA,UACA,SACA,YACA,YACA,WACA,UACA,SACA,QACA,UACA,UACA,YACA,YACA,YACA,QACA,QACA,QACA,UACA,YACA,QACA,OACA,SACA,YACA,WACA,YACA,QACA,QACA,OACA,SACA,SACA,OACA,SACA,QACA,SACA,WACA,YACA,WACA,YACA,WACA,QACA,SACA,SACA,OACA,OACA,SACA,SACA,UACA,SACA,UACA,UACA,WACA,UACA,SACA,OACA,SACA,QACA,SACA,WACA,OACA,SACA,QACA,YACA,SACA,SACA,SACA,UACA,SACA,UACA,UACA,UACA,QACA,OACA,SACA,SACA,OACA,UACA,SACA,QACA,SACA,SACA,UACA,YACA,WACA,QACA,YACA,WACA,WACA,UACA,WACA,OACA,YACA,WACA,UACA,YACA,YACA,YACA,WACA,SACA,WACA,WACA,WACA,UACA,YACA,SACA,QACA,UACA,SACA,SACA,UACA,SACA,UACA,UACA,WACA,WACA,SACA,SACA,YACA,SACA,SACA,SACA,SACA,YACA,YACA,UACA,SACA,WACA,UACA,WACA,YACA,UACA,YACA,YACA,SACA,YACA,UACA,YACA,YACA,YACA,SACA,SACA,UACA,SACA,WACA,WACA,SACA,YACA,YACA,UACA,WACA,WACA,YACA,WACA,UACA,UACA,UACA,YACA,YACA,UACA,YACA,SACA,YACA,UACA,WACA,WACA,WACA,YACA,YACA,SACA,SACA,UACA,SACA,WACA,WACA,WACA,WACA,YACA,UACA,UACA,WACA,UACA,UACA,YACA,SACA,YACA,YACA,UACA,SACA,WACA,YACA,SACA,SACA,UACA,UACA,SACA,SACA,SACA,WACA,YACA,WACA,UACA,YACA,UACA,UACA,WACA,YACA,QACA,SACA,SACA,YACA,YACA,UACA,YACA,UACA,YACA,SACA,WACA,UACA,YACA,YACA,UACA,WACA,WACA,QACA,QACA,UACA,UACA,YACA,WACA,WACA,WACA,UACA,QACA,UACA,YACA,UACA,SACA,SACA,SACA,WACA,SACA,YACA,OACA,SACA,SACA,UACA,UACA,WACA,SACA,WACA,WACA,YACA,YACA,QACA,UACA,YACA,SACA,UACA,SACA,YACA,UACA,UACA,UACA,WACA,SACA,WACA,YACA,YACA,WACA,YACA,YACA,UACA,UACA,WACA,WACA,YACA,WACA,SACA,SACA,SACA,WACA,UACA,SACA,UACA,YACA,YACA,UACA,SACA,SACA,WACA,YACA,SACA,WACA,WACA,SACA,WACA,UACA,SACA,UACA,QACA,WACA,SACA,YACA,SACA,YACA,YACA,UACA,UACA,WACA,YACA,YACA,YACA,OACA,UACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,UACA,UACA,YACA,UACA,QACA,SACA,WACA,UACA,SACA,WACA,WACA,WACA,WACA,SACA,SACA,QACA,UACA,UACA,YACA,YACA,YACA,WACA,WACA,UACA,WACA,YACA,YACA,YACA,SACA,WACA,WACA,WACA,WACA,SACA,WACA,UACA,WACA,SACA,SACA,WACA,YACA,YACA,SACA,WACA,YACA,SACA,YACA,YACA,UACA,UACA,UACA,UACA,WACA,SACA,SACA,WACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,YACA,YACA,QACA,SACA,UACA,SACA,UACA,UACA,WACA,QACA,SACA,UACA,UACA,UACA,SACA,UACA,YACA,WACA,WACA,UACA,YACA,YACA,SACA,YACA,SACA,WACA,UACA,YACA,UACA,UACA,WACA,YACA,SACA,SACA,WACA,YACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UACA,QACA,SACA,UACA,OACA,SACA,SACA,WACA,UACA,UACA,WACA,SACA,OACA,SACA,UACA,OACA,UACA,QACA,QACA,UACA,SACA,OACA,OACA,QACA,UACA,OACA,UACA,WACA,WACA,UACA,SACA,WACA,UACA,OACA,SACA,OACA,UACA,UACA,QACA,QACA,YACA,WACA,YACA,YACA,UACA,WACA,SACA,UACA,QACA,UACA,OACA,QACA,WACA,SACA,WACA,SACA,SACA,WACA,YACA,UACA,WACA,YACA,WACA,QACA,QACA,QACA,OACA,OACA,SACA,SACA,OACA,SACA,UACA,UACA,WACA,WACA,WACA,YACA,UACA,YACA,UACA,UACA,QACA,SACA,QACA,SACA,SACA,UACA,SACA,UACA,OACA,SACA,SACA,MACA,SACA,OACA,SACA,WACA,UACA,QACA,YACA,UACA,SACA,UACA,QACA,OACA,SACA,UACA,QACA,OACA,OACA,OACA,MACA,UACA,WACA,YACA,SACA,YACA,SACA,YACA,UACA,WACA,QACA,UACA,SACA,YACA,YACA,SACA,WACA,UACA,OACA,OACA,UACA,QACA,OACA,QACA,OACA,QACA,SACA,WACA,SACA,SACA,QACA,SACA,QACA,OACA,WACA,SACA,UACA,YACA,YACA,OACA,SACA,WACA,WACA,WACA,YACA,SACA,UACA,WACA,UACA,YACA,UACA,SACA,WACA,UACA,UACA,YACA,UACA,YACA,YACA,WACA,QACA,WACA,YACA,OACA,QACA,UACA,YACA,QACA,UACA,YACA,UACA,OACA,YACA,QACA,UACA,WACA,QACA,YACA,YACA,UACA,WACA,WACA,YACA,QACA,QACA,SACA,UACA,QACA,UACA,SACA,QACA,YACA,MACA,UACA,SACA,UACA,WACA,QACA,UACA,WACA,UACA,WACA,OACA,UACA,UACA,WACA,QACA,YACA,SACA,WACA,YACA,SACA,QACA,UACA,YACA,WACA,QACA,YACA,SACA,WACA,YACA,SACA,WACA,YACA,WACA,UACA,UACA,YACA,QACA,QACA,WACA,QACA,QACA,UACA,QACA,SACA,YACA,YACA,SACA,YACA,SACA,UACA,QACA,WACA,SACA,YACA,UACA,WACA,WACA,SACA,WACA,WACA,WACA,YACA,YACA,QACA,UACA,UACA,SACA,WACA,SACA,WACA,YACA,SACA,SACA,UACA,YACA,WACA,WACA,UACA,UACA,WACA,QACA,QACA,WACA,YACA,SACA,UACA,WACA,YACA,YACA,SACA,UACA,SACA,YACA,SACA,UACA,WACA,WACA,QACA,SACA,WACA,WACA,WACA,SACA,WACA,UACA,UACA,UACA,SACA,WACA,YACA,YACA,WACA,OACA,UACA,WACA,WACA,YACA,YACA,UACA,WACA,YACA,SACA,UACA,OACA,SACA,WACA,YACA,YACA,YACA,YACA,WACA,QACA,YACA,SACA,SACA,SACA,WACA,YACA,SACA,SACA,YACA,UACA,WACA,QACA,UACA,UACA,SACA,WACA,UACA,UACA,SACA,WACA,QACA,YACA,YACA,UACA,UACA,WACA,SACA,QACA,SACA,UACA,YACA,UACA,SACA,QACA,QACA,WACA,UACA,YACA,UACA,QACA,QACA,UACA,UACA,QACA,UACA,WACA,QACA,SACA,QACA,UACA,QACA,YACA,UACA,UACA,UACA,YACA,QACA,SACA,OACA,QACA,QACA,QACA,QACA,UACA,SACA,WACA,SACA,SACA,UACA,WACA,YACA,SACA,UACA,SACA,UACA,QACA,UACA,YACA,UACA,QACA,OACA,QACA,YACA,QACA,QACA,WACA,UACA,WACA,WACA,QACA,WACA,YACA,WACA,UACA,UACA,YACA,YACA,UACA,YACA,SACA,YACA,SACA,QACA,QACA,UACA,WACA,WACA,SACA,WACA,UACA,UACA,QACA,UACA,YACA,YACA,WACA,QACA,SACA,WACA,WACA,YACA,WACA,SACA,SACA,SACA,SACA,SACA,UACA,WACA,YACA,SACA,QACA,SACA,WACA,UACA,UACA,YACA,OACA,QACA,OACA,MACA,UACA,WACA,UACA,SACA,SACA,SACA,OACA,UACA,WACA,WACA,SACA,SACA,UACA,OACA,YACA,QACA,OACA,OACA,SACA,YACA,SACA,YACA,SACA,WACA,SACA,UACA,YACA,SACA,UACA,SACA,WACA,WACA,UACA,SACA,UACA,MACA,QACA,SACA,SACA,SACA,UACA,WACA,YACA,UACA,UACA,QACA,UACA,WACA,YACA,UACA,UACA,OACA,SACA,SACA,WACA,SACA,UACA,YACA,WACA,WACA,UACA,SACA,SACA,SACA,OACA,QACA,QACA,QACA,SACA,UACA,UACA,WACA,UACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,SACA,YACA,UACA,WACA,WACA,QACA,UACA,WACA,WACA,UACA,QACA,YACA,UACA,OACA,UACA,UACA,WACA,YACA,SACA,QACA,OACA,UACA,QACA,WACA,YACA,UACA,WACA,QACA,UACA,OACA,OACA,QACA,QACA,QACA,SACA,QACA,YACA,SACA,SACA,UACA,QACA,SACA,YACA,UACA,WACA,YACA,WACA,WACA,QACA,WACA,YACA,SACA,OACA,OACA,SACA,WACA,SACA,SACA,UACA,WACA,SACA,OACA,YACA,UACA,SACA,OACA,OACA,QACA,QACA,MACA,QACA,UACA,YACA,UACA,WACA,UACA,QACA,WACA,QACA,YACA,QACA,QACA,QACA,UACA,QACA,OACA,SACA,YACA,YACA,UACA,QACA,UACA,SACA,UACA,SACA,SACA,WACA,YACA,SACA,WACA,QACA,UACA,UACA,OACA,QACA,QACA,SACA,QACA,QACA,SACA,WACA,QACA,QACA,UACA,WACA,SACA,UACA,SACA,QACA,UACA,UACA,QACA,QACA,WACA,YACA,YACA,UACA,YACA,WACA,WACA,YACA,YACA,YACA,WACA,UACA,WACA,WACA,YACA,WACA,QACA,OACA,QACA,UACA,SACA,WACA,QACA,YACA,YACA,WACA,YACA,UACA,WACA,UACA,WACA,SACA,YACA,YACA,WACA,YACA,SACA,QACA,YACA,UACA,WACA,YACA,UACA,WACA,QACA,OACA,SACA,YACA,SACA,SACA,QACA,SACA,QACA,QACA,UACA,SACA,UACA,UACA,WACA,UACA,WACA,QACA,SACA,WACA,YACA,UACA,YACA,WACA,YACA,UACA,WACA,SACA,WACA,WACA,SACA,WACA,WACA,WACA,UACA,WACA,UACA,UACA,WACA,SACA,SACA,YACA,SACA,SACA,UACA,QACA,WACA,SACA,QACA,QACA,QACA,WACA,SACA,SACA,WACA,YACA,UACA,UACA,WACA,SACA,UACA,SACA,QACA,SACA,SACA,SACA,QACA,QACA,QACA,SACA,YACA,YACA,SACA,SACA,SACA,SACA,SACA,OACA,OACA,OACA,UACA,WACA,WACA,QACA,SACA,WACA,SACA,WACA,WACA,YACA,SACA,WACA,YACA,YACA,WACA,UACA,YACA,QACA,WACA,WACA,SACA,SACA,SACA,YACA,UACA,YACA,YACA,SACA,QACA,UACA,QACA,QACA,UACA,WACA,WACA,YACA,UACA,WACA,YACA,YACA,YACA,WACA,WACA,UACA,UACA,QACA,QACA,QACA,SACA,WACA,YACA,SACA,UACA,WACA,WACA,YACA,UACA,QACA,WACA,UACA,YACA,UACA,WACA,SACA,WACA,UACA,WACA,UACA,YACA,UACA,UACA,WACA,QACA,QACA,SACA,YACA,SACA,UACA,SACA,UACA,YACA,UACA,QACA,YACA,WACA,WACA,YACA,QACA,QACA,QACA,YACA,WACA,YACA,YACA,UACA,OACA,SACA,UACA,OACA,SACA,UACA,YACA,YACA,WACA,YACA,UACA,OACA,QACA,UACA,UACA,YACA,SACA,WACA,YACA,QACA,YACA,YACA,UACA,WACA,UACA,WACA,WACA,WACA,SACA,WACA,SACA,UACA,YACA,OACA,SACA,QACA,QACA,QACA,QACA,QACA,YACA,YACA,YACA,UACA,QACA,QACA,SACA,QACA,QACA,YACA,YACA,WACA,UACA,UACA,WACA,YACA,WACA,UACA,YACA,YACA,QACA,QACA,QACA,WACA,UACA,WACA,YACA,WACA,WACA,YACA,YACA,WACA,WACA,YACA,WACA,UACA,QACA,QACA,SACA,SACA,SACA,WACA,YACA,QACA,SACA,UACA,SACA,WACA,SACA,SACA,SACA,SACA,WACA,SACA,WACA,SACA,SACA,WACA,YACA,WACA,YACA,SACA,YACA,UACA,WACA,QACA,SACA,QACA,UACA,UACA,UACA,WACA,SACA,QACA,UACA,UACA,SACA,QACA,UACA,WACA,SACA,UACA,YACA,QACA,QACA,UACA,UACA,WACA,QACA,SACA,WACA,SACA,UACA,YACA,UACA,WACA,SACA,QACA,YACA,YACA,YACA,UACA,WACA,WACA,WACA,YACA,UACA,WACA,SACA,WACA,UACA,YACA,WACA,YACA,YACA,WACA,SACA,UACA,WACA,YACA,YACA,YACA,UACA,YACA,YACA,UACA,UACA,WACA,YACA,YACA,UACA,WACA,SACA,WACA,WACA,UACA,SACA,SACA,YACA,UACA,YACA,OACA,UACA,SACA,SACA,OACA,WACA,YACA,UACA,SACA,YACA,WACA,QACA,UACA,QACA,WACA,WACA,WACA,SACA,UACA,UACA,UACA,SACA,OACA,SACA,WACA,YACA,SACA,YACA,YACA,YACA,WACA,WACA,WACA,WACA,YACA,YACA,SACA,WACA,SACA,UACA,YACA,UACA,YACA,SACA,WACA,UACA,YACA,YACA,SACA,UACA,WACA,UACA,UACA,UACA,UACA,WACA,UACA,YACA,YACA,WACA,SACA,WACA,UACA,YACA,WACA,QACA,UACA,UACA,WACA,YACA,YACA,OACA,YACA,UACA,YACA,OACA,WACA,QACA,OACA,QACA,QACA,QACA,QACA,QACA,SACA,UACA,UACA,YACA,YACA,UACA,WACA,WACA,WACA,UACA,WACA,QACA,QACA,SACA,SACA,UACA,UACA,QACA,SACA,QACA,QACA,QACA,WACA,WACA,YACA,WACA,UACA,UACA,WACA,UACA,WACA,WACA,YACA,YACA,QACA,SACA,UACA,UACA,QACA,WACA,SACA,SACA,YACA,UACA,YACA,UACA,SACA,WACA,QACA,OACA,UACA,WACA,UACA,UACA,WACA,UACA,YACA,MACA,UACA,OACA,SACA,SACA,WACA,OACA,QACA,SACA,WACA,QACA,SACA,OACA,SACA,UACA,UACA,UACA,WACA,UACA,WACA,WACA,UACA,UACA,OACA,YACA,SACA,SACA,UACA,QACA,SACA,SACA,WACA,OACA,SACA,QACA,YACA,UACA,QACA,WACA,SACA,WACA,SACA,QACA,SACA,QACA,OACA,OACA,UACA,YACA,OACA,QACA,QACA,WACA,WACA,UACA,UACA,YACA,QACA,SACA,WACA,UACA,UACA,YACA,WACA,WACA,QACA,UACA,QACA,QACA,SACA,UACA,WACA,WACA,YACA,YACA,UACA,WACA,SACA,QACA,QACA,QACA,WACA,SACA,SACA,WACA,YACA,SACA,SACA,SACA,WACA,SACA,YACA,SACA,WACA,YACA,YACA,UACA,WACA,OACA,QACA,WACA,WACA,OACA,YACA,UACA,QACA,QACA,QACA,SACA,WACA,UACA,OACA,QACA,UACA,UACA,YACA,YACA,WACA,UACA,OACA,SACA,OACA,OACA,QACA,SACA,UACA,YACA,UACA,SACA,WACA,SACA,SACA,WACA,SACA,WACA,OACA,UACA,OACA,SACA,SACA,SACA,UACA,YACA,SACA,SACA,SACA,QACA,UACA,QACA,WACA,UACA,QACA,UACA,YACA,UACA,UACA,WACA,YACA,QACA,UACA,SACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,WACA,UACA,YACA,UACA,UACA,WACA,QACA,QACA,SACA,WACA,WACA,OACA,YACA,WACA,YACA,UACA,QACA,SACA,OACA,UACA,UACA,YACA,SACA,SACA,QACA,WACA,SACA,QACA,WACA,YACA,WACA,UACA,YACA,UACA,UACA,WACA,WACA,WACA,UACA,YACA,SACA,WACA,WACA,UACA,QACA,SACA,YACA,WACA,UACA,YACA,UACA,WACA,WACA,UACA,OACA,SACA,WACA,UACA,UACA,UACA,WACA,WACA,SACA,WACA,UACA,UACA,YACA,SACA,WACA,QACA,SACA,QACA,QACA,UACA,QACA,SACA,YACA,UACA,WACA,WACA,YACA,QACA,MACA,QACA,WACA,UACA,UACA,UACA,MACA,UACA,QACA,SACA,WACA,QACA,SACA,UACA,WACA,WACA,YACA,OACA,SACA,UACA,SACA,SACA,OACA,QACA,OACA,MACA,QACA,QACA,QACA,WACA,SACA,YACA,SACA,QACA,QACA,UACA,YACA,OACA,WACA,QACA,QACA,QACA,YACA,UACA,UACA,WACA,SACA,SACA,UACA,SACA,QACA,OACA,QACA,WACA,YACA,QACA,YACA,WACA,SACA,YACA,SACA,YACA,YACA,WACA,UACA,YACA,YACA,YACA,YACA,YACA,UACA,UACA,UACA,YACA,WACA,SACA,SACA,WACA,WACA,YACA,YACA,UACA,WACA,YACA,UACA,YACA,WACA,WACA,YACA,WACA,WACA,WACA,UACA,WACA,WACA,YACA,UACA,YACA,YACA,UACA,UACA,SACA,YACA,YACA,UACA,QACA,SACA,UACA,SACA,YACA,WACA,WACA,YACA,WACA,WACA,WACA,SACA,YACA,YACA,WACA,UACA,UACA,UACA,UACA,YACA,UACA,YACA,WACA,QACA,YACA,UACA,YACA,SACA,YACA,YACA,WACA,WACA,YACA,YACA,WACA,WACA,YACA,WACA,YACA,YACA,UACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,YACA,YACA,YACA,YACA,WACA,WACA,YACA,YACA,YACA,YACA,YACA,YACA,WACA,UACA,SACA,YACA,UACA,YACA,WACA,UACA,WACA,UACA,SACA,WACA,SACA,YACA,UACA,WACA,YACA,WACA,YACA,WACA,UACA,YACA,SACA,YACA,YACA,YACA,SACA,WACA,UACA,YACA,UACA,WACA,WACA,YACA,YACA,UACA,WACA,YACA,SACA,YACA,WACA,WACA,YACA,WACA,WACA,WACA,WACA,SACA,UACA,WACA,YACA,YACA,WACA,YACA,UACA,WACA,YACA,UACA,YACA,WACA,YACA,WACA,UACA,YACA,SACA,SACA,UACA,WACA,UACA,UACA,YACA,YACA,QACA,YACA,YACA,YACA,YACA,YACA,QACA,WACA,YACA,SACA,WACA,OACA,YACA,WACA,WACA,UACA,SACA,YACA,YACA,UACA,UACA,UACA,WACA,WACA,YACA,UACA,SACA,YACA,YACA,YACA,YACA,UACA,WACA,WACA,QACA,YACA,WACA,WACA,WACA,YACA,YACA,UACA,WACA,WACA,YACA,UACA,SACA,YACA,WACA,WACA,WACA,WACA,YACA,YACA,YACA,YACA,UACA,WACA,UACA,YACA,UACA,WACA,YACA,UACA,YACA,WACA,UACA,YACA,YACA,WACA,YACA,SACA,WACA,SACA,YACA,WACA,UACA,WACA,WACA,YACA,WACA,YACA,YACA,YACA,YACA,WACA,SACA,YACA,WACA,UACA,WACA,UACA,YACA,YACA,SACA,SACA,YACA,YACA,YACA,WACA,SACA,YACA,YACA,WACA,SACA,YACA,YACA,UACA,SACA,YACA,SACA,WACA,WACA,SACA,SACA,WACA,UACA,WACA,YACA,YACA,UACA,WACA,WACA,YACA,WACA,WACA,SACA,WACA,YACA,SACA,YACA,YACA,WACA,WACA,WACA,YACA,YACA,YACA,WACA,YACA,WACA,WACA,SACA,WACA,WACA,SACA,WACA,WACA,YACA,WACA,WACA,YACA,YACA,WACA,YACA,YACA,WACA,YACA,UACA,YACA,YACA,WACA,WACA,WACA,SACA,UACA,WACA,YACA,UACA,UACA,YACA,WACA,UACA,WACA,WACA,SACA,QACA,QACA,UACA,WACA,WACA,YACA,SACA,YACA,YACA,YACA,YACA,UACA,YACA,SACA,UACA,WACA,UACA,UACA,WACA,SACA,UACA,WACA,WACA,YACA,WACA,YACA,WACA,WACA,YACA,UACA,WACA,YACA,SACA,WACA,YACA,UACA,QACA,YACA,SACA,WACA,YACA,SACA,UACA,YACA,YACA,YACA,SACA,YACA,WACA,UACA,UACA,YACA,YACA,QACA,SACA,UACA,WACA,YACA,SACA,UACA,UACA,WACA,SACA,SACA,SACA,WACA,YACA,SACA,OACA,QACA,UACA,WACA,UACA,SACA,SACA,UACA,SACA,UACA,WACA,UACA,UACA,WACA,WACA,UACA,SACA,UACA,SACA,WACA,SACA,SACA,UACA,QACA,SACA,WACA,UACA,SACA,SACA,YACA,UACA,SACA,QACA,UACA,OACA,YACA,OACA,QACA,QACA,UACA,UACA,UACA,SACA,SACA,QACA,UACA,SACA,SACA,WACA,WACA,WACA,YACA,UACA,YACA,UACA,QACA,SACA,SACA,YACA,QACA,UACA,SACA,SACA,WACA,UACA,YACA,WACA,WACA,SACA,UACA,UACA,UACA,UACA,UACA,UACA,WACA,WACA,SACA,WACA,OACA,QACA,SACA,YACA,SACA,WACA,SACA,WACA,UACA,SACA,YACA,WACA,WACA,YACA,UACA,QACA,QACA,YACA,WACA,UACA,UACA,SACA,QACA,UACA,SACA,YACA,WACA,UACA,OACA,SACA,OACA,UACA,OACA,WACA,YACA,SACA,QACA,OACA,WACA,UACA,QACA,WACA,SACA,UACA,WACA,YACA,WACA,UACA,UACA,YACA,WACA,UACA,UACA,YACA,WACA,SACA,SACA,QACA,QACA,UACA,WACA,QACA,OACA,YACA,UACA,WACA,UACA,UACA,SACA,WACA,UACA,QACA,QACA,WACA,WACA,UACA,WACA,YACA,UACA,YACA,QACA,WACA,WACA,UACA,WACA,QACA,UACA,OACA,WACA,SACA,UACA,UACA,QACA,SACA,UACA,QACA,QACA,SACA,YACA,MACA,QACA,SACA,QACA,QACA,QACA,SACA,QACA,OACA,SACA,OACA,UACA,SACA,SACA,QACA,OACA,UACA,SACA,UACA,SACA,WACA,YACA,YACA,WACA,YACA,UACA,SACA,SACA,YACA,UACA,UACA,WACA,YACA,UACA,OACA,UACA,QACA,QACA,WACA,SACA,OACA,WACA,SACA,OACA,QACA,QACA,WACA,QACA,YACA,SACA,QACA,WACA,UACA,QACA,WACA,UACA,WACA,SACA,MACA,OACA,SACA,QACA,SACA,QACA,QACA,YACA,UACA,OACA,OACA,YACA,WACA,UACA,SACA,WACA,WACA,WACA,WACA,SACA,WACA,SACA,YACA,UACA,SACA,YACA,OACA,OACA,QACA,UACA,OACA,OACA,UACA,SACA,WACA,SACA,OACA,QACA,WACA,SACA,OACA,SACA,OACA,OACA,WACA,QACA,UACA,SACA,SACA,WACA,SACA,MACA,OACA,YACA,YACA,YACA,YACA,YACA,UACA,OACA,OACA,SACA,OACA,QACA,OACA,OACA,UACA,UACA,YACA,QACA,YACA,YACA,QACA,QACA,QACA,MACA,UACA,QACA,SACA,WACA,UACA,WACA,SACA,UACA,UACA,UACA,UACA,QACA,UACA,UACA,YACA,UACA,WACA,UACA,YACA,UACA,OACA,QACA,QACA,MACA,UACA,UACA,OACA,OACA,OACA,WACA,WACA,SACA,WACA,QACA,UACA,OACA,MACA,YACA,UACA,QACA,MACA,SACA,QACA,QACA,OACA,SACA,SACA,OACA,QACA,MACA,UACA,QACA,MACA,WACA,OACA,YACA,QACA,YACA,UACA,UACA,QACA,OACA,MACA,SACA,SACA,OACA,SACA,YACA,YACA,UACA,k9CCjmPJ,IAAAS,EAAA3+H,EAAA,KAEAwd,EAAAxd,EAAA,IAOA2W,EAAA,WAUI,SAAAA,EAAoB4L,EAAgCinC,EACxCo1E,GADQn8H,KAAA8f,aAAgC9f,KAAA+mD,iBACxC/mD,KAAAm8H,uBAoGhB,OAlGIjoH,EAAA1X,UAAA4/H,eAAA,WACI,OAAwB,MAApBp8H,KAAKq8H,YACEr8H,KAAKq8H,YACLr8H,KAAK+b,QACL/b,KAAK+b,QAET,MAGL7H,EAAA1X,UAAA8/H,mBAAN,6GACyB,SAAMt8H,KAAK+mD,eAAezoD,IAAIyc,EAAA5G,iBAAiBC,4BAcpE,OAdMmoH,EAAe7rH,EAAAgH,OACfuqG,EAAOsa,GAAW,CACpBn9G,KAAM,KACNgjG,IAAK,KACL/6F,SAAU,KACVm1G,MAAO,KACPC,cAAe,KACf3rG,OAAQ,KACR4rG,SAAU,K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","file":"app/main.c95e488578c8d271f566.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t0: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([721,2]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export abstract class I18nService {\r\n locale: string;\r\n supportedTranslationLocales: string[];\r\n translationLocale: string;\r\n collator: Intl.Collator;\r\n localeNames: Map;\r\n t: (id: string, p1?: string, p2?: string, p3?: string) => string;\r\n translate: (id: string, p1?: string, p2?: string, p3?: string) => string;\r\n}\r\n","import { DeviceType } from '../enums/deviceType';\r\n\r\nexport abstract class PlatformUtilsService {\r\n identityClientId: string;\r\n getDevice: () => DeviceType;\r\n getDeviceString: () => string;\r\n isFirefox: () => boolean;\r\n isChrome: () => boolean;\r\n isEdge: () => boolean;\r\n isOpera: () => boolean;\r\n isVivaldi: () => boolean;\r\n isSafari: () => boolean;\r\n isIE: () => boolean;\r\n isMacAppStore: () => boolean;\r\n analyticsId: () => string;\r\n isViewOpen: () => Promise;\r\n /**\r\n * @deprecated This only ever returns null. Pull from your platform's storage using ConstantsService.vaultTimeoutKey\r\n */\r\n lockTimeout: () => number;\r\n launchUri: (uri: string, options?: any) => void;\r\n saveFile: (win: Window, blobData: any, blobOptions: any, fileName: string) => void;\r\n getApplicationVersion: () => string;\r\n supportsU2f: (win: Window) => boolean;\r\n supportsDuo: () => boolean;\r\n showToast: (type: 'error' | 'success' | 'warning' | 'info', title: string, text: string | string[],\r\n options?: any) => void;\r\n showDialog: (text: string, title?: string, confirmText?: string, cancelText?: string,\r\n type?: string) => Promise;\r\n eventTrack: (action: string, label?: string, options?: any) => void;\r\n isDev: () => boolean;\r\n isSelfHost: () => boolean;\r\n copyToClipboard: (text: string, options?: any) => void;\r\n readFromClipboard: (options?: any) => Promise;\r\n supportsBiometric: () => Promise;\r\n authenticateBiometric: () => Promise;\r\n supportsSecureStorage: () => boolean;\r\n}\r\n","import { PolicyType } from '../enums/policyType';\r\n\r\nimport { EnvironmentUrls } from '../models/domain/environmentUrls';\r\n\r\nimport { BitPayInvoiceRequest } from '../models/request/bitPayInvoiceRequest';\r\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\r\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\r\nimport { CipherBulkRestoreRequest } from '../models/request/cipherBulkRestoreRequest';\r\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\r\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\r\nimport { CipherCreateRequest } from '../models/request/cipherCreateRequest';\r\nimport { CipherRequest } from '../models/request/cipherRequest';\r\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\r\nimport { CollectionRequest } from '../models/request/collectionRequest';\r\nimport { DeleteRecoverRequest } from '../models/request/deleteRecoverRequest';\r\nimport { EmailRequest } from '../models/request/emailRequest';\r\nimport { EmailTokenRequest } from '../models/request/emailTokenRequest';\r\nimport { EventRequest } from '../models/request/eventRequest';\r\nimport { FolderRequest } from '../models/request/folderRequest';\r\nimport { GroupRequest } from '../models/request/groupRequest';\r\nimport { IapCheckRequest } from '../models/request/iapCheckRequest';\r\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\r\nimport { ImportDirectoryRequest } from '../models/request/importDirectoryRequest';\r\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\r\nimport { KdfRequest } from '../models/request/kdfRequest';\r\nimport { KeysRequest } from '../models/request/keysRequest';\r\nimport { OrganizationCreateRequest } from '../models/request/organizationCreateRequest';\r\nimport { OrganizationTaxInfoUpdateRequest } from '../models/request/organizationTaxInfoUpdateRequest';\r\nimport { OrganizationUpdateRequest } from '../models/request/organizationUpdateRequest';\r\nimport { OrganizationUpgradeRequest } from '../models/request/organizationUpgradeRequest';\r\nimport { OrganizationUserAcceptRequest } from '../models/request/organizationUserAcceptRequest';\r\nimport { OrganizationUserConfirmRequest } from '../models/request/organizationUserConfirmRequest';\r\nimport { OrganizationUserInviteRequest } from '../models/request/organizationUserInviteRequest';\r\nimport { OrganizationUserUpdateGroupsRequest } from '../models/request/organizationUserUpdateGroupsRequest';\r\nimport { OrganizationUserUpdateRequest } from '../models/request/organizationUserUpdateRequest';\r\nimport { PasswordHintRequest } from '../models/request/passwordHintRequest';\r\nimport { PasswordRequest } from '../models/request/passwordRequest';\r\nimport { PasswordVerificationRequest } from '../models/request/passwordVerificationRequest';\r\nimport { PaymentRequest } from '../models/request/paymentRequest';\r\nimport { PolicyRequest } from '../models/request/policyRequest';\r\nimport { PreloginRequest } from '../models/request/preloginRequest';\r\nimport { RegisterRequest } from '../models/request/registerRequest';\r\nimport { SeatRequest } from '../models/request/seatRequest';\r\nimport { SelectionReadOnlyRequest } from '../models/request/selectionReadOnlyRequest';\r\nimport { SendAccessRequest } from '../models/request/sendAccessRequest';\r\nimport { SendRequest } from '../models/request/sendRequest';\r\nimport { SetPasswordRequest } from '../models/request/setPasswordRequest';\r\nimport { StorageRequest } from '../models/request/storageRequest';\r\nimport { TaxInfoUpdateRequest } from '../models/request/taxInfoUpdateRequest';\r\nimport { TokenRequest } from '../models/request/tokenRequest';\r\nimport { TwoFactorEmailRequest } from '../models/request/twoFactorEmailRequest';\r\nimport { TwoFactorProviderRequest } from '../models/request/twoFactorProviderRequest';\r\nimport { TwoFactorRecoveryRequest } from '../models/request/twoFactorRecoveryRequest';\r\nimport { UpdateDomainsRequest } from '../models/request/updateDomainsRequest';\r\nimport { UpdateKeyRequest } from '../models/request/updateKeyRequest';\r\nimport { UpdateProfileRequest } from '../models/request/updateProfileRequest';\r\nimport { UpdateTwoFactorAuthenticatorRequest } from '../models/request/updateTwoFactorAuthenticatorRequest';\r\nimport { UpdateTwoFactorDuoRequest } from '../models/request/updateTwoFactorDuoRequest';\r\nimport { UpdateTwoFactorEmailRequest } from '../models/request/updateTwoFactorEmailRequest';\r\nimport { UpdateTwoFactorU2fDeleteRequest } from '../models/request/updateTwoFactorU2fDeleteRequest';\r\nimport { UpdateTwoFactorU2fRequest } from '../models/request/updateTwoFactorU2fRequest';\r\nimport { UpdateTwoFactorYubioOtpRequest } from '../models/request/updateTwoFactorYubioOtpRequest';\r\nimport { VerifyBankRequest } from '../models/request/verifyBankRequest';\r\nimport { VerifyDeleteRecoverRequest } from '../models/request/verifyDeleteRecoverRequest';\r\nimport { VerifyEmailRequest } from '../models/request/verifyEmailRequest';\r\n\r\nimport { ApiKeyResponse } from '../models/response/apiKeyResponse';\r\nimport { BillingResponse } from '../models/response/billingResponse';\r\nimport { BreachAccountResponse } from '../models/response/breachAccountResponse';\r\nimport { CipherResponse } from '../models/response/cipherResponse';\r\nimport {\r\n CollectionGroupDetailsResponse,\r\n CollectionResponse,\r\n} from '../models/response/collectionResponse';\r\nimport { DomainsResponse } from '../models/response/domainsResponse';\r\nimport { EventResponse } from '../models/response/eventResponse';\r\nimport { FolderResponse } from '../models/response/folderResponse';\r\nimport {\r\n GroupDetailsResponse,\r\n GroupResponse,\r\n} from '../models/response/groupResponse';\r\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\r\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\r\nimport { ListResponse } from '../models/response/listResponse';\r\nimport { OrganizationResponse } from '../models/response/organizationResponse';\r\nimport { OrganizationSubscriptionResponse } from '../models/response/organizationSubscriptionResponse';\r\nimport {\r\n OrganizationUserDetailsResponse,\r\n OrganizationUserUserDetailsResponse,\r\n} from '../models/response/organizationUserResponse';\r\nimport { PaymentResponse } from '../models/response/paymentResponse';\r\nimport { PlanResponse } from '../models/response/planResponse';\r\nimport { PolicyResponse } from '../models/response/policyResponse';\r\nimport { PreloginResponse } from '../models/response/preloginResponse';\r\nimport { ProfileResponse } from '../models/response/profileResponse';\r\nimport { SelectionReadOnlyResponse } from '../models/response/selectionReadOnlyResponse';\r\nimport { SendAccessResponse } from '../models/response/sendAccessResponse';\r\nimport { SendResponse } from '../models/response/sendResponse';\r\nimport { SubscriptionResponse } from '../models/response/subscriptionResponse';\r\nimport { SyncResponse } from '../models/response/syncResponse';\r\nimport { TaxInfoResponse } from '../models/response/taxInfoResponse';\r\nimport { TwoFactorAuthenticatorResponse } from '../models/response/twoFactorAuthenticatorResponse';\r\nimport { TwoFactorDuoResponse } from '../models/response/twoFactorDuoResponse';\r\nimport { TwoFactorEmailResponse } from '../models/response/twoFactorEmailResponse';\r\nimport { TwoFactorProviderResponse } from '../models/response/twoFactorProviderResponse';\r\nimport { TwoFactorRecoverResponse } from '../models/response/twoFactorRescoverResponse';\r\nimport {\r\n ChallengeResponse,\r\n TwoFactorU2fResponse,\r\n} from '../models/response/twoFactorU2fResponse';\r\nimport { TwoFactorYubiKeyResponse } from '../models/response/twoFactorYubiKeyResponse';\r\nimport { UserKeyResponse } from '../models/response/userKeyResponse';\r\n\r\nexport abstract class ApiService {\r\n urlsSet: boolean;\r\n apiBaseUrl: string;\r\n identityBaseUrl: string;\r\n eventsBaseUrl: string;\r\n\r\n setUrls: (urls: EnvironmentUrls) => void;\r\n postIdentityToken: (request: TokenRequest) => Promise;\r\n refreshIdentityToken: () => Promise;\r\n\r\n getProfile: () => Promise;\r\n getUserBilling: () => Promise;\r\n getUserSubscription: () => Promise;\r\n getTaxInfo: () => Promise;\r\n putProfile: (request: UpdateProfileRequest) => Promise;\r\n putTaxInfo: (request: TaxInfoUpdateRequest) => Promise;\r\n postPrelogin: (request: PreloginRequest) => Promise;\r\n postEmailToken: (request: EmailTokenRequest) => Promise;\r\n postEmail: (request: EmailRequest) => Promise;\r\n postPassword: (request: PasswordRequest) => Promise;\r\n setPassword: (request: SetPasswordRequest) => Promise;\r\n postSecurityStamp: (request: PasswordVerificationRequest) => Promise;\r\n deleteAccount: (request: PasswordVerificationRequest) => Promise;\r\n getAccountRevisionDate: () => Promise;\r\n postPasswordHint: (request: PasswordHintRequest) => Promise;\r\n postRegister: (request: RegisterRequest) => Promise;\r\n postPremium: (data: FormData) => Promise;\r\n postIapCheck: (request: IapCheckRequest) => Promise;\r\n postReinstatePremium: () => Promise;\r\n postCancelPremium: () => Promise;\r\n postAccountStorage: (request: StorageRequest) => Promise;\r\n postAccountPayment: (request: PaymentRequest) => Promise;\r\n postAccountLicense: (data: FormData) => Promise;\r\n postAccountKey: (request: UpdateKeyRequest) => Promise;\r\n postAccountKeys: (request: KeysRequest) => Promise;\r\n postAccountVerifyEmail: () => Promise;\r\n postAccountVerifyEmailToken: (request: VerifyEmailRequest) => Promise;\r\n postAccountVerifyPassword: (request: PasswordVerificationRequest) => Promise;\r\n postAccountRecoverDelete: (request: DeleteRecoverRequest) => Promise;\r\n postAccountRecoverDeleteToken: (request: VerifyDeleteRecoverRequest) => Promise;\r\n postAccountKdf: (request: KdfRequest) => Promise;\r\n getEnterprisePortalSignInToken: () => Promise;\r\n postUserApiKey: (id: string, request: PasswordVerificationRequest) => Promise;\r\n postUserRotateApiKey: (id: string, request: PasswordVerificationRequest) => Promise;\r\n\r\n getFolder: (id: string) => Promise;\r\n postFolder: (request: FolderRequest) => Promise;\r\n putFolder: (id: string, request: FolderRequest) => Promise;\r\n deleteFolder: (id: string) => Promise;\r\n\r\n getSend: (id: string) => Promise;\r\n postSendAccess: (id: string, request: SendAccessRequest) => Promise;\r\n getSends: () => Promise>;\r\n postSend: (request: SendRequest) => Promise;\r\n postSendFile: (data: FormData) => Promise;\r\n putSend: (id: string, request: SendRequest) => Promise;\r\n putSendRemovePassword: (id: string) => Promise;\r\n deleteSend: (id: string) => Promise;\r\n\r\n getCipher: (id: string) => Promise;\r\n getCipherAdmin: (id: string) => Promise;\r\n getCiphersOrganization: (organizationId: string) => Promise>;\r\n postCipher: (request: CipherRequest) => Promise;\r\n postCipherCreate: (request: CipherCreateRequest) => Promise;\r\n postCipherAdmin: (request: CipherCreateRequest) => Promise;\r\n putCipher: (id: string, request: CipherRequest) => Promise;\r\n putCipherAdmin: (id: string, request: CipherRequest) => Promise;\r\n deleteCipher: (id: string) => Promise;\r\n deleteCipherAdmin: (id: string) => Promise;\r\n deleteManyCiphers: (request: CipherBulkDeleteRequest) => Promise;\r\n deleteManyCiphersAdmin: (request: CipherBulkDeleteRequest) => Promise;\r\n putMoveCiphers: (request: CipherBulkMoveRequest) => Promise;\r\n putShareCipher: (id: string, request: CipherShareRequest) => Promise;\r\n putShareCiphers: (request: CipherBulkShareRequest) => Promise;\r\n putCipherCollections: (id: string, request: CipherCollectionsRequest) => Promise;\r\n putCipherCollectionsAdmin: (id: string, request: CipherCollectionsRequest) => Promise;\r\n postPurgeCiphers: (request: PasswordVerificationRequest, organizationId?: string) => Promise;\r\n postImportCiphers: (request: ImportCiphersRequest) => Promise;\r\n postImportOrganizationCiphers: (organizationId: string, request: ImportOrganizationCiphersRequest) => Promise;\r\n putDeleteCipher: (id: string) => Promise;\r\n putDeleteCipherAdmin: (id: string) => Promise;\r\n putDeleteManyCiphers: (request: CipherBulkDeleteRequest) => Promise;\r\n putDeleteManyCiphersAdmin: (request: CipherBulkDeleteRequest) => Promise;\r\n putRestoreCipher: (id: string) => Promise;\r\n putRestoreCipherAdmin: (id: string) => Promise;\r\n putRestoreManyCiphers: (request: CipherBulkRestoreRequest) => Promise;\r\n\r\n postCipherAttachment: (id: string, data: FormData) => Promise;\r\n postCipherAttachmentAdmin: (id: string, data: FormData) => Promise;\r\n deleteCipherAttachment: (id: string, attachmentId: string) => Promise;\r\n deleteCipherAttachmentAdmin: (id: string, attachmentId: string) => Promise;\r\n postShareCipherAttachment: (id: string, attachmentId: string, data: FormData,\r\n organizationId: string) => Promise;\r\n\r\n getCollectionDetails: (organizationId: string, id: string) => Promise;\r\n getUserCollections: () => Promise>;\r\n getCollections: (organizationId: string) => Promise>;\r\n getCollectionUsers: (organizationId: string, id: string) => Promise;\r\n postCollection: (organizationId: string, request: CollectionRequest) => Promise;\r\n putCollectionUsers: (organizationId: string, id: string, request: SelectionReadOnlyRequest[]) => Promise;\r\n putCollection: (organizationId: string, id: string, request: CollectionRequest) => Promise;\r\n deleteCollection: (organizationId: string, id: string) => Promise;\r\n deleteCollectionUser: (organizationId: string, id: string, organizationUserId: string) => Promise;\r\n\r\n getGroupDetails: (organizationId: string, id: string) => Promise;\r\n getGroups: (organizationId: string) => Promise>;\r\n getGroupUsers: (organizationId: string, id: string) => Promise;\r\n postGroup: (organizationId: string, request: GroupRequest) => Promise;\r\n putGroup: (organizationId: string, id: string, request: GroupRequest) => Promise;\r\n putGroupUsers: (organizationId: string, id: string, request: string[]) => Promise;\r\n deleteGroup: (organizationId: string, id: string) => Promise;\r\n deleteGroupUser: (organizationId: string, id: string, organizationUserId: string) => Promise;\r\n\r\n getPolicy: (organizationId: string, type: PolicyType) => Promise;\r\n getPolicies: (organizationId: string) => Promise>;\r\n getPoliciesByToken: (organizationId: string, token: string, email: string, organizationUserId: string) =>\r\n Promise>;\r\n putPolicy: (organizationId: string, type: PolicyType, request: PolicyRequest) => Promise;\r\n\r\n getOrganizationUser: (organizationId: string, id: string) => Promise;\r\n getOrganizationUserGroups: (organizationId: string, id: string) => Promise;\r\n getOrganizationUsers: (organizationId: string) => Promise>;\r\n postOrganizationUserInvite: (organizationId: string, request: OrganizationUserInviteRequest) => Promise;\r\n postOrganizationUserReinvite: (organizationId: string, id: string) => Promise;\r\n postOrganizationUserAccept: (organizationId: string, id: string,\r\n request: OrganizationUserAcceptRequest) => Promise;\r\n postOrganizationUserConfirm: (organizationId: string, id: string,\r\n request: OrganizationUserConfirmRequest) => Promise;\r\n putOrganizationUser: (organizationId: string, id: string, request: OrganizationUserUpdateRequest) => Promise;\r\n putOrganizationUserGroups: (organizationId: string, id: string,\r\n request: OrganizationUserUpdateGroupsRequest) => Promise;\r\n deleteOrganizationUser: (organizationId: string, id: string) => Promise;\r\n\r\n getSync: () => Promise;\r\n postImportDirectory: (organizationId: string, request: ImportDirectoryRequest) => Promise;\r\n\r\n getSettingsDomains: () => Promise;\r\n putSettingsDomains: (request: UpdateDomainsRequest) => Promise;\r\n\r\n getTwoFactorProviders: () => Promise>;\r\n getTwoFactorOrganizationProviders: (organizationId: string) => Promise>;\r\n getTwoFactorAuthenticator: (request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorEmail: (request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorDuo: (request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorOrganizationDuo: (organizationId: string,\r\n request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorYubiKey: (request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorU2f: (request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorU2fChallenge: (request: PasswordVerificationRequest) => Promise;\r\n getTwoFactorRecover: (request: PasswordVerificationRequest) => Promise;\r\n putTwoFactorAuthenticator: (\r\n request: UpdateTwoFactorAuthenticatorRequest) => Promise;\r\n putTwoFactorEmail: (request: UpdateTwoFactorEmailRequest) => Promise;\r\n putTwoFactorDuo: (request: UpdateTwoFactorDuoRequest) => Promise;\r\n putTwoFactorOrganizationDuo: (organizationId: string,\r\n request: UpdateTwoFactorDuoRequest) => Promise;\r\n putTwoFactorYubiKey: (request: UpdateTwoFactorYubioOtpRequest) => Promise;\r\n putTwoFactorU2f: (request: UpdateTwoFactorU2fRequest) => Promise;\r\n deleteTwoFactorU2f: (request: UpdateTwoFactorU2fDeleteRequest) => Promise;\r\n putTwoFactorDisable: (request: TwoFactorProviderRequest) => Promise;\r\n putTwoFactorOrganizationDisable: (organizationId: string,\r\n request: TwoFactorProviderRequest) => Promise;\r\n postTwoFactorRecover: (request: TwoFactorRecoveryRequest) => Promise;\r\n postTwoFactorEmailSetup: (request: TwoFactorEmailRequest) => Promise;\r\n postTwoFactorEmail: (request: TwoFactorEmailRequest) => Promise;\r\n\r\n getOrganization: (id: string) => Promise;\r\n getOrganizationBilling: (id: string) => Promise;\r\n getOrganizationSubscription: (id: string) => Promise;\r\n getOrganizationLicense: (id: string, installationId: string) => Promise;\r\n getOrganizationTaxInfo: (id: string) => Promise;\r\n postOrganization: (request: OrganizationCreateRequest) => Promise;\r\n putOrganization: (id: string, request: OrganizationUpdateRequest) => Promise;\r\n putOrganizationTaxInfo: (id: string, request: OrganizationTaxInfoUpdateRequest) => Promise;\r\n postLeaveOrganization: (id: string) => Promise;\r\n postOrganizationLicense: (data: FormData) => Promise;\r\n postOrganizationLicenseUpdate: (id: string, data: FormData) => Promise;\r\n postOrganizationApiKey: (id: string, request: PasswordVerificationRequest) => Promise;\r\n postOrganizationRotateApiKey: (id: string, request: PasswordVerificationRequest) => Promise;\r\n postOrganizationUpgrade: (id: string, request: OrganizationUpgradeRequest) => Promise;\r\n postOrganizationSeat: (id: string, request: SeatRequest) => Promise;\r\n postOrganizationStorage: (id: string, request: StorageRequest) => Promise;\r\n postOrganizationPayment: (id: string, request: PaymentRequest) => Promise;\r\n postOrganizationVerifyBank: (id: string, request: VerifyBankRequest) => Promise;\r\n postOrganizationCancel: (id: string) => Promise;\r\n postOrganizationReinstate: (id: string) => Promise;\r\n deleteOrganization: (id: string, request: PasswordVerificationRequest) => Promise;\r\n getPlans: () => Promise>;\r\n\r\n getEvents: (start: string, end: string, token: string) => Promise>;\r\n getEventsCipher: (id: string, start: string, end: string, token: string) => Promise>;\r\n getEventsOrganization: (id: string, start: string, end: string,\r\n token: string) => Promise>;\r\n getEventsOrganizationUser: (organizationId: string, id: string,\r\n start: string, end: string, token: string) => Promise>;\r\n postEventsCollect: (request: EventRequest[]) => Promise;\r\n\r\n deleteSsoUser: (organizationId: string) => Promise;\r\n getSsoUserIdentifier: () => Promise;\r\n\r\n getUserPublicKey: (id: string) => Promise;\r\n\r\n getHibpBreach: (username: string) => Promise;\r\n\r\n postBitPayInvoice: (request: BitPayInvoiceRequest) => Promise;\r\n postSetupPayment: () => Promise;\r\n\r\n getActiveBearerToken: () => Promise;\r\n fetch: (request: Request) => Promise;\r\n nativeFetch: (request: Request) => Promise;\r\n\r\n preValidateSso: (identifier: string) => Promise;\r\n}\r\n","import { OrganizationData } from '../models/data/organizationData';\r\nimport { Organization } from '../models/domain/organization';\r\n\r\nimport { KdfType } from '../enums/kdfType';\r\n\r\nexport abstract class UserService {\r\n setInformation: (userId: string, email: string, kdf: KdfType, kdfIterations: number) => Promise;\r\n setSecurityStamp: (stamp: string) => Promise;\r\n getUserId: () => Promise;\r\n getEmail: () => Promise;\r\n getSecurityStamp: () => Promise;\r\n getKdf: () => Promise;\r\n getKdfIterations: () => Promise;\r\n clear: () => Promise;\r\n isAuthenticated: () => Promise;\r\n canAccessPremium: () => Promise;\r\n getOrganization: (id: string) => Promise;\r\n getAllOrganizations: () => Promise;\r\n replaceOrganizations: (organizations: { [id: string]: OrganizationData; }) => Promise;\r\n clearOrganizations: (userId: string) => Promise;\r\n}\r\n","import {\r\n Pipe,\r\n PipeTransform,\r\n} from '@angular/core';\r\n\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\n\r\n@Pipe({\r\n name: 'i18n',\r\n})\r\nexport class I18nPipe implements PipeTransform {\r\n constructor(private i18nService: I18nService) { }\r\n\r\n transform(id: string, p1?: string, p2?: string, p3?: string): string {\r\n return this.i18nService.t(id, p1, p2, p3);\r\n }\r\n}\r\n","export abstract class MessagingService {\r\n send: (subscriber: string, arg?: any) => void;\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n Input,\r\n OnChanges,\r\n} from '@angular/core';\r\n\r\nimport { ValidationService } from '../services/validation.service';\r\n\r\n@Directive({\r\n selector: '[appApiAction]',\r\n})\r\nexport class ApiActionDirective implements OnChanges {\r\n @Input() appApiAction: Promise;\r\n\r\n constructor(private el: ElementRef, private validationService: ValidationService) { }\r\n\r\n ngOnChanges(changes: any) {\r\n if (this.appApiAction == null || this.appApiAction.then == null) {\r\n return;\r\n }\r\n\r\n this.el.nativeElement.loading = true;\r\n\r\n this.appApiAction.then((response: any) => {\r\n this.el.nativeElement.loading = false;\r\n }, (e: any) => {\r\n this.el.nativeElement.loading = false;\r\n this.validationService.showError(e);\r\n });\r\n }\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n Input,\r\n Renderer2,\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appA11yTitle]',\r\n})\r\nexport class A11yTitleDirective {\r\n @Input() set appA11yTitle(title: string) {\r\n this.title = title;\r\n }\r\n\r\n private title: string;\r\n\r\n constructor(private el: ElementRef, private renderer: Renderer2) { }\r\n\r\n ngOnInit() {\r\n if (!this.el.nativeElement.hasAttribute('title')) {\r\n this.renderer.setAttribute(this.el.nativeElement, 'title', this.title);\r\n }\r\n if (!this.el.nativeElement.hasAttribute('aria-label')) {\r\n this.renderer.setAttribute(this.el.nativeElement, 'aria-label', this.title);\r\n }\r\n }\r\n}\r\n","import { CipherType } from '../enums/cipherType';\r\nimport { UriMatchType } from '../enums/uriMatchType';\r\n\r\nimport { CipherData } from '../models/data/cipherData';\r\n\r\nimport { Cipher } from '../models/domain/cipher';\r\nimport { Field } from '../models/domain/field';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\n\r\nimport { CipherView } from '../models/view/cipherView';\r\nimport { FieldView } from '../models/view/fieldView';\r\n\r\nexport abstract class CipherService {\r\n decryptedCipherCache: CipherView[];\r\n\r\n clearCache: () => void;\r\n encrypt: (model: CipherView, key?: SymmetricCryptoKey, originalCipher?: Cipher) => Promise;\r\n encryptFields: (fieldsModel: FieldView[], key: SymmetricCryptoKey) => Promise;\r\n encryptField: (fieldModel: FieldView, key: SymmetricCryptoKey) => Promise;\r\n get: (id: string) => Promise;\r\n getAll: () => Promise;\r\n getAllDecrypted: () => Promise;\r\n getAllDecryptedForGrouping: (groupingId: string, folder?: boolean) => Promise;\r\n getAllDecryptedForUrl: (url: string, includeOtherTypes?: CipherType[],\r\n defaultMatch?: UriMatchType) => Promise;\r\n getAllFromApiForOrganization: (organizationId: string) => Promise;\r\n getLastUsedForUrl: (url: string) => Promise;\r\n getLastLaunchedForUrl: (url: string) => Promise;\r\n getNextCipherForUrl: (url: string) => Promise;\r\n updateLastUsedIndexForUrl: (url: string) => void;\r\n updateLastUsedDate: (id: string) => Promise;\r\n updateLastLaunchedDate: (id: string) => Promise;\r\n saveNeverDomain: (domain: string) => Promise;\r\n saveWithServer: (cipher: Cipher) => Promise;\r\n shareWithServer: (cipher: CipherView, organizationId: string, collectionIds: string[]) => Promise;\r\n shareManyWithServer: (ciphers: CipherView[], organizationId: string, collectionIds: string[]) => Promise;\r\n saveAttachmentWithServer: (cipher: Cipher, unencryptedFile: any, admin?: boolean) => Promise;\r\n saveAttachmentRawWithServer: (cipher: Cipher, filename: string, data: ArrayBuffer,\r\n admin?: boolean) => Promise;\r\n saveCollectionsWithServer: (cipher: Cipher) => Promise;\r\n upsert: (cipher: CipherData | CipherData[]) => Promise;\r\n replace: (ciphers: { [id: string]: CipherData; }) => Promise;\r\n clear: (userId: string) => Promise;\r\n moveManyWithServer: (ids: string[], folderId: string) => Promise;\r\n delete: (id: string | string[]) => Promise;\r\n deleteWithServer: (id: string) => Promise;\r\n deleteManyWithServer: (ids: string[]) => Promise;\r\n deleteAttachment: (id: string, attachmentId: string) => Promise;\r\n deleteAttachmentWithServer: (id: string, attachmentId: string) => Promise;\r\n sortCiphersByLastUsed: (a: any, b: any) => number;\r\n sortCiphersByLastUsedThenName: (a: any, b: any) => number;\r\n getLocaleSortingFunction: () => (a: CipherView, b: CipherView) => number;\r\n softDelete: (id: string | string[]) => Promise;\r\n softDeleteWithServer: (id: string) => Promise;\r\n softDeleteManyWithServer: (ids: string[]) => Promise;\r\n restore: (id: string | string[]) => Promise;\r\n restoreWithServer: (id: string) => Promise;\r\n restoreManyWithServer: (ids: string[]) => Promise;\r\n}\r\n","import { CipherString } from '../models/domain/cipherString';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\n\r\nimport { ProfileOrganizationResponse } from '../models/response/profileOrganizationResponse';\r\n\r\nimport { KdfType } from '../enums/kdfType';\r\n\r\nexport abstract class CryptoService {\r\n setKey: (key: SymmetricCryptoKey) => Promise;\r\n setKeyHash: (keyHash: string) => Promise<{}>;\r\n setEncKey: (encKey: string) => Promise<{}>;\r\n setEncPrivateKey: (encPrivateKey: string) => Promise<{}>;\r\n setOrgKeys: (orgs: ProfileOrganizationResponse[]) => Promise<{}>;\r\n getKey: () => Promise;\r\n getKeyHash: () => Promise;\r\n getEncKey: (key?: SymmetricCryptoKey) => Promise;\r\n getPublicKey: () => Promise;\r\n getPrivateKey: () => Promise;\r\n getFingerprint: (userId: string, publicKey?: ArrayBuffer) => Promise;\r\n getOrgKeys: () => Promise>;\r\n getOrgKey: (orgId: string) => Promise;\r\n hasKey: () => Promise;\r\n hasEncKey: () => Promise;\r\n clearKey: () => Promise;\r\n clearKeyHash: () => Promise;\r\n clearEncKey: (memoryOnly?: boolean) => Promise;\r\n clearKeyPair: (memoryOnly?: boolean) => Promise;\r\n clearOrgKeys: (memoryOnly?: boolean) => Promise;\r\n clearPinProtectedKey: () => Promise;\r\n clearKeys: () => Promise;\r\n toggleKey: () => Promise;\r\n makeKey: (password: string, salt: string, kdf: KdfType, kdfIterations: number) => Promise;\r\n makeKeyFromPin: (pin: string, salt: string, kdf: KdfType, kdfIterations: number,\r\n protectedKeyCs?: CipherString) => Promise;\r\n makeShareKey: () => Promise<[CipherString, SymmetricCryptoKey]>;\r\n makeKeyPair: (key?: SymmetricCryptoKey) => Promise<[string, CipherString]>;\r\n makePinKey: (pin: string, salt: string, kdf: KdfType, kdfIterations: number) => Promise;\r\n makeSendKey: (keyMaterial: ArrayBuffer) => Promise;\r\n hashPassword: (password: string, key: SymmetricCryptoKey) => Promise;\r\n makeEncKey: (key: SymmetricCryptoKey) => Promise<[SymmetricCryptoKey, CipherString]>;\r\n remakeEncKey: (key: SymmetricCryptoKey) => Promise<[SymmetricCryptoKey, CipherString]>;\r\n encrypt: (plainValue: string | ArrayBuffer, key?: SymmetricCryptoKey) => Promise;\r\n encryptToBytes: (plainValue: ArrayBuffer, key?: SymmetricCryptoKey) => Promise;\r\n rsaEncrypt: (data: ArrayBuffer, publicKey?: ArrayBuffer) => Promise;\r\n decryptToBytes: (cipherString: CipherString, key?: SymmetricCryptoKey) => Promise;\r\n decryptToUtf8: (cipherString: CipherString, key?: SymmetricCryptoKey) => Promise;\r\n decryptFromBytes: (encBuf: ArrayBuffer, key: SymmetricCryptoKey) => Promise;\r\n randomNumber: (min: number, max: number) => Promise;\r\n}\r\n","import * as papa from 'papaparse';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CipherView } from '../models/view/cipherView';\r\nimport { CollectionView } from '../models/view/collectionView';\r\nimport { LoginUriView } from '../models/view/loginUriView';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nimport { FieldView } from '../models/view/fieldView';\r\nimport { FolderView } from '../models/view/folderView';\r\nimport { LoginView } from '../models/view/loginView';\r\nimport { SecureNoteView } from '../models/view/secureNoteView';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { FieldType } from '../enums/fieldType';\r\nimport { SecureNoteType } from '../enums/secureNoteType';\r\n\r\nexport abstract class BaseImporter {\r\n organization = false;\r\n\r\n protected newLineRegex = /(?:\\r\\n|\\r|\\n)/;\r\n\r\n protected passwordFieldNames = [\r\n 'password', 'pass word', 'passphrase', 'pass phrase',\r\n 'pass', 'code', 'code word', 'codeword',\r\n 'secret', 'secret word', 'personpwd',\r\n 'key', 'keyword', 'key word', 'keyphrase', 'key phrase',\r\n 'form_pw', 'wppassword', 'pin', 'pwd', 'pw', 'pword', 'passwd',\r\n 'p', 'serial', 'serial#', 'license key', 'reg #',\r\n\r\n // Non-English names\r\n 'passwort',\r\n ];\r\n\r\n protected usernameFieldNames = [\r\n 'user', 'name', 'user name', 'username', 'login name',\r\n 'email', 'e-mail', 'id', 'userid', 'user id',\r\n 'login', 'form_loginname', 'wpname', 'mail',\r\n 'loginid', 'login id', 'log', 'personlogin',\r\n 'first name', 'last name', 'card#', 'account #',\r\n 'member', 'member #',\r\n\r\n // Non-English names\r\n 'nom', 'benutzername',\r\n ];\r\n\r\n protected notesFieldNames = [\r\n 'note', 'notes', 'comment', 'comments', 'memo',\r\n 'description', 'free form', 'freeform',\r\n 'free text', 'freetext', 'free',\r\n\r\n // Non-English names\r\n 'kommentar',\r\n ];\r\n\r\n protected uriFieldNames: string[] = [\r\n 'url', 'hyper link', 'hyperlink', 'link',\r\n 'host', 'hostname', 'host name', 'server', 'address',\r\n 'hyper ref', 'href', 'web', 'website', 'web site', 'site',\r\n 'web-site', 'uri',\r\n\r\n // Non-English names\r\n 'ort', 'adresse',\r\n ];\r\n\r\n protected parseXml(data: string): Document {\r\n const parser = new DOMParser();\r\n const doc = parser.parseFromString(data, 'application/xml');\r\n return doc != null && doc.querySelector('parsererror') == null ? doc : null;\r\n }\r\n\r\n protected parseCsv(data: string, header: boolean): any[] {\r\n data = this.splitNewLine(data).join('\\n').trim();\r\n const result = papa.parse(data, {\r\n header: header,\r\n encoding: 'UTF-8',\r\n skipEmptyLines: false,\r\n });\r\n if (result.errors != null && result.errors.length > 0) {\r\n result.errors.forEach((e) => {\r\n if (e.row != null) {\r\n // tslint:disable-next-line\r\n console.warn('Error parsing row ' + e.row + ': ' + e.message);\r\n }\r\n });\r\n }\r\n return result.data && result.data.length > 0 ? result.data : null;\r\n }\r\n\r\n protected parseSingleRowCsv(rowData: string) {\r\n if (this.isNullOrWhitespace(rowData)) {\r\n return null;\r\n }\r\n const parsedRow = this.parseCsv(rowData, false);\r\n if (parsedRow != null && parsedRow.length > 0 && parsedRow[0].length > 0) {\r\n return parsedRow[0];\r\n }\r\n return null;\r\n }\r\n\r\n protected makeUriArray(uri: string | string[]): LoginUriView[] {\r\n if (uri == null) {\r\n return null;\r\n }\r\n\r\n if (typeof uri === 'string') {\r\n const loginUri = new LoginUriView();\r\n loginUri.uri = this.fixUri(uri);\r\n if (this.isNullOrWhitespace(loginUri.uri)) {\r\n return null;\r\n }\r\n loginUri.match = null;\r\n return [loginUri];\r\n }\r\n\r\n if (uri.length > 0) {\r\n const returnArr: LoginUriView[] = [];\r\n uri.forEach((u) => {\r\n const loginUri = new LoginUriView();\r\n loginUri.uri = this.fixUri(u);\r\n if (this.isNullOrWhitespace(loginUri.uri)) {\r\n return;\r\n }\r\n loginUri.match = null;\r\n returnArr.push(loginUri);\r\n });\r\n return returnArr.length === 0 ? null : returnArr;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n protected fixUri(uri: string) {\r\n if (uri == null) {\r\n return null;\r\n }\r\n uri = uri.trim();\r\n if (uri.indexOf('://') === -1 && uri.indexOf('.') >= 0) {\r\n uri = 'http://' + uri;\r\n }\r\n if (uri.length > 1000) {\r\n return uri.substring(0, 1000);\r\n }\r\n return uri;\r\n }\r\n\r\n protected nameFromUrl(url: string) {\r\n const hostname = Utils.getHostname(url);\r\n if (this.isNullOrWhitespace(hostname)) {\r\n return null;\r\n }\r\n return hostname.startsWith('www.') ? hostname.replace('www.', '') : hostname;\r\n }\r\n\r\n protected isNullOrWhitespace(str: string): boolean {\r\n return Utils.isNullOrWhitespace(str);\r\n }\r\n\r\n protected getValueOrDefault(str: string, defaultValue: string = null): string {\r\n if (this.isNullOrWhitespace(str)) {\r\n return defaultValue;\r\n }\r\n return str;\r\n }\r\n\r\n protected splitNewLine(str: string): string[] {\r\n return str.split(this.newLineRegex);\r\n }\r\n\r\n // ref https://stackoverflow.com/a/5911300\r\n protected getCardBrand(cardNum: string) {\r\n if (this.isNullOrWhitespace(cardNum)) {\r\n return null;\r\n }\r\n\r\n // Visa\r\n let re = new RegExp('^4');\r\n if (cardNum.match(re) != null) {\r\n return 'Visa';\r\n }\r\n\r\n // Mastercard\r\n // Updated for Mastercard 2017 BINs expansion\r\n if (/^(5[1-5][0-9]{14}|2(22[1-9][0-9]{12}|2[3-9][0-9]{13}|[3-6][0-9]{14}|7[0-1][0-9]{13}|720[0-9]{12}))$/\r\n .test(cardNum)) {\r\n return 'Mastercard';\r\n }\r\n\r\n // AMEX\r\n re = new RegExp('^3[47]');\r\n if (cardNum.match(re) != null) {\r\n return 'Amex';\r\n }\r\n\r\n // Discover\r\n re = new RegExp('^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)');\r\n if (cardNum.match(re) != null) {\r\n return 'Discover';\r\n }\r\n\r\n // Diners\r\n re = new RegExp('^36');\r\n if (cardNum.match(re) != null) {\r\n return 'Diners Club';\r\n }\r\n\r\n // Diners - Carte Blanche\r\n re = new RegExp('^30[0-5]');\r\n if (cardNum.match(re) != null) {\r\n return 'Diners Club';\r\n }\r\n\r\n // JCB\r\n re = new RegExp('^35(2[89]|[3-8][0-9])');\r\n if (cardNum.match(re) != null) {\r\n return 'JCB';\r\n }\r\n\r\n // Visa Electron\r\n re = new RegExp('^(4026|417500|4508|4844|491(3|7))');\r\n if (cardNum.match(re) != null) {\r\n return 'Visa';\r\n }\r\n\r\n return null;\r\n }\r\n\r\n protected setCardExpiration(cipher: CipherView, expiration: string): boolean {\r\n if (!this.isNullOrWhitespace(expiration)) {\r\n const parts = expiration.split('/');\r\n if (parts.length === 2) {\r\n let month: string = null;\r\n let year: string = null;\r\n if (parts[0].length === 1 || parts[0].length === 2) {\r\n month = parts[0];\r\n if (month.length === 2 && month[0] === '0') {\r\n month = month.substr(1, 1);\r\n }\r\n }\r\n if (parts[1].length === 2 || parts[1].length === 4) {\r\n year = month.length === 2 ? '20' + parts[1] : parts[1];\r\n }\r\n if (month != null && year != null) {\r\n cipher.card.expMonth = month;\r\n cipher.card.expYear = year;\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n protected moveFoldersToCollections(result: ImportResult) {\r\n result.folderRelationships.forEach((r) => result.collectionRelationships.push(r));\r\n result.collections = result.folders.map((f) => {\r\n const collection = new CollectionView();\r\n collection.name = f.name;\r\n return collection;\r\n });\r\n result.folderRelationships = [];\r\n result.folders = [];\r\n }\r\n\r\n protected querySelectorDirectChild(parentEl: Element, query: string) {\r\n const els = this.querySelectorAllDirectChild(parentEl, query);\r\n return els.length === 0 ? null : els[0];\r\n }\r\n\r\n protected querySelectorAllDirectChild(parentEl: Element, query: string) {\r\n return Array.from(parentEl.querySelectorAll(query)).filter((el) => el.parentNode === parentEl);\r\n }\r\n\r\n protected initLoginCipher() {\r\n const cipher = new CipherView();\r\n cipher.favorite = false;\r\n cipher.notes = '';\r\n cipher.fields = [];\r\n cipher.login = new LoginView();\r\n cipher.type = CipherType.Login;\r\n return cipher;\r\n }\r\n\r\n protected cleanupCipher(cipher: CipherView) {\r\n if (cipher == null) {\r\n return;\r\n }\r\n if (cipher.type !== CipherType.Login) {\r\n cipher.login = null;\r\n }\r\n if (this.isNullOrWhitespace(cipher.name)) {\r\n cipher.name = '--';\r\n }\r\n if (this.isNullOrWhitespace(cipher.notes)) {\r\n cipher.notes = null;\r\n } else {\r\n cipher.notes = cipher.notes.trim();\r\n }\r\n if (cipher.fields != null && cipher.fields.length === 0) {\r\n cipher.fields = null;\r\n }\r\n }\r\n\r\n protected processKvp(cipher: CipherView, key: string, value: string, type: FieldType = FieldType.Text) {\r\n if (this.isNullOrWhitespace(value)) {\r\n return;\r\n }\r\n if (this.isNullOrWhitespace(key)) {\r\n key = '';\r\n }\r\n if (value.length > 200 || value.trim().search(this.newLineRegex) > -1) {\r\n if (cipher.notes == null) {\r\n cipher.notes = '';\r\n }\r\n cipher.notes += (key + ': ' + this.splitNewLine(value).join('\\n') + '\\n');\r\n } else {\r\n if (cipher.fields == null) {\r\n cipher.fields = [];\r\n }\r\n const field = new FieldView();\r\n field.type = type;\r\n field.name = key;\r\n field.value = value;\r\n cipher.fields.push(field);\r\n }\r\n }\r\n\r\n protected processFolder(result: ImportResult, folderName: string) {\r\n let folderIndex = result.folders.length;\r\n const hasFolder = !this.isNullOrWhitespace(folderName);\r\n let addFolder = hasFolder;\r\n\r\n if (hasFolder) {\r\n for (let i = 0; i < result.folders.length; i++) {\r\n if (result.folders[i].name === folderName) {\r\n addFolder = false;\r\n folderIndex = i;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (addFolder) {\r\n const f = new FolderView();\r\n f.name = folderName;\r\n result.folders.push(f);\r\n }\r\n if (hasFolder) {\r\n result.folderRelationships.push([result.ciphers.length, folderIndex]);\r\n }\r\n }\r\n\r\n protected convertToNoteIfNeeded(cipher: CipherView) {\r\n if (cipher.type === CipherType.Login && this.isNullOrWhitespace(cipher.login.username) &&\r\n this.isNullOrWhitespace(cipher.login.password) &&\r\n (cipher.login.uris == null || cipher.login.uris.length === 0)) {\r\n cipher.type = CipherType.SecureNote;\r\n cipher.secureNote = new SecureNoteView();\r\n cipher.secureNote.type = SecureNoteType.Generic;\r\n }\r\n }\r\n}\r\n","import { CipherView } from '../view/cipherView';\r\nimport { CollectionView } from '../view/collectionView';\r\nimport { FolderView } from '../view/folderView';\r\n\r\nexport class ImportResult {\r\n success = false;\r\n errorMessage: string;\r\n ciphers: CipherView[] = [];\r\n folders: FolderView[] = [];\r\n folderRelationships: [number, number][] = [];\r\n collections: CollectionView[] = [];\r\n collectionRelationships: [number, number][] = [];\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\n\r\n@Component({\r\n selector: 'app-callout',\r\n templateUrl: 'callout.component.html',\r\n})\r\nexport class CalloutComponent implements OnInit {\r\n @Input() type = 'info';\r\n @Input() icon: string;\r\n @Input() title: string;\r\n\r\n calloutStyle: string;\r\n\r\n constructor(private i18nService: I18nService) { }\r\n\r\n ngOnInit() {\r\n this.calloutStyle = this.type;\r\n\r\n if (this.type === 'warning' || this.type === 'danger') {\r\n if (this.type === 'danger') {\r\n this.calloutStyle = 'danger';\r\n }\r\n if (this.title === undefined) {\r\n this.title = this.i18nService.t('warning');\r\n }\r\n if (this.icon === undefined) {\r\n this.icon = 'fa-warning';\r\n }\r\n } else if (this.type === 'error') {\r\n this.calloutStyle = 'danger';\r\n if (this.title === undefined) {\r\n this.title = this.i18nService.t('error');\r\n }\r\n if (this.icon === undefined) {\r\n this.icon = 'fa-bolt';\r\n }\r\n } else if (this.type === 'tip') {\r\n this.calloutStyle = 'success';\r\n if (this.title === undefined) {\r\n this.title = this.i18nService.t('tip');\r\n }\r\n if (this.icon === undefined) {\r\n this.icon = 'fa-lightbulb-o';\r\n }\r\n }\r\n }\r\n}\r\n","
\r\n

\r\n \r\n {{title}}\r\n

\r\n \r\n
\r\n","export abstract class BaseResponse {\r\n private response: any;\r\n\r\n constructor(response: any) {\r\n this.response = response;\r\n }\r\n\r\n protected getResponseProperty(propertyName: string, response: any = null, exactName = false): any {\r\n if (propertyName == null || propertyName === '') {\r\n throw new Error('propertyName must not be null/empty.');\r\n }\r\n if (response == null && this.response != null) {\r\n response = this.response;\r\n }\r\n if (response == null) {\r\n return null;\r\n }\r\n if (!exactName && response[propertyName] === undefined) {\r\n let otherCasePropertyName: string = null;\r\n if (propertyName.charAt(0) === propertyName.charAt(0).toUpperCase()) {\r\n otherCasePropertyName = propertyName.charAt(0).toLowerCase();\r\n } else {\r\n otherCasePropertyName = propertyName.charAt(0).toUpperCase();\r\n }\r\n if (propertyName.length > 1) {\r\n otherCasePropertyName += propertyName.slice(1);\r\n }\r\n\r\n propertyName = otherCasePropertyName;\r\n if (response[propertyName] === undefined) {\r\n propertyName = propertyName.toLowerCase();\r\n }\r\n if (response[propertyName] === undefined) {\r\n propertyName = propertyName.toUpperCase();\r\n }\r\n }\r\n return response[propertyName];\r\n }\r\n}\r\n","import * as tldjs from 'tldjs';\r\n\r\nimport { I18nService } from '../abstractions/i18n.service';\r\n\r\n// tslint:disable-next-line\r\nconst nodeURL = typeof window === 'undefined' ? require('url') : null;\r\n\r\nexport class Utils {\r\n static inited = false;\r\n static isNativeScript = false;\r\n static isNode = false;\r\n static isBrowser = true;\r\n static isMobileBrowser = false;\r\n static isAppleMobileBrowser = false;\r\n static global: any = null;\r\n static tldEndingRegex = /.*\\.(com|net|org|edu|uk|gov|ca|de|jp|fr|au|ru|ch|io|es|us|co|xyz|info|ly|mil)$/;\r\n\r\n static init() {\r\n if (Utils.inited) {\r\n return;\r\n }\r\n\r\n Utils.inited = true;\r\n Utils.isNode = typeof process !== 'undefined' && (process as any).release != null &&\r\n (process as any).release.name === 'node';\r\n Utils.isBrowser = typeof window !== 'undefined';\r\n Utils.isNativeScript = !Utils.isNode && !Utils.isBrowser;\r\n Utils.isMobileBrowser = Utils.isBrowser && this.isMobile(window);\r\n Utils.isAppleMobileBrowser = Utils.isBrowser && this.isAppleMobile(window);\r\n Utils.global = Utils.isNativeScript ? global : (Utils.isNode && !Utils.isBrowser ? global : window);\r\n }\r\n\r\n static fromB64ToArray(str: string): Uint8Array {\r\n if (Utils.isNode || Utils.isNativeScript) {\r\n return new Uint8Array(Buffer.from(str, 'base64'));\r\n } else {\r\n const binaryString = window.atob(str);\r\n const bytes = new Uint8Array(binaryString.length);\r\n for (let i = 0; i < binaryString.length; i++) {\r\n bytes[i] = binaryString.charCodeAt(i);\r\n }\r\n return bytes;\r\n }\r\n }\r\n\r\n static fromUrlB64ToArray(str: string): Uint8Array {\r\n return Utils.fromB64ToArray(Utils.fromUrlB64ToB64(str));\r\n }\r\n\r\n static fromHexToArray(str: string): Uint8Array {\r\n if (Utils.isNode || Utils.isNativeScript) {\r\n return new Uint8Array(Buffer.from(str, 'hex'));\r\n } else {\r\n const bytes = new Uint8Array(str.length / 2);\r\n for (let i = 0; i < str.length; i += 2) {\r\n bytes[i / 2] = parseInt(str.substr(i, 2), 16);\r\n }\r\n return bytes;\r\n }\r\n }\r\n\r\n static fromUtf8ToArray(str: string): Uint8Array {\r\n if (Utils.isNode || Utils.isNativeScript) {\r\n return new Uint8Array(Buffer.from(str, 'utf8'));\r\n } else {\r\n const strUtf8 = unescape(encodeURIComponent(str));\r\n const arr = new Uint8Array(strUtf8.length);\r\n for (let i = 0; i < strUtf8.length; i++) {\r\n arr[i] = strUtf8.charCodeAt(i);\r\n }\r\n return arr;\r\n }\r\n }\r\n\r\n static fromByteStringToArray(str: string): Uint8Array {\r\n const arr = new Uint8Array(str.length);\r\n for (let i = 0; i < str.length; i++) {\r\n arr[i] = str.charCodeAt(i);\r\n }\r\n return arr;\r\n }\r\n\r\n static fromBufferToB64(buffer: ArrayBuffer): string {\r\n if (Utils.isNode || Utils.isNativeScript) {\r\n return Buffer.from(buffer).toString('base64');\r\n } else {\r\n let binary = '';\r\n const bytes = new Uint8Array(buffer);\r\n for (let i = 0; i < bytes.byteLength; i++) {\r\n binary += String.fromCharCode(bytes[i]);\r\n }\r\n return window.btoa(binary);\r\n }\r\n }\r\n\r\n static fromBufferToUrlB64(buffer: ArrayBuffer): string {\r\n return Utils.fromB64toUrlB64(Utils.fromBufferToB64(buffer))\r\n }\r\n\r\n static fromB64toUrlB64(b64Str: string) {\r\n return b64Str.replace(/\\+/g, '-')\r\n .replace(/\\//g, '_')\r\n .replace(/=/g, '');\r\n }\r\n\r\n static fromBufferToUtf8(buffer: ArrayBuffer): string {\r\n if (Utils.isNode || Utils.isNativeScript) {\r\n return Buffer.from(buffer).toString('utf8');\r\n } else {\r\n const bytes = new Uint8Array(buffer);\r\n const encodedString = String.fromCharCode.apply(null, bytes);\r\n return decodeURIComponent(escape(encodedString));\r\n }\r\n }\r\n\r\n static fromBufferToByteString(buffer: ArrayBuffer): string {\r\n return String.fromCharCode.apply(null, new Uint8Array(buffer));\r\n }\r\n\r\n // ref: https://stackoverflow.com/a/40031979/1090359\r\n static fromBufferToHex(buffer: ArrayBuffer): string {\r\n if (Utils.isNode || Utils.isNativeScript) {\r\n return Buffer.from(buffer).toString('hex');\r\n } else {\r\n const bytes = new Uint8Array(buffer);\r\n return Array.prototype.map.call(bytes, (x: number) => ('00' + x.toString(16)).slice(-2)).join('');\r\n }\r\n }\r\n\r\n static fromUrlB64ToB64(urlB64Str: string): string {\r\n let output = urlB64Str.replace(/-/g, '+').replace(/_/g, '/');\r\n switch (output.length % 4) {\r\n case 0:\r\n break;\r\n case 2:\r\n output += '==';\r\n break;\r\n case 3:\r\n output += '=';\r\n break;\r\n default:\r\n throw new Error('Illegal base64url string!');\r\n }\r\n\r\n return output;\r\n }\r\n\r\n static fromUrlB64ToUtf8(urlB64Str: string): string {\r\n return Utils.fromB64ToUtf8(Utils.fromUrlB64ToB64(urlB64Str));\r\n }\r\n\r\n static fromB64ToUtf8(b64Str: string): string {\r\n if (Utils.isNode || Utils.isNativeScript) {\r\n return Buffer.from(b64Str, 'base64').toString('utf8');\r\n } else {\r\n return decodeURIComponent(escape(window.atob(b64Str)));\r\n }\r\n }\r\n\r\n // ref: http://stackoverflow.com/a/2117523/1090359\r\n static newGuid(): string {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\r\n // tslint:disable-next-line\r\n const r = Math.random() * 16 | 0;\r\n // tslint:disable-next-line\r\n const v = c === 'x' ? r : (r & 0x3 | 0x8);\r\n return v.toString(16);\r\n });\r\n }\r\n\r\n static isGuid(id: string) {\r\n return RegExp(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/, 'i').test(id);\r\n }\r\n\r\n static getHostname(uriString: string): string {\r\n const url = Utils.getUrl(uriString);\r\n try {\r\n return url != null && url.hostname !== '' ? url.hostname : null;\r\n } catch {\r\n return null;\r\n }\r\n }\r\n\r\n static getHost(uriString: string): string {\r\n const url = Utils.getUrl(uriString);\r\n try {\r\n return url != null && url.host !== '' ? url.host : null;\r\n } catch {\r\n return null;\r\n }\r\n }\r\n\r\n static getDomain(uriString: string): string {\r\n if (uriString == null) {\r\n return null;\r\n }\r\n\r\n uriString = uriString.trim();\r\n if (uriString === '') {\r\n return null;\r\n }\r\n\r\n if (uriString.startsWith('data:')) {\r\n return null;\r\n }\r\n\r\n let httpUrl = uriString.startsWith('http://') || uriString.startsWith('https://');\r\n if (!httpUrl && uriString.indexOf('://') < 0 && Utils.tldEndingRegex.test(uriString)) {\r\n uriString = 'http://' + uriString;\r\n httpUrl = true;\r\n }\r\n\r\n if (httpUrl) {\r\n try {\r\n const url = Utils.getUrlObject(uriString);\r\n if (url.hostname === 'localhost' || Utils.validIpAddress(url.hostname)) {\r\n return url.hostname;\r\n }\r\n\r\n const urlDomain = tldjs != null && tldjs.getDomain != null ? tldjs.getDomain(url.hostname) : null;\r\n return urlDomain != null ? urlDomain : url.hostname;\r\n } catch (e) { }\r\n }\r\n\r\n try {\r\n const domain = tldjs != null && tldjs.getDomain != null ? tldjs.getDomain(uriString) : null;\r\n\r\n if (domain != null) {\r\n return domain;\r\n }\r\n } catch {\r\n return null;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n static getQueryParams(uriString: string): Map {\r\n const url = Utils.getUrl(uriString);\r\n if (url == null || url.search == null || url.search === '') {\r\n return null;\r\n }\r\n const map = new Map();\r\n const pairs = (url.search[0] === '?' ? url.search.substr(1) : url.search).split('&');\r\n pairs.forEach((pair) => {\r\n const parts = pair.split('=');\r\n if (parts.length < 1) {\r\n return;\r\n }\r\n map.set(decodeURIComponent(parts[0]).toLowerCase(), parts[1] == null ? '' : decodeURIComponent(parts[1]));\r\n });\r\n return map;\r\n }\r\n\r\n static getSortFunction(i18nService: I18nService, prop: string) {\r\n return (a: any, b: any) => {\r\n if (a[prop] == null && b[prop] != null) {\r\n return -1;\r\n }\r\n if (a[prop] != null && b[prop] == null) {\r\n return 1;\r\n }\r\n if (a[prop] == null && b[prop] == null) {\r\n return 0;\r\n }\r\n\r\n return i18nService.collator ? i18nService.collator.compare(a[prop], b[prop]) :\r\n a[prop].localeCompare(b[prop]);\r\n };\r\n }\r\n\r\n static isNullOrWhitespace(str: string): boolean {\r\n return str == null || typeof str !== 'string' || str.trim() === '';\r\n }\r\n\r\n private static validIpAddress(ipString: string): boolean {\r\n // tslint:disable-next-line\r\n const ipRegex = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;\r\n return ipRegex.test(ipString);\r\n }\r\n\r\n private static isMobile(win: Window) {\r\n let mobile = false;\r\n ((a) => {\r\n // tslint:disable-next-line\r\n if (/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(a.substr(0, 4))) {\r\n mobile = true;\r\n }\r\n })(win.navigator.userAgent || win.navigator.vendor || (win as any).opera);\r\n return mobile || win.navigator.userAgent.match(/iPad/i) != null;\r\n }\r\n\r\n private static isAppleMobile(win: Window) {\r\n return win.navigator.userAgent.match(/iPhone/i) != null || win.navigator.userAgent.match(/iPad/i) != null;\r\n }\r\n\r\n private static getUrl(uriString: string): URL {\r\n if (uriString == null) {\r\n return null;\r\n }\r\n\r\n uriString = uriString.trim();\r\n if (uriString === '') {\r\n return null;\r\n }\r\n\r\n let url = Utils.getUrlObject(uriString);\r\n if (url == null) {\r\n const hasHttpProtocol = uriString.indexOf('http://') === 0 || uriString.indexOf('https://') === 0;\r\n if (!hasHttpProtocol && uriString.indexOf('.') > -1) {\r\n url = Utils.getUrlObject('http://' + uriString);\r\n }\r\n }\r\n return url;\r\n }\r\n\r\n private static getUrlObject(uriString: string): URL {\r\n try {\r\n if (nodeURL != null) {\r\n return nodeURL.URL ? new nodeURL.URL(uriString) : nodeURL.parse(uriString);\r\n } else if (typeof URL === 'function') {\r\n return new URL(uriString);\r\n } else if (window != null) {\r\n const hasProtocol = uriString.indexOf('://') > -1;\r\n if (!hasProtocol && uriString.indexOf('.') > -1) {\r\n uriString = 'http://' + uriString;\r\n } else if (!hasProtocol) {\r\n return null;\r\n }\r\n const anchor = window.document.createElement('a');\r\n anchor.href = uriString;\r\n return anchor as any;\r\n }\r\n } catch (e) { }\r\n\r\n return null;\r\n }\r\n}\r\n\r\nUtils.init();\r\n","import { GeneratedPasswordHistory } from '../models/domain/generatedPasswordHistory';\r\nimport { PasswordGeneratorPolicyOptions } from '../models/domain/passwordGeneratorPolicyOptions';\r\n\r\nexport abstract class PasswordGenerationService {\r\n generatePassword: (options: any) => Promise;\r\n generatePassphrase: (options: any) => Promise;\r\n getOptions: () => Promise<[any, PasswordGeneratorPolicyOptions]>;\r\n enforcePasswordGeneratorPoliciesOnOptions: (options: any) => Promise<[any, PasswordGeneratorPolicyOptions]>;\r\n getPasswordGeneratorPolicyOptions: () => Promise;\r\n saveOptions: (options: any) => Promise;\r\n getHistory: () => Promise;\r\n addHistory: (password: string) => Promise;\r\n clear: () => Promise;\r\n passwordStrength: (password: string, userInputs?: string[]) => zxcvbn.ZXCVBNResult;\r\n normalizeOptions: (options: any, enforcedPolicyOptions: PasswordGeneratorPolicyOptions) => void;\r\n}\r\n","import {\r\n Directive,\r\n HostListener,\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appStopClick]',\r\n})\r\nexport class StopClickDirective {\r\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\r\n $event.preventDefault();\r\n }\r\n}\r\n","export enum CipherType {\r\n Login = 1,\r\n SecureNote = 2,\r\n Card = 3,\r\n Identity = 4,\r\n}\r\n","export abstract class StateService {\r\n get: (key: string) => Promise;\r\n save: (key: string, obj: any) => Promise;\r\n remove: (key: string) => Promise;\r\n purge: () => Promise;\r\n}\r\n","import { CollectionData } from '../models/data/collectionData';\r\n\r\nimport { Collection } from '../models/domain/collection';\r\nimport { TreeNode } from '../models/domain/treeNode';\r\n\r\nimport { CollectionView } from '../models/view/collectionView';\r\n\r\nexport abstract class CollectionService {\r\n decryptedCollectionCache: CollectionView[];\r\n\r\n clearCache: () => void;\r\n encrypt: (model: CollectionView) => Promise;\r\n decryptMany: (collections: Collection[]) => Promise;\r\n get: (id: string) => Promise;\r\n getAll: () => Promise;\r\n getAllDecrypted: () => Promise;\r\n getAllNested: (collections?: CollectionView[]) => Promise[]>;\r\n getNested: (id: string) => Promise>;\r\n upsert: (collection: CollectionData | CollectionData[]) => Promise;\r\n replace: (collections: { [id: string]: CollectionData; }) => Promise;\r\n clear: (userId: string) => Promise;\r\n delete: (id: string | string[]) => Promise;\r\n}\r\n","export abstract class StorageService {\r\n get: (key: string) => Promise;\r\n save: (key: string, obj: any) => Promise;\r\n remove: (key: string) => Promise;\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n Input,\r\n Renderer2,\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appInputVerbatim]',\r\n})\r\nexport class InputVerbatimDirective {\r\n @Input() set appInputVerbatim(condition: boolean | string) {\r\n this.disableComplete = condition === '' || condition === true;\r\n }\r\n\r\n private disableComplete: boolean;\r\n\r\n constructor(private el: ElementRef, private renderer: Renderer2) { }\r\n\r\n ngOnInit() {\r\n if (this.disableComplete && !this.el.nativeElement.hasAttribute('autocomplete')) {\r\n this.renderer.setAttribute(this.el.nativeElement, 'autocomplete', 'off');\r\n }\r\n if (!this.el.nativeElement.hasAttribute('autocapitalize')) {\r\n this.renderer.setAttribute(this.el.nativeElement, 'autocapitalize', 'none');\r\n }\r\n if (!this.el.nativeElement.hasAttribute('autocorrect')) {\r\n this.renderer.setAttribute(this.el.nativeElement, 'autocorrect', 'none');\r\n }\r\n if (!this.el.nativeElement.hasAttribute('spellcheck')) {\r\n this.renderer.setAttribute(this.el.nativeElement, 'spellcheck', 'false');\r\n }\r\n if (!this.el.nativeElement.hasAttribute('inputmode')) {\r\n this.renderer.setAttribute(this.el.nativeElement, 'inputmode', 'verbatim');\r\n }\r\n }\r\n}\r\n","import { FolderData } from '../models/data/folderData';\r\n\r\nimport { Folder } from '../models/domain/folder';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\nimport { TreeNode } from '../models/domain/treeNode';\r\n\r\nimport { FolderView } from '../models/view/folderView';\r\n\r\nexport abstract class FolderService {\r\n decryptedFolderCache: FolderView[];\r\n\r\n clearCache: () => void;\r\n encrypt: (model: FolderView, key?: SymmetricCryptoKey) => Promise;\r\n get: (id: string) => Promise;\r\n getAll: () => Promise;\r\n getAllDecrypted: () => Promise;\r\n getAllNested: () => Promise[]>;\r\n getNested: (id: string) => Promise>;\r\n saveWithServer: (folder: Folder) => Promise;\r\n upsert: (folder: FolderData | FolderData[]) => Promise;\r\n replace: (folders: { [id: string]: FolderData; }) => Promise;\r\n clear: (userId: string) => Promise;\r\n delete: (id: string | string[]) => Promise;\r\n deleteWithServer: (id: string) => Promise;\r\n}\r\n","import {\r\n Directive,\r\n HostListener,\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appStopProp]',\r\n})\r\nexport class StopPropDirective {\r\n @HostListener('click', ['$event']) onClick($event: MouseEvent) {\r\n $event.stopPropagation();\r\n }\r\n}\r\n","import { TwoFactorProviderType } from '../enums/twoFactorProviderType';\r\n\r\nimport { AuthResult } from '../models/domain/authResult';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\n\r\nexport abstract class AuthService {\r\n email: string;\r\n masterPasswordHash: string;\r\n code: string;\r\n codeVerifier: string;\r\n ssoRedirectUrl: string;\r\n clientId: string;\r\n clientSecret: string;\r\n twoFactorProvidersData: Map;\r\n selectedTwoFactorProviderType: TwoFactorProviderType;\r\n\r\n logIn: (email: string, masterPassword: string) => Promise;\r\n logInSso: (code: string, codeVerifier: string, redirectUrl: string) => Promise;\r\n logInApiKey: (clientId: string, clientSecret: string) => Promise;\r\n logInTwoFactor: (twoFactorProvider: TwoFactorProviderType, twoFactorToken: string,\r\n remember?: boolean) => Promise;\r\n logInComplete: (email: string, masterPassword: string, twoFactorProvider: TwoFactorProviderType,\r\n twoFactorToken: string, remember?: boolean) => Promise;\r\n logInSsoComplete: (code: string, codeVerifier: string, redirectUrl: string,\r\n twoFactorProvider: TwoFactorProviderType, twoFactorToken: string, remember?: boolean) => Promise;\r\n logInApiKeyComplete: (clientId: string, clientSecret: string, twoFactorProvider: TwoFactorProviderType,\r\n twoFactorToken: string, remember?: boolean) => Promise;\r\n logOut: (callback: Function) => void;\r\n getSupportedTwoFactorProviders: (win: Window) => any[];\r\n getDefaultTwoFactorProvider: (u2fSupported: boolean) => TwoFactorProviderType;\r\n makePreloginKey: (masterPassword: string, email: string) => Promise;\r\n authingWithApiKey: () => boolean;\r\n authingWithSso: () => boolean;\r\n authingWithPassword: () => boolean;\r\n}\r\n","import {\r\n SyncCipherNotification,\r\n SyncFolderNotification,\r\n} from '../models/response/notificationResponse';\r\n\r\nexport abstract class SyncService {\r\n syncInProgress: boolean;\r\n\r\n getLastSync: () => Promise;\r\n setLastSync: (date: Date) => Promise;\r\n fullSync: (forceSync: boolean, allowThrowOnError?: boolean) => Promise;\r\n syncUpsertFolder: (notification: SyncFolderNotification, isEdit: boolean) => Promise;\r\n syncDeleteFolder: (notification: SyncFolderNotification) => Promise;\r\n syncUpsertCipher: (notification: SyncCipherNotification, isEdit: boolean) => Promise;\r\n syncDeleteCipher: (notification: SyncFolderNotification) => Promise;\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n Input,\r\n} from '@angular/core';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\n@Directive({\r\n selector: '[appAutofocus]',\r\n})\r\nexport class AutofocusDirective {\r\n @Input() set appAutofocus(condition: boolean | string) {\r\n this.autofocus = condition === '' || condition === true;\r\n }\r\n\r\n private autofocus: boolean;\r\n\r\n constructor(private el: ElementRef) { }\r\n\r\n ngOnInit() {\r\n if (!Utils.isMobileBrowser && this.autofocus) {\r\n this.el.nativeElement.focus();\r\n }\r\n }\r\n}\r\n","export abstract class EnvironmentService {\r\n baseUrl: string;\r\n webVaultUrl: string;\r\n apiUrl: string;\r\n identityUrl: string;\r\n iconsUrl: string;\r\n notificationsUrl: string;\r\n eventsUrl: string;\r\n enterpriseUrl: string;\r\n\r\n getWebVaultUrl: () => string;\r\n setUrlsFromStorage: () => Promise;\r\n setUrls: (urls: any) => Promise;\r\n}\r\n","export class ConstantsService {\r\n static readonly environmentUrlsKey: string = 'environmentUrls';\r\n static readonly disableGaKey: string = 'disableGa';\r\n static readonly disableAddLoginNotificationKey: string = 'disableAddLoginNotification';\r\n static readonly disableChangedPasswordNotificationKey: string = 'disableChangedPasswordNotification';\r\n static readonly disableContextMenuItemKey: string = 'disableContextMenuItem';\r\n static readonly disableFaviconKey: string = 'disableFavicon';\r\n static readonly disableAutoTotpCopyKey: string = 'disableAutoTotpCopy';\r\n static readonly enableAutoFillOnPageLoadKey: string = 'enableAutoFillOnPageLoad';\r\n static readonly vaultTimeoutKey: string = 'lockOption';\r\n static readonly vaultTimeoutActionKey: string = 'vaultTimeoutAction';\r\n static readonly lastActiveKey: string = 'lastActive';\r\n static readonly neverDomainsKey: string = 'neverDomains';\r\n static readonly installedVersionKey: string = 'installedVersion';\r\n static readonly localeKey: string = 'locale';\r\n static readonly themeKey: string = 'theme';\r\n static readonly collapsedGroupingsKey: string = 'collapsedGroupings';\r\n static readonly autoConfirmFingerprints: string = 'autoConfirmFingerprints';\r\n static readonly dontShowCardsCurrentTab: string = 'dontShowCardsCurrentTab';\r\n static readonly dontShowIdentitiesCurrentTab: string = 'dontShowIdentitiesCurrentTab';\r\n static readonly defaultUriMatch: string = 'defaultUriMatch';\r\n static readonly pinProtectedKey: string = 'pinProtectedKey';\r\n static readonly protectedPin: string = 'protectedPin';\r\n static readonly clearClipboardKey: string = 'clearClipboardKey';\r\n static readonly eventCollectionKey: string = 'eventCollection';\r\n static readonly ssoCodeVerifierKey: string = 'ssoCodeVerifier';\r\n static readonly ssoStateKey: string = 'ssoState';\r\n static readonly biometricUnlockKey: string = 'biometric';\r\n static readonly biometricText: string = 'biometricText';\r\n static readonly biometricAwaitingAcceptance: string = 'biometricAwaitingAcceptance';\r\n\r\n readonly environmentUrlsKey: string = ConstantsService.environmentUrlsKey;\r\n readonly disableGaKey: string = ConstantsService.disableGaKey;\r\n readonly disableAddLoginNotificationKey: string = ConstantsService.disableAddLoginNotificationKey;\r\n readonly disableContextMenuItemKey: string = ConstantsService.disableContextMenuItemKey;\r\n readonly disableFaviconKey: string = ConstantsService.disableFaviconKey;\r\n readonly disableAutoTotpCopyKey: string = ConstantsService.disableAutoTotpCopyKey;\r\n readonly enableAutoFillOnPageLoadKey: string = ConstantsService.enableAutoFillOnPageLoadKey;\r\n readonly vaultTimeoutKey: string = ConstantsService.vaultTimeoutKey;\r\n readonly vaultTimeoutActionKey: string = ConstantsService.vaultTimeoutActionKey;\r\n readonly lastActiveKey: string = ConstantsService.lastActiveKey;\r\n readonly neverDomainsKey: string = ConstantsService.neverDomainsKey;\r\n readonly installedVersionKey: string = ConstantsService.installedVersionKey;\r\n readonly localeKey: string = ConstantsService.localeKey;\r\n readonly themeKey: string = ConstantsService.themeKey;\r\n readonly collapsedGroupingsKey: string = ConstantsService.collapsedGroupingsKey;\r\n readonly autoConfirmFingerprints: string = ConstantsService.autoConfirmFingerprints;\r\n readonly dontShowCardsCurrentTab: string = ConstantsService.dontShowCardsCurrentTab;\r\n readonly dontShowIdentitiesCurrentTab: string = ConstantsService.dontShowIdentitiesCurrentTab;\r\n readonly defaultUriMatch: string = ConstantsService.defaultUriMatch;\r\n readonly pinProtectedKey: string = ConstantsService.pinProtectedKey;\r\n readonly protectedPin: string = ConstantsService.protectedPin;\r\n readonly clearClipboardKey: string = ConstantsService.clearClipboardKey;\r\n readonly eventCollectionKey: string = ConstantsService.eventCollectionKey;\r\n readonly ssoCodeVerifierKey: string = ConstantsService.ssoCodeVerifierKey;\r\n readonly ssoStateKey: string = ConstantsService.ssoStateKey;\r\n readonly biometricUnlockKey: string = ConstantsService.biometricUnlockKey;\r\n readonly biometricText: string = ConstantsService.biometricText;\r\n readonly biometricAwaitingAcceptance: string = ConstantsService.biometricAwaitingAcceptance;\r\n}\r\n","export class PasswordVerificationRequest {\r\n masterPasswordHash: string;\r\n}\r\n","import { EventType } from '../enums/eventType';\r\n\r\nexport abstract class EventService {\r\n collect: (eventType: EventType, cipherId?: string, uploadImmediately?: boolean) => Promise;\r\n uploadEvents: () => Promise;\r\n clearEvents: () => Promise;\r\n}\r\n","import { CipherString } from './cipherString';\r\n\r\nimport { View } from '../view/view';\r\n\r\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\r\n\r\nexport default class Domain {\r\n protected buildDomainModel(domain: D, dataObj: any, map: any,\r\n alreadyEncrypted: boolean, notEncList: any[] = []) {\r\n for (const prop in map) {\r\n if (!map.hasOwnProperty(prop)) {\r\n continue;\r\n }\r\n\r\n const objProp = dataObj[(map[prop] || prop)];\r\n if (alreadyEncrypted === true || notEncList.indexOf(prop) > -1) {\r\n (domain as any)[prop] = objProp ? objProp : null;\r\n } else {\r\n (domain as any)[prop] = objProp ? new CipherString(objProp) : null;\r\n }\r\n }\r\n }\r\n protected buildDataModel(domain: D, dataObj: any, map: any, notCipherStringList: any[] = []) {\r\n for (const prop in map) {\r\n if (!map.hasOwnProperty(prop)) {\r\n continue;\r\n }\r\n\r\n const objProp = (domain as any)[(map[prop] || prop)];\r\n if (notCipherStringList.indexOf(prop) > -1) {\r\n (dataObj as any)[prop] = objProp != null ? objProp : null;\r\n } else {\r\n (dataObj as any)[prop] = objProp != null ? (objProp as CipherString).encryptedString : null;\r\n }\r\n }\r\n }\r\n\r\n protected async decryptObj(viewModel: T, map: any, orgId: string,\r\n key: SymmetricCryptoKey = null): Promise {\r\n const promises = [];\r\n const self: any = this;\r\n\r\n for (const prop in map) {\r\n if (!map.hasOwnProperty(prop)) {\r\n continue;\r\n }\r\n\r\n // tslint:disable-next-line\r\n (function (theProp) {\r\n const p = Promise.resolve().then(() => {\r\n const mapProp = map[theProp] || theProp;\r\n if (self[mapProp]) {\r\n return self[mapProp].decrypt(orgId, key);\r\n }\r\n return null;\r\n }).then((val: any) => {\r\n (viewModel as any)[theProp] = val;\r\n });\r\n promises.push(p);\r\n })(prop);\r\n }\r\n\r\n await Promise.all(promises);\r\n return viewModel;\r\n }\r\n}\r\n","import { PolicyData } from '../models/data/policyData';\r\n\r\nimport { MasterPasswordPolicyOptions } from '../models/domain/masterPasswordPolicyOptions';\r\nimport { Policy } from '../models/domain/policy';\r\n\r\nimport { PolicyType } from '../enums/policyType';\r\n\r\nexport abstract class PolicyService {\r\n policyCache: Policy[];\r\n\r\n clearCache: () => void;\r\n getAll: (type?: PolicyType) => Promise;\r\n replace: (policies: { [id: string]: PolicyData; }) => Promise;\r\n clear: (userId: string) => Promise;\r\n getMasterPasswordPolicyOptions: (policies?: Policy[]) => Promise;\r\n evaluateMasterPassword: (passwordStrength: number, newPassword: string,\r\n enforcedPolicyOptions?: MasterPasswordPolicyOptions) => boolean;\r\n}\r\n","import { CipherView } from '../models/view/cipherView';\r\n\r\nexport abstract class SearchService {\r\n clearIndex: () => void;\r\n isSearchable: (query: string) => boolean;\r\n indexCiphers: () => Promise;\r\n searchCiphers: (query: string,\r\n filter?: ((cipher: CipherView) => boolean) | (((cipher: CipherView) => boolean)[]),\r\n ciphers?: CipherView[]) => Promise;\r\n searchCiphersBasic: (ciphers: CipherView[], query: string, deleted?: boolean) => CipherView[];\r\n}\r\n","import { View } from './view';\r\n\r\nimport { Card } from '../domain/card';\r\n\r\nexport class CardView implements View {\r\n cardholderName: string = null;\r\n expMonth: string = null;\r\n expYear: string = null;\r\n code: string = null;\r\n\r\n // tslint:disable\r\n private _brand: string = null;\r\n private _number: string = null;\r\n private _subTitle: string = null;\r\n // tslint:enable\r\n\r\n constructor(c?: Card) {\r\n // ctor\r\n }\r\n\r\n get maskedCode(): string {\r\n return this.code != null ? '•'.repeat(this.code.length) : null;\r\n }\r\n\r\n get brand(): string {\r\n return this._brand;\r\n }\r\n set brand(value: string) {\r\n this._brand = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get number(): string {\r\n return this._number;\r\n }\r\n set number(value: string) {\r\n this._number = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get subTitle(): string {\r\n if (this._subTitle == null) {\r\n this._subTitle = this.brand;\r\n if (this.number != null && this.number.length >= 4) {\r\n if (this._subTitle != null && this._subTitle !== '') {\r\n this._subTitle += ', ';\r\n } else {\r\n this._subTitle = '';\r\n }\r\n\r\n // Show last 5 on amex, last 4 for all others\r\n const count = this.number.length >= 5 && this.number.match(new RegExp('^3[47]')) != null ? 5 : 4;\r\n this._subTitle += ('*' + this.number.substr(this.number.length - count));\r\n }\r\n }\r\n return this._subTitle;\r\n }\r\n\r\n get expiration(): string {\r\n if (!this.expMonth && !this.expYear) {\r\n return null;\r\n }\r\n\r\n let exp = this.expMonth != null ? ('0' + this.expMonth).slice(-2) : '__';\r\n exp += (' / ' + (this.expYear != null ? this.formatYear(this.expYear) : '____'));\r\n return exp;\r\n }\r\n\r\n private formatYear(year: string): string {\r\n return year.length === 2 ? '20' + year : year;\r\n }\r\n}\r\n","import * as jq from 'jquery';\r\n\r\nimport {\r\n Component,\r\n ComponentFactoryResolver,\r\n Type,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\nimport { ModalComponent as BaseModalComponent } from 'jslib/angular/components/modal.component';\r\nimport { Utils } from 'jslib/misc/utils';\r\n\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\n\r\n@Component({\r\n selector: 'app-modal',\r\n template: ``,\r\n})\r\nexport class ModalComponent extends BaseModalComponent {\r\n el: any = null;\r\n\r\n constructor(componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService) {\r\n super(componentFactoryResolver, messagingService);\r\n }\r\n\r\n ngOnDestroy() { /* Nothing */ }\r\n\r\n show(type: Type, parentContainer: ViewContainerRef, fade: boolean = true,\r\n setComponentParameters: (component: T) => void = null): T {\r\n this.parentContainer = parentContainer;\r\n this.fade = fade;\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(type);\r\n const componentRef = this.container.createComponent(factory);\r\n if (setComponentParameters != null) {\r\n setComponentParameters(componentRef.instance);\r\n }\r\n\r\n const modals = Array.from(document.querySelectorAll('.modal'));\r\n if (modals.length > 0) {\r\n this.el = jq(modals[0]);\r\n this.el.modal('show');\r\n\r\n this.el.on('show.bs.modal', () => {\r\n this.onShow.emit();\r\n this.messagingService.send('modalShow');\r\n });\r\n this.el.on('shown.bs.modal', () => {\r\n this.onShown.emit();\r\n this.messagingService.send('modalShown');\r\n if (!Utils.isMobileBrowser) {\r\n this.el.find('*[appAutoFocus]').focus();\r\n }\r\n });\r\n this.el.on('hide.bs.modal', () => {\r\n this.onClose.emit();\r\n this.messagingService.send('modalClose');\r\n });\r\n this.el.on('hidden.bs.modal', () => {\r\n this.onClosed.emit();\r\n this.messagingService.send('modalClosed');\r\n if (this.parentContainer != null) {\r\n this.parentContainer.clear();\r\n }\r\n });\r\n }\r\n\r\n return componentRef.instance;\r\n }\r\n\r\n close() {\r\n if (this.el != null) {\r\n this.el.modal('hide');\r\n }\r\n }\r\n}\r\n","import { SecureNoteType } from '../../enums/secureNoteType';\r\n\r\nimport { View } from './view';\r\n\r\nimport { SecureNote } from '../domain/secureNote';\r\n\r\nexport class SecureNoteView implements View {\r\n type: SecureNoteType = null;\r\n\r\n constructor(n?: SecureNote) {\r\n if (!n) {\r\n return;\r\n }\r\n\r\n this.type = n.type;\r\n }\r\n\r\n get subTitle(): string {\r\n return null;\r\n }\r\n}\r\n","export abstract class TokenService {\r\n token: string;\r\n decodedToken: any;\r\n refreshToken: string;\r\n setTokens: (accessToken: string, refreshToken: string) => Promise;\r\n setToken: (token: string) => Promise;\r\n getToken: () => Promise;\r\n setRefreshToken: (refreshToken: string) => Promise;\r\n getRefreshToken: () => Promise;\r\n toggleTokens: () => Promise;\r\n setTwoFactorToken: (token: string, email: string) => Promise;\r\n getTwoFactorToken: (email: string) => Promise;\r\n clearTwoFactorToken: (email: string) => Promise;\r\n clearToken: () => Promise;\r\n decodeToken: () => any;\r\n getTokenExpirationDate: () => Date;\r\n tokenSecondsRemaining: (offsetSeconds?: number) => number;\r\n tokenNeedsRefresh: (minutes?: number) => boolean;\r\n getUserId: () => string;\r\n getEmail: () => string;\r\n getEmailVerified: () => boolean;\r\n getName: () => string;\r\n getPremium: () => boolean;\r\n getIssuer: () => string;\r\n}\r\n","import { DecryptParameters } from '../models/domain/decryptParameters';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\n\r\nexport abstract class CryptoFunctionService {\r\n pbkdf2: (password: string | ArrayBuffer, salt: string | ArrayBuffer, algorithm: 'sha256' | 'sha512',\r\n iterations: number) => Promise;\r\n hkdf: (ikm: ArrayBuffer, salt: string | ArrayBuffer, info: string | ArrayBuffer,\r\n outputByteSize: number, algorithm: 'sha256' | 'sha512') => Promise\r\n hkdfExpand: (prk: ArrayBuffer, info: string | ArrayBuffer, outputByteSize: number,\r\n algorithm: 'sha256' | 'sha512') => Promise;\r\n hash: (value: string | ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512' | 'md5') => Promise;\r\n hmac: (value: ArrayBuffer, key: ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512') => Promise;\r\n compare: (a: ArrayBuffer, b: ArrayBuffer) => Promise;\r\n hmacFast: (value: ArrayBuffer | string, key: ArrayBuffer | string, algorithm: 'sha1' | 'sha256' | 'sha512') =>\r\n Promise;\r\n compareFast: (a: ArrayBuffer | string, b: ArrayBuffer | string) => Promise;\r\n aesEncrypt: (data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer) => Promise;\r\n aesDecryptFastParameters: (data: string, iv: string, mac: string, key: SymmetricCryptoKey) =>\r\n DecryptParameters;\r\n aesDecryptFast: (parameters: DecryptParameters) => Promise;\r\n aesDecrypt: (data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer) => Promise;\r\n rsaEncrypt: (data: ArrayBuffer, publicKey: ArrayBuffer, algorithm: 'sha1' | 'sha256') => Promise;\r\n rsaDecrypt: (data: ArrayBuffer, privateKey: ArrayBuffer, algorithm: 'sha1' | 'sha256') => Promise;\r\n rsaExtractPublicKey: (privateKey: ArrayBuffer) => Promise;\r\n rsaGenerateKeyPair: (length: 1024 | 2048 | 4096) => Promise<[ArrayBuffer, ArrayBuffer]>;\r\n randomBytes: (length: number) => Promise;\r\n}\r\n","import { BreachAccountResponse } from '../models/response/breachAccountResponse';\r\n\r\nexport abstract class AuditService {\r\n passwordLeaked: (password: string) => Promise;\r\n breachedAccounts: (username: string) => Promise;\r\n}\r\n","import { CipherString } from '../models/domain/cipherString';\r\n\r\nexport abstract class VaultTimeoutService {\r\n biometricLocked: boolean;\r\n pinProtectedKey: CipherString;\r\n isLocked: () => Promise;\r\n checkVaultTimeout: () => Promise;\r\n lock: (allowSoftLock?: boolean) => Promise;\r\n logOut: () => Promise;\r\n setVaultTimeoutOptions: (vaultTimeout: number, vaultTimeoutAction: string) => Promise;\r\n isPinLockSet: () => Promise<[boolean, boolean]>;\r\n isBiometricLockSet: () => Promise;\r\n clear: () => Promise;\r\n}\r\n","export enum SecureNoteType {\r\n Generic = 0,\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n OnChanges,\r\n} from '@angular/core';\r\n\r\nimport { CipherType } from '../../enums/cipherType';\r\n\r\nimport { CipherView } from '../../models/view/cipherView';\r\n\r\nimport { EnvironmentService } from '../../abstractions/environment.service';\r\nimport { StateService } from '../../abstractions/state.service';\r\n\r\nimport { ConstantsService } from '../../services/constants.service';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\nconst IconMap: any = {\r\n 'fa-globe': String.fromCharCode(0xf0ac),\r\n 'fa-sticky-note-o': String.fromCharCode(0xf24a),\r\n 'fa-id-card-o': String.fromCharCode(0xf2c3),\r\n 'fa-credit-card': String.fromCharCode(0xf09d),\r\n 'fa-android': String.fromCharCode(0xf17b),\r\n 'fa-apple': String.fromCharCode(0xf179),\r\n};\r\n\r\n@Component({\r\n selector: 'app-vault-icon',\r\n templateUrl: 'icon.component.html',\r\n})\r\nexport class IconComponent implements OnChanges {\r\n @Input() cipher: CipherView;\r\n icon: string;\r\n image: string;\r\n fallbackImage: string;\r\n imageEnabled: boolean;\r\n\r\n private iconsUrl: string;\r\n\r\n constructor(environmentService: EnvironmentService, protected stateService: StateService) {\r\n this.iconsUrl = environmentService.iconsUrl;\r\n if (!this.iconsUrl) {\r\n if (environmentService.baseUrl) {\r\n this.iconsUrl = environmentService.baseUrl + '/icons';\r\n } else {\r\n this.iconsUrl = 'https://icons.bitwarden.net';\r\n }\r\n }\r\n }\r\n\r\n async ngOnChanges() {\r\n this.imageEnabled = !(await this.stateService.get(ConstantsService.disableFaviconKey));\r\n this.load();\r\n }\r\n\r\n get iconCode(): string {\r\n return IconMap[this.icon];\r\n }\r\n\r\n protected load() {\r\n switch (this.cipher.type) {\r\n case CipherType.Login:\r\n this.icon = 'fa-globe';\r\n this.setLoginIcon();\r\n break;\r\n case CipherType.SecureNote:\r\n this.icon = 'fa-sticky-note-o';\r\n break;\r\n case CipherType.Card:\r\n this.icon = 'fa-credit-card';\r\n break;\r\n case CipherType.Identity:\r\n this.icon = 'fa-id-card-o';\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n private setLoginIcon() {\r\n if (this.cipher.login.uri) {\r\n let hostnameUri = this.cipher.login.uri;\r\n let isWebsite = false;\r\n\r\n if (hostnameUri.indexOf('androidapp://') === 0) {\r\n this.icon = 'fa-android';\r\n this.image = null;\r\n } else if (hostnameUri.indexOf('iosapp://') === 0) {\r\n this.icon = 'fa-apple';\r\n this.image = null;\r\n } else if (this.imageEnabled && hostnameUri.indexOf('://') === -1 && hostnameUri.indexOf('.') > -1) {\r\n hostnameUri = 'http://' + hostnameUri;\r\n isWebsite = true;\r\n } else if (this.imageEnabled) {\r\n isWebsite = hostnameUri.indexOf('http') === 0 && hostnameUri.indexOf('.') > -1;\r\n }\r\n\r\n if (this.imageEnabled && isWebsite) {\r\n try {\r\n this.image = this.iconsUrl + '/' + Utils.getHostname(hostnameUri) + '/icon.png';\r\n this.fallbackImage = 'images/fa-globe.png';\r\n } catch (e) { }\r\n }\r\n } else {\r\n this.image = null;\r\n }\r\n }\r\n}\r\n","
\r\n \"\"\r\n \r\n
\r\n","export enum TwoFactorProviderType {\r\n Authenticator = 0,\r\n Email = 1,\r\n Duo = 2,\r\n Yubikey = 3,\r\n U2f = 4,\r\n Remember = 5,\r\n OrganizationDuo = 6,\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { BroadcasterService as BaseBroadcasterService } from '../../services/broadcaster.service';\r\n\r\n@Injectable()\r\nexport class BroadcasterService extends BaseBroadcasterService {\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { WebConstants } from '../../services/webConstants';\r\n\r\nconst StripeElementStyle = {\r\n base: {\r\n color: '#333333',\r\n fontFamily: '\"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif, ' +\r\n '\"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"',\r\n fontSize: '14px',\r\n fontSmoothing: 'antialiased',\r\n },\r\n invalid: {\r\n color: '#333333',\r\n },\r\n};\r\n\r\nconst StripeElementClasses = {\r\n focus: 'is-focused',\r\n empty: 'is-empty',\r\n invalid: 'is-invalid',\r\n};\r\n\r\n@Component({\r\n selector: 'app-payment',\r\n templateUrl: 'payment.component.html',\r\n})\r\nexport class PaymentComponent implements OnInit {\r\n @Input() showMethods = true;\r\n @Input() showOptions = true;\r\n @Input() method = PaymentMethodType.Card;\r\n @Input() hideBank = false;\r\n @Input() hidePaypal = false;\r\n @Input() hideCredit = false;\r\n\r\n bank: any = {\r\n routing_number: null,\r\n account_number: null,\r\n account_holder_name: null,\r\n account_holder_type: '',\r\n currency: 'USD',\r\n country: 'US',\r\n };\r\n\r\n paymentMethodType = PaymentMethodType;\r\n\r\n private btScript: HTMLScriptElement;\r\n private btInstance: any = null;\r\n private stripeScript: HTMLScriptElement;\r\n private stripe: any = null;\r\n private stripeElements: any = null;\r\n private stripeCardNumberElement: any = null;\r\n private stripeCardExpiryElement: any = null;\r\n private stripeCardCvcElement: any = null;\r\n\r\n constructor(private platformUtilsService: PlatformUtilsService, private apiService: ApiService) {\r\n this.stripeScript = window.document.createElement('script');\r\n this.stripeScript.src = 'https://js.stripe.com/v3/';\r\n this.stripeScript.async = true;\r\n this.stripeScript.onload = () => {\r\n this.stripe = (window as any).Stripe(this.platformUtilsService.isDev() ?\r\n WebConstants.stripeTestKey : WebConstants.stripeLiveKey);\r\n this.stripeElements = this.stripe.elements();\r\n this.setStripeElement();\r\n };\r\n this.btScript = window.document.createElement('script');\r\n this.btScript.src = 'scripts/dropin.js';\r\n this.btScript.async = true;\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.showOptions) {\r\n this.hidePaypal = this.method !== PaymentMethodType.PayPal;\r\n this.hideBank = this.method !== PaymentMethodType.BankAccount;\r\n this.hideCredit = this.method !== PaymentMethodType.Credit;\r\n }\r\n window.document.head.appendChild(this.stripeScript);\r\n if (!this.hidePaypal) {\r\n window.document.head.appendChild(this.btScript);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n window.document.head.removeChild(this.stripeScript);\r\n window.setTimeout(() => {\r\n Array.from(window.document.querySelectorAll('iframe')).forEach((el) => {\r\n if (el.src != null && el.src.indexOf('stripe') > -1) {\r\n try {\r\n window.document.body.removeChild(el);\r\n } catch { }\r\n }\r\n });\r\n }, 500);\r\n if (!this.hidePaypal) {\r\n window.document.head.removeChild(this.btScript);\r\n window.setTimeout(() => {\r\n Array.from(window.document.head.querySelectorAll('script')).forEach((el) => {\r\n if (el.src != null && el.src.indexOf('paypal') > -1) {\r\n try {\r\n window.document.head.removeChild(el);\r\n } catch { }\r\n }\r\n });\r\n const btStylesheet = window.document.head.querySelector('#braintree-dropin-stylesheet');\r\n if (btStylesheet != null) {\r\n try {\r\n window.document.head.removeChild(btStylesheet);\r\n } catch { }\r\n }\r\n }, 500);\r\n }\r\n }\r\n\r\n changeMethod() {\r\n this.btInstance = null;\r\n\r\n if (this.method === PaymentMethodType.PayPal) {\r\n window.setTimeout(() => {\r\n (window as any).braintree.dropin.create({\r\n authorization: this.platformUtilsService.isDev() ?\r\n WebConstants.btSandboxKey : WebConstants.btProductionKey,\r\n container: '#bt-dropin-container',\r\n paymentOptionPriority: ['paypal'],\r\n paypal: {\r\n flow: 'vault',\r\n buttonStyle: {\r\n label: 'pay',\r\n size: 'medium',\r\n shape: 'pill',\r\n color: 'blue',\r\n },\r\n },\r\n }, (createErr: any, instance: any) => {\r\n if (createErr != null) {\r\n // tslint:disable-next-line\r\n console.error(createErr);\r\n return;\r\n }\r\n this.btInstance = instance;\r\n });\r\n }, 250);\r\n } else {\r\n this.setStripeElement();\r\n }\r\n }\r\n\r\n createPaymentToken(): Promise<[string, PaymentMethodType]> {\r\n return new Promise((resolve, reject) => {\r\n if (this.method === PaymentMethodType.Credit) {\r\n resolve([null, this.method]);\r\n } else if (this.method === PaymentMethodType.PayPal) {\r\n this.btInstance.requestPaymentMethod().then((payload: any) => {\r\n resolve([payload.nonce, this.method]);\r\n }).catch((err: any) => {\r\n reject(err.message);\r\n });\r\n } else if (this.method === PaymentMethodType.Card || this.method === PaymentMethodType.BankAccount) {\r\n if (this.method === PaymentMethodType.Card) {\r\n this.apiService.postSetupPayment().then((clientSecret) =>\r\n this.stripe.handleCardSetup(clientSecret, this.stripeCardNumberElement))\r\n .then((result: any) => {\r\n if (result.error) {\r\n reject(result.error.message);\r\n } else if (result.setupIntent && result.setupIntent.status === 'succeeded') {\r\n resolve([result.setupIntent.payment_method, this.method]);\r\n } else {\r\n reject();\r\n }\r\n });\r\n } else {\r\n this.stripe.createToken('bank_account', this.bank).then((result: any) => {\r\n if (result.error) {\r\n reject(result.error.message);\r\n } else if (result.token && result.token.id != null) {\r\n resolve([result.token.id, this.method]);\r\n } else {\r\n reject();\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n handleStripeCardPayment(clientSecret: string, successCallback: () => Promise): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (this.showMethods && this.stripeCardNumberElement == null) {\r\n reject();\r\n return;\r\n }\r\n const handleCardPayment = () => this.showMethods ?\r\n this.stripe.handleCardSetup(clientSecret, this.stripeCardNumberElement) :\r\n this.stripe.handleCardSetup(clientSecret);\r\n return handleCardPayment().then(async (result: any) => {\r\n if (result.error) {\r\n reject(result.error.message);\r\n } else if (result.paymentIntent && result.paymentIntent.status === 'succeeded') {\r\n if (successCallback != null) {\r\n await successCallback();\r\n }\r\n resolve();\r\n } else {\r\n reject();\r\n }\r\n });\r\n });\r\n }\r\n\r\n private setStripeElement() {\r\n window.setTimeout(() => {\r\n if (this.showMethods && this.method === PaymentMethodType.Card) {\r\n if (this.stripeCardNumberElement == null) {\r\n this.stripeCardNumberElement = this.stripeElements.create('cardNumber', {\r\n style: StripeElementStyle,\r\n classes: StripeElementClasses,\r\n placeholder: '',\r\n });\r\n }\r\n if (this.stripeCardExpiryElement == null) {\r\n this.stripeCardExpiryElement = this.stripeElements.create('cardExpiry', {\r\n style: StripeElementStyle,\r\n classes: StripeElementClasses,\r\n });\r\n }\r\n if (this.stripeCardCvcElement == null) {\r\n this.stripeCardCvcElement = this.stripeElements.create('cardCvc', {\r\n style: StripeElementStyle,\r\n classes: StripeElementClasses,\r\n placeholder: '',\r\n });\r\n }\r\n this.stripeCardNumberElement.mount('#stripe-card-number-element');\r\n this.stripeCardExpiryElement.mount('#stripe-card-expiry-element');\r\n this.stripeCardCvcElement.mount('#stripe-card-cvc-element');\r\n }\r\n }, 50);\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \"Visa,\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n {{'verifyBankAccountInitialDesc' | i18n}} {{'verifyBankAccountFailureWarning' | i18n}}\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n {{'paypalClickSubmit' | i18n}}\r\n
\r\n
\r\n\r\n \r\n {{'makeSureEnoughCredit' | i18n}}\r\n \r\n\r\n","import { View } from './view';\r\n\r\nimport { Folder } from '../domain/folder';\r\nimport { ITreeNodeObject } from '../domain/treeNode';\r\n\r\nexport class FolderView implements View, ITreeNodeObject {\r\n id: string = null;\r\n name: string = null;\r\n revisionDate: Date = null;\r\n\r\n constructor(f?: Folder) {\r\n if (!f) {\r\n return;\r\n }\r\n\r\n this.id = f.id;\r\n this.revisionDate = f.revisionDate;\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Output,\r\n} from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { OrganizationTaxInfoUpdateRequest } from 'jslib/models/request/organizationTaxInfoUpdateRequest';\r\nimport { TaxInfoUpdateRequest } from 'jslib/models/request/taxInfoUpdateRequest';\r\n\r\n@Component({\r\n selector: 'app-tax-info',\r\n templateUrl: 'tax-info.component.html',\r\n})\r\nexport class TaxInfoComponent {\r\n @Output() onCountryChanged = new EventEmitter();\r\n\r\n loading: boolean = true;\r\n organizationId: string;\r\n taxInfo: any = {\r\n taxId: null,\r\n line1: null,\r\n line2: null,\r\n city: null,\r\n state: null,\r\n postalCode: null,\r\n country: 'US',\r\n includeTaxId: false,\r\n };\r\n\r\n private pristine: any = {\r\n taxId: null,\r\n line1: null,\r\n line2: null,\r\n city: null,\r\n state: null,\r\n postalCode: null,\r\n country: 'US',\r\n includeTaxId: false,\r\n };\r\n\r\n constructor(private apiService: ApiService, private route: ActivatedRoute) { }\r\n\r\n async ngOnInit() {\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n if (this.organizationId) {\r\n try {\r\n const taxInfo = await this.apiService.getOrganizationTaxInfo(this.organizationId);\r\n if (taxInfo) {\r\n this.taxInfo.taxId = taxInfo.taxId;\r\n this.taxInfo.state = taxInfo.state;\r\n this.taxInfo.line1 = taxInfo.line1;\r\n this.taxInfo.line2 = taxInfo.line2;\r\n this.taxInfo.city = taxInfo.city;\r\n this.taxInfo.state = taxInfo.state;\r\n this.taxInfo.postalCode = taxInfo.postalCode;\r\n this.taxInfo.country = taxInfo.country || 'US';\r\n this.taxInfo.includeTaxId = this.taxInfo.country !== 'US' && (\r\n !!taxInfo.taxId\r\n || !!taxInfo.line1\r\n || !!taxInfo.line2\r\n || !!taxInfo.city\r\n || !!taxInfo.state);\r\n }\r\n } catch { }\r\n } else {\r\n const taxInfo = await this.apiService.getTaxInfo();\r\n if (taxInfo) {\r\n this.taxInfo.postalCode = taxInfo.postalCode;\r\n this.taxInfo.country = taxInfo.country || 'US';\r\n }\r\n }\r\n this.pristine = Object.assign({}, this.taxInfo);\r\n // If not the default (US) then trigger onCountryChanged\r\n if (this.taxInfo.country !== 'US') {\r\n this.onCountryChanged.emit();\r\n }\r\n });\r\n this.loading = false;\r\n }\r\n\r\n getTaxInfoRequest(): TaxInfoUpdateRequest {\r\n if (this.organizationId) {\r\n const request = new OrganizationTaxInfoUpdateRequest();\r\n request.taxId = this.taxInfo.taxId;\r\n request.state = this.taxInfo.state;\r\n request.line1 = this.taxInfo.line1;\r\n request.line2 = this.taxInfo.line2;\r\n request.city = this.taxInfo.city;\r\n request.state = this.taxInfo.state;\r\n request.postalCode = this.taxInfo.postalCode;\r\n request.country = this.taxInfo.country;\r\n return request;\r\n } else {\r\n const request = new TaxInfoUpdateRequest();\r\n request.postalCode = this.taxInfo.postalCode;\r\n request.country = this.taxInfo.country;\r\n return request;\r\n }\r\n }\r\n\r\n submitTaxInfo(): Promise {\r\n if (!this.hasChanged()) {\r\n return new Promise((resolve) => { resolve(); });\r\n }\r\n const request = this.getTaxInfoRequest();\r\n return this.organizationId ? this.apiService.putOrganizationTaxInfo(this.organizationId,\r\n request as OrganizationTaxInfoUpdateRequest) : this.apiService.putTaxInfo(request);\r\n }\r\n\r\n changeCountry() {\r\n if (this.taxInfo.country === 'US') {\r\n this.taxInfo.includeTaxId = false;\r\n this.taxInfo.taxId = null;\r\n this.taxInfo.line1 = null;\r\n this.taxInfo.line2 = null;\r\n this.taxInfo.city = null;\r\n this.taxInfo.state = null;\r\n }\r\n this.onCountryChanged.emit();\r\n }\r\n\r\n private hasChanged(): boolean {\r\n for (const key in this.taxInfo) {\r\n if (this.pristine.hasOwnProperty(key) && this.pristine[key] !== this.taxInfo[key]) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n","import { CipherType } from '../../enums/cipherType';\r\n\r\nimport { Cipher } from '../domain/cipher';\r\n\r\nimport { AttachmentView } from './attachmentView';\r\nimport { CardView } from './cardView';\r\nimport { FieldView } from './fieldView';\r\nimport { IdentityView } from './identityView';\r\nimport { LoginView } from './loginView';\r\nimport { PasswordHistoryView } from './passwordHistoryView';\r\nimport { SecureNoteView } from './secureNoteView';\r\nimport { View } from './view';\r\n\r\nexport class CipherView implements View {\r\n id: string = null;\r\n organizationId: string = null;\r\n folderId: string = null;\r\n name: string = null;\r\n notes: string = null;\r\n type: CipherType = null;\r\n favorite = false;\r\n organizationUseTotp = false;\r\n edit = false;\r\n viewPassword = true;\r\n localData: any;\r\n login = new LoginView();\r\n identity = new IdentityView();\r\n card = new CardView();\r\n secureNote = new SecureNoteView();\r\n attachments: AttachmentView[] = null;\r\n fields: FieldView[] = null;\r\n passwordHistory: PasswordHistoryView[] = null;\r\n collectionIds: string[] = null;\r\n revisionDate: Date = null;\r\n deletedDate: Date = null;\r\n\r\n constructor(c?: Cipher) {\r\n if (!c) {\r\n return;\r\n }\r\n\r\n this.id = c.id;\r\n this.organizationId = c.organizationId;\r\n this.folderId = c.folderId;\r\n this.favorite = c.favorite;\r\n this.organizationUseTotp = c.organizationUseTotp;\r\n this.edit = c.edit;\r\n this.viewPassword = c.viewPassword;\r\n this.type = c.type;\r\n this.localData = c.localData;\r\n this.collectionIds = c.collectionIds;\r\n this.revisionDate = c.revisionDate;\r\n this.deletedDate = c.deletedDate;\r\n }\r\n\r\n get subTitle(): string {\r\n switch (this.type) {\r\n case CipherType.Login:\r\n return this.login.subTitle;\r\n case CipherType.SecureNote:\r\n return this.secureNote.subTitle;\r\n case CipherType.Card:\r\n return this.card.subTitle;\r\n case CipherType.Identity:\r\n return this.identity.subTitle;\r\n default:\r\n break;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n get hasPasswordHistory(): boolean {\r\n return this.passwordHistory && this.passwordHistory.length > 0;\r\n }\r\n\r\n get hasAttachments(): boolean {\r\n return this.attachments && this.attachments.length > 0;\r\n }\r\n\r\n get hasOldAttachments(): boolean {\r\n if (this.hasAttachments) {\r\n for (let i = 0; i < this.attachments.length; i++) {\r\n if (this.attachments[i].key == null) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n get hasFields(): boolean {\r\n return this.fields && this.fields.length > 0;\r\n }\r\n\r\n get passwordRevisionDisplayDate(): Date {\r\n if (this.type !== CipherType.Login || this.login == null) {\r\n return null;\r\n } else if (this.login.password == null || this.login.password === '') {\r\n return null;\r\n }\r\n return this.login.passwordRevisionDate;\r\n }\r\n\r\n get isDeleted(): boolean {\r\n return this.deletedDate != null;\r\n }\r\n}\r\n","import { View } from './view';\r\n\r\nimport { Identity } from '../domain/identity';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\nexport class IdentityView implements View {\r\n title: string = null;\r\n middleName: string = null;\r\n address1: string = null;\r\n address2: string = null;\r\n address3: string = null;\r\n city: string = null;\r\n state: string = null;\r\n postalCode: string = null;\r\n country: string = null;\r\n company: string = null;\r\n email: string = null;\r\n phone: string = null;\r\n ssn: string = null;\r\n username: string = null;\r\n passportNumber: string = null;\r\n licenseNumber: string = null;\r\n\r\n // tslint:disable\r\n private _firstName: string = null;\r\n private _lastName: string = null;\r\n private _subTitle: string = null;\r\n // tslint:enable\r\n\r\n constructor(i?: Identity) {\r\n // ctor\r\n }\r\n\r\n get firstName(): string {\r\n return this._firstName;\r\n }\r\n set firstName(value: string) {\r\n this._firstName = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get lastName(): string {\r\n return this._lastName;\r\n }\r\n set lastName(value: string) {\r\n this._lastName = value;\r\n this._subTitle = null;\r\n }\r\n\r\n get subTitle(): string {\r\n if (this._subTitle == null && (this.firstName != null || this.lastName != null)) {\r\n this._subTitle = '';\r\n if (this.firstName != null) {\r\n this._subTitle = this.firstName;\r\n }\r\n if (this.lastName != null) {\r\n if (this._subTitle !== '') {\r\n this._subTitle += ' ';\r\n }\r\n this._subTitle += this.lastName;\r\n }\r\n }\r\n\r\n return this._subTitle;\r\n }\r\n\r\n get fullName(): string {\r\n if (this.title != null || this.firstName != null || this.middleName != null || this.lastName != null) {\r\n let name = '';\r\n if (this.title != null) {\r\n name += (this.title + ' ');\r\n }\r\n if (this.firstName != null) {\r\n name += (this.firstName + ' ');\r\n }\r\n if (this.middleName != null) {\r\n name += (this.middleName + ' ');\r\n }\r\n if (this.lastName != null) {\r\n name += this.lastName;\r\n }\r\n return name.trim();\r\n }\r\n\r\n return null;\r\n }\r\n\r\n get fullAddress(): string {\r\n let address = this.address1;\r\n if (!Utils.isNullOrWhitespace(this.address2)) {\r\n if (!Utils.isNullOrWhitespace(address)) {\r\n address += ', ';\r\n }\r\n address += this.address2;\r\n }\r\n if (!Utils.isNullOrWhitespace(this.address3)) {\r\n if (!Utils.isNullOrWhitespace(address)) {\r\n address += ', ';\r\n }\r\n address += this.address3;\r\n }\r\n return address;\r\n }\r\n\r\n get fullAddressPart2(): string {\r\n if (this.city == null && this.state == null && this.postalCode == null) {\r\n return null;\r\n }\r\n const city = this.city || '-';\r\n const state = this.state;\r\n const postalCode = this.postalCode || '-';\r\n let addressPart2 = city;\r\n if (!Utils.isNullOrWhitespace(state)) {\r\n addressPart2 += ', ' + state;\r\n }\r\n addressPart2 += ', ' + postalCode;\r\n return addressPart2;\r\n }\r\n}\r\n","export enum FieldType {\r\n Text = 0,\r\n Hidden = 1,\r\n Boolean = 2,\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\nimport { CryptoFunctionService } from 'jslib/abstractions/cryptoFunction.service';\r\nimport { StateService } from 'jslib/abstractions/state.service';\r\n\r\nimport { Utils } from 'jslib/misc/utils';\r\n\r\n@Component({\r\n selector: 'app-avatar',\r\n template: '',\r\n})\r\nexport class AvatarComponent implements OnChanges, OnInit {\r\n @Input() data: string;\r\n @Input() email: string;\r\n @Input() size = 45;\r\n @Input() charCount = 2;\r\n @Input() textColor = '#ffffff';\r\n @Input() fontSize = 20;\r\n @Input() fontWeight = 300;\r\n @Input() dynamic = false;\r\n @Input() circle = false;\r\n\r\n src: string;\r\n\r\n constructor(public sanitizer: DomSanitizer, private cryptoFunctionService: CryptoFunctionService,\r\n private stateService: StateService) { }\r\n\r\n ngOnInit() {\r\n if (!this.dynamic) {\r\n this.generate();\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.dynamic) {\r\n this.generate();\r\n }\r\n }\r\n\r\n private async generate() {\r\n const enableGravatars = await this.stateService.get('enableGravatars');\r\n if (enableGravatars && this.email != null) {\r\n const hashBytes = await this.cryptoFunctionService.hash(this.email.toLowerCase().trim(), 'md5');\r\n const hash = Utils.fromBufferToHex(hashBytes).toLowerCase();\r\n this.src = 'https://www.gravatar.com/avatar/' + hash + '?s=' + this.size + '&r=pg&d=retro';\r\n } else {\r\n let chars: string = null;\r\n const upperData = this.data.toUpperCase();\r\n\r\n if (this.charCount > 1) {\r\n chars = this.getFirstLetters(upperData, this.charCount);\r\n }\r\n if (chars == null) {\r\n chars = upperData.substr(0, this.charCount);\r\n }\r\n\r\n const charObj = this.getCharText(chars);\r\n const color = this.stringToColor(upperData);\r\n const svg = this.getSvg(this.size, color);\r\n svg.appendChild(charObj);\r\n const html = window.document.createElement('div').appendChild(svg).outerHTML;\r\n const svgHtml = window.btoa(unescape(encodeURIComponent(html)));\r\n this.src = 'data:image/svg+xml;base64,' + svgHtml;\r\n }\r\n }\r\n\r\n private stringToColor(str: string): string {\r\n let hash = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n // tslint:disable-next-line\r\n hash = str.charCodeAt(i) + ((hash << 5) - hash);\r\n }\r\n let color = '#';\r\n for (let i = 0; i < 3; i++) {\r\n // tslint:disable-next-line\r\n const value = (hash >> (i * 8)) & 0xFF;\r\n color += ('00' + value.toString(16)).substr(-2);\r\n }\r\n return color;\r\n }\r\n\r\n private getFirstLetters(data: string, count: number): string {\r\n const parts = data.split(' ');\r\n if (parts.length > 1) {\r\n let text = '';\r\n for (let i = 0; i < count; i++) {\r\n text += parts[i].substr(0, 1);\r\n }\r\n return text;\r\n }\r\n return null;\r\n }\r\n\r\n private getSvg(size: number, color: string): HTMLElement {\r\n const svgTag = window.document.createElement('svg');\r\n svgTag.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\r\n svgTag.setAttribute('pointer-events', 'none');\r\n svgTag.setAttribute('width', size.toString());\r\n svgTag.setAttribute('height', size.toString());\r\n svgTag.style.backgroundColor = color;\r\n svgTag.style.width = size + 'px';\r\n svgTag.style.height = size + 'px';\r\n return svgTag;\r\n }\r\n\r\n private getCharText(character: string): HTMLElement {\r\n const textTag = window.document.createElement('text');\r\n textTag.setAttribute('text-anchor', 'middle');\r\n textTag.setAttribute('y', '50%');\r\n textTag.setAttribute('x', '50%');\r\n textTag.setAttribute('dy', '0.35em');\r\n textTag.setAttribute('pointer-events', 'auto');\r\n textTag.setAttribute('fill', this.textColor);\r\n textTag.setAttribute('font-family', '\"Open Sans\",\"Helvetica Neue\",Helvetica,Arial,' +\r\n 'sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\"');\r\n textTag.textContent = character;\r\n textTag.style.fontWeight = this.fontWeight.toString();\r\n textTag.style.fontSize = this.fontSize + 'px';\r\n return textTag;\r\n }\r\n}\r\n","import { View } from './view';\r\n\r\nimport { Collection } from '../domain/collection';\r\nimport { ITreeNodeObject } from '../domain/treeNode';\r\n\r\nimport { CollectionGroupDetailsResponse } from '../response/collectionResponse';\r\n\r\nexport class CollectionView implements View, ITreeNodeObject {\r\n id: string = null;\r\n organizationId: string = null;\r\n name: string = null;\r\n externalId: string = null;\r\n readOnly: boolean = null;\r\n hidePasswords: boolean = null;\r\n\r\n constructor(c?: Collection | CollectionGroupDetailsResponse) {\r\n if (!c) {\r\n return;\r\n }\r\n\r\n this.id = c.id;\r\n this.organizationId = c.organizationId;\r\n this.externalId = c.externalId;\r\n if (c instanceof Collection) {\r\n this.readOnly = c.readOnly;\r\n this.hidePasswords = c.hidePasswords;\r\n }\r\n }\r\n}\r\n","import { LoginUriView } from './loginUriView';\r\nimport { View } from './view';\r\n\r\nimport { Login } from '../domain/login';\r\n\r\nexport class LoginView implements View {\r\n username: string = null;\r\n password: string = null;\r\n passwordRevisionDate?: Date = null;\r\n totp: string = null;\r\n uris: LoginUriView[] = null;\r\n\r\n constructor(l?: Login) {\r\n if (!l) {\r\n return;\r\n }\r\n\r\n this.passwordRevisionDate = l.passwordRevisionDate;\r\n }\r\n\r\n get uri(): string {\r\n return this.hasUris ? this.uris[0].uri : null;\r\n }\r\n\r\n get maskedPassword(): string {\r\n return this.password != null ? '••••••••' : null;\r\n }\r\n\r\n get subTitle(): string {\r\n return this.username;\r\n }\r\n\r\n get canLaunch(): boolean {\r\n return this.hasUris && this.uris.some((u) => u.canLaunch);\r\n }\r\n\r\n get launchUri(): string {\r\n if (this.hasUris) {\r\n const uri = this.uris.find((u) => u.canLaunch);\r\n if (uri != null) {\r\n return uri.launchUri;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n get hasUris(): boolean {\r\n return this.uris != null && this.uris.length > 0;\r\n }\r\n}\r\n","export enum SendType {\r\n Text = 0,\r\n File = 1,\r\n}\r\n","import { CollectionDetailsResponse } from '../response/collectionResponse';\r\n\r\nexport class CollectionData {\r\n id: string;\r\n organizationId: string;\r\n name: string;\r\n externalId: string;\r\n readOnly: boolean;\r\n\r\n constructor(response: CollectionDetailsResponse) {\r\n this.id = response.id;\r\n this.organizationId = response.organizationId;\r\n this.name = response.name;\r\n this.externalId = response.externalId;\r\n this.readOnly = response.readOnly;\r\n }\r\n}\r\n","import { CollectionData } from '../data/collectionData';\r\n\r\nimport { CollectionView } from '../view/collectionView';\r\n\r\nimport { CipherString } from './cipherString';\r\nimport Domain from './domainBase';\r\n\r\nexport class Collection extends Domain {\r\n id: string;\r\n organizationId: string;\r\n name: CipherString;\r\n externalId: string;\r\n readOnly: boolean;\r\n hidePasswords: boolean;\r\n\r\n constructor(obj?: CollectionData, alreadyEncrypted: boolean = false) {\r\n super();\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.buildDomainModel(this, obj, {\r\n id: null,\r\n organizationId: null,\r\n name: null,\r\n externalId: null,\r\n readOnly: null,\r\n hidePasswords: null,\r\n }, alreadyEncrypted, ['id', 'organizationId', 'externalId', 'readOnly', 'hidePasswords']);\r\n }\r\n\r\n decrypt(): Promise {\r\n return this.decryptObj(new CollectionView(this), {\r\n name: null,\r\n }, this.organizationId);\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\n\r\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\r\n\r\n@Component({\r\n selector: 'app-two-factor-verify',\r\n templateUrl: 'two-factor-verify.component.html',\r\n})\r\nexport class TwoFactorVerifyComponent {\r\n @Input() type: TwoFactorProviderType;\r\n @Input() organizationId: string;\r\n @Output() onAuthed = new EventEmitter();\r\n\r\n masterPassword: string;\r\n formPromise: Promise;\r\n\r\n private masterPasswordHash: string;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private toasterService: ToasterService, private cryptoService: CryptoService) { }\r\n\r\n async submit() {\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n\r\n const request = new PasswordVerificationRequest();\r\n request.masterPasswordHash = this.masterPasswordHash =\r\n await this.cryptoService.hashPassword(this.masterPassword, null);\r\n\r\n try {\r\n switch (this.type) {\r\n case -1:\r\n this.formPromise = this.apiService.getTwoFactorRecover(request);\r\n break;\r\n case TwoFactorProviderType.Duo:\r\n case TwoFactorProviderType.OrganizationDuo:\r\n if (this.organizationId != null) {\r\n this.formPromise = this.apiService.getTwoFactorOrganizationDuo(this.organizationId, request);\r\n } else {\r\n this.formPromise = this.apiService.getTwoFactorDuo(request);\r\n }\r\n break;\r\n case TwoFactorProviderType.Email:\r\n this.formPromise = this.apiService.getTwoFactorEmail(request);\r\n break;\r\n case TwoFactorProviderType.U2f:\r\n this.formPromise = this.apiService.getTwoFactorU2f(request);\r\n break;\r\n case TwoFactorProviderType.Authenticator:\r\n this.formPromise = this.apiService.getTwoFactorAuthenticator(request);\r\n break;\r\n case TwoFactorProviderType.Yubikey:\r\n this.formPromise = this.apiService.getTwoFactorYubiKey(request);\r\n break;\r\n }\r\n\r\n const response = await this.formPromise;\r\n this.onAuthed.emit({\r\n response: response,\r\n masterPasswordHash: this.masterPasswordHash,\r\n });\r\n } catch { }\r\n }\r\n}\r\n","
\r\n
\r\n

{{'twoStepLoginAuthDesc' | i18n}}

\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n","export abstract class ExportService {\r\n getExport: (format?: 'csv' | 'json') => Promise;\r\n getOrganizationExport: (organizationId: string, format?: 'csv' | 'json') => Promise;\r\n getFileName: (prefix?: string, extension?: string) => string;\r\n}\r\n","import { CipherType } from '../../enums/cipherType';\r\n\r\nimport { AttachmentData } from './attachmentData';\r\nimport { CardData } from './cardData';\r\nimport { FieldData } from './fieldData';\r\nimport { IdentityData } from './identityData';\r\nimport { LoginData } from './loginData';\r\nimport { PasswordHistoryData } from './passwordHistoryData';\r\nimport { SecureNoteData } from './secureNoteData';\r\n\r\nimport { CipherResponse } from '../response/cipherResponse';\r\n\r\nexport class CipherData {\r\n id: string;\r\n organizationId: string;\r\n folderId: string;\r\n userId: string;\r\n edit: boolean;\r\n viewPassword: boolean;\r\n organizationUseTotp: boolean;\r\n favorite: boolean;\r\n revisionDate: string;\r\n type: CipherType;\r\n sizeName: string;\r\n name: string;\r\n notes: string;\r\n login?: LoginData;\r\n secureNote?: SecureNoteData;\r\n card?: CardData;\r\n identity?: IdentityData;\r\n fields?: FieldData[];\r\n attachments?: AttachmentData[];\r\n passwordHistory?: PasswordHistoryData[];\r\n collectionIds?: string[];\r\n deletedDate: string;\r\n\r\n constructor(response?: CipherResponse, userId?: string, collectionIds?: string[]) {\r\n if (response == null) {\r\n return;\r\n }\r\n\r\n this.id = response.id;\r\n this.organizationId = response.organizationId;\r\n this.folderId = response.folderId;\r\n this.userId = userId;\r\n this.edit = response.edit;\r\n this.viewPassword = response.viewPassword;\r\n this.organizationUseTotp = response.organizationUseTotp;\r\n this.favorite = response.favorite;\r\n this.revisionDate = response.revisionDate;\r\n this.type = response.type;\r\n this.name = response.name;\r\n this.notes = response.notes;\r\n this.collectionIds = collectionIds != null ? collectionIds : response.collectionIds;\r\n this.deletedDate = response.deletedDate;\r\n\r\n switch (this.type) {\r\n case CipherType.Login:\r\n this.login = new LoginData(response.login);\r\n break;\r\n case CipherType.SecureNote:\r\n this.secureNote = new SecureNoteData(response.secureNote);\r\n break;\r\n case CipherType.Card:\r\n this.card = new CardData(response.card);\r\n break;\r\n case CipherType.Identity:\r\n this.identity = new IdentityData(response.identity);\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (response.fields != null) {\r\n this.fields = response.fields.map((f) => new FieldData(f));\r\n }\r\n if (response.attachments != null) {\r\n this.attachments = response.attachments.map((a) => new AttachmentData(a));\r\n }\r\n if (response.passwordHistory != null) {\r\n this.passwordHistory = response.passwordHistory.map((ph) => new PasswordHistoryData(ph));\r\n }\r\n }\r\n}\r\n","export enum PolicyType {\n TwoFactorAuthentication = 0, // Requires users to have 2fa enabled\n MasterPassword = 1, // Sets minimum requirements for master password complexity\n PasswordGenerator = 2, // Sets minimum requirements/default type for generated passwords/passphrases\n SingleOrg = 3, // Allows users to only be apart of one organization\n RequireSso = 4, // Requires users to authenticate with SSO\n}\n","export abstract class TotpService {\r\n getCode: (key: string) => Promise;\r\n getTimeInterval: (key: string) => number;\r\n isAutoCopyEnabled: () => Promise;\r\n}\r\n","import { FieldType } from '../../enums/fieldType';\r\n\r\nimport { View } from './view';\r\n\r\nimport { Field } from '../domain/field';\r\n\r\nexport class FieldView implements View {\r\n name: string = null;\r\n value: string = null;\r\n type: FieldType = null;\r\n newField: boolean = false; // Marks if the field is new and hasn't been saved\r\n showValue: boolean = false;\r\n\r\n constructor(f?: Field) {\r\n if (!f) {\r\n return;\r\n }\r\n\r\n this.type = f.type;\r\n }\r\n\r\n get maskedValue(): string {\r\n return this.value != null ? '••••••••' : null;\r\n }\r\n}\r\n","import { CipherType } from '../../enums/cipherType';\r\n\r\nimport { Cipher } from '../domain/cipher';\r\n\r\nimport { CardApi } from '../api/cardApi';\r\nimport { FieldApi } from '../api/fieldApi';\r\nimport { IdentityApi } from '../api/identityApi';\r\nimport { LoginApi } from '../api/loginApi';\r\nimport { LoginUriApi } from '../api/loginUriApi';\r\nimport { SecureNoteApi } from '../api/secureNoteApi';\r\n\r\nimport { AttachmentRequest } from './attachmentRequest';\r\nimport { PasswordHistoryRequest } from './passwordHistoryRequest';\r\n\r\nexport class CipherRequest {\r\n type: CipherType;\r\n folderId: string;\r\n organizationId: string;\r\n name: string;\r\n notes: string;\r\n favorite: boolean;\r\n login: LoginApi;\r\n secureNote: SecureNoteApi;\r\n card: CardApi;\r\n identity: IdentityApi;\r\n fields: FieldApi[];\r\n passwordHistory: PasswordHistoryRequest[];\r\n // Deprecated, remove at some point and rename attachments2 to attachments\r\n attachments: { [id: string]: string; };\r\n attachments2: { [id: string]: AttachmentRequest; };\r\n lastKnownRevisionDate: Date;\r\n\r\n constructor(cipher: Cipher) {\r\n this.type = cipher.type;\r\n this.folderId = cipher.folderId;\r\n this.organizationId = cipher.organizationId;\r\n this.name = cipher.name ? cipher.name.encryptedString : null;\r\n this.notes = cipher.notes ? cipher.notes.encryptedString : null;\r\n this.favorite = cipher.favorite;\r\n this.lastKnownRevisionDate = cipher.revisionDate;\r\n\r\n switch (this.type) {\r\n case CipherType.Login:\r\n this.login = new LoginApi();\r\n this.login.uris = null;\r\n this.login.username = cipher.login.username ? cipher.login.username.encryptedString : null;\r\n this.login.password = cipher.login.password ? cipher.login.password.encryptedString : null;\r\n this.login.passwordRevisionDate = cipher.login.passwordRevisionDate != null ?\r\n cipher.login.passwordRevisionDate.toISOString() : null;\r\n this.login.totp = cipher.login.totp ? cipher.login.totp.encryptedString : null;\r\n\r\n if (cipher.login.uris != null) {\r\n this.login.uris = cipher.login.uris.map((u) => {\r\n const uri = new LoginUriApi();\r\n uri.uri = u.uri != null ? u.uri.encryptedString : null;\r\n uri.match = u.match != null ? u.match : null;\r\n return uri;\r\n });\r\n }\r\n break;\r\n case CipherType.SecureNote:\r\n this.secureNote = new SecureNoteApi();\r\n this.secureNote.type = cipher.secureNote.type;\r\n break;\r\n case CipherType.Card:\r\n this.card = new CardApi();\r\n this.card.cardholderName = cipher.card.cardholderName != null ?\r\n cipher.card.cardholderName.encryptedString : null;\r\n this.card.brand = cipher.card.brand != null ? cipher.card.brand.encryptedString : null;\r\n this.card.number = cipher.card.number != null ? cipher.card.number.encryptedString : null;\r\n this.card.expMonth = cipher.card.expMonth != null ? cipher.card.expMonth.encryptedString : null;\r\n this.card.expYear = cipher.card.expYear != null ? cipher.card.expYear.encryptedString : null;\r\n this.card.code = cipher.card.code != null ? cipher.card.code.encryptedString : null;\r\n break;\r\n case CipherType.Identity:\r\n this.identity = new IdentityApi();\r\n this.identity.title = cipher.identity.title != null ? cipher.identity.title.encryptedString : null;\r\n this.identity.firstName = cipher.identity.firstName != null ?\r\n cipher.identity.firstName.encryptedString : null;\r\n this.identity.middleName = cipher.identity.middleName != null ?\r\n cipher.identity.middleName.encryptedString : null;\r\n this.identity.lastName = cipher.identity.lastName != null ?\r\n cipher.identity.lastName.encryptedString : null;\r\n this.identity.address1 = cipher.identity.address1 != null ?\r\n cipher.identity.address1.encryptedString : null;\r\n this.identity.address2 = cipher.identity.address2 != null ?\r\n cipher.identity.address2.encryptedString : null;\r\n this.identity.address3 = cipher.identity.address3 != null ?\r\n cipher.identity.address3.encryptedString : null;\r\n this.identity.city = cipher.identity.city != null ? cipher.identity.city.encryptedString : null;\r\n this.identity.state = cipher.identity.state != null ? cipher.identity.state.encryptedString : null;\r\n this.identity.postalCode = cipher.identity.postalCode != null ?\r\n cipher.identity.postalCode.encryptedString : null;\r\n this.identity.country = cipher.identity.country != null ?\r\n cipher.identity.country.encryptedString : null;\r\n this.identity.company = cipher.identity.company != null ?\r\n cipher.identity.company.encryptedString : null;\r\n this.identity.email = cipher.identity.email != null ? cipher.identity.email.encryptedString : null;\r\n this.identity.phone = cipher.identity.phone != null ? cipher.identity.phone.encryptedString : null;\r\n this.identity.ssn = cipher.identity.ssn != null ? cipher.identity.ssn.encryptedString : null;\r\n this.identity.username = cipher.identity.username != null ?\r\n cipher.identity.username.encryptedString : null;\r\n this.identity.passportNumber = cipher.identity.passportNumber != null ?\r\n cipher.identity.passportNumber.encryptedString : null;\r\n this.identity.licenseNumber = cipher.identity.licenseNumber != null ?\r\n cipher.identity.licenseNumber.encryptedString : null;\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (cipher.fields != null) {\r\n this.fields = cipher.fields.map((f) => {\r\n const field = new FieldApi();\r\n field.type = f.type;\r\n field.name = f.name ? f.name.encryptedString : null;\r\n field.value = f.value ? f.value.encryptedString : null;\r\n return field;\r\n });\r\n }\r\n\r\n if (cipher.passwordHistory != null) {\r\n this.passwordHistory = [];\r\n cipher.passwordHistory.forEach((ph) => {\r\n this.passwordHistory.push({\r\n lastUsedDate: ph.lastUsedDate,\r\n password: ph.password ? ph.password.encryptedString : null,\r\n });\r\n });\r\n }\r\n\r\n if (cipher.attachments != null) {\r\n this.attachments = {};\r\n this.attachments2 = {};\r\n cipher.attachments.forEach((attachment) => {\r\n const fileName = attachment.fileName ? attachment.fileName.encryptedString : null;\r\n this.attachments[attachment.id] = fileName;\r\n const attachmentRequest = new AttachmentRequest();\r\n attachmentRequest.fileName = fileName;\r\n if (attachment.key != null) {\r\n attachmentRequest.key = attachment.key.encryptedString;\r\n }\r\n this.attachments2[attachment.id] = attachmentRequest;\r\n });\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport {\r\n ActivatedRoute,\r\n NavigationEnd,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\n@Injectable()\r\nexport class RouterService {\r\n private previousUrl: string = undefined;\r\n private currentUrl: string = undefined;\r\n\r\n constructor(private router: Router, private activatedRoute: ActivatedRoute,\r\n private titleService: Title, i18nService: I18nService) {\r\n this.currentUrl = this.router.url;\r\n router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.previousUrl = this.currentUrl;\r\n this.currentUrl = event.url;\r\n\r\n let title = i18nService.t('pageTitle', 'Bitwarden');\r\n let titleId: string = null;\r\n let rawTitle: string = null;\r\n let child = this.activatedRoute.firstChild;\r\n while (child != null) {\r\n if (child.firstChild != null) {\r\n child = child.firstChild;\r\n } else if (child.snapshot.data != null && child.snapshot.data.title != null) {\r\n rawTitle = child.snapshot.data.title;\r\n break;\r\n } else if (child.snapshot.data != null && child.snapshot.data.titleId != null) {\r\n titleId = child.snapshot.data.titleId;\r\n break;\r\n } else {\r\n titleId = null;\r\n rawTitle = null;\r\n break;\r\n }\r\n }\r\n\r\n if (titleId != null || rawTitle != null) {\r\n const newTitle = rawTitle != null ? rawTitle : i18nService.t(titleId);\r\n if (newTitle != null && newTitle !== '') {\r\n title = (newTitle + ' | ' + title);\r\n }\r\n }\r\n this.titleService.setTitle(title);\r\n }\r\n });\r\n }\r\n\r\n getPreviousUrl() {\r\n return this.previousUrl;\r\n }\r\n\r\n setPreviousUrl(url: string) {\r\n this.previousUrl = url;\r\n }\r\n}\r\n","import { EncryptionType } from '../../enums/encryptionType';\r\n\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\r\n\r\nexport class CipherString {\r\n encryptedString?: string;\r\n encryptionType?: EncryptionType;\r\n decryptedValue?: string;\r\n data?: string;\r\n iv?: string;\r\n mac?: string;\r\n\r\n constructor(encryptedStringOrType: string | EncryptionType, data?: string, iv?: string, mac?: string) {\r\n if (data != null) {\r\n // data and header\r\n const encType = encryptedStringOrType as EncryptionType;\r\n\r\n if (iv != null) {\r\n this.encryptedString = encType + '.' + iv + '|' + data;\r\n } else {\r\n this.encryptedString = encType + '.' + data;\r\n }\r\n\r\n // mac\r\n if (mac != null) {\r\n this.encryptedString += ('|' + mac);\r\n }\r\n\r\n this.encryptionType = encType;\r\n this.data = data;\r\n this.iv = iv;\r\n this.mac = mac;\r\n\r\n return;\r\n }\r\n\r\n this.encryptedString = encryptedStringOrType as string;\r\n if (!this.encryptedString) {\r\n return;\r\n }\r\n\r\n const headerPieces = this.encryptedString.split('.');\r\n let encPieces: string[] = null;\r\n\r\n if (headerPieces.length === 2) {\r\n try {\r\n this.encryptionType = parseInt(headerPieces[0], null);\r\n encPieces = headerPieces[1].split('|');\r\n } catch (e) {\r\n return;\r\n }\r\n } else {\r\n encPieces = this.encryptedString.split('|');\r\n this.encryptionType = encPieces.length === 3 ? EncryptionType.AesCbc128_HmacSha256_B64 :\r\n EncryptionType.AesCbc256_B64;\r\n }\r\n\r\n switch (this.encryptionType) {\r\n case EncryptionType.AesCbc128_HmacSha256_B64:\r\n case EncryptionType.AesCbc256_HmacSha256_B64:\r\n if (encPieces.length !== 3) {\r\n return;\r\n }\r\n\r\n this.iv = encPieces[0];\r\n this.data = encPieces[1];\r\n this.mac = encPieces[2];\r\n break;\r\n case EncryptionType.AesCbc256_B64:\r\n if (encPieces.length !== 2) {\r\n return;\r\n }\r\n\r\n this.iv = encPieces[0];\r\n this.data = encPieces[1];\r\n break;\r\n case EncryptionType.Rsa2048_OaepSha256_B64:\r\n case EncryptionType.Rsa2048_OaepSha1_B64:\r\n if (encPieces.length !== 1) {\r\n return;\r\n }\r\n\r\n this.data = encPieces[0];\r\n break;\r\n default:\r\n return;\r\n }\r\n }\r\n\r\n async decrypt(orgId: string, key: SymmetricCryptoKey = null): Promise {\r\n if (this.decryptedValue != null) {\r\n return this.decryptedValue;\r\n }\r\n\r\n let cryptoService: CryptoService;\r\n const containerService = (Utils.global as any).bitwardenContainerService;\r\n if (containerService) {\r\n cryptoService = containerService.getCryptoService();\r\n } else {\r\n throw new Error('global bitwardenContainerService not initialized.');\r\n }\r\n\r\n try {\r\n if (key == null) {\r\n key = await cryptoService.getOrgKey(orgId);\r\n }\r\n this.decryptedValue = await cryptoService.decryptToUtf8(this, key);\r\n } catch (e) {\r\n this.decryptedValue = '[error: cannot decrypt]';\r\n }\r\n return this.decryptedValue;\r\n }\r\n}\r\n","export enum OrganizationUserStatusType {\r\n Invited = 0,\r\n Accepted = 1,\r\n Confirmed = 2,\r\n}\r\n","export enum OrganizationUserType {\r\n Owner = 0,\r\n Admin = 1,\r\n User = 2,\r\n Manager = 3,\r\n}\r\n","import {\r\n Pipe,\r\n PipeTransform,\r\n} from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'search',\r\n})\r\nexport class SearchPipe implements PipeTransform {\r\n transform(items: any[], searchText: string, prop1?: string, prop2?: string, prop3?: string): any[] {\r\n if (items == null || items.length === 0) {\r\n return [];\r\n }\r\n\r\n if (searchText == null || searchText.length < 2) {\r\n return items;\r\n }\r\n\r\n searchText = searchText.trim().toLowerCase();\r\n return items.filter((i) => {\r\n if (prop1 != null && i[prop1] != null && i[prop1].toString().toLowerCase().indexOf(searchText) > -1) {\r\n return true;\r\n }\r\n if (prop2 != null && i[prop2] != null && i[prop2].toString().toLowerCase().indexOf(searchText) > -1) {\r\n return true;\r\n }\r\n if (prop3 != null && i[prop3] != null && i[prop3].toString().toLowerCase().indexOf(searchText) > -1) {\r\n return true;\r\n }\r\n return false;\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { DeviceType } from 'jslib/enums/deviceType';\r\nimport { EventType } from 'jslib/enums/eventType';\r\n\r\nimport { EventResponse } from 'jslib/models/response/eventResponse';\r\n\r\n@Injectable()\r\nexport class EventService {\r\n constructor(private i18nService: I18nService) { }\r\n\r\n getDefaultDateFilters() {\r\n const d = new Date();\r\n const end = new Date(d.getFullYear(), d.getMonth(), d.getDate(), 23, 59);\r\n d.setDate(d.getDate() - 30);\r\n const start = new Date(d.getFullYear(), d.getMonth(), d.getDate(), 0, 0);\r\n return [this.toDateTimeLocalString(start), this.toDateTimeLocalString(end)];\r\n }\r\n\r\n formatDateFilters(filterStart: string, filterEnd: string) {\r\n const start: Date = new Date(filterStart);\r\n const end: Date = new Date(filterEnd + ':59.999');\r\n if (isNaN(start.getTime()) || isNaN(end.getTime()) || end < start) {\r\n throw new Error('Invalid date range.');\r\n }\r\n return [start.toISOString(), end.toISOString()];\r\n }\r\n\r\n getEventInfo(ev: EventResponse, options = new EventOptions()): EventInfo {\r\n const appInfo = this.getAppInfo(ev.deviceType);\r\n return {\r\n message: this.getEventMessage(ev, options),\r\n appIcon: appInfo[0],\r\n appName: appInfo[1],\r\n };\r\n }\r\n\r\n private getEventMessage(ev: EventResponse, options: EventOptions) {\r\n let msg = '';\r\n switch (ev.type) {\r\n // User\r\n case EventType.User_LoggedIn:\r\n msg = this.i18nService.t('loggedIn');\r\n break;\r\n case EventType.User_ChangedPassword:\r\n msg = this.i18nService.t('changedPassword');\r\n break;\r\n case EventType.User_Updated2fa:\r\n msg = this.i18nService.t('enabledUpdated2fa');\r\n break;\r\n case EventType.User_Disabled2fa:\r\n msg = this.i18nService.t('disabled2fa');\r\n break;\r\n case EventType.User_Recovered2fa:\r\n msg = this.i18nService.t('recovered2fa');\r\n break;\r\n case EventType.User_FailedLogIn:\r\n msg = this.i18nService.t('failedLogin');\r\n break;\r\n case EventType.User_FailedLogIn2fa:\r\n msg = this.i18nService.t('failedLogin2fa');\r\n break;\r\n case EventType.User_ClientExportedVault:\r\n msg = this.i18nService.t('exportedVault');\r\n break;\r\n // Cipher\r\n case EventType.Cipher_Created:\r\n msg = this.i18nService.t('createdItemId', this.formatCipherId(ev, options));\r\n break;\r\n case EventType.Cipher_Updated:\r\n msg = this.i18nService.t('editedItemId', this.formatCipherId(ev, options));\r\n break;\r\n case EventType.Cipher_Deleted:\r\n msg = this.i18nService.t('permanentlyDeletedItemId', this.formatCipherId(ev, options));\r\n break;\r\n case EventType.Cipher_SoftDeleted:\r\n msg = this.i18nService.t('deletedItemId', this.formatCipherId(ev, options));\r\n break;\r\n case EventType.Cipher_Restored:\r\n msg = this.i18nService.t('restoredItemId', this.formatCipherId(ev, options));\r\n break;\r\n case EventType.Cipher_AttachmentCreated:\r\n msg = this.i18nService.t('createdAttachmentForItem', this.formatCipherId(ev, options));\r\n break;\r\n case EventType.Cipher_AttachmentDeleted:\r\n msg = this.i18nService.t('deletedAttachmentForItem', this.formatCipherId(ev, options));\r\n break;\r\n case EventType.Cipher_Shared:\r\n msg = this.i18nService.t('sharedItemId', this.formatCipherId(ev, options));\r\n break;\r\n case EventType.Cipher_ClientViewed:\r\n msg = this.i18nService.t('viewedItemId', this.formatCipherId(ev, options));\r\n break;\r\n case EventType.Cipher_ClientToggledPasswordVisible:\r\n msg = this.i18nService.t('viewedPasswordItemId', this.formatCipherId(ev, options));\r\n break;\r\n case EventType.Cipher_ClientToggledHiddenFieldVisible:\r\n msg = this.i18nService.t('viewedHiddenFieldItemId', this.formatCipherId(ev, options));\r\n break;\r\n case EventType.Cipher_ClientToggledCardCodeVisible:\r\n msg = this.i18nService.t('viewedSecurityCodeItemId', this.formatCipherId(ev, options));\r\n break;\r\n case EventType.Cipher_ClientCopiedHiddenField:\r\n msg = this.i18nService.t('copiedHiddenFieldItemId', this.formatCipherId(ev, options));\r\n break;\r\n case EventType.Cipher_ClientCopiedPassword:\r\n msg = this.i18nService.t('copiedPasswordItemId', this.formatCipherId(ev, options));\r\n break;\r\n case EventType.Cipher_ClientCopiedCardCode:\r\n msg = this.i18nService.t('copiedSecurityCodeItemId', this.formatCipherId(ev, options));\r\n break;\r\n case EventType.Cipher_ClientAutofilled:\r\n msg = this.i18nService.t('autofilledItemId', this.formatCipherId(ev, options));\r\n break;\r\n case EventType.Cipher_UpdatedCollections:\r\n msg = this.i18nService.t('editedCollectionsForItem', this.formatCipherId(ev, options));\r\n break;\r\n // Collection\r\n case EventType.Collection_Created:\r\n msg = this.i18nService.t('createdCollectionId', this.formatCollectionId(ev));\r\n break;\r\n case EventType.Collection_Updated:\r\n msg = this.i18nService.t('editedCollectionId', this.formatCollectionId(ev));\r\n break;\r\n case EventType.Collection_Deleted:\r\n msg = this.i18nService.t('deletedCollectionId', this.formatCollectionId(ev));\r\n break;\r\n // Group\r\n case EventType.Group_Created:\r\n msg = this.i18nService.t('createdGroupId', this.formatGroupId(ev));\r\n break;\r\n case EventType.Group_Updated:\r\n msg = this.i18nService.t('editedGroupId', this.formatGroupId(ev));\r\n break;\r\n case EventType.Group_Deleted:\r\n msg = this.i18nService.t('deletedGroupId', this.formatGroupId(ev));\r\n break;\r\n // Org user\r\n case EventType.OrganizationUser_Invited:\r\n msg = this.i18nService.t('invitedUserId', this.formatOrgUserId(ev));\r\n break;\r\n case EventType.OrganizationUser_Confirmed:\r\n msg = this.i18nService.t('confirmedUserId', this.formatOrgUserId(ev));\r\n break;\r\n case EventType.OrganizationUser_Updated:\r\n msg = this.i18nService.t('editedUserId', this.formatOrgUserId(ev));\r\n break;\r\n case EventType.OrganizationUser_Removed:\r\n msg = this.i18nService.t('removedUserId', this.formatOrgUserId(ev));\r\n break;\r\n case EventType.OrganizationUser_UpdatedGroups:\r\n msg = this.i18nService.t('editedGroupsForUser', this.formatOrgUserId(ev));\r\n break;\r\n // Org\r\n case EventType.Organization_Updated:\r\n msg = this.i18nService.t('editedOrgSettings');\r\n break;\r\n case EventType.Organization_PurgedVault:\r\n msg = this.i18nService.t('purgedOrganizationVault');\r\n break;\r\n /*\r\n case EventType.Organization_ClientExportedVault:\r\n msg = this.i18nService.t('exportedOrganizationVault');\r\n break;\r\n */\r\n default:\r\n break;\r\n }\r\n return msg === '' ? null : msg;\r\n }\r\n\r\n private getAppInfo(deviceType: DeviceType): [string, string] {\r\n switch (deviceType) {\r\n case DeviceType.Android:\r\n return ['fa-android', this.i18nService.t('mobile') + ' - Android'];\r\n case DeviceType.iOS:\r\n return ['fa-apple', this.i18nService.t('mobile') + ' - iOS'];\r\n case DeviceType.UWP:\r\n return ['fa-windows', this.i18nService.t('mobile') + ' - Windows'];\r\n case DeviceType.ChromeExtension:\r\n return ['fa-chrome', this.i18nService.t('extension') + ' - Chrome'];\r\n case DeviceType.FirefoxExtension:\r\n return ['fa-firefox', this.i18nService.t('extension') + ' - Firefox'];\r\n case DeviceType.OperaExtension:\r\n return ['fa-opera', this.i18nService.t('extension') + ' - Opera'];\r\n case DeviceType.EdgeExtension:\r\n return ['fa-edge', this.i18nService.t('extension') + ' - Edge'];\r\n case DeviceType.VivaldiExtension:\r\n return ['fa-puzzle-piece', this.i18nService.t('extension') + ' - Vivaldi'];\r\n case DeviceType.SafariExtension:\r\n return ['fa-safari', this.i18nService.t('extension') + ' - Safari'];\r\n case DeviceType.WindowsDesktop:\r\n return ['fa-windows', this.i18nService.t('desktop') + ' - Windows'];\r\n case DeviceType.MacOsDesktop:\r\n return ['fa-apple', this.i18nService.t('desktop') + ' - macOS'];\r\n case DeviceType.LinuxDesktop:\r\n return ['fa-linux', this.i18nService.t('desktop') + ' - Linux'];\r\n case DeviceType.ChromeBrowser:\r\n return ['fa-globe', this.i18nService.t('webVault') + ' - Chrome'];\r\n case DeviceType.FirefoxBrowser:\r\n return ['fa-globe', this.i18nService.t('webVault') + ' - Firefox'];\r\n case DeviceType.OperaBrowser:\r\n return ['fa-globe', this.i18nService.t('webVault') + ' - Opera'];\r\n case DeviceType.SafariBrowser:\r\n return ['fa-globe', this.i18nService.t('webVault') + ' - Safari'];\r\n case DeviceType.VivaldiBrowser:\r\n return ['fa-globe', this.i18nService.t('webVault') + ' - Vivaldi'];\r\n case DeviceType.EdgeBrowser:\r\n return ['fa-globe', this.i18nService.t('webVault') + ' - Edge'];\r\n case DeviceType.IEBrowser:\r\n return ['fa-globe', this.i18nService.t('webVault') + ' - IE'];\r\n case DeviceType.UnknownBrowser:\r\n return ['fa-globe', this.i18nService.t('webVault') + ' - ' + this.i18nService.t('unknown')];\r\n default:\r\n return ['fa-globe', this.i18nService.t('unknown')];\r\n }\r\n }\r\n\r\n private formatCipherId(ev: EventResponse, options: EventOptions) {\r\n const shortId = this.getShortId(ev.cipherId);\r\n if (ev.organizationId == null || !options.cipherInfo) {\r\n return '' + shortId + '';\r\n }\r\n const a = this.makeAnchor(shortId);\r\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/vault?search=' + shortId +\r\n '&viewEvents=' + ev.cipherId);\r\n return a.outerHTML;\r\n }\r\n\r\n private formatGroupId(ev: EventResponse) {\r\n const shortId = this.getShortId(ev.groupId);\r\n const a = this.makeAnchor(shortId);\r\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/groups?search=' + shortId);\r\n return a.outerHTML;\r\n }\r\n\r\n private formatCollectionId(ev: EventResponse) {\r\n const shortId = this.getShortId(ev.collectionId);\r\n const a = this.makeAnchor(shortId);\r\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/collections?search=' + shortId);\r\n return a.outerHTML;\r\n }\r\n\r\n private formatOrgUserId(ev: EventResponse) {\r\n const shortId = this.getShortId(ev.organizationUserId);\r\n const a = this.makeAnchor(shortId);\r\n a.setAttribute('href', '#/organizations/' + ev.organizationId + '/manage/people?search=' + shortId +\r\n '&viewEvents=' + ev.organizationUserId);\r\n return a.outerHTML;\r\n }\r\n\r\n private makeAnchor(shortId: string) {\r\n const a = document.createElement('a');\r\n a.title = this.i18nService.t('view');\r\n a.innerHTML = '' + shortId + '';\r\n return a;\r\n }\r\n\r\n private getShortId(id: string) {\r\n return id.substring(0, 8);\r\n }\r\n\r\n private toDateTimeLocalString(date: Date) {\r\n return date.getFullYear() +\r\n '-' + this.pad(date.getMonth() + 1) +\r\n '-' + this.pad(date.getDate()) +\r\n 'T' + this.pad(date.getHours()) +\r\n ':' + this.pad(date.getMinutes());\r\n }\r\n\r\n private pad(num: number) {\r\n const norm = Math.floor(Math.abs(num));\r\n return (norm < 10 ? '0' : '') + norm;\r\n }\r\n}\r\n\r\nexport class EventInfo {\r\n message: string;\r\n appIcon: string;\r\n appName: string;\r\n}\r\n\r\nexport class EventOptions {\r\n cipherInfo = true;\r\n}\r\n","export enum EventType {\r\n User_LoggedIn = 1000,\r\n User_ChangedPassword = 1001,\r\n User_Updated2fa = 1002,\r\n User_Disabled2fa = 1003,\r\n User_Recovered2fa = 1004,\r\n User_FailedLogIn = 1005,\r\n User_FailedLogIn2fa = 1006,\r\n User_ClientExportedVault = 1007,\r\n\r\n Cipher_Created = 1100,\r\n Cipher_Updated = 1101,\r\n Cipher_Deleted = 1102,\r\n Cipher_AttachmentCreated = 1103,\r\n Cipher_AttachmentDeleted = 1104,\r\n Cipher_Shared = 1105,\r\n Cipher_UpdatedCollections = 1106,\r\n Cipher_ClientViewed = 1107,\r\n Cipher_ClientToggledPasswordVisible = 1108,\r\n Cipher_ClientToggledHiddenFieldVisible = 1109,\r\n Cipher_ClientToggledCardCodeVisible = 1110,\r\n Cipher_ClientCopiedPassword = 1111,\r\n Cipher_ClientCopiedHiddenField = 1112,\r\n Cipher_ClientCopiedCardCode = 1113,\r\n Cipher_ClientAutofilled = 1114,\r\n Cipher_SoftDeleted = 1115,\r\n Cipher_Restored = 1116,\r\n\r\n Collection_Created = 1300,\r\n Collection_Updated = 1301,\r\n Collection_Deleted = 1302,\r\n\r\n Group_Created = 1400,\r\n Group_Updated = 1401,\r\n Group_Deleted = 1402,\r\n\r\n OrganizationUser_Invited = 1500,\r\n OrganizationUser_Confirmed = 1501,\r\n OrganizationUser_Updated = 1502,\r\n OrganizationUser_Removed = 1503,\r\n OrganizationUser_UpdatedGroups = 1504,\r\n\r\n Organization_Updated = 1600,\r\n Organization_PurgedVault = 1601,\r\n // Organization_ClientExportedVault = 1602,\r\n\r\n Policy_Created = 1700,\r\n Policy_Updated = 1701,\r\n Policy_Deleted = 1702,\r\n}\r\n","export enum PaymentMethodType {\r\n Card = 0,\r\n BankAccount = 1,\r\n PayPal = 2,\r\n BitPay = 3,\r\n Credit = 4,\r\n WireTransfer = 5,\r\n AppleInApp = 6,\r\n GoogleInApp = 7,\r\n Check = 8,\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\r\nimport { TwoFactorProviderRequest } from 'jslib/models/request/twoFactorProviderRequest';\r\n\r\n@Directive()\r\nexport abstract class TwoFactorBaseComponent {\r\n @Output() onUpdated = new EventEmitter();\r\n\r\n type: TwoFactorProviderType;\r\n organizationId: string;\r\n twoFactorProviderType = TwoFactorProviderType;\r\n enabled = false;\r\n authed = false;\r\n\r\n protected masterPasswordHash: string;\r\n\r\n constructor(protected apiService: ApiService, protected i18nService: I18nService,\r\n protected analytics: Angulartics2, protected toasterService: ToasterService,\r\n protected platformUtilsService: PlatformUtilsService) { }\r\n\r\n protected auth(authResponse: any) {\r\n this.masterPasswordHash = authResponse.masterPasswordHash;\r\n this.authed = true;\r\n }\r\n\r\n protected async enable(enableFunction: () => Promise) {\r\n try {\r\n await enableFunction();\r\n this.analytics.eventTrack.next({\r\n action: 'Enabled Two-step ' + TwoFactorProviderType[this.type].toString(),\r\n });\r\n this.onUpdated.emit(true);\r\n } catch { }\r\n }\r\n\r\n protected async disable(promise: Promise) {\r\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('twoStepDisableDesc'),\r\n this.i18nService.t('disable'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return;\r\n }\r\n\r\n try {\r\n const request = new TwoFactorProviderRequest();\r\n request.masterPasswordHash = this.masterPasswordHash;\r\n request.type = this.type;\r\n if (this.organizationId != null) {\r\n promise = this.apiService.putTwoFactorOrganizationDisable(this.organizationId, request);\r\n } else {\r\n promise = this.apiService.putTwoFactorDisable(request);\r\n }\r\n await promise;\r\n this.enabled = false;\r\n this.analytics.eventTrack.next({\r\n action: 'Disabled Two-step ' + TwoFactorProviderType[this.type].toString(),\r\n });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('twoStepDisabled'));\r\n this.onUpdated.emit(false);\r\n } catch { }\r\n }\r\n}\r\n","import {\r\n ComponentFactoryResolver,\r\n Directive,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\nimport { CipherView } from 'jslib/models/view/cipherView';\r\n\r\nimport { Organization } from 'jslib/models/domain/organization';\r\n\r\nimport { ModalComponent } from '../modal.component';\r\nimport { AddEditComponent as OrgAddEditComponent } from '../organizations/vault/add-edit.component';\r\nimport { AddEditComponent } from '../vault/add-edit.component';\r\n\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\n@Directive()\r\nexport class CipherReportComponent {\r\n @ViewChild('cipherAddEdit', { read: ViewContainerRef, static: true }) cipherAddEditModalRef: ViewContainerRef;\r\n\r\n loading = false;\r\n hasLoaded = false;\r\n ciphers: CipherView[] = [];\r\n organization: Organization;\r\n\r\n private modal: ModalComponent = null;\r\n\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver, protected userService: UserService,\r\n protected messagingService: MessagingService, public requiresPaid: boolean) { }\r\n\r\n async load() {\r\n this.loading = true;\r\n await this.setCiphers();\r\n this.loading = false;\r\n this.hasLoaded = true;\r\n }\r\n\r\n selectCipher(cipher: CipherView) {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.cipherAddEditModalRef.createComponent(factory).instance;\r\n let childComponent: OrgAddEditComponent | AddEditComponent;\r\n if (this.organization != null) {\r\n childComponent = this.modal.show(OrgAddEditComponent, this.cipherAddEditModalRef);\r\n (childComponent as OrgAddEditComponent).organization = this.organization;\r\n } else {\r\n childComponent = this.modal.show(AddEditComponent, this.cipherAddEditModalRef);\r\n }\r\n\r\n childComponent.cipherId = cipher == null ? null : cipher.id;\r\n if (this.organization != null) {\r\n childComponent.organizationId = this.organization.id;\r\n }\r\n childComponent.onSavedCipher.subscribe(async (c: CipherView) => {\r\n this.modal.close();\r\n await this.load();\r\n });\r\n childComponent.onDeletedCipher.subscribe(async (c: CipherView) => {\r\n this.modal.close();\r\n await this.load();\r\n });\r\n childComponent.onRestoredCipher.subscribe(async (c: CipherView) => {\r\n this.modal.close();\r\n await this.load();\r\n });\r\n\r\n this.modal.onClosed.subscribe(() => {\r\n this.modal = null;\r\n });\r\n\r\n return childComponent;\r\n }\r\n\r\n protected async checkAccess(): Promise {\r\n if (this.organization != null) {\r\n // TODO: Maybe we want to just make sure they are not on a free plan? Just compare useTotp for now\r\n // since all paid plans include useTotp\r\n if (this.requiresPaid && !this.organization.useTotp) {\r\n this.messagingService.send('upgradeOrganization', { organizationId: this.organization.id });\r\n return false;\r\n }\r\n } else {\r\n const accessPremium = await this.userService.canAccessPremium();\r\n if (this.requiresPaid && !accessPremium) {\r\n this.messagingService.send('premiumRequired');\r\n this.loading = false;\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n protected async setCiphers() {\r\n this.ciphers = [];\r\n }\r\n}\r\n","import { CipherType } from '../../enums/cipherType';\r\n\r\nimport { CipherData } from '../data/cipherData';\r\n\r\nimport { CipherView } from '../view/cipherView';\r\n\r\nimport { Attachment } from './attachment';\r\nimport { Card } from './card';\r\nimport { CipherString } from './cipherString';\r\nimport Domain from './domainBase';\r\nimport { Field } from './field';\r\nimport { Identity } from './identity';\r\nimport { Login } from './login';\r\nimport { Password } from './password';\r\nimport { SecureNote } from './secureNote';\r\n\r\nexport class Cipher extends Domain {\r\n id: string;\r\n organizationId: string;\r\n folderId: string;\r\n name: CipherString;\r\n notes: CipherString;\r\n type: CipherType;\r\n favorite: boolean;\r\n organizationUseTotp: boolean;\r\n edit: boolean;\r\n viewPassword: boolean;\r\n revisionDate: Date;\r\n localData: any;\r\n login: Login;\r\n identity: Identity;\r\n card: Card;\r\n secureNote: SecureNote;\r\n attachments: Attachment[];\r\n fields: Field[];\r\n passwordHistory: Password[];\r\n collectionIds: string[];\r\n deletedDate: Date;\r\n\r\n constructor(obj?: CipherData, alreadyEncrypted: boolean = false, localData: any = null) {\r\n super();\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.buildDomainModel(this, obj, {\r\n id: null,\r\n userId: null,\r\n organizationId: null,\r\n folderId: null,\r\n name: null,\r\n notes: null,\r\n }, alreadyEncrypted, ['id', 'userId', 'organizationId', 'folderId']);\r\n\r\n this.type = obj.type;\r\n this.favorite = obj.favorite;\r\n this.organizationUseTotp = obj.organizationUseTotp;\r\n this.edit = obj.edit;\r\n if (obj.viewPassword != null) {\r\n this.viewPassword = obj.viewPassword;\r\n } else {\r\n this.viewPassword = true; // Default for already synced Ciphers without viewPassword\r\n }\r\n this.revisionDate = obj.revisionDate != null ? new Date(obj.revisionDate) : null;\r\n this.collectionIds = obj.collectionIds;\r\n this.localData = localData;\r\n this.deletedDate = obj.deletedDate != null ? new Date(obj.deletedDate) : null;\r\n\r\n switch (this.type) {\r\n case CipherType.Login:\r\n this.login = new Login(obj.login, alreadyEncrypted);\r\n break;\r\n case CipherType.SecureNote:\r\n this.secureNote = new SecureNote(obj.secureNote, alreadyEncrypted);\r\n break;\r\n case CipherType.Card:\r\n this.card = new Card(obj.card, alreadyEncrypted);\r\n break;\r\n case CipherType.Identity:\r\n this.identity = new Identity(obj.identity, alreadyEncrypted);\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (obj.attachments != null) {\r\n this.attachments = obj.attachments.map((a) => new Attachment(a, alreadyEncrypted));\r\n } else {\r\n this.attachments = null;\r\n }\r\n\r\n if (obj.fields != null) {\r\n this.fields = obj.fields.map((f) => new Field(f, alreadyEncrypted));\r\n } else {\r\n this.fields = null;\r\n }\r\n\r\n if (obj.passwordHistory != null) {\r\n this.passwordHistory = obj.passwordHistory.map((ph) => new Password(ph, alreadyEncrypted));\r\n } else {\r\n this.passwordHistory = null;\r\n }\r\n }\r\n\r\n async decrypt(): Promise {\r\n const model = new CipherView(this);\r\n\r\n await this.decryptObj(model, {\r\n name: null,\r\n notes: null,\r\n }, this.organizationId);\r\n\r\n switch (this.type) {\r\n case CipherType.Login:\r\n model.login = await this.login.decrypt(this.organizationId);\r\n break;\r\n case CipherType.SecureNote:\r\n model.secureNote = await this.secureNote.decrypt(this.organizationId);\r\n break;\r\n case CipherType.Card:\r\n model.card = await this.card.decrypt(this.organizationId);\r\n break;\r\n case CipherType.Identity:\r\n model.identity = await this.identity.decrypt(this.organizationId);\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n const orgId = this.organizationId;\r\n\r\n if (this.attachments != null && this.attachments.length > 0) {\r\n const attachments: any[] = [];\r\n await this.attachments.reduce((promise, attachment) => {\r\n return promise.then(() => {\r\n return attachment.decrypt(orgId);\r\n }).then((decAttachment) => {\r\n attachments.push(decAttachment);\r\n });\r\n }, Promise.resolve());\r\n model.attachments = attachments;\r\n }\r\n\r\n if (this.fields != null && this.fields.length > 0) {\r\n const fields: any[] = [];\r\n await this.fields.reduce((promise, field) => {\r\n return promise.then(() => {\r\n return field.decrypt(orgId);\r\n }).then((decField) => {\r\n fields.push(decField);\r\n });\r\n }, Promise.resolve());\r\n model.fields = fields;\r\n }\r\n\r\n if (this.passwordHistory != null && this.passwordHistory.length > 0) {\r\n const passwordHistory: any[] = [];\r\n await this.passwordHistory.reduce((promise, ph) => {\r\n return promise.then(() => {\r\n return ph.decrypt(orgId);\r\n }).then((decPh) => {\r\n passwordHistory.push(decPh);\r\n });\r\n }, Promise.resolve());\r\n model.passwordHistory = passwordHistory;\r\n }\r\n\r\n return model;\r\n }\r\n\r\n toCipherData(userId: string): CipherData {\r\n const c = new CipherData();\r\n c.id = this.id;\r\n c.organizationId = this.organizationId;\r\n c.folderId = this.folderId;\r\n c.userId = this.organizationId != null ? userId : null;\r\n c.edit = this.edit;\r\n c.viewPassword = this.viewPassword;\r\n c.organizationUseTotp = this.organizationUseTotp;\r\n c.favorite = this.favorite;\r\n c.revisionDate = this.revisionDate != null ? this.revisionDate.toISOString() : null;\r\n c.type = this.type;\r\n c.collectionIds = this.collectionIds;\r\n c.deletedDate = this.deletedDate != null ? this.deletedDate.toISOString() : null;\r\n\r\n this.buildDataModel(this, c, {\r\n name: null,\r\n notes: null,\r\n });\r\n\r\n switch (c.type) {\r\n case CipherType.Login:\r\n c.login = this.login.toLoginData();\r\n break;\r\n case CipherType.SecureNote:\r\n c.secureNote = this.secureNote.toSecureNoteData();\r\n break;\r\n case CipherType.Card:\r\n c.card = this.card.toCardData();\r\n break;\r\n case CipherType.Identity:\r\n c.identity = this.identity.toIdentityData();\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (this.fields != null) {\r\n c.fields = this.fields.map((f) => f.toFieldData());\r\n }\r\n if (this.attachments != null) {\r\n c.attachments = this.attachments.map((a) => a.toAttachmentData());\r\n }\r\n if (this.passwordHistory != null) {\r\n c.passwordHistory = this.passwordHistory.map((ph) => ph.toPasswordHistoryData());\r\n }\r\n return c;\r\n }\r\n}\r\n","import { UriMatchType } from '../../enums/uriMatchType';\r\n\r\nimport { View } from './view';\r\n\r\nimport { LoginUri } from '../domain/loginUri';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\nconst CanLaunchWhitelist = [\r\n 'https://',\r\n 'http://',\r\n 'ssh://',\r\n 'ftp://',\r\n 'sftp://',\r\n 'irc://',\r\n 'vnc://',\r\n // https://docs.microsoft.com/en-us/windows-server/remote/remote-desktop-services/clients/remote-desktop-uri\r\n 'rdp://', // Legacy RDP URI scheme\r\n 'ms-rd:', // Preferred RDP URI scheme\r\n 'chrome://',\r\n 'iosapp://',\r\n 'androidapp://',\r\n];\r\n\r\nexport class LoginUriView implements View {\r\n match: UriMatchType = null;\r\n\r\n // tslint:disable\r\n private _uri: string = null;\r\n private _domain: string = null;\r\n private _hostname: string = null;\r\n private _host: string = null;\r\n private _canLaunch: boolean = null;\r\n // tslint:enable\r\n\r\n constructor(u?: LoginUri) {\r\n if (!u) {\r\n return;\r\n }\r\n\r\n this.match = u.match;\r\n }\r\n\r\n get uri(): string {\r\n return this._uri;\r\n }\r\n set uri(value: string) {\r\n this._uri = value;\r\n this._domain = null;\r\n this._canLaunch = null;\r\n }\r\n\r\n get domain(): string {\r\n if (this._domain == null && this.uri != null) {\r\n this._domain = Utils.getDomain(this.uri);\r\n if (this._domain === '') {\r\n this._domain = null;\r\n }\r\n }\r\n\r\n return this._domain;\r\n }\r\n\r\n get hostname(): string {\r\n if (this.match === UriMatchType.RegularExpression) {\r\n return null;\r\n }\r\n if (this._hostname == null && this.uri != null) {\r\n this._hostname = Utils.getHostname(this.uri);\r\n if (this._hostname === '') {\r\n this._hostname = null;\r\n }\r\n }\r\n\r\n return this._hostname;\r\n }\r\n\r\n get host(): string {\r\n if (this.match === UriMatchType.RegularExpression) {\r\n return null;\r\n }\r\n if (this._host == null && this.uri != null) {\r\n this._host = Utils.getHost(this.uri);\r\n if (this._host === '') {\r\n this._host = null;\r\n }\r\n }\r\n\r\n return this._host;\r\n }\r\n\r\n get hostnameOrUri(): string {\r\n return this.hostname != null ? this.hostname : this.uri;\r\n }\r\n\r\n get hostOrUri(): string {\r\n return this.host != null ? this.host : this.uri;\r\n }\r\n\r\n get isWebsite(): boolean {\r\n return this.uri != null && (this.uri.indexOf('http://') === 0 || this.uri.indexOf('https://') === 0 ||\r\n (this.uri.indexOf('://') < 0 && Utils.tldEndingRegex.test(this.uri)));\r\n }\r\n\r\n get canLaunch(): boolean {\r\n if (this._canLaunch != null) {\r\n return this._canLaunch;\r\n }\r\n if (this.uri != null && this.match !== UriMatchType.RegularExpression) {\r\n const uri = this.launchUri;\r\n for (let i = 0; i < CanLaunchWhitelist.length; i++) {\r\n if (uri.indexOf(CanLaunchWhitelist[i]) === 0) {\r\n this._canLaunch = true;\r\n return this._canLaunch;\r\n }\r\n }\r\n }\r\n this._canLaunch = false;\r\n return this._canLaunch;\r\n }\r\n\r\n get launchUri(): string {\r\n return this.uri.indexOf('://') < 0 && Utils.tldEndingRegex.test(this.uri) ? ('http://' + this.uri) : this.uri;\r\n }\r\n}\r\n","import { Importer } from '../importers/importer';\r\n\r\nexport interface ImportOption {\r\n id: string;\r\n name: string;\r\n}\r\nexport abstract class ImportService {\r\n featuredImportOptions: ImportOption[];\r\n regularImportOptions: ImportOption[];\r\n getImportOptions: () => ImportOption[];\r\n import: (importer: Importer, fileContents: string, organizationId?: string) => Promise;\r\n getImporter: (format: string, organization?: boolean) => Importer;\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { EventService } from 'jslib/abstractions/event.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { SearchService } from 'jslib/abstractions/search.service';\r\n\r\nimport { CiphersComponent as BaseCiphersComponent } from 'jslib/angular/components/ciphers.component';\r\n\r\nimport { CipherType } from 'jslib/enums/cipherType';\r\nimport { EventType } from 'jslib/enums/eventType';\r\n\r\nimport { CipherView } from 'jslib/models/view/cipherView';\r\n\r\nconst MaxCheckedCount = 500;\r\n\r\n@Component({\r\n selector: 'app-vault-ciphers',\r\n templateUrl: 'ciphers.component.html',\r\n})\r\nexport class CiphersComponent extends BaseCiphersComponent implements OnDestroy {\r\n @Input() showAddNew = true;\r\n @Output() onAttachmentsClicked = new EventEmitter();\r\n @Output() onShareClicked = new EventEmitter();\r\n @Output() onCollectionsClicked = new EventEmitter();\r\n @Output() onCloneClicked = new EventEmitter();\r\n\r\n cipherType = CipherType;\r\n actionPromise: Promise;\r\n\r\n constructor(searchService: SearchService, protected analytics: Angulartics2,\r\n protected toasterService: ToasterService, protected i18nService: I18nService,\r\n protected platformUtilsService: PlatformUtilsService, protected cipherService: CipherService,\r\n protected eventService: EventService) {\r\n super(searchService);\r\n this.pageSize = 200;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.selectAll(false);\r\n }\r\n\r\n launch(uri: string) {\r\n this.platformUtilsService.eventTrack('Launched Login URI');\r\n this.platformUtilsService.launchUri(uri);\r\n }\r\n\r\n attachments(c: CipherView) {\r\n this.onAttachmentsClicked.emit(c);\r\n }\r\n\r\n share(c: CipherView) {\r\n this.onShareClicked.emit(c);\r\n }\r\n\r\n collections(c: CipherView) {\r\n this.onCollectionsClicked.emit(c);\r\n }\r\n\r\n clone(c: CipherView) {\r\n this.onCloneClicked.emit(c);\r\n }\r\n\r\n async delete(c: CipherView): Promise {\r\n if (this.actionPromise != null) {\r\n return;\r\n }\r\n const permanent = c.isDeleted;\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t(permanent ? 'permanentlyDeleteItemConfirmation' : 'deleteItemConfirmation'),\r\n this.i18nService.t(permanent ? 'permanentlyDeleteItem' : 'deleteItem'),\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n this.actionPromise = this.deleteCipher(c.id, permanent);\r\n await this.actionPromise;\r\n this.analytics.eventTrack.next({ action: 'Deleted Cipher' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t(permanent ? 'permanentlyDeletedItem'\r\n : 'deletedItem'));\r\n this.refresh();\r\n } catch { }\r\n this.actionPromise = null;\r\n }\r\n\r\n async restore(c: CipherView): Promise {\r\n if (this.actionPromise != null || !c.isDeleted) {\r\n return;\r\n }\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('restoreItemConfirmation'),\r\n this.i18nService.t('restoreItem'),\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n this.actionPromise = this.cipherService.restoreWithServer(c.id);\r\n await this.actionPromise;\r\n this.analytics.eventTrack.next({ action: 'Restored Cipher' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('restoredItem'));\r\n this.refresh();\r\n } catch { }\r\n this.actionPromise = null;\r\n }\r\n\r\n copy(cipher: CipherView, value: string, typeI18nKey: string, aType: string) {\r\n if (value == null) {\r\n return;\r\n }\r\n\r\n this.analytics.eventTrack.next({ action: 'Copied ' + aType.toLowerCase() + ' from listing.' });\r\n this.platformUtilsService.copyToClipboard(value, { window: window });\r\n this.toasterService.popAsync('info', null,\r\n this.i18nService.t('valueCopied', this.i18nService.t(typeI18nKey)));\r\n\r\n if (typeI18nKey === 'password') {\r\n this.eventService.collect(EventType.Cipher_ClientToggledHiddenFieldVisible, cipher.id);\r\n } else if (typeI18nKey === 'securityCode') {\r\n this.eventService.collect(EventType.Cipher_ClientCopiedCardCode, cipher.id);\r\n }\r\n }\r\n\r\n selectAll(select: boolean) {\r\n if (select) {\r\n this.selectAll(false);\r\n }\r\n const selectCount = select && this.ciphers.length > MaxCheckedCount\r\n ? MaxCheckedCount\r\n : this.ciphers.length;\r\n for (let i = 0; i < selectCount; i++) {\r\n this.checkCipher(this.ciphers[i], select);\r\n }\r\n }\r\n\r\n checkCipher(c: CipherView, select?: boolean) {\r\n (c as any).checked = select == null ? !(c as any).checked : select;\r\n }\r\n\r\n getSelected(): CipherView[] {\r\n if (this.ciphers == null) {\r\n return [];\r\n }\r\n return this.ciphers.filter((c) => !!(c as any).checked);\r\n }\r\n\r\n getSelectedIds(): string[] {\r\n return this.getSelected().map((c) => c.id);\r\n }\r\n\r\n protected deleteCipher(id: string, permanent: boolean) {\r\n return permanent ? this.cipherService.deleteWithServer(id) : this.cipherService.softDeleteWithServer(id);\r\n }\r\n\r\n protected showFixOldAttachments(c: CipherView) {\r\n return c.hasOldAttachments && c.organizationId == null;\r\n }\r\n}\r\n","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n {{c.name}}\r\n \r\n \r\n {{'shared' | i18n}}\r\n \r\n \r\n \r\n {{'attachments' | i18n}}\r\n \r\n \r\n {{'attachmentsNeedFix' | i18n}}\r\n \r\n \r\n
\r\n {{c.subTitle}}\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n {{'loading' | i18n}}\r\n \r\n \r\n

{{'noItemsInList' | i18n}}

\r\n \r\n
\r\n
\r\n
\r\n","import { SendData } from '../models/data/sendData';\r\n\r\nimport { Send } from '../models/domain/send';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\n\r\nimport { SendView } from '../models/view/sendView';\r\n\r\nexport abstract class SendService {\r\n decryptedSendCache: SendView[];\r\n\r\n clearCache: () => void;\r\n encrypt: (model: SendView, file: File, password: string, key?: SymmetricCryptoKey) => Promise<[Send, ArrayBuffer]>;\r\n get: (id: string) => Promise;\r\n getAll: () => Promise;\r\n getAllDecrypted: () => Promise;\r\n saveWithServer: (sendData: [Send, ArrayBuffer]) => Promise;\r\n upsert: (send: SendData | SendData[]) => Promise;\r\n replace: (sends: { [id: string]: SendData; }) => Promise;\r\n clear: (userId: string) => Promise;\r\n delete: (id: string | string[]) => Promise;\r\n deleteWithServer: (id: string) => Promise;\r\n}\r\n","export enum KdfType {\r\n PBKDF2_SHA256 = 0,\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n OnChanges,\r\n} from '@angular/core';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\n@Component({\r\n selector: 'app-password-strength',\r\n templateUrl: 'password-strength.component.html',\r\n})\r\nexport class PasswordStrengthComponent implements OnChanges {\r\n @Input() score?: number;\r\n @Input() showText = false;\r\n\r\n scoreWidth = 0;\r\n color = 'bg-danger';\r\n text: string;\r\n\r\n constructor(private i18nService: I18nService) { }\r\n\r\n ngOnChanges(): void {\r\n this.scoreWidth = this.score == null ? 0 : (this.score + 1) * 20;\r\n switch (this.score) {\r\n case 4:\r\n this.color = 'bg-success';\r\n this.text = this.i18nService.t('strong');\r\n break;\r\n case 3:\r\n this.color = 'bg-primary';\r\n this.text = this.i18nService.t('good');\r\n break;\r\n case 2:\r\n this.color = 'bg-warning';\r\n this.text = this.i18nService.t('weak');\r\n break;\r\n default:\r\n this.color = 'bg-danger';\r\n this.text = this.score != null ? this.i18nService.t('weak') : null;\r\n break;\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n \r\n {{text}}\r\n \r\n
\r\n
\r\n","import { KdfType } from '../enums/kdfType';\r\nimport { TwoFactorProviderType } from '../enums/twoFactorProviderType';\r\n\r\nimport { AuthResult } from '../models/domain/authResult';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\n\r\nimport { DeviceRequest } from '../models/request/deviceRequest';\r\nimport { KeysRequest } from '../models/request/keysRequest';\r\nimport { PreloginRequest } from '../models/request/preloginRequest';\r\nimport { TokenRequest } from '../models/request/tokenRequest';\r\n\r\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\r\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\r\n\r\nimport { ApiService } from '../abstractions/api.service';\r\nimport { AppIdService } from '../abstractions/appId.service';\r\nimport { AuthService as AuthServiceAbstraction } from '../abstractions/auth.service';\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport { I18nService } from '../abstractions/i18n.service';\r\nimport { MessagingService } from '../abstractions/messaging.service';\r\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\r\nimport { TokenService } from '../abstractions/token.service';\r\nimport { UserService } from '../abstractions/user.service';\r\nimport { VaultTimeoutService } from '../abstractions/vaultTimeout.service';\r\n\r\nexport const TwoFactorProviders = {\r\n [TwoFactorProviderType.Authenticator]: {\r\n type: TwoFactorProviderType.Authenticator,\r\n name: null as string,\r\n description: null as string,\r\n priority: 1,\r\n sort: 1,\r\n premium: false,\r\n },\r\n [TwoFactorProviderType.Yubikey]: {\r\n type: TwoFactorProviderType.Yubikey,\r\n name: null as string,\r\n description: null as string,\r\n priority: 3,\r\n sort: 2,\r\n premium: true,\r\n },\r\n [TwoFactorProviderType.Duo]: {\r\n type: TwoFactorProviderType.Duo,\r\n name: 'Duo',\r\n description: null as string,\r\n priority: 2,\r\n sort: 3,\r\n premium: true,\r\n },\r\n [TwoFactorProviderType.OrganizationDuo]: {\r\n type: TwoFactorProviderType.OrganizationDuo,\r\n name: 'Duo (Organization)',\r\n description: null as string,\r\n priority: 10,\r\n sort: 4,\r\n premium: false,\r\n },\r\n [TwoFactorProviderType.U2f]: {\r\n type: TwoFactorProviderType.U2f,\r\n name: null as string,\r\n description: null as string,\r\n priority: 4,\r\n sort: 5,\r\n premium: true,\r\n },\r\n [TwoFactorProviderType.Email]: {\r\n type: TwoFactorProviderType.Email,\r\n name: null as string,\r\n description: null as string,\r\n priority: 0,\r\n sort: 6,\r\n premium: false,\r\n },\r\n};\r\n\r\nexport class AuthService implements AuthServiceAbstraction {\r\n email: string;\r\n masterPasswordHash: string;\r\n code: string;\r\n codeVerifier: string;\r\n ssoRedirectUrl: string;\r\n clientId: string;\r\n clientSecret: string;\r\n twoFactorProvidersData: Map;\r\n selectedTwoFactorProviderType: TwoFactorProviderType = null;\r\n\r\n private key: SymmetricCryptoKey;\r\n\r\n constructor(private cryptoService: CryptoService, private apiService: ApiService,\r\n private userService: UserService, private tokenService: TokenService,\r\n private appIdService: AppIdService, private i18nService: I18nService,\r\n private platformUtilsService: PlatformUtilsService, private messagingService: MessagingService,\r\n private vaultTimeoutService: VaultTimeoutService, private setCryptoKeys = true) { }\r\n\r\n init() {\r\n TwoFactorProviders[TwoFactorProviderType.Email].name = this.i18nService.t('emailTitle');\r\n TwoFactorProviders[TwoFactorProviderType.Email].description = this.i18nService.t('emailDesc');\r\n\r\n TwoFactorProviders[TwoFactorProviderType.Authenticator].name = this.i18nService.t('authenticatorAppTitle');\r\n TwoFactorProviders[TwoFactorProviderType.Authenticator].description =\r\n this.i18nService.t('authenticatorAppDesc');\r\n\r\n TwoFactorProviders[TwoFactorProviderType.Duo].description = this.i18nService.t('duoDesc');\r\n\r\n TwoFactorProviders[TwoFactorProviderType.OrganizationDuo].name =\r\n 'Duo (' + this.i18nService.t('organization') + ')';\r\n TwoFactorProviders[TwoFactorProviderType.OrganizationDuo].description =\r\n this.i18nService.t('duoOrganizationDesc');\r\n\r\n TwoFactorProviders[TwoFactorProviderType.U2f].name = this.i18nService.t('u2fTitle');\r\n TwoFactorProviders[TwoFactorProviderType.U2f].description = this.i18nService.t('u2fDesc');\r\n\r\n TwoFactorProviders[TwoFactorProviderType.Yubikey].name = this.i18nService.t('yubiKeyTitle');\r\n TwoFactorProviders[TwoFactorProviderType.Yubikey].description = this.i18nService.t('yubiKeyDesc');\r\n }\r\n\r\n async logIn(email: string, masterPassword: string): Promise {\r\n this.selectedTwoFactorProviderType = null;\r\n const key = await this.makePreloginKey(masterPassword, email);\r\n const hashedPassword = await this.cryptoService.hashPassword(masterPassword, key);\r\n return await this.logInHelper(email, hashedPassword, null, null, null, null, null,\r\n key, null, null, null);\r\n }\r\n\r\n async logInSso(code: string, codeVerifier: string, redirectUrl: string): Promise {\r\n this.selectedTwoFactorProviderType = null;\r\n return await this.logInHelper(null, null, code, codeVerifier, redirectUrl, null, null,\r\n null, null, null, null);\r\n }\r\n\r\n async logInApiKey(clientId: string, clientSecret: string): Promise {\r\n this.selectedTwoFactorProviderType = null;\r\n return await this.logInHelper(null, null, null, null, null, clientId, clientSecret,\r\n null, null, null, null);\r\n }\r\n\r\n async logInTwoFactor(twoFactorProvider: TwoFactorProviderType, twoFactorToken: string,\r\n remember?: boolean): Promise {\r\n return await this.logInHelper(this.email, this.masterPasswordHash, this.code, this.codeVerifier,\r\n this.ssoRedirectUrl, this.clientId, this.clientSecret, this.key, twoFactorProvider,\r\n twoFactorToken, remember);\r\n }\r\n\r\n async logInComplete(email: string, masterPassword: string, twoFactorProvider: TwoFactorProviderType,\r\n twoFactorToken: string, remember?: boolean): Promise {\r\n this.selectedTwoFactorProviderType = null;\r\n const key = await this.makePreloginKey(masterPassword, email);\r\n const hashedPassword = await this.cryptoService.hashPassword(masterPassword, key);\r\n return await this.logInHelper(email, hashedPassword, null, null, null, null, null, key,\r\n twoFactorProvider, twoFactorToken, remember);\r\n }\r\n\r\n async logInSsoComplete(code: string, codeVerifier: string, redirectUrl: string,\r\n twoFactorProvider: TwoFactorProviderType, twoFactorToken: string, remember?: boolean): Promise {\r\n this.selectedTwoFactorProviderType = null;\r\n return await this.logInHelper(null, null, code, codeVerifier, redirectUrl, null,\r\n null, null, twoFactorProvider, twoFactorToken, remember);\r\n }\r\n\r\n async logInApiKeyComplete(clientId: string, clientSecret: string, twoFactorProvider: TwoFactorProviderType,\r\n twoFactorToken: string, remember?: boolean): Promise {\r\n this.selectedTwoFactorProviderType = null;\r\n return await this.logInHelper(null, null, null, null, null, clientId, clientSecret, null,\r\n twoFactorProvider, twoFactorToken, remember);\r\n }\r\n\r\n logOut(callback: Function) {\r\n callback();\r\n this.messagingService.send('loggedOut');\r\n }\r\n\r\n getSupportedTwoFactorProviders(win: Window): any[] {\r\n const providers: any[] = [];\r\n if (this.twoFactorProvidersData == null) {\r\n return providers;\r\n }\r\n\r\n if (this.twoFactorProvidersData.has(TwoFactorProviderType.OrganizationDuo) &&\r\n this.platformUtilsService.supportsDuo()) {\r\n providers.push(TwoFactorProviders[TwoFactorProviderType.OrganizationDuo]);\r\n }\r\n\r\n if (this.twoFactorProvidersData.has(TwoFactorProviderType.Authenticator)) {\r\n providers.push(TwoFactorProviders[TwoFactorProviderType.Authenticator]);\r\n }\r\n\r\n if (this.twoFactorProvidersData.has(TwoFactorProviderType.Yubikey)) {\r\n providers.push(TwoFactorProviders[TwoFactorProviderType.Yubikey]);\r\n }\r\n\r\n if (this.twoFactorProvidersData.has(TwoFactorProviderType.Duo) && this.platformUtilsService.supportsDuo()) {\r\n providers.push(TwoFactorProviders[TwoFactorProviderType.Duo]);\r\n }\r\n\r\n if (this.twoFactorProvidersData.has(TwoFactorProviderType.U2f) && this.platformUtilsService.supportsU2f(win)) {\r\n providers.push(TwoFactorProviders[TwoFactorProviderType.U2f]);\r\n }\r\n\r\n if (this.twoFactorProvidersData.has(TwoFactorProviderType.Email)) {\r\n providers.push(TwoFactorProviders[TwoFactorProviderType.Email]);\r\n }\r\n\r\n return providers;\r\n }\r\n\r\n getDefaultTwoFactorProvider(u2fSupported: boolean): TwoFactorProviderType {\r\n if (this.twoFactorProvidersData == null) {\r\n return null;\r\n }\r\n\r\n if (this.selectedTwoFactorProviderType != null &&\r\n this.twoFactorProvidersData.has(this.selectedTwoFactorProviderType)) {\r\n return this.selectedTwoFactorProviderType;\r\n }\r\n\r\n let providerType: TwoFactorProviderType = null;\r\n let providerPriority = -1;\r\n this.twoFactorProvidersData.forEach((value, type) => {\r\n const provider = (TwoFactorProviders as any)[type];\r\n if (provider != null && provider.priority > providerPriority) {\r\n if (type === TwoFactorProviderType.U2f && !u2fSupported) {\r\n return;\r\n }\r\n\r\n providerType = type;\r\n providerPriority = provider.priority;\r\n }\r\n });\r\n\r\n return providerType;\r\n }\r\n\r\n async makePreloginKey(masterPassword: string, email: string): Promise {\r\n email = email.trim().toLowerCase();\r\n let kdf: KdfType = null;\r\n let kdfIterations: number = null;\r\n try {\r\n const preloginResponse = await this.apiService.postPrelogin(new PreloginRequest(email));\r\n if (preloginResponse != null) {\r\n kdf = preloginResponse.kdf;\r\n kdfIterations = preloginResponse.kdfIterations;\r\n }\r\n } catch (e) {\r\n if (e == null || e.statusCode !== 404) {\r\n throw e;\r\n }\r\n }\r\n return this.cryptoService.makeKey(masterPassword, email, kdf, kdfIterations);\r\n }\r\n\r\n authingWithApiKey(): boolean {\r\n return this.clientId != null && this.clientSecret != null;\r\n }\r\n\r\n authingWithSso(): boolean {\r\n return this.code != null && this.codeVerifier != null && this.ssoRedirectUrl != null;\r\n }\r\n\r\n authingWithPassword(): boolean {\r\n return this.email != null && this.masterPasswordHash != null;\r\n }\r\n\r\n private async logInHelper(email: string, hashedPassword: string, code: string, codeVerifier: string,\r\n redirectUrl: string, clientId: string, clientSecret: string, key: SymmetricCryptoKey,\r\n twoFactorProvider?: TwoFactorProviderType, twoFactorToken?: string, remember?: boolean): Promise {\r\n const storedTwoFactorToken = await this.tokenService.getTwoFactorToken(email);\r\n const appId = await this.appIdService.getAppId();\r\n const deviceRequest = new DeviceRequest(appId, this.platformUtilsService);\r\n\r\n let emailPassword: string[] = [];\r\n let codeCodeVerifier: string[] = [];\r\n let clientIdClientSecret: string[] = [];\r\n\r\n if (email != null && hashedPassword != null) {\r\n emailPassword = [email, hashedPassword];\r\n } else {\r\n emailPassword = null;\r\n }\r\n if (code != null && codeVerifier != null && redirectUrl != null) {\r\n codeCodeVerifier = [code, codeVerifier, redirectUrl];\r\n } else {\r\n codeCodeVerifier = null;\r\n }\r\n if (clientId != null && clientSecret != null) {\r\n clientIdClientSecret = [clientId, clientSecret]\r\n } else {\r\n clientIdClientSecret = null;\r\n }\r\n\r\n let request: TokenRequest;\r\n if (twoFactorToken != null && twoFactorProvider != null) {\r\n request = new TokenRequest(emailPassword, codeCodeVerifier, clientIdClientSecret, twoFactorProvider,\r\n twoFactorToken, remember, deviceRequest);\r\n } else if (storedTwoFactorToken != null) {\r\n request = new TokenRequest(emailPassword, codeCodeVerifier, clientIdClientSecret, TwoFactorProviderType.Remember,\r\n storedTwoFactorToken, false, deviceRequest);\r\n } else {\r\n request = new TokenRequest(emailPassword, codeCodeVerifier, clientIdClientSecret, null,\r\n null, false, deviceRequest);\r\n }\r\n\r\n const response = await this.apiService.postIdentityToken(request);\r\n\r\n this.clearState();\r\n const result = new AuthResult();\r\n result.twoFactor = !(response as any).accessToken;\r\n\r\n if (result.twoFactor) {\r\n // two factor required\r\n const twoFactorResponse = response as IdentityTwoFactorResponse;\r\n this.email = email;\r\n this.masterPasswordHash = hashedPassword;\r\n this.code = code;\r\n this.codeVerifier = codeVerifier;\r\n this.ssoRedirectUrl = redirectUrl;\r\n this.clientId = clientId;\r\n this.clientSecret = clientSecret;\r\n this.key = this.setCryptoKeys ? key : null;\r\n this.twoFactorProvidersData = twoFactorResponse.twoFactorProviders2;\r\n result.twoFactorProviders = twoFactorResponse.twoFactorProviders2;\r\n return result;\r\n }\r\n\r\n const tokenResponse = response as IdentityTokenResponse;\r\n result.resetMasterPassword = tokenResponse.resetMasterPassword;\r\n if (tokenResponse.twoFactorToken != null) {\r\n await this.tokenService.setTwoFactorToken(tokenResponse.twoFactorToken, email);\r\n }\r\n\r\n await this.tokenService.setTokens(tokenResponse.accessToken, tokenResponse.refreshToken);\r\n await this.userService.setInformation(this.tokenService.getUserId(), this.tokenService.getEmail(),\r\n tokenResponse.kdf, tokenResponse.kdfIterations);\r\n if (this.setCryptoKeys) {\r\n if (key != null) {\r\n await this.cryptoService.setKey(key);\r\n }\r\n if (hashedPassword != null) {\r\n await this.cryptoService.setKeyHash(hashedPassword);\r\n }\r\n\r\n // Skip this step during SSO new user flow. No key is returned from server.\r\n if (code == null || tokenResponse.key != null) {\r\n await this.cryptoService.setEncKey(tokenResponse.key);\r\n\r\n // User doesn't have a key pair yet (old account), let's generate one for them\r\n if (tokenResponse.privateKey == null) {\r\n try {\r\n const keyPair = await this.cryptoService.makeKeyPair();\r\n await this.apiService.postAccountKeys(new KeysRequest(keyPair[0], keyPair[1].encryptedString));\r\n tokenResponse.privateKey = keyPair[1].encryptedString;\r\n } catch (e) {\r\n // tslint:disable-next-line\r\n console.error(e);\r\n }\r\n }\r\n\r\n await this.cryptoService.setEncPrivateKey(tokenResponse.privateKey);\r\n }\r\n }\r\n\r\n if (this.vaultTimeoutService != null) {\r\n this.vaultTimeoutService.biometricLocked = false;\r\n }\r\n this.messagingService.send('loggedIn');\r\n return result;\r\n }\r\n\r\n private clearState(): void {\r\n this.key = null;\r\n this.email = null;\r\n this.masterPasswordHash = null;\r\n this.code = null;\r\n this.codeVerifier = null;\r\n this.ssoRedirectUrl = null;\r\n this.clientId = null;\r\n this.clientSecret = null;\r\n this.twoFactorProvidersData = null;\r\n this.selectedTwoFactorProviderType = null;\r\n }\r\n}\r\n","export class SelectionReadOnlyRequest {\r\n id: string;\r\n readOnly: boolean;\r\n hidePasswords: boolean;\r\n\r\n constructor(id: string, readOnly: boolean, hidePasswords: boolean) {\r\n this.id = id;\r\n this.readOnly = readOnly;\r\n this.hidePasswords = hidePasswords;\r\n }\r\n}\r\n","export enum DeviceType {\r\n Android = 0,\r\n iOS = 1,\r\n ChromeExtension = 2,\r\n FirefoxExtension = 3,\r\n OperaExtension = 4,\r\n EdgeExtension = 5,\r\n WindowsDesktop = 6,\r\n MacOsDesktop = 7,\r\n LinuxDesktop = 8,\r\n ChromeBrowser = 9,\r\n FirefoxBrowser = 10,\r\n OperaBrowser = 11,\r\n EdgeBrowser = 12,\r\n IEBrowser = 13,\r\n UnknownBrowser = 14,\r\n AndroidAmazon = 15,\r\n UWP = 16,\r\n SafariBrowser = 17,\r\n VivaldiBrowser = 18,\r\n VivaldiExtension = 19,\r\n SafariExtension = 20,\r\n}\r\n","export abstract class SettingsService {\r\n clearCache: () => void;\r\n getEquivalentDomains: () => Promise;\r\n setEquivalentDomains: (equivalentDomains: string[][]) => Promise;\r\n clear: (userId: string) => Promise;\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { PolicyService } from 'jslib/abstractions/policy.service';\r\nimport { SyncService } from 'jslib/abstractions/sync.service';\r\n\r\nimport { PaymentComponent } from './payment.component';\r\nimport { TaxInfoComponent } from './tax-info.component';\r\n\r\nimport { PlanType } from 'jslib/enums/planType';\r\nimport { PolicyType } from 'jslib/enums/policyType';\r\nimport { ProductType } from 'jslib/enums/productType';\r\n\r\nimport { OrganizationCreateRequest } from 'jslib/models/request/organizationCreateRequest';\r\nimport { OrganizationUpgradeRequest } from 'jslib/models/request/organizationUpgradeRequest';\r\nimport { PlanResponse } from 'jslib/models/response/planResponse';\r\n\r\n@Component({\r\n selector: 'app-organization-plans',\r\n templateUrl: 'organization-plans.component.html',\r\n})\r\nexport class OrganizationPlansComponent implements OnInit {\r\n @ViewChild(PaymentComponent) paymentComponent: PaymentComponent;\r\n @ViewChild(TaxInfoComponent) taxComponent: TaxInfoComponent;\r\n\r\n @Input() organizationId: string;\r\n @Input() showFree = true;\r\n @Input() showCancel = false;\r\n @Input() product: ProductType = ProductType.Free;\r\n @Input() plan: PlanType = PlanType.Free;\r\n @Output() onSuccess = new EventEmitter();\r\n @Output() onCanceled = new EventEmitter();\r\n\r\n loading: boolean = true;\r\n selfHosted: boolean = false;\r\n ownedBusiness: boolean = false;\r\n premiumAccessAddon: boolean = false;\r\n additionalStorage: number = 0;\r\n additionalSeats: number = 0;\r\n name: string;\r\n billingEmail: string;\r\n businessName: string;\r\n productTypes = ProductType;\r\n formPromise: Promise;\r\n singleOrgPolicyBlock: boolean = false;\r\n\r\n plans: PlanResponse[];\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n platformUtilsService: PlatformUtilsService, private cryptoService: CryptoService,\r\n private router: Router, private syncService: SyncService,\r\n private policyService: PolicyService) {\r\n this.selfHosted = platformUtilsService.isSelfHost();\r\n }\r\n\r\n async ngOnInit() {\r\n if (!this.selfHosted) {\r\n const plans = await this.apiService.getPlans();\r\n this.plans = plans.data;\r\n }\r\n this.loading = false;\r\n }\r\n\r\n get createOrganization() {\r\n return this.organizationId == null;\r\n }\r\n\r\n get selectedPlan() {\r\n return this.plans.find((plan) => plan.type === this.plan);\r\n }\r\n\r\n get selectedPlanInterval() {\r\n return this.selectedPlan.isAnnual\r\n ? 'year'\r\n : 'month';\r\n }\r\n\r\n get selectableProducts() {\r\n let validPlans = this.plans.filter((plan) => plan.type !== PlanType.Custom);\r\n\r\n if (this.ownedBusiness) {\r\n validPlans = validPlans.filter((plan) => plan.canBeUsedByBusiness);\r\n }\r\n\r\n if (!this.showFree) {\r\n validPlans = validPlans.filter((plan) => plan.product !== ProductType.Free);\r\n }\r\n\r\n validPlans = validPlans\r\n .filter((plan) => !plan.legacyYear\r\n && !plan.disabled\r\n && (plan.isAnnual || plan.product === this.productTypes.Free));\r\n\r\n return validPlans;\r\n }\r\n\r\n get selectablePlans() {\r\n return this.plans.filter((plan) => !plan.legacyYear && !plan.disabled && plan.product === this.product);\r\n }\r\n\r\n additionalStoragePriceMonthly(selectedPlan: PlanResponse) {\r\n if (!selectedPlan.isAnnual) {\r\n return selectedPlan.additionalStoragePricePerGb;\r\n }\r\n return selectedPlan.additionalStoragePricePerGb / 12;\r\n }\r\n\r\n seatPriceMonthly(selectedPlan: PlanResponse) {\r\n if (!selectedPlan.isAnnual) {\r\n return selectedPlan.seatPrice;\r\n }\r\n return selectedPlan.seatPrice / 12;\r\n }\r\n\r\n additionalStorageTotal(plan: PlanResponse): number {\r\n if (!plan.hasAdditionalStorageOption) {\r\n return 0;\r\n }\r\n\r\n return plan.additionalStoragePricePerGb * Math.abs(this.additionalStorage || 0);\r\n }\r\n\r\n seatTotal(plan: PlanResponse): number {\r\n if (!plan.hasAdditionalSeatsOption) {\r\n return 0;\r\n }\r\n\r\n return plan.seatPrice * Math.abs(this.additionalSeats || 0);\r\n }\r\n\r\n get subtotal() {\r\n let subTotal = this.selectedPlan.basePrice;\r\n if (this.selectedPlan.hasAdditionalSeatsOption && this.additionalSeats) {\r\n subTotal += this.seatTotal(this.selectedPlan);\r\n }\r\n if (this.selectedPlan.hasAdditionalStorageOption && this.additionalStorage) {\r\n subTotal += this.additionalStorageTotal(this.selectedPlan);\r\n }\r\n if (this.selectedPlan.hasPremiumAccessOption && this.premiumAccessAddon) {\r\n subTotal += this.selectedPlan.premiumAccessOptionPrice;\r\n }\r\n return subTotal;\r\n }\r\n\r\n changedProduct() {\r\n this.plan = this.selectablePlans[0].type;\r\n if (!this.selectedPlan.hasPremiumAccessOption) {\r\n this.premiumAccessAddon = false;\r\n }\r\n if (!this.selectedPlan.hasAdditionalStorageOption) {\r\n this.additionalStorage = 0;\r\n }\r\n if (!this.selectedPlan.hasAdditionalSeatsOption) {\r\n this.additionalSeats = 0;\r\n } else if (!this.additionalSeats && !this.selectedPlan.baseSeats &&\r\n this.selectedPlan.hasAdditionalSeatsOption) {\r\n this.additionalSeats = 1;\r\n }\r\n }\r\n\r\n changedOwnedBusiness() {\r\n if (!this.ownedBusiness || this.selectedPlan.canBeUsedByBusiness) {\r\n return;\r\n }\r\n this.plan = PlanType.TeamsMonthly;\r\n }\r\n\r\n changedCountry() {\r\n this.paymentComponent.hideBank = this.taxComponent.taxInfo.country !== 'US';\r\n // Bank Account payments are only available for US customers\r\n if (this.paymentComponent.hideBank &&\r\n this.paymentComponent.method === PaymentMethodType.BankAccount) {\r\n this.paymentComponent.method = PaymentMethodType.Card;\r\n this.paymentComponent.changeMethod();\r\n }\r\n }\r\n\r\n cancel() {\r\n this.onCanceled.emit();\r\n }\r\n\r\n async submit() {\r\n if (this.singleOrgPolicyBlock) {\r\n return;\r\n } else {\r\n const policies = await this.policyService.getAll(PolicyType.SingleOrg);\r\n this.singleOrgPolicyBlock = policies.some(policy => policy.enabled);\r\n if (this.singleOrgPolicyBlock) {\r\n return;\r\n }\r\n }\r\n\r\n let files: FileList = null;\r\n if (this.createOrganization && this.selfHosted) {\r\n const fileEl = document.getElementById('file') as HTMLInputElement;\r\n files = fileEl.files;\r\n if (files == null || files.length === 0) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('selectFile'));\r\n return;\r\n }\r\n }\r\n\r\n try {\r\n const doSubmit = async () => {\r\n let orgId: string = null;\r\n if (this.createOrganization) {\r\n let tokenResult: [string, PaymentMethodType] = null;\r\n if (!this.selfHosted && this.plan !== PlanType.Free) {\r\n tokenResult = await this.paymentComponent.createPaymentToken();\r\n }\r\n const shareKey = await this.cryptoService.makeShareKey();\r\n const key = shareKey[0].encryptedString;\r\n const collection = await this.cryptoService.encrypt(\r\n this.i18nService.t('defaultCollection'), shareKey[1]);\r\n const collectionCt = collection.encryptedString;\r\n\r\n if (this.selfHosted) {\r\n const fd = new FormData();\r\n fd.append('license', files[0]);\r\n fd.append('key', key);\r\n fd.append('collectionName', collectionCt);\r\n const response = await this.apiService.postOrganizationLicense(fd);\r\n orgId = response.id;\r\n } else {\r\n const request = new OrganizationCreateRequest();\r\n request.key = key;\r\n request.collectionName = collectionCt;\r\n request.name = this.name;\r\n request.billingEmail = this.billingEmail;\r\n\r\n if (this.selectedPlan.type === PlanType.Free) {\r\n request.planType = PlanType.Free;\r\n } else {\r\n request.paymentToken = tokenResult[0];\r\n request.paymentMethodType = tokenResult[1];\r\n request.businessName = this.ownedBusiness ? this.businessName : null;\r\n request.additionalSeats = this.additionalSeats;\r\n request.additionalStorageGb = this.additionalStorage;\r\n request.premiumAccessAddon = this.selectedPlan.hasPremiumAccessOption &&\r\n this.premiumAccessAddon;\r\n request.planType = this.selectedPlan.type;\r\n request.billingAddressPostalCode = this.taxComponent.taxInfo.postalCode;\r\n request.billingAddressCountry = this.taxComponent.taxInfo.country;\r\n if (this.taxComponent.taxInfo.includeTaxId) {\r\n request.taxIdNumber = this.taxComponent.taxInfo.taxId;\r\n request.billingAddressLine1 = this.taxComponent.taxInfo.line1;\r\n request.billingAddressLine2 = this.taxComponent.taxInfo.line2;\r\n request.billingAddressCity = this.taxComponent.taxInfo.city;\r\n request.billingAddressState = this.taxComponent.taxInfo.state;\r\n }\r\n }\r\n const response = await this.apiService.postOrganization(request);\r\n orgId = response.id;\r\n }\r\n } else {\r\n const request = new OrganizationUpgradeRequest();\r\n request.businessName = this.ownedBusiness ? this.businessName : null;\r\n request.additionalSeats = this.additionalSeats;\r\n request.additionalStorageGb = this.additionalStorage;\r\n request.premiumAccessAddon = this.selectedPlan.hasPremiumAccessOption &&\r\n this.premiumAccessAddon;\r\n request.planType = this.selectedPlan.type;\r\n const result = await this.apiService.postOrganizationUpgrade(this.organizationId, request);\r\n if (!result.success && result.paymentIntentClientSecret != null) {\r\n await this.paymentComponent.handleStripeCardPayment(result.paymentIntentClientSecret, null);\r\n }\r\n orgId = this.organizationId;\r\n }\r\n\r\n if (orgId != null) {\r\n await this.apiService.refreshIdentityToken();\r\n await this.syncService.fullSync(true);\r\n if (this.createOrganization) {\r\n this.analytics.eventTrack.next({ action: 'Created Organization' });\r\n this.toasterService.popAsync('success',\r\n this.i18nService.t('organizationCreated'), this.i18nService.t('organizationReadyToGo'));\r\n } else {\r\n this.analytics.eventTrack.next({ action: 'Upgraded Organization' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('organizationUpgraded'));\r\n }\r\n this.router.navigate(['/organizations/' + orgId]);\r\n }\r\n };\r\n\r\n this.formPromise = doSubmit();\r\n await this.formPromise;\r\n this.onSuccess.emit();\r\n } catch { }\r\n }\r\n\r\n}\r\n","\r\n \r\n {{'loading' | i18n}}\r\n\r\n\r\n

{{'uploadLicenseFileOrg' | i18n}}

\r\n
\r\n
\r\n \r\n \r\n {{'licenseFileDesc' | i18n : 'bitwarden_organization_license.json'}}\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{'generalInformation' | i18n}}

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n

{{'chooseYourPlan' | i18n}}

\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n

{{'users' | i18n}}

\r\n
\r\n
\r\n \r\n \r\n {{'userSeatsHowManyDesc' | i18n}}\r\n
\r\n
\r\n
\r\n

{{'addons' | i18n}}

\r\n
\r\n
\r\n \r\n \r\n {{'userSeatsAdditionalDesc' | i18n : selectedPlan.baseSeats : (seatPriceMonthly(selectedPlan) | currency:'$')}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{'additionalStorageIntervalDesc' | i18n : '1 GB' : (additionalStoragePriceMonthly(selectedPlan) | currency:'$') : ('month' | i18n)}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n {{'premiumAccessDesc' | i18n : (3.33 | currency:'$') : ('month' | i18n)}}\r\n
\r\n
\r\n

{{'summary' | i18n}}

\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {{'total' | i18n}}: {{subtotal | currency:'USD $'}} /{{selectedPlanInterval | i18n}}\r\n
\r\n \r\n {{'paymentChargedWithTrial' | i18n : (selectedPlanInterval | i18n) }}\r\n

{{'paymentInformation' | i18n}}

\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n {{'paymentCharged' | i18n : (interval | i18n) }}\r\n
\r\n
\r\n {{'singleOrgBlockCreateMessage' | i18n}}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n","export enum UriMatchType {\r\n Domain = 0,\r\n Host = 1,\r\n StartsWith = 2,\r\n Exact = 3,\r\n RegularExpression = 4,\r\n Never = 5,\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\nimport { CipherType } from 'jslib/enums/cipherType';\r\nimport { EventType } from 'jslib/enums/eventType';\r\n\r\nimport { AuditService } from 'jslib/abstractions/audit.service';\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { EventService } from 'jslib/abstractions/event.service';\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { StateService } from 'jslib/abstractions/state.service';\r\nimport { TotpService } from 'jslib/abstractions/totp.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { AddEditComponent as BaseAddEditComponent } from 'jslib/angular/components/add-edit.component';\r\nimport { LoginUriView } from 'jslib/models/view/loginUriView';\r\n\r\n@Component({\r\n selector: 'app-vault-add-edit',\r\n templateUrl: 'add-edit.component.html',\r\n})\r\nexport class AddEditComponent extends BaseAddEditComponent {\r\n canAccessPremium: boolean;\r\n totpCode: string;\r\n totpCodeFormatted: string;\r\n totpDash: number;\r\n totpSec: number;\r\n totpLow: boolean;\r\n showRevisionDate = false;\r\n hasPasswordHistory = false;\r\n viewingPasswordHistory = false;\r\n\r\n protected totpInterval: number;\r\n\r\n constructor(cipherService: CipherService, folderService: FolderService,\r\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\r\n auditService: AuditService, stateService: StateService,\r\n userService: UserService, collectionService: CollectionService,\r\n protected totpService: TotpService, protected passwordGenerationService: PasswordGenerationService,\r\n protected messagingService: MessagingService, eventService: EventService) {\r\n super(cipherService, folderService, i18nService, platformUtilsService, auditService, stateService,\r\n userService, collectionService, messagingService, eventService);\r\n }\r\n\r\n async ngOnInit() {\r\n await super.ngOnInit();\r\n await this.load();\r\n this.showRevisionDate = this.cipher.passwordRevisionDisplayDate != null;\r\n this.hasPasswordHistory = this.cipher.hasPasswordHistory;\r\n this.cleanUp();\r\n\r\n this.canAccessPremium = await this.userService.canAccessPremium();\r\n if (this.cipher.type === CipherType.Login && this.cipher.login.totp &&\r\n (this.cipher.organizationUseTotp || this.canAccessPremium)) {\r\n await this.totpUpdateCode();\r\n const interval = this.totpService.getTimeInterval(this.cipher.login.totp);\r\n await this.totpTick(interval);\r\n\r\n this.totpInterval = window.setInterval(async () => {\r\n await this.totpTick(interval);\r\n }, 1000);\r\n }\r\n }\r\n\r\n toggleFavorite() {\r\n this.cipher.favorite = !this.cipher.favorite;\r\n }\r\n\r\n launch(uri: LoginUriView) {\r\n if (!uri.canLaunch) {\r\n return;\r\n }\r\n\r\n this.platformUtilsService.eventTrack('Launched Login URI');\r\n this.platformUtilsService.launchUri(uri.launchUri);\r\n }\r\n\r\n copy(value: string, typeI18nKey: string, aType: string) {\r\n if (value == null) {\r\n return;\r\n }\r\n\r\n this.platformUtilsService.eventTrack('Copied ' + aType);\r\n this.platformUtilsService.copyToClipboard(value, { window: window });\r\n this.platformUtilsService.showToast('info', null,\r\n this.i18nService.t('valueCopied', this.i18nService.t(typeI18nKey)));\r\n\r\n if (this.editMode) {\r\n if (typeI18nKey === 'password') {\r\n this.eventService.collect(EventType.Cipher_ClientToggledHiddenFieldVisible, this.cipherId);\r\n } else if (typeI18nKey === 'securityCode') {\r\n this.eventService.collect(EventType.Cipher_ClientCopiedCardCode, this.cipherId);\r\n } else if (aType === 'H_Field') {\r\n this.eventService.collect(EventType.Cipher_ClientCopiedHiddenField, this.cipherId);\r\n }\r\n }\r\n }\r\n\r\n async generatePassword(): Promise {\r\n const confirmed = await super.generatePassword();\r\n if (confirmed) {\r\n const options = (await this.passwordGenerationService.getOptions())[0];\r\n this.cipher.login.password = await this.passwordGenerationService.generatePassword(options);\r\n }\r\n return confirmed;\r\n }\r\n\r\n premiumRequired() {\r\n if (!this.canAccessPremium) {\r\n this.messagingService.send('premiumRequired');\r\n return;\r\n }\r\n }\r\n\r\n upgradeOrganization() {\r\n this.messagingService.send('upgradeOrganization', { organizationId: this.cipher.organizationId });\r\n }\r\n\r\n viewHistory() {\r\n this.viewingPasswordHistory = !this.viewingPasswordHistory;\r\n }\r\n\r\n protected cleanUp() {\r\n if (this.totpInterval) {\r\n window.clearInterval(this.totpInterval);\r\n }\r\n }\r\n\r\n protected async totpUpdateCode() {\r\n if (this.cipher == null || this.cipher.type !== CipherType.Login || this.cipher.login.totp == null) {\r\n if (this.totpInterval) {\r\n window.clearInterval(this.totpInterval);\r\n }\r\n return;\r\n }\r\n\r\n this.totpCode = await this.totpService.getCode(this.cipher.login.totp);\r\n if (this.totpCode != null) {\r\n if (this.totpCode.length > 4) {\r\n const half = Math.floor(this.totpCode.length / 2);\r\n this.totpCodeFormatted = this.totpCode.substring(0, half) + ' ' + this.totpCode.substring(half);\r\n } else {\r\n this.totpCodeFormatted = this.totpCode;\r\n }\r\n } else {\r\n this.totpCodeFormatted = null;\r\n if (this.totpInterval) {\r\n window.clearInterval(this.totpInterval);\r\n }\r\n }\r\n }\r\n\r\n protected allowOwnershipAssignment() {\r\n return (!this.editMode || this.cloneMode) && this.ownershipOptions != null && this.ownershipOptions.length > 1;\r\n }\r\n\r\n private async totpTick(intervalSeconds: number) {\r\n const epoch = Math.round(new Date().getTime() / 1000.0);\r\n const mod = epoch % intervalSeconds;\r\n\r\n this.totpSec = intervalSeconds - mod;\r\n this.totpDash = +(Math.round((((78.6 / intervalSeconds) * mod) + 'e+2') as any) + 'e-2');\r\n this.totpLow = this.totpSec <= 7;\r\n if (mod === 0) {\r\n await this.totpUpdateCode();\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

{{title}}

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n {{totpSec}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{totpCodeFormatted}}\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {{'newUri' | i18n}}\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n

{{'customFields' | i18n}}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {{'newCustomField' | i18n}}\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n

{{'ownership' | i18n}}

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n

{{'collections' | i18n}}

\r\n
\r\n {{'noCollectionsInList' | i18n}}\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{'dateUpdated' | i18n}}:\r\n {{cipher.revisionDate | date:'medium'}}\r\n
\r\n
\r\n {{'datePasswordUpdated' | i18n}}:\r\n {{cipher.passwordRevisionDisplayDate | date:'medium'}}\r\n
\r\n
\r\n {{'passwordHistory' | i18n}}:\r\n \r\n {{cipher.passwordHistory.length}}\r\n \r\n
\r\n
\r\n
\r\n {{ph.lastUsedDate | date:'short'}} -\r\n {{ph.password}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\nimport { StorageService } from 'jslib/abstractions/storage.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { GroupingsComponent as BaseGroupingsComponent } from 'jslib/angular/components/groupings.component';\r\n\r\n@Component({\r\n selector: 'app-vault-groupings',\r\n templateUrl: 'groupings.component.html',\r\n})\r\nexport class GroupingsComponent extends BaseGroupingsComponent {\r\n @Output() onSearchTextChanged = new EventEmitter();\r\n\r\n searchText: string = '';\r\n searchPlaceholder: string = null;\r\n\r\n constructor(collectionService: CollectionService, folderService: FolderService,\r\n storageService: StorageService, userService: UserService) {\r\n super(collectionService, folderService, storageService, userService);\r\n }\r\n\r\n searchTextChanged() {\r\n this.onSearchTextChanged.emit(this.searchText);\r\n }\r\n}\r\n","
\r\n
\r\n {{'filters' | i18n}}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n

{{'types' | i18n}}

\r\n \r\n

\r\n \r\n {{'loading' | i18n}}\r\n

\r\n \r\n \r\n

\r\n {{'folders' | i18n}}\r\n \r\n \r\n \r\n

\r\n \r\n
\r\n \r\n

{{'collections' | i18n}}

\r\n
    \r\n \r\n
  • \r\n \r\n {{c.node.name}}\r\n
      \r\n \r\n \r\n
    \r\n
  • \r\n
    \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { OrganizationData } from '../data/organizationData';\r\n\r\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\r\nimport { OrganizationUserType } from '../../enums/organizationUserType';\r\n\r\nexport class Organization {\r\n id: string;\r\n name: string;\r\n status: OrganizationUserStatusType;\r\n type: OrganizationUserType;\r\n enabled: boolean;\r\n usePolicies: boolean;\r\n useGroups: boolean;\r\n useDirectory: boolean;\r\n useEvents: boolean;\r\n useTotp: boolean;\r\n use2fa: boolean;\r\n useApi: boolean;\r\n useBusinessPortal: boolean;\r\n useSso: boolean;\r\n selfHost: boolean;\r\n usersGetPremium: boolean;\r\n seats: number;\r\n maxCollections: number;\r\n maxStorageGb?: number;\r\n ssoBound: boolean;\r\n identifier: string;\r\n\r\n constructor(obj?: OrganizationData) {\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.id = obj.id;\r\n this.name = obj.name;\r\n this.status = obj.status;\r\n this.type = obj.type;\r\n this.enabled = obj.enabled;\r\n this.usePolicies = obj.usePolicies;\r\n this.useGroups = obj.useGroups;\r\n this.useDirectory = obj.useDirectory;\r\n this.useEvents = obj.useEvents;\r\n this.useTotp = obj.useTotp;\r\n this.use2fa = obj.use2fa;\r\n this.useApi = obj.useApi;\r\n this.useBusinessPortal = obj.useBusinessPortal;\r\n this.useSso = obj.useSso;\r\n this.selfHost = obj.selfHost;\r\n this.usersGetPremium = obj.usersGetPremium;\r\n this.seats = obj.seats;\r\n this.maxCollections = obj.maxCollections;\r\n this.maxStorageGb = obj.maxStorageGb;\r\n this.ssoBound = obj.ssoBound;\r\n this.identifier = obj.identifier;\r\n }\r\n\r\n get canAccess() {\r\n if (this.type === OrganizationUserType.Owner) {\r\n return true;\r\n }\r\n return this.enabled && this.status === OrganizationUserStatusType.Confirmed;\r\n }\r\n\r\n get isManager() {\r\n return this.type === OrganizationUserType.Manager || this.type === OrganizationUserType.Owner ||\r\n this.type === OrganizationUserType.Admin;\r\n }\r\n\r\n get isAdmin() {\r\n return this.type === OrganizationUserType.Owner || this.type === OrganizationUserType.Admin;\r\n }\r\n\r\n get isOwner() {\r\n return this.type === OrganizationUserType.Owner;\r\n }\r\n}\r\n","import { View } from './view';\r\n\r\nimport { SendFile } from '../domain/sendFile';\r\n\r\nexport class SendFileView implements View {\r\n id: string = null;\r\n url: string = null;\r\n size: string = null;\r\n sizeName: string = null;\r\n fileName: string = null;\r\n\r\n constructor(f?: SendFile) {\r\n if (!f) {\r\n return;\r\n }\r\n\r\n this.id = f.id;\r\n this.url = f.url;\r\n this.size = f.size;\r\n this.sizeName = f.sizeName;\r\n }\r\n\r\n get fileSize(): number {\r\n try {\r\n if (this.size != null) {\r\n return parseInt(this.size, null);\r\n }\r\n } catch { }\r\n return 0;\r\n }\r\n}\r\n","import { View } from './view';\r\n\r\nimport { SendText } from '../domain/sendText';\r\n\r\nexport class SendTextView implements View {\r\n text: string = null;\r\n hidden: boolean;\r\n\r\n constructor(t?: SendText) {\r\n if (!t) {\r\n return;\r\n }\r\n\r\n this.hidden = t.hidden;\r\n }\r\n\r\n get maskedText(): string {\r\n return this.text != null ? '••••••••' : null;\r\n }\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { SyncService } from 'jslib/abstractions/sync.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { Organization } from 'jslib/models/domain/organization';\r\n\r\nimport { Utils } from 'jslib/misc/utils';\r\n\r\n@Component({\r\n selector: 'app-organizations',\r\n templateUrl: 'organizations.component.html',\r\n})\r\nexport class OrganizationsComponent implements OnInit {\r\n @Input() vault = false;\r\n\r\n organizations: Organization[];\r\n loaded: boolean = false;\r\n actionPromise: Promise;\r\n\r\n constructor(private userService: UserService, private platformUtilsService: PlatformUtilsService,\r\n private i18nService: I18nService, private apiService: ApiService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private syncService: SyncService) { }\r\n\r\n async ngOnInit() {\r\n if (!this.vault) {\r\n await this.syncService.fullSync(true);\r\n await this.load();\r\n }\r\n }\r\n\r\n async load() {\r\n const orgs = await this.userService.getAllOrganizations();\r\n orgs.sort(Utils.getSortFunction(this.i18nService, 'name'));\r\n this.organizations = orgs;\r\n this.loaded = true;\r\n }\r\n\r\n async unlinkSso(org: Organization) {\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n 'Are you sure you want to unlink SSO for this organization?', org.name,\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n this.actionPromise = this.apiService.deleteSsoUser(org.id).then(() => {\r\n return this.syncService.fullSync(true);\r\n });\r\n await this.actionPromise;\r\n this.analytics.eventTrack.next({ action: 'Unlinked SSO' });\r\n this.toasterService.popAsync('success', null, 'Unlinked SSO');\r\n await this.load();\r\n } catch { }\r\n }\r\n\r\n async leave(org: Organization) {\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('leaveOrganizationConfirmation'), org.name,\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n this.actionPromise = this.apiService.postLeaveOrganization(org.id).then(() => {\r\n return this.syncService.fullSync(true);\r\n });\r\n await this.actionPromise;\r\n this.analytics.eventTrack.next({ action: 'Left Organization' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('leftOrganization'));\r\n await this.load();\r\n } catch { }\r\n }\r\n}\r\n","\r\n

\r\n \r\n {{'loading' | i18n}}\r\n

\r\n \r\n \r\n

{{'noOrganizationsList' | i18n}}

\r\n
\r\n \r\n \r\n {{'newOrganization' | i18n}}\r\n \r\n
\r\n\r\n
\r\n

\r\n {{'organizations' | i18n}}\r\n \r\n \r\n \r\n {{'loading' | i18n}}\r\n \r\n \r\n

\r\n \r\n \r\n {{'newOrganization' | i18n}}\r\n \r\n
\r\n \r\n \r\n {{'loading' | i18n}}\r\n \r\n \r\n \r\n

{{'noOrganizationsList' | i18n}}

\r\n \r\n \r\n {{'newOrganization' | i18n}}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{o.name}}\r\n \r\n \r\n {{'organizationIsDisabled' | i18n}}\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class SelectionReadOnlyResponse extends BaseResponse {\r\n id: string;\r\n readOnly: boolean;\r\n hidePasswords: boolean;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.readOnly = this.getResponseProperty('ReadOnly');\r\n this.hidePasswords = this.getResponseProperty('HidePasswords');\r\n }\r\n}\r\n","import { SendType } from '../../enums/sendType';\r\n\r\nimport { SendFileData } from './sendFileData';\r\nimport { SendTextData } from './sendTextData';\r\n\r\nimport { SendResponse } from '../response/sendResponse';\r\n\r\nexport class SendData {\r\n id: string;\r\n accessId: string;\r\n userId: string;\r\n type: SendType;\r\n name: string;\r\n notes: string;\r\n file: SendFileData;\r\n text: SendTextData;\r\n key: string;\r\n maxAccessCount?: number;\r\n accessCount: number;\r\n revisionDate: string;\r\n expirationDate: string;\r\n deletionDate: string;\r\n password: string;\r\n disabled: boolean;\r\n\r\n constructor(response?: SendResponse, userId?: string) {\r\n if (response == null) {\r\n return;\r\n }\r\n\r\n this.id = response.id;\r\n this.accessId = response.accessId;\r\n this.userId = userId;\r\n this.type = response.type;\r\n this.name = response.name;\r\n this.notes = response.notes;\r\n this.key = response.key;\r\n this.maxAccessCount = response.maxAccessCount;\r\n this.accessCount = response.accessCount;\r\n this.revisionDate = response.revisionDate;\r\n this.expirationDate = response.expirationDate;\r\n this.deletionDate = response.deletionDate;\r\n this.password = response.password;\r\n this.disabled = response.disable;\r\n\r\n switch (this.type) {\r\n case SendType.Text:\r\n this.text = new SendTextData(response.text);\r\n break;\r\n case SendType.File:\r\n this.file = new SendFileData(response.file);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { TokenService } from 'jslib/abstractions/token.service';\r\n\r\n@Component({\r\n selector: 'app-navbar',\r\n templateUrl: 'navbar.component.html',\r\n})\r\nexport class NavbarComponent implements OnInit {\r\n selfHosted = false;\r\n name: string;\r\n email: string;\r\n\r\n constructor(private messagingService: MessagingService, private platformUtilsService: PlatformUtilsService,\r\n private tokenService: TokenService) {\r\n this.selfHosted = this.platformUtilsService.isSelfHost();\r\n }\r\n\r\n async ngOnInit() {\r\n this.name = await this.tokenService.getName();\r\n this.email = await this.tokenService.getEmail();\r\n if (this.name == null || this.name.trim() === '') {\r\n this.name = this.email;\r\n }\r\n }\r\n\r\n lock() {\r\n this.messagingService.send('lockVault');\r\n }\r\n\r\n logOut() {\r\n this.messagingService.send('logout');\r\n }\r\n}\r\n","\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: 'footer.component.html',\r\n})\r\nexport class FooterComponent implements OnInit {\r\n version: string;\r\n year: string = '2015';\r\n\r\n constructor(private platformUtilsService: PlatformUtilsService) { }\r\n\r\n ngOnInit() {\r\n this.year = new Date().getFullYear().toString();\r\n this.version = this.platformUtilsService.getApplicationVersion();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n © {{year}}, Bitwarden Inc.\r\n
\r\n
\r\n
\r\n {{'versionNumber' | i18n : version}}\r\n
\r\n
\r\n
\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nimport { ErrorResponse } from '../../models/response/errorResponse';\r\n\r\n@Injectable()\r\nexport class ValidationService {\r\n constructor(private i18nService: I18nService, private platformUtilsService: PlatformUtilsService) { }\r\n\r\n showError(data: any): string[] {\r\n const defaultErrorMessage = this.i18nService.t('unexpectedError');\r\n let errors: string[] = [];\r\n\r\n if (data != null && typeof data === 'string') {\r\n errors.push(data);\r\n } else if (data == null || typeof data !== 'object') {\r\n errors.push(defaultErrorMessage);\r\n } else if (data.validationErrors != null) {\r\n errors = errors.concat((data as ErrorResponse).getAllMessages());\r\n } else {\r\n errors.push(data.message ? data.message : defaultErrorMessage);\r\n }\r\n\r\n if (errors.length === 1) {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'), errors[0]);\r\n } else if (errors.length > 1) {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'), errors, {\r\n timeout: 5000 * errors.length,\r\n });\r\n }\r\n\r\n return errors;\r\n }\r\n}\r\n","export enum EncryptionType {\r\n AesCbc256_B64 = 0,\r\n AesCbc128_HmacSha256_B64 = 1,\r\n AesCbc256_HmacSha256_B64 = 2,\r\n Rsa2048_OaepSha256_B64 = 3,\r\n Rsa2048_OaepSha1_B64 = 4,\r\n Rsa2048_OaepSha256_HmacSha256_B64 = 5,\r\n Rsa2048_OaepSha1_HmacSha256_B64 = 6,\r\n}\r\n","export class KeysRequest {\r\n publicKey: string;\r\n encryptedPrivateKey: string;\r\n\r\n constructor(publicKey: string, encryptedPrivateKey: string) {\r\n this.publicKey = publicKey;\r\n this.encryptedPrivateKey = encryptedPrivateKey;\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { OrganizationUserStatusType } from 'jslib/enums/organizationUserStatusType';\r\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\r\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\r\nimport { OrganizationUserUserDetailsResponse } from 'jslib/models/response/organizationUserResponse';\r\n\r\nimport { Utils } from 'jslib/misc/utils';\r\n\r\n@Component({\r\n selector: 'app-entity-users',\r\n templateUrl: 'entity-users.component.html',\r\n})\r\nexport class EntityUsersComponent implements OnInit {\r\n @Input() entity: 'group' | 'collection';\r\n @Input() entityId: string;\r\n @Input() entityName: string;\r\n @Input() organizationId: string;\r\n @Output() onEditedUsers = new EventEmitter();\r\n\r\n organizationUserType = OrganizationUserType;\r\n organizationUserStatusType = OrganizationUserStatusType;\r\n\r\n showSelected = false;\r\n loading = true;\r\n formPromise: Promise;\r\n selectedCount = 0;\r\n searchText: string;\r\n\r\n private allUsers: OrganizationUserUserDetailsResponse[] = [];\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService) { }\r\n\r\n async ngOnInit() {\r\n await this.loadUsers();\r\n this.loading = false;\r\n }\r\n\r\n get users() {\r\n if (this.showSelected) {\r\n return this.allUsers.filter((u) => (u as any).checked);\r\n } else {\r\n return this.allUsers;\r\n }\r\n }\r\n\r\n async loadUsers() {\r\n const users = await this.apiService.getOrganizationUsers(this.organizationId);\r\n this.allUsers = users.data.map((r) => r).sort(Utils.getSortFunction(this.i18nService, 'email'));\r\n if (this.entity === 'group') {\r\n const response = await this.apiService.getGroupUsers(this.organizationId, this.entityId);\r\n if (response != null && users.data.length > 0) {\r\n response.forEach((s) => {\r\n const user = users.data.filter((u) => u.id === s);\r\n if (user != null && user.length > 0) {\r\n (user[0] as any).checked = true;\r\n }\r\n });\r\n }\r\n } else if (this.entity === 'collection') {\r\n const response = await this.apiService.getCollectionUsers(this.organizationId, this.entityId);\r\n if (response != null && users.data.length > 0) {\r\n response.forEach((s) => {\r\n const user = users.data.filter((u) => !u.accessAll && u.id === s.id);\r\n if (user != null && user.length > 0) {\r\n (user[0] as any).checked = true;\r\n (user[0] as any).readOnly = s.readOnly;\r\n (user[0] as any).hidePasswords = s.hidePasswords;\r\n }\r\n });\r\n }\r\n }\r\n\r\n this.allUsers.forEach((u) => {\r\n if (this.entity === 'collection' && u.accessAll) {\r\n (u as any).checked = true;\r\n }\r\n if ((u as any).checked) {\r\n this.selectedCount++;\r\n }\r\n });\r\n }\r\n\r\n check(u: OrganizationUserUserDetailsResponse) {\r\n if (this.entity === 'collection' && u.accessAll) {\r\n return;\r\n }\r\n (u as any).checked = !(u as any).checked;\r\n this.selectedChanged(u);\r\n }\r\n\r\n selectedChanged(u: OrganizationUserUserDetailsResponse) {\r\n if ((u as any).checked) {\r\n this.selectedCount++;\r\n } else {\r\n if (this.entity === 'collection') {\r\n (u as any).readOnly = false;\r\n (u as any).hidePasswords = false;\r\n }\r\n this.selectedCount--;\r\n }\r\n }\r\n\r\n filterSelected(showSelected: boolean) {\r\n this.showSelected = showSelected;\r\n }\r\n\r\n async submit() {\r\n try {\r\n if (this.entity === 'group') {\r\n const selections = this.users.filter((u) => (u as any).checked).map((u) => u.id);\r\n this.formPromise = this.apiService.putGroupUsers(this.organizationId, this.entityId, selections);\r\n } else {\r\n const selections = this.users.filter((u) => (u as any).checked && !u.accessAll)\r\n .map((u) => new SelectionReadOnlyRequest(u.id, !!(u as any).readOnly, !!(u as any).hidePasswords));\r\n this.formPromise = this.apiService.putCollectionUsers(this.organizationId, this.entityId, selections);\r\n }\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({\r\n action: this.entity === 'group' ? 'Edited Group Users' : 'Edited Collection Users',\r\n });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('updatedUsers'));\r\n this.onEditedUsers.emit();\r\n } catch { }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n {{'userAccess' | i18n}}\r\n {{entityName}}\r\n

\r\n \r\n
\r\n
\r\n \r\n {{'loading' | i18n}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n {{'noUsersInList' | i18n}}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
  {{'name' | i18n}} {{'userType' | i18n}}{{'hidePasswords' |\r\n i18n}}{{'readOnly' |\r\n i18n}}
\r\n \r\n \r\n \r\n \r\n {{u.email}}\r\n {{'invited'\r\n | i18n}}\r\n {{'accepted'\r\n | i18n}}\r\n {{u.name}}\r\n \r\n \r\n \r\n {{'userAccessAllItems' | i18n}}\r\n \r\n \r\n {{'owner' | i18n}}\r\n {{'admin' | i18n}}\r\n {{'manager' | i18n}}\r\n {{'user' | i18n}}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import {\r\n Component,\r\n Input,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { EventService } from '../../services/event.service';\r\n\r\nimport { EventResponse } from 'jslib/models/response/eventResponse';\r\nimport { ListResponse } from 'jslib/models/response/listResponse';\r\n\r\n@Component({\r\n selector: 'app-entity-events',\r\n templateUrl: 'entity-events.component.html',\r\n})\r\nexport class EntityEventsComponent implements OnInit {\r\n @Input() name: string;\r\n @Input() entity: 'user' | 'cipher';\r\n @Input() entityId: string;\r\n @Input() organizationId: string;\r\n @Input() showUser = false;\r\n\r\n loading = true;\r\n loaded = false;\r\n events: any[];\r\n start: string;\r\n end: string;\r\n continuationToken: string;\r\n refreshPromise: Promise;\r\n morePromise: Promise;\r\n\r\n private orgUsersUserIdMap = new Map();\r\n private orgUsersIdMap = new Map();\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private eventService: EventService, private toasterService: ToasterService) { }\r\n\r\n async ngOnInit() {\r\n const defaultDates = this.eventService.getDefaultDateFilters();\r\n this.start = defaultDates[0];\r\n this.end = defaultDates[1];\r\n await this.load();\r\n }\r\n\r\n async load() {\r\n if (this.showUser) {\r\n const response = await this.apiService.getOrganizationUsers(this.organizationId);\r\n response.data.forEach((u) => {\r\n const name = u.name == null || u.name.trim() === '' ? u.email : u.name;\r\n this.orgUsersIdMap.set(u.id, { name: name, email: u.email });\r\n this.orgUsersUserIdMap.set(u.userId, { name: name, email: u.email });\r\n });\r\n }\r\n await this.loadEvents(true);\r\n this.loaded = true;\r\n }\r\n\r\n async loadEvents(clearExisting: boolean) {\r\n if (this.refreshPromise != null || this.morePromise != null) {\r\n return;\r\n }\r\n\r\n let dates: string[] = null;\r\n try {\r\n dates = this.eventService.formatDateFilters(this.start, this.end);\r\n } catch (e) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidDateRange'));\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n let response: ListResponse;\r\n try {\r\n let promise: Promise;\r\n if (this.entity === 'user') {\r\n promise = this.apiService.getEventsOrganizationUser(this.organizationId, this.entityId,\r\n dates[0], dates[1], clearExisting ? null : this.continuationToken);\r\n } else {\r\n promise = this.apiService.getEventsCipher(this.entityId,\r\n dates[0], dates[1], clearExisting ? null : this.continuationToken);\r\n }\r\n if (clearExisting) {\r\n this.refreshPromise = promise;\r\n } else {\r\n this.morePromise = promise;\r\n }\r\n response = await promise;\r\n } catch { }\r\n\r\n this.continuationToken = response.continuationToken;\r\n const events = response.data.map((r) => {\r\n const userId = r.actingUserId == null ? r.userId : r.actingUserId;\r\n const eventInfo = this.eventService.getEventInfo(r);\r\n const user = this.showUser && userId != null && this.orgUsersUserIdMap.has(userId) ?\r\n this.orgUsersUserIdMap.get(userId) : null;\r\n return {\r\n message: eventInfo.message,\r\n appIcon: eventInfo.appIcon,\r\n appName: eventInfo.appName,\r\n userId: userId,\r\n userName: user != null ? user.name : this.showUser ? this.i18nService.t('unknown') : null,\r\n userEmail: user != null ? user.email : this.showUser ? '' : null,\r\n date: r.date,\r\n ip: r.ipAddress,\r\n type: r.type,\r\n };\r\n });\r\n\r\n if (!clearExisting && this.events != null && this.events.length > 0) {\r\n this.events = this.events.concat(events);\r\n } else {\r\n this.events = events;\r\n }\r\n\r\n this.loading = false;\r\n this.morePromise = null;\r\n this.refreshPromise = null;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n {{'eventLogs' | i18n}}\r\n {{name}}\r\n

\r\n \r\n
\r\n
\r\n \r\n {{'loading' | i18n}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n -\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {{'noEventsInList' | i18n}}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{'timestamp' | i18n}}\r\n {{'device' | i18n}}\r\n {{'user' | i18n}}{{'event' | i18n}}
{{e.date | date:'medium'}}\r\n \r\n {{e.appName}}, {{e.ip}}\r\n \r\n {{e.userName}}\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\r\n\r\nimport { ApiKeyResponse } from 'jslib/models/response/apiKeyResponse';\r\n\r\n@Component({\r\n selector: 'app-api-key',\r\n templateUrl: 'api-key.component.html',\r\n})\r\nexport class ApiKeyComponent {\r\n keyType: string;\r\n isRotation: boolean;\r\n postKey: (entityId: string, request: PasswordVerificationRequest) => Promise;\r\n entityId: string;\r\n scope: string;\r\n grantType: string;\r\n apiKeyTitle: string;\r\n apiKeyWarning: string;\r\n apiKeyDescription: string;\r\n\r\n masterPassword: string;\r\n formPromise: Promise;\r\n clientId: string;\r\n clientSecret: string;\r\n\r\n constructor(private i18nService: I18nService, private analytics: Angulartics2,\r\n private toasterService: ToasterService, private cryptoService: CryptoService) { }\r\n\r\n async submit() {\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n\r\n const request = new PasswordVerificationRequest();\r\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\r\n try {\r\n this.formPromise = this.postKey(this.entityId, request);\r\n const response = await this.formPromise;\r\n this.clientSecret = response.apiKey;\r\n this.clientId = `${this.keyType}.${this.entityId}`;\r\n this.analytics.eventTrack.next({ action: `Viewed ${this.keyType} API Key` });\r\n } catch { }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

{{apiKeyTitle | i18n}}

\r\n \r\n
\r\n
\r\n

{{apiKeyDescription | i18n}}

\r\n \r\n \r\n \r\n \r\n {{apiKeyWarning | i18n}}\r\n \r\n

\r\n client_id:
\r\n {{clientId}}\r\n

\r\n

\r\n client_secret:
\r\n {{clientSecret}}\r\n

\r\n

\r\n scope:
\r\n {{scope}}\r\n

\r\n

\r\n grant_type:
\r\n {{grantType}}\r\n

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import {\r\n Component,\r\n Input,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\r\n\r\n@Component({\r\n selector: 'app-purge-vault',\r\n templateUrl: 'purge-vault.component.html',\r\n})\r\nexport class PurgeVaultComponent {\r\n @Input() organizationId?: string = null;\r\n\r\n masterPassword: string;\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private cryptoService: CryptoService, private router: Router) { }\r\n\r\n async submit() {\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n\r\n const request = new PasswordVerificationRequest();\r\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\r\n try {\r\n this.formPromise = this.apiService.postPurgeCiphers(request, this.organizationId);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({\r\n action: this.organizationId != null ? 'Purged Organization Vault' : 'Purged Vault',\r\n });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('vaultPurged'));\r\n if (this.organizationId != null) {\r\n this.router.navigate(['organizations', this.organizationId, 'vault']);\r\n } else {\r\n this.router.navigate(['vault']);\r\n }\r\n } catch { }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

{{'purgeVault' | i18n}}

\r\n \r\n
\r\n
\r\n

{{(organizationId ? 'purgeOrgVaultDesc' : 'purgeVaultDesc') | i18n}}

\r\n {{'purgeVaultWarning' | i18n}}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { BillingResponse } from 'jslib/models/response/billingResponse';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\r\nimport { TransactionType } from 'jslib/enums/transactionType';\r\nimport { VerifyBankRequest } from 'jslib/models/request/verifyBankRequest';\r\n\r\n@Component({\r\n selector: 'app-user-billing',\r\n templateUrl: 'user-billing.component.html',\r\n})\r\nexport class UserBillingComponent implements OnInit {\r\n loading = false;\r\n firstLoaded = false;\r\n showAdjustPayment = false;\r\n showAddCredit = false;\r\n billing: BillingResponse;\r\n paymentMethodType = PaymentMethodType;\r\n transactionType = TransactionType;\r\n organizationId: string;\r\n verifyAmount1: number;\r\n verifyAmount2: number;\r\n\r\n verifyBankPromise: Promise;\r\n\r\n constructor(protected apiService: ApiService, protected i18nService: I18nService,\r\n protected analytics: Angulartics2, protected toasterService: ToasterService,\r\n protected platformUtilsService: PlatformUtilsService) { }\r\n\r\n async ngOnInit() {\r\n await this.load();\r\n this.firstLoaded = true;\r\n }\r\n\r\n async load() {\r\n if (this.loading) {\r\n return;\r\n }\r\n this.loading = true;\r\n if (this.organizationId != null) {\r\n this.billing = await this.apiService.getOrganizationBilling(this.organizationId);\r\n } else {\r\n this.billing = await this.apiService.getUserBilling();\r\n }\r\n this.loading = false;\r\n }\r\n\r\n async verifyBank() {\r\n if (this.loading) {\r\n return;\r\n }\r\n\r\n try {\r\n const request = new VerifyBankRequest();\r\n request.amount1 = this.verifyAmount1;\r\n request.amount2 = this.verifyAmount2;\r\n this.verifyBankPromise = this.apiService.postOrganizationVerifyBank(this.organizationId, request);\r\n await this.verifyBankPromise;\r\n this.analytics.eventTrack.next({ action: 'Verified Bank Account' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('verifiedBankAccount'));\r\n this.load();\r\n } catch { }\r\n }\r\n\r\n addCredit() {\r\n if (this.paymentSourceInApp) {\r\n this.platformUtilsService.showDialog(this.i18nService.t('cannotPerformInAppPurchase'),\r\n this.i18nService.t('addCredit'), null, null, 'warning');\r\n return;\r\n }\r\n this.showAddCredit = true;\r\n }\r\n\r\n closeAddCredit(load: boolean) {\r\n this.showAddCredit = false;\r\n if (load) {\r\n this.load();\r\n }\r\n }\r\n\r\n changePayment() {\r\n if (this.paymentSourceInApp) {\r\n this.platformUtilsService.showDialog(this.i18nService.t('cannotPerformInAppPurchase'),\r\n this.i18nService.t('changePaymentMethod'), null, null, 'warning');\r\n return;\r\n }\r\n this.showAdjustPayment = true;\r\n }\r\n\r\n closePayment(load: boolean) {\r\n this.showAdjustPayment = false;\r\n if (load) {\r\n this.load();\r\n }\r\n }\r\n\r\n get isCreditBalance() {\r\n return this.billing == null || this.billing.balance <= 0;\r\n }\r\n\r\n get creditOrBalance() {\r\n return Math.abs(this.billing != null ? this.billing.balance : 0);\r\n }\r\n\r\n get paymentSource() {\r\n return this.billing != null ? this.billing.paymentSource : null;\r\n }\r\n\r\n get paymentSourceInApp() {\r\n return this.paymentSource != null &&\r\n (this.paymentSource.type === PaymentMethodType.AppleInApp ||\r\n this.paymentSource.type === PaymentMethodType.GoogleInApp);\r\n }\r\n\r\n get invoices() {\r\n return this.billing != null ? this.billing.invoices : null;\r\n }\r\n\r\n get transactions() {\r\n return this.billing != null ? this.billing.transactions : null;\r\n }\r\n}\r\n","
\n

\n {{'billing' | i18n}}\n

\n \n
\n\n \n {{'loading' | i18n}}\n\n\n

{{(isCreditBalance ? 'accountCredit' : 'accountBalance') | i18n}}

\n

{{creditOrBalance | currency:'$'}}

\n

{{'creditAppliedDesc' | i18n}}

\n \n \n \n

{{'paymentMethod' | i18n}}

\n

{{'noPaymentMethod' | i18n}}

\n \n \n

{{'verifyBankAccountDesc' | i18n}} {{'verifyBankAccountFailureWarning' | i18n}}

\n
\n \n
\n
\n
$0.
\n
\n \n
\n \n
\n
\n
$0.
\n
\n \n
\n \n
\n
\n

\n \n {{'inAppPurchase' | i18n}}\n {{paymentSource.description}}\n

\n
\n \n \n \n

{{'invoices' | i18n}}

\n

{{'noInvoices' | i18n}}

\n \n \n \n \n \n \n \n \n \n
{{i.date | date:'mediumDate'}}\n \n \n \n {{'invoiceNumber' | i18n : i.number}}\n {{i.amount | currency:'$'}}\n \n \n {{'paid' | i18n}}\n \n \n \n {{'unpaid' | i18n}}\n \n
\n

{{'transactions' | i18n}}

\n

{{'noTransactions' | i18n}}

\n \n \n \n \n \n \n \n \n \n
{{t.createdDate | date:'mediumDate'}}\n \n {{'chargeNoun' | i18n}}\n \n {{'refundNoun' | i18n}}\n \n \n {{t.details}}\n \n {{t.amount | currency:'$'}}
\n * {{'chargesStatement' | i18n : 'BITWARDEN'}}\n
\n","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\r\n\r\nimport { BitPayInvoiceRequest } from 'jslib/models/request/bitPayInvoiceRequest';\r\n\r\nimport { WebConstants } from '../../services/webConstants';\r\n\r\n@Component({\r\n selector: 'app-add-credit',\r\n templateUrl: 'add-credit.component.html',\r\n})\r\nexport class AddCreditComponent implements OnInit {\r\n @Input() creditAmount: string;\r\n @Input() showOptions = true;\r\n @Input() method = PaymentMethodType.PayPal;\r\n @Input() organizationId: string;\r\n @Output() onAdded = new EventEmitter();\r\n @Output() onCanceled = new EventEmitter();\r\n\r\n @ViewChild('ppButtonForm', { read: ElementRef, static: true }) ppButtonFormRef: ElementRef;\r\n\r\n paymentMethodType = PaymentMethodType;\r\n ppButtonFormAction = WebConstants.paypal.buttonActionProduction;\r\n ppButtonBusinessId = WebConstants.paypal.businessIdProduction;\r\n ppButtonCustomField: string;\r\n ppLoading = false;\r\n subject: string;\r\n returnUrl: string;\r\n formPromise: Promise;\r\n\r\n private userId: string;\r\n private name: string;\r\n private email: string;\r\n\r\n constructor(private userService: UserService, private apiService: ApiService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private platformUtilsService: PlatformUtilsService) {\r\n if (platformUtilsService.isDev()) {\r\n this.ppButtonFormAction = WebConstants.paypal.buttonActionSandbox;\r\n this.ppButtonBusinessId = WebConstants.paypal.businessIdSandbox;\r\n }\r\n }\r\n\r\n async ngOnInit() {\r\n if (this.organizationId != null) {\r\n if (this.creditAmount == null) {\r\n this.creditAmount = '20.00';\r\n }\r\n this.ppButtonCustomField = 'organization_id:' + this.organizationId;\r\n const org = await this.userService.getOrganization(this.organizationId);\r\n if (org != null) {\r\n this.subject = org.name;\r\n this.name = org.name;\r\n }\r\n } else {\r\n if (this.creditAmount == null) {\r\n this.creditAmount = '10.00';\r\n }\r\n this.userId = await this.userService.getUserId();\r\n this.subject = await this.userService.getEmail();\r\n this.email = this.subject;\r\n this.ppButtonCustomField = 'user_id:' + this.userId;\r\n }\r\n this.ppButtonCustomField += ',account_credit:1';\r\n this.returnUrl = window.location.href;\r\n }\r\n\r\n async submit() {\r\n if (this.creditAmount == null || this.creditAmount === '') {\r\n return;\r\n }\r\n\r\n if (this.method === PaymentMethodType.PayPal) {\r\n this.ppButtonFormRef.nativeElement.submit();\r\n this.ppLoading = true;\r\n return;\r\n }\r\n if (this.method === PaymentMethodType.BitPay) {\r\n try {\r\n const req = new BitPayInvoiceRequest();\r\n req.email = this.email;\r\n req.name = this.name;\r\n req.credit = true;\r\n req.amount = this.creditAmountNumber;\r\n req.organizationId = this.organizationId;\r\n req.userId = this.userId;\r\n req.returnUrl = this.returnUrl;\r\n this.formPromise = this.apiService.postBitPayInvoice(req);\r\n const bitPayUrl: string = await this.formPromise;\r\n this.platformUtilsService.launchUri(bitPayUrl);\r\n } catch { }\r\n return;\r\n }\r\n try {\r\n this.analytics.eventTrack.next({\r\n action: 'Added Credit',\r\n });\r\n this.onAdded.emit();\r\n } catch { }\r\n }\r\n\r\n cancel() {\r\n this.onCanceled.emit();\r\n }\r\n\r\n formatAmount() {\r\n try {\r\n if (this.creditAmount != null && this.creditAmount !== '') {\r\n const floatAmount = Math.abs(parseFloat(this.creditAmount));\r\n if (floatAmount > 0) {\r\n this.creditAmount = parseFloat((Math.round(floatAmount * 100) / 100).toString())\r\n .toFixed(2).toString();\r\n return;\r\n }\r\n }\r\n } catch { }\r\n this.creditAmount = '';\r\n }\r\n\r\n get creditAmountNumber(): number {\r\n if (this.creditAmount != null && this.creditAmount !== '') {\r\n try {\r\n return parseFloat(this.creditAmount);\r\n } catch { }\r\n }\r\n return null;\r\n }\r\n}\r\n","
\r\n
\r\n \r\n

{{'addCredit' | i18n}}

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
$USD
\r\n \r\n
\r\n
\r\n
\r\n {{'creditDelayed' | i18n}}\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { PaymentRequest } from 'jslib/models/request/paymentRequest';\r\n\r\nimport { PaymentMethodType } from 'jslib/enums/paymentMethodType';\r\n\r\nimport { PaymentComponent } from './payment.component';\r\nimport { TaxInfoComponent } from './tax-info.component';\r\n\r\n@Component({\r\n selector: 'app-adjust-payment',\r\n templateUrl: 'adjust-payment.component.html',\r\n})\r\nexport class AdjustPaymentComponent {\r\n @ViewChild(PaymentComponent, { static: true }) paymentComponent: PaymentComponent;\r\n @ViewChild(TaxInfoComponent, { static: true }) taxInfoComponent: TaxInfoComponent;\r\n\r\n @Input() currentType?: PaymentMethodType;\r\n @Input() organizationId: string;\r\n @Output() onAdjusted = new EventEmitter();\r\n @Output() onCanceled = new EventEmitter();\r\n\r\n paymentMethodType = PaymentMethodType;\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService) { }\r\n\r\n async submit() {\r\n try {\r\n const request = new PaymentRequest();\r\n this.formPromise = this.paymentComponent.createPaymentToken().then((result) => {\r\n request.paymentToken = result[0];\r\n request.paymentMethodType = result[1];\r\n request.postalCode = this.taxInfoComponent.taxInfo.postalCode;\r\n request.country = this.taxInfoComponent.taxInfo.country;\r\n if (this.organizationId == null) {\r\n return this.apiService.postAccountPayment(request);\r\n } else {\r\n request.taxId = this.taxInfoComponent.taxInfo.taxId;\r\n request.state = this.taxInfoComponent.taxInfo.state;\r\n request.line1 = this.taxInfoComponent.taxInfo.line1;\r\n request.line2 = this.taxInfoComponent.taxInfo.line2;\r\n request.city = this.taxInfoComponent.taxInfo.city;\r\n request.state = this.taxInfoComponent.taxInfo.state;\r\n return this.apiService.postOrganizationPayment(this.organizationId, request);\r\n }\r\n });\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({\r\n action: this.currentType == null ? 'Added Payment Method' : 'Changed Payment Method',\r\n });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('updatedPaymentMethod'));\r\n this.onAdjusted.emit();\r\n } catch { }\r\n }\r\n\r\n cancel() {\r\n this.onCanceled.emit();\r\n }\r\n\r\n changeCountry() {\r\n if (this.taxInfoComponent.taxInfo.country === 'US') {\r\n this.paymentComponent.hideBank = !this.organizationId;\r\n } else {\r\n this.paymentComponent.hideBank = true;\r\n if (this.paymentComponent.method === PaymentMethodType.BankAccount) {\r\n this.paymentComponent.method = PaymentMethodType.Card;\r\n this.paymentComponent.changeMethod();\r\n }\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n \r\n

{{(currentType != null ? 'changePaymentMethod' : 'addPaymentMethod') | i18n}}

\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n","export enum PlanType {\r\n Free = 0,\r\n FamiliesAnnually2019 = 1,\r\n TeamsMonthly2019 = 2,\r\n TeamsAnnually2019 = 3,\r\n EnterpriseMonthly2019 = 4,\r\n EnterpriseAnnually2019 = 5,\r\n Custom = 6,\r\n FamiliesAnnually = 7,\r\n TeamsMonthly = 8,\r\n TeamsAnnually = 9,\r\n EnterpriseMonthly = 10,\r\n EnterpriseAnnually = 11,\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\n@Component({\r\n selector: 'app-update-license',\r\n templateUrl: 'update-license.component.html',\r\n})\r\nexport class UpdateLicenseComponent {\r\n @Input() organizationId: string;\r\n @Output() onUpdated = new EventEmitter();\r\n @Output() onCanceled = new EventEmitter();\r\n\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService) { }\r\n\r\n async submit() {\r\n const fileEl = document.getElementById('file') as HTMLInputElement;\r\n const files = fileEl.files;\r\n if (files == null || files.length === 0) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('selectFile'));\r\n return;\r\n }\r\n\r\n try {\r\n const fd = new FormData();\r\n fd.append('license', files[0]);\r\n\r\n let updatePromise: Promise = null;\r\n if (this.organizationId == null) {\r\n updatePromise = this.apiService.postAccountLicense(fd);\r\n } else {\r\n updatePromise = this.apiService.postOrganizationLicenseUpdate(this.organizationId, fd);\r\n }\r\n\r\n this.formPromise = updatePromise.then(() => {\r\n return this.apiService.refreshIdentityToken();\r\n });\r\n\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Updated License' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('updatedLicense'));\r\n this.onUpdated.emit();\r\n } catch { }\r\n }\r\n\r\n cancel() {\r\n this.onCanceled.emit();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n \r\n {{'licenseFileDesc' | i18n : (!organizationId ? 'bitwarden_premium_license.json' : 'bitwarden_organization_license.json')}}\r\n
\r\n \r\n \r\n
\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\n\r\nimport {\r\n ActivatedRoute,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { StorageRequest } from 'jslib/models/request/storageRequest';\r\n\r\nimport { PaymentResponse } from 'jslib/models/response/paymentResponse';\r\n\r\nimport { PaymentComponent } from './payment.component';\r\n\r\n@Component({\r\n selector: 'app-adjust-storage',\r\n templateUrl: 'adjust-storage.component.html',\r\n})\r\nexport class AdjustStorageComponent {\r\n @Input() storageGbPrice = 0;\r\n @Input() add = true;\r\n @Input() organizationId: string;\r\n @Input() interval = 'year';\r\n @Output() onAdjusted = new EventEmitter();\r\n @Output() onCanceled = new EventEmitter();\r\n\r\n @ViewChild(PaymentComponent, { static: true }) paymentComponent: PaymentComponent;\r\n\r\n storageAdjustment = 0;\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private router: Router, private activatedRoute: ActivatedRoute) { }\r\n\r\n async submit() {\r\n try {\r\n const request = new StorageRequest();\r\n request.storageGbAdjustment = this.storageAdjustment;\r\n if (!this.add) {\r\n request.storageGbAdjustment *= -1;\r\n }\r\n\r\n let paymentFailed = false;\r\n const action = async () => {\r\n let response: Promise;\r\n if (this.organizationId == null) {\r\n response = this.formPromise = this.apiService.postAccountStorage(request);\r\n } else {\r\n response = this.formPromise = this.apiService.postOrganizationStorage(this.organizationId, request);\r\n }\r\n const result = await response;\r\n if (result != null && result.paymentIntentClientSecret != null) {\r\n try {\r\n await this.paymentComponent.handleStripeCardPayment(result.paymentIntentClientSecret, null);\r\n } catch {\r\n paymentFailed = true;\r\n }\r\n }\r\n };\r\n this.formPromise = action();\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: this.add ? 'Added Storage' : 'Removed Storage' });\r\n this.onAdjusted.emit(this.storageAdjustment);\r\n if (paymentFailed) {\r\n this.toasterService.popAsync({\r\n body: this.i18nService.t('couldNotChargeCardPayInvoice'),\r\n type: 'warning',\r\n timeout: 10000,\r\n });\r\n this.router.navigate(['../billing'], { relativeTo: this.activatedRoute });\r\n } else {\r\n this.toasterService.popAsync('success', null,\r\n this.i18nService.t('adjustedStorage', request.storageGbAdjustment.toString()));\r\n }\r\n } catch { }\r\n }\r\n\r\n cancel() {\r\n this.onCanceled.emit();\r\n }\r\n\r\n get adjustedStorageTotal(): number {\r\n return this.storageGbPrice * this.storageAdjustment;\r\n }\r\n}\r\n","
\r\n
\r\n \r\n

{{(add ? 'addStorage' : 'removeStorage') | i18n}}

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {{'total' | i18n}}: {{storageAdjustment || 0}} GB × {{storageGbPrice | currency:'$'}}\r\n = {{adjustedStorageTotal\r\n | currency:'$'}} /{{interval | i18n}}\r\n
\r\n \r\n \r\n \r\n {{(add ? 'storageAddNote' : 'storageRemoveNote') | i18n}}\r\n \r\n
\r\n
\r\n\r\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\r\nimport { UpdateTwoFactorDuoRequest } from 'jslib/models/request/updateTwoFactorDuoRequest';\r\nimport { TwoFactorDuoResponse } from 'jslib/models/response/twoFactorDuoResponse';\r\n\r\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\r\n\r\n@Component({\r\n selector: 'app-two-factor-duo',\r\n templateUrl: 'two-factor-duo.component.html',\r\n})\r\nexport class TwoFactorDuoComponent extends TwoFactorBaseComponent {\r\n type = TwoFactorProviderType.Duo;\r\n ikey: string;\r\n skey: string;\r\n host: string;\r\n formPromise: Promise;\r\n\r\n constructor(apiService: ApiService, i18nService: I18nService,\r\n analytics: Angulartics2, toasterService: ToasterService,\r\n platformUtilsService: PlatformUtilsService) {\r\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\r\n }\r\n\r\n auth(authResponse: any) {\r\n super.auth(authResponse);\r\n this.processResponse(authResponse.response);\r\n }\r\n\r\n submit() {\r\n if (this.enabled) {\r\n return super.disable(this.formPromise);\r\n } else {\r\n return this.enable();\r\n }\r\n }\r\n\r\n protected enable() {\r\n const request = new UpdateTwoFactorDuoRequest();\r\n request.masterPasswordHash = this.masterPasswordHash;\r\n request.integrationKey = this.ikey;\r\n request.secretKey = this.skey;\r\n request.host = this.host;\r\n\r\n return super.enable(async () => {\r\n if (this.organizationId != null) {\r\n this.formPromise = this.apiService.putTwoFactorOrganizationDuo(this.organizationId, request);\r\n } else {\r\n this.formPromise = this.apiService.putTwoFactorDuo(request);\r\n }\r\n const response = await this.formPromise;\r\n await this.processResponse(response);\r\n });\r\n }\r\n\r\n private processResponse(response: TwoFactorDuoResponse) {\r\n this.ikey = response.integrationKey;\r\n this.skey = response.secretKey;\r\n this.host = response.host;\r\n this.enabled = response.enabled;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n {{'twoStepLogin' | i18n}}\r\n Duo\r\n

\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n {{'twoStepLoginProviderEnabled' | i18n}}\r\n \r\n \"\"\r\n {{'twoFactorDuoIntegrationKey' | i18n}}: {{ikey}}\r\n
\r\n {{'twoFactorDuoSecretKey' | i18n}}: {{skey}}\r\n
\r\n {{'twoFactorDuoApiHostname' | i18n}}: {{host}}\r\n
\r\n \r\n \"\"\r\n

{{'twoFactorDuoDesc' | i18n}}

\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n OnInit,\r\n Type,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { PolicyService } from 'jslib/abstractions/policy.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { TwoFactorProviders } from 'jslib/services/auth.service';\r\n\r\nimport { PolicyType } from 'jslib/enums/policyType';\r\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\r\n\r\nimport { ModalComponent } from '../modal.component';\r\n\r\nimport { TwoFactorAuthenticatorComponent } from './two-factor-authenticator.component';\r\nimport { TwoFactorDuoComponent } from './two-factor-duo.component';\r\nimport { TwoFactorEmailComponent } from './two-factor-email.component';\r\nimport { TwoFactorRecoveryComponent } from './two-factor-recovery.component';\r\nimport { TwoFactorU2fComponent } from './two-factor-u2f.component';\r\nimport { TwoFactorYubiKeyComponent } from './two-factor-yubikey.component';\r\n\r\n@Component({\r\n selector: 'app-two-factor-setup',\r\n templateUrl: 'two-factor-setup.component.html',\r\n})\r\nexport class TwoFactorSetupComponent implements OnInit {\r\n @ViewChild('recoveryTemplate', { read: ViewContainerRef, static: true }) recoveryModalRef: ViewContainerRef;\r\n @ViewChild('authenticatorTemplate', { read: ViewContainerRef, static: true }) authenticatorModalRef: ViewContainerRef;\r\n @ViewChild('yubikeyTemplate', { read: ViewContainerRef, static: true }) yubikeyModalRef: ViewContainerRef;\r\n @ViewChild('u2fTemplate', { read: ViewContainerRef, static: true }) u2fModalRef: ViewContainerRef;\r\n @ViewChild('duoTemplate', { read: ViewContainerRef, static: true }) duoModalRef: ViewContainerRef;\r\n @ViewChild('emailTemplate', { read: ViewContainerRef, static: true }) emailModalRef: ViewContainerRef;\r\n\r\n organizationId: string;\r\n providers: any[] = [];\r\n canAccessPremium: boolean;\r\n showPolicyWarning = false;\r\n loading = true;\r\n\r\n private modal: ModalComponent = null;\r\n\r\n constructor(protected apiService: ApiService, protected userService: UserService,\r\n protected componentFactoryResolver: ComponentFactoryResolver, protected messagingService: MessagingService,\r\n protected policyService: PolicyService) { }\r\n\r\n async ngOnInit() {\r\n this.canAccessPremium = await this.userService.canAccessPremium();\r\n\r\n for (const key in TwoFactorProviders) {\r\n if (!TwoFactorProviders.hasOwnProperty(key)) {\r\n continue;\r\n }\r\n\r\n const p = (TwoFactorProviders as any)[key];\r\n if (this.filterProvider(p.type)) {\r\n continue;\r\n }\r\n\r\n this.providers.push({\r\n type: p.type,\r\n name: p.name,\r\n description: p.description,\r\n enabled: false,\r\n premium: p.premium,\r\n sort: p.sort,\r\n });\r\n }\r\n\r\n this.providers.sort((a: any, b: any) => a.sort - b.sort);\r\n await this.load();\r\n }\r\n\r\n async load() {\r\n this.loading = true;\r\n const providerList = await this.getTwoFactorProviders();\r\n providerList.data.forEach((p) => {\r\n this.providers.forEach((p2) => {\r\n if (p.type === p2.type) {\r\n p2.enabled = p.enabled;\r\n }\r\n });\r\n });\r\n this.evaluatePolicies();\r\n this.loading = false;\r\n }\r\n\r\n manage(type: TwoFactorProviderType) {\r\n switch (type) {\r\n case TwoFactorProviderType.Authenticator:\r\n const authComp = this.openModal(this.authenticatorModalRef, TwoFactorAuthenticatorComponent);\r\n authComp.onUpdated.subscribe((enabled: boolean) => {\r\n this.updateStatus(enabled, TwoFactorProviderType.Authenticator);\r\n });\r\n break;\r\n case TwoFactorProviderType.Yubikey:\r\n const yubiComp = this.openModal(this.yubikeyModalRef, TwoFactorYubiKeyComponent);\r\n yubiComp.onUpdated.subscribe((enabled: boolean) => {\r\n this.updateStatus(enabled, TwoFactorProviderType.Yubikey);\r\n });\r\n break;\r\n case TwoFactorProviderType.Duo:\r\n const duoComp = this.openModal(this.duoModalRef, TwoFactorDuoComponent);\r\n duoComp.onUpdated.subscribe((enabled: boolean) => {\r\n this.updateStatus(enabled, TwoFactorProviderType.Duo);\r\n });\r\n break;\r\n case TwoFactorProviderType.Email:\r\n const emailComp = this.openModal(this.emailModalRef, TwoFactorEmailComponent);\r\n emailComp.onUpdated.subscribe((enabled: boolean) => {\r\n this.updateStatus(enabled, TwoFactorProviderType.Email);\r\n });\r\n break;\r\n case TwoFactorProviderType.U2f:\r\n const u2fComp = this.openModal(this.u2fModalRef, TwoFactorU2fComponent);\r\n u2fComp.onUpdated.subscribe((enabled: boolean) => {\r\n this.updateStatus(enabled, TwoFactorProviderType.U2f);\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n recoveryCode() {\r\n this.openModal(this.recoveryModalRef, TwoFactorRecoveryComponent);\r\n }\r\n\r\n async premiumRequired() {\r\n if (!this.canAccessPremium) {\r\n this.messagingService.send('premiumRequired');\r\n return;\r\n }\r\n }\r\n\r\n protected getTwoFactorProviders() {\r\n return this.apiService.getTwoFactorProviders();\r\n }\r\n\r\n protected filterProvider(type: TwoFactorProviderType) {\r\n return type === TwoFactorProviderType.OrganizationDuo;\r\n }\r\n\r\n protected openModal(ref: ViewContainerRef, type: Type): T {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = ref.createComponent(factory).instance;\r\n const childComponent = this.modal.show(type, ref);\r\n\r\n this.modal.onClosed.subscribe(() => {\r\n this.modal = null;\r\n });\r\n return childComponent;\r\n }\r\n\r\n protected updateStatus(enabled: boolean, type: TwoFactorProviderType) {\r\n if (!enabled && this.modal != null) {\r\n this.modal.close();\r\n }\r\n this.providers.forEach((p) => {\r\n if (p.type === type) {\r\n p.enabled = enabled;\r\n }\r\n });\r\n this.evaluatePolicies();\r\n }\r\n\r\n private async evaluatePolicies() {\r\n if (this.organizationId == null && this.providers.filter((p) => p.enabled).length === 1) {\r\n const policies = await this.policyService.getAll(PolicyType.TwoFactorAuthentication);\r\n this.showPolicyWarning = policies != null && policies.some((p) => p.enabled);\r\n } else {\r\n this.showPolicyWarning = false;\r\n }\r\n }\r\n}\r\n","
\r\n

{{'twoStepLogin' | i18n}}

\r\n
\r\n

{{'twoStepLoginDesc' | i18n}}

\r\n

{{'twoStepLoginOrganizationDesc' | i18n}}

\r\n\r\n

{{'twoStepLoginRecoveryWarning' | i18n}}

\r\n \r\n
\r\n

\r\n {{'providers' | i18n}}\r\n \r\n \r\n {{'loading' | i18n}}\r\n \r\n

\r\n\r\n {{'twoStepLoginPolicyUserWarning' | i18n}}\r\n\r\n
    \r\n
  • \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n

    \r\n {{p.name}}\r\n \r\n \r\n {{'enabled' | i18n}}\r\n \r\n \r\n {{'premium' | i18n}}\r\n \r\n

    \r\n {{p.description}}\r\n
    \r\n
    \r\n \r\n
    \r\n
  • \r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Component } from '@angular/core';\r\n\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { EventService } from 'jslib/abstractions/event.service';\r\nimport { ExportService } from 'jslib/abstractions/export.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { ExportComponent as BaseExportComponent } from 'jslib/angular/components/export.component';\r\n\r\n@Component({\r\n selector: 'app-export',\r\n templateUrl: 'export.component.html',\r\n})\r\nexport class ExportComponent extends BaseExportComponent {\r\n constructor(cryptoService: CryptoService, i18nService: I18nService,\r\n platformUtilsService: PlatformUtilsService, exportService: ExportService,\r\n eventService: EventService) {\r\n super(cryptoService, i18nService, platformUtilsService, exportService, eventService, window);\r\n }\r\n\r\n protected saved() {\r\n super.saved();\r\n this.masterPassword = null;\r\n this.platformUtilsService.showToast('success', null, this.i18nService.t('exportSuccess'));\r\n }\r\n}\r\n","
\r\n
\r\n

{{'exportVault' | i18n}}

\r\n
\r\n

{{'exportMasterPassword' | i18n}}

\r\n {{'exportWarningDesc' | i18n}}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { AuditService } from 'jslib/abstractions/audit.service';\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { CipherView } from 'jslib/models/view/cipherView';\r\n\r\nimport { CipherType } from 'jslib/enums/cipherType';\r\n\r\nimport { CipherReportComponent } from './cipher-report.component';\r\n\r\n@Component({\r\n selector: 'app-exposed-passwords-report',\r\n templateUrl: 'exposed-passwords-report.component.html',\r\n})\r\nexport class ExposedPasswordsReportComponent extends CipherReportComponent implements OnInit {\r\n exposedPasswordMap = new Map();\r\n\r\n constructor(protected cipherService: CipherService, protected auditService: AuditService,\r\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\r\n userService: UserService) {\r\n super(componentFactoryResolver, userService, messagingService, true);\r\n }\r\n\r\n ngOnInit() {\r\n this.checkAccess();\r\n }\r\n\r\n async load() {\r\n if (await this.checkAccess()) {\r\n super.load();\r\n }\r\n }\r\n\r\n async setCiphers() {\r\n const allCiphers = await this.getAllCiphers();\r\n const exposedPasswordCiphers: CipherView[] = [];\r\n const promises: Promise[] = [];\r\n allCiphers.forEach((c) => {\r\n if (c.type !== CipherType.Login || c.login.password == null || c.login.password === '' || c.isDeleted) {\r\n return;\r\n }\r\n const promise = this.auditService.passwordLeaked(c.login.password).then((exposedCount) => {\r\n if (exposedCount > 0) {\r\n exposedPasswordCiphers.push(c);\r\n this.exposedPasswordMap.set(c.id, exposedCount);\r\n }\r\n });\r\n promises.push(promise);\r\n });\r\n await Promise.all(promises);\r\n this.ciphers = exposedPasswordCiphers;\r\n }\r\n\r\n protected getAllCiphers(): Promise {\r\n return this.cipherService.getAllDecrypted();\r\n }\r\n}\r\n","
\r\n

{{'exposedPasswordsReport' | i18n}}

\r\n
\r\n

{{'exposedPasswordsReportDesc' | i18n}}

\r\n\r\n
\r\n \r\n {{'noExposedPasswords' | i18n}}\r\n \r\n \r\n \r\n {{'exposedPasswordsFoundDesc' | i18n : (ciphers.length | number)}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{c.name}}\r\n \r\n \r\n {{'shared' | i18n}}\r\n \r\n \r\n \r\n {{'attachments' | i18n}}\r\n \r\n
\r\n {{c.subTitle}}\r\n
\r\n \r\n {{'exposedXTimes' | i18n : (exposedPasswordMap.get(c.id) | number)}}\r\n \r\n
\r\n
\r\n
\r\n\r\n","import { Component } from '@angular/core';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { AuditService } from 'jslib/abstractions/audit.service';\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { EventService } from 'jslib/abstractions/event.service';\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { StateService } from 'jslib/abstractions/state.service';\r\nimport { TotpService } from 'jslib/abstractions/totp.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { CipherData } from 'jslib/models/data/cipherData';\r\nimport { Cipher } from 'jslib/models/domain/cipher';\r\nimport { Organization } from 'jslib/models/domain/organization';\r\nimport { CipherCreateRequest } from 'jslib/models/request/cipherCreateRequest';\r\nimport { CipherRequest } from 'jslib/models/request/cipherRequest';\r\n\r\nimport { AddEditComponent as BaseAddEditComponent } from '../../vault/add-edit.component';\r\n\r\n@Component({\r\n selector: 'app-org-vault-add-edit',\r\n templateUrl: '../../vault/add-edit.component.html',\r\n})\r\nexport class AddEditComponent extends BaseAddEditComponent {\r\n organization: Organization;\r\n originalCipher: Cipher = null;\r\n\r\n constructor(cipherService: CipherService, folderService: FolderService,\r\n i18nService: I18nService, platformUtilsService: PlatformUtilsService,\r\n auditService: AuditService, stateService: StateService,\r\n userService: UserService, collectionService: CollectionService,\r\n totpService: TotpService, passwordGenerationService: PasswordGenerationService,\r\n private apiService: ApiService, messagingService: MessagingService,\r\n eventService: EventService) {\r\n super(cipherService, folderService, i18nService, platformUtilsService, auditService, stateService,\r\n userService, collectionService, totpService, passwordGenerationService, messagingService,\r\n eventService);\r\n }\r\n\r\n protected allowOwnershipAssignment() {\r\n if (this.ownershipOptions != null && this.ownershipOptions.length > 1) {\r\n if (this.organization != null) {\r\n return this.cloneMode && this.organization.isAdmin;\r\n } else {\r\n return !this.editMode || this.cloneMode;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n protected loadCollections() {\r\n if (!this.organization.isAdmin) {\r\n return super.loadCollections();\r\n }\r\n return Promise.resolve(this.collections);\r\n }\r\n\r\n protected async loadCipher() {\r\n if (!this.organization.isAdmin) {\r\n return await super.loadCipher();\r\n }\r\n const response = await this.apiService.getCipherAdmin(this.cipherId);\r\n const data = new CipherData(response);\r\n this.originalCipher = new Cipher(data);\r\n return new Cipher(data);\r\n }\r\n\r\n protected encryptCipher() {\r\n if (!this.organization.isAdmin) {\r\n return super.encryptCipher();\r\n }\r\n return this.cipherService.encrypt(this.cipher, null, this.originalCipher);\r\n }\r\n\r\n protected async saveCipher(cipher: Cipher) {\r\n if (!this.organization.isAdmin || cipher.organizationId == null) {\r\n return super.saveCipher(cipher);\r\n }\r\n if (this.editMode && !this.cloneMode) {\r\n const request = new CipherRequest(cipher);\r\n return this.apiService.putCipherAdmin(this.cipherId, request);\r\n } else {\r\n const request = new CipherCreateRequest(cipher);\r\n return this.apiService.postCipherAdmin(request);\r\n }\r\n }\r\n\r\n protected async deleteCipher() {\r\n if (!this.organization.isAdmin) {\r\n return super.deleteCipher();\r\n }\r\n return this.cipher.isDeleted ? this.apiService.deleteCipherAdmin(this.cipherId)\r\n : this.apiService.putDeleteCipherAdmin(this.cipherId);\r\n }\r\n}\r\n","import { View } from './view';\r\n\r\nimport { Password } from '../domain/password';\r\n\r\nexport class PasswordHistoryView implements View {\r\n password: string = null;\r\n lastUsedDate: Date = null;\r\n\r\n constructor(ph?: Password) {\r\n if (!ph) {\r\n return;\r\n }\r\n\r\n this.lastUsedDate = ph.lastUsedDate;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n forwardRef,\r\n HostListener,\r\n Input,\r\n Renderer2,\r\n} from '@angular/core';\r\nimport {\r\n ControlValueAccessor,\r\n NgControl,\r\n NG_VALUE_ACCESSOR,\r\n} from '@angular/forms';\r\n\r\n// ref: https://juristr.com/blog/2018/02/ng-true-value-directive/\r\n@Directive({\r\n selector: 'input[type=checkbox][appTrueFalseValue]',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TrueFalseValueDirective),\r\n multi: true,\r\n },\r\n ],\r\n})\r\nexport class TrueFalseValueDirective implements ControlValueAccessor {\r\n @Input() trueValue = true;\r\n @Input() falseValue = false;\r\n\r\n constructor(private elementRef: ElementRef, private renderer: Renderer2) { }\r\n\r\n @HostListener('change', ['$event'])\r\n onHostChange(ev: any) {\r\n this.propagateChange(ev.target.checked ? this.trueValue : this.falseValue);\r\n }\r\n\r\n writeValue(obj: any): void {\r\n if (obj === this.trueValue) {\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'checked', true);\r\n } else {\r\n this.renderer.setProperty(this.elementRef.nativeElement, 'checked', false);\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.propagateChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void { /* nothing */ }\r\n\r\n setDisabledState?(isDisabled: boolean): void { /* nothing */ }\r\n\r\n private propagateChange = (_: any) => { /* nothing */ };\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { ImportOption, ImportService } from 'jslib/abstractions/import.service';\r\n\r\n@Component({\r\n selector: 'app-import',\r\n templateUrl: 'import.component.html',\r\n})\r\nexport class ImportComponent implements OnInit {\r\n featuredImportOptions: ImportOption[];\r\n importOptions: ImportOption[];\r\n format: string = null;\r\n fileContents: string;\r\n formPromise: Promise;\r\n\r\n protected organizationId: string = null;\r\n protected successNavigate: any[] = ['vault'];\r\n\r\n constructor(protected i18nService: I18nService, protected analytics: Angulartics2,\r\n protected toasterService: ToasterService, protected importService: ImportService,\r\n protected router: Router) { }\r\n\r\n ngOnInit() {\r\n this.setImportOptions();\r\n this.importOptions.sort((a, b) => {\r\n if (a.name == null && b.name != null) {\r\n return -1;\r\n }\r\n if (a.name != null && b.name == null) {\r\n return 1;\r\n }\r\n if (a.name == null && b.name == null) {\r\n return 0;\r\n }\r\n\r\n return this.i18nService.collator ? this.i18nService.collator.compare(a.name, b.name) :\r\n a.name.localeCompare(b.name);\r\n });\r\n }\r\n\r\n async submit() {\r\n const importer = this.importService.getImporter(this.format, this.organizationId != null);\r\n if (importer === null) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('selectFormat'));\r\n return;\r\n }\r\n\r\n const fileEl = document.getElementById('file') as HTMLInputElement;\r\n const files = fileEl.files;\r\n if ((files == null || files.length === 0) && (this.fileContents == null || this.fileContents === '')) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('selectFile'));\r\n return;\r\n }\r\n\r\n let fileContents = this.fileContents;\r\n if (files != null && files.length > 0) {\r\n try {\r\n const content = await this.getFileContents(files[0]);\r\n if (content != null) {\r\n fileContents = content;\r\n }\r\n } catch { }\r\n }\r\n\r\n if (fileContents == null || fileContents === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('selectFile'));\r\n return;\r\n }\r\n\r\n try {\r\n this.formPromise = this.importService.import(importer, fileContents, this.organizationId);\r\n const error = await this.formPromise;\r\n if (error != null) {\r\n this.error(error);\r\n return;\r\n }\r\n this.analytics.eventTrack.next({\r\n action: 'Imported Data',\r\n properties: { label: this.format },\r\n });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('importSuccess'));\r\n this.router.navigate(this.successNavigate);\r\n } catch { }\r\n }\r\n\r\n getFormatInstructionTitle() {\r\n if (this.format == null) {\r\n return null;\r\n }\r\n\r\n const results = this.featuredImportOptions.concat(this.importOptions).filter((o) => o.id === this.format);\r\n if (results.length > 0) {\r\n return this.i18nService.t('instructionsFor', results[0].name);\r\n }\r\n return null;\r\n }\r\n\r\n protected setImportOptions() {\r\n this.featuredImportOptions = [{\r\n id: null,\r\n name: '-- ' + this.i18nService.t('select') + ' --',\r\n }, ...this.importService.featuredImportOptions];\r\n this.importOptions = this.importService.regularImportOptions;\r\n }\r\n\r\n private error(error: Error) {\r\n this.analytics.eventTrack.next({\r\n action: 'Import Data Failed',\r\n properties: { label: this.format },\r\n });\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'), error.message);\r\n }\r\n\r\n private getFileContents(file: File): Promise {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsText(file, 'utf-8');\r\n reader.onload = (evt) => {\r\n if (this.format === 'lastpasscsv' && file.type === 'text/html') {\r\n const parser = new DOMParser();\r\n const doc = parser.parseFromString((evt.target as any).result, 'text/html');\r\n const pre = doc.querySelector('pre');\r\n if (pre != null) {\r\n resolve(pre.textContent);\r\n return;\r\n }\r\n reject();\r\n return;\r\n }\r\n\r\n resolve((evt.target as any).result);\r\n };\r\n reader.onerror = () => {\r\n reject();\r\n };\r\n });\r\n }\r\n}\r\n","
\r\n

{{'importData' | i18n}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n See detailed instructions on our help site at\r\n \r\n https://help.bitwarden.com/article/export-your-data/\r\n \r\n \r\n See detailed instructions on our help site at\r\n \r\n https://help.bitwarden.com/article/import-from-lastpass/\r\n \r\n \r\n Using the KeePassX desktop application, navigate to \"Database\" → \"Export to CSV file\" and save the CSV\r\n file.\r\n \r\n \r\n In the Avira web vault, go to \"Settings\" → \"My Data\" → \"Export data\" and save the CSV file.\r\n \r\n \r\n In the Blur web vault, click your username at the top and go to \"Settings\" → \"Export Data\", then click\r\n \"Export CSV\"\r\n for your \"Accounts\".\r\n \r\n \r\n Using the SaveInCloud desktop application, navigate to \"File\" → \"Export\" → \"As XML\" and save the\r\n XML file.\r\n \r\n \r\n Using the Padlock desktop application, click the hamburger icon in the top left corner and navigate to\r\n \"Settings\" →\r\n \"Export\" button and save the file \"As CSV\".\r\n \r\n \r\n Using the KeePass 2 desktop application, navigate to \"File\" → \"Export\" and select the \"KeePass XML\r\n (2.x)\" option.\r\n \r\n \r\n Using the Universal Password Manager desktop application, navigate to \"Database\" → \"Export\" and save\r\n the CSV file.\r\n \r\n \r\n Using the SaferPass browser extension, click the hamburger icon in the top left corner and navigate to\r\n \"Settings\". Click the \"Export accounts\" button to save the CSV file.\r\n \r\n \r\n Using the Meldium web vault, navigate to \"Settings\". Locate the \"Export data\" function and click \"Show me my\r\n data\" to save the CSV file.\r\n \r\n \r\n Log into the Keeper web vault (keepersecurity.com/vault). Navigate to \"Backup\" (top right) and find the\r\n \"Export to .csv File\" option. Click \"Export Now\" to save the CSV file.\r\n \r\n \r\n \r\n The process is exactly the same as importing from Google Chrome.\r\n \r\n See detailed instructions on our help site at\r\n \r\n https://help.bitwarden.com/article/import-from-chrome/\r\n \r\n \r\n Use the\r\n \r\n FF Password Exporter application to export your passwords to a CSV file.\r\n \r\n \r\n See detailed instructions on our help site at\r\n \r\n https://help.bitwarden.com/article/import-from-1password/.\r\n \r\n \r\n Using the Password Dragon desktop application, navigate to \"File\" → \"Export\" → \"To XML\". In the\r\n dialog that pops up select \"All Rows\" and check all fields. Click the \"Export\" button and save the XML file.\r\n \r\n \r\n Using the Enpass desktop application, navigate to \"File\" → \"Export\" → \"As CSV\". Select \"OK\" to the\r\n warning alert and save the CSV file. Note that the importer only supports files exported while Enpass is set\r\n to the English language, so adjust your settings accordingly.\r\n \r\n \r\n Using the Enpass 6 desktop application, click the menu button and navigate to \"File\" → \"Export\".\r\n Select the \".json\" file format option and save the JSON file.\r\n \r\n \r\n Using the Password Safe desktop application, navigate to \"File\" → \"Export To\" → \"XML format...\"\r\n and save the XML file.\r\n \r\n \r\n Using the Dashlane desktop application, navigate to \"File\" → \"Export\" → \"Unsecured archive\r\n (readable) in JSON format\" and save the JSON file.\r\n \r\n \r\n Using the mSecure desktop application, navigate to \"File\" → \"Export\" → \"CSV File...\" and save the\r\n CSV file.\r\n \r\n \r\n Using the Sticky Password desktop application, navigate to \"Menu\" (top right) → \"Export\" → \"Export\r\n all\". Select the unencrypted format XML option and save the XML file.\r\n \r\n \r\n Using the True Key desktop application, click the gear icon (top right) and then navigate to \"App Settings\".\r\n Click the \"Export\" button, enter your password and save the CSV file.\r\n \r\n \r\n Log into the Clipperz web application (clipperz.is/app). Click the hamburger menu icon in the top right to\r\n expand the navigation bar. Navigate to \"Data\" → \"Export\". Click the \"download HTML+JSON\" button to save\r\n the HTML file.\r\n \r\n \r\n Using the RoboForm Editor desktop application, navigate to \"RoboForm\" (top left) → \"Options\" →\r\n \"Account & Data\" and click the \"Export\" button. Select all of your data, change the \"Format\" to \"CSV\r\n file\" and then click the \"Export\" button to save the CSV file. Note: RoboForm only allows you to export\r\n Logins. Other items will not be exported.\r\n \r\n \r\n Log into the Passbolt web vault and navigate to the \"Passwords\" listing. Select all of the passwords you\r\n would like to export and click the \"Export\" button at the top of the listing. Choose the \"csv (lastpass)\"\r\n export format and click the \"Export\" button.\r\n \r\n \r\n Using the Ascendo DataVault desktop application, navigate to \"Tools\" → \"Export\". In the dialog that\r\n pops up, select the \"All Items (DVX, CSV)\" option. Click the \"Ok\" button to save the CSV file.\r\n \r\n \r\n Using the Password Boss desktop application, navigate to \"File\" → \"Export data\" → \"Password Boss\r\n JSON - not encrypted\" and save the JSON file.\r\n \r\n \r\n Log into the Zoho web vault (vault.zoho.com). Navigate to \"Tools\" → \"Export Secrets\". Select \"All\r\n Secrets\" and click the \"Zoho Vault Format CSV\" button. Highlight and copy the data from the textarea. Open a\r\n text editor like Notepad and paste the data. Save the data from the text editor as\r\n zoho_export.csv.\r\n \r\n \r\n Using the SplashID Safe desktop application, click on the SplashID blue lock logo in the top right corner.\r\n Navigate to \"Export\" → \"Export as CSV\" and save the CSV file.\r\n \r\n \r\n Using the PassKeep mobile app, navigate to \"Backup/Restore\". Locate the \"CSV Backup/Restore\" section and\r\n click \"Backup to CSV\" to save the CSV file.\r\n \r\n \r\n Make sure you have python-keyring and python-gnomekeyring installed. Save the\r\n GNOME Keyring Import/Export python\r\n script to your desktop as pw_helper.py. Open terminal and run\r\n chmod +rx Desktop/pw_helper.py and then\r\n python Desktop/pw_helper.py export Desktop/my_passwords.json. Then upload the resulting\r\n my_passwords.json file here to Bitwarden.\r\n \r\n \r\n Using the Password Agent desktop application navigate to \"File\" → \"Export\", select the \"Fields to\r\n export\" button and check all of the fields, change the \"Output format\" to \"CSV\", and then click the \"Start\"\r\n button to save the CSV file.\r\n \r\n \r\n Log into the Passpack website vault and navigate to \"Settings\" → \"Export\", then click the \"Download\"\r\n button to save the CSV file.\r\n \r\n \r\n Open your Passman vault and click on \"Settings\" in the bottom left corner. In the \"Settings\" window switch\r\n to the \"Export credentials\" tab and choose \"JSON\" as the export type. Enter your vault's passphrase and\r\n click the \"Export\" button to save the JSON file.\r\n \r\n \r\n Open the Avast Passwords desktop application and navigate to \"Settings\" → \"Import/export data\". Select\r\n the \"Export\" button for the \"Export to CSV file\" option to save the CSV file.\r\n \r\n \r\n Open the Avast Passwords desktop application and navigate to \"Settings\" → \"Import/export data\". Select\r\n the \"Export\" button for the \"Export to JSON file\" option to save the JSON file.\r\n \r\n \r\n Open the F-Secure KEY desktop application and navigate to \"Settings\" → \"Export Passwords\". Select the\r\n \"Export\" button, enter your master password, and save the FSK file.\r\n \r\n \r\n Open the Kaspersky Password Manager desktop application and navigate to \"Settings\" → \"Import/Export\".\r\n Locate the \"Export to text file\" section and select the \"Export\" button to save the TXT file.\r\n \r\n \r\n Open the RememBear desktop application and navigate to \"Settings\" → \"Account\" → \"Export\".\r\n Enter your master password and select the \"Export Anyway\" button to save the CSV file.\r\n \r\n \r\n Open the PasswordWallet desktop application and navigate to \"File\" → \"Export\" →\r\n \"Visible entries to text file\". Enter your password and select the \"Ok\" button to save the TXT file.\r\n \r\n \r\n Open the Myki desktop browser extension and navigate to \"Advanced\" → \"Export Accounts\" and then scan\r\n the QR code with your mobile device. Various CSV files will then be saved to your computer's\r\n downloads folder.\r\n \r\n \r\n Export your SecureSafe password safe to a CSV file with a comma delimiter.\r\n \r\n \r\n Open the LogMeOnce browser extension, then navigate to \"Open Menu\" → \"Export To\" and\r\n select \"CSV File\" to save the CSV file.\r\n \r\n \r\n Open the BlackBerry Password Keeper application, then navigate to \"Settings\" → \"Import/Export\".\r\n Select \"Export Passwords\" and follow the instructions on screen to save the unencrypted CSV file.\r\n \r\n \r\n Open the Buttercup desktop application and unlock your vault. Right click on your vault's icon and\r\n select \"Export\" to save the CSV file.\r\n \r\n \r\n Open the Codebook desktop application and log in. Navigate to \"File\" → \"Export all\", then click\r\n \"Yes\" on the dialog and save the CSV file.\r\n \r\n \r\n Open the newest version of the Encryptr desktop application and allow all of your data to sync.\r\n Once syncing of your data is complete, the download icon in the top right corner will turn pink. Click\r\n the download icon and save the CSV file.\r\n \r\n \r\n From the Yoti browser extension, click on \"Settings\", then \"Export Saved Logins\" and save the CSV file.\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { CipherView } from 'jslib/models/view/cipherView';\r\n\r\nimport { CipherType } from 'jslib/enums/cipherType';\r\n\r\nimport { Utils } from 'jslib/misc/utils';\r\n\r\nimport { CipherReportComponent } from './cipher-report.component';\r\n\r\n@Component({\r\n selector: 'app-inactive-two-factor-report',\r\n templateUrl: 'inactive-two-factor-report.component.html',\r\n})\r\nexport class InactiveTwoFactorReportComponent extends CipherReportComponent implements OnInit {\r\n services = new Map();\r\n cipherDocs = new Map();\r\n\r\n constructor(protected cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\r\n messagingService: MessagingService, userService: UserService) {\r\n super(componentFactoryResolver, userService, messagingService, true);\r\n }\r\n\r\n async ngOnInit() {\r\n if (await this.checkAccess()) {\r\n await super.load();\r\n }\r\n }\r\n\r\n async setCiphers() {\r\n try {\r\n await this.load2fa();\r\n } catch { }\r\n if (this.services.size > 0) {\r\n const allCiphers = await this.getAllCiphers();\r\n const inactive2faCiphers: CipherView[] = [];\r\n const promises: Promise[] = [];\r\n const docs = new Map();\r\n allCiphers.forEach((c) => {\r\n if (c.type !== CipherType.Login || (c.login.totp != null && c.login.totp !== '') || !c.login.hasUris ||\r\n c.isDeleted) {\r\n return;\r\n }\r\n for (let i = 0; i < c.login.uris.length; i++) {\r\n const u = c.login.uris[i];\r\n if (u.uri != null && u.uri !== '') {\r\n const hostname = Utils.getHostname(u.uri);\r\n if (hostname != null && this.services.has(hostname)) {\r\n if (this.services.get(hostname) != null) {\r\n docs.set(c.id, this.services.get(hostname));\r\n }\r\n inactive2faCiphers.push(c);\r\n break;\r\n }\r\n }\r\n }\r\n });\r\n await Promise.all(promises);\r\n this.ciphers = inactive2faCiphers;\r\n this.cipherDocs = docs;\r\n }\r\n }\r\n\r\n protected getAllCiphers(): Promise {\r\n return this.cipherService.getAllDecrypted();\r\n }\r\n\r\n private async load2fa() {\r\n if (this.services.size > 0) {\r\n return;\r\n }\r\n const response = await fetch(new Request('https://twofactorauth.org/api/v1/data.json'));\r\n if (response.status !== 200) {\r\n throw new Error();\r\n }\r\n const responseJson = await response.json();\r\n for (const categoryName in responseJson) {\r\n if (responseJson.hasOwnProperty(categoryName)) {\r\n const category = responseJson[categoryName];\r\n for (const serviceName in category) {\r\n if (category.hasOwnProperty(serviceName)) {\r\n const service = category[serviceName];\r\n if (service.tfa && service.software && service.url != null) {\r\n const hostname = Utils.getHostname(service.url);\r\n if (hostname != null) {\r\n this.services.set(hostname, service.doc);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","
\r\n

\r\n {{'inactive2faReport' | i18n}}\r\n \r\n \r\n {{'loading' | i18n}}\r\n \r\n

\r\n
\r\n

{{'inactive2faReportDesc' | i18n}}

\r\n
\r\n \r\n {{'loading' | i18n}}\r\n
\r\n
\r\n \r\n {{'noInactive2fa' | i18n}}\r\n \r\n \r\n \r\n {{'inactive2faFoundDesc' | i18n : (ciphers.length | number)}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{c.name}}\r\n \r\n \r\n {{'shared' | i18n}}\r\n \r\n \r\n \r\n {{'attachments' | i18n}}\r\n \r\n
\r\n {{c.subTitle}}\r\n
\r\n \r\n {{'instructions' | i18n}}\r\n
\r\n
\r\n
\r\n\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { CipherView } from 'jslib/models/view/cipherView';\r\n\r\nimport { CipherType } from 'jslib/enums/cipherType';\r\n\r\nimport { CipherReportComponent } from './cipher-report.component';\r\n\r\n@Component({\r\n selector: 'app-reused-passwords-report',\r\n templateUrl: 'reused-passwords-report.component.html',\r\n})\r\nexport class ReusedPasswordsReportComponent extends CipherReportComponent implements OnInit {\r\n passwordUseMap: Map;\r\n\r\n constructor(protected cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\r\n messagingService: MessagingService, userService: UserService) {\r\n super(componentFactoryResolver, userService, messagingService, true);\r\n }\r\n\r\n async ngOnInit() {\r\n if (await this.checkAccess()) {\r\n await super.load();\r\n }\r\n }\r\n\r\n async setCiphers() {\r\n const allCiphers = await this.getAllCiphers();\r\n const ciphersWithPasswords: CipherView[] = [];\r\n this.passwordUseMap = new Map();\r\n allCiphers.forEach((c) => {\r\n if (c.type !== CipherType.Login || c.login.password == null || c.login.password === '' || c.isDeleted) {\r\n return;\r\n }\r\n ciphersWithPasswords.push(c);\r\n if (this.passwordUseMap.has(c.login.password)) {\r\n this.passwordUseMap.set(c.login.password, this.passwordUseMap.get(c.login.password) + 1);\r\n } else {\r\n this.passwordUseMap.set(c.login.password, 1);\r\n }\r\n });\r\n const reusedPasswordCiphers = ciphersWithPasswords.filter((c) =>\r\n this.passwordUseMap.has(c.login.password) && this.passwordUseMap.get(c.login.password) > 1);\r\n this.ciphers = reusedPasswordCiphers;\r\n }\r\n\r\n protected getAllCiphers(): Promise {\r\n return this.cipherService.getAllDecrypted();\r\n }\r\n}\r\n","
\r\n

\r\n {{'reusedPasswordsReport' | i18n}}\r\n \r\n \r\n {{'loading' | i18n}}\r\n \r\n

\r\n
\r\n

{{'reusedPasswordsReportDesc' | i18n}}

\r\n
\r\n \r\n {{'loading' | i18n}}\r\n
\r\n
\r\n \r\n {{'noReusedPasswords' | i18n}}\r\n \r\n \r\n \r\n {{'reusedPasswordsFoundDesc' | i18n : (ciphers.length | number)}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{c.name}}\r\n \r\n \r\n {{'shared' | i18n}}\r\n \r\n \r\n \r\n {{'attachments' | i18n}}\r\n \r\n
\r\n {{c.subTitle}}\r\n
\r\n \r\n {{'reusedXTimes' | i18n : passwordUseMap.get(c.login.password)}}\r\n \r\n
\r\n
\r\n
\r\n\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { CipherType } from 'jslib/enums/cipherType';\r\n\r\nimport { CipherView } from 'jslib/models/view/cipherView';\r\n\r\nimport { CipherReportComponent } from './cipher-report.component';\r\n\r\n@Component({\r\n selector: 'app-unsecured-websites-report',\r\n templateUrl: 'unsecured-websites-report.component.html',\r\n})\r\nexport class UnsecuredWebsitesReportComponent extends CipherReportComponent implements OnInit {\r\n constructor(protected cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\r\n messagingService: MessagingService, userService: UserService) {\r\n super(componentFactoryResolver, userService, messagingService, true);\r\n }\r\n\r\n async ngOnInit() {\r\n if (await this.checkAccess()) {\r\n await super.load();\r\n }\r\n }\r\n\r\n async setCiphers() {\r\n const allCiphers = await this.getAllCiphers();\r\n const unsecuredCiphers = allCiphers.filter((c) => {\r\n if (c.type !== CipherType.Login || !c.login.hasUris || c.isDeleted) {\r\n return false;\r\n }\r\n return c.login.uris.some((u) => u.uri != null && u.uri.indexOf('http://') === 0);\r\n });\r\n this.ciphers = unsecuredCiphers;\r\n }\r\n\r\n protected getAllCiphers(): Promise {\r\n return this.cipherService.getAllDecrypted();\r\n }\r\n}\r\n","
\r\n

\r\n {{'unsecuredWebsitesReport' | i18n}}\r\n \r\n \r\n {{'loading' | i18n}}\r\n \r\n

\r\n
\r\n

{{'unsecuredWebsitesReportDesc' | i18n}}

\r\n
\r\n \r\n {{'loading' | i18n}}\r\n
\r\n
\r\n \r\n {{'noUnsecuredWebsites' | i18n}}\r\n \r\n \r\n \r\n {{'unsecuredWebsitesFoundDesc' | i18n : (ciphers.length | number)}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{c.name}}\r\n \r\n \r\n {{'shared' | i18n}}\r\n \r\n \r\n \r\n {{'attachments' | i18n}}\r\n \r\n
\r\n {{c.subTitle}}\r\n
\r\n
\r\n
\r\n\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { CipherView } from 'jslib/models/view/cipherView';\r\n\r\nimport { CipherType } from 'jslib/enums/cipherType';\r\n\r\nimport { CipherReportComponent } from './cipher-report.component';\r\n\r\n@Component({\r\n selector: 'app-weak-passwords-report',\r\n templateUrl: 'weak-passwords-report.component.html',\r\n})\r\nexport class WeakPasswordsReportComponent extends CipherReportComponent implements OnInit {\r\n passwordStrengthMap = new Map();\r\n\r\n private passwordStrengthCache = new Map();\r\n\r\n constructor(protected cipherService: CipherService, protected passwordGenerationService: PasswordGenerationService,\r\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\r\n userService: UserService) {\r\n super(componentFactoryResolver, userService, messagingService, true);\r\n }\r\n\r\n async ngOnInit() {\r\n if (await this.checkAccess()) {\r\n await super.load();\r\n }\r\n }\r\n\r\n async setCiphers() {\r\n const allCiphers = await this.getAllCiphers();\r\n const weakPasswordCiphers: CipherView[] = [];\r\n allCiphers.forEach((c) => {\r\n if (c.type !== CipherType.Login || c.login.password == null || c.login.password === '' || c.isDeleted) {\r\n return;\r\n }\r\n const hasUsername = c.login.username != null && c.login.username.trim() !== '';\r\n const cacheKey = c.login.password + '_____' + (hasUsername ? c.login.username : '');\r\n if (!this.passwordStrengthCache.has(cacheKey)) {\r\n let userInput: string[] = [];\r\n if (hasUsername) {\r\n const atPosition = c.login.username.indexOf('@');\r\n if (atPosition > -1) {\r\n userInput = userInput.concat(\r\n c.login.username.substr(0, atPosition).trim().toLowerCase().split(/[^A-Za-z0-9]/))\r\n .filter((i) => i.length >= 3);\r\n } else {\r\n userInput = c.login.username.trim().toLowerCase().split(/[^A-Za-z0-9]/)\r\n .filter((i) => i.length >= 3);\r\n }\r\n }\r\n const result = this.passwordGenerationService.passwordStrength(c.login.password,\r\n userInput.length > 0 ? userInput : null);\r\n this.passwordStrengthCache.set(cacheKey, result.score);\r\n }\r\n const score = this.passwordStrengthCache.get(cacheKey);\r\n if (score != null && score <= 2) {\r\n this.passwordStrengthMap.set(c.id, this.scoreKey(score));\r\n weakPasswordCiphers.push(c);\r\n }\r\n });\r\n this.ciphers = weakPasswordCiphers;\r\n }\r\n\r\n protected getAllCiphers(): Promise {\r\n return this.cipherService.getAllDecrypted();\r\n }\r\n\r\n private scoreKey(score: number): [string, string] {\r\n switch (score) {\r\n case 4:\r\n return ['strong', 'success'];\r\n case 3:\r\n return ['good', 'primary'];\r\n case 2:\r\n return ['weak', 'warning'];\r\n default:\r\n return ['veryWeak', 'danger'];\r\n }\r\n }\r\n}\r\n","
\r\n

\r\n {{'weakPasswordsReport' | i18n}}\r\n \r\n \r\n {{'loading' | i18n}}\r\n \r\n

\r\n
\r\n

{{'weakPasswordsReportDesc' | i18n}}

\r\n
\r\n \r\n {{'loading' | i18n}}\r\n
\r\n
\r\n \r\n {{'noWeakPasswords' | i18n}}\r\n \r\n \r\n \r\n {{'weakPasswordsFoundDesc' | i18n : (ciphers.length | number)}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{c.name}}\r\n \r\n \r\n {{'shared' | i18n}}\r\n \r\n \r\n \r\n {{'attachments' | i18n}}\r\n \r\n
\r\n {{c.subTitle}}\r\n
\r\n \r\n {{passwordStrengthMap.get(c.id)[0] | i18n}}\r\n \r\n
\r\n
\r\n
\r\n\r\n","import { Component } from '@angular/core';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { AttachmentView } from 'jslib/models/view/attachmentView';\r\n\r\nimport { AttachmentsComponent as BaseAttachmentsComponent } from 'jslib/angular/components/attachments.component';\r\n\r\n@Component({\r\n selector: 'app-vault-attachments',\r\n templateUrl: 'attachments.component.html',\r\n})\r\nexport class AttachmentsComponent extends BaseAttachmentsComponent {\r\n constructor(cipherService: CipherService, i18nService: I18nService,\r\n cryptoService: CryptoService, userService: UserService,\r\n platformUtilsService: PlatformUtilsService) {\r\n super(cipherService, i18nService, cryptoService, userService, platformUtilsService, window);\r\n }\r\n\r\n protected async reupload(attachment: AttachmentView) {\r\n if (this.showFixOldAttachments(attachment)) {\r\n await this.reuploadCipherAttachment(attachment, false);\r\n }\r\n }\r\n\r\n protected showFixOldAttachments(attachment: AttachmentView) {\r\n return attachment.key == null && this.cipher.organizationId == null;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n {{'attachments' | i18n}}\r\n {{cipher.name}}\r\n

\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n {{a.fileName}}\r\n
\r\n \r\n \r\n {{'attachmentFixDesc' | i18n}}\r\n \r\n
\r\n
\r\n {{a.sizeName}}\r\n
\r\n \r\n
\r\n

{{'newAttachment' | i18n}}

\r\n \r\n \r\n {{'maxFileSize' | i18n}}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { EventService } from 'jslib/abstractions/event.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { SearchService } from 'jslib/abstractions/search.service';\r\n\r\nimport { Organization } from 'jslib/models/domain/organization';\r\nimport { CipherView } from 'jslib/models/view/cipherView';\r\n\r\nimport { CiphersComponent as BaseCiphersComponent } from '../../vault/ciphers.component';\r\n\r\n@Component({\r\n selector: 'app-org-vault-ciphers',\r\n templateUrl: '../../vault/ciphers.component.html',\r\n})\r\nexport class CiphersComponent extends BaseCiphersComponent {\r\n @Output() onEventsClicked = new EventEmitter();\r\n\r\n organization: Organization;\r\n accessEvents = false;\r\n\r\n protected allCiphers: CipherView[] = [];\r\n\r\n constructor(searchService: SearchService, analytics: Angulartics2,\r\n toasterService: ToasterService, i18nService: I18nService,\r\n platformUtilsService: PlatformUtilsService, cipherService: CipherService,\r\n private apiService: ApiService, eventService: EventService) {\r\n super(searchService, analytics, toasterService, i18nService, platformUtilsService,\r\n cipherService, eventService);\r\n }\r\n\r\n async load(filter: (cipher: CipherView) => boolean = null) {\r\n if (!this.organization.isAdmin) {\r\n await super.load(filter, this.deleted);\r\n return;\r\n }\r\n this.accessEvents = this.organization.useEvents;\r\n this.allCiphers = await this.cipherService.getAllFromApiForOrganization(this.organization.id);\r\n this.applyFilter(filter);\r\n this.loaded = true;\r\n }\r\n\r\n async applyFilter(filter: (cipher: CipherView) => boolean = null) {\r\n if (this.organization.isAdmin) {\r\n await super.applyFilter(filter);\r\n } else {\r\n const f = (c: CipherView) => c.organizationId === this.organization.id && (filter == null || filter(c));\r\n await super.applyFilter(f);\r\n }\r\n }\r\n\r\n async search(timeout: number = null) {\r\n if (!this.organization.isAdmin) {\r\n return super.search(timeout);\r\n }\r\n this.searchPending = false;\r\n let filteredCiphers = this.allCiphers;\r\n\r\n if (this.searchText == null || this.searchText.trim().length < 2) {\r\n this.ciphers = filteredCiphers.filter((c) => {\r\n if (c.isDeleted !== this.deleted) {\r\n return false;\r\n }\r\n return this.filter == null || this.filter(c);\r\n });\r\n } else {\r\n if (this.filter != null) {\r\n filteredCiphers = filteredCiphers.filter(this.filter);\r\n }\r\n this.ciphers = this.searchService.searchCiphersBasic(filteredCiphers, this.searchText, this.deleted);\r\n }\r\n await this.resetPaging();\r\n }\r\n\r\n events(c: CipherView) {\r\n this.onEventsClicked.emit(c);\r\n }\r\n\r\n protected deleteCipher(id: string) {\r\n if (!this.organization.isAdmin) {\r\n return super.deleteCipher(id, this.deleted);\r\n }\r\n return this.deleted ? this.apiService.deleteCipherAdmin(id) : this.apiService.putDeleteCipherAdmin(id);\r\n }\r\n\r\n protected showFixOldAttachments(c: CipherView) {\r\n return this.organization.isAdmin && c.hasOldAttachments;\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnDestroy,\r\n} from '@angular/core';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\nimport { CollectionsComponent as BaseCollectionsComponent } from 'jslib/angular/components/collections.component';\r\n\r\n@Component({\r\n selector: 'app-vault-collections',\r\n templateUrl: 'collections.component.html',\r\n})\r\nexport class CollectionsComponent extends BaseCollectionsComponent implements OnDestroy {\r\n constructor(collectionService: CollectionService, platformUtilsService: PlatformUtilsService,\r\n i18nService: I18nService, cipherService: CipherService) {\r\n super(collectionService, platformUtilsService, i18nService, cipherService);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.selectAll(false);\r\n }\r\n\r\n check(c: CollectionView, select?: boolean) {\r\n (c as any).checked = select == null ? !(c as any).checked : select;\r\n }\r\n\r\n selectAll(select: boolean) {\r\n this.collections.forEach((c) => this.check(c, select));\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n {{'collections' | i18n}}\r\n {{cipher.name}}\r\n

\r\n \r\n
\r\n
\r\n

{{'collectionsDesc' | i18n}}

\r\n
\r\n

{{'collections' | i18n}}

\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {{'noCollectionsInList' | i18n}}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{c.name}}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { StorageService } from 'jslib/abstractions/storage.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { CollectionData } from 'jslib/models/data/collectionData';\r\nimport { Collection } from 'jslib/models/domain/collection';\r\nimport { Organization } from 'jslib/models/domain/organization';\r\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\nimport { GroupingsComponent as BaseGroupingsComponent } from '../../vault/groupings.component';\r\n\r\n@Component({\r\n selector: 'app-org-vault-groupings',\r\n templateUrl: '../../vault/groupings.component.html',\r\n})\r\nexport class GroupingsComponent extends BaseGroupingsComponent {\r\n organization: Organization;\r\n\r\n constructor(collectionService: CollectionService, folderService: FolderService,\r\n storageService: StorageService, userService: UserService,\r\n private apiService: ApiService, private i18nService: I18nService) {\r\n super(collectionService, folderService, storageService, userService);\r\n }\r\n\r\n async loadCollections() {\r\n if (!this.organization.isAdmin) {\r\n await super.loadCollections(this.organization.id);\r\n return;\r\n }\r\n\r\n const collections = await this.apiService.getCollections(this.organization.id);\r\n if (collections != null && collections.data != null && collections.data.length) {\r\n const collectionDomains = collections.data.map((r) =>\r\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\r\n this.collections = await this.collectionService.decryptMany(collectionDomains);\r\n } else {\r\n this.collections = [];\r\n }\r\n\r\n const unassignedCollection = new CollectionView();\r\n unassignedCollection.name = this.i18nService.t('unassigned');\r\n unassignedCollection.id = 'unassigned';\r\n unassignedCollection.organizationId = this.organization.id;\r\n unassignedCollection.readOnly = true;\r\n this.collections.push(unassignedCollection);\r\n this.nestedCollections = await this.collectionService.getAllNested(this.collections);\r\n }\r\n\r\n collapse(grouping: CollectionView) {\r\n super.collapse(grouping, 'org_');\r\n }\r\n\r\n isCollapsed(grouping: CollectionView) {\r\n return super.isCollapsed(grouping, 'org_');\r\n }\r\n}\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n Input,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { ToasterService } from 'angular2-toaster';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { Organization } from 'jslib/models/domain/organization';\r\n\r\nimport { ModalComponent } from '../modal.component';\r\n\r\nimport { BulkDeleteComponent } from './bulk-delete.component';\r\nimport { BulkMoveComponent } from './bulk-move.component';\r\nimport { BulkRestoreComponent } from './bulk-restore.component';\r\nimport { BulkShareComponent } from './bulk-share.component';\r\nimport { CiphersComponent } from './ciphers.component';\r\n\r\n@Component({\r\n selector: 'app-vault-bulk-actions',\r\n templateUrl: 'bulk-actions.component.html',\r\n})\r\nexport class BulkActionsComponent {\r\n @Input() ciphersComponent: CiphersComponent;\r\n @Input() modal: ModalComponent;\r\n @Input() deleted: boolean;\r\n @Input() organization: Organization;\r\n\r\n @ViewChild('bulkDeleteTemplate', { read: ViewContainerRef, static: true }) bulkDeleteModalRef: ViewContainerRef;\r\n @ViewChild('bulkRestoreTemplate', { read: ViewContainerRef, static: true }) bulkRestoreModalRef: ViewContainerRef;\r\n @ViewChild('bulkMoveTemplate', { read: ViewContainerRef, static: true }) bulkMoveModalRef: ViewContainerRef;\r\n @ViewChild('bulkShareTemplate', { read: ViewContainerRef, static: true }) bulkShareModalRef: ViewContainerRef;\r\n\r\n constructor(private toasterService: ToasterService,\r\n private i18nService: I18nService,\r\n private componentFactoryResolver: ComponentFactoryResolver) { }\r\n\r\n bulkDelete() {\r\n const selectedIds = this.ciphersComponent.getSelectedIds();\r\n if (selectedIds.length === 0) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('nothingSelected'));\r\n return;\r\n }\r\n\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.bulkDeleteModalRef.createComponent(factory).instance;\r\n const childComponent = this.modal.show(BulkDeleteComponent, this.bulkDeleteModalRef);\r\n\r\n childComponent.permanent = this.deleted;\r\n childComponent.cipherIds = selectedIds;\r\n childComponent.organization = this.organization;\r\n childComponent.onDeleted.subscribe(async () => {\r\n this.modal.close();\r\n await this.ciphersComponent.refresh();\r\n });\r\n\r\n this.modal.onClosed.subscribe(() => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n bulkRestore() {\r\n const selectedIds = this.ciphersComponent.getSelectedIds();\r\n if (selectedIds.length === 0) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('nothingSelected'));\r\n return;\r\n }\r\n\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.bulkRestoreModalRef.createComponent(factory).instance;\r\n const childComponent = this.modal.show(BulkRestoreComponent, this.bulkRestoreModalRef);\r\n\r\n childComponent.cipherIds = selectedIds;\r\n childComponent.onRestored.subscribe(async () => {\r\n this.modal.close();\r\n await this.ciphersComponent.refresh();\r\n });\r\n\r\n this.modal.onClosed.subscribe(() => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n bulkShare() {\r\n const selectedCiphers = this.ciphersComponent.getSelected();\r\n if (selectedCiphers.length === 0) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('nothingSelected'));\r\n return;\r\n }\r\n\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.bulkShareModalRef.createComponent(factory).instance;\r\n const childComponent = this.modal.show(BulkShareComponent, this.bulkShareModalRef);\r\n\r\n childComponent.ciphers = selectedCiphers;\r\n childComponent.onShared.subscribe(async () => {\r\n this.modal.close();\r\n await this.ciphersComponent.refresh();\r\n });\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n bulkMove() {\r\n const selectedIds = this.ciphersComponent.getSelectedIds();\r\n if (selectedIds.length === 0) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('nothingSelected'));\r\n return;\r\n }\r\n\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.bulkMoveModalRef.createComponent(factory).instance;\r\n const childComponent = this.modal.show(BulkMoveComponent, this.bulkMoveModalRef);\r\n\r\n childComponent.cipherIds = selectedIds;\r\n childComponent.onMoved.subscribe(async () => {\r\n this.modal.close();\r\n await this.ciphersComponent.refresh();\r\n });\r\n\r\n this.modal.onClosed.subscribe(() => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n selectAll(select: boolean) {\r\n this.ciphersComponent.selectAll(select);\r\n }\r\n}\r\n","
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n","import { CipherString } from './cipherString';\r\nimport Domain from './domainBase';\r\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\r\n\r\nimport { SendFileData } from '../data/sendFileData';\r\n\r\nimport { SendFileView } from '../view/sendFileView';\r\n\r\nexport class SendFile extends Domain {\r\n id: string;\r\n url: string;\r\n size: string;\r\n sizeName: string;\r\n fileName: CipherString;\r\n\r\n constructor(obj?: SendFileData, alreadyEncrypted: boolean = false) {\r\n super();\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.size = obj.size;\r\n this.buildDomainModel(this, obj, {\r\n id: null,\r\n url: null,\r\n sizeName: null,\r\n fileName: null,\r\n }, alreadyEncrypted, ['id', 'url', 'sizeName']);\r\n }\r\n\r\n async decrypt(key: SymmetricCryptoKey): Promise {\r\n const view = await this.decryptObj(new SendFileView(this), {\r\n fileName: null,\r\n }, null, key);\r\n return view;\r\n }\r\n\r\n toSendFileData(): SendFileData {\r\n const f = new SendFileData();\r\n f.size = this.size;\r\n this.buildDataModel(this, f, {\r\n id: null,\r\n url: null,\r\n sizeName: null,\r\n fileName: null,\r\n }, ['id', 'url', 'sizeName']);\r\n return f;\r\n }\r\n}\r\n","import { CipherString } from './cipherString';\r\nimport Domain from './domainBase';\r\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\r\n\r\nimport { SendTextData } from '../data/sendTextData';\r\n\r\nimport { SendTextView } from '../view/sendTextView';\r\n\r\nexport class SendText extends Domain {\r\n text: CipherString;\r\n hidden: boolean;\r\n\r\n constructor(obj?: SendTextData, alreadyEncrypted: boolean = false) {\r\n super();\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.hidden = obj.hidden;\r\n this.buildDomainModel(this, obj, {\r\n text: null,\r\n }, alreadyEncrypted, []);\r\n }\r\n\r\n decrypt(key: SymmetricCryptoKey): Promise {\r\n return this.decryptObj(new SendTextView(this), {\r\n text: null,\r\n }, null, key);\r\n }\r\n\r\n toSendTextData(): SendTextData {\r\n const t = new SendTextData();\r\n this.buildDataModel(this, t, {\r\n text: null,\r\n hidden: null,\r\n }, ['hidden']);\r\n return t;\r\n }\r\n}\r\n","import { CipherRequest } from './cipherRequest';\r\n\r\nimport { Cipher } from '../domain/cipher';\r\n\r\nexport class CipherWithIdRequest extends CipherRequest {\r\n id: string;\r\n\r\n constructor(cipher: Cipher) {\r\n super(cipher);\r\n this.id = cipher.id;\r\n }\r\n}\r\n","import { Folder } from '../domain/folder';\r\n\r\nexport class FolderRequest {\r\n name: string;\r\n\r\n constructor(folder: Folder) {\r\n this.name = folder.name ? folder.name.encryptedString : null;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n} from '@angular/core';\r\n\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\n@Directive({\r\n selector: '[appSelectCopy]',\r\n})\r\nexport class SelectCopyDirective {\r\n constructor(private el: ElementRef, private platformUtilsService: PlatformUtilsService) { }\r\n\r\n @HostListener('copy') onCopy() {\r\n if (window == null) {\r\n return;\r\n }\r\n let copyText = '';\r\n const selection = window.getSelection();\r\n for (let i = 0; i < selection.rangeCount; i++) {\r\n const range = selection.getRangeAt(i);\r\n const text = range.toString();\r\n\r\n // The selection should only contain one line of text. In some cases however, the\r\n // selection contains newlines and space characters from the indentation of following\r\n // sibling nodes. To avoid copying passwords containing trailing newlines and spaces\r\n // that aren't part of the password, the selection has to be trimmed.\r\n let stringEndPos = text.length;\r\n const newLinePos = text.search(/(?:\\r\\n|\\r|\\n)/);\r\n if (newLinePos > -1) {\r\n const otherPart = text.substr(newLinePos).trim();\r\n if (otherPart === '') {\r\n stringEndPos = newLinePos;\r\n }\r\n }\r\n copyText += text.substring(0, stringEndPos);\r\n }\r\n this.platformUtilsService.copyToClipboard(copyText, { window: window });\r\n }\r\n}\r\n","import {\r\n Pipe,\r\n PipeTransform,\r\n} from '@angular/core';\r\n\r\n/**\r\n * A pipe that sanitizes HTML and highlights numbers and special characters (in different colors each).\r\n */\r\n@Pipe({ name: 'colorPassword' })\r\nexport class ColorPasswordPipe implements PipeTransform {\r\n transform(password: string) {\r\n let colorizedPassword = '';\r\n for (let i = 0; i < password.length; i++) {\r\n let character = password[i];\r\n let isSpecial = false;\r\n // Sanitize HTML first.\r\n switch (character) {\r\n case '&':\r\n character = '&';\r\n isSpecial = true;\r\n break;\r\n case '<':\r\n character = '<';\r\n isSpecial = true;\r\n break;\r\n case '>':\r\n character = '>';\r\n isSpecial = true;\r\n break;\r\n case ' ':\r\n character = ' ';\r\n isSpecial = true;\r\n break;\r\n default:\r\n break;\r\n }\r\n let type = 'letter';\r\n if (isSpecial || character.match(/[^\\w ]/)) {\r\n type = 'special';\r\n } else if (character.match(/\\d/)) {\r\n type = 'number';\r\n }\r\n colorizedPassword += '' + character + '';\r\n }\r\n return colorizedPassword;\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\nimport { ProfileOrganizationResponse } from './profileOrganizationResponse';\r\n\r\nexport class ProfileResponse extends BaseResponse {\r\n id: string;\r\n name: string;\r\n email: string;\r\n emailVerified: boolean;\r\n masterPasswordHint: string;\r\n premium: boolean;\r\n culture: string;\r\n twoFactorEnabled: boolean;\r\n key: string;\r\n privateKey: string;\r\n securityStamp: string;\r\n organizations: ProfileOrganizationResponse[] = [];\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.name = this.getResponseProperty('Name');\r\n this.email = this.getResponseProperty('Email');\r\n this.emailVerified = this.getResponseProperty('EmailVerified');\r\n this.masterPasswordHint = this.getResponseProperty('MasterPasswordHint');\r\n this.premium = this.getResponseProperty('Premium');\r\n this.culture = this.getResponseProperty('Culture');\r\n this.twoFactorEnabled = this.getResponseProperty('TwoFactorEnabled');\r\n this.key = this.getResponseProperty('Key');\r\n this.privateKey = this.getResponseProperty('PrivateKey');\r\n this.securityStamp = this.getResponseProperty('SecurityStamp');\r\n\r\n const organizations = this.getResponseProperty('Organizations');\r\n if (organizations != null) {\r\n this.organizations = organizations.map((o: any) => new ProfileOrganizationResponse(o));\r\n }\r\n }\r\n}\r\n","import { BaseResponse } from '../response/baseResponse';\r\n\r\nexport class SendFileApi extends BaseResponse {\r\n id: string;\r\n url: string;\r\n fileName: string;\r\n key: string;\r\n size: string;\r\n sizeName: string;\r\n\r\n constructor(data: any = null) {\r\n super(data);\r\n if (data == null) {\r\n return;\r\n }\r\n this.id = this.getResponseProperty('Id');\r\n this.url = this.getResponseProperty('Url');\r\n this.fileName = this.getResponseProperty('FileName');\r\n this.key = this.getResponseProperty('Key');\r\n this.size = this.getResponseProperty('Size');\r\n this.sizeName = this.getResponseProperty('SizeName');\r\n }\r\n}\r\n","import { BaseResponse } from '../response/baseResponse';\r\n\r\nexport class SendTextApi extends BaseResponse {\r\n text: string;\r\n hidden: boolean;\r\n\r\n constructor(data: any = null) {\r\n super(data);\r\n if (data == null) {\r\n return;\r\n }\r\n this.text = this.getResponseProperty('Text');\r\n this.hidden = this.getResponseProperty('Hidden') || false;\r\n }\r\n}\r\n","import { EnvironmentService } from './environment.service';\r\n\r\nexport abstract class NotificationsService {\r\n init: (environmentService: EnvironmentService) => Promise;\r\n updateConnection: (sync?: boolean) => Promise;\r\n reconnectFromActivity: () => Promise;\r\n disconnectFromInactivity: () => Promise;\r\n}\r\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = 501;","import {\r\n Component,\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\n@Component({\r\n selector: 'app-frontend-layout',\r\n templateUrl: 'frontend-layout.component.html',\r\n})\r\nexport class FrontendLayoutComponent implements OnInit, OnDestroy {\r\n version: string;\r\n year: string = '2015';\r\n\r\n constructor(private platformUtilsService: PlatformUtilsService) { }\r\n\r\n ngOnInit() {\r\n this.year = new Date().getFullYear().toString();\r\n this.version = this.platformUtilsService.getApplicationVersion();\r\n document.body.classList.add('layout_frontend');\r\n }\r\n\r\n ngOnDestroy() {\r\n document.body.classList.remove('layout_frontend');\r\n }\r\n}\r\n","\r\n
\r\n © {{year}}, Bitwarden Inc.\r\n
{{'versionNumber' | i18n : version}}\r\n
\r\n","import {\r\n Component,\r\n NgZone,\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { Organization } from 'jslib/models/domain/organization';\r\n\r\nconst BroadcasterSubscriptionId = 'OrganizationLayoutComponent';\r\n\r\n@Component({\r\n selector: 'app-organization-layout',\r\n templateUrl: 'organization-layout.component.html',\r\n})\r\nexport class OrganizationLayoutComponent implements OnInit, OnDestroy {\r\n organization: Organization;\r\n enterpriseTokenPromise: Promise;\r\n private organizationId: string;\r\n private enterpriseUrl: string;\r\n\r\n constructor(private route: ActivatedRoute, private userService: UserService,\r\n private broadcasterService: BroadcasterService, private ngZone: NgZone,\r\n private apiService: ApiService, private platformUtilsService: PlatformUtilsService,\r\n private environmentService: EnvironmentService) { }\r\n\r\n ngOnInit() {\r\n this.enterpriseUrl = 'https://portal.bitwarden.com';\r\n if (this.environmentService.enterpriseUrl != null) {\r\n this.enterpriseUrl = this.environmentService.enterpriseUrl;\r\n } else if (this.environmentService.baseUrl != null) {\r\n this.enterpriseUrl = this.environmentService.baseUrl + '/portal';\r\n }\r\n\r\n document.body.classList.remove('layout_frontend');\r\n this.route.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n await this.load();\r\n });\r\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, (message: any) => {\r\n this.ngZone.run(async () => {\r\n switch (message.command) {\r\n case 'updatedOrgLicense':\r\n await this.load();\r\n break;\r\n }\r\n });\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\r\n }\r\n\r\n async load() {\r\n this.organization = await this.userService.getOrganization(this.organizationId);\r\n }\r\n\r\n async goToEnterprisePortal() {\r\n if (this.enterpriseTokenPromise != null) {\r\n return;\r\n }\r\n try {\r\n this.enterpriseTokenPromise = this.apiService.getEnterprisePortalSignInToken();\r\n const token = await this.enterpriseTokenPromise;\r\n if (token != null) {\r\n const userId = await this.userService.getUserId();\r\n this.platformUtilsService.launchUri(this.enterpriseUrl + '/login?userId=' + userId +\r\n '&token=' + (window as any).encodeURIComponent(token) + '&organizationId=' + this.organization.id);\r\n }\r\n } catch { }\r\n this.enterpriseTokenPromise = null;\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {{organization.name}}\r\n {{'organization' | i18n}}\r\n
\r\n
\r\n
\r\n \r\n {{'organizationIsDisabled' | i18n}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-user-layout',\r\n templateUrl: 'user-layout.component.html',\r\n})\r\nexport class UserLayoutComponent implements OnInit {\r\n ngOnInit() {\r\n document.body.classList.remove('layout_frontend');\r\n }\r\n}\r\n","\r\n\r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport {\r\n ActivatedRoute,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport {\r\n Toast,\r\n ToasterService,\r\n} from 'angular2-toaster';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { StateService } from 'jslib/abstractions/state.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { OrganizationUserAcceptRequest } from 'jslib/models/request/organizationUserAcceptRequest';\r\n\r\n@Component({\r\n selector: 'app-accept-organization',\r\n templateUrl: 'accept-organization.component.html',\r\n})\r\nexport class AcceptOrganizationComponent implements OnInit {\r\n loading = true;\r\n authed = false;\r\n orgName: string;\r\n email: string;\r\n actionPromise: Promise;\r\n\r\n constructor(private router: Router, private toasterService: ToasterService,\r\n private i18nService: I18nService, private route: ActivatedRoute,\r\n private apiService: ApiService, private userService: UserService,\r\n private stateService: StateService) { }\r\n\r\n ngOnInit() {\r\n let fired = false;\r\n this.route.queryParams.subscribe(async (qParams) => {\r\n if (fired) {\r\n return;\r\n }\r\n fired = true;\r\n await this.stateService.remove('orgInvitation');\r\n let error = qParams.organizationId == null || qParams.organizationUserId == null || qParams.token == null;\r\n let errorMessage: string = null;\r\n if (!error) {\r\n this.authed = await this.userService.isAuthenticated();\r\n if (this.authed) {\r\n const request = new OrganizationUserAcceptRequest();\r\n request.token = qParams.token;\r\n try {\r\n this.actionPromise = this.apiService.postOrganizationUserAccept(qParams.organizationId,\r\n qParams.organizationUserId, request);\r\n await this.actionPromise;\r\n const toast: Toast = {\r\n type: 'success',\r\n title: this.i18nService.t('inviteAccepted'),\r\n body: this.i18nService.t('inviteAcceptedDesc'),\r\n timeout: 10000,\r\n };\r\n this.toasterService.popAsync(toast);\r\n this.router.navigate(['/vault']);\r\n } catch (e) {\r\n error = true;\r\n errorMessage = e.message;\r\n }\r\n } else {\r\n await this.stateService.save('orgInvitation', qParams);\r\n this.email = qParams.email;\r\n this.orgName = qParams.organizationName;\r\n if (this.orgName != null) {\r\n // Fix URL encoding of space issue with Angular\r\n this.orgName = this.orgName.replace(/\\+/g, ' ');\r\n }\r\n }\r\n }\r\n\r\n if (error) {\r\n const toast: Toast = {\r\n type: 'error',\r\n title: null,\r\n body: errorMessage != null ? this.i18nService.t('inviteAcceptFailedShort', errorMessage) :\r\n this.i18nService.t('inviteAcceptFailed'),\r\n timeout: 10000,\r\n };\r\n this.toasterService.popAsync(toast);\r\n this.router.navigate(['/']);\r\n }\r\n\r\n this.loading = false;\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n \"Bitwarden\"\r\n

\r\n \r\n {{'loading' | i18n}}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{'joinOrganization' | i18n}}

\r\n
\r\n
\r\n

\r\n {{orgName}}\r\n {{email}}\r\n

\r\n

{{'joinOrganizationDesc' | i18n}}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { HintComponent as BaseHintComponent } from 'jslib/angular/components/hint.component';\r\n\r\n@Component({\r\n selector: 'app-hint',\r\n templateUrl: 'hint.component.html',\r\n})\r\nexport class HintComponent extends BaseHintComponent {\r\n constructor(router: Router, i18nService: I18nService,\r\n apiService: ApiService, platformUtilsService: PlatformUtilsService) {\r\n super(router, i18nService, apiService, platformUtilsService);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

{{'passwordHint' | i18n}}

\r\n
\r\n
\r\n
\r\n \r\n \r\n {{'enterEmailToGetHint' | i18n}}\r\n
\r\n
\r\n
\r\n \r\n \r\n {{'cancel' | i18n}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { StateService } from 'jslib/abstractions/state.service';\r\nimport { StorageService } from 'jslib/abstractions/storage.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\nimport { VaultTimeoutService } from 'jslib/abstractions/vaultTimeout.service';\r\n\r\nimport { RouterService } from '../services/router.service';\r\n\r\nimport { LockComponent as BaseLockComponent } from 'jslib/angular/components/lock.component';\r\n\r\n@Component({\r\n selector: 'app-lock',\r\n templateUrl: 'lock.component.html',\r\n})\r\nexport class LockComponent extends BaseLockComponent {\r\n constructor(router: Router, i18nService: I18nService,\r\n platformUtilsService: PlatformUtilsService, messagingService: MessagingService,\r\n userService: UserService, cryptoService: CryptoService,\r\n storageService: StorageService, vaultTimeoutService: VaultTimeoutService,\r\n environmentService: EnvironmentService, private routerService: RouterService,\r\n stateService: StateService, apiService: ApiService) {\r\n super(router, i18nService, platformUtilsService, messagingService, userService, cryptoService,\r\n storageService, vaultTimeoutService, environmentService, stateService, apiService);\r\n }\r\n\r\n async ngOnInit() {\r\n await super.ngOnInit();\r\n const authed = await this.userService.isAuthenticated();\r\n if (!authed) {\r\n this.router.navigate(['/']);\r\n } else if (await this.cryptoService.hasKey()) {\r\n this.router.navigate(['vault']);\r\n }\r\n\r\n this.onSuccessfulSubmit = () => {\r\n const previousUrl = this.routerService.getPreviousUrl();\r\n if (previousUrl !== '/' && previousUrl.indexOf('lock') === -1) {\r\n this.successRoute = previousUrl;\r\n }\r\n this.router.navigate([this.successRoute]);\r\n };\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

\r\n \r\n

\r\n

{{'yourVaultIsLocked' | i18n}}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n {{'loggedInAsEmailOn' | i18n : email : webVaultHostname}}\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\nimport {\r\n ActivatedRoute,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { AuthService } from 'jslib/abstractions/auth.service';\r\nimport { CryptoFunctionService } from 'jslib/abstractions/cryptoFunction.service';\r\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { StateService } from 'jslib/abstractions/state.service';\r\nimport { StorageService } from 'jslib/abstractions/storage.service';\r\n\r\nimport { LoginComponent as BaseLoginComponent } from 'jslib/angular/components/login.component';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: 'login.component.html',\r\n})\r\nexport class LoginComponent extends BaseLoginComponent {\r\n constructor(authService: AuthService, router: Router,\r\n i18nService: I18nService, private route: ActivatedRoute,\r\n storageService: StorageService, stateService: StateService,\r\n platformUtilsService: PlatformUtilsService, environmentService: EnvironmentService,\r\n passwordGenerationService: PasswordGenerationService, cryptoFunctionService: CryptoFunctionService) {\r\n super(authService, router,\r\n platformUtilsService, i18nService,\r\n stateService, environmentService,\r\n passwordGenerationService, cryptoFunctionService,\r\n storageService);\r\n this.onSuccessfulLoginNavigate = this.goAfterLogIn;\r\n }\r\n\r\n async ngOnInit() {\r\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\r\n if (qParams.email != null && qParams.email.indexOf('@') > -1) {\r\n this.email = qParams.email;\r\n }\r\n if (qParams.premium != null) {\r\n this.stateService.save('loginRedirect', { route: '/settings/premium' });\r\n } else if (qParams.org != null) {\r\n this.stateService.save('loginRedirect',\r\n { route: '/settings/create-organization', qParams: { plan: qParams.org } });\r\n }\r\n await super.ngOnInit();\r\n if (queryParamsSub != null) {\r\n queryParamsSub.unsubscribe();\r\n }\r\n });\r\n }\r\n\r\n async goAfterLogIn() {\r\n const invite = await this.stateService.get('orgInvitation');\r\n if (invite != null) {\r\n this.router.navigate(['accept-organization'], { queryParams: invite });\r\n } else {\r\n const loginRedirect = await this.stateService.get('loginRedirect');\r\n if (loginRedirect != null) {\r\n this.router.navigate([loginRedirect.route], { queryParams: loginRedirect.qParams });\r\n await this.stateService.remove('loginRedirect');\r\n } else {\r\n this.router.navigate([this.successRoute]);\r\n }\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n

{{'loginOrCreateNewAccount' | i18n}}

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n {{'getMasterPasswordHint' | i18n}}\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n {{'createAccount' | i18n}}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { DeleteRecoverRequest } from 'jslib/models/request/deleteRecoverRequest';\r\n\r\n@Component({\r\n selector: 'app-recover-delete',\r\n templateUrl: 'recover-delete.component.html',\r\n})\r\nexport class RecoverDeleteComponent {\r\n email: string;\r\n formPromise: Promise;\r\n\r\n constructor(private router: Router, private apiService: ApiService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private i18nService: I18nService) {\r\n }\r\n\r\n async submit() {\r\n try {\r\n const request = new DeleteRecoverRequest();\r\n request.email = this.email.trim().toLowerCase();\r\n this.formPromise = this.apiService.postAccountRecoverDelete(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Started Delete Recovery' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('deleteRecoverEmailSent'));\r\n this.router.navigate(['/']);\r\n } catch { }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

{{'deleteAccount' | i18n}}

\r\n
\r\n
\r\n

{{'deleteRecoverDesc' | i18n}}

\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n {{'cancel' | i18n}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { AuthService } from 'jslib/abstractions/auth.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { TwoFactorRecoveryRequest } from 'jslib/models/request/twoFactorRecoveryRequest';\r\n\r\n@Component({\r\n selector: 'app-recover-two-factor',\r\n templateUrl: 'recover-two-factor.component.html',\r\n})\r\nexport class RecoverTwoFactorComponent {\r\n email: string;\r\n masterPassword: string;\r\n recoveryCode: string;\r\n formPromise: Promise;\r\n\r\n constructor(private router: Router, private apiService: ApiService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private i18nService: I18nService, private cryptoService: CryptoService,\r\n private authService: AuthService) { }\r\n\r\n async submit() {\r\n try {\r\n const request = new TwoFactorRecoveryRequest();\r\n request.recoveryCode = this.recoveryCode.replace(/\\s/g, '').toLowerCase();\r\n request.email = this.email.trim().toLowerCase();\r\n const key = await this.authService.makePreloginKey(this.masterPassword, request.email);\r\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, key);\r\n this.formPromise = this.apiService.postTwoFactorRecover(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Recovered 2FA' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('twoStepRecoverDisabled'));\r\n this.router.navigate(['/']);\r\n } catch { }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

{{'recoverAccountTwoStep' | i18n}}

\r\n
\r\n
\r\n

{{'recoverAccountTwoStepDesc' | i18n}}\r\n {{'learnMore' | i18n}}\r\n

\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n {{'cancel' | i18n}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\nimport {\r\n ActivatedRoute,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { AuthService } from 'jslib/abstractions/auth.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { PolicyService } from 'jslib/abstractions/policy.service';\r\nimport { StateService } from 'jslib/abstractions/state.service';\r\n\r\nimport { RegisterComponent as BaseRegisterComponent } from 'jslib/angular/components/register.component';\r\n\r\nimport { MasterPasswordPolicyOptions } from 'jslib/models/domain/masterPasswordPolicyOptions';\r\nimport { Policy } from 'jslib/models/domain/policy';\r\n\r\nimport { PolicyData } from 'jslib/models/data/policyData';\r\nimport { ReferenceEventRequest } from 'jslib/models/request/referenceEventRequest';\r\n\r\n@Component({\r\n selector: 'app-register',\r\n templateUrl: 'register.component.html',\r\n})\r\nexport class RegisterComponent extends BaseRegisterComponent {\r\n showCreateOrgMessage = false;\r\n layout = '';\r\n enforcedPolicyOptions: MasterPasswordPolicyOptions;\r\n\r\n private policies: Policy[];\r\n\r\n constructor(authService: AuthService, router: Router,\r\n i18nService: I18nService, cryptoService: CryptoService,\r\n apiService: ApiService, private route: ActivatedRoute,\r\n stateService: StateService, platformUtilsService: PlatformUtilsService,\r\n passwordGenerationService: PasswordGenerationService, private policyService: PolicyService) {\r\n super(authService, router, i18nService, cryptoService, apiService, stateService, platformUtilsService,\r\n passwordGenerationService);\r\n }\r\n\r\n getPasswordScoreAlertDisplay() {\r\n if (this.enforcedPolicyOptions == null) {\r\n return '';\r\n }\r\n\r\n let str: string;\r\n switch (this.enforcedPolicyOptions.minComplexity) {\r\n case 4:\r\n str = this.i18nService.t('strong');\r\n break;\r\n case 3:\r\n str = this.i18nService.t('good');\r\n break;\r\n default:\r\n str = this.i18nService.t('weak');\r\n break;\r\n }\r\n return str + ' (' + this.enforcedPolicyOptions.minComplexity + ')';\r\n }\r\n\r\n async ngOnInit() {\r\n const queryParamsSub = this.route.queryParams.subscribe((qParams) => {\r\n this.referenceData = new ReferenceEventRequest();\r\n if (qParams.email != null && qParams.email.indexOf('@') > -1) {\r\n this.email = qParams.email;\r\n }\r\n if (qParams.premium != null) {\r\n this.stateService.save('loginRedirect', { route: '/settings/premium' });\r\n } else if (qParams.org != null) {\r\n this.showCreateOrgMessage = true;\r\n this.referenceData.flow = qParams.org;\r\n this.stateService.save('loginRedirect',\r\n { route: '/settings/create-organization', qParams: { plan: qParams.org } });\r\n }\r\n if (qParams.layout != null) {\r\n this.layout = this.referenceData.layout = qParams.layout;\r\n }\r\n if (qParams.reference != null) {\r\n this.referenceData.id = qParams.reference;\r\n } else {\r\n this.referenceData.id = ('; ' + document.cookie).split('; reference=').pop().split(';').shift();\r\n }\r\n if (this.referenceData.id === '') {\r\n this.referenceData.id = null;\r\n }\r\n if (queryParamsSub != null) {\r\n queryParamsSub.unsubscribe();\r\n }\r\n });\r\n const invite = await this.stateService.get('orgInvitation');\r\n if (invite != null) {\r\n try {\r\n const policies = await this.apiService.getPoliciesByToken(invite.organizationId, invite.token,\r\n invite.email, invite.organizationUserId);\r\n if (policies.data != null) {\r\n const policiesData = policies.data.map((p) => new PolicyData(p));\r\n this.policies = policiesData.map((p) => new Policy(p));\r\n }\r\n } catch { }\r\n }\r\n\r\n if (this.policies != null) {\r\n this.enforcedPolicyOptions = await this.policyService.getMasterPasswordPolicyOptions(this.policies);\r\n }\r\n }\r\n\r\n async submit() {\r\n if (this.enforcedPolicyOptions != null &&\r\n !this.policyService.evaluateMasterPassword(this.masterPasswordScore, this.masterPassword,\r\n this.enforcedPolicyOptions)) {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPasswordPolicyRequirementsNotMet'));\r\n return;\r\n }\r\n\r\n await super.submit();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Companies globally trust Bitwarden for password management.

\r\n

Start your 7-day free trial!

\r\n

Quickly deploy your organization

\r\n

Use Bitwarden across all platforms

\r\n

Collaborate and share securely

\r\n
\r\n
\r\n \r\n \"Wired\"\r\n \r\n
\r\n
\r\n \"Bitwarden has become a popular choice among open-source software advocates. After using\r\n it for a few months, I can see why.\" - February 2020\r\n
\r\n
\r\n
\r\n
\r\n

Enterprise 3 layout

\r\n
\r\n
\r\n

Enterprise 4 layout

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{'createAccount' | i18n}}

\r\n
\r\n
\r\n \r\n {{'createOrganizationCreatePersonalAccount' | i18n}}\r\n \r\n
\r\n \r\n \r\n {{'emailAddressDesc' | i18n}}\r\n
\r\n
\r\n \r\n \r\n {{'yourNameDesc' | i18n}}\r\n
\r\n
\r\n \r\n {{'masterPasswordPolicyInEffect' | i18n}}\r\n
    \r\n
  • 0\">\r\n {{'policyInEffectMinComplexity' | i18n : getPasswordScoreAlertDisplay()}}\r\n
  • \r\n
  • 0\">\r\n {{'policyInEffectMinLength' | i18n : enforcedPolicyOptions?.minLength.toString()}}\r\n
  • \r\n
  • \r\n {{'policyInEffectUppercase' | i18n}}
  • \r\n
  • \r\n {{'policyInEffectLowercase' | i18n}}
  • \r\n
  • \r\n {{'policyInEffectNumbers' | i18n}}
  • \r\n
  • \r\n {{'policyInEffectSpecial' | i18n : '!@#$%^&*'}}
  • \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{'masterPassDesc' | i18n}}\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n {{'masterPassHintDesc' | i18n}}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{'cancel' | i18n}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { PolicyData } from '../data/policyData';\r\n\r\nimport Domain from './domainBase';\r\n\r\nimport { PolicyType } from '../../enums/policyType';\r\n\r\nexport class Policy extends Domain {\r\n id: string;\r\n organizationId: string;\r\n type: PolicyType;\r\n data: any;\r\n enabled: boolean;\r\n\r\n constructor(obj?: PolicyData) {\r\n super();\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.id = obj.id;\r\n this.organizationId = obj.organizationId;\r\n this.type = obj.type;\r\n this.data = obj.data;\r\n this.enabled = obj.enabled;\r\n }\r\n}\r\n","import { PolicyResponse } from '../response/policyResponse';\r\n\r\nimport { PolicyType } from '../../enums/policyType';\r\n\r\nexport class PolicyData {\r\n id: string;\r\n organizationId: string;\r\n type: PolicyType;\r\n data: any;\r\n enabled: boolean;\r\n\r\n constructor(response: PolicyResponse) {\r\n this.id = response.id;\r\n this.organizationId = response.organizationId;\r\n this.type = response.type;\r\n this.data = response.data;\r\n this.enabled = response.enabled;\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport {\r\n ActivatedRoute,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { PolicyService } from 'jslib/abstractions/policy.service';\r\nimport { SyncService } from 'jslib/abstractions/sync.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport {\r\n SetPasswordComponent as BaseSetPasswordComponent,\r\n} from 'jslib/angular/components/set-password.component';\r\n\r\n@Component({\r\n selector: 'app-set-password',\r\n templateUrl: 'set-password.component.html',\r\n})\r\nexport class SetPasswordComponent extends BaseSetPasswordComponent {\r\n constructor(apiService: ApiService, i18nService: I18nService,\r\n cryptoService: CryptoService, messagingService: MessagingService,\r\n userService: UserService, passwordGenerationService: PasswordGenerationService,\r\n platformUtilsService: PlatformUtilsService, policyService: PolicyService, router: Router,\r\n syncService: SyncService, route: ActivatedRoute) {\r\n super(i18nService, cryptoService, messagingService, userService, passwordGenerationService,\r\n platformUtilsService, policyService, router, apiService, syncService, route);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

{{'setMasterPassword' | i18n}}

\r\n
\r\n
\r\n \r\n {{'loading' | i18n}}\r\n
\r\n
\r\n {{'ssoCompleteRegistration' | i18n}}\r\n
\r\n \r\n {{'masterPasswordPolicyInEffect' | i18n}}\r\n
    \r\n
  • 0\">\r\n {{'policyInEffectMinComplexity' | i18n : getPasswordScoreAlertDisplay()}}\r\n
  • \r\n
  • 0\">\r\n {{'policyInEffectMinLength' | i18n : enforcedPolicyOptions?.minLength.toString()}}\r\n
  • \r\n
  • \r\n {{'policyInEffectUppercase' | i18n}}
  • \r\n
  • \r\n {{'policyInEffectLowercase' | i18n}}
  • \r\n
  • \r\n {{'policyInEffectNumbers' | i18n}}
  • \r\n
  • \r\n {{'policyInEffectSpecial' | i18n : '!@#$%^&*'}}
  • \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{'masterPassDesc' | i18n}}\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n {{'masterPassHintDesc' | i18n}}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { OnInit } from '@angular/core';\r\n\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { MessagingService } from '../../abstractions/messaging.service';\r\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\nimport { PolicyService } from '../../abstractions/policy.service';\r\nimport { UserService } from '../../abstractions/user.service';\r\n\r\nimport { CipherString } from '../../models/domain/cipherString';\r\nimport { MasterPasswordPolicyOptions } from '../../models/domain/masterPasswordPolicyOptions';\r\nimport { SymmetricCryptoKey } from '../../models/domain/symmetricCryptoKey';\r\n\r\nimport { KdfType } from '../../enums/kdfType';\r\n\r\nexport class ChangePasswordComponent implements OnInit {\r\n masterPassword: string;\r\n masterPasswordRetype: string;\r\n formPromise: Promise;\r\n masterPasswordScore: number;\r\n enforcedPolicyOptions: MasterPasswordPolicyOptions;\r\n\r\n protected kdf: KdfType;\r\n protected kdfIterations: number;\r\n\r\n private masterPasswordStrengthTimeout: any;\r\n private email: string;\r\n\r\n constructor(protected i18nService: I18nService, protected cryptoService: CryptoService,\r\n protected messagingService: MessagingService, protected userService: UserService,\r\n protected passwordGenerationService: PasswordGenerationService,\r\n protected platformUtilsService: PlatformUtilsService, protected policyService: PolicyService) { }\r\n\r\n async ngOnInit() {\r\n this.email = await this.userService.getEmail();\r\n this.enforcedPolicyOptions = await this.policyService.getMasterPasswordPolicyOptions();\r\n }\r\n\r\n getPasswordScoreAlertDisplay() {\r\n if (this.enforcedPolicyOptions == null) {\r\n return '';\r\n }\r\n\r\n let str: string;\r\n switch (this.enforcedPolicyOptions.minComplexity) {\r\n case 4:\r\n str = this.i18nService.t('strong');\r\n break;\r\n case 3:\r\n str = this.i18nService.t('good');\r\n break;\r\n default:\r\n str = this.i18nService.t('weak');\r\n break;\r\n }\r\n return str + ' (' + this.enforcedPolicyOptions.minComplexity + ')';\r\n }\r\n\r\n async submit() {\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n if (this.masterPassword.length < 8) {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassLength'));\r\n return;\r\n }\r\n if (this.masterPassword !== this.masterPasswordRetype) {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassDoesntMatch'));\r\n return;\r\n }\r\n\r\n const strengthResult = this.passwordGenerationService.passwordStrength(this.masterPassword,\r\n this.getPasswordStrengthUserInput());\r\n\r\n if (this.enforcedPolicyOptions != null &&\r\n !this.policyService.evaluateMasterPassword(\r\n strengthResult.score,\r\n this.masterPassword,\r\n this.enforcedPolicyOptions)) {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPasswordPolicyRequirementsNotMet'));\r\n return;\r\n }\r\n\r\n if (strengthResult != null && strengthResult.score < 3) {\r\n const result = await this.platformUtilsService.showDialog(this.i18nService.t('weakMasterPasswordDesc'),\r\n this.i18nService.t('weakMasterPassword'), this.i18nService.t('yes'), this.i18nService.t('no'),\r\n 'warning');\r\n if (!result) {\r\n return;\r\n }\r\n }\r\n\r\n if (!await this.setupSubmitActions()) {\r\n return;\r\n }\r\n\r\n const email = await this.userService.getEmail();\r\n if (this.kdf == null) {\r\n this.kdf = await this.userService.getKdf();\r\n }\r\n if (this.kdfIterations == null) {\r\n this.kdfIterations = await this.userService.getKdfIterations();\r\n }\r\n const key = await this.cryptoService.makeKey(this.masterPassword, email.trim().toLowerCase(),\r\n this.kdf, this.kdfIterations);\r\n const masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, key);\r\n\r\n let encKey: [SymmetricCryptoKey, CipherString] = null;\r\n const existingEncKey = await this.cryptoService.getEncKey();\r\n if (existingEncKey == null) {\r\n encKey = await this.cryptoService.makeEncKey(key);\r\n } else {\r\n encKey = await this.cryptoService.remakeEncKey(key);\r\n }\r\n\r\n await this.performSubmitActions(masterPasswordHash, key, encKey);\r\n }\r\n\r\n async setupSubmitActions(): Promise {\r\n // Override in sub-class\r\n // Can be used for additional validation and/or other processes the should occur before changing passwords\r\n return true;\r\n }\r\n\r\n async performSubmitActions(masterPasswordHash: string, key: SymmetricCryptoKey,\r\n encKey: [SymmetricCryptoKey, CipherString]) {\r\n // Override in sub-class\r\n }\r\n\r\n updatePasswordStrength() {\r\n if (this.masterPasswordStrengthTimeout != null) {\r\n clearTimeout(this.masterPasswordStrengthTimeout);\r\n }\r\n this.masterPasswordStrengthTimeout = setTimeout(() => {\r\n const strengthResult = this.passwordGenerationService.passwordStrength(this.masterPassword,\r\n this.getPasswordStrengthUserInput());\r\n this.masterPasswordScore = strengthResult == null ? null : strengthResult.score;\r\n }, 300);\r\n }\r\n\r\n async logOut() {\r\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('logOutConfirmation'),\r\n this.i18nService.t('logOut'), this.i18nService.t('logOut'), this.i18nService.t('cancel'));\r\n if (confirmed) {\r\n this.messagingService.send('logout');\r\n }\r\n }\r\n\r\n private getPasswordStrengthUserInput() {\r\n let userInput: string[] = [];\r\n const atPosition = this.email.indexOf('@');\r\n if (atPosition > -1) {\r\n userInput = userInput.concat(this.email.substr(0, atPosition).trim().toLowerCase().split(/[^A-Za-z0-9]/));\r\n }\r\n return userInput;\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport {\r\n ActivatedRoute,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { AuthService } from 'jslib/abstractions/auth.service';\r\nimport { CryptoFunctionService } from 'jslib/abstractions/cryptoFunction.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { StateService } from 'jslib/abstractions/state.service';\r\nimport { StorageService } from 'jslib/abstractions/storage.service';\r\n\r\nimport { SsoComponent as BaseSsoComponent } from 'jslib/angular/components/sso.component';\r\n\r\nconst IdentifierStorageKey = 'ssoOrgIdentifier';\r\n\r\n@Component({\r\n selector: 'app-sso',\r\n templateUrl: 'sso.component.html',\r\n})\r\nexport class SsoComponent extends BaseSsoComponent {\r\n constructor(authService: AuthService, router: Router,\r\n i18nService: I18nService, route: ActivatedRoute,\r\n storageService: StorageService, stateService: StateService,\r\n platformUtilsService: PlatformUtilsService, apiService: ApiService,\r\n cryptoFunctionService: CryptoFunctionService,\r\n passwordGenerationService: PasswordGenerationService) {\r\n super(authService, router, i18nService, route, storageService, stateService, platformUtilsService,\r\n apiService, cryptoFunctionService, passwordGenerationService);\r\n this.redirectUri = window.location.origin + '/sso-connector.html';\r\n this.clientId = 'web';\r\n }\r\n\r\n async ngOnInit() {\r\n super.ngOnInit();\r\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\r\n if (qParams.identifier != null) {\r\n this.identifier = qParams.identifier;\r\n } else {\r\n const storedIdentifier = await this.storageService.get(IdentifierStorageKey);\r\n if (storedIdentifier != null) {\r\n this.identifier = storedIdentifier;\r\n }\r\n }\r\n if (queryParamsSub != null) {\r\n queryParamsSub.unsubscribe();\r\n }\r\n });\r\n }\r\n\r\n async submit() {\r\n await this.storageService.save(IdentifierStorageKey, this.identifier);\r\n if (this.clientId === 'browser') {\r\n document.cookie = `ssoHandOffMessage=${this.i18nService.t('ssoHandOff')};SameSite=strict`\r\n }\r\n super.submit();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {{'loading' | i18n}}\r\n
\r\n
\r\n

{{'ssoLogInWithOrgIdentifier' | i18n}}

\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n {{'cancel' | i18n}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import {\r\n ActivatedRoute,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { ApiService } from '../../abstractions/api.service';\r\nimport { AuthService } from '../../abstractions/auth.service';\r\nimport { CryptoFunctionService } from '../../abstractions/cryptoFunction.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\nimport { StateService } from '../../abstractions/state.service';\r\nimport { StorageService } from '../../abstractions/storage.service';\r\n\r\nimport { ConstantsService } from '../../services/constants.service';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\nimport { AuthResult } from '../../models/domain/authResult';\r\n\r\nexport class SsoComponent {\r\n identifier: string;\r\n loggingIn = false;\r\n\r\n formPromise: Promise;\r\n initiateSsoFormPromise: Promise;\r\n onSuccessfulLogin: () => Promise;\r\n onSuccessfulLoginNavigate: () => Promise;\r\n onSuccessfulLoginTwoFactorNavigate: () => Promise;\r\n onSuccessfulLoginChangePasswordNavigate: () => Promise;\r\n\r\n protected twoFactorRoute = '2fa';\r\n protected successRoute = 'lock';\r\n protected changePasswordRoute = 'set-password';\r\n protected clientId: string;\r\n protected redirectUri: string;\r\n protected state: string;\r\n protected codeChallenge: string;\r\n\r\n constructor(protected authService: AuthService, protected router: Router,\r\n protected i18nService: I18nService, protected route: ActivatedRoute,\r\n protected storageService: StorageService, protected stateService: StateService,\r\n protected platformUtilsService: PlatformUtilsService, protected apiService: ApiService,\r\n protected cryptoFunctionService: CryptoFunctionService,\r\n protected passwordGenerationService: PasswordGenerationService) { }\r\n\r\n async ngOnInit() {\r\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\r\n if (qParams.code != null && qParams.state != null) {\r\n const codeVerifier = await this.storageService.get(ConstantsService.ssoCodeVerifierKey);\r\n const state = await this.storageService.get(ConstantsService.ssoStateKey);\r\n await this.storageService.remove(ConstantsService.ssoCodeVerifierKey);\r\n await this.storageService.remove(ConstantsService.ssoStateKey);\r\n if (qParams.code != null && codeVerifier != null && state != null && this.checkState(state, qParams.state)) {\r\n await this.logIn(qParams.code, codeVerifier, this.getOrgIdentiferFromState(qParams.state));\r\n }\r\n } else if (qParams.clientId != null && qParams.redirectUri != null && qParams.state != null &&\r\n qParams.codeChallenge != null) {\r\n this.redirectUri = qParams.redirectUri;\r\n this.state = qParams.state;\r\n this.codeChallenge = qParams.codeChallenge;\r\n this.clientId = qParams.clientId;\r\n }\r\n if (queryParamsSub != null) {\r\n queryParamsSub.unsubscribe();\r\n }\r\n });\r\n }\r\n\r\n async submit(returnUri?: string, includeUserIdentifier?: boolean) {\r\n this.initiateSsoFormPromise = this.preValidate();\r\n if (await this.initiateSsoFormPromise) {\r\n const authorizeUrl = await this.buildAuthorizeUrl(returnUri, includeUserIdentifier);\r\n this.platformUtilsService.launchUri(authorizeUrl, { sameWindow: true });\r\n }\r\n }\r\n\r\n async preValidate(): Promise {\r\n if (this.identifier == null || this.identifier === '') {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('ssoValidationFailed'),\r\n this.i18nService.t('ssoIdentifierRequired'));\r\n return false;\r\n }\r\n return await this.apiService.preValidateSso(this.identifier);\r\n }\r\n\r\n protected async buildAuthorizeUrl(returnUri?: string, includeUserIdentifier?: boolean): Promise {\r\n let codeChallenge = this.codeChallenge;\r\n let state = this.state;\r\n\r\n const passwordOptions: any = {\r\n type: 'password',\r\n length: 64,\r\n uppercase: true,\r\n lowercase: true,\r\n numbers: true,\r\n special: false,\r\n };\r\n\r\n if (codeChallenge == null) {\r\n const codeVerifier = await this.passwordGenerationService.generatePassword(passwordOptions);\r\n const codeVerifierHash = await this.cryptoFunctionService.hash(codeVerifier, 'sha256');\r\n codeChallenge = Utils.fromBufferToUrlB64(codeVerifierHash);\r\n await this.storageService.save(ConstantsService.ssoCodeVerifierKey, codeVerifier);\r\n }\r\n\r\n if (state == null) {\r\n state = await this.passwordGenerationService.generatePassword(passwordOptions);\r\n if (returnUri) {\r\n state += `_returnUri='${returnUri}'`;\r\n }\r\n }\r\n\r\n // Add Organization Identifier to state\r\n state += `_identifier=${this.identifier}`;\r\n\r\n // Save state (regardless of new or existing)\r\n await this.storageService.save(ConstantsService.ssoStateKey, state);\r\n\r\n let authorizeUrl = this.apiService.identityBaseUrl + '/connect/authorize?' +\r\n 'client_id=' + this.clientId + '&redirect_uri=' + encodeURIComponent(this.redirectUri) + '&' +\r\n 'response_type=code&scope=api offline_access&' +\r\n 'state=' + state + '&code_challenge=' + codeChallenge + '&' +\r\n 'code_challenge_method=S256&response_mode=query&' +\r\n 'domain_hint=' + encodeURIComponent(this.identifier);\r\n\r\n if (includeUserIdentifier) {\r\n const userIdentifier = await this.apiService.getSsoUserIdentifier();\r\n authorizeUrl += `&user_identifier=${encodeURIComponent(userIdentifier)}`;\r\n }\r\n\r\n return authorizeUrl;\r\n }\r\n\r\n private async logIn(code: string, codeVerifier: string, orgIdFromState: string) {\r\n this.loggingIn = true;\r\n try {\r\n this.formPromise = this.authService.logInSso(code, codeVerifier, this.redirectUri);\r\n const response = await this.formPromise;\r\n if (response.twoFactor) {\r\n this.platformUtilsService.eventTrack('SSO Logged In To Two-step');\r\n if (this.onSuccessfulLoginTwoFactorNavigate != null) {\r\n this.onSuccessfulLoginTwoFactorNavigate();\r\n } else {\r\n this.router.navigate([this.twoFactorRoute], {\r\n queryParams: {\r\n identifier: orgIdFromState,\r\n },\r\n });\r\n }\r\n } else if (response.resetMasterPassword) {\r\n this.platformUtilsService.eventTrack('SSO - routing to complete registration');\r\n if (this.onSuccessfulLoginChangePasswordNavigate != null) {\r\n this.onSuccessfulLoginChangePasswordNavigate();\r\n } else {\r\n this.router.navigate([this.changePasswordRoute], {\r\n queryParams: {\r\n identifier: orgIdFromState,\r\n },\r\n });\r\n }\r\n } else {\r\n const disableFavicon = await this.storageService.get(ConstantsService.disableFaviconKey);\r\n await this.stateService.save(ConstantsService.disableFaviconKey, !!disableFavicon);\r\n if (this.onSuccessfulLogin != null) {\r\n this.onSuccessfulLogin();\r\n }\r\n this.platformUtilsService.eventTrack('SSO Logged In');\r\n if (this.onSuccessfulLoginNavigate != null) {\r\n this.onSuccessfulLoginNavigate();\r\n } else {\r\n this.router.navigate([this.successRoute]);\r\n }\r\n }\r\n } catch { }\r\n this.loggingIn = false;\r\n }\r\n\r\n private getOrgIdentiferFromState(state: string): string {\r\n if (state === null || state === undefined) {\r\n return null;\r\n }\r\n\r\n const stateSplit = state.split('_identifier=');\r\n return stateSplit.length > 1 ? stateSplit[1] : null;\r\n }\r\n\r\n private checkState(state: string, checkState: string): boolean {\r\n if (state === null || state === undefined) {\r\n return false;\r\n }\r\n if (checkState === null || checkState === undefined) {\r\n return false;\r\n }\r\n\r\n const stateSplit = state.split('_identifier=');\r\n const checkStateSplit = checkState.split('_identifier=');\r\n return stateSplit[0] === checkStateSplit[0];\r\n }\r\n}\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\nimport {\r\n ActivatedRoute,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { TwoFactorOptionsComponent } from './two-factor-options.component';\r\n\r\nimport { ModalComponent } from '../modal.component';\r\n\r\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { AuthService } from 'jslib/abstractions/auth.service';\r\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { StateService } from 'jslib/abstractions/state.service';\r\nimport { StorageService } from 'jslib/abstractions/storage.service';\r\n\r\nimport { TwoFactorComponent as BaseTwoFactorComponent } from 'jslib/angular/components/two-factor.component';\r\n\r\n@Component({\r\n selector: 'app-two-factor',\r\n templateUrl: 'two-factor.component.html',\r\n})\r\nexport class TwoFactorComponent extends BaseTwoFactorComponent {\r\n @ViewChild('twoFactorOptions', { read: ViewContainerRef, static: true }) twoFactorOptionsModal: ViewContainerRef;\r\n\r\n constructor(authService: AuthService, router: Router,\r\n i18nService: I18nService, apiService: ApiService,\r\n platformUtilsService: PlatformUtilsService, stateService: StateService,\r\n environmentService: EnvironmentService, private componentFactoryResolver: ComponentFactoryResolver,\r\n storageService: StorageService, route: ActivatedRoute) {\r\n super(authService, router, i18nService, apiService, platformUtilsService, window, environmentService,\r\n stateService, storageService, route);\r\n this.onSuccessfulLoginNavigate = this.goAfterLogIn;\r\n }\r\n\r\n anotherMethod() {\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n const modal = this.twoFactorOptionsModal.createComponent(factory).instance;\r\n const childComponent = modal.show(TwoFactorOptionsComponent,\r\n this.twoFactorOptionsModal);\r\n\r\n childComponent.onProviderSelected.subscribe(async (provider: TwoFactorProviderType) => {\r\n modal.close();\r\n this.selectedProviderType = provider;\r\n await this.init();\r\n });\r\n childComponent.onRecoverSelected.subscribe(() => {\r\n modal.close();\r\n });\r\n }\r\n\r\n async goAfterLogIn() {\r\n const invite = await this.stateService.get('orgInvitation');\r\n if (invite != null) {\r\n this.router.navigate(['accept-organization'], { queryParams: invite });\r\n } else {\r\n const loginRedirect = await this.stateService.get('loginRedirect');\r\n if (loginRedirect != null) {\r\n this.router.navigate([loginRedirect.route], { queryParams: loginRedirect.qParams });\r\n await this.stateService.remove('loginRedirect');\r\n } else {\r\n this.router.navigate([this.successRoute], {\r\n queryParams: {\r\n identifier: this.identifier,\r\n },\r\n });\r\n }\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

{{title}}

\r\n
\r\n
\r\n \r\n

\r\n {{'enterVerificationCodeApp' | i18n}}

\r\n

\r\n {{'enterVerificationCodeEmail' | i18n : twoFactorEmail}}\r\n

\r\n
\r\n \r\n \r\n \r\n \r\n {{'sendVerificationCodeEmailAgain' | i18n}}\r\n \r\n \r\n
\r\n \r\n \r\n

{{'insertYubiKey' | i18n}}

\r\n \"\"\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n

\r\n \r\n {{'loading' | i18n}}\r\n

\r\n \r\n

{{'insertU2f' | i18n}}

\r\n \"\"\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n

{{'noTwoStepProviders' | i18n}}

\r\n

{{'noTwoStepProviders2' | i18n}}

\r\n
\r\n
\r\n
\r\n \r\n \r\n {{'cancel' | i18n}}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { AuthService } from 'jslib/abstractions/auth.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport {\r\n TwoFactorOptionsComponent as BaseTwoFactorOptionsComponent,\r\n} from 'jslib/angular/components/two-factor-options.component';\r\n\r\n@Component({\r\n selector: 'app-two-factor-options',\r\n templateUrl: 'two-factor-options.component.html',\r\n})\r\nexport class TwoFactorOptionsComponent extends BaseTwoFactorOptionsComponent {\r\n constructor(authService: AuthService, router: Router,\r\n i18nService: I18nService, platformUtilsService: PlatformUtilsService) {\r\n super(authService, router, i18nService, platformUtilsService, window);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

{{'twoStepOptions' | i18n}}

\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\r\n\r\nexport class TwoFactorEmailRequest extends PasswordVerificationRequest {\r\n email: string;\r\n\r\n constructor(email: string, masterPasswordHash: string) {\r\n super();\r\n this.masterPasswordHash = masterPasswordHash;\r\n this.email = email;\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport {\r\n ActivatedRoute,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { VerifyEmailRequest } from 'jslib/models/request/verifyEmailRequest';\r\n\r\n@Component({\r\n selector: 'app-verify-email-token',\r\n templateUrl: 'verify-email-token.component.html',\r\n})\r\nexport class VerifyEmailTokenComponent implements OnInit {\r\n constructor(private router: Router, private toasterService: ToasterService,\r\n private i18nService: I18nService, private route: ActivatedRoute,\r\n private apiService: ApiService, private userService: UserService) { }\r\n\r\n ngOnInit() {\r\n let fired = false;\r\n this.route.queryParams.subscribe(async (qParams) => {\r\n if (fired) {\r\n return;\r\n }\r\n fired = true;\r\n if (qParams.userId != null && qParams.token != null) {\r\n try {\r\n await this.apiService.postAccountVerifyEmailToken(\r\n new VerifyEmailRequest(qParams.userId, qParams.token));\r\n const authed = await this.userService.isAuthenticated();\r\n if (authed) {\r\n await this.apiService.refreshIdentityToken();\r\n }\r\n this.toasterService.popAsync('success', null, this.i18nService.t('emailVerified'));\r\n this.router.navigate(['/']);\r\n return;\r\n } catch { }\r\n }\r\n this.toasterService.popAsync('error', null, this.i18nService.t('emailVerifiedFailed'));\r\n this.router.navigate(['/']);\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n \"Bitwarden\"\r\n

\r\n \r\n {{'loading' | i18n}}\r\n

\r\n
\r\n
\r\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport {\r\n ActivatedRoute,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { VerifyDeleteRecoverRequest } from 'jslib/models/request/verifyDeleteRecoverRequest';\r\n\r\n@Component({\r\n selector: 'app-verify-recover-delete',\r\n templateUrl: 'verify-recover-delete.component.html',\r\n})\r\nexport class VerifyRecoverDeleteComponent implements OnInit {\r\n email: string;\r\n formPromise: Promise;\r\n\r\n private userId: string;\r\n private token: string;\r\n\r\n constructor(private router: Router, private apiService: ApiService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private i18nService: I18nService, private route: ActivatedRoute) {\r\n }\r\n\r\n ngOnInit() {\r\n let fired = false;\r\n this.route.queryParams.subscribe(async (qParams) => {\r\n if (fired) {\r\n return;\r\n }\r\n fired = true;\r\n if (qParams.userId != null && qParams.token != null && qParams.email != null) {\r\n this.userId = qParams.userId;\r\n this.token = qParams.token;\r\n this.email = qParams.email;\r\n } else {\r\n this.router.navigate(['/']);\r\n }\r\n });\r\n }\r\n\r\n async submit() {\r\n try {\r\n const request = new VerifyDeleteRecoverRequest(this.userId, this.token);\r\n this.formPromise = this.apiService.postAccountRecoverDeleteToken(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Recovered Delete' });\r\n this.toasterService.popAsync('success', this.i18nService.t('accountDeleted'),\r\n this.i18nService.t('accountDeletedDesc'));\r\n this.router.navigate(['/']);\r\n } catch { }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

{{'deleteAccount' | i18n}}

\r\n
\r\n
\r\n {{'deleteAccountWarning' | i18n}}\r\n

\r\n {{email}}\r\n

\r\n

{{'deleteRecoverConfirmDesc' | i18n}}

\r\n
\r\n
\r\n \r\n \r\n {{'cancel' | i18n}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n OnInit,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { SearchService } from 'jslib/abstractions/search.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { CollectionData } from 'jslib/models/data/collectionData';\r\nimport { Collection } from 'jslib/models/domain/collection';\r\nimport {\r\n CollectionDetailsResponse,\r\n CollectionResponse,\r\n} from 'jslib/models/response/collectionResponse';\r\nimport { ListResponse } from 'jslib/models/response/listResponse';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\nimport { ModalComponent } from '../../modal.component';\r\nimport { CollectionAddEditComponent } from './collection-add-edit.component';\r\nimport { EntityUsersComponent } from './entity-users.component';\r\n\r\n@Component({\r\n selector: 'app-org-manage-collections',\r\n templateUrl: 'collections.component.html',\r\n})\r\nexport class CollectionsComponent implements OnInit {\r\n @ViewChild('addEdit', { read: ViewContainerRef, static: true }) addEditModalRef: ViewContainerRef;\r\n @ViewChild('usersTemplate', { read: ViewContainerRef, static: true }) usersModalRef: ViewContainerRef;\r\n\r\n loading = true;\r\n organizationId: string;\r\n collections: CollectionView[];\r\n pagedCollections: CollectionView[];\r\n searchText: string;\r\n\r\n protected didScroll = false;\r\n protected pageSize = 100;\r\n\r\n private pagedCollectionsCount = 0;\r\n private modal: ModalComponent = null;\r\n\r\n constructor(private apiService: ApiService, private route: ActivatedRoute,\r\n private collectionService: CollectionService, private componentFactoryResolver: ComponentFactoryResolver,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private i18nService: I18nService, private platformUtilsService: PlatformUtilsService,\r\n private userService: UserService, private searchService: SearchService) { }\r\n\r\n async ngOnInit() {\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n await this.load();\r\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\r\n this.searchText = qParams.search;\r\n if (queryParamsSub != null) {\r\n queryParamsSub.unsubscribe();\r\n }\r\n });\r\n });\r\n }\r\n\r\n async load() {\r\n const organization = await this.userService.getOrganization(this.organizationId);\r\n let response: ListResponse;\r\n if (organization.isAdmin) {\r\n response = await this.apiService.getCollections(this.organizationId);\r\n } else {\r\n response = await this.apiService.getUserCollections();\r\n }\r\n const collections = response.data.filter((c) => c.organizationId === this.organizationId).map((r) =>\r\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\r\n this.collections = await this.collectionService.decryptMany(collections);\r\n this.resetPaging();\r\n this.loading = false;\r\n }\r\n\r\n loadMore() {\r\n if (!this.collections || this.collections.length <= this.pageSize) {\r\n return;\r\n }\r\n const pagedLength = this.pagedCollections.length;\r\n let pagedSize = this.pageSize;\r\n if (pagedLength === 0 && this.pagedCollectionsCount > this.pageSize) {\r\n pagedSize = this.pagedCollectionsCount;\r\n }\r\n if (this.collections.length > pagedLength) {\r\n this.pagedCollections =\r\n this.pagedCollections.concat(this.collections.slice(pagedLength, pagedLength + pagedSize));\r\n }\r\n this.pagedCollectionsCount = this.pagedCollections.length;\r\n this.didScroll = this.pagedCollections.length > this.pageSize;\r\n }\r\n\r\n edit(collection: CollectionView) {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.addEditModalRef.createComponent(factory).instance;\r\n const childComponent = this.modal.show(\r\n CollectionAddEditComponent, this.addEditModalRef);\r\n\r\n childComponent.organizationId = this.organizationId;\r\n childComponent.collectionId = collection != null ? collection.id : null;\r\n childComponent.onSavedCollection.subscribe(() => {\r\n this.modal.close();\r\n this.load();\r\n });\r\n childComponent.onDeletedCollection.subscribe(() => {\r\n this.modal.close();\r\n this.removeCollection(collection);\r\n });\r\n\r\n this.modal.onClosed.subscribe(() => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n add() {\r\n this.edit(null);\r\n }\r\n\r\n async delete(collection: CollectionView) {\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('deleteCollectionConfirmation'), collection.name,\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n await this.apiService.deleteCollection(this.organizationId, collection.id);\r\n this.analytics.eventTrack.next({ action: 'Deleted Collection' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedCollectionId', collection.name));\r\n this.removeCollection(collection);\r\n } catch { }\r\n }\r\n\r\n users(collection: CollectionView) {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.usersModalRef.createComponent(factory).instance;\r\n const childComponent = this.modal.show(\r\n EntityUsersComponent, this.usersModalRef);\r\n\r\n childComponent.organizationId = this.organizationId;\r\n childComponent.entity = 'collection';\r\n childComponent.entityId = collection.id;\r\n childComponent.entityName = collection.name;\r\n\r\n childComponent.onEditedUsers.subscribe(() => {\r\n this.load();\r\n this.modal.close();\r\n });\r\n this.modal.onClosed.subscribe(() => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n async resetPaging() {\r\n this.pagedCollections = [];\r\n this.loadMore();\r\n }\r\n\r\n isSearching() {\r\n return this.searchService.isSearchable(this.searchText);\r\n }\r\n\r\n isPaging() {\r\n const searching = this.isSearching();\r\n if (searching && this.didScroll) {\r\n this.resetPaging();\r\n }\r\n return !searching && this.collections && this.collections.length > this.pageSize;\r\n }\r\n\r\n private removeCollection(collection: CollectionView) {\r\n const index = this.collections.indexOf(collection);\r\n if (index > -1) {\r\n this.collections.splice(index, 1);\r\n this.resetPaging();\r\n }\r\n }\r\n}\r\n","
\r\n

{{'collections' | i18n}}

\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n {{'loading' | i18n}}\r\n\r\n\r\n

{{'noCollectionsInList' | i18n}}

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{c.name}}\r\n \r\n \r\n
\r\n\r\n\r\n\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { CipherString } from 'jslib/models/domain/cipherString';\r\nimport { SymmetricCryptoKey } from 'jslib/models/domain/symmetricCryptoKey';\r\nimport { CollectionRequest } from 'jslib/models/request/collectionRequest';\r\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\r\nimport { GroupResponse } from 'jslib/models/response/groupResponse';\r\n\r\nimport { Utils } from 'jslib/misc/utils';\r\n\r\n@Component({\r\n selector: 'app-collection-add-edit',\r\n templateUrl: 'collection-add-edit.component.html',\r\n})\r\nexport class CollectionAddEditComponent implements OnInit {\r\n @Input() collectionId: string;\r\n @Input() organizationId: string;\r\n @Output() onSavedCollection = new EventEmitter();\r\n @Output() onDeletedCollection = new EventEmitter();\r\n\r\n loading = true;\r\n editMode: boolean = false;\r\n accessGroups: boolean = false;\r\n title: string;\r\n name: string;\r\n externalId: string;\r\n groups: GroupResponse[] = [];\r\n formPromise: Promise;\r\n deletePromise: Promise;\r\n\r\n private orgKey: SymmetricCryptoKey;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private platformUtilsService: PlatformUtilsService, private cryptoService: CryptoService,\r\n private userService: UserService) { }\r\n\r\n async ngOnInit() {\r\n const organization = await this.userService.getOrganization(this.organizationId);\r\n this.accessGroups = organization.useGroups;\r\n this.editMode = this.loading = this.collectionId != null;\r\n if (this.accessGroups) {\r\n const groupsResponse = await this.apiService.getGroups(this.organizationId);\r\n this.groups = groupsResponse.data.map((r) => r).sort(Utils.getSortFunction(this.i18nService, 'name'));\r\n }\r\n this.orgKey = await this.cryptoService.getOrgKey(this.organizationId);\r\n\r\n if (this.editMode) {\r\n this.editMode = true;\r\n this.title = this.i18nService.t('editCollection');\r\n try {\r\n const collection = await this.apiService.getCollectionDetails(this.organizationId, this.collectionId);\r\n this.name = await this.cryptoService.decryptToUtf8(new CipherString(collection.name), this.orgKey);\r\n this.externalId = collection.externalId;\r\n if (collection.groups != null && this.groups.length > 0) {\r\n collection.groups.forEach((s) => {\r\n const group = this.groups.filter((g) => !g.accessAll && g.id === s.id);\r\n if (group != null && group.length > 0) {\r\n (group[0] as any).checked = true;\r\n (group[0] as any).readOnly = s.readOnly;\r\n (group[0] as any).hidePasswords = s.hidePasswords;\r\n }\r\n });\r\n }\r\n } catch { }\r\n } else {\r\n this.title = this.i18nService.t('addCollection');\r\n }\r\n\r\n this.groups.forEach((g) => {\r\n if (g.accessAll) {\r\n (g as any).checked = true;\r\n }\r\n });\r\n\r\n this.loading = false;\r\n }\r\n\r\n check(g: GroupResponse, select?: boolean) {\r\n if (g.accessAll) {\r\n return;\r\n }\r\n (g as any).checked = select == null ? !(g as any).checked : select;\r\n if (!(g as any).checked) {\r\n (g as any).readOnly = false;\r\n (g as any).hidePasswords = false;\r\n }\r\n }\r\n\r\n selectAll(select: boolean) {\r\n this.groups.forEach((g) => this.check(g, select));\r\n }\r\n\r\n async submit() {\r\n if (this.orgKey == null) {\r\n throw new Error('No encryption key for this organization.');\r\n }\r\n\r\n const request = new CollectionRequest();\r\n request.name = (await this.cryptoService.encrypt(this.name, this.orgKey)).encryptedString;\r\n request.externalId = this.externalId;\r\n request.groups = this.groups.filter((g) => (g as any).checked && !g.accessAll)\r\n .map((g) => new SelectionReadOnlyRequest(g.id, !!(g as any).readOnly, !!(g as any).hidePasswords));\r\n\r\n try {\r\n if (this.editMode) {\r\n this.formPromise = this.apiService.putCollection(this.organizationId, this.collectionId, request);\r\n } else {\r\n this.formPromise = this.apiService.postCollection(this.organizationId, request);\r\n }\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Collection' : 'Created Collection' });\r\n this.toasterService.popAsync('success', null,\r\n this.i18nService.t(this.editMode ? 'editedCollectionId' : 'createdCollectionId', this.name));\r\n this.onSavedCollection.emit();\r\n } catch { }\r\n }\r\n\r\n async delete() {\r\n if (!this.editMode) {\r\n return;\r\n }\r\n\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('deleteCollectionConfirmation'), this.name,\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n this.deletePromise = this.apiService.deleteCollection(this.organizationId, this.collectionId);\r\n await this.deletePromise;\r\n this.analytics.eventTrack.next({ action: 'Deleted Collection' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedCollectionId', this.name));\r\n this.onDeletedCollection.emit();\r\n } catch { }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

{{title}}

\r\n \r\n
\r\n
\r\n \r\n {{'loading' | i18n}}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n {{'externalIdDesc' | i18n}}\r\n
\r\n \r\n

\r\n {{'groupAccess' | i18n}}\r\n
\r\n \r\n \r\n
\r\n

\r\n
\r\n {{'noGroupsInList' | i18n}}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
 {{'name' | i18n}}{{'hidePasswords' | i18n}}{{'readOnly' | i18n}}
\r\n \r\n \r\n {{g.name}}\r\n \r\n \r\n {{'groupAccessAllItems' | i18n}}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Collection } from '../domain/collection';\r\n\r\nimport { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\r\n\r\nexport class CollectionRequest {\r\n name: string;\r\n externalId: string;\r\n groups: SelectionReadOnlyRequest[] = [];\r\n\r\n constructor(collection?: Collection) {\r\n if (collection == null) {\r\n return;\r\n }\r\n this.name = collection.name ? collection.name.encryptedString : null;\r\n this.externalId = collection.externalId;\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { EventService } from '../../services/event.service';\r\n\r\nimport { EventResponse } from 'jslib/models/response/eventResponse';\r\nimport { ListResponse } from 'jslib/models/response/listResponse';\r\n\r\n@Component({\r\n selector: 'app-org-events',\r\n templateUrl: 'events.component.html',\r\n})\r\nexport class EventsComponent implements OnInit {\r\n loading = true;\r\n loaded = false;\r\n organizationId: string;\r\n events: any[];\r\n start: string;\r\n end: string;\r\n continuationToken: string;\r\n refreshPromise: Promise;\r\n morePromise: Promise;\r\n\r\n private orgUsersUserIdMap = new Map();\r\n private orgUsersIdMap = new Map();\r\n\r\n constructor(private apiService: ApiService, private route: ActivatedRoute,\r\n private eventService: EventService, private i18nService: I18nService,\r\n private toasterService: ToasterService, private userService: UserService,\r\n private router: Router) { }\r\n\r\n async ngOnInit() {\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n const organization = await this.userService.getOrganization(this.organizationId);\r\n if (organization == null || !organization.useEvents) {\r\n this.router.navigate(['/organizations', this.organizationId]);\r\n return;\r\n }\r\n const defaultDates = this.eventService.getDefaultDateFilters();\r\n this.start = defaultDates[0];\r\n this.end = defaultDates[1];\r\n await this.load();\r\n });\r\n }\r\n\r\n async load() {\r\n const response = await this.apiService.getOrganizationUsers(this.organizationId);\r\n response.data.forEach((u) => {\r\n const name = u.name == null || u.name.trim() === '' ? u.email : u.name;\r\n this.orgUsersIdMap.set(u.id, { name: name, email: u.email });\r\n this.orgUsersUserIdMap.set(u.userId, { name: name, email: u.email });\r\n });\r\n await this.loadEvents(true);\r\n this.loaded = true;\r\n }\r\n\r\n async loadEvents(clearExisting: boolean) {\r\n if (this.refreshPromise != null || this.morePromise != null) {\r\n return;\r\n }\r\n\r\n let dates: string[] = null;\r\n try {\r\n dates = this.eventService.formatDateFilters(this.start, this.end);\r\n } catch (e) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidDateRange'));\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n let response: ListResponse;\r\n try {\r\n const promise = this.apiService.getEventsOrganization(this.organizationId, dates[0], dates[1],\r\n clearExisting ? null : this.continuationToken);\r\n if (clearExisting) {\r\n this.refreshPromise = promise;\r\n } else {\r\n this.morePromise = promise;\r\n }\r\n response = await promise;\r\n } catch { }\r\n\r\n this.continuationToken = response.continuationToken;\r\n const events = response.data.map((r) => {\r\n const userId = r.actingUserId == null ? r.userId : r.actingUserId;\r\n const eventInfo = this.eventService.getEventInfo(r);\r\n const user = userId != null && this.orgUsersUserIdMap.has(userId) ?\r\n this.orgUsersUserIdMap.get(userId) : null;\r\n return {\r\n message: eventInfo.message,\r\n appIcon: eventInfo.appIcon,\r\n appName: eventInfo.appName,\r\n userId: userId,\r\n userName: user != null ? user.name : this.i18nService.t('unknown'),\r\n userEmail: user != null ? user.email : '',\r\n date: r.date,\r\n ip: r.ipAddress,\r\n type: r.type,\r\n };\r\n });\r\n\r\n if (!clearExisting && this.events != null && this.events.length > 0) {\r\n this.events = this.events.concat(events);\r\n } else {\r\n this.events = events;\r\n }\r\n\r\n this.loading = false;\r\n this.morePromise = null;\r\n this.refreshPromise = null;\r\n }\r\n}\r\n","
\r\n

{{'eventLogs' | i18n}}

\r\n
\r\n
\r\n \r\n \r\n -\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n {{'loading' | i18n}}\r\n\r\n\r\n

{{'noEventsInList' | i18n}}

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{'timestamp' | i18n}}\r\n {{'device' | i18n}}\r\n {{'user' | i18n}}{{'event' | i18n}}
{{e.date | date:'medium'}}\r\n \r\n {{e.appName}}, {{e.ip}}\r\n \r\n {{e.userName}}\r\n
\r\n \r\n
\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n OnInit,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport {\r\n ActivatedRoute,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { SearchService } from 'jslib/abstractions/search.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { GroupResponse } from 'jslib/models/response/groupResponse';\r\n\r\nimport { Utils } from 'jslib/misc/utils';\r\n\r\nimport { ModalComponent } from '../../modal.component';\r\nimport { EntityUsersComponent } from './entity-users.component';\r\nimport { GroupAddEditComponent } from './group-add-edit.component';\r\n\r\n@Component({\r\n selector: 'app-org-groups',\r\n templateUrl: 'groups.component.html',\r\n})\r\nexport class GroupsComponent implements OnInit {\r\n @ViewChild('addEdit', { read: ViewContainerRef, static: true }) addEditModalRef: ViewContainerRef;\r\n @ViewChild('usersTemplate', { read: ViewContainerRef, static: true }) usersModalRef: ViewContainerRef;\r\n\r\n loading = true;\r\n organizationId: string;\r\n groups: GroupResponse[];\r\n pagedGroups: GroupResponse[];\r\n searchText: string;\r\n\r\n protected didScroll = false;\r\n protected pageSize = 100;\r\n\r\n private pagedGroupsCount = 0;\r\n private modal: ModalComponent = null;\r\n\r\n constructor(private apiService: ApiService, private route: ActivatedRoute,\r\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private platformUtilsService: PlatformUtilsService, private userService: UserService,\r\n private router: Router, private searchService: SearchService) { }\r\n\r\n async ngOnInit() {\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n const organization = await this.userService.getOrganization(this.organizationId);\r\n if (organization == null || !organization.useGroups) {\r\n this.router.navigate(['/organizations', this.organizationId]);\r\n return;\r\n }\r\n await this.load();\r\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\r\n this.searchText = qParams.search;\r\n if (queryParamsSub != null) {\r\n queryParamsSub.unsubscribe();\r\n }\r\n });\r\n });\r\n }\r\n\r\n async load() {\r\n const response = await this.apiService.getGroups(this.organizationId);\r\n const groups = response.data != null && response.data.length > 0 ? response.data : [];\r\n groups.sort(Utils.getSortFunction(this.i18nService, 'name'));\r\n this.groups = groups;\r\n this.resetPaging();\r\n this.loading = false;\r\n }\r\n\r\n loadMore() {\r\n if (!this.groups || this.groups.length <= this.pageSize) {\r\n return;\r\n }\r\n const pagedLength = this.pagedGroups.length;\r\n let pagedSize = this.pageSize;\r\n if (pagedLength === 0 && this.pagedGroupsCount > this.pageSize) {\r\n pagedSize = this.pagedGroupsCount;\r\n }\r\n if (this.groups.length > pagedLength) {\r\n this.pagedGroups = this.pagedGroups.concat(this.groups.slice(pagedLength, pagedLength + pagedSize));\r\n }\r\n this.pagedGroupsCount = this.pagedGroups.length;\r\n this.didScroll = this.pagedGroups.length > this.pageSize;\r\n }\r\n\r\n edit(group: GroupResponse) {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.addEditModalRef.createComponent(factory).instance;\r\n const childComponent = this.modal.show(\r\n GroupAddEditComponent, this.addEditModalRef);\r\n\r\n childComponent.organizationId = this.organizationId;\r\n childComponent.groupId = group != null ? group.id : null;\r\n childComponent.onSavedGroup.subscribe(() => {\r\n this.modal.close();\r\n this.load();\r\n });\r\n childComponent.onDeletedGroup.subscribe(() => {\r\n this.modal.close();\r\n this.removeGroup(group);\r\n });\r\n\r\n this.modal.onClosed.subscribe(() => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n add() {\r\n this.edit(null);\r\n }\r\n\r\n async delete(group: GroupResponse) {\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('deleteGroupConfirmation'), group.name,\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n await this.apiService.deleteGroup(this.organizationId, group.id);\r\n this.analytics.eventTrack.next({ action: 'Deleted Group' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedGroupId', group.name));\r\n this.removeGroup(group);\r\n } catch { }\r\n }\r\n\r\n users(group: GroupResponse) {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.usersModalRef.createComponent(factory).instance;\r\n const childComponent = this.modal.show(\r\n EntityUsersComponent, this.usersModalRef);\r\n\r\n childComponent.organizationId = this.organizationId;\r\n childComponent.entity = 'group';\r\n childComponent.entityId = group.id;\r\n childComponent.entityName = group.name;\r\n\r\n childComponent.onEditedUsers.subscribe(() => {\r\n this.modal.close();\r\n });\r\n this.modal.onClosed.subscribe(() => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n async resetPaging() {\r\n this.pagedGroups = [];\r\n this.loadMore();\r\n }\r\n\r\n isSearching() {\r\n return this.searchService.isSearchable(this.searchText);\r\n }\r\n\r\n isPaging() {\r\n const searching = this.isSearching();\r\n if (searching && this.didScroll) {\r\n this.resetPaging();\r\n }\r\n return !searching && this.groups && this.groups.length > this.pageSize;\r\n }\r\n\r\n private removeGroup(group: GroupResponse) {\r\n const index = this.groups.indexOf(group);\r\n if (index > -1) {\r\n this.groups.splice(index, 1);\r\n this.resetPaging();\r\n }\r\n }\r\n}\r\n","
\r\n

{{'groups' | i18n}}

\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n {{'loading' | i18n}}\r\n\r\n\r\n

{{'noGroupsInList' | i18n}}

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{g.name}}\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { CollectionData } from 'jslib/models/data/collectionData';\r\nimport { Collection } from 'jslib/models/domain/collection';\r\nimport { GroupRequest } from 'jslib/models/request/groupRequest';\r\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\r\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\n@Component({\r\n selector: 'app-group-add-edit',\r\n templateUrl: 'group-add-edit.component.html',\r\n})\r\nexport class GroupAddEditComponent implements OnInit {\r\n @Input() groupId: string;\r\n @Input() organizationId: string;\r\n @Output() onSavedGroup = new EventEmitter();\r\n @Output() onDeletedGroup = new EventEmitter();\r\n\r\n loading = true;\r\n editMode: boolean = false;\r\n title: string;\r\n name: string;\r\n externalId: string;\r\n access: 'all' | 'selected' = 'selected';\r\n collections: CollectionView[] = [];\r\n formPromise: Promise;\r\n deletePromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private collectionService: CollectionService, private platformUtilsService: PlatformUtilsService) { }\r\n\r\n async ngOnInit() {\r\n this.editMode = this.loading = this.groupId != null;\r\n await this.loadCollections();\r\n\r\n if (this.editMode) {\r\n this.editMode = true;\r\n this.title = this.i18nService.t('editGroup');\r\n try {\r\n const group = await this.apiService.getGroupDetails(this.organizationId, this.groupId);\r\n this.access = group.accessAll ? 'all' : 'selected';\r\n this.name = group.name;\r\n this.externalId = group.externalId;\r\n if (group.collections != null && this.collections != null) {\r\n group.collections.forEach((s) => {\r\n const collection = this.collections.filter((c) => c.id === s.id);\r\n if (collection != null && collection.length > 0) {\r\n (collection[0] as any).checked = true;\r\n collection[0].readOnly = s.readOnly;\r\n collection[0].hidePasswords = s.hidePasswords;\r\n }\r\n });\r\n }\r\n } catch { }\r\n } else {\r\n this.title = this.i18nService.t('addGroup');\r\n }\r\n\r\n this.loading = false;\r\n }\r\n\r\n async loadCollections() {\r\n const response = await this.apiService.getCollections(this.organizationId);\r\n const collections = response.data.map((r) =>\r\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\r\n this.collections = await this.collectionService.decryptMany(collections);\r\n }\r\n\r\n check(c: CollectionView, select?: boolean) {\r\n (c as any).checked = select == null ? !(c as any).checked : select;\r\n if (!(c as any).checked) {\r\n c.readOnly = false;\r\n }\r\n }\r\n\r\n selectAll(select: boolean) {\r\n this.collections.forEach((c) => this.check(c, select));\r\n }\r\n\r\n async submit() {\r\n const request = new GroupRequest();\r\n request.name = this.name;\r\n request.externalId = this.externalId;\r\n request.accessAll = this.access === 'all';\r\n if (!request.accessAll) {\r\n request.collections = this.collections.filter((c) => (c as any).checked)\r\n .map((c) => new SelectionReadOnlyRequest(c.id, !!c.readOnly, !!c.hidePasswords));\r\n }\r\n\r\n try {\r\n if (this.editMode) {\r\n this.formPromise = this.apiService.putGroup(this.organizationId, this.groupId, request);\r\n } else {\r\n this.formPromise = this.apiService.postGroup(this.organizationId, request);\r\n }\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited Group' : 'Created Group' });\r\n this.toasterService.popAsync('success', null,\r\n this.i18nService.t(this.editMode ? 'editedGroupId' : 'createdGroupId', this.name));\r\n this.onSavedGroup.emit();\r\n } catch { }\r\n }\r\n\r\n async delete() {\r\n if (!this.editMode) {\r\n return;\r\n }\r\n\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('deleteGroupConfirmation'), this.name,\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n this.deletePromise = this.apiService.deleteGroup(this.organizationId, this.groupId);\r\n await this.deletePromise;\r\n this.analytics.eventTrack.next({ action: 'Deleted Group' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('deletedGroupId', this.name));\r\n this.onDeletedGroup.emit();\r\n } catch { }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

{{title}}

\r\n \r\n
\r\n
\r\n \r\n {{'loading' | i18n}}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n {{'externalIdDesc' | i18n}}\r\n
\r\n

\r\n
\r\n {{'accessControl' | i18n}}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n {{'noCollectionsInList' | i18n}}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
 {{'name' | i18n}}{{'hidePasswords' | i18n}}{{'readOnly' | i18n}}
\r\n \r\n \r\n {{c.name}}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { UserService } from 'jslib/abstractions/user.service';\n\nimport { Organization } from 'jslib/models/domain/organization';\n\n@Component({\n selector: 'app-org-manage',\n templateUrl: 'manage.component.html',\n})\nexport class ManageComponent implements OnInit {\n organization: Organization;\n accessPolicies = false;\n accessGroups = false;\n accessEvents = false;\n\n constructor(private route: ActivatedRoute, private userService: UserService) { }\n\n ngOnInit() {\n this.route.parent.params.subscribe(async (params) => {\n this.organization = await this.userService.getOrganization(params.organizationId);\n this.accessPolicies = this.organization.usePolicies;\n this.accessEvents = this.organization.useEvents;\n this.accessGroups = this.organization.useGroups;\n });\n }\n}\n","\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n OnInit,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport {\r\n ActivatedRoute,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ConstantsService } from 'jslib/services/constants.service';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { SearchService } from 'jslib/abstractions/search.service';\r\nimport { StorageService } from 'jslib/abstractions/storage.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { OrganizationUserConfirmRequest } from 'jslib/models/request/organizationUserConfirmRequest';\r\n\r\nimport { OrganizationUserUserDetailsResponse } from 'jslib/models/response/organizationUserResponse';\r\n\r\nimport { OrganizationUserStatusType } from 'jslib/enums/organizationUserStatusType';\r\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\r\n\r\nimport { Utils } from 'jslib/misc/utils';\r\n\r\nimport { ModalComponent } from '../../modal.component';\r\nimport { EntityEventsComponent } from './entity-events.component';\r\nimport { UserAddEditComponent } from './user-add-edit.component';\r\nimport { UserConfirmComponent } from './user-confirm.component';\r\nimport { UserGroupsComponent } from './user-groups.component';\r\n\r\n@Component({\r\n selector: 'app-org-people',\r\n templateUrl: 'people.component.html',\r\n})\r\nexport class PeopleComponent implements OnInit {\r\n @ViewChild('addEdit', { read: ViewContainerRef, static: true }) addEditModalRef: ViewContainerRef;\r\n @ViewChild('groupsTemplate', { read: ViewContainerRef, static: true }) groupsModalRef: ViewContainerRef;\r\n @ViewChild('eventsTemplate', { read: ViewContainerRef, static: true }) eventsModalRef: ViewContainerRef;\r\n @ViewChild('confirmTemplate', { read: ViewContainerRef, static: true }) confirmModalRef: ViewContainerRef;\r\n\r\n loading = true;\r\n organizationId: string;\r\n users: OrganizationUserUserDetailsResponse[];\r\n pagedUsers: OrganizationUserUserDetailsResponse[];\r\n searchText: string;\r\n status: OrganizationUserStatusType = null;\r\n statusMap = new Map();\r\n organizationUserType = OrganizationUserType;\r\n organizationUserStatusType = OrganizationUserStatusType;\r\n actionPromise: Promise;\r\n accessEvents = false;\r\n accessGroups = false;\r\n\r\n protected didScroll = false;\r\n protected pageSize = 100;\r\n\r\n private pagedUsersCount = 0;\r\n private modal: ModalComponent = null;\r\n private allUsers: OrganizationUserUserDetailsResponse[];\r\n\r\n constructor(private apiService: ApiService, private route: ActivatedRoute,\r\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\r\n private platformUtilsService: PlatformUtilsService, private analytics: Angulartics2,\r\n private toasterService: ToasterService, private cryptoService: CryptoService,\r\n private userService: UserService, private router: Router,\r\n private storageService: StorageService, private searchService: SearchService) { }\r\n\r\n async ngOnInit() {\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n const organization = await this.userService.getOrganization(this.organizationId);\r\n if (!organization.isAdmin) {\r\n this.router.navigate(['../collections'], { relativeTo: this.route });\r\n return;\r\n }\r\n this.accessEvents = organization.useEvents;\r\n this.accessGroups = organization.useGroups;\r\n await this.load();\r\n\r\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\r\n this.searchText = qParams.search;\r\n if (qParams.viewEvents != null) {\r\n const user = this.users.filter((u) => u.id === qParams.viewEvents);\r\n if (user.length > 0 && user[0].status === OrganizationUserStatusType.Confirmed) {\r\n this.events(user[0]);\r\n }\r\n }\r\n if (queryParamsSub != null) {\r\n queryParamsSub.unsubscribe();\r\n }\r\n });\r\n });\r\n }\r\n\r\n async load() {\r\n const response = await this.apiService.getOrganizationUsers(this.organizationId);\r\n this.statusMap.clear();\r\n this.allUsers = response.data != null && response.data.length > 0 ? response.data : [];\r\n this.allUsers.sort(Utils.getSortFunction(this.i18nService, 'email'));\r\n this.allUsers.forEach((u) => {\r\n if (!this.statusMap.has(u.status)) {\r\n this.statusMap.set(u.status, [u]);\r\n } else {\r\n this.statusMap.get(u.status).push(u);\r\n }\r\n });\r\n this.filter(this.status);\r\n this.loading = false;\r\n }\r\n\r\n filter(status: OrganizationUserStatusType) {\r\n this.status = status;\r\n if (this.status != null) {\r\n this.users = this.statusMap.get(this.status);\r\n } else {\r\n this.users = this.allUsers;\r\n }\r\n this.resetPaging();\r\n }\r\n\r\n loadMore() {\r\n if (!this.users || this.users.length <= this.pageSize) {\r\n return;\r\n }\r\n const pagedLength = this.pagedUsers.length;\r\n let pagedSize = this.pageSize;\r\n if (pagedLength === 0 && this.pagedUsersCount > this.pageSize) {\r\n pagedSize = this.pagedUsersCount;\r\n }\r\n if (this.users.length > pagedLength) {\r\n this.pagedUsers = this.pagedUsers.concat(this.users.slice(pagedLength, pagedLength + pagedSize));\r\n }\r\n this.pagedUsersCount = this.pagedUsers.length;\r\n this.didScroll = this.pagedUsers.length > this.pageSize;\r\n }\r\n\r\n get allCount() {\r\n return this.allUsers != null ? this.allUsers.length : 0;\r\n }\r\n\r\n get invitedCount() {\r\n return this.statusMap.has(OrganizationUserStatusType.Invited) ?\r\n this.statusMap.get(OrganizationUserStatusType.Invited).length : 0;\r\n }\r\n\r\n get acceptedCount() {\r\n return this.statusMap.has(OrganizationUserStatusType.Accepted) ?\r\n this.statusMap.get(OrganizationUserStatusType.Accepted).length : 0;\r\n }\r\n\r\n get confirmedCount() {\r\n return this.statusMap.has(OrganizationUserStatusType.Confirmed) ?\r\n this.statusMap.get(OrganizationUserStatusType.Confirmed).length : 0;\r\n }\r\n\r\n get showConfirmUsers(): boolean {\r\n return this.allUsers != null && this.statusMap != null && this.allUsers.length > 1 &&\r\n this.confirmedCount > 0 && this.confirmedCount < 3 && this.acceptedCount > 0;\r\n }\r\n\r\n edit(user: OrganizationUserUserDetailsResponse) {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.addEditModalRef.createComponent(factory).instance;\r\n const childComponent = this.modal.show(\r\n UserAddEditComponent, this.addEditModalRef);\r\n\r\n childComponent.name = user != null ? user.name || user.email : null;\r\n childComponent.organizationId = this.organizationId;\r\n childComponent.organizationUserId = user != null ? user.id : null;\r\n childComponent.onSavedUser.subscribe(() => {\r\n this.modal.close();\r\n this.load();\r\n });\r\n childComponent.onDeletedUser.subscribe(() => {\r\n this.modal.close();\r\n this.removeUser(user);\r\n });\r\n\r\n this.modal.onClosed.subscribe(() => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n invite() {\r\n this.edit(null);\r\n }\r\n\r\n groups(user: OrganizationUserUserDetailsResponse) {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.groupsModalRef.createComponent(factory).instance;\r\n const childComponent = this.modal.show(\r\n UserGroupsComponent, this.groupsModalRef);\r\n\r\n childComponent.name = user != null ? user.name || user.email : null;\r\n childComponent.organizationId = this.organizationId;\r\n childComponent.organizationUserId = user != null ? user.id : null;\r\n childComponent.onSavedUser.subscribe(() => {\r\n this.modal.close();\r\n });\r\n\r\n this.modal.onClosed.subscribe(() => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n async remove(user: OrganizationUserUserDetailsResponse) {\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('removeUserConfirmation'), user.name || user.email,\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n await this.apiService.deleteOrganizationUser(this.organizationId, user.id);\r\n this.analytics.eventTrack.next({ action: 'Deleted User' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', user.name || user.email));\r\n this.removeUser(user);\r\n } catch { }\r\n }\r\n\r\n async reinvite(user: OrganizationUserUserDetailsResponse) {\r\n if (this.actionPromise != null) {\r\n return;\r\n }\r\n this.actionPromise = this.apiService.postOrganizationUserReinvite(this.organizationId, user.id);\r\n await this.actionPromise;\r\n this.analytics.eventTrack.next({ action: 'Reinvited User' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenReinvited', user.name || user.email));\r\n this.actionPromise = null;\r\n }\r\n\r\n async confirm(user: OrganizationUserUserDetailsResponse) {\r\n function updateUser(self: PeopleComponent) {\r\n user.status = OrganizationUserStatusType.Confirmed;\r\n const mapIndex = self.statusMap.get(OrganizationUserStatusType.Accepted).indexOf(user);\r\n if (mapIndex > -1) {\r\n self.statusMap.get(OrganizationUserStatusType.Accepted).splice(mapIndex, 1);\r\n self.statusMap.get(OrganizationUserStatusType.Confirmed).push(user);\r\n }\r\n }\r\n\r\n if (this.actionPromise != null) {\r\n return;\r\n }\r\n\r\n const autoConfirm = await this.storageService.get(ConstantsService.autoConfirmFingerprints);\r\n if (autoConfirm == null || !autoConfirm) {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.confirmModalRef.createComponent(factory).instance;\r\n const childComponent = this.modal.show(\r\n UserConfirmComponent, this.confirmModalRef);\r\n\r\n childComponent.name = user != null ? user.name || user.email : null;\r\n childComponent.organizationId = this.organizationId;\r\n childComponent.organizationUserId = user != null ? user.id : null;\r\n childComponent.userId = user != null ? user.userId : null;\r\n childComponent.onConfirmedUser.subscribe(() => {\r\n this.modal.close();\r\n updateUser(this);\r\n });\r\n\r\n this.modal.onClosed.subscribe(() => {\r\n this.modal = null;\r\n });\r\n return;\r\n }\r\n\r\n this.actionPromise = this.doConfirmation(user);\r\n await this.actionPromise;\r\n updateUser(this);\r\n this.analytics.eventTrack.next({ action: 'Confirmed User' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenConfirmed', user.name || user.email));\r\n this.actionPromise = null;\r\n }\r\n\r\n async events(user: OrganizationUserUserDetailsResponse) {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.eventsModalRef.createComponent(factory).instance;\r\n const childComponent = this.modal.show(\r\n EntityEventsComponent, this.eventsModalRef);\r\n\r\n childComponent.name = user.name || user.email;\r\n childComponent.organizationId = this.organizationId;\r\n childComponent.entityId = user.id;\r\n childComponent.showUser = false;\r\n childComponent.entity = 'user';\r\n\r\n this.modal.onClosed.subscribe(() => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n async resetPaging() {\r\n this.pagedUsers = [];\r\n this.loadMore();\r\n }\r\n\r\n isSearching() {\r\n return this.searchService.isSearchable(this.searchText);\r\n }\r\n\r\n isPaging() {\r\n const searching = this.isSearching();\r\n if (searching && this.didScroll) {\r\n this.resetPaging();\r\n }\r\n return !searching && this.users && this.users.length > this.pageSize;\r\n }\r\n\r\n private async doConfirmation(user: OrganizationUserUserDetailsResponse) {\r\n const orgKey = await this.cryptoService.getOrgKey(this.organizationId);\r\n const publicKeyResponse = await this.apiService.getUserPublicKey(user.userId);\r\n const publicKey = Utils.fromB64ToArray(publicKeyResponse.publicKey);\r\n try {\r\n // tslint:disable-next-line\r\n console.log('User\\'s fingerprint: ' +\r\n (await this.cryptoService.getFingerprint(user.userId, publicKey.buffer)).join('-'));\r\n } catch { }\r\n const key = await this.cryptoService.rsaEncrypt(orgKey.key, publicKey.buffer);\r\n const request = new OrganizationUserConfirmRequest();\r\n request.key = key.encryptedString;\r\n await this.apiService.postOrganizationUserConfirm(this.organizationId, user.id, request);\r\n }\r\n\r\n private removeUser(user: OrganizationUserUserDetailsResponse) {\r\n let index = this.users.indexOf(user);\r\n if (index > -1) {\r\n this.users.splice(index, 1);\r\n this.resetPaging();\r\n }\r\n if (this.statusMap.has(OrganizationUserStatusType.Accepted)) {\r\n index = this.statusMap.get(OrganizationUserStatusType.Accepted).indexOf(user);\r\n if (index > -1) {\r\n this.statusMap.get(OrganizationUserStatusType.Accepted).splice(index, 1);\r\n }\r\n }\r\n if (this.statusMap.has(OrganizationUserStatusType.Invited)) {\r\n index = this.statusMap.get(OrganizationUserStatusType.Invited).indexOf(user);\r\n if (index > -1) {\r\n this.statusMap.get(OrganizationUserStatusType.Invited).splice(index, 1);\r\n }\r\n }\r\n if (this.statusMap.has(OrganizationUserStatusType.Confirmed)) {\r\n index = this.statusMap.get(OrganizationUserStatusType.Confirmed).indexOf(user);\r\n if (index > -1) {\r\n this.statusMap.get(OrganizationUserStatusType.Confirmed).splice(index, 1);\r\n }\r\n }\r\n }\r\n}\r\n","
\r\n

{{'people' | i18n}}

\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n {{'loading' | i18n}}\r\n\r\n\r\n

{{'noUsersInList' | i18n}}

\r\n \r\n \r\n {{'usersNeedConfirmed' | i18n}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{u.email}}\r\n {{'invited' | i18n}}\r\n {{'accepted' | i18n}}\r\n {{u.name}}\r\n \r\n \r\n \r\n {{'userUsingTwoStep' | i18n}}\r\n \r\n \r\n {{'owner' | i18n}}\r\n {{'admin' | i18n}}\r\n {{'manager' | i18n}}\r\n {{'user' | i18n}}\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n","export class OrganizationUserConfirmRequest {\r\n key: string;\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { CollectionData } from 'jslib/models/data/collectionData';\r\nimport { Collection } from 'jslib/models/domain/collection';\r\nimport { OrganizationUserInviteRequest } from 'jslib/models/request/organizationUserInviteRequest';\r\nimport { OrganizationUserUpdateRequest } from 'jslib/models/request/organizationUserUpdateRequest';\r\nimport { SelectionReadOnlyRequest } from 'jslib/models/request/selectionReadOnlyRequest';\r\nimport { CollectionDetailsResponse } from 'jslib/models/response/collectionResponse';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\r\n\r\n@Component({\r\n selector: 'app-user-add-edit',\r\n templateUrl: 'user-add-edit.component.html',\r\n})\r\nexport class UserAddEditComponent implements OnInit {\r\n @Input() name: string;\r\n @Input() organizationUserId: string;\r\n @Input() organizationId: string;\r\n @Output() onSavedUser = new EventEmitter();\r\n @Output() onDeletedUser = new EventEmitter();\r\n\r\n loading = true;\r\n editMode: boolean = false;\r\n title: string;\r\n emails: string;\r\n type: OrganizationUserType = OrganizationUserType.User;\r\n access: 'all' | 'selected' = 'selected';\r\n collections: CollectionView[] = [];\r\n formPromise: Promise;\r\n deletePromise: Promise;\r\n organizationUserType = OrganizationUserType;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private collectionService: CollectionService, private platformUtilsService: PlatformUtilsService) { }\r\n\r\n async ngOnInit() {\r\n this.editMode = this.loading = this.organizationUserId != null;\r\n await this.loadCollections();\r\n\r\n if (this.editMode) {\r\n this.editMode = true;\r\n this.title = this.i18nService.t('editUser');\r\n try {\r\n const user = await this.apiService.getOrganizationUser(this.organizationId, this.organizationUserId);\r\n this.access = user.accessAll ? 'all' : 'selected';\r\n this.type = user.type;\r\n if (user.collections != null && this.collections != null) {\r\n user.collections.forEach((s) => {\r\n const collection = this.collections.filter((c) => c.id === s.id);\r\n if (collection != null && collection.length > 0) {\r\n (collection[0] as any).checked = true;\r\n collection[0].readOnly = s.readOnly;\r\n collection[0].hidePasswords = s.hidePasswords;\r\n }\r\n });\r\n }\r\n } catch { }\r\n } else {\r\n this.title = this.i18nService.t('inviteUser');\r\n }\r\n\r\n this.loading = false;\r\n }\r\n\r\n async loadCollections() {\r\n const response = await this.apiService.getCollections(this.organizationId);\r\n const collections = response.data.map((r) =>\r\n new Collection(new CollectionData(r as CollectionDetailsResponse)));\r\n this.collections = await this.collectionService.decryptMany(collections);\r\n }\r\n\r\n check(c: CollectionView, select?: boolean) {\r\n (c as any).checked = select == null ? !(c as any).checked : select;\r\n if (!(c as any).checked) {\r\n c.readOnly = false;\r\n }\r\n }\r\n\r\n selectAll(select: boolean) {\r\n this.collections.forEach((c) => this.check(c, select));\r\n }\r\n\r\n async submit() {\r\n let collections: SelectionReadOnlyRequest[] = null;\r\n if (this.access !== 'all') {\r\n collections = this.collections.filter((c) => (c as any).checked)\r\n .map((c) => new SelectionReadOnlyRequest(c.id, !!c.readOnly, !!c.hidePasswords));\r\n }\r\n\r\n try {\r\n if (this.editMode) {\r\n const request = new OrganizationUserUpdateRequest();\r\n request.accessAll = this.access === 'all';\r\n request.type = this.type;\r\n request.collections = collections;\r\n this.formPromise = this.apiService.putOrganizationUser(this.organizationId, this.organizationUserId,\r\n request);\r\n } else {\r\n const request = new OrganizationUserInviteRequest();\r\n request.emails = this.emails.trim().split(/\\s*,\\s*/);\r\n request.accessAll = this.access === 'all';\r\n request.type = this.type;\r\n request.collections = collections;\r\n this.formPromise = this.apiService.postOrganizationUserInvite(this.organizationId, request);\r\n }\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: this.editMode ? 'Edited User' : 'Invited User' });\r\n this.toasterService.popAsync('success', null,\r\n this.i18nService.t(this.editMode ? 'editedUserId' : 'invitedUsers', this.name));\r\n this.onSavedUser.emit();\r\n } catch { }\r\n }\r\n\r\n async delete() {\r\n if (!this.editMode) {\r\n return;\r\n }\r\n\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('removeUserConfirmation'), this.name,\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n this.deletePromise = this.apiService.deleteOrganizationUser(this.organizationId, this.organizationUserId);\r\n await this.deletePromise;\r\n this.analytics.eventTrack.next({ action: 'Deleted User' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('removedUserId', this.name));\r\n this.onDeletedUser.emit();\r\n } catch { }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n {{title}}\r\n {{name}}\r\n

\r\n \r\n
\r\n
\r\n \r\n {{'loading' | i18n}}\r\n
\r\n
\r\n \r\n

{{'inviteUserDesc' | i18n}}

\r\n
\r\n \r\n \r\n {{'inviteMultipleEmailDesc' | i18n : '20'}}\r\n
\r\n
\r\n

\r\n {{'userType' | i18n}}\r\n \r\n \r\n \r\n

\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n

\r\n
\r\n {{'accessControl' | i18n}}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n {{'noCollectionsInList' | i18n}}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
 {{'name' | i18n}}{{'hidePasswords' | i18n}}{{'readOnly' | i18n}}
\r\n \r\n \r\n {{c.name}}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ConstantsService } from 'jslib/services/constants.service';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { StorageService } from 'jslib/abstractions/storage.service';\r\n\r\nimport { OrganizationUserConfirmRequest } from 'jslib/models/request/organizationUserConfirmRequest';\r\n\r\nimport { Utils } from 'jslib/misc/utils';\r\n\r\n@Component({\r\n selector: 'app-user-confirm',\r\n templateUrl: 'user-confirm.component.html',\r\n})\r\nexport class UserConfirmComponent implements OnInit {\r\n @Input() name: string;\r\n @Input() userId: string;\r\n @Input() organizationUserId: string;\r\n @Input() organizationId: string;\r\n @Output() onConfirmedUser = new EventEmitter();\r\n\r\n dontAskAgain = false;\r\n loading = true;\r\n fingerprint: string;\r\n formPromise: Promise;\r\n\r\n private publicKey: Uint8Array = null;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private cryptoService: CryptoService, private storageService: StorageService) { }\r\n\r\n async ngOnInit() {\r\n try {\r\n const publicKeyResponse = await this.apiService.getUserPublicKey(this.userId);\r\n if (publicKeyResponse != null) {\r\n this.publicKey = Utils.fromB64ToArray(publicKeyResponse.publicKey);\r\n const fingerprint = await this.cryptoService.getFingerprint(this.userId, this.publicKey.buffer);\r\n if (fingerprint != null) {\r\n this.fingerprint = fingerprint.join('-');\r\n }\r\n }\r\n } catch { }\r\n this.loading = false;\r\n }\r\n\r\n async submit() {\r\n if (this.loading) {\r\n return;\r\n }\r\n\r\n if (this.dontAskAgain) {\r\n await this.storageService.save(ConstantsService.autoConfirmFingerprints, true);\r\n }\r\n\r\n try {\r\n this.formPromise = this.doConfirmation();\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Confirmed User' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('hasBeenConfirmed', this.name));\r\n this.onConfirmedUser.emit();\r\n } catch { }\r\n }\r\n\r\n private async doConfirmation() {\r\n const orgKey = await this.cryptoService.getOrgKey(this.organizationId);\r\n const key = await this.cryptoService.rsaEncrypt(orgKey.key, this.publicKey.buffer);\r\n const request = new OrganizationUserConfirmRequest();\r\n request.key = key.encryptedString;\r\n await this.apiService.postOrganizationUserConfirm(this.organizationId, this.organizationUserId, request);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n {{'confirmUser' | i18n}}\r\n {{name}}\r\n

\r\n \r\n
\r\n
\r\n

\r\n {{'fingerprintEnsureIntegrityVerify' | i18n}}\r\n \r\n {{'learnMore' | i18n}}\r\n

\r\n

{{fingerprint}}

\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { OrganizationUserUpdateGroupsRequest } from 'jslib/models/request/organizationUserUpdateGroupsRequest';\r\nimport { GroupResponse } from 'jslib/models/response/groupResponse';\r\n\r\nimport { Utils } from 'jslib/misc/utils';\r\n\r\n@Component({\r\n selector: 'app-user-groups',\r\n templateUrl: 'user-groups.component.html',\r\n})\r\nexport class UserGroupsComponent implements OnInit {\r\n @Input() name: string;\r\n @Input() organizationUserId: string;\r\n @Input() organizationId: string;\r\n @Output() onSavedUser = new EventEmitter();\r\n\r\n loading = true;\r\n groups: GroupResponse[] = [];\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService) { }\r\n\r\n async ngOnInit() {\r\n const groupsResponse = await this.apiService.getGroups(this.organizationId);\r\n const groups = groupsResponse.data.map((r) => r);\r\n groups.sort(Utils.getSortFunction(this.i18nService, 'name'));\r\n this.groups = groups;\r\n\r\n try {\r\n const userGroups = await this.apiService.getOrganizationUserGroups(\r\n this.organizationId, this.organizationUserId);\r\n if (userGroups != null && this.groups != null) {\r\n userGroups.forEach((ug) => {\r\n const group = this.groups.filter((g) => g.id === ug);\r\n if (group != null && group.length > 0) {\r\n (group[0] as any).checked = true;\r\n }\r\n });\r\n }\r\n } catch { }\r\n\r\n this.loading = false;\r\n }\r\n\r\n check(g: GroupResponse, select?: boolean) {\r\n (g as any).checked = select == null ? !(g as any).checked : select;\r\n if (!(g as any).checked) {\r\n (g as any).readOnly = false;\r\n }\r\n }\r\n\r\n selectAll(select: boolean) {\r\n this.groups.forEach((g) => this.check(g, select));\r\n }\r\n\r\n async submit() {\r\n const request = new OrganizationUserUpdateGroupsRequest();\r\n request.groupIds = this.groups.filter((g) => (g as any).checked).map((g) => g.id);\r\n\r\n try {\r\n this.formPromise = this.apiService.putOrganizationUserGroups(this.organizationId, this.organizationUserId,\r\n request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Edited User Groups' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('editedGroupsForUser', this.name));\r\n this.onSavedUser.emit();\r\n } catch { }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n {{'groupAccess' | i18n}}\r\n {{name}}\r\n

\r\n \r\n
\r\n
\r\n \r\n {{'loading' | i18n}}\r\n
\r\n
\r\n

{{'groupAccessUserDesc' | i18n}}

\r\n
\r\n {{'noGroupsInList' | i18n}}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{g.name}}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n OnInit,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport {\r\n ActivatedRoute,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { PolicyType } from 'jslib/enums/policyType';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { EnvironmentService } from 'jslib/abstractions';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { PolicyResponse } from 'jslib/models/response/policyResponse';\r\n\r\nimport { ModalComponent } from '../../modal.component';\r\n\r\nimport { PolicyEditComponent } from './policy-edit.component';\r\n\r\n@Component({\r\n selector: 'app-org-policies',\r\n templateUrl: 'policies.component.html',\r\n})\r\nexport class PoliciesComponent implements OnInit {\r\n @ViewChild('editTemplate', { read: ViewContainerRef, static: true }) editModalRef: ViewContainerRef;\r\n\r\n loading = true;\r\n organizationId: string;\r\n policies: any[];\r\n\r\n // Remove when removing deprecation warning\r\n enterpriseTokenPromise: Promise;\r\n private enterpriseUrl: string;\r\n\r\n private modal: ModalComponent = null;\r\n private orgPolicies: PolicyResponse[];\r\n private policiesEnabledMap: Map = new Map();\r\n\r\n\r\n constructor(private apiService: ApiService, private route: ActivatedRoute,\r\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\r\n private platformUtilsService: PlatformUtilsService, private userService: UserService,\r\n private router: Router, private environmentService: EnvironmentService) { }\r\n\r\n async ngOnInit() {\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n const organization = await this.userService.getOrganization(this.organizationId);\r\n if (organization == null || !organization.usePolicies) {\r\n this.router.navigate(['/organizations', this.organizationId]);\r\n return;\r\n }\r\n this.policies = [\r\n {\r\n name: this.i18nService.t('twoStepLogin'),\r\n description: this.i18nService.t('twoStepLoginPolicyDesc'),\r\n type: PolicyType.TwoFactorAuthentication,\r\n enabled: false,\r\n display: true,\r\n },\r\n {\r\n name: this.i18nService.t('masterPass'),\r\n description: this.i18nService.t('masterPassPolicyDesc'),\r\n type: PolicyType.MasterPassword,\r\n enabled: false,\r\n display: true,\r\n },\r\n {\r\n name: this.i18nService.t('passwordGenerator'),\r\n description: this.i18nService.t('passwordGeneratorPolicyDesc'),\r\n type: PolicyType.PasswordGenerator,\r\n enabled: false,\r\n display: true,\r\n },\r\n {\r\n name: this.i18nService.t('singleOrg'),\r\n description: this.i18nService.t('singleOrgDesc'),\r\n type: PolicyType.SingleOrg,\r\n enabled: false,\r\n display: true,\r\n },\r\n {\r\n name: this.i18nService.t('requireSso'),\r\n description: this.i18nService.t('requireSsoPolicyDesc'),\r\n type: PolicyType.RequireSso,\r\n enabled: false,\r\n display: organization.useSso,\r\n },\r\n ];\r\n await this.load();\r\n });\r\n\r\n // Remove when removing deprecation warning\r\n this.enterpriseUrl = 'https://portal.bitwarden.com';\r\n if (this.environmentService.enterpriseUrl != null) {\r\n this.enterpriseUrl = this.environmentService.enterpriseUrl;\r\n } else if (this.environmentService.baseUrl != null) {\r\n this.enterpriseUrl = this.environmentService.baseUrl + '/portal';\r\n }\r\n }\r\n\r\n async load() {\r\n const response = await this.apiService.getPolicies(this.organizationId);\r\n this.orgPolicies = response.data != null && response.data.length > 0 ? response.data : [];\r\n this.orgPolicies.forEach((op) => {\r\n this.policiesEnabledMap.set(op.type, op.enabled);\r\n });\r\n this.policies.forEach((p) => {\r\n p.enabled = this.policiesEnabledMap.has(p.type) && this.policiesEnabledMap.get(p.type);\r\n });\r\n this.loading = false;\r\n }\r\n\r\n edit(p: any) {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.editModalRef.createComponent(factory).instance;\r\n const childComponent = this.modal.show(\r\n PolicyEditComponent, this.editModalRef);\r\n\r\n childComponent.name = p.name;\r\n childComponent.description = p.description;\r\n childComponent.type = p.type;\r\n childComponent.organizationId = this.organizationId;\r\n childComponent.policiesEnabledMap = this.policiesEnabledMap;\r\n childComponent.onSavedPolicy.subscribe(() => {\r\n this.modal.close();\r\n this.load();\r\n });\r\n\r\n this.modal.onClosed.subscribe(() => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n\r\n // Remove when removing deprecation warning\r\n async goToEnterprisePortal() {\r\n if (this.enterpriseTokenPromise != null) {\r\n return;\r\n }\r\n try {\r\n this.enterpriseTokenPromise = this.apiService.getEnterprisePortalSignInToken();\r\n const token = await this.enterpriseTokenPromise;\r\n if (token != null) {\r\n const userId = await this.userService.getUserId();\r\n this.platformUtilsService.launchUri(this.enterpriseUrl + '/login?userId=' + userId +\r\n '&token=' + (window as any).encodeURIComponent(token) + '&organizationId=' + this.organizationId);\r\n }\r\n } catch { }\r\n this.enterpriseTokenPromise = null;\r\n }\r\n}\r\n","\r\n

{{'webPoliciesDeprecationWarning' | i18n}}

\r\n \r\n
\r\n
\r\n

{{'policies' | i18n}}

\r\n
\r\n\r\n \r\n {{'loading' | i18n}}\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{p.name}}\r\n {{'enabled' | i18n}}\r\n {{p.description}}\r\n
\r\n\r\n","// Using index.ts is deprecated, please do not extend\r\nexport { ApiService } from './api.service';\r\nexport { AppIdService } from './appId.service';\r\nexport { AuditService } from './audit.service';\r\nexport { AuthService } from './auth.service';\r\nexport { CipherService } from './cipher.service';\r\nexport { CollectionService } from './collection.service';\r\nexport { CryptoService } from './crypto.service';\r\nexport { EnvironmentService } from './environment.service';\r\nexport { FolderService } from './folder.service';\r\nexport { I18nService } from './i18n.service';\r\nexport { LogService } from './log.service';\r\nexport { MessagingService } from './messaging.service';\r\nexport { PasswordGenerationService } from './passwordGeneration.service';\r\nexport { PlatformUtilsService } from './platformUtils.service';\r\nexport { SearchService } from './search.service';\r\nexport { SettingsService } from './settings.service';\r\nexport { StorageService } from './storage.service';\r\nexport { StateService } from './state.service';\r\nexport { SyncService } from './sync.service';\r\nexport { TokenService } from './token.service';\r\nexport { TotpService } from './totp.service';\r\nexport { UserService } from './user.service';\r\nexport { VaultTimeoutService } from './vaultTimeout.service';\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { PolicyType } from 'jslib/enums/policyType';\r\n\r\nimport { PolicyRequest } from 'jslib/models/request/policyRequest';\r\n\r\nimport { PolicyResponse } from 'jslib/models/response/policyResponse';\r\n\r\n@Component({\r\n selector: 'app-policy-edit',\r\n templateUrl: 'policy-edit.component.html',\r\n})\r\nexport class PolicyEditComponent implements OnInit {\r\n @Input() name: string;\r\n @Input() description: string;\r\n @Input() type: PolicyType;\r\n @Input() organizationId: string;\r\n @Input() policiesEnabledMap: Map = new Map();\r\n @Output() onSavedPolicy = new EventEmitter();\r\n\r\n policyType = PolicyType;\r\n loading = true;\r\n enabled = false;\r\n formPromise: Promise;\r\n passwordScores: any[];\r\n defaultTypes: any[];\r\n\r\n // Master password\r\n\r\n masterPassMinComplexity?: number = null;\r\n masterPassMinLength?: number;\r\n masterPassRequireUpper?: number;\r\n masterPassRequireLower?: number;\r\n masterPassRequireNumbers?: number;\r\n masterPassRequireSpecial?: number;\r\n\r\n // Password generator\r\n\r\n passGenDefaultType?: string;\r\n passGenMinLength?: number;\r\n passGenUseUpper?: boolean;\r\n passGenUseLower?: boolean;\r\n passGenUseNumbers?: boolean;\r\n passGenUseSpecial?: boolean;\r\n passGenMinNumbers?: number;\r\n passGenMinSpecial?: number;\r\n passGenMinNumberWords?: number;\r\n passGenCapitalize?: boolean;\r\n passGenIncludeNumber?: boolean;\r\n\r\n private policy: PolicyResponse;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService) {\r\n this.passwordScores = [\r\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\r\n { name: i18nService.t('weak') + ' (0)', value: 0 },\r\n { name: i18nService.t('weak') + ' (1)', value: 1 },\r\n { name: i18nService.t('weak') + ' (2)', value: 2 },\r\n { name: i18nService.t('good') + ' (3)', value: 3 },\r\n { name: i18nService.t('strong') + ' (4)', value: 4 },\r\n ];\r\n this.defaultTypes = [\r\n { name: i18nService.t('userPreference'), value: null },\r\n { name: i18nService.t('password'), value: 'password' },\r\n { name: i18nService.t('passphrase'), value: 'passphrase' },\r\n ];\r\n }\r\n\r\n async ngOnInit() {\r\n await this.load();\r\n this.loading = false;\r\n }\r\n\r\n async load() {\r\n try {\r\n this.policy = await this.apiService.getPolicy(this.organizationId, this.type);\r\n\r\n if (this.policy != null) {\r\n this.enabled = this.policy.enabled;\r\n if (this.policy.data != null) {\r\n switch (this.type) {\r\n case PolicyType.PasswordGenerator:\r\n this.passGenDefaultType = this.policy.data.defaultType;\r\n this.passGenMinLength = this.policy.data.minLength;\r\n this.passGenUseUpper = this.policy.data.useUpper;\r\n this.passGenUseLower = this.policy.data.useLower;\r\n this.passGenUseNumbers = this.policy.data.useNumbers;\r\n this.passGenUseSpecial = this.policy.data.useSpecial;\r\n this.passGenMinNumbers = this.policy.data.minNumbers;\r\n this.passGenMinSpecial = this.policy.data.minSpecial;\r\n this.passGenMinNumberWords = this.policy.data.minNumberWords;\r\n this.passGenCapitalize = this.policy.data.capitalize;\r\n this.passGenIncludeNumber = this.policy.data.includeNumber;\r\n break;\r\n case PolicyType.MasterPassword:\r\n this.masterPassMinComplexity = this.policy.data.minComplexity;\r\n this.masterPassMinLength = this.policy.data.minLength;\r\n this.masterPassRequireUpper = this.policy.data.requireUpper;\r\n this.masterPassRequireLower = this.policy.data.requireLower;\r\n this.masterPassRequireNumbers = this.policy.data.requireNumbers;\r\n this.masterPassRequireSpecial = this.policy.data.requireSpecial;\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n } catch (e) {\r\n if (e.statusCode === 404) {\r\n this.enabled = false;\r\n } else {\r\n throw e;\r\n }\r\n }\r\n }\r\n\r\n async submit() {\r\n if (this.preValidate()) {\r\n const request = new PolicyRequest();\r\n request.enabled = this.enabled;\r\n request.type = this.type;\r\n request.data = null;\r\n switch (this.type) {\r\n case PolicyType.PasswordGenerator:\r\n request.data = {\r\n defaultType: this.passGenDefaultType,\r\n minLength: this.passGenMinLength || null,\r\n useUpper: this.passGenUseUpper,\r\n useLower: this.passGenUseLower,\r\n useNumbers: this.passGenUseNumbers,\r\n useSpecial: this.passGenUseSpecial,\r\n minNumbers: this.passGenMinNumbers || null,\r\n minSpecial: this.passGenMinSpecial || null,\r\n minNumberWords: this.passGenMinNumberWords || null,\r\n capitalize: this.passGenCapitalize,\r\n includeNumber: this.passGenIncludeNumber,\r\n };\r\n break;\r\n case PolicyType.MasterPassword:\r\n request.data = {\r\n minComplexity: this.masterPassMinComplexity || null,\r\n minLength: this.masterPassMinLength || null,\r\n requireUpper: this.masterPassRequireUpper,\r\n requireLower: this.masterPassRequireLower,\r\n requireNumbers: this.masterPassRequireNumbers,\r\n requireSpecial: this.masterPassRequireSpecial,\r\n };\r\n break;\r\n default:\r\n break;\r\n }\r\n try {\r\n this.formPromise = this.apiService.putPolicy(this.organizationId, this.type, request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Edited Policy' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('editedPolicyId', this.name));\r\n this.onSavedPolicy.emit();\r\n } catch { }\r\n }\r\n }\r\n\r\n private preValidate(): boolean {\r\n switch (this.type) {\r\n case PolicyType.RequireSso:\r\n if (!this.enabled) { // Don't need prevalidation checks if submitting to disable\r\n return true;\r\n }\r\n // Have SingleOrg policy enabled?\r\n if (!(this.policiesEnabledMap.has(PolicyType.SingleOrg)\r\n && this.policiesEnabledMap.get(PolicyType.SingleOrg))) {\r\n this.toasterService.popAsync('error', null, this.i18nService.t('requireSsoPolicyReqError'));\r\n return false;\r\n }\r\n return true;\r\n\r\n default:\r\n return true;\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

{{'editPolicy' | i18n}} - {{name}}

\r\n \r\n
\r\n
\r\n \r\n {{'loading' | i18n}}\r\n
\r\n
\r\n

{{description}}

\r\n \r\n {{'twoStepLoginPolicyWarning' | i18n}}\r\n \r\n \r\n {{'singleOrgPolicyWarning' | i18n}}\r\n \r\n \r\n \r\n {{'requireSsoPolicyReq' | i18n}}\r\n \r\n \r\n {{'requireSsoExemption' | i18n}}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n

{{'password' | i18n}}

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n

{{'passphrase' | i18n}}

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { SyncService } from 'jslib/abstractions/sync.service';\r\n\r\nimport { OrganizationUpdateRequest } from 'jslib/models/request/organizationUpdateRequest';\r\nimport { OrganizationResponse } from 'jslib/models/response/organizationResponse';\r\n\r\nimport { ModalComponent } from '../../modal.component';\r\nimport { ApiKeyComponent } from '../../settings/api-key.component';\r\nimport { PurgeVaultComponent } from '../../settings/purge-vault.component';\r\nimport { TaxInfoComponent } from '../../settings/tax-info.component';\r\nimport { DeleteOrganizationComponent } from './delete-organization.component';\r\n\r\n@Component({\r\n selector: 'app-org-account',\r\n templateUrl: 'account.component.html',\r\n})\r\nexport class AccountComponent {\r\n @ViewChild('deleteOrganizationTemplate', { read: ViewContainerRef, static: true }) deleteModalRef: ViewContainerRef;\r\n @ViewChild('purgeOrganizationTemplate', { read: ViewContainerRef, static: true }) purgeModalRef: ViewContainerRef;\r\n @ViewChild('apiKeyTemplate', { read: ViewContainerRef, static: true }) apiKeyModalRef: ViewContainerRef;\r\n @ViewChild('rotateApiKeyTemplate', { read: ViewContainerRef, static: true }) rotateApiKeyModalRef: ViewContainerRef;\r\n @ViewChild(TaxInfoComponent) taxInfo: TaxInfoComponent;\r\n\r\n selfHosted = false;\r\n loading = true;\r\n canUseApi = false;\r\n org: OrganizationResponse;\r\n formPromise: Promise;\r\n taxFormPromise: Promise;\r\n\r\n private organizationId: string;\r\n private modal: ModalComponent = null;\r\n\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver,\r\n private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private route: ActivatedRoute, private syncService: SyncService,\r\n private platformUtilsService: PlatformUtilsService) { }\r\n\r\n async ngOnInit() {\r\n this.selfHosted = this.platformUtilsService.isSelfHost();\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n try {\r\n this.org = await this.apiService.getOrganization(this.organizationId);\r\n this.canUseApi = this.org.useApi;\r\n } catch { }\r\n });\r\n this.loading = false;\r\n }\r\n\r\n async submit() {\r\n try {\r\n const request = new OrganizationUpdateRequest();\r\n request.name = this.org.name;\r\n request.businessName = this.org.businessName;\r\n request.billingEmail = this.org.billingEmail;\r\n request.identifier = this.org.identifier;\r\n this.formPromise = this.apiService.putOrganization(this.organizationId, request).then(() => {\r\n return this.syncService.fullSync(true);\r\n });\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Updated Organization Settings' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('organizationUpdated'));\r\n } catch { }\r\n }\r\n\r\n async submitTaxInfo() {\r\n this.taxFormPromise = this.taxInfo.submitTaxInfo();\r\n await this.taxFormPromise;\r\n this.analytics.eventTrack.next({ action: 'Updated Organization Tax Info' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('taxInfoUpdated'));\r\n }\r\n\r\n deleteOrganization() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.deleteModalRef.createComponent(factory).instance;\r\n const childComponent = this.modal.show(\r\n DeleteOrganizationComponent, this.deleteModalRef);\r\n childComponent.organizationId = this.organizationId;\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n purgeVault() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.purgeModalRef.createComponent(factory).instance;\r\n const childComponent = this.modal.show(PurgeVaultComponent, this.purgeModalRef);\r\n childComponent.organizationId = this.organizationId;\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n viewApiKey() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.apiKeyModalRef.createComponent(factory).instance;\r\n const childComponent = this.modal.show(ApiKeyComponent, this.apiKeyModalRef);\r\n childComponent.keyType = 'organization';\r\n childComponent.entityId = this.organizationId;\r\n childComponent.postKey = this.apiService.postOrganizationApiKey.bind(this.apiService);\r\n childComponent.scope = 'api.organization';\r\n childComponent.grantType = 'client_credentials';\r\n childComponent.apiKeyTitle = 'apiKey';\r\n childComponent.apiKeyWarning = 'apiKeyWarning';\r\n childComponent.apiKeyDescription = 'apiKeyDesc';\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n rotateApiKey() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.rotateApiKeyModalRef.createComponent(factory).instance;\r\n const childComponent = this.modal.show(ApiKeyComponent, this.rotateApiKeyModalRef);\r\n childComponent.keyType = 'organization';\r\n childComponent.isRotation = true;\r\n childComponent.entityId = this.organizationId;\r\n childComponent.postKey = this.apiService.postOrganizationRotateApiKey.bind(this.apiService);\r\n childComponent.scope = 'api.organization';\r\n childComponent.grantType = 'client_credentials';\r\n childComponent.apiKeyTitle = 'apiKey';\r\n childComponent.apiKeyWarning = 'apiKeyWarning';\r\n childComponent.apiKeyDescription = 'apiKeyRotateDesc';\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n}\r\n","
\r\n

{{'myOrganization' | i18n}}

\r\n
\r\n
\r\n \r\n {{'loading' | i18n}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n

{{'apiKey' | i18n}}

\r\n
\r\n

\r\n {{'apiKeyDesc' | i18n}}\r\n \r\n {{'learnMore' | i18n}}\r\n \r\n

\r\n \r\n \r\n
\r\n
\r\n

{{'taxInformation' | i18n}}

\r\n
\r\n

{{'taxInformationDesc' | i18n}}

\r\n
\r\n \r\n {{'loading' | i18n}}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n

{{'dangerZone' | i18n}}

\r\n
\r\n
\r\n
\r\n

{{'dangerZoneDesc' | i18n}}

\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n","import { TaxInfoUpdateRequest } from './taxInfoUpdateRequest';\r\n\r\nexport class OrganizationTaxInfoUpdateRequest extends TaxInfoUpdateRequest {\r\n taxId: string;\r\n line1: string;\r\n line2: string;\r\n city: string;\r\n state: string;\r\n}\r\n","export class TaxInfoUpdateRequest {\r\n country: string;\r\n postalCode: string;\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\r\n\r\n@Component({\r\n selector: 'app-delete-organization',\r\n templateUrl: 'delete-organization.component.html',\r\n})\r\nexport class DeleteOrganizationComponent {\r\n organizationId: string;\r\n\r\n masterPassword: string;\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private cryptoService: CryptoService, private router: Router) { }\r\n\r\n async submit() {\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n\r\n const request = new PasswordVerificationRequest();\r\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\r\n try {\r\n this.formPromise = this.apiService.deleteOrganization(this.organizationId, request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Deleted Organization' });\r\n this.toasterService.popAsync('success', this.i18nService.t('organizationDeleted'),\r\n this.i18nService.t('organizationDeletedDesc'));\r\n this.router.navigate(['/']);\r\n } catch { }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

{{'deleteOrganization' | i18n}}

\r\n \r\n
\r\n
\r\n

{{'deleteOrganizationDesc' | i18n}}

\r\n {{'deleteOrganizationWarning' | i18n}}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { UserBillingComponent } from '../../settings/user-billing.component';\r\n\r\n@Component({\r\n selector: 'app-org-billing',\r\n templateUrl: '../../settings/user-billing.component.html',\r\n})\r\nexport class OrganizationBillingComponent extends UserBillingComponent implements OnInit {\r\n constructor(apiService: ApiService, i18nService: I18nService,\r\n analytics: Angulartics2, toasterService: ToasterService,\r\n private route: ActivatedRoute, platformUtilsService: PlatformUtilsService) {\r\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\r\n }\r\n\r\n async ngOnInit() {\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n await this.load();\r\n this.firstLoaded = true;\r\n });\r\n }\r\n}\r\n","export class WebConstants {\r\n static readonly stripeTestKey = 'pk_test_KPoCfZXu7mznb9uSCPZ2JpTD';\r\n static readonly stripeLiveKey = 'pk_live_bpN0P37nMxrMQkcaHXtAybJk';\r\n static readonly btSandboxKey = 'sandbox_r72q8jq6_9pnxkwm75f87sdc2';\r\n static readonly btProductionKey = 'production_qfbsv8kc_njj2zjtyngtjmbjd';\r\n static readonly paypal = {\r\n businessIdProduction: '4ZDA7DLUUJGMN',\r\n businessIdSandbox: 'AD3LAUZSNVPJY',\r\n buttonActionProduction: 'https://www.paypal.com/cgi-bin/webscr',\r\n buttonActionSandbox: 'https://www.sandbox.paypal.com/cgi-bin/webscr',\r\n };\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { OrganizationSubscriptionResponse } from 'jslib/models/response/organizationSubscriptionResponse';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { PlanType } from 'jslib/enums/planType';\r\n\r\n@Component({\r\n selector: 'app-org-subscription',\r\n templateUrl: 'organization-subscription.component.html',\r\n})\r\nexport class OrganizationSubscriptionComponent implements OnInit {\r\n loading = false;\r\n firstLoaded = false;\r\n organizationId: string;\r\n adjustSeatsAdd = true;\r\n showAdjustSeats = false;\r\n adjustStorageAdd = true;\r\n showAdjustStorage = false;\r\n showUpdateLicense = false;\r\n showDownloadLicense = false;\r\n showChangePlan = false;\r\n sub: OrganizationSubscriptionResponse;\r\n selfHosted = false;\r\n\r\n cancelPromise: Promise;\r\n reinstatePromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private platformUtilsService: PlatformUtilsService,\r\n private i18nService: I18nService, private analytics: Angulartics2,\r\n private toasterService: ToasterService, private messagingService: MessagingService,\r\n private route: ActivatedRoute) {\r\n this.selfHosted = platformUtilsService.isSelfHost();\r\n }\r\n\r\n async ngOnInit() {\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n await this.load();\r\n this.firstLoaded = true;\r\n });\r\n }\r\n\r\n async load() {\r\n if (this.loading) {\r\n return;\r\n }\r\n this.loading = true;\r\n this.sub = await this.apiService.getOrganizationSubscription(this.organizationId);\r\n this.loading = false;\r\n }\r\n\r\n async reinstate() {\r\n if (this.loading) {\r\n return;\r\n }\r\n\r\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('reinstateConfirmation'),\r\n this.i18nService.t('reinstateSubscription'), this.i18nService.t('yes'), this.i18nService.t('cancel'));\r\n if (!confirmed) {\r\n return;\r\n }\r\n\r\n try {\r\n this.reinstatePromise = this.apiService.postOrganizationReinstate(this.organizationId);\r\n await this.reinstatePromise;\r\n this.analytics.eventTrack.next({ action: 'Reinstated Plan' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('reinstated'));\r\n this.load();\r\n } catch { }\r\n }\r\n\r\n async cancel() {\r\n if (this.loading) {\r\n return;\r\n }\r\n\r\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('cancelConfirmation'),\r\n this.i18nService.t('cancelSubscription'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return;\r\n }\r\n\r\n try {\r\n this.cancelPromise = this.apiService.postOrganizationCancel(this.organizationId);\r\n await this.cancelPromise;\r\n this.analytics.eventTrack.next({ action: 'Canceled Plan' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('canceledSubscription'));\r\n this.load();\r\n } catch { }\r\n }\r\n\r\n async changePlan() {\r\n if (this.subscription == null && this.sub.planType === PlanType.Free) {\r\n this.showChangePlan = !this.showChangePlan;\r\n return;\r\n }\r\n const contactSupport = await this.platformUtilsService.showDialog(this.i18nService.t('changeBillingPlanDesc'),\r\n this.i18nService.t('changeBillingPlan'), this.i18nService.t('contactSupport'), this.i18nService.t('close'));\r\n if (contactSupport) {\r\n this.platformUtilsService.launchUri('https://bitwarden.com/contact');\r\n }\r\n }\r\n\r\n closeChangePlan(changed: boolean) {\r\n this.showChangePlan = false;\r\n }\r\n\r\n downloadLicense() {\r\n this.showDownloadLicense = !this.showDownloadLicense;\r\n }\r\n\r\n closeDownloadLicense() {\r\n this.showDownloadLicense = false;\r\n }\r\n\r\n updateLicense() {\r\n if (this.loading) {\r\n return;\r\n }\r\n this.showUpdateLicense = true;\r\n }\r\n\r\n closeUpdateLicense(updated: boolean) {\r\n this.showUpdateLicense = false;\r\n if (updated) {\r\n this.load();\r\n this.messagingService.send('updatedOrgLicense');\r\n }\r\n }\r\n\r\n adjustSeats(add: boolean) {\r\n this.adjustSeatsAdd = add;\r\n this.showAdjustSeats = true;\r\n }\r\n\r\n closeSeats(load: boolean) {\r\n this.showAdjustSeats = false;\r\n if (load) {\r\n this.load();\r\n }\r\n }\r\n\r\n adjustStorage(add: boolean) {\r\n this.adjustStorageAdd = add;\r\n this.showAdjustStorage = true;\r\n }\r\n\r\n closeStorage(load: boolean) {\r\n this.showAdjustStorage = false;\r\n if (load) {\r\n this.load();\r\n }\r\n }\r\n\r\n get isExpired() {\r\n return this.sub != null && this.sub.expiration != null &&\r\n new Date(this.sub.expiration) < new Date();\r\n }\r\n\r\n get subscriptionMarkedForCancel() {\r\n return this.subscription != null && !this.subscription.cancelled && this.subscription.cancelAtEndDate;\r\n }\r\n\r\n get subscription() {\r\n return this.sub != null ? this.sub.subscription : null;\r\n }\r\n\r\n get nextInvoice() {\r\n return this.sub != null ? this.sub.upcomingInvoice : null;\r\n }\r\n\r\n get storagePercentage() {\r\n return this.sub != null && this.sub.maxStorageGb ?\r\n +(100 * (this.sub.storageGb / this.sub.maxStorageGb)).toFixed(2) : 0;\r\n }\r\n\r\n get storageProgressWidth() {\r\n return this.storagePercentage < 5 ? 5 : 0;\r\n }\r\n\r\n get billingInterval() {\r\n const monthly = !this.sub.plan.isAnnual;\r\n return monthly ? 'month' : 'year';\r\n }\r\n\r\n get storageGbPrice() {\r\n return this.sub.plan.additionalStoragePricePerGb;\r\n }\r\n\r\n get seatPrice() {\r\n return this.sub.plan.seatPrice;\r\n }\r\n\r\n get canAdjustSeats() {\r\n return this.sub.plan.hasAdditionalSeatsOption;\r\n }\r\n\r\n get canDownloadLicense() {\r\n return (this.sub.planType !== PlanType.Free && this.subscription == null) ||\r\n (this.subscription != null && !this.subscription.cancelled);\r\n }\r\n}\r\n","
\r\n

\r\n {{'subscription' | i18n}}\r\n \r\n \r\n {{'loading' | i18n}}\r\n \r\n

\r\n
\r\n\r\n \r\n {{'loading' | i18n}}\r\n\r\n\r\n \r\n {{'subscriptionCanceled' | i18n}}\r\n \r\n

{{'subscriptionPendingCanceled' | i18n}}

\r\n \r\n
\r\n
\r\n
{{'billingPlan' | i18n}}
\r\n
{{sub.plan.name}}
\r\n
{{'expiration' | i18n}}
\r\n
\r\n {{sub.expiration | date:'mediumDate'}}\r\n \r\n \r\n {{'licenseIsExpired' | i18n}}\r\n \r\n
\r\n
{{'neverExpires' | i18n}}
\r\n
\r\n
\r\n
\r\n
\r\n
{{'billingPlan' | i18n}}
\r\n
{{sub.plan.name}}
\r\n \r\n
{{'status' | i18n}}
\r\n
\r\n {{subscription.status || '-'}}\r\n {{'pendingCancellation' | i18n}}\r\n
\r\n
{{'nextCharge' | i18n}}
\r\n
{{nextInvoice ? ((nextInvoice.date | date: 'mediumDate') + ', ' + (nextInvoice.amount | currency:'$'))\r\n : '-'}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{'details' | i18n}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{i.name}} {{i.quantity > 1 ? '×' + i.quantity : ''}} @ {{i.amount | currency:'$'}}\r\n \r\n {{(i.quantity * i.amount) | currency:'$'}} /{{i.interval | i18n}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n {{'manageSubscription' | i18n}}\r\n \r\n
\r\n
\r\n
\r\n \r\n

{{'updateLicense' | i18n}}

\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n

{{'userSeats' | i18n}}

\r\n

{{'subscriptionUserSeats' | i18n : sub.seats}}

\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n

{{'storage' | i18n}}

\r\n

{{'subscriptionStorage' | i18n : sub.maxStorageGb || 0 : sub.storageName || '0 MB'}}

\r\n
\r\n
\r\n {{(storagePercentage / 100) | percent}}
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { PlanType } from 'jslib/enums/planType';\r\nimport { ProductType } from 'jslib/enums/productType';\r\n\r\n@Component({\r\n selector: 'app-change-plan',\r\n templateUrl: 'change-plan.component.html',\r\n})\r\nexport class ChangePlanComponent {\r\n @Input() organizationId: string;\r\n @Output() onChanged = new EventEmitter();\r\n @Output() onCanceled = new EventEmitter();\r\n\r\n formPromise: Promise;\r\n defaultUpgradePlan: PlanType = PlanType.FamiliesAnnually;\r\n defaultUpgradeProduct: ProductType = ProductType.Families;\r\n\r\n constructor(private apiService: ApiService, private platformUtilsService: PlatformUtilsService) { }\r\n\r\n async submit() {\r\n try {\r\n this.platformUtilsService.eventTrack('Changed Plan');\r\n this.onChanged.emit();\r\n } catch { }\r\n }\r\n\r\n cancel() {\r\n this.onCanceled.emit();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n

{{'changeBillingPlan' | i18n}}

\r\n

{{'changeBillingPlanUpgrade' | i18n}}

\r\n \r\n \r\n
\r\n
\r\n","export enum ProductType {\r\n Free = 0,\r\n Families = 1,\r\n Teams = 2,\r\n Enterprise = 3,\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\n@Component({\r\n selector: 'app-download-license',\r\n templateUrl: 'download-license.component.html',\r\n})\r\nexport class DownloadLicenseComponent {\r\n @Input() organizationId: string;\r\n @Output() onDownloaded = new EventEmitter();\r\n @Output() onCanceled = new EventEmitter();\r\n\r\n installationId: string;\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private platformUtilsService: PlatformUtilsService) { }\r\n\r\n async submit() {\r\n if (this.installationId == null || this.installationId === '') {\r\n return;\r\n }\r\n\r\n try {\r\n this.formPromise = this.apiService.getOrganizationLicense(this.organizationId, this.installationId);\r\n const license = await this.formPromise;\r\n const licenseString = JSON.stringify(license, null, 2);\r\n this.platformUtilsService.saveFile(window, licenseString, null, 'bitwarden_organization_license.json');\r\n this.platformUtilsService.eventTrack('Downloaded License');\r\n this.onDownloaded.emit();\r\n } catch { }\r\n }\r\n\r\n cancel() {\r\n this.onCanceled.emit();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n

{{'downloadLicense' | i18n}}

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\n\r\nimport {\r\n ActivatedRoute,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { SeatRequest } from 'jslib/models/request/seatRequest';\r\n\r\nimport { PaymentComponent } from '../../settings/payment.component';\r\n\r\n@Component({\r\n selector: 'app-adjust-seats',\r\n templateUrl: 'adjust-seats.component.html',\r\n})\r\nexport class AdjustSeatsComponent {\r\n @Input() seatPrice = 0;\r\n @Input() add = true;\r\n @Input() organizationId: string;\r\n @Input() interval = 'year';\r\n @Output() onAdjusted = new EventEmitter();\r\n @Output() onCanceled = new EventEmitter();\r\n\r\n @ViewChild(PaymentComponent, { static: true }) paymentComponent: PaymentComponent;\r\n\r\n seatAdjustment = 0;\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private router: Router, private activatedRoute: ActivatedRoute) { }\r\n\r\n async submit() {\r\n try {\r\n const request = new SeatRequest();\r\n request.seatAdjustment = this.seatAdjustment;\r\n if (!this.add) {\r\n request.seatAdjustment *= -1;\r\n }\r\n\r\n let paymentFailed = false;\r\n const action = async () => {\r\n const result = await this.apiService.postOrganizationSeat(this.organizationId, request);\r\n if (result != null && result.paymentIntentClientSecret != null) {\r\n try {\r\n await this.paymentComponent.handleStripeCardPayment(result.paymentIntentClientSecret, null);\r\n } catch {\r\n paymentFailed = true;\r\n }\r\n }\r\n };\r\n this.formPromise = action();\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: this.add ? 'Added Seats' : 'Removed Seats' });\r\n this.onAdjusted.emit(this.seatAdjustment);\r\n if (paymentFailed) {\r\n this.toasterService.popAsync({\r\n body: this.i18nService.t('couldNotChargeCardPayInvoice'),\r\n type: 'warning',\r\n timeout: 10000,\r\n });\r\n this.router.navigate(['../billing'], { relativeTo: this.activatedRoute });\r\n } else {\r\n this.toasterService.popAsync('success', null,\r\n this.i18nService.t('adjustedSeats', request.seatAdjustment.toString()));\r\n }\r\n } catch { }\r\n }\r\n\r\n cancel() {\r\n this.onCanceled.emit();\r\n }\r\n\r\n get adjustedSeatTotal(): number {\r\n return this.seatAdjustment * this.seatPrice;\r\n }\r\n}\r\n","
\r\n
\r\n \r\n

{{(add ? 'addSeats' : 'removeSeats') | i18n}}

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {{'total' | i18n}}: {{seatAdjustment || 0}} × {{seatPrice | currency:'$'}} = {{adjustedSeatTotal\r\n | currency:'$'}} /{{interval | i18n}}\r\n
\r\n \r\n \r\n \r\n {{(add ? 'seatsAddNote' : 'seatsRemoveNote') | i18n}}\r\n \r\n
\r\n
\r\n\r\n","import { Component } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\n@Component({\r\n selector: 'app-org-settings',\r\n templateUrl: 'settings.component.html',\r\n})\r\nexport class SettingsComponent {\r\n access2fa = false;\r\n selfHosted: boolean;\r\n\r\n constructor(private route: ActivatedRoute, private userService: UserService,\r\n private platformUtilsService: PlatformUtilsService) { }\r\n\r\n ngOnInit() {\r\n this.route.parent.params.subscribe(async (params) => {\r\n this.selfHosted = await this.platformUtilsService.isSelfHost();\r\n const organization = await this.userService.getOrganization(params.organizationId);\r\n this.access2fa = organization.use2fa;\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n} from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { PolicyService } from 'jslib/abstractions/policy.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\r\n\r\nimport { TwoFactorDuoComponent } from '../../settings/two-factor-duo.component';\r\nimport { TwoFactorSetupComponent as BaseTwoFactorSetupComponent } from '../../settings/two-factor-setup.component';\r\n\r\n@Component({\r\n selector: 'app-two-factor-setup',\r\n templateUrl: '../../settings/two-factor-setup.component.html',\r\n})\r\nexport class TwoFactorSetupComponent extends BaseTwoFactorSetupComponent {\r\n constructor(apiService: ApiService, userService: UserService,\r\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\r\n policyService: PolicyService, private route: ActivatedRoute) {\r\n super(apiService, userService, componentFactoryResolver, messagingService, policyService);\r\n }\r\n\r\n async ngOnInit() {\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n await super.ngOnInit();\r\n });\r\n }\r\n\r\n manage(type: TwoFactorProviderType) {\r\n switch (type) {\r\n case TwoFactorProviderType.OrganizationDuo:\r\n const duoComp = this.openModal(this.duoModalRef, TwoFactorDuoComponent);\r\n duoComp.type = TwoFactorProviderType.OrganizationDuo;\r\n duoComp.organizationId = this.organizationId;\r\n duoComp.onUpdated.subscribe((enabled: boolean) => {\r\n this.updateStatus(enabled, TwoFactorProviderType.OrganizationDuo);\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n protected getTwoFactorProviders() {\r\n return this.apiService.getTwoFactorOrganizationProviders(this.organizationId);\r\n }\r\n\r\n protected filterProvider(type: TwoFactorProviderType) {\r\n return type !== TwoFactorProviderType.OrganizationDuo;\r\n }\r\n}\r\n","import {\r\n Component,\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { UpdateTwoFactorAuthenticatorRequest } from 'jslib/models/request/updateTwoFactorAuthenticatorRequest';\r\nimport { TwoFactorAuthenticatorResponse } from 'jslib/models/response/twoFactorAuthenticatorResponse';\r\n\r\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\r\n\r\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\r\n\r\n@Component({\r\n selector: 'app-two-factor-authenticator',\r\n templateUrl: 'two-factor-authenticator.component.html',\r\n})\r\nexport class TwoFactorAuthenticatorComponent extends TwoFactorBaseComponent implements OnInit, OnDestroy {\r\n type = TwoFactorProviderType.Authenticator;\r\n key: string;\r\n token: string;\r\n formPromise: Promise;\r\n\r\n private qrScript: HTMLScriptElement;\r\n\r\n constructor(apiService: ApiService, i18nService: I18nService,\r\n analytics: Angulartics2, toasterService: ToasterService,\r\n private userService: UserService, platformUtilsService: PlatformUtilsService) {\r\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\r\n this.qrScript = window.document.createElement('script');\r\n this.qrScript.src = 'scripts/qrious.min.js';\r\n this.qrScript.async = true;\r\n }\r\n\r\n ngOnInit() {\r\n window.document.body.appendChild(this.qrScript);\r\n }\r\n\r\n ngOnDestroy() {\r\n window.document.body.removeChild(this.qrScript);\r\n }\r\n\r\n auth(authResponse: any) {\r\n super.auth(authResponse);\r\n return this.processResponse(authResponse.response);\r\n }\r\n\r\n submit() {\r\n if (this.enabled) {\r\n return super.disable(this.formPromise);\r\n } else {\r\n return this.enable();\r\n }\r\n }\r\n\r\n protected enable() {\r\n const request = new UpdateTwoFactorAuthenticatorRequest();\r\n request.masterPasswordHash = this.masterPasswordHash;\r\n request.token = this.token;\r\n request.key = this.key;\r\n\r\n return super.enable(async () => {\r\n this.formPromise = this.apiService.putTwoFactorAuthenticator(request);\r\n const response = await this.formPromise;\r\n await this.processResponse(response);\r\n });\r\n }\r\n\r\n private async processResponse(response: TwoFactorAuthenticatorResponse) {\r\n this.token = null;\r\n this.enabled = response.enabled;\r\n this.key = response.key;\r\n const email = await this.userService.getEmail();\r\n window.setTimeout(() => {\r\n const qr = new (window as any).QRious({\r\n element: document.getElementById('qr'),\r\n value: 'otpauth://totp/Bitwarden:' + encodeURIComponent(email) +\r\n '?secret=' + encodeURIComponent(this.key) + '&issuer=Bitwarden',\r\n size: 160,\r\n });\r\n }, 100);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n {{'twoStepLogin' | i18n}}\r\n {{'authenticatorAppTitle' | i18n}}\r\n

\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \"\"\r\n

{{'twoStepAuthenticatorDesc' | i18n}}

\r\n

\r\n 1. {{'twoStepAuthenticatorDownloadApp' | i18n}}\r\n

\r\n
\r\n \r\n \r\n

{{'twoStepLoginProviderEnabled' | i18n}}

\r\n {{'twoStepAuthenticatorReaddDesc' | i18n}}\r\n
\r\n \"\"\r\n

{{'twoStepAuthenticatorNeedApp' | i18n}}

\r\n
\r\n
    \r\n
  • \r\n {{'iosDevices' | i18n}}:\r\n Authy\r\n
  • \r\n
  • \r\n {{'androidDevices' | i18n}}:\r\n Authy\r\n
  • \r\n
  • \r\n {{'windowsDevices' | i18n}}:\r\n Microsoft Authenticator\r\n
  • \r\n
\r\n

{{'twoStepAuthenticatorAppsRecommended' | i18n}}

\r\n

\r\n 2. {{'twoStepAuthenticatorScanCode' | i18n}}\r\n

\r\n
\r\n

\r\n
\r\n {{key}}\r\n

\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { TwoFactorEmailRequest } from 'jslib/models/request/twoFactorEmailRequest';\r\n\r\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\r\nimport { UpdateTwoFactorEmailRequest } from 'jslib/models/request/updateTwoFactorEmailRequest';\r\nimport { TwoFactorEmailResponse } from 'jslib/models/response/twoFactorEmailResponse';\r\n\r\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\r\n\r\n@Component({\r\n selector: 'app-two-factor-email',\r\n templateUrl: 'two-factor-email.component.html',\r\n})\r\nexport class TwoFactorEmailComponent extends TwoFactorBaseComponent {\r\n type = TwoFactorProviderType.Email;\r\n email: string;\r\n token: string;\r\n sentEmail: string;\r\n formPromise: Promise;\r\n emailPromise: Promise;\r\n\r\n constructor(apiService: ApiService, i18nService: I18nService,\r\n analytics: Angulartics2, toasterService: ToasterService,\r\n platformUtilsService: PlatformUtilsService, private userService: UserService) {\r\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\r\n }\r\n\r\n auth(authResponse: any) {\r\n super.auth(authResponse);\r\n return this.processResponse(authResponse.response);\r\n }\r\n\r\n submit() {\r\n if (this.enabled) {\r\n return super.disable(this.formPromise);\r\n } else {\r\n return this.enable();\r\n }\r\n }\r\n\r\n async sendEmail() {\r\n try {\r\n const request = new TwoFactorEmailRequest(this.email, this.masterPasswordHash);\r\n this.emailPromise = this.apiService.postTwoFactorEmailSetup(request);\r\n await this.emailPromise;\r\n this.sentEmail = this.email;\r\n } catch { }\r\n }\r\n\r\n protected enable() {\r\n const request = new UpdateTwoFactorEmailRequest();\r\n request.masterPasswordHash = this.masterPasswordHash;\r\n request.email = this.email;\r\n request.token = this.token;\r\n\r\n return super.enable(async () => {\r\n this.formPromise = this.apiService.putTwoFactorEmail(request);\r\n const response = await this.formPromise;\r\n await this.processResponse(response);\r\n });\r\n }\r\n\r\n private async processResponse(response: TwoFactorEmailResponse) {\r\n this.token = null;\r\n this.email = response.email;\r\n this.enabled = response.enabled;\r\n if (!this.enabled && (this.email == null || this.email === '')) {\r\n this.email = await this.userService.getEmail();\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n {{'twoStepLogin' | i18n}}\r\n {{'emailTitle' | i18n}}\r\n

\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n {{'twoStepLoginProviderEnabled' | i18n}}\r\n \r\n {{'email' | i18n}}: {{email}}\r\n \r\n \r\n

\r\n {{'twoFactorEmailDesc' | i18n}}\r\n \"\"\r\n

\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n {{'verificationCodeEmailSent' | i18n : sentEmail}}\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { TwoFactorRecoverResponse } from 'jslib/models/response/twoFactorRescoverResponse';\r\n\r\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\r\n\r\n@Component({\r\n selector: 'app-two-factor-recovery',\r\n templateUrl: 'two-factor-recovery.component.html',\r\n})\r\nexport class TwoFactorRecoveryComponent {\r\n type = -1;\r\n code: string;\r\n authed: boolean;\r\n twoFactorProviderType = TwoFactorProviderType;\r\n\r\n constructor(private i18nService: I18nService) { }\r\n\r\n auth(authResponse: any) {\r\n this.authed = true;\r\n this.processResponse(authResponse.response);\r\n }\r\n\r\n print() {\r\n const w = window.open();\r\n w.document.write('
' +\r\n '

' + this.i18nService.t('twoFactorRecoveryYourCode') + ':

' +\r\n '' +\r\n this.code + '
' +\r\n '

' + new Date() + '

');\r\n w.print();\r\n w.close();\r\n }\r\n\r\n private formatString(s: string) {\r\n if (s == null) {\r\n return null;\r\n }\r\n return s.replace(/(.{4})/g, '$1 ').trim().toUpperCase();\r\n }\r\n\r\n private processResponse(response: TwoFactorRecoverResponse) {\r\n this.code = this.formatString(response.code);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n {{'twoStepLogin' | i18n}}\r\n {{'recoveryCodeTitle' | i18n}}\r\n

\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n

{{'twoFactorRecoveryYourCode' | i18n}}:

\r\n {{code}}\r\n
\r\n \r\n {{'twoFactorRecoveryNoCode' | i18n}}\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import {\r\n Component,\r\n NgZone,\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\r\n\r\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\r\nimport { UpdateTwoFactorU2fDeleteRequest } from 'jslib/models/request/updateTwoFactorU2fDeleteRequest';\r\nimport { UpdateTwoFactorU2fRequest } from 'jslib/models/request/updateTwoFactorU2fRequest';\r\nimport {\r\n ChallengeResponse,\r\n TwoFactorU2fResponse,\r\n} from 'jslib/models/response/twoFactorU2fResponse';\r\n\r\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\r\n\r\n@Component({\r\n selector: 'app-two-factor-u2f',\r\n templateUrl: 'two-factor-u2f.component.html',\r\n})\r\nexport class TwoFactorU2fComponent extends TwoFactorBaseComponent implements OnInit, OnDestroy {\r\n type = TwoFactorProviderType.U2f;\r\n name: string;\r\n keys: any[];\r\n keyIdAvailable: number = null;\r\n keysConfiguredCount = 0;\r\n u2fError: boolean;\r\n u2fListening: boolean;\r\n u2fResponse: string;\r\n challengePromise: Promise;\r\n formPromise: Promise;\r\n\r\n private u2fScript: HTMLScriptElement;\r\n\r\n constructor(apiService: ApiService, i18nService: I18nService,\r\n analytics: Angulartics2, toasterService: ToasterService,\r\n platformUtilsService: PlatformUtilsService, private ngZone: NgZone) {\r\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\r\n this.u2fScript = window.document.createElement('script');\r\n this.u2fScript.src = 'scripts/u2f.js';\r\n this.u2fScript.async = true;\r\n }\r\n\r\n ngOnInit() {\r\n window.document.body.appendChild(this.u2fScript);\r\n }\r\n\r\n ngOnDestroy() {\r\n window.document.body.removeChild(this.u2fScript);\r\n }\r\n\r\n auth(authResponse: any) {\r\n super.auth(authResponse);\r\n this.processResponse(authResponse.response);\r\n }\r\n\r\n submit() {\r\n if (this.u2fResponse == null || this.keyIdAvailable == null) {\r\n // Should never happen.\r\n return Promise.reject();\r\n }\r\n const request = new UpdateTwoFactorU2fRequest();\r\n request.masterPasswordHash = this.masterPasswordHash;\r\n request.deviceResponse = this.u2fResponse;\r\n request.id = this.keyIdAvailable;\r\n request.name = this.name;\r\n\r\n return super.enable(async () => {\r\n this.formPromise = this.apiService.putTwoFactorU2f(request);\r\n const response = await this.formPromise;\r\n await this.processResponse(response);\r\n });\r\n }\r\n\r\n disable() {\r\n return super.disable(this.formPromise);\r\n }\r\n\r\n async remove(key: any) {\r\n if (this.keysConfiguredCount <= 1 || key.removePromise != null) {\r\n return;\r\n }\r\n const name = key.name != null ? key.name : this.i18nService.t('u2fkeyX', key.id);\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('removeU2fConfirmation'), name,\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return;\r\n }\r\n const request = new UpdateTwoFactorU2fDeleteRequest();\r\n request.id = key.id;\r\n request.masterPasswordHash = this.masterPasswordHash;\r\n try {\r\n key.removePromise = this.apiService.deleteTwoFactorU2f(request);\r\n const response = await key.removePromise;\r\n key.removePromise = null;\r\n await this.processResponse(response);\r\n } catch { }\r\n }\r\n\r\n async readKey() {\r\n if (this.keyIdAvailable == null) {\r\n return;\r\n }\r\n const request = new PasswordVerificationRequest();\r\n request.masterPasswordHash = this.masterPasswordHash;\r\n try {\r\n this.challengePromise = this.apiService.getTwoFactorU2fChallenge(request);\r\n const challenge = await this.challengePromise;\r\n this.readDevice(challenge);\r\n } catch { }\r\n }\r\n\r\n private readDevice(u2fChallenge: ChallengeResponse) {\r\n // tslint:disable-next-line\r\n console.log('listening for key...');\r\n this.resetU2f(true);\r\n (window as any).u2f.register(u2fChallenge.appId, [{\r\n version: u2fChallenge.version,\r\n challenge: u2fChallenge.challenge,\r\n }], [], (data: any) => {\r\n this.ngZone.run(() => {\r\n this.u2fListening = false;\r\n if (data.errorCode) {\r\n this.u2fError = true;\r\n // tslint:disable-next-line\r\n console.log('error: ' + data.errorCode);\r\n return;\r\n }\r\n this.u2fResponse = JSON.stringify(data);\r\n });\r\n }, 15);\r\n }\r\n\r\n private resetU2f(listening = false) {\r\n this.u2fResponse = null;\r\n this.u2fError = false;\r\n this.u2fListening = listening;\r\n }\r\n\r\n private processResponse(response: TwoFactorU2fResponse) {\r\n this.resetU2f();\r\n this.keys = [];\r\n this.keyIdAvailable = null;\r\n this.name = null;\r\n this.keysConfiguredCount = 0;\r\n for (let i = 1; i <= 5; i++) {\r\n if (response.keys != null) {\r\n const key = response.keys.filter((k) => k.id === i);\r\n if (key.length > 0) {\r\n this.keysConfiguredCount++;\r\n this.keys.push({\r\n id: i, name: key[0].name,\r\n configured: true,\r\n compromised: key[0].compromised,\r\n removePromise: null,\r\n });\r\n continue;\r\n }\r\n }\r\n this.keys.push({ id: i, name: null, configured: false, compromised: false, removePromise: null });\r\n if (this.keyIdAvailable == null) {\r\n this.keyIdAvailable = i;\r\n }\r\n }\r\n this.enabled = response.enabled;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n {{'twoStepLogin' | i18n}}\r\n FIDO U2F\r\n

\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n {{'twoStepLoginProviderEnabled' | i18n}}\r\n \r\n \r\n

{{'twoFactorU2fWarning' | i18n}}

\r\n
    \r\n
  • {{'twoFactorU2fSupportWeb' | i18n}}
  • \r\n
\r\n
\r\n \"\"\r\n
    \r\n
  • \r\n \r\n {{'u2fkeyX' | i18n : i + 1}}\r\n {{k.name}}\r\n \r\n \r\n \r\n {{'keyCompromised' | i18n}}\r\n \r\n \r\n \r\n {{'enabled' | i18n}}\r\n \r\n \r\n 1 && k.configured\">\r\n \r\n -\r\n {{'remove' | i18n}}\r\n \r\n
  • \r\n
\r\n
\r\n

{{'twoFactorU2fAdd' | i18n}}:

\r\n
    \r\n
  1. {{'twoFactorU2fGiveName' | i18n}}
  2. \r\n
  3. {{'twoFactorU2fPlugInReadKey' | i18n}}
  4. \r\n
  5. {{'twoFactorU2fTouchButton' | i18n}}
  6. \r\n
  7. {{'twoFactorU2fSaveForm' | i18n}}
  8. \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{'twoFactorU2fWaiting' | i18n}}...\r\n \r\n \r\n \r\n {{'twoFactorU2fClickSave' | i18n}}\r\n \r\n \r\n \r\n {{'twoFactorU2fProblemReadingTryAgain' | i18n}}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { UpdateTwoFactorYubioOtpRequest } from 'jslib/models/request/updateTwoFactorYubioOtpRequest';\r\nimport { TwoFactorYubiKeyResponse } from 'jslib/models/response/twoFactorYubiKeyResponse';\r\n\r\nimport { TwoFactorProviderType } from 'jslib/enums/twoFactorProviderType';\r\n\r\nimport { TwoFactorBaseComponent } from './two-factor-base.component';\r\n\r\n@Component({\r\n selector: 'app-two-factor-yubikey',\r\n templateUrl: 'two-factor-yubikey.component.html',\r\n})\r\nexport class TwoFactorYubiKeyComponent extends TwoFactorBaseComponent {\r\n type = TwoFactorProviderType.Yubikey;\r\n keys: any[];\r\n nfc = false;\r\n\r\n formPromise: Promise;\r\n disablePromise: Promise;\r\n\r\n constructor(apiService: ApiService, i18nService: I18nService,\r\n analytics: Angulartics2, toasterService: ToasterService,\r\n platformUtilsService: PlatformUtilsService) {\r\n super(apiService, i18nService, analytics, toasterService, platformUtilsService);\r\n }\r\n\r\n auth(authResponse: any) {\r\n super.auth(authResponse);\r\n this.processResponse(authResponse.response);\r\n }\r\n\r\n submit() {\r\n const request = new UpdateTwoFactorYubioOtpRequest();\r\n request.masterPasswordHash = this.masterPasswordHash;\r\n request.key1 = this.keys != null && this.keys.length > 0 ? this.keys[0].key : null;\r\n request.key2 = this.keys != null && this.keys.length > 1 ? this.keys[1].key : null;\r\n request.key3 = this.keys != null && this.keys.length > 2 ? this.keys[2].key : null;\r\n request.key4 = this.keys != null && this.keys.length > 3 ? this.keys[3].key : null;\r\n request.key5 = this.keys != null && this.keys.length > 4 ? this.keys[4].key : null;\r\n request.nfc = this.nfc;\r\n\r\n return super.enable(async () => {\r\n this.formPromise = this.apiService.putTwoFactorYubiKey(request);\r\n const response = await this.formPromise;\r\n await this.processResponse(response);\r\n this.toasterService.popAsync('success', null, this.i18nService.t('yubikeysUpdated'));\r\n });\r\n }\r\n\r\n disable() {\r\n return super.disable(this.disablePromise);\r\n }\r\n\r\n remove(key: any) {\r\n key.existingKey = null;\r\n key.key = null;\r\n }\r\n\r\n private processResponse(response: TwoFactorYubiKeyResponse) {\r\n this.enabled = response.enabled;\r\n this.keys = [\r\n { key: response.key1, existingKey: this.padRight(response.key1) },\r\n { key: response.key2, existingKey: this.padRight(response.key2) },\r\n { key: response.key3, existingKey: this.padRight(response.key3) },\r\n { key: response.key4, existingKey: this.padRight(response.key4) },\r\n { key: response.key5, existingKey: this.padRight(response.key5) },\r\n ];\r\n this.nfc = response.nfc || !response.enabled;\r\n }\r\n\r\n private padRight(str: string, character = '•', size = 44) {\r\n if (str == null || character == null || str.length >= size) {\r\n return str;\r\n }\r\n const max = (size - str.length) / character.length;\r\n for (let i = 0; i < max; i++) {\r\n str += character;\r\n }\r\n return str;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n {{'twoStepLogin' | i18n}}\r\n YubiKey\r\n

\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n {{'twoStepLoginProviderEnabled' | i18n}}\r\n \r\n \r\n

{{'twoFactorYubikeyWarning' | i18n}}

\r\n
    \r\n
  • {{'twoFactorYubikeySupportUsb' | i18n}}
  • \r\n
  • {{'twoFactorYubikeySupportMobile' | i18n}}
  • \r\n
\r\n
\r\n \"\"\r\n

{{'twoFactorYubikeyAdd' | i18n}}:

\r\n
    \r\n
  1. {{'twoFactorYubikeyPlugIn' | i18n}}
  2. \r\n
  3. {{'twoFactorYubikeySelectKey' | i18n}}
  4. \r\n
  5. {{'twoFactorYubikeyTouchButton' | i18n}}
  6. \r\n
  7. {{'twoFactorYubikeySaveForm' | i18n}}
  8. \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n {{k.existingKey}}\r\n \r\n
\r\n
\r\n
\r\n {{'nfcSupport' | i18n}}\r\n
\r\n \r\n \r\n
\r\n {{'twoFactorYubikeySupportsNfcDesc' | i18n}}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { EventService } from 'jslib/abstractions/event.service';\r\nimport { ExportService } from 'jslib/abstractions/export.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { ExportComponent as BaseExportComponent } from '../../tools/export.component';\r\n\r\nimport { EventType } from 'jslib/enums/eventType';\r\n\r\n@Component({\r\n selector: 'app-org-export',\r\n templateUrl: '../../tools/export.component.html',\r\n})\r\nexport class ExportComponent extends BaseExportComponent {\r\n organizationId: string;\r\n\r\n constructor(cryptoService: CryptoService, i18nService: I18nService,\r\n platformUtilsService: PlatformUtilsService, exportService: ExportService,\r\n eventService: EventService, private route: ActivatedRoute) {\r\n super(cryptoService, i18nService, platformUtilsService, exportService, eventService);\r\n }\r\n\r\n ngOnInit() {\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n });\r\n }\r\n\r\n getExportData() {\r\n return this.exportService.getOrganizationExport(this.organizationId, this.format);\r\n }\r\n\r\n getFileName() {\r\n return super.getFileName('org');\r\n }\r\n\r\n async collectEvent(): Promise {\r\n // TODO\r\n // await this.eventService.collect(EventType.Organization_ClientExportedVault);\r\n }\r\n}\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n} from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { AuditService } from 'jslib/abstractions/audit.service';\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport {\r\n ExposedPasswordsReportComponent as BaseExposedPasswordsReportComponent,\r\n} from '../../tools/exposed-passwords-report.component';\r\n\r\nimport { CipherView } from 'jslib/models/view/cipherView';\r\n\r\n@Component({\r\n selector: 'app-exposed-passwords-report',\r\n templateUrl: '../../tools/exposed-passwords-report.component.html',\r\n})\r\nexport class ExposedPasswordsReportComponent extends BaseExposedPasswordsReportComponent {\r\n constructor(cipherService: CipherService, auditService: AuditService,\r\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\r\n userService: UserService, private route: ActivatedRoute) {\r\n super(cipherService, auditService, componentFactoryResolver, messagingService, userService);\r\n }\r\n\r\n ngOnInit() {\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organization = await this.userService.getOrganization(params.organizationId);\r\n super.ngOnInit();\r\n });\r\n }\r\n\r\n getAllCiphers(): Promise {\r\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\r\n }\r\n}\r\n","import { AttachmentResponse } from '../response/attachmentResponse';\r\n\r\nexport class AttachmentData {\r\n id: string;\r\n url: string;\r\n fileName: string;\r\n key: string;\r\n size: string;\r\n sizeName: string;\r\n\r\n constructor(response?: AttachmentResponse) {\r\n if (response == null) {\r\n return;\r\n }\r\n this.id = response.id;\r\n this.url = response.url;\r\n this.fileName = response.fileName;\r\n this.key = response.key;\r\n this.size = response.size;\r\n this.sizeName = response.sizeName;\r\n }\r\n}\r\n","import { CardApi } from '../api/cardApi';\r\n\r\nexport class CardData {\r\n cardholderName: string;\r\n brand: string;\r\n number: string;\r\n expMonth: string;\r\n expYear: string;\r\n code: string;\r\n\r\n constructor(data?: CardApi) {\r\n if (data == null) {\r\n return;\r\n }\r\n\r\n this.cardholderName = data.cardholderName;\r\n this.brand = data.brand;\r\n this.number = data.number;\r\n this.expMonth = data.expMonth;\r\n this.expYear = data.expYear;\r\n this.code = data.code;\r\n }\r\n}\r\n","import { FieldType } from '../../enums/fieldType';\r\n\r\nimport { FieldApi } from '../api/fieldApi';\r\n\r\nexport class FieldData {\r\n type: FieldType;\r\n name: string;\r\n value: string;\r\n\r\n constructor(response?: FieldApi) {\r\n if (response == null) {\r\n return;\r\n }\r\n this.type = response.type;\r\n this.name = response.name;\r\n this.value = response.value;\r\n }\r\n}\r\n","import { IdentityApi } from '../api/identityApi';\r\n\r\nexport class IdentityData {\r\n title: string;\r\n firstName: string;\r\n middleName: string;\r\n lastName: string;\r\n address1: string;\r\n address2: string;\r\n address3: string;\r\n city: string;\r\n state: string;\r\n postalCode: string;\r\n country: string;\r\n company: string;\r\n email: string;\r\n phone: string;\r\n ssn: string;\r\n username: string;\r\n passportNumber: string;\r\n licenseNumber: string;\r\n\r\n constructor(data?: IdentityApi) {\r\n if (data == null) {\r\n return;\r\n }\r\n\r\n this.title = data.title;\r\n this.firstName = data.firstName;\r\n this.middleName = data.middleName;\r\n this.lastName = data.lastName;\r\n this.address1 = data.address1;\r\n this.address2 = data.address2;\r\n this.address3 = data.address3;\r\n this.city = data.city;\r\n this.state = data.state;\r\n this.postalCode = data.postalCode;\r\n this.country = data.country;\r\n this.company = data.company;\r\n this.email = data.email;\r\n this.phone = data.phone;\r\n this.ssn = data.ssn;\r\n this.username = data.username;\r\n this.passportNumber = data.passportNumber;\r\n this.licenseNumber = data.licenseNumber;\r\n }\r\n}\r\n","import { LoginApi } from '../api/loginApi';\r\n\r\nimport { LoginUriData } from './loginUriData';\r\n\r\nexport class LoginData {\r\n uris: LoginUriData[];\r\n username: string;\r\n password: string;\r\n passwordRevisionDate: string;\r\n totp: string;\r\n\r\n constructor(data?: LoginApi) {\r\n if (data == null) {\r\n return;\r\n }\r\n\r\n this.username = data.username;\r\n this.password = data.password;\r\n this.passwordRevisionDate = data.passwordRevisionDate;\r\n this.totp = data.totp;\r\n\r\n if (data.uris) {\r\n this.uris = data.uris.map((u) => new LoginUriData(u));\r\n }\r\n }\r\n}\r\n","import { UriMatchType } from '../../enums/uriMatchType';\r\n\r\nimport { LoginUriApi } from '../api/loginUriApi';\r\n\r\nexport class LoginUriData {\r\n uri: string;\r\n match: UriMatchType = null;\r\n\r\n constructor(data?: LoginUriApi) {\r\n if (data == null) {\r\n return;\r\n }\r\n this.uri = data.uri;\r\n this.match = data.match;\r\n }\r\n}\r\n","import { PasswordHistoryResponse } from '../response/passwordHistoryResponse';\r\n\r\nexport class PasswordHistoryData {\r\n password: string;\r\n lastUsedDate: string;\r\n\r\n constructor(response?: PasswordHistoryResponse) {\r\n if (response == null) {\r\n return;\r\n }\r\n\r\n this.password = response.password;\r\n this.lastUsedDate = response.lastUsedDate;\r\n }\r\n}\r\n","import { SecureNoteType } from '../../enums/secureNoteType';\r\n\r\nimport { SecureNoteApi } from '../api/secureNoteApi';\r\n\r\nexport class SecureNoteData {\r\n type: SecureNoteType;\r\n\r\n constructor(data?: SecureNoteApi) {\r\n if (data == null) {\r\n return;\r\n }\r\n\r\n this.type = data.type;\r\n }\r\n}\r\n","import { AttachmentData } from '../data/attachmentData';\r\n\r\nimport { AttachmentView } from '../view/attachmentView';\r\n\r\nimport { CipherString } from './cipherString';\r\nimport Domain from './domainBase';\r\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\r\n\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\nexport class Attachment extends Domain {\r\n id: string;\r\n url: string;\r\n size: string;\r\n sizeName: string;\r\n key: CipherString;\r\n fileName: CipherString;\r\n\r\n constructor(obj?: AttachmentData, alreadyEncrypted: boolean = false) {\r\n super();\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.size = obj.size;\r\n this.buildDomainModel(this, obj, {\r\n id: null,\r\n url: null,\r\n sizeName: null,\r\n fileName: null,\r\n key: null,\r\n }, alreadyEncrypted, ['id', 'url', 'sizeName']);\r\n }\r\n\r\n async decrypt(orgId: string): Promise {\r\n const view = await this.decryptObj(new AttachmentView(this), {\r\n fileName: null,\r\n }, orgId);\r\n\r\n if (this.key != null) {\r\n let cryptoService: CryptoService;\r\n const containerService = (Utils.global as any).bitwardenContainerService;\r\n if (containerService) {\r\n cryptoService = containerService.getCryptoService();\r\n } else {\r\n throw new Error('global bitwardenContainerService not initialized.');\r\n }\r\n\r\n try {\r\n const orgKey = await cryptoService.getOrgKey(orgId);\r\n const decValue = await cryptoService.decryptToBytes(this.key, orgKey);\r\n view.key = new SymmetricCryptoKey(decValue);\r\n } catch (e) {\r\n // TODO: error?\r\n }\r\n }\r\n\r\n return view;\r\n }\r\n\r\n toAttachmentData(): AttachmentData {\r\n const a = new AttachmentData();\r\n a.size = this.size;\r\n this.buildDataModel(this, a, {\r\n id: null,\r\n url: null,\r\n sizeName: null,\r\n fileName: null,\r\n key: null,\r\n }, ['id', 'url', 'sizeName']);\r\n return a;\r\n }\r\n}\r\n","import { View } from './view';\r\n\r\nimport { Attachment } from '../domain/attachment';\r\nimport { SymmetricCryptoKey } from '../domain/symmetricCryptoKey';\r\n\r\nexport class AttachmentView implements View {\r\n id: string = null;\r\n url: string = null;\r\n size: string = null;\r\n sizeName: string = null;\r\n fileName: string = null;\r\n key: SymmetricCryptoKey = null;\r\n\r\n constructor(a?: Attachment) {\r\n if (!a) {\r\n return;\r\n }\r\n\r\n this.id = a.id;\r\n this.url = a.url;\r\n this.size = a.size;\r\n this.sizeName = a.sizeName;\r\n }\r\n\r\n get fileSize(): number {\r\n try {\r\n if (this.size != null) {\r\n return parseInt(this.size, null);\r\n }\r\n } catch { }\r\n return 0;\r\n }\r\n}\r\n","import { EncryptionType } from '../../enums/encryptionType';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\nexport class SymmetricCryptoKey {\r\n key: ArrayBuffer;\r\n encKey?: ArrayBuffer;\r\n macKey?: ArrayBuffer;\r\n encType: EncryptionType;\r\n\r\n keyB64: string;\r\n encKeyB64: string;\r\n macKeyB64: string;\r\n\r\n meta: any;\r\n\r\n constructor(key: ArrayBuffer, encType?: EncryptionType) {\r\n if (key == null) {\r\n throw new Error('Must provide key');\r\n }\r\n\r\n if (encType == null) {\r\n if (key.byteLength === 32) {\r\n encType = EncryptionType.AesCbc256_B64;\r\n } else if (key.byteLength === 64) {\r\n encType = EncryptionType.AesCbc256_HmacSha256_B64;\r\n } else {\r\n throw new Error('Unable to determine encType.');\r\n }\r\n }\r\n\r\n this.key = key;\r\n this.encType = encType;\r\n\r\n if (encType === EncryptionType.AesCbc256_B64 && key.byteLength === 32) {\r\n this.encKey = key;\r\n this.macKey = null;\r\n } else if (encType === EncryptionType.AesCbc128_HmacSha256_B64 && key.byteLength === 32) {\r\n this.encKey = key.slice(0, 16);\r\n this.macKey = key.slice(16, 32);\r\n } else if (encType === EncryptionType.AesCbc256_HmacSha256_B64 && key.byteLength === 64) {\r\n this.encKey = key.slice(0, 32);\r\n this.macKey = key.slice(32, 64);\r\n } else {\r\n throw new Error('Unsupported encType/key length.');\r\n }\r\n\r\n if (this.key != null) {\r\n this.keyB64 = Utils.fromBufferToB64(this.key);\r\n }\r\n if (this.encKey != null) {\r\n this.encKeyB64 = Utils.fromBufferToB64(this.encKey);\r\n }\r\n if (this.macKey != null) {\r\n this.macKeyB64 = Utils.fromBufferToB64(this.macKey);\r\n }\r\n }\r\n}\r\n","import { CardData } from '../data/cardData';\r\n\r\nimport { CipherString } from './cipherString';\r\nimport Domain from './domainBase';\r\n\r\nimport { CardView } from '../view/cardView';\r\n\r\nexport class Card extends Domain {\r\n cardholderName: CipherString;\r\n brand: CipherString;\r\n number: CipherString;\r\n expMonth: CipherString;\r\n expYear: CipherString;\r\n code: CipherString;\r\n\r\n constructor(obj?: CardData, alreadyEncrypted: boolean = false) {\r\n super();\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.buildDomainModel(this, obj, {\r\n cardholderName: null,\r\n brand: null,\r\n number: null,\r\n expMonth: null,\r\n expYear: null,\r\n code: null,\r\n }, alreadyEncrypted, []);\r\n }\r\n\r\n decrypt(orgId: string): Promise {\r\n return this.decryptObj(new CardView(this), {\r\n cardholderName: null,\r\n brand: null,\r\n number: null,\r\n expMonth: null,\r\n expYear: null,\r\n code: null,\r\n }, orgId);\r\n }\r\n\r\n toCardData(): CardData {\r\n const c = new CardData();\r\n this.buildDataModel(this, c, {\r\n cardholderName: null,\r\n brand: null,\r\n number: null,\r\n expMonth: null,\r\n expYear: null,\r\n code: null,\r\n });\r\n return c;\r\n }\r\n}\r\n","import { FieldType } from '../../enums/fieldType';\r\n\r\nimport { FieldData } from '../data/fieldData';\r\n\r\nimport { CipherString } from './cipherString';\r\nimport Domain from './domainBase';\r\n\r\nimport { FieldView } from '../view/fieldView';\r\n\r\nexport class Field extends Domain {\r\n name: CipherString;\r\n value: CipherString;\r\n type: FieldType;\r\n\r\n constructor(obj?: FieldData, alreadyEncrypted: boolean = false) {\r\n super();\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.type = obj.type;\r\n this.buildDomainModel(this, obj, {\r\n name: null,\r\n value: null,\r\n }, alreadyEncrypted, []);\r\n }\r\n\r\n decrypt(orgId: string): Promise {\r\n return this.decryptObj(new FieldView(this), {\r\n name: null,\r\n value: null,\r\n }, orgId);\r\n }\r\n\r\n toFieldData(): FieldData {\r\n const f = new FieldData();\r\n this.buildDataModel(this, f, {\r\n name: null,\r\n value: null,\r\n type: null,\r\n }, ['type']);\r\n return f;\r\n }\r\n}\r\n","import { IdentityData } from '../data/identityData';\r\n\r\nimport { CipherString } from './cipherString';\r\nimport Domain from './domainBase';\r\n\r\nimport { IdentityView } from '../view/identityView';\r\n\r\nexport class Identity extends Domain {\r\n title: CipherString;\r\n firstName: CipherString;\r\n middleName: CipherString;\r\n lastName: CipherString;\r\n address1: CipherString;\r\n address2: CipherString;\r\n address3: CipherString;\r\n city: CipherString;\r\n state: CipherString;\r\n postalCode: CipherString;\r\n country: CipherString;\r\n company: CipherString;\r\n email: CipherString;\r\n phone: CipherString;\r\n ssn: CipherString;\r\n username: CipherString;\r\n passportNumber: CipherString;\r\n licenseNumber: CipherString;\r\n\r\n constructor(obj?: IdentityData, alreadyEncrypted: boolean = false) {\r\n super();\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.buildDomainModel(this, obj, {\r\n title: null,\r\n firstName: null,\r\n middleName: null,\r\n lastName: null,\r\n address1: null,\r\n address2: null,\r\n address3: null,\r\n city: null,\r\n state: null,\r\n postalCode: null,\r\n country: null,\r\n company: null,\r\n email: null,\r\n phone: null,\r\n ssn: null,\r\n username: null,\r\n passportNumber: null,\r\n licenseNumber: null,\r\n }, alreadyEncrypted, []);\r\n }\r\n\r\n decrypt(orgId: string): Promise {\r\n return this.decryptObj(new IdentityView(this), {\r\n title: null,\r\n firstName: null,\r\n middleName: null,\r\n lastName: null,\r\n address1: null,\r\n address2: null,\r\n address3: null,\r\n city: null,\r\n state: null,\r\n postalCode: null,\r\n country: null,\r\n company: null,\r\n email: null,\r\n phone: null,\r\n ssn: null,\r\n username: null,\r\n passportNumber: null,\r\n licenseNumber: null,\r\n }, orgId);\r\n }\r\n\r\n toIdentityData(): IdentityData {\r\n const i = new IdentityData();\r\n this.buildDataModel(this, i, {\r\n title: null,\r\n firstName: null,\r\n middleName: null,\r\n lastName: null,\r\n address1: null,\r\n address2: null,\r\n address3: null,\r\n city: null,\r\n state: null,\r\n postalCode: null,\r\n country: null,\r\n company: null,\r\n email: null,\r\n phone: null,\r\n ssn: null,\r\n username: null,\r\n passportNumber: null,\r\n licenseNumber: null,\r\n });\r\n return i;\r\n }\r\n}\r\n","import { LoginUri } from './loginUri';\r\n\r\nimport { LoginData } from '../data/loginData';\r\n\r\nimport { LoginView } from '../view/loginView';\r\n\r\nimport { CipherString } from './cipherString';\r\nimport Domain from './domainBase';\r\n\r\nexport class Login extends Domain {\r\n uris: LoginUri[];\r\n username: CipherString;\r\n password: CipherString;\r\n passwordRevisionDate?: Date;\r\n totp: CipherString;\r\n\r\n constructor(obj?: LoginData, alreadyEncrypted: boolean = false) {\r\n super();\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.passwordRevisionDate = obj.passwordRevisionDate != null ? new Date(obj.passwordRevisionDate) : null;\r\n this.buildDomainModel(this, obj, {\r\n username: null,\r\n password: null,\r\n totp: null,\r\n }, alreadyEncrypted, []);\r\n\r\n if (obj.uris) {\r\n this.uris = [];\r\n obj.uris.forEach((u) => {\r\n this.uris.push(new LoginUri(u, alreadyEncrypted));\r\n });\r\n }\r\n }\r\n\r\n async decrypt(orgId: string): Promise {\r\n const view = await this.decryptObj(new LoginView(this), {\r\n username: null,\r\n password: null,\r\n totp: null,\r\n }, orgId);\r\n\r\n if (this.uris != null) {\r\n view.uris = [];\r\n for (let i = 0; i < this.uris.length; i++) {\r\n const uri = await this.uris[i].decrypt(orgId);\r\n view.uris.push(uri);\r\n }\r\n }\r\n\r\n return view;\r\n }\r\n\r\n toLoginData(): LoginData {\r\n const l = new LoginData();\r\n l.passwordRevisionDate = this.passwordRevisionDate != null ? this.passwordRevisionDate.toISOString() : null;\r\n this.buildDataModel(this, l, {\r\n username: null,\r\n password: null,\r\n totp: null,\r\n });\r\n\r\n if (this.uris != null && this.uris.length > 0) {\r\n l.uris = [];\r\n this.uris.forEach((u) => {\r\n l.uris.push(u.toLoginUriData());\r\n });\r\n }\r\n\r\n return l;\r\n }\r\n}\r\n","import { UriMatchType } from '../../enums/uriMatchType';\r\n\r\nimport { LoginUriData } from '../data/loginUriData';\r\n\r\nimport { LoginUriView } from '../view/loginUriView';\r\n\r\nimport { CipherString } from './cipherString';\r\nimport Domain from './domainBase';\r\n\r\nexport class LoginUri extends Domain {\r\n uri: CipherString;\r\n match: UriMatchType;\r\n\r\n constructor(obj?: LoginUriData, alreadyEncrypted: boolean = false) {\r\n super();\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.match = obj.match;\r\n this.buildDomainModel(this, obj, {\r\n uri: null,\r\n }, alreadyEncrypted, []);\r\n }\r\n\r\n decrypt(orgId: string): Promise {\r\n return this.decryptObj(new LoginUriView(this), {\r\n uri: null,\r\n }, orgId);\r\n }\r\n\r\n toLoginUriData(): LoginUriData {\r\n const u = new LoginUriData();\r\n this.buildDataModel(this, u, {\r\n uri: null,\r\n }, ['match']);\r\n return u;\r\n }\r\n}\r\n","import { PasswordHistoryData } from '../data/passwordHistoryData';\r\n\r\nimport { CipherString } from './cipherString';\r\nimport Domain from './domainBase';\r\n\r\nimport { PasswordHistoryView } from '../view/passwordHistoryView';\r\n\r\nexport class Password extends Domain {\r\n password: CipherString;\r\n lastUsedDate: Date;\r\n\r\n constructor(obj?: PasswordHistoryData, alreadyEncrypted: boolean = false) {\r\n super();\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.buildDomainModel(this, obj, {\r\n password: null,\r\n }, alreadyEncrypted);\r\n this.lastUsedDate = new Date(obj.lastUsedDate);\r\n }\r\n\r\n decrypt(orgId: string): Promise {\r\n return this.decryptObj(new PasswordHistoryView(this), {\r\n password: null,\r\n }, orgId);\r\n }\r\n\r\n toPasswordHistoryData(): PasswordHistoryData {\r\n const ph = new PasswordHistoryData();\r\n ph.lastUsedDate = this.lastUsedDate.toISOString();\r\n this.buildDataModel(this, ph, {\r\n password: null,\r\n });\r\n return ph;\r\n }\r\n}\r\n","import { SecureNoteType } from '../../enums/secureNoteType';\r\n\r\nimport { SecureNoteData } from '../data/secureNoteData';\r\n\r\nimport Domain from './domainBase';\r\n\r\nimport { SecureNoteView } from '../view/secureNoteView';\r\n\r\nexport class SecureNote extends Domain {\r\n type: SecureNoteType;\r\n\r\n constructor(obj?: SecureNoteData, alreadyEncrypted: boolean = false) {\r\n super();\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.type = obj.type;\r\n }\r\n\r\n decrypt(orgId: string): Promise {\r\n return Promise.resolve(new SecureNoteView(this));\r\n }\r\n\r\n toSecureNoteData(): SecureNoteData {\r\n const n = new SecureNoteData();\r\n n.type = this.type;\r\n return n;\r\n }\r\n}\r\n","import { CipherRequest } from './cipherRequest';\r\n\r\nimport { Cipher } from '../domain/cipher';\r\n\r\nexport class CipherCreateRequest {\r\n cipher: CipherRequest;\r\n collectionIds: string[];\r\n\r\n constructor(cipher: Cipher) {\r\n this.cipher = new CipherRequest(cipher);\r\n this.collectionIds = cipher.collectionIds;\r\n }\r\n}\r\n","import { BaseResponse } from '../response/baseResponse';\r\n\r\nexport class CardApi extends BaseResponse {\r\n cardholderName: string;\r\n brand: string;\r\n number: string;\r\n expMonth: string;\r\n expYear: string;\r\n code: string;\r\n\r\n constructor(data: any = null) {\r\n super(data);\r\n if (data == null) {\r\n return;\r\n }\r\n this.cardholderName = this.getResponseProperty('CardholderName');\r\n this.brand = this.getResponseProperty('Brand');\r\n this.number = this.getResponseProperty('Number');\r\n this.expMonth = this.getResponseProperty('ExpMonth');\r\n this.expYear = this.getResponseProperty('ExpYear');\r\n this.code = this.getResponseProperty('Code');\r\n }\r\n}\r\n","import { BaseResponse } from '../response/baseResponse';\r\n\r\nimport { FieldType } from '../../enums/fieldType';\r\n\r\nexport class FieldApi extends BaseResponse {\r\n name: string;\r\n value: string;\r\n type: FieldType;\r\n\r\n constructor(data: any = null) {\r\n super(data);\r\n if (data == null) {\r\n return;\r\n }\r\n this.type = this.getResponseProperty('Type');\r\n this.name = this.getResponseProperty('Name');\r\n this.value = this.getResponseProperty('Value');\r\n }\r\n}\r\n","import { BaseResponse } from '../response/baseResponse';\r\n\r\nexport class IdentityApi extends BaseResponse {\r\n title: string;\r\n firstName: string;\r\n middleName: string;\r\n lastName: string;\r\n address1: string;\r\n address2: string;\r\n address3: string;\r\n city: string;\r\n state: string;\r\n postalCode: string;\r\n country: string;\r\n company: string;\r\n email: string;\r\n phone: string;\r\n ssn: string;\r\n username: string;\r\n passportNumber: string;\r\n licenseNumber: string;\r\n\r\n constructor(data: any = null) {\r\n super(data);\r\n if (data == null) {\r\n return;\r\n }\r\n this.title = this.getResponseProperty('Title');\r\n this.firstName = this.getResponseProperty('FirstName');\r\n this.middleName = this.getResponseProperty('MiddleName');\r\n this.lastName = this.getResponseProperty('LastName');\r\n this.address1 = this.getResponseProperty('Address1');\r\n this.address2 = this.getResponseProperty('Address2');\r\n this.address3 = this.getResponseProperty('Address3');\r\n this.city = this.getResponseProperty('City');\r\n this.state = this.getResponseProperty('State');\r\n this.postalCode = this.getResponseProperty('PostalCode');\r\n this.country = this.getResponseProperty('Country');\r\n this.company = this.getResponseProperty('Company');\r\n this.email = this.getResponseProperty('Email');\r\n this.phone = this.getResponseProperty('Phone');\r\n this.ssn = this.getResponseProperty('SSN');\r\n this.username = this.getResponseProperty('Username');\r\n this.passportNumber = this.getResponseProperty('PassportNumber');\r\n this.licenseNumber = this.getResponseProperty('LicenseNumber');\r\n }\r\n}\r\n","import { BaseResponse } from '../response/baseResponse';\r\n\r\nimport { LoginUriApi } from './loginUriApi';\r\n\r\nexport class LoginApi extends BaseResponse {\r\n uris: LoginUriApi[];\r\n username: string;\r\n password: string;\r\n passwordRevisionDate: string;\r\n totp: string;\r\n\r\n constructor(data: any = null) {\r\n super(data);\r\n if (data == null) {\r\n return;\r\n }\r\n this.username = this.getResponseProperty('Username');\r\n this.password = this.getResponseProperty('Password');\r\n this.passwordRevisionDate = this.getResponseProperty('PasswordRevisionDate');\r\n this.totp = this.getResponseProperty('Totp');\r\n\r\n const uris = this.getResponseProperty('Uris');\r\n if (uris != null) {\r\n this.uris = uris.map((u: any) => new LoginUriApi(u));\r\n }\r\n }\r\n}\r\n","import { BaseResponse } from '../response/baseResponse';\r\n\r\nimport { UriMatchType } from '../../enums/uriMatchType';\r\n\r\nexport class LoginUriApi extends BaseResponse {\r\n uri: string;\r\n match: UriMatchType = null;\r\n\r\n constructor(data: any = null) {\r\n super(data);\r\n if (data == null) {\r\n return;\r\n }\r\n this.uri = this.getResponseProperty('Uri');\r\n const match = this.getResponseProperty('Match');\r\n this.match = match != null ? match : null;\r\n }\r\n}\r\n","import { BaseResponse } from '../response/baseResponse';\r\n\r\nimport { SecureNoteType } from '../../enums/secureNoteType';\r\n\r\nexport class SecureNoteApi extends BaseResponse {\r\n type: SecureNoteType;\r\n\r\n constructor(data: any = null) {\r\n super(data);\r\n if (data == null) {\r\n return;\r\n }\r\n this.type = this.getResponseProperty('Type');\r\n }\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n Input,\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appFallbackSrc]',\r\n})\r\nexport class FallbackSrcDirective {\r\n @Input('appFallbackSrc') appFallbackSrc: string;\r\n\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n @HostListener('error') onError() {\r\n this.el.nativeElement.src = this.appFallbackSrc;\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport {\r\n ActivatedRoute,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { ImportService } from 'jslib/abstractions/import.service';\r\n\r\nimport { ImportComponent as BaseImportComponent } from '../../tools/import.component';\r\n\r\n@Component({\r\n selector: 'app-org-import',\r\n templateUrl: '../../tools/import.component.html',\r\n})\r\nexport class ImportComponent extends BaseImportComponent {\r\n constructor(i18nService: I18nService, analytics: Angulartics2,\r\n toasterService: ToasterService, importService: ImportService,\r\n router: Router, private route: ActivatedRoute) {\r\n super(i18nService, analytics, toasterService, importService, router);\r\n }\r\n\r\n ngOnInit() {\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organizationId = params.organizationId;\r\n this.successNavigate = ['organizations', this.organizationId, 'vault'];\r\n super.ngOnInit();\r\n });\r\n }\r\n}\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n} from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport {\r\n InactiveTwoFactorReportComponent as BaseInactiveTwoFactorReportComponent,\r\n} from '../../tools/inactive-two-factor-report.component';\r\n\r\nimport { CipherView } from 'jslib/models/view/cipherView';\r\n\r\n@Component({\r\n selector: 'app-inactive-two-factor-report',\r\n templateUrl: '../../tools/inactive-two-factor-report.component.html',\r\n})\r\nexport class InactiveTwoFactorReportComponent extends BaseInactiveTwoFactorReportComponent {\r\n constructor(cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\r\n messagingService: MessagingService, userService: UserService,\r\n private route: ActivatedRoute) {\r\n super(cipherService, componentFactoryResolver, messagingService, userService);\r\n }\r\n\r\n async ngOnInit() {\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organization = await this.userService.getOrganization(params.organizationId);\r\n await super.ngOnInit();\r\n });\r\n }\r\n\r\n getAllCiphers(): Promise {\r\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\r\n }\r\n}\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n} from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { CipherView } from 'jslib/models/view/cipherView';\r\n\r\nimport {\r\n ReusedPasswordsReportComponent as BaseReusedPasswordsReportComponent,\r\n} from '../../tools/reused-passwords-report.component';\r\n\r\n@Component({\r\n selector: 'app-reused-passwords-report',\r\n templateUrl: '../../tools/reused-passwords-report.component.html',\r\n})\r\nexport class ReusedPasswordsReportComponent extends BaseReusedPasswordsReportComponent {\r\n constructor(cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\r\n messagingService: MessagingService, userService: UserService,\r\n private route: ActivatedRoute) {\r\n super(cipherService, componentFactoryResolver, messagingService, userService);\r\n }\r\n\r\n async ngOnInit() {\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organization = await this.userService.getOrganization(params.organizationId);\r\n await super.ngOnInit();\r\n });\r\n }\r\n\r\n getAllCiphers(): Promise {\r\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { Organization } from 'jslib/models/domain/organization';\r\n\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\n@Component({\r\n selector: 'app-org-tools',\r\n templateUrl: 'tools.component.html',\r\n})\r\nexport class ToolsComponent {\r\n organization: Organization;\r\n accessReports = false;\r\n\r\n constructor(private route: ActivatedRoute, private userService: UserService,\r\n private messagingService: MessagingService) { }\r\n\r\n ngOnInit() {\r\n this.route.parent.params.subscribe(async (params) => {\r\n this.organization = await this.userService.getOrganization(params.organizationId);\r\n // TODO: Maybe we want to just make sure they are not on a free plan? Just compare useTotp for now\r\n // since all paid plans include useTotp\r\n this.accessReports = this.organization.useTotp;\r\n });\r\n }\r\n\r\n upgradeOrganization() {\r\n this.messagingService.send('upgradeOrganization', { organizationId: this.organization.id });\r\n }\r\n}\r\n","\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n} from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport {\r\n UnsecuredWebsitesReportComponent as BaseUnsecuredWebsitesReportComponent,\r\n} from '../../tools/unsecured-websites-report.component';\r\n\r\nimport { CipherView } from 'jslib/models/view/cipherView';\r\n\r\n@Component({\r\n selector: 'app-unsecured-websites-report',\r\n templateUrl: '../../tools/unsecured-websites-report.component.html',\r\n})\r\nexport class UnsecuredWebsitesReportComponent extends BaseUnsecuredWebsitesReportComponent {\r\n constructor(cipherService: CipherService, componentFactoryResolver: ComponentFactoryResolver,\r\n messagingService: MessagingService, userService: UserService,\r\n private route: ActivatedRoute) {\r\n super(cipherService, componentFactoryResolver, messagingService, userService);\r\n }\r\n\r\n async ngOnInit() {\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organization = await this.userService.getOrganization(params.organizationId);\r\n await super.ngOnInit();\r\n });\r\n }\r\n\r\n getAllCiphers(): Promise {\r\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\r\n }\r\n}\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n} from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { CipherView } from 'jslib/models/view/cipherView';\r\n\r\nimport {\r\n WeakPasswordsReportComponent as BaseWeakPasswordsReportComponent,\r\n} from '../../tools/weak-passwords-report.component';\r\n\r\n@Component({\r\n selector: 'app-weak-passwords-report',\r\n templateUrl: '../../tools/weak-passwords-report.component.html',\r\n})\r\nexport class WeakPasswordsReportComponent extends BaseWeakPasswordsReportComponent {\r\n constructor(cipherService: CipherService, passwordGenerationService: PasswordGenerationService,\r\n componentFactoryResolver: ComponentFactoryResolver, messagingService: MessagingService,\r\n userService: UserService, private route: ActivatedRoute) {\r\n super(cipherService, passwordGenerationService, componentFactoryResolver, messagingService, userService);\r\n }\r\n\r\n async ngOnInit() {\r\n this.route.parent.parent.params.subscribe(async (params) => {\r\n this.organization = await this.userService.getOrganization(params.organizationId);\r\n await super.ngOnInit();\r\n });\r\n }\r\n\r\n getAllCiphers(): Promise {\r\n return this.cipherService.getAllFromApiForOrganization(this.organization.id);\r\n }\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ComponentFactoryResolver,\r\n NgZone,\r\n OnDestroy,\r\n OnInit,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport {\r\n ActivatedRoute,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { SyncService } from 'jslib/abstractions/sync.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\r\n\r\nimport { Organization } from 'jslib/models/domain/organization';\r\nimport { CipherView } from 'jslib/models/view/cipherView';\r\n\r\nimport { CipherType } from 'jslib/enums/cipherType';\r\n\r\nimport { ModalComponent } from '../../modal.component';\r\n\r\nimport { EntityEventsComponent } from '../manage/entity-events.component';\r\nimport { AddEditComponent } from './add-edit.component';\r\nimport { AttachmentsComponent } from './attachments.component';\r\nimport { CiphersComponent } from './ciphers.component';\r\nimport { CollectionsComponent } from './collections.component';\r\nimport { GroupingsComponent } from './groupings.component';\r\n\r\nconst BroadcasterSubscriptionId = 'OrgVaultComponent';\r\n\r\n@Component({\r\n selector: 'app-org-vault',\r\n templateUrl: 'vault.component.html',\r\n})\r\nexport class VaultComponent implements OnInit, OnDestroy {\r\n @ViewChild(GroupingsComponent, { static: true }) groupingsComponent: GroupingsComponent;\r\n @ViewChild(CiphersComponent, { static: true }) ciphersComponent: CiphersComponent;\r\n @ViewChild('attachments', { read: ViewContainerRef, static: true }) attachmentsModalRef: ViewContainerRef;\r\n @ViewChild('cipherAddEdit', { read: ViewContainerRef, static: true }) cipherAddEditModalRef: ViewContainerRef;\r\n @ViewChild('collections', { read: ViewContainerRef, static: true }) collectionsModalRef: ViewContainerRef;\r\n @ViewChild('eventsTemplate', { read: ViewContainerRef, static: true }) eventsModalRef: ViewContainerRef;\r\n\r\n organization: Organization;\r\n collectionId: string = null;\r\n type: CipherType = null;\r\n deleted: boolean = false;\r\n\r\n modal: ModalComponent = null;\r\n\r\n constructor(private route: ActivatedRoute, private userService: UserService,\r\n private router: Router, private changeDetectorRef: ChangeDetectorRef,\r\n private syncService: SyncService, private i18nService: I18nService,\r\n private componentFactoryResolver: ComponentFactoryResolver, private messagingService: MessagingService,\r\n private broadcasterService: BroadcasterService, private ngZone: NgZone) { }\r\n\r\n ngOnInit() {\r\n const queryParams = this.route.parent.params.subscribe(async (params) => {\r\n this.organization = await this.userService.getOrganization(params.organizationId);\r\n this.groupingsComponent.organization = this.organization;\r\n this.ciphersComponent.organization = this.organization;\r\n\r\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\r\n this.ciphersComponent.searchText = this.groupingsComponent.searchText = qParams.search;\r\n if (!this.organization.isAdmin) {\r\n await this.syncService.fullSync(false);\r\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, (message: any) => {\r\n this.ngZone.run(async () => {\r\n switch (message.command) {\r\n case 'syncCompleted':\r\n if (message.successfully) {\r\n await Promise.all([\r\n this.groupingsComponent.load(),\r\n this.ciphersComponent.refresh(),\r\n ]);\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n break;\r\n }\r\n });\r\n });\r\n }\r\n await this.groupingsComponent.load();\r\n\r\n if (qParams == null) {\r\n this.groupingsComponent.selectedAll = true;\r\n await this.ciphersComponent.reload();\r\n } else {\r\n if (qParams.deleted) {\r\n this.groupingsComponent.selectedTrash = true;\r\n await this.filterDeleted(true);\r\n } else if (qParams.type) {\r\n const t = parseInt(qParams.type, null);\r\n this.groupingsComponent.selectedType = t;\r\n await this.filterCipherType(t, true);\r\n } else if (qParams.collectionId) {\r\n this.groupingsComponent.selectedCollectionId = qParams.collectionId;\r\n await this.filterCollection(qParams.collectionId, true);\r\n } else {\r\n this.groupingsComponent.selectedAll = true;\r\n await this.ciphersComponent.reload();\r\n }\r\n }\r\n\r\n if (qParams.viewEvents != null) {\r\n const cipher = this.ciphersComponent.ciphers.filter((c) => c.id === qParams.viewEvents);\r\n if (cipher.length > 0) {\r\n this.viewEvents(cipher[0]);\r\n }\r\n }\r\n\r\n if (queryParamsSub != null) {\r\n queryParamsSub.unsubscribe();\r\n }\r\n });\r\n\r\n if (queryParams != null) {\r\n queryParams.unsubscribe();\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\r\n }\r\n\r\n async clearGroupingFilters() {\r\n this.ciphersComponent.showAddNew = true;\r\n this.ciphersComponent.deleted = false;\r\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchVault');\r\n await this.ciphersComponent.applyFilter();\r\n this.clearFilters();\r\n this.go();\r\n }\r\n\r\n async filterCipherType(type: CipherType, load = false) {\r\n this.ciphersComponent.showAddNew = true;\r\n this.ciphersComponent.deleted = false;\r\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchType');\r\n const filter = (c: CipherView) => c.type === type;\r\n if (load) {\r\n await this.ciphersComponent.reload(filter);\r\n } else {\r\n await this.ciphersComponent.applyFilter(filter);\r\n }\r\n this.clearFilters();\r\n this.type = type;\r\n this.go();\r\n }\r\n\r\n async filterCollection(collectionId: string, load = false) {\r\n this.ciphersComponent.showAddNew = true;\r\n this.ciphersComponent.deleted = false;\r\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchCollection');\r\n const filter = (c: CipherView) => {\r\n if (collectionId === 'unassigned') {\r\n return c.collectionIds == null || c.collectionIds.length === 0;\r\n } else {\r\n return c.collectionIds != null && c.collectionIds.indexOf(collectionId) > -1;\r\n }\r\n };\r\n if (load) {\r\n await this.ciphersComponent.reload(filter);\r\n } else {\r\n await this.ciphersComponent.applyFilter(filter);\r\n }\r\n this.clearFilters();\r\n this.collectionId = collectionId;\r\n this.go();\r\n }\r\n\r\n async filterDeleted(load: boolean = false) {\r\n this.ciphersComponent.showAddNew = false;\r\n this.ciphersComponent.deleted = true;\r\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchTrash');\r\n if (load) {\r\n await this.ciphersComponent.reload(null, true);\r\n } else {\r\n await this.ciphersComponent.applyFilter(null);\r\n }\r\n this.clearFilters();\r\n this.deleted = true;\r\n this.go();\r\n }\r\n\r\n filterSearchText(searchText: string) {\r\n this.ciphersComponent.searchText = searchText;\r\n this.ciphersComponent.search(200);\r\n }\r\n\r\n editCipherAttachments(cipher: CipherView) {\r\n if (this.organization.maxStorageGb == null || this.organization.maxStorageGb === 0) {\r\n this.messagingService.send('upgradeOrganization', { organizationId: cipher.organizationId });\r\n return;\r\n }\r\n\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.attachmentsModalRef.createComponent(factory).instance;\r\n const childComponent = this.modal.show(AttachmentsComponent, this.attachmentsModalRef);\r\n\r\n childComponent.organization = this.organization;\r\n childComponent.cipherId = cipher.id;\r\n let madeAttachmentChanges = false;\r\n childComponent.onUploadedAttachment.subscribe(() => madeAttachmentChanges = true);\r\n childComponent.onDeletedAttachment.subscribe(() => madeAttachmentChanges = true);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n if (madeAttachmentChanges) {\r\n await this.ciphersComponent.refresh();\r\n }\r\n madeAttachmentChanges = false;\r\n });\r\n }\r\n\r\n editCipherCollections(cipher: CipherView) {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.collectionsModalRef.createComponent(factory).instance;\r\n const childComponent = this.modal.show(CollectionsComponent, this.collectionsModalRef);\r\n\r\n if (this.organization.isAdmin) {\r\n childComponent.collectionIds = cipher.collectionIds;\r\n childComponent.collections = this.groupingsComponent.collections.filter((c) => !c.readOnly);\r\n }\r\n childComponent.organization = this.organization;\r\n childComponent.cipherId = cipher.id;\r\n childComponent.onSavedCollections.subscribe(async () => {\r\n this.modal.close();\r\n await this.ciphersComponent.refresh();\r\n });\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n addCipher() {\r\n const component = this.editCipher(null);\r\n component.organizationId = this.organization.id;\r\n component.type = this.type;\r\n if (this.organization.isAdmin) {\r\n component.collections = this.groupingsComponent.collections.filter((c) => !c.readOnly);\r\n }\r\n if (this.collectionId != null) {\r\n component.collectionIds = [this.collectionId];\r\n }\r\n }\r\n\r\n editCipher(cipher: CipherView) {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.cipherAddEditModalRef.createComponent(factory).instance;\r\n const childComponent = this.modal.show(AddEditComponent, this.cipherAddEditModalRef);\r\n\r\n childComponent.organization = this.organization;\r\n childComponent.cipherId = cipher == null ? null : cipher.id;\r\n childComponent.onSavedCipher.subscribe(async (c: CipherView) => {\r\n this.modal.close();\r\n await this.ciphersComponent.refresh();\r\n });\r\n childComponent.onDeletedCipher.subscribe(async (c: CipherView) => {\r\n this.modal.close();\r\n await this.ciphersComponent.refresh();\r\n });\r\n childComponent.onRestoredCipher.subscribe(async (c: CipherView) => {\r\n this.modal.close();\r\n await this.ciphersComponent.refresh();\r\n });\r\n\r\n this.modal.onClosed.subscribe(() => {\r\n this.modal = null;\r\n });\r\n\r\n return childComponent;\r\n }\r\n\r\n cloneCipher(cipher: CipherView) {\r\n const component = this.editCipher(cipher);\r\n component.cloneMode = true;\r\n component.organizationId = this.organization.id;\r\n if (this.organization.isAdmin) {\r\n component.collections = this.groupingsComponent.collections.filter((c) => !c.readOnly);\r\n }\r\n // Regardless of Admin state, the collection Ids need to passed manually as they are not assigned value\r\n // in the add-edit componenet\r\n component.collectionIds = cipher.collectionIds;\r\n }\r\n\r\n async viewEvents(cipher: CipherView) {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.eventsModalRef.createComponent(factory).instance;\r\n const childComponent = this.modal.show(\r\n EntityEventsComponent, this.eventsModalRef);\r\n\r\n childComponent.name = cipher.name;\r\n childComponent.organizationId = this.organization.id;\r\n childComponent.entityId = cipher.id;\r\n childComponent.showUser = true;\r\n childComponent.entity = 'cipher';\r\n\r\n this.modal.onClosed.subscribe(() => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n private clearFilters() {\r\n this.collectionId = null;\r\n this.type = null;\r\n this.deleted = false;\r\n }\r\n\r\n private go(queryParams: any = null) {\r\n if (queryParams == null) {\r\n queryParams = {\r\n type: this.type,\r\n collectionId: this.collectionId,\r\n deleted: this.deleted ? true : null,\r\n };\r\n }\r\n\r\n this.router.navigate([], {\r\n relativeTo: this.route,\r\n queryParams: queryParams,\r\n replaceUrl: true,\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n

\r\n {{'vault' | i18n}}\r\n \r\n \r\n \r\n {{'loading' | i18n}}\r\n \r\n \r\n

\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n","import { Component } from '@angular/core';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { CipherData } from 'jslib/models/data/cipherData';\r\nimport { Cipher } from 'jslib/models/domain/cipher';\r\nimport { Organization } from 'jslib/models/domain/organization';\r\n\r\nimport { AttachmentView } from 'jslib/models/view/attachmentView';\r\n\r\nimport { AttachmentsComponent as BaseAttachmentsComponent } from '../../vault/attachments.component';\r\n\r\n@Component({\r\n selector: 'app-org-vault-attachments',\r\n templateUrl: '../../vault/attachments.component.html',\r\n})\r\nexport class AttachmentsComponent extends BaseAttachmentsComponent {\r\n organization: Organization;\r\n\r\n constructor(cipherService: CipherService, i18nService: I18nService,\r\n cryptoService: CryptoService, userService: UserService,\r\n platformUtilsService: PlatformUtilsService, private apiService: ApiService) {\r\n super(cipherService, i18nService, cryptoService, userService, platformUtilsService);\r\n }\r\n\r\n protected async reupload(attachment: AttachmentView) {\r\n if (this.organization.isAdmin && this.showFixOldAttachments(attachment)) {\r\n await super.reuploadCipherAttachment(attachment, true);\r\n }\r\n }\r\n\r\n protected async loadCipher() {\r\n if (!this.organization.isAdmin) {\r\n return await super.loadCipher();\r\n }\r\n const response = await this.apiService.getCipherAdmin(this.cipherId);\r\n return new Cipher(new CipherData(response));\r\n }\r\n\r\n protected saveCipherAttachment(file: File) {\r\n return this.cipherService.saveAttachmentWithServer(this.cipherDomain, file, this.organization.isAdmin);\r\n }\r\n\r\n protected deleteCipherAttachment(attachmentId: string) {\r\n if (!this.organization.isAdmin) {\r\n return super.deleteCipherAttachment(attachmentId);\r\n }\r\n return this.apiService.deleteCipherAttachmentAdmin(this.cipherId, attachmentId);\r\n }\r\n\r\n protected showFixOldAttachments(attachment: AttachmentView) {\r\n return attachment.key == null && this.organization.isAdmin;\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { CipherData } from 'jslib/models/data/cipherData';\r\nimport { Cipher } from 'jslib/models/domain/cipher';\r\nimport { Organization } from 'jslib/models/domain/organization';\r\nimport { CipherCollectionsRequest } from 'jslib/models/request/cipherCollectionsRequest';\r\n\r\nimport { CollectionsComponent as BaseCollectionsComponent } from '../../vault/collections.component';\r\n\r\n@Component({\r\n selector: 'app-org-vault-collections',\r\n templateUrl: '../../vault/collections.component.html',\r\n})\r\nexport class CollectionsComponent extends BaseCollectionsComponent {\r\n organization: Organization;\r\n\r\n constructor(collectionService: CollectionService, platformUtilsService: PlatformUtilsService,\r\n i18nService: I18nService, cipherService: CipherService,\r\n private apiService: ApiService) {\r\n super(collectionService, platformUtilsService, i18nService, cipherService);\r\n this.allowSelectNone = true;\r\n }\r\n\r\n protected async loadCipher() {\r\n if (!this.organization.isAdmin) {\r\n return await super.loadCipher();\r\n }\r\n const response = await this.apiService.getCipherAdmin(this.cipherId);\r\n return new Cipher(new CipherData(response));\r\n }\r\n\r\n protected loadCipherCollections() {\r\n if (!this.organization.isAdmin) {\r\n return super.loadCipherCollections();\r\n }\r\n return this.collectionIds;\r\n }\r\n\r\n protected loadCollections() {\r\n if (!this.organization.isAdmin) {\r\n return super.loadCollections();\r\n }\r\n return Promise.resolve(this.collections);\r\n }\r\n\r\n protected saveCollections() {\r\n if (this.organization.isAdmin) {\r\n const request = new CipherCollectionsRequest(this.cipherDomain.collectionIds);\r\n return this.apiService.putCipherCollectionsAdmin(this.cipherId, request);\r\n } else {\r\n return super.saveCollections();\r\n }\r\n }\r\n}\r\n","export class CipherCollectionsRequest {\r\n collectionIds: string[];\r\n\r\n constructor(collectionIds: string[]) {\r\n this.collectionIds = collectionIds == null ? [] : collectionIds;\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { Organization } from 'jslib/models/domain/organization';\r\nimport { CipherBulkDeleteRequest } from 'jslib/models/request/cipherBulkDeleteRequest';\r\n\r\n@Component({\r\n selector: 'app-vault-bulk-delete',\r\n templateUrl: 'bulk-delete.component.html',\r\n})\r\nexport class BulkDeleteComponent {\r\n @Input() cipherIds: string[] = [];\r\n @Input() permanent: boolean = false;\r\n @Input() organization: Organization;\r\n @Output() onDeleted = new EventEmitter();\r\n\r\n formPromise: Promise;\r\n\r\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\r\n private toasterService: ToasterService, private i18nService: I18nService,\r\n private apiService: ApiService) { }\r\n\r\n async submit() {\r\n if (!this.organization || !this.organization.isAdmin) {\r\n await this.deleteCiphers();\r\n } else {\r\n await this.deleteCiphersAdmin();\r\n }\r\n\r\n await this.formPromise;\r\n\r\n this.onDeleted.emit();\r\n this.analytics.eventTrack.next({ action: 'Bulk Deleted Items' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t(this.permanent ? 'permanentlyDeletedItems'\r\n : 'deletedItems'));\r\n }\r\n\r\n private async deleteCiphers() {\r\n if (this.permanent) {\r\n this.formPromise = await this.cipherService.deleteManyWithServer(this.cipherIds);\r\n } else {\r\n this.formPromise = await this.cipherService.softDeleteManyWithServer(this.cipherIds);\r\n }\r\n }\r\n\r\n private async deleteCiphersAdmin() {\r\n const deleteRequest = new CipherBulkDeleteRequest(this.cipherIds, this.organization.id);\r\n if (this.permanent) {\r\n this.formPromise = await this.apiService.deleteManyCiphersAdmin(deleteRequest);\r\n } else {\r\n this.formPromise = await this.apiService.putDeleteManyCiphersAdmin(deleteRequest);\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n {{(permanent ? 'permanentlyDeleteSelected' : 'deleteSelected') | i18n}}\r\n

\r\n \r\n
\r\n
\r\n {{(permanent ? 'permanentlyDeleteSelectedItemsDesc' : 'deleteSelectedItemsDesc') | i18n: cipherIds.length}}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","export class CipherBulkDeleteRequest {\r\n ids: string[];\r\n organizationId: string;\r\n\r\n constructor(ids: string[], organizationId?: string) {\r\n this.ids = ids == null ? [] : ids;\r\n this.organizationId = organizationId;\r\n }\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { FolderView } from 'jslib/models/view/folderView';\r\n\r\n@Component({\r\n selector: 'app-vault-bulk-move',\r\n templateUrl: 'bulk-move.component.html',\r\n})\r\nexport class BulkMoveComponent implements OnInit {\r\n @Input() cipherIds: string[] = [];\r\n @Output() onMoved = new EventEmitter();\r\n\r\n folderId: string = null;\r\n folders: FolderView[] = [];\r\n formPromise: Promise;\r\n\r\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\r\n private toasterService: ToasterService, private i18nService: I18nService,\r\n private folderService: FolderService) { }\r\n\r\n async ngOnInit() {\r\n this.folders = await this.folderService.getAllDecrypted();\r\n this.folderId = this.folders[0].id;\r\n }\r\n\r\n async submit() {\r\n this.formPromise = this.cipherService.moveManyWithServer(this.cipherIds, this.folderId);\r\n await this.formPromise;\r\n this.onMoved.emit();\r\n this.analytics.eventTrack.next({ action: 'Bulk Moved Items' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('movedItems'));\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n {{'moveSelected' | i18n}}\r\n

\r\n \r\n
\r\n
\r\n

{{'moveSelectedItemsDesc' | i18n: cipherIds.length}}

\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\n@Component({\r\n selector: 'app-vault-bulk-restore',\r\n templateUrl: 'bulk-restore.component.html',\r\n})\r\nexport class BulkRestoreComponent {\r\n @Input() cipherIds: string[] = [];\r\n @Output() onRestored = new EventEmitter();\r\n\r\n formPromise: Promise;\r\n\r\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\r\n private toasterService: ToasterService, private i18nService: I18nService) { }\r\n\r\n async submit() {\r\n this.formPromise = this.cipherService.restoreManyWithServer(this.cipherIds);\r\n await this.formPromise;\r\n this.onRestored.emit();\r\n this.analytics.eventTrack.next({ action: 'Bulk Restored Items' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('restoredItems'));\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n {{'restoreSelected' | i18n}}\r\n

\r\n \r\n
\r\n
\r\n {{'restoreSelectedItemsDesc' | i18n: cipherIds.length}}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { CipherView } from 'jslib/models/view';\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\nimport { Organization } from 'jslib/models/domain/organization';\r\n\r\n@Component({\r\n selector: 'app-vault-bulk-share',\r\n templateUrl: 'bulk-share.component.html',\r\n})\r\nexport class BulkShareComponent implements OnInit {\r\n @Input() ciphers: CipherView[] = [];\r\n @Input() organizationId: string;\r\n @Output() onShared = new EventEmitter();\r\n\r\n nonShareableCount = 0;\r\n collections: CollectionView[] = [];\r\n organizations: Organization[] = [];\r\n shareableCiphers: CipherView[] = [];\r\n formPromise: Promise;\r\n\r\n private writeableCollections: CollectionView[] = [];\r\n\r\n constructor(private analytics: Angulartics2, private cipherService: CipherService,\r\n private toasterService: ToasterService, private i18nService: I18nService,\r\n private collectionService: CollectionService, private userService: UserService) { }\r\n\r\n async ngOnInit() {\r\n this.shareableCiphers = this.ciphers.filter((c) => !c.hasOldAttachments && c.organizationId == null);\r\n this.nonShareableCount = this.ciphers.length - this.shareableCiphers.length;\r\n const allCollections = await this.collectionService.getAllDecrypted();\r\n this.writeableCollections = allCollections.filter((c) => !c.readOnly);\r\n this.organizations = await this.userService.getAllOrganizations();\r\n if (this.organizationId == null && this.organizations.length > 0) {\r\n this.organizationId = this.organizations[0].id;\r\n }\r\n this.filterCollections();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.selectAll(false);\r\n }\r\n\r\n filterCollections() {\r\n this.selectAll(false);\r\n if (this.organizationId == null || this.writeableCollections.length === 0) {\r\n this.collections = [];\r\n } else {\r\n this.collections = this.writeableCollections.filter((c) => c.organizationId === this.organizationId);\r\n }\r\n }\r\n\r\n async submit() {\r\n const checkedCollectionIds = this.collections.filter((c) => (c as any).checked).map((c) => c.id);\r\n try {\r\n this.formPromise = this.cipherService.shareManyWithServer(this.shareableCiphers, this.organizationId,\r\n checkedCollectionIds);\r\n await this.formPromise;\r\n this.onShared.emit();\r\n this.analytics.eventTrack.next({ action: 'Bulk Shared Items' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('sharedItems'));\r\n } catch { }\r\n }\r\n\r\n check(c: CollectionView, select?: boolean) {\r\n (c as any).checked = select == null ? !(c as any).checked : select;\r\n }\r\n\r\n selectAll(select: boolean) {\r\n const collections = select ? this.collections : this.writeableCollections;\r\n collections.forEach((c) => this.check(c, select));\r\n }\r\n\r\n get canSave() {\r\n if (this.shareableCiphers != null && this.shareableCiphers.length > 0 && this.collections != null) {\r\n for (let i = 0; i < this.collections.length; i++) {\r\n if ((this.collections[i] as any).checked) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n {{'shareSelected' | i18n}}\r\n

\r\n \r\n
\r\n
\r\n

{{'shareManyDesc' | i18n}}

\r\n

{{'shareSelectedItemsCountDesc' | i18n: this.ciphers.length : shareableCiphers.length : nonShareableCount}}\r\n

\r\n
\r\n \r\n \r\n
\r\n
\r\n

{{'collections' | i18n}}

\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {{'noCollectionsInList' | i18n}}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{c.name}}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import {\n Component,\n OnInit,\n} from '@angular/core';\n\nimport { ActivatedRoute } from '@angular/router';\n\nimport { ApiService } from 'jslib/abstractions/api.service';\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\nimport { CryptoFunctionService } from 'jslib/abstractions/cryptoFunction.service';\nimport { I18nService } from 'jslib/abstractions/i18n.service';\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\n\nimport { Utils } from 'jslib/misc/utils';\n\nimport { SymmetricCryptoKey } from 'jslib/models/domain/symmetricCryptoKey';\nimport { SendAccess } from 'jslib/models/domain/sendAccess';\n\nimport { SendAccessView } from 'jslib/models/view/sendAccessView';\n\nimport { SendType } from 'jslib/enums/sendType';\nimport { SendAccessRequest } from 'jslib/models/request/sendAccessRequest';\nimport { ErrorResponse } from 'jslib/models/response/errorResponse';\n\nimport { SendAccessResponse } from 'jslib/models/response/sendAccessResponse';\n\n@Component({\n selector: 'app-send-access',\n templateUrl: 'access.component.html',\n})\nexport class AccessComponent implements OnInit {\n send: SendAccessView;\n sendType = SendType;\n downloading = false;\n loading = true;\n passwordRequired = false;\n formPromise: Promise;\n password: string;\n showText = false;\n\n private id: string;\n private key: string;\n private decKey: SymmetricCryptoKey;\n\n constructor(private i18nService: I18nService, private cryptoFunctionService: CryptoFunctionService,\n private apiService: ApiService, private platformUtilsService: PlatformUtilsService,\n private route: ActivatedRoute, private cryptoService: CryptoService) {\n }\n\n get sendText() {\n if (this.send == null || this.send.text == null) {\n return null;\n }\n return this.showText ? this.send.text.text : this.send.text.maskedText;\n }\n\n ngOnInit() {\n this.route.params.subscribe(async (params) => {\n this.id = params.sendId;\n this.key = params.key;\n if (this.key == null || this.id == null) {\n return;\n }\n await this.load();\n });\n }\n\n async download() {\n if (this.send == null || this.decKey == null) {\n return;\n }\n\n if (this.downloading) {\n return;\n }\n\n this.downloading = true;\n const response = await fetch(new Request(this.send.file.url, { cache: 'no-store' }));\n if (response.status !== 200) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n this.downloading = false;\n return;\n }\n\n try {\n const buf = await response.arrayBuffer();\n const decBuf = await this.cryptoService.decryptFromBytes(buf, this.decKey);\n this.platformUtilsService.saveFile(window, decBuf, null, this.send.file.fileName);\n } catch (e) {\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\n }\n\n this.downloading = false;\n }\n\n selectText() {\n (document.getElementById('text') as HTMLInputElement).select();\n }\n\n copyText() {\n this.platformUtilsService.copyToClipboard(this.send.text.text);\n this.platformUtilsService.showToast('success', null,\n this.i18nService.t('valueCopied', this.i18nService.t('sendTypeText')));\n }\n\n toggleText() {\n this.showText = !this.showText;\n }\n\n async load() {\n const keyArray = Utils.fromUrlB64ToArray(this.key);\n const accessRequest = new SendAccessRequest();\n if (this.password != null) {\n const passwordHash = await this.cryptoFunctionService.pbkdf2(this.password, keyArray, 'sha256', 100000);\n accessRequest.password = Utils.fromBufferToB64(passwordHash);\n }\n try {\n let sendResponse: SendAccessResponse = null;\n if (this.loading) {\n sendResponse = await this.apiService.postSendAccess(this.id, accessRequest);\n } else {\n this.formPromise = this.apiService.postSendAccess(this.id, accessRequest);\n sendResponse = await this.formPromise;\n }\n this.passwordRequired = false;\n const sendAccess = new SendAccess(sendResponse);\n this.decKey = await this.cryptoService.makeSendKey(keyArray);\n this.send = await sendAccess.decrypt(this.decKey);\n this.showText = this.send.text != null ? !this.send.text.hidden : true;\n } catch (e) {\n if (e instanceof ErrorResponse) {\n if (e.statusCode === 401) {\n this.passwordRequired = true;\n }\n }\n }\n this.loading = false;\n }\n}\n","
\r\n
\r\n
\r\n

Bitwarden Send

\r\n
\r\n
\r\n \r\n {{'loading' | i18n}}\r\n
\r\n
\r\n

{{'sendProtectedPassword' | i18n}}

\r\n

{{'sendProtectedPasswordDontKnow' | i18n}}

\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{send.name}}

\r\n
\r\n \r\n \r\n {{'sendHiddenByDefault' | i18n}}\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n

{{send.file.fileName}}

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { SendFileApi } from '../api/sendFileApi';\r\n\r\nexport class SendFileData {\r\n id: string;\r\n url: string;\r\n fileName: string;\r\n key: string;\r\n size: string;\r\n sizeName: string;\r\n\r\n constructor(data?: SendFileApi) {\r\n if (data == null) {\r\n return;\r\n }\r\n\r\n this.id = data.id;\r\n this.url = data.url;\r\n this.fileName = data.fileName;\r\n this.key = data.key;\r\n this.size = data.size;\r\n this.sizeName = data.sizeName;\r\n }\r\n}\r\n","import { SendTextApi } from '../api/sendTextApi';\r\n\r\nexport class SendTextData {\r\n text: string;\r\n hidden: boolean;\r\n\r\n constructor(data?: SendTextApi) {\r\n if (data == null) {\r\n return;\r\n }\r\n\r\n this.text = data.text;\r\n this.hidden = data.hidden;\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class ErrorResponse extends BaseResponse {\r\n message: string;\r\n validationErrors: { [key: string]: string[]; };\r\n statusCode: number;\r\n\r\n constructor(response: any, status: number, identityResponse?: boolean) {\r\n super(response);\r\n let errorModel = null;\r\n if (response != null) {\r\n const responseErrorModel = this.getResponseProperty('ErrorModel');\r\n if (responseErrorModel && identityResponse) {\r\n errorModel = responseErrorModel;\r\n } else {\r\n errorModel = response;\r\n }\r\n }\r\n\r\n if (errorModel) {\r\n this.message = this.getResponseProperty('Message', errorModel);\r\n this.validationErrors = this.getResponseProperty('ValidationErrors', errorModel);\r\n } else {\r\n if (status === 429) {\r\n this.message = 'Rate limit exceeded. Try again later.';\r\n }\r\n }\r\n this.statusCode = status;\r\n }\r\n\r\n getSingleMessage(): string {\r\n if (this.validationErrors == null) {\r\n return this.message;\r\n }\r\n for (const key in this.validationErrors) {\r\n if (!this.validationErrors.hasOwnProperty(key)) {\r\n continue;\r\n }\r\n if (this.validationErrors[key].length) {\r\n return this.validationErrors[key][0];\r\n }\r\n }\r\n return this.message;\r\n }\r\n\r\n getAllMessages(): string[] {\r\n const messages: string[] = [];\r\n if (this.validationErrors == null) {\r\n return messages;\r\n }\r\n for (const key in this.validationErrors) {\r\n if (!this.validationErrors.hasOwnProperty(key)) {\r\n continue;\r\n }\r\n this.validationErrors[key].forEach((item: string) => {\r\n let prefix = '';\r\n if (key.indexOf('[') > -1 && key.indexOf(']') > -1) {\r\n const lastSep = key.lastIndexOf('.');\r\n prefix = key.substr(0, lastSep > -1 ? lastSep : key.length) + ': ';\r\n }\r\n messages.push(prefix + item);\r\n });\r\n }\r\n return messages;\r\n }\r\n}\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\nimport { ModalComponent } from '../modal.component';\r\nimport { ApiKeyComponent } from './api-key.component';\r\nimport { DeauthorizeSessionsComponent } from './deauthorize-sessions.component';\r\nimport { DeleteAccountComponent } from './delete-account.component';\r\nimport { PurgeVaultComponent } from './purge-vault.component';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\n@Component({\r\n selector: 'app-account',\r\n templateUrl: 'account.component.html',\r\n})\r\nexport class AccountComponent {\r\n @ViewChild('deauthorizeSessionsTemplate', { read: ViewContainerRef, static: true }) deauthModalRef: ViewContainerRef;\r\n @ViewChild('purgeVaultTemplate', { read: ViewContainerRef, static: true }) purgeModalRef: ViewContainerRef;\r\n @ViewChild('deleteAccountTemplate', { read: ViewContainerRef, static: true }) deleteModalRef: ViewContainerRef;\r\n @ViewChild('viewUserApiKeyTemplate', { read: ViewContainerRef, static: true }) viewUserApiKeyModalRef: ViewContainerRef;\r\n @ViewChild('rotateUserApiKeyTemplate', { read: ViewContainerRef, static: true }) rotateUserApiKeyModalRef: ViewContainerRef;\r\n\r\n private modal: ModalComponent = null;\r\n\r\n constructor(private componentFactoryResolver: ComponentFactoryResolver, private apiService: ApiService,\r\n private userService: UserService) { }\r\n\r\n deauthorizeSessions() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.deauthModalRef.createComponent(factory).instance;\r\n this.modal.show(DeauthorizeSessionsComponent, this.deauthModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n purgeVault() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.purgeModalRef.createComponent(factory).instance;\r\n this.modal.show(PurgeVaultComponent, this.purgeModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n deleteAccount() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.deleteModalRef.createComponent(factory).instance;\r\n this.modal.show(DeleteAccountComponent, this.deleteModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n async viewUserApiKey() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.viewUserApiKeyModalRef.createComponent(factory).instance;\r\n const childComponent = this.modal.show(ApiKeyComponent, this.viewUserApiKeyModalRef);\r\n childComponent.keyType = 'user';\r\n childComponent.entityId = await this.userService.getUserId();\r\n childComponent.postKey = this.apiService.postUserApiKey.bind(this.apiService);\r\n childComponent.scope = 'api';\r\n childComponent.grantType = 'client_credentials';\r\n childComponent.apiKeyTitle = 'apiKey';\r\n childComponent.apiKeyWarning = 'userApiKeyWarning';\r\n childComponent.apiKeyDescription = 'userApiKeyDesc';\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n async rotateUserApiKey() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.rotateUserApiKeyModalRef.createComponent(factory).instance;\r\n const childComponent = this.modal.show(ApiKeyComponent, this.rotateUserApiKeyModalRef);\r\n childComponent.keyType = 'user';\r\n childComponent.isRotation = true;\r\n childComponent.entityId = await this.userService.getUserId();\r\n childComponent.postKey = this.apiService.postUserRotateApiKey.bind(this.apiService);\r\n childComponent.scope = 'api';\r\n childComponent.grantType = 'client_credentials';\r\n childComponent.apiKeyTitle = 'apiKey';\r\n childComponent.apiKeyWarning = 'userApiKeyWarning';\r\n childComponent.apiKeyDescription = 'apiKeyRotateDesc';\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n}\r\n","
\r\n

{{'myAccount' | i18n}}

\r\n
\r\n\r\n
\r\n

{{'changeEmail' | i18n}}

\r\n
\r\n\r\n
\r\n

{{'changeMasterPassword' | i18n}}

\r\n
\r\n\r\n
\r\n

{{'encKeySettings' | i18n}}

\r\n
\r\n\r\n
\r\n

{{'apiKey' | i18n}}

\r\n
\r\n

\r\n {{'userApiKeyDesc' | i18n}}\r\n

\r\n\r\n\r\n
\r\n

{{'dangerZone' | i18n}}

\r\n
\r\n
\r\n
\r\n

{{'dangerZoneDesc' | i18n}}

\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\n\r\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\r\n\r\n@Component({\r\n selector: 'app-deauthorize-sessions',\r\n templateUrl: 'deauthorize-sessions.component.html',\r\n})\r\nexport class DeauthorizeSessionsComponent {\r\n masterPassword: string;\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private cryptoService: CryptoService, private messagingService: MessagingService) { }\r\n\r\n async submit() {\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n\r\n const request = new PasswordVerificationRequest();\r\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\r\n try {\r\n this.formPromise = this.apiService.postSecurityStamp(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Deauthorized Sessions' });\r\n this.toasterService.popAsync('success', this.i18nService.t('sessionsDeauthorized'),\r\n this.i18nService.t('logBackIn'));\r\n this.messagingService.send('logout');\r\n } catch { }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

{{'deauthorizeSessions' | i18n}}

\r\n \r\n
\r\n
\r\n

{{'deauthorizeSessionsDesc' | i18n}}

\r\n {{'deauthorizeSessionsWarning' | i18n}}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\n\r\nimport { PasswordVerificationRequest } from 'jslib/models/request/passwordVerificationRequest';\r\n\r\n@Component({\r\n selector: 'app-delete-account',\r\n templateUrl: 'delete-account.component.html',\r\n})\r\nexport class DeleteAccountComponent {\r\n masterPassword: string;\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private cryptoService: CryptoService, private messagingService: MessagingService) { }\r\n\r\n async submit() {\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n\r\n const request = new PasswordVerificationRequest();\r\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\r\n try {\r\n this.formPromise = this.apiService.deleteAccount(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Deleted Account' });\r\n this.toasterService.popAsync('success', this.i18nService.t('accountDeleted'),\r\n this.i18nService.t('accountDeletedDesc'));\r\n this.messagingService.send('logout');\r\n } catch { }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

{{'deleteAccount' | i18n}}

\r\n \r\n
\r\n
\r\n

{{'deleteAccountDesc' | i18n}}

\r\n {{'deleteAccountWarning' | i18n}}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { UpdateProfileRequest } from 'jslib/models/request/updateProfileRequest';\r\n\r\nimport { ProfileResponse } from 'jslib/models/response/profileResponse';\r\n\r\n@Component({\r\n selector: 'app-profile',\r\n templateUrl: 'profile.component.html',\r\n})\r\nexport class ProfileComponent implements OnInit {\r\n loading = true;\r\n profile: ProfileResponse;\r\n fingerprint: string;\r\n\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private userService: UserService, private cryptoService: CryptoService) { }\r\n\r\n async ngOnInit() {\r\n this.profile = await this.apiService.getProfile();\r\n this.loading = false;\r\n const fingerprint = await this.cryptoService.getFingerprint(await this.userService.getUserId());\r\n if (fingerprint != null) {\r\n this.fingerprint = fingerprint.join('-');\r\n }\r\n }\r\n\r\n async submit() {\r\n try {\r\n const request = new UpdateProfileRequest(this.profile.name, this.profile.masterPasswordHint);\r\n this.formPromise = this.apiService.putProfile(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Updated Profile' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('accountUpdated'));\r\n } catch { }\r\n }\r\n}\r\n","
\r\n \r\n {{'loading' | i18n}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n {{'yourAccountsFingerprint' | i18n}}:\r\n \r\n
\r\n {{fingerprint}}\r\n

\r\n
\r\n
\r\n \r\n
\r\n","import {\r\n Component,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { EmailRequest } from 'jslib/models/request/emailRequest';\r\nimport { EmailTokenRequest } from 'jslib/models/request/emailTokenRequest';\r\n\r\n@Component({\r\n selector: 'app-change-email',\r\n templateUrl: 'change-email.component.html',\r\n})\r\nexport class ChangeEmailComponent {\r\n masterPassword: string;\r\n newEmail: string;\r\n token: string;\r\n tokenSent = false;\r\n\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private cryptoService: CryptoService, private messagingService: MessagingService,\r\n private userService: UserService) { }\r\n\r\n async submit() {\r\n const hasEncKey = await this.cryptoService.hasEncKey();\r\n if (!hasEncKey) {\r\n this.toasterService.popAsync('error', null, this.i18nService.t('updateKey'));\r\n return;\r\n }\r\n\r\n this.newEmail = this.newEmail.trim().toLowerCase();\r\n if (!this.tokenSent) {\r\n const request = new EmailTokenRequest();\r\n request.newEmail = this.newEmail;\r\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\r\n try {\r\n this.formPromise = this.apiService.postEmailToken(request);\r\n await this.formPromise;\r\n this.tokenSent = true;\r\n } catch { }\r\n } else {\r\n const request = new EmailRequest();\r\n request.token = this.token;\r\n request.newEmail = this.newEmail;\r\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\r\n const kdf = await this.userService.getKdf();\r\n const kdfIterations = await this.userService.getKdfIterations();\r\n const newKey = await this.cryptoService.makeKey(this.masterPassword, this.newEmail, kdf, kdfIterations);\r\n request.newMasterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, newKey);\r\n const newEncKey = await this.cryptoService.remakeEncKey(newKey);\r\n request.key = newEncKey[1].encryptedString;\r\n try {\r\n this.formPromise = this.apiService.postEmail(request);\r\n await this.formPromise;\r\n this.reset();\r\n this.analytics.eventTrack.next({ action: 'Changed Email' });\r\n this.toasterService.popAsync('success', this.i18nService.t('emailChanged'),\r\n this.i18nService.t('logBackIn'));\r\n this.messagingService.send('logout');\r\n } catch { }\r\n }\r\n }\r\n\r\n reset() {\r\n this.token = this.newEmail = this.masterPassword = null;\r\n this.tokenSent = false;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n

{{'changeEmailDesc' | i18n : newEmail}}

\r\n {{'loggedOutWarning' | i18n}}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\r\n\r\nexport class EmailTokenRequest extends PasswordVerificationRequest {\r\n newEmail: string;\r\n masterPasswordHash: string;\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { PolicyService } from 'jslib/abstractions/policy.service';\r\nimport { SyncService } from 'jslib/abstractions/sync.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport {\r\n ChangePasswordComponent as BaseChangePasswordComponent,\r\n} from 'jslib/angular/components/change-password.component';\r\n\r\nimport { CipherString } from 'jslib/models/domain/cipherString';\r\nimport { SymmetricCryptoKey } from 'jslib/models/domain/symmetricCryptoKey';\r\n\r\nimport { CipherWithIdRequest } from 'jslib/models/request/cipherWithIdRequest';\r\nimport { FolderWithIdRequest } from 'jslib/models/request/folderWithIdRequest';\r\nimport { PasswordRequest } from 'jslib/models/request/passwordRequest';\r\nimport { UpdateKeyRequest } from 'jslib/models/request/updateKeyRequest';\r\n\r\n@Component({\r\n selector: 'app-change-password',\r\n templateUrl: 'change-password.component.html',\r\n})\r\nexport class ChangePasswordComponent extends BaseChangePasswordComponent {\r\n rotateEncKey = false;\r\n currentMasterPassword: string;\r\n\r\n constructor(i18nService: I18nService,\r\n cryptoService: CryptoService, messagingService: MessagingService,\r\n userService: UserService, passwordGenerationService: PasswordGenerationService,\r\n platformUtilsService: PlatformUtilsService, policyService: PolicyService,\r\n private folderService: FolderService, private cipherService: CipherService,\r\n private syncService: SyncService, private apiService: ApiService, ) {\r\n super(i18nService, cryptoService, messagingService, userService, passwordGenerationService,\r\n platformUtilsService, policyService);\r\n }\r\n\r\n async rotateEncKeyClicked() {\r\n if (this.rotateEncKey) {\r\n const ciphers = await this.cipherService.getAllDecrypted();\r\n let hasOldAttachments = false;\r\n if (ciphers != null) {\r\n for (let i = 0; i < ciphers.length; i++) {\r\n if (ciphers[i].organizationId == null && ciphers[i].hasOldAttachments) {\r\n hasOldAttachments = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (hasOldAttachments) {\r\n const learnMore = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('oldAttachmentsNeedFixDesc'), null,\r\n this.i18nService.t('learnMore'), this.i18nService.t('close'), 'warning');\r\n if (learnMore) {\r\n this.platformUtilsService.launchUri(\r\n 'https://help.bitwarden.com/article/attachments/#fixing-old-attachments');\r\n }\r\n this.rotateEncKey = false;\r\n return;\r\n }\r\n\r\n const result = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('updateEncryptionKeyWarning') + ' ' +\r\n this.i18nService.t('rotateEncKeyConfirmation'), this.i18nService.t('rotateEncKeyTitle'),\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!result) {\r\n this.rotateEncKey = false;\r\n }\r\n }\r\n }\r\n\r\n async submit() {\r\n const hasEncKey = await this.cryptoService.hasEncKey();\r\n if (!hasEncKey) {\r\n this.platformUtilsService.showToast('error', null, this.i18nService.t('updateKey'));\r\n return;\r\n }\r\n\r\n await super.submit();\r\n }\r\n\r\n async setupSubmitActions() {\r\n if (this.currentMasterPassword == null || this.currentMasterPassword === '') {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return false;\r\n }\r\n\r\n if (this.rotateEncKey) {\r\n await this.syncService.fullSync(true);\r\n }\r\n\r\n return super.setupSubmitActions();\r\n }\r\n\r\n async performSubmitActions(newMasterPasswordHash: string, newKey: SymmetricCryptoKey,\r\n newEncKey: [SymmetricCryptoKey, CipherString]) {\r\n const request = new PasswordRequest();\r\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.currentMasterPassword, null);\r\n request.newMasterPasswordHash = newMasterPasswordHash;\r\n request.key = newEncKey[1].encryptedString;\r\n\r\n try {\r\n if (this.rotateEncKey) {\r\n this.formPromise = this.apiService.postPassword(request).then(() => {\r\n return this.updateKey(newKey, request.newMasterPasswordHash);\r\n });\r\n } else {\r\n this.formPromise = this.apiService.postPassword(request);\r\n }\r\n\r\n await this.formPromise;\r\n\r\n this.platformUtilsService.showToast('success', this.i18nService.t('masterPasswordChanged'),\r\n this.i18nService.t('logBackIn'));\r\n this.messagingService.send('logout');\r\n } catch {\r\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\r\n }\r\n }\r\n\r\n private async updateKey(key: SymmetricCryptoKey, masterPasswordHash: string) {\r\n const encKey = await this.cryptoService.makeEncKey(key);\r\n const privateKey = await this.cryptoService.getPrivateKey();\r\n let encPrivateKey: CipherString = null;\r\n if (privateKey != null) {\r\n encPrivateKey = await this.cryptoService.encrypt(privateKey, encKey[0]);\r\n }\r\n const request = new UpdateKeyRequest();\r\n request.privateKey = encPrivateKey != null ? encPrivateKey.encryptedString : null;\r\n request.key = encKey[1].encryptedString;\r\n request.masterPasswordHash = masterPasswordHash;\r\n\r\n const folders = await this.folderService.getAllDecrypted();\r\n for (let i = 0; i < folders.length; i++) {\r\n if (folders[i].id == null) {\r\n continue;\r\n }\r\n const folder = await this.folderService.encrypt(folders[i], encKey[0]);\r\n request.folders.push(new FolderWithIdRequest(folder));\r\n }\r\n\r\n const ciphers = await this.cipherService.getAllDecrypted();\r\n for (let i = 0; i < ciphers.length; i++) {\r\n if (ciphers[i].organizationId != null) {\r\n continue;\r\n }\r\n\r\n const cipher = await this.cipherService.encrypt(ciphers[i], encKey[0]);\r\n request.ciphers.push(new CipherWithIdRequest(cipher));\r\n }\r\n\r\n await this.apiService.postAccountKey(request);\r\n }\r\n}\r\n","{{'loggedOutWarning' | i18n}}\r\n\r\n {{'masterPasswordPolicyInEffect' | i18n}}\r\n
    \r\n
  • 0\">\r\n {{'policyInEffectMinComplexity' | i18n : getPasswordScoreAlertDisplay()}}\r\n
  • \r\n
  • 0\">\r\n {{'policyInEffectMinLength' | i18n : enforcedPolicyOptions?.minLength.toString()}}\r\n
  • \r\n
  • {{'policyInEffectUppercase' | i18n}}
  • \r\n
  • {{'policyInEffectLowercase' | i18n}}
  • \r\n
  • {{'policyInEffectNumbers' | i18n}}
  • \r\n
  • {{'policyInEffectSpecial' | i18n : '!@#$%^&*'}}
  • \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n","import { FolderRequest } from './folderRequest';\r\n\r\nimport { Folder } from '../domain/folder';\r\n\r\nexport class FolderWithIdRequest extends FolderRequest {\r\n id: string;\r\n\r\n constructor(folder: Folder) {\r\n super(folder);\r\n this.id = folder.id;\r\n }\r\n}\r\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\r\n\r\nexport class PasswordRequest extends PasswordVerificationRequest {\r\n newMasterPasswordHash: string;\r\n key: string;\r\n}\r\n","import { CipherWithIdRequest } from './cipherWithIdRequest';\r\nimport { FolderWithIdRequest } from './folderWithIdRequest';\r\n\r\nexport class UpdateKeyRequest {\r\n ciphers: CipherWithIdRequest[] = [];\r\n folders: FolderWithIdRequest[] = [];\r\n masterPasswordHash: string;\r\n privateKey: string;\r\n key: string;\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { KdfRequest } from 'jslib/models/request/kdfRequest';\r\n\r\nimport { KdfType } from 'jslib/enums/kdfType';\r\n\r\n@Component({\r\n selector: 'app-change-kdf',\r\n templateUrl: 'change-kdf.component.html',\r\n})\r\nexport class ChangeKdfComponent implements OnInit {\r\n masterPassword: string;\r\n kdfIterations: number;\r\n kdf = KdfType.PBKDF2_SHA256;\r\n kdfOptions: any[] = [];\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private cryptoService: CryptoService, private messagingService: MessagingService,\r\n private userService: UserService) {\r\n this.kdfOptions = [\r\n { name: 'PBKDF2 SHA-256', value: KdfType.PBKDF2_SHA256 },\r\n ];\r\n }\r\n\r\n async ngOnInit() {\r\n this.kdf = await this.userService.getKdf();\r\n this.kdfIterations = await this.userService.getKdfIterations();\r\n }\r\n\r\n async submit() {\r\n const hasEncKey = await this.cryptoService.hasEncKey();\r\n if (!hasEncKey) {\r\n this.toasterService.popAsync('error', null, this.i18nService.t('updateKey'));\r\n return;\r\n }\r\n\r\n const request = new KdfRequest();\r\n request.kdf = this.kdf;\r\n request.kdfIterations = this.kdfIterations;\r\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\r\n const email = await this.userService.getEmail();\r\n const newKey = await this.cryptoService.makeKey(this.masterPassword, email, this.kdf, this.kdfIterations);\r\n request.newMasterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, newKey);\r\n const newEncKey = await this.cryptoService.remakeEncKey(newKey);\r\n request.key = newEncKey[1].encryptedString;\r\n try {\r\n this.formPromise = this.apiService.postAccountKdf(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Changed KDF' });\r\n this.toasterService.popAsync('success', this.i18nService.t('encKeySettingsChanged'),\r\n this.i18nService.t('logBackIn'));\r\n this.messagingService.send('logout');\r\n } catch { }\r\n }\r\n}\r\n","{{'loggedOutWarning' | i18n}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{'kdfIterationsDesc' | i18n : (100000 | number)}}

\r\n {{'warning' | i18n}}: {{'kdfIterationsWarning' | i18n : (50000 | number)}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { OrganizationPlansComponent } from './organization-plans.component';\r\n\r\n@Component({\r\n selector: 'app-create-organization',\r\n templateUrl: 'create-organization.component.html',\r\n})\r\nexport class CreateOrganizationComponent implements OnInit {\r\n @ViewChild(OrganizationPlansComponent, { static: true }) orgPlansComponent: OrganizationPlansComponent;\r\n\r\n constructor(private route: ActivatedRoute) { }\r\n\r\n ngOnInit() {\r\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\r\n if (qParams.plan === 'families' || qParams.plan === 'teams' || qParams.plan === 'enterprise') {\r\n this.orgPlansComponent.plan = qParams.plan;\r\n }\r\n if (queryParamsSub != null) {\r\n queryParamsSub.unsubscribe();\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n

{{'newOrganization' | i18n}}

\r\n
\r\n

{{'newOrganizationDesc' | i18n}}

\r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\nimport { UpdateDomainsRequest } from 'jslib/models/request/updateDomainsRequest';\r\n\r\n@Component({\r\n selector: 'app-domain-rules',\r\n templateUrl: 'domain-rules.component.html',\r\n})\r\nexport class DomainRulesComponent implements OnInit {\r\n loading = true;\r\n custom: string[] = [];\r\n global: any[] = [];\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService) { }\r\n\r\n async ngOnInit() {\r\n const response = await this.apiService.getSettingsDomains();\r\n this.loading = false;\r\n if (response.equivalentDomains != null) {\r\n this.custom = response.equivalentDomains.map((d) => d.join(', '));\r\n }\r\n if (response.globalEquivalentDomains != null) {\r\n this.global = response.globalEquivalentDomains.map((d) => {\r\n return {\r\n domains: d.domains.join(', '),\r\n excluded: d.excluded,\r\n key: d.type,\r\n };\r\n });\r\n }\r\n }\r\n\r\n toggleExcluded(globalDomain: any) {\r\n globalDomain.excluded = !globalDomain.excluded;\r\n }\r\n\r\n customize(globalDomain: any) {\r\n globalDomain.excluded = true;\r\n this.custom.push(globalDomain.domains);\r\n }\r\n\r\n remove(index: number) {\r\n this.custom.splice(index, 1);\r\n }\r\n\r\n add() {\r\n this.custom.push('');\r\n }\r\n\r\n async submit() {\r\n const request = new UpdateDomainsRequest();\r\n request.excludedGlobalEquivalentDomains = this.global.filter((d) => d.excluded)\r\n .map((d) => d.key);\r\n if (request.excludedGlobalEquivalentDomains.length === 0) {\r\n request.excludedGlobalEquivalentDomains = null;\r\n }\r\n request.equivalentDomains = this.custom.filter((d) => d != null && d.trim() !== '')\r\n .map((d) => d.split(',').map((d2) => d2.trim()));\r\n if (request.equivalentDomains.length === 0) {\r\n request.equivalentDomains = null;\r\n }\r\n\r\n try {\r\n this.formPromise = this.apiService.putSettingsDomains(request);\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Saved Equivalent Domains' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('domainsUpdated'));\r\n } catch { }\r\n }\r\n\r\n indexTrackBy(index: number, obj: any): any {\r\n return index;\r\n }\r\n}\r\n","
\r\n

{{'domainRules' | i18n}}

\r\n
\r\n

{{'domainRulesDesc' | i18n}}

\r\n
\r\n

{{'customEqDomains' | i18n}}

\r\n

\r\n \r\n {{'loading' | i18n}}\r\n

\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n {{'newCustomDomainDesc' | i18n}}\r\n
\r\n \r\n

{{'globalEqDomains' | i18n}}

\r\n

\r\n \r\n {{'loading' | i18n}}\r\n

\r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{d.domains}}\r\n \r\n
\r\n \r\n
\r\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { StateService } from 'jslib/abstractions/state.service';\r\nimport { StorageService } from 'jslib/abstractions/storage.service';\r\nimport { VaultTimeoutService } from 'jslib/abstractions/vaultTimeout.service';\r\n\r\nimport { ConstantsService } from 'jslib/services/constants.service';\r\n\r\nimport { Utils } from 'jslib/misc/utils';\r\n\r\n@Component({\r\n selector: 'app-options',\r\n templateUrl: 'options.component.html',\r\n})\r\nexport class OptionsComponent implements OnInit {\r\n vaultTimeout: number = null;\r\n vaultTimeoutAction: string = 'lock';\r\n disableIcons: boolean;\r\n enableGravatars: boolean;\r\n enableFullWidth: boolean;\r\n locale: string;\r\n vaultTimeouts: any[];\r\n localeOptions: any[];\r\n\r\n private startingLocale: string;\r\n\r\n constructor(private storageService: StorageService, private stateService: StateService,\r\n private analytics: Angulartics2, private i18nService: I18nService,\r\n private toasterService: ToasterService, private vaultTimeoutService: VaultTimeoutService,\r\n private platformUtilsService: PlatformUtilsService, private messagingService: MessagingService) {\r\n this.vaultTimeouts = [\r\n { name: i18nService.t('oneMinute'), value: 1 },\r\n { name: i18nService.t('fiveMinutes'), value: 5 },\r\n { name: i18nService.t('fifteenMinutes'), value: 15 },\r\n { name: i18nService.t('thirtyMinutes'), value: 30 },\r\n { name: i18nService.t('oneHour'), value: 60 },\r\n { name: i18nService.t('fourHours'), value: 240 },\r\n { name: i18nService.t('onRefresh'), value: -1 },\r\n ];\r\n if (this.platformUtilsService.isDev()) {\r\n this.vaultTimeouts.push({ name: i18nService.t('never'), value: null });\r\n }\r\n\r\n const localeOptions: any[] = [];\r\n i18nService.supportedTranslationLocales.forEach((locale) => {\r\n let name = locale;\r\n if (i18nService.localeNames.has(locale)) {\r\n name += (' - ' + i18nService.localeNames.get(locale));\r\n }\r\n localeOptions.push({ name: name, value: locale });\r\n });\r\n localeOptions.sort(Utils.getSortFunction(i18nService, 'name'));\r\n localeOptions.splice(0, 0, { name: i18nService.t('default'), value: null });\r\n this.localeOptions = localeOptions;\r\n }\r\n\r\n async ngOnInit() {\r\n this.vaultTimeout = await this.storageService.get(ConstantsService.vaultTimeoutKey);\r\n this.vaultTimeoutAction = await this.storageService.get(ConstantsService.vaultTimeoutActionKey);\r\n this.disableIcons = await this.storageService.get(ConstantsService.disableFaviconKey);\r\n this.enableGravatars = await this.storageService.get('enableGravatars');\r\n this.enableFullWidth = await this.storageService.get('enableFullWidth');\r\n this.locale = this.startingLocale = await this.storageService.get(ConstantsService.localeKey);\r\n }\r\n\r\n async submit() {\r\n await this.vaultTimeoutService.setVaultTimeoutOptions(this.vaultTimeout != null ? this.vaultTimeout : null,\r\n this.vaultTimeoutAction);\r\n await this.storageService.save(ConstantsService.disableFaviconKey, this.disableIcons);\r\n await this.stateService.save(ConstantsService.disableFaviconKey, this.disableIcons);\r\n await this.storageService.save('enableGravatars', this.enableGravatars);\r\n await this.stateService.save('enableGravatars', this.enableGravatars);\r\n await this.storageService.save('enableFullWidth', this.enableFullWidth);\r\n this.messagingService.send('setFullWidth');\r\n await this.storageService.save(ConstantsService.localeKey, this.locale);\r\n this.analytics.eventTrack.next({ action: 'Saved Options' });\r\n if (this.locale !== this.startingLocale) {\r\n window.location.reload();\r\n } else {\r\n this.toasterService.popAsync('success', null, this.i18nService.t('optionsUpdated'));\r\n }\r\n }\r\n\r\n async vaultTimeoutActionChanged(newValue: string) {\r\n if (newValue === 'logOut') {\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('vaultTimeoutLogOutConfirmation'),\r\n this.i18nService.t('vaultTimeoutLogOutConfirmationTitle'),\r\n this.i18nService.t('yes'), this.i18nService.t('cancel'), 'warning');\r\n if (!confirmed) {\r\n this.vaultTimeoutAction = 'lock';\r\n return;\r\n }\r\n }\r\n this.vaultTimeoutAction = newValue;\r\n }\r\n}\r\n","
\r\n

{{'options' | i18n}}

\r\n
\r\n

{{'optionsDesc' | i18n}}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{'vaultTimeoutDesc' | i18n}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n {{'languageDesc' | i18n}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{'disableIconsDesc' | i18n}}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{'enableGravatarsDesc' | i18n}}\r\n
\r\n\t
\r\n
\r\n \r\n \r\n
\r\n {{'enableFullWidthDesc' | i18n}}\r\n
\r\n \r\n
\r\n","import {\r\n AfterContentInit,\r\n Component,\r\n Input,\r\n} from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { AuthService } from 'jslib/abstractions/auth.service';\r\nimport { CryptoFunctionService } from 'jslib/abstractions/cryptoFunction.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { StateService } from 'jslib/abstractions/state.service';\r\nimport { StorageService } from 'jslib/abstractions/storage.service';\r\n\r\nimport { SsoComponent } from 'jslib/angular/components/sso.component';\r\n\r\nimport { Organization } from 'jslib/models/domain/organization';\r\n\r\n@Component({\r\n selector: 'app-link-sso',\r\n templateUrl: 'link-sso.component.html',\r\n})\r\nexport class LinkSsoComponent extends SsoComponent implements AfterContentInit {\r\n @Input() organization: Organization;\r\n returnUri: string = '/settings/organizations'\r\n\r\n constructor(platformUtilsService: PlatformUtilsService, i18nService: I18nService,\r\n apiService: ApiService, authService: AuthService,\r\n router: Router, route: ActivatedRoute,\r\n cryptoFunctionService: CryptoFunctionService, passwordGenerationService: PasswordGenerationService,\r\n storageService: StorageService, stateService: StateService) {\r\n super(authService, router,\r\n i18nService, route,\r\n storageService, stateService,\r\n platformUtilsService, apiService,\r\n cryptoFunctionService, passwordGenerationService);\r\n\r\n this.returnUri = '/settings/organizations';\r\n this.redirectUri = window.location.origin + '/sso-connector.html';\r\n this.clientId = 'web';\r\n }\r\n\r\n async ngAfterContentInit() {\r\n this.identifier = this.organization.identifier;\r\n }\r\n}\r\n","\r\n \r\n {{'linkSso' | i18n}}\r\n\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { SyncService } from 'jslib/abstractions/sync.service';\r\nimport { TokenService } from 'jslib/abstractions/token.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { PaymentComponent } from './payment.component';\r\nimport { TaxInfoComponent } from './tax-info.component';\r\n\r\n@Component({\r\n selector: 'app-premium',\r\n templateUrl: 'premium.component.html',\r\n})\r\nexport class PremiumComponent implements OnInit {\r\n @ViewChild(PaymentComponent) paymentComponent: PaymentComponent;\r\n @ViewChild(TaxInfoComponent) taxInfoComponent: TaxInfoComponent;\r\n\r\n canAccessPremium = false;\r\n selfHosted = false;\r\n premiumPrice = 10;\r\n storageGbPrice = 4;\r\n additionalStorage = 0;\r\n\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n platformUtilsService: PlatformUtilsService, private tokenService: TokenService,\r\n private router: Router, private messagingService: MessagingService,\r\n private syncService: SyncService, private userService: UserService) {\r\n this.selfHosted = platformUtilsService.isSelfHost();\r\n }\r\n\r\n async ngOnInit() {\r\n this.canAccessPremium = await this.userService.canAccessPremium();\r\n const premium = await this.tokenService.getPremium();\r\n if (premium) {\r\n this.router.navigate(['/settings/subscription']);\r\n return;\r\n }\r\n }\r\n\r\n async submit() {\r\n let files: FileList = null;\r\n if (this.selfHosted) {\r\n const fileEl = document.getElementById('file') as HTMLInputElement;\r\n files = fileEl.files;\r\n if (files == null || files.length === 0) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('selectFile'));\r\n return;\r\n }\r\n }\r\n\r\n try {\r\n if (this.selfHosted) {\r\n if (!this.tokenService.getEmailVerified()) {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('verifyEmailFirst'));\r\n return;\r\n }\r\n\r\n const fd = new FormData();\r\n fd.append('license', files[0]);\r\n this.formPromise = this.apiService.postAccountLicense(fd).then(() => {\r\n return this.finalizePremium();\r\n });\r\n } else {\r\n this.formPromise = this.paymentComponent.createPaymentToken().then((result) => {\r\n const fd = new FormData();\r\n fd.append('paymentMethodType', result[1].toString());\r\n if (result[0] != null) {\r\n fd.append('paymentToken', result[0]);\r\n }\r\n fd.append('additionalStorageGb', (this.additionalStorage || 0).toString());\r\n fd.append('country', this.taxInfoComponent.taxInfo.country);\r\n fd.append('postalCode', this.taxInfoComponent.taxInfo.postalCode);\r\n return this.apiService.postPremium(fd);\r\n }).then((paymentResponse) => {\r\n if (!paymentResponse.success && paymentResponse.paymentIntentClientSecret != null) {\r\n return this.paymentComponent.handleStripeCardPayment(paymentResponse.paymentIntentClientSecret,\r\n () => this.finalizePremium());\r\n } else {\r\n return this.finalizePremium();\r\n }\r\n });\r\n }\r\n await this.formPromise;\r\n } catch { }\r\n }\r\n\r\n async finalizePremium() {\r\n await this.apiService.refreshIdentityToken();\r\n await this.syncService.fullSync(true);\r\n this.analytics.eventTrack.next({ action: 'Signed Up Premium' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('premiumUpdated'));\r\n this.messagingService.send('purchasedPremium');\r\n this.router.navigate(['/settings/subscription']);\r\n }\r\n\r\n get additionalStorageTotal(): number {\r\n return this.storageGbPrice * Math.abs(this.additionalStorage || 0);\r\n }\r\n\r\n get total(): number {\r\n return this.additionalStorageTotal + this.premiumPrice;\r\n }\r\n}\r\n","
\r\n

{{'goPremium' | i18n}}

\r\n
\r\n\r\n {{'alreadyPremiumFromOrg' | i18n}}\r\n\r\n\r\n

{{'premiumUpgradeUnlockFeatures' | i18n}}

\r\n
    \r\n
  • \r\n \r\n {{'premiumSignUpStorage' | i18n}}\r\n
  • \r\n
  • \r\n \r\n {{'premiumSignUpTwoStep' | i18n}}\r\n
  • \r\n
  • \r\n \r\n {{'premiumSignUpReports' | i18n}}\r\n
  • \r\n
  • \r\n \r\n {{'premiumSignUpTotp' | i18n}}\r\n
  • \r\n
  • \r\n \r\n {{'premiumSignUpSupport' | i18n}}\r\n
  • \r\n
  • \r\n \r\n {{'premiumSignUpFuture' | i18n}}\r\n
  • \r\n
\r\n

{{'premiumPrice' | i18n : (premiumPrice | currency:'$')}}

\r\n \r\n {{'purchasePremium' | i18n}}\r\n \r\n
\r\n\r\n

{{'uploadLicenseFilePremium' | i18n}}

\r\n
\r\n
\r\n \r\n \r\n {{'licenseFileDesc' | i18n : 'bitwarden_premium_license.json'}}\r\n
\r\n \r\n
\r\n
\r\n
\r\n

{{'addons' | i18n}}

\r\n
\r\n
\r\n \r\n \r\n {{'additionalStorageIntervalDesc' | i18n : '1 GB' : (storageGbPrice | currency:'$') : ('year' | i18n)}}\r\n
\r\n
\r\n

{{'summary' | i18n}}

\r\n {{'premiumMembership' | i18n}}: {{premiumPrice | currency:'$'}}\r\n
{{'additionalStorageGb' | i18n}}: {{additionalStorage || 0}} GB × {{storageGbPrice | currency:'$'}} = {{additionalStorageTotal\r\n | currency:'$'}}\r\n
\r\n
\r\n {{'total' | i18n}}: {{total | currency:'USD $'}} /{{'year' | i18n}}\r\n
\r\n {{'paymentChargedAnnually' | i18n}}\r\n

{{'paymentInformation' | i18n}}

\r\n \r\n \r\n \r\n
\r\n","import {\r\n Component,\r\n NgZone,\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { TokenService } from 'jslib/abstractions/token.service';\r\n\r\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\r\n\r\nconst BroadcasterSubscriptionId = 'SettingsComponent';\r\n\r\n@Component({\r\n selector: 'app-settings',\r\n templateUrl: 'settings.component.html',\r\n})\r\nexport class SettingsComponent implements OnInit, OnDestroy {\r\n premium: boolean;\r\n selfHosted: boolean;\r\n\r\n constructor(private tokenService: TokenService, private broadcasterService: BroadcasterService,\r\n private ngZone: NgZone, private platformUtilsService: PlatformUtilsService) { }\r\n\r\n async ngOnInit() {\r\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, async (message: any) => {\r\n this.ngZone.run(async () => {\r\n switch (message.command) {\r\n case 'purchasedPremium':\r\n await this.load();\r\n break;\r\n default:\r\n }\r\n });\r\n });\r\n\r\n this.selfHosted = await this.platformUtilsService.isSelfHost();\r\n await this.load();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\r\n }\r\n\r\n async load() {\r\n this.premium = await this.tokenService.getPremium();\r\n }\r\n}\r\n","\r\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { SubscriptionResponse } from 'jslib/models/response/subscriptionResponse';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { TokenService } from 'jslib/abstractions/token.service';\r\n\r\n@Component({\r\n selector: 'app-user-subscription',\r\n templateUrl: 'user-subscription.component.html',\r\n})\r\nexport class UserSubscriptionComponent implements OnInit {\r\n loading = false;\r\n firstLoaded = false;\r\n adjustStorageAdd = true;\r\n showAdjustStorage = false;\r\n showUpdateLicense = false;\r\n sub: SubscriptionResponse;\r\n selfHosted = false;\r\n\r\n cancelPromise: Promise;\r\n reinstatePromise: Promise;\r\n\r\n constructor(private tokenService: TokenService, private apiService: ApiService,\r\n private platformUtilsService: PlatformUtilsService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private router: Router) {\r\n this.selfHosted = platformUtilsService.isSelfHost();\r\n }\r\n\r\n async ngOnInit() {\r\n await this.load();\r\n this.firstLoaded = true;\r\n }\r\n\r\n async load() {\r\n if (this.loading) {\r\n return;\r\n }\r\n\r\n if (this.tokenService.getPremium()) {\r\n this.loading = true;\r\n this.sub = await this.apiService.getUserSubscription();\r\n } else {\r\n this.router.navigate(['/settings/premium']);\r\n return;\r\n }\r\n\r\n this.loading = false;\r\n }\r\n\r\n async reinstate() {\r\n if (this.loading) {\r\n return;\r\n }\r\n\r\n if (this.usingInAppPurchase) {\r\n this.platformUtilsService.showDialog(this.i18nService.t('manageSubscriptionFromStore'),\r\n this.i18nService.t('cancelSubscription'), null, null, 'warning');\r\n return;\r\n }\r\n\r\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('reinstateConfirmation'),\r\n this.i18nService.t('reinstateSubscription'), this.i18nService.t('yes'), this.i18nService.t('cancel'));\r\n if (!confirmed) {\r\n return;\r\n }\r\n\r\n try {\r\n this.reinstatePromise = this.apiService.postReinstatePremium();\r\n await this.reinstatePromise;\r\n this.analytics.eventTrack.next({ action: 'Reinstated Premium' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('reinstated'));\r\n this.load();\r\n } catch { }\r\n }\r\n\r\n async cancel() {\r\n if (this.loading) {\r\n return;\r\n }\r\n\r\n if (this.usingInAppPurchase) {\r\n this.platformUtilsService.showDialog(this.i18nService.t('manageSubscriptionFromStore'),\r\n this.i18nService.t('cancelSubscription'), null, null, 'warning');\r\n return;\r\n }\r\n\r\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('cancelConfirmation'),\r\n this.i18nService.t('cancelSubscription'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return;\r\n }\r\n\r\n try {\r\n this.cancelPromise = this.apiService.postCancelPremium();\r\n await this.cancelPromise;\r\n this.analytics.eventTrack.next({ action: 'Canceled Premium' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('canceledSubscription'));\r\n this.load();\r\n } catch { }\r\n }\r\n\r\n downloadLicense() {\r\n if (this.loading) {\r\n return;\r\n }\r\n\r\n const licenseString = JSON.stringify(this.sub.license, null, 2);\r\n this.platformUtilsService.saveFile(window, licenseString, null, 'bitwarden_premium_license.json');\r\n }\r\n\r\n updateLicense() {\r\n if (this.loading) {\r\n return;\r\n }\r\n this.showUpdateLicense = true;\r\n }\r\n\r\n closeUpdateLicense(load: boolean) {\r\n this.showUpdateLicense = false;\r\n if (load) {\r\n this.load();\r\n }\r\n }\r\n\r\n adjustStorage(add: boolean) {\r\n if (this.usingInAppPurchase) {\r\n this.platformUtilsService.showDialog(this.i18nService.t('cannotPerformInAppPurchase'),\r\n this.i18nService.t(add ? 'addStorage' : 'removeStorage'), null, null, 'warning');\r\n return;\r\n }\r\n this.adjustStorageAdd = add;\r\n this.showAdjustStorage = true;\r\n }\r\n\r\n closeStorage(load: boolean) {\r\n this.showAdjustStorage = false;\r\n if (load) {\r\n this.load();\r\n }\r\n }\r\n\r\n get subscriptionMarkedForCancel() {\r\n return this.subscription != null && !this.subscription.cancelled && this.subscription.cancelAtEndDate;\r\n }\r\n\r\n get subscription() {\r\n return this.sub != null ? this.sub.subscription : null;\r\n }\r\n\r\n get nextInvoice() {\r\n return this.sub != null ? this.sub.upcomingInvoice : null;\r\n }\r\n\r\n get storagePercentage() {\r\n return this.sub != null && this.sub.maxStorageGb ?\r\n +(100 * (this.sub.storageGb / this.sub.maxStorageGb)).toFixed(2) : 0;\r\n }\r\n\r\n get storageProgressWidth() {\r\n return this.storagePercentage < 5 ? 5 : 0;\r\n }\r\n\r\n get usingInAppPurchase() {\r\n return this.sub != null ? this.sub.usingInAppPurchase : false;\r\n }\r\n}\r\n","
\r\n

\r\n {{'premiumMembership' | i18n}}\r\n \r\n \r\n {{'loading' | i18n}}\r\n \r\n

\r\n
\r\n\r\n \r\n {{'loading' | i18n}}\r\n\r\n\r\n \r\n {{'subscriptionCanceled' | i18n}}\r\n \r\n

{{'subscriptionPendingCanceled' | i18n}}

\r\n \r\n
\r\n
\r\n
{{'expiration' | i18n}}
\r\n
{{sub.expiration | date:'mediumDate'}}
\r\n
{{'neverExpires' | i18n}}
\r\n
\r\n
\r\n
\r\n
\r\n
{{'status' | i18n}}
\r\n
\r\n {{(subscription && subscription.status) || '-'}}\r\n {{'pendingCancellation' | i18n}}\r\n
\r\n
{{'nextCharge' | i18n}}
\r\n
{{nextInvoice ? ((nextInvoice.date | date: 'mediumDate') + ', ' + (nextInvoice.amount | currency:'$')) :\r\n '-'}}\r\n
\r\n
\r\n
\r\n
\r\n {{'details' | i18n}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{i.name}} {{i.quantity > 1 ? '×' + i.quantity : ''}} @ {{i.amount | currency:'$'}}\r\n \r\n {{(i.quantity * i.amount) | currency:'$'}} /{{i.interval | i18n}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n {{'manageSubscription' | i18n}}\r\n \r\n
\r\n
\r\n
\r\n \r\n

{{'updateLicense' | i18n}}

\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n

{{'storage' | i18n}}

\r\n

{{'subscriptionStorage' | i18n : sub.maxStorageGb || 0 : sub.storageName || '0 MB'}}

\r\n
\r\n
\r\n {{(storagePercentage / 100) | percent}}
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { AuditService } from 'jslib/abstractions/audit.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\nimport { BreachAccountResponse } from 'jslib/models/response/breachAccountResponse';\r\n\r\n@Component({\r\n selector: 'app-breach-report',\r\n templateUrl: 'breach-report.component.html',\r\n})\r\nexport class BreachReportComponent implements OnInit {\r\n error = false;\r\n username: string;\r\n checkedUsername: string;\r\n breachedAccounts: BreachAccountResponse[] = [];\r\n formPromise: Promise;\r\n\r\n constructor(private auditService: AuditService, private userService: UserService) { }\r\n\r\n async ngOnInit() {\r\n this.username = await this.userService.getEmail();\r\n }\r\n\r\n async submit() {\r\n this.error = false;\r\n this.username = this.username.toLowerCase();\r\n try {\r\n this.formPromise = this.auditService.breachedAccounts(this.username);\r\n this.breachedAccounts = await this.formPromise;\r\n } catch {\r\n this.error = true;\r\n }\r\n this.checkedUsername = this.username;\r\n }\r\n}\r\n","
\r\n

{{'dataBreachReport' | i18n}}

\r\n
\r\n

{{'breachDesc' | i18n}}

\r\n
\r\n
\r\n
\r\n \r\n \r\n {{'breachCheckUsernameEmail' | i18n}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n

{{'reportError' | i18n}}...

\r\n \r\n \r\n {{'breachUsernameNotFound' | i18n : checkedUsername}}\r\n \r\n \r\n {{'breachUsernameFound' | i18n : checkedUsername : breachedAccounts.length}}\r\n \r\n
    \r\n
  • \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n

    {{a.title}}

    \r\n

    \r\n

    {{'compromisedData' | i18n}}:

    \r\n
      \r\n
    • {{d}}
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {{'website' | i18n}}
    \r\n
    {{a.domain}}
    \r\n
    {{'affectedUsers' | i18n}}
    \r\n
    {{a.pwnCount | number}}
    \r\n
    {{'breachOccurred' | i18n}}
    \r\n
    {{a.breachDate | date: 'mediumDate'}}
    \r\n
    {{'breachReported' | i18n}}
    \r\n
    {{a.addedDate | date: 'mediumDate'}}
    \r\n
    \r\n
    \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport {\r\n PasswordGeneratorComponent as BasePasswordGeneratorComponent,\r\n} from 'jslib/angular/components/password-generator.component';\r\n\r\nimport { ModalComponent } from '../modal.component';\r\nimport { PasswordGeneratorHistoryComponent } from './password-generator-history.component';\r\n\r\n@Component({\r\n selector: 'app-password-generator',\r\n templateUrl: 'password-generator.component.html',\r\n})\r\nexport class PasswordGeneratorComponent extends BasePasswordGeneratorComponent {\r\n @ViewChild('historyTemplate', { read: ViewContainerRef, static: true }) historyModalRef: ViewContainerRef;\r\n\r\n private modal: ModalComponent = null;\r\n\r\n constructor(passwordGenerationService: PasswordGenerationService, platformUtilsService: PlatformUtilsService,\r\n i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver) {\r\n super(passwordGenerationService, platformUtilsService, i18nService, window);\r\n }\r\n\r\n history() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.historyModalRef.createComponent(factory).instance;\r\n this.modal.show(PasswordGeneratorHistoryComponent, this.historyModalRef);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n lengthChanged() {\r\n document.getElementById('length').focus();\r\n }\r\n\r\n minNumberChanged() {\r\n document.getElementById('min-number').focus();\r\n }\r\n\r\n minSpecialChanged() {\r\n document.getElementById('min-special').focus();\r\n }\r\n}\r\n","
\r\n

{{'passwordGenerator' | i18n}}

\r\n
\r\n\r\n {{'passwordGeneratorPolicyInEffect' | i18n}}\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n","import { Component } from '@angular/core';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport {\r\n PasswordGeneratorHistoryComponent as BasePasswordGeneratorHistoryComponent,\r\n} from 'jslib/angular/components/password-generator-history.component';\r\n\r\n@Component({\r\n selector: 'app-password-generator-history',\r\n templateUrl: 'password-generator-history.component.html',\r\n})\r\nexport class PasswordGeneratorHistoryComponent extends BasePasswordGeneratorHistoryComponent {\r\n constructor(passwordGenerationService: PasswordGenerationService, platformUtilsService: PlatformUtilsService,\r\n i18nService: I18nService) {\r\n super(passwordGenerationService, platformUtilsService, i18nService, window);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

{{'passwordHistory' | i18n}}

\r\n \r\n
\r\n
    \r\n
  • \r\n
    \r\n
    \r\n {{h.date | date:'medium'}}\r\n
    \r\n
    \r\n \r\n
    \r\n
  • \r\n
\r\n
\r\n {{'noPasswordsInList' | i18n}}\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import {\r\n Component,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\n@Component({\r\n selector: 'app-tools',\r\n templateUrl: 'tools.component.html',\r\n})\r\nexport class ToolsComponent implements OnInit {\r\n canAccessPremium = false;\r\n\r\n constructor(private userService: UserService, private messagingService: MessagingService) { }\r\n\r\n async ngOnInit() {\r\n this.canAccessPremium = await this.userService.canAccessPremium();\r\n }\r\n\r\n premiumRequired() {\r\n if (!this.canAccessPremium) {\r\n this.messagingService.send('premiumRequired');\r\n return;\r\n }\r\n }\r\n}\r\n","\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ComponentFactoryResolver,\r\n NgZone,\r\n OnDestroy,\r\n OnInit,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\nimport {\r\n ActivatedRoute,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { CipherType } from 'jslib/enums/cipherType';\r\n\r\nimport { CipherView } from 'jslib/models/view/cipherView';\r\n\r\nimport { ModalComponent } from '../modal.component';\r\n\r\nimport { OrganizationsComponent } from '../settings/organizations.component';\r\nimport { UpdateKeyComponent } from '../settings/update-key.component';\r\nimport { AddEditComponent } from './add-edit.component';\r\nimport { AttachmentsComponent } from './attachments.component';\r\nimport { CiphersComponent } from './ciphers.component';\r\nimport { CollectionsComponent } from './collections.component';\r\nimport { FolderAddEditComponent } from './folder-add-edit.component';\r\nimport { GroupingsComponent } from './groupings.component';\r\nimport { ShareComponent } from './share.component';\r\n\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { SyncService } from 'jslib/abstractions/sync.service';\r\nimport { TokenService } from 'jslib/abstractions/token.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\r\n\r\nconst BroadcasterSubscriptionId = 'VaultComponent';\r\n\r\n@Component({\r\n selector: 'app-vault',\r\n templateUrl: 'vault.component.html',\r\n})\r\nexport class VaultComponent implements OnInit, OnDestroy {\r\n @ViewChild(GroupingsComponent, { static: true }) groupingsComponent: GroupingsComponent;\r\n @ViewChild(CiphersComponent, { static: true }) ciphersComponent: CiphersComponent;\r\n @ViewChild(OrganizationsComponent, { static: true }) organizationsComponent: OrganizationsComponent;\r\n @ViewChild('attachments', { read: ViewContainerRef, static: true }) attachmentsModalRef: ViewContainerRef;\r\n @ViewChild('folderAddEdit', { read: ViewContainerRef, static: true }) folderAddEditModalRef: ViewContainerRef;\r\n @ViewChild('cipherAddEdit', { read: ViewContainerRef, static: true }) cipherAddEditModalRef: ViewContainerRef;\r\n @ViewChild('share', { read: ViewContainerRef, static: true }) shareModalRef: ViewContainerRef;\r\n @ViewChild('collections', { read: ViewContainerRef, static: true }) collectionsModalRef: ViewContainerRef;\r\n @ViewChild('updateKeyTemplate', { read: ViewContainerRef, static: true }) updateKeyModalRef: ViewContainerRef;\r\n\r\n favorites: boolean = false;\r\n type: CipherType = null;\r\n folderId: string = null;\r\n collectionId: string = null;\r\n showVerifyEmail = false;\r\n showBrowserOutdated = false;\r\n showUpdateKey = false;\r\n showPremiumCallout = false;\r\n deleted: boolean = false;\r\n\r\n modal: ModalComponent = null;\r\n\r\n constructor(private syncService: SyncService, private route: ActivatedRoute,\r\n private router: Router, private changeDetectorRef: ChangeDetectorRef,\r\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\r\n private tokenService: TokenService, private cryptoService: CryptoService,\r\n private messagingService: MessagingService, private userService: UserService,\r\n private platformUtilsService: PlatformUtilsService, private broadcasterService: BroadcasterService,\r\n private ngZone: NgZone) { }\r\n\r\n async ngOnInit() {\r\n this.showVerifyEmail = !(await this.tokenService.getEmailVerified());\r\n this.showBrowserOutdated = window.navigator.userAgent.indexOf('MSIE') !== -1;\r\n\r\n const queryParamsSub = this.route.queryParams.subscribe(async (params) => {\r\n await this.syncService.fullSync(false);\r\n\r\n this.showUpdateKey = !(await this.cryptoService.hasEncKey());\r\n const canAccessPremium = await this.userService.canAccessPremium();\r\n this.showPremiumCallout = !this.showVerifyEmail && !canAccessPremium &&\r\n !this.platformUtilsService.isSelfHost();\r\n\r\n await Promise.all([\r\n this.groupingsComponent.load(),\r\n this.organizationsComponent.load(),\r\n ]);\r\n\r\n if (params == null) {\r\n this.groupingsComponent.selectedAll = true;\r\n await this.ciphersComponent.reload();\r\n } else {\r\n if (params.deleted) {\r\n this.groupingsComponent.selectedTrash = true;\r\n await this.filterDeleted();\r\n } else if (params.favorites) {\r\n this.groupingsComponent.selectedFavorites = true;\r\n await this.filterFavorites();\r\n } else if (params.type) {\r\n const t = parseInt(params.type, null);\r\n this.groupingsComponent.selectedType = t;\r\n await this.filterCipherType(t);\r\n } else if (params.folderId) {\r\n this.groupingsComponent.selectedFolder = true;\r\n this.groupingsComponent.selectedFolderId = params.folderId;\r\n await this.filterFolder(params.folderId);\r\n } else if (params.collectionId) {\r\n this.groupingsComponent.selectedCollectionId = params.collectionId;\r\n await this.filterCollection(params.collectionId);\r\n } else {\r\n this.groupingsComponent.selectedAll = true;\r\n await this.ciphersComponent.reload();\r\n }\r\n }\r\n\r\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, (message: any) => {\r\n this.ngZone.run(async () => {\r\n switch (message.command) {\r\n case 'syncCompleted':\r\n if (message.successfully) {\r\n await Promise.all([\r\n this.groupingsComponent.load(),\r\n this.organizationsComponent.load(),\r\n this.ciphersComponent.load(this.ciphersComponent.filter),\r\n ]);\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n break;\r\n }\r\n });\r\n });\r\n\r\n if (queryParamsSub != null) {\r\n queryParamsSub.unsubscribe();\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\r\n }\r\n\r\n async clearGroupingFilters() {\r\n this.ciphersComponent.showAddNew = true;\r\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchVault');\r\n await this.ciphersComponent.reload();\r\n this.clearFilters();\r\n this.go();\r\n }\r\n\r\n async filterFavorites() {\r\n this.ciphersComponent.showAddNew = true;\r\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchFavorites');\r\n await this.ciphersComponent.reload((c) => c.favorite);\r\n this.clearFilters();\r\n this.favorites = true;\r\n this.go();\r\n }\r\n\r\n async filterDeleted() {\r\n this.ciphersComponent.showAddNew = false;\r\n this.ciphersComponent.deleted = true;\r\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchTrash');\r\n await this.ciphersComponent.reload(null, true);\r\n this.clearFilters();\r\n this.deleted = true;\r\n this.go();\r\n }\r\n\r\n async filterCipherType(type: CipherType) {\r\n this.ciphersComponent.showAddNew = true;\r\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchType');\r\n await this.ciphersComponent.reload((c) => c.type === type);\r\n this.clearFilters();\r\n this.type = type;\r\n this.go();\r\n }\r\n\r\n async filterFolder(folderId: string) {\r\n this.ciphersComponent.showAddNew = true;\r\n folderId = folderId === 'none' ? null : folderId;\r\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchFolder');\r\n await this.ciphersComponent.reload((c) => c.folderId === folderId);\r\n this.clearFilters();\r\n this.folderId = folderId == null ? 'none' : folderId;\r\n this.go();\r\n }\r\n\r\n async filterCollection(collectionId: string) {\r\n this.ciphersComponent.showAddNew = true;\r\n this.groupingsComponent.searchPlaceholder = this.i18nService.t('searchCollection');\r\n await this.ciphersComponent.reload((c) => c.collectionIds != null &&\r\n c.collectionIds.indexOf(collectionId) > -1);\r\n this.clearFilters();\r\n this.collectionId = collectionId;\r\n this.go();\r\n }\r\n\r\n filterSearchText(searchText: string) {\r\n this.ciphersComponent.searchText = searchText;\r\n this.ciphersComponent.search(200);\r\n }\r\n\r\n async editCipherAttachments(cipher: CipherView) {\r\n const canAccessPremium = await this.userService.canAccessPremium();\r\n if (cipher.organizationId == null && !canAccessPremium) {\r\n this.messagingService.send('premiumRequired');\r\n return;\r\n } else if (cipher.organizationId != null) {\r\n const org = await this.userService.getOrganization(cipher.organizationId);\r\n if (org != null && (org.maxStorageGb == null || org.maxStorageGb === 0)) {\r\n this.messagingService.send('upgradeOrganization', { organizationId: cipher.organizationId });\r\n return;\r\n }\r\n }\r\n\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.attachmentsModalRef.createComponent(factory).instance;\r\n const childComponent = this.modal.show(AttachmentsComponent, this.attachmentsModalRef);\r\n\r\n childComponent.cipherId = cipher.id;\r\n let madeAttachmentChanges = false;\r\n childComponent.onUploadedAttachment.subscribe(() => madeAttachmentChanges = true);\r\n childComponent.onDeletedAttachment.subscribe(() => madeAttachmentChanges = true);\r\n childComponent.onReuploadedAttachment.subscribe(() => madeAttachmentChanges = true);\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n if (madeAttachmentChanges) {\r\n await this.ciphersComponent.refresh();\r\n }\r\n madeAttachmentChanges = false;\r\n });\r\n }\r\n\r\n shareCipher(cipher: CipherView) {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.shareModalRef.createComponent(factory).instance;\r\n const childComponent = this.modal.show(ShareComponent, this.shareModalRef);\r\n\r\n childComponent.cipherId = cipher.id;\r\n childComponent.onSharedCipher.subscribe(async () => {\r\n this.modal.close();\r\n await this.ciphersComponent.refresh();\r\n });\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n editCipherCollections(cipher: CipherView) {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.collectionsModalRef.createComponent(factory).instance;\r\n const childComponent = this.modal.show(CollectionsComponent, this.collectionsModalRef);\r\n\r\n childComponent.cipherId = cipher.id;\r\n childComponent.onSavedCollections.subscribe(async () => {\r\n this.modal.close();\r\n await this.ciphersComponent.refresh();\r\n });\r\n\r\n this.modal.onClosed.subscribe(async () => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n async addFolder() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.folderAddEditModalRef.createComponent(factory).instance;\r\n const childComponent = this.modal.show(\r\n FolderAddEditComponent, this.folderAddEditModalRef);\r\n\r\n childComponent.folderId = null;\r\n childComponent.onSavedFolder.subscribe(async () => {\r\n this.modal.close();\r\n await this.groupingsComponent.loadFolders();\r\n });\r\n\r\n this.modal.onClosed.subscribe(() => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n async editFolder(folderId: string) {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.folderAddEditModalRef.createComponent(factory).instance;\r\n const childComponent = this.modal.show(\r\n FolderAddEditComponent, this.folderAddEditModalRef);\r\n\r\n childComponent.folderId = folderId;\r\n childComponent.onSavedFolder.subscribe(async () => {\r\n this.modal.close();\r\n await this.groupingsComponent.loadFolders();\r\n });\r\n childComponent.onDeletedFolder.subscribe(async () => {\r\n this.modal.close();\r\n await this.groupingsComponent.loadFolders();\r\n await this.filterFolder('none');\r\n this.groupingsComponent.selectedFolderId = null;\r\n });\r\n\r\n this.modal.onClosed.subscribe(() => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n addCipher() {\r\n const component = this.editCipher(null);\r\n component.type = this.type;\r\n component.folderId = this.folderId === 'none' ? null : this.folderId;\r\n if (this.collectionId != null) {\r\n const collection = this.groupingsComponent.collections.filter((c) => c.id === this.collectionId);\r\n if (collection.length > 0) {\r\n component.organizationId = collection[0].organizationId;\r\n component.collectionIds = [this.collectionId];\r\n }\r\n }\r\n }\r\n\r\n editCipher(cipher: CipherView) {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.cipherAddEditModalRef.createComponent(factory).instance;\r\n const childComponent = this.modal.show(\r\n AddEditComponent, this.cipherAddEditModalRef);\r\n\r\n childComponent.cipherId = cipher == null ? null : cipher.id;\r\n childComponent.onSavedCipher.subscribe(async (c: CipherView) => {\r\n this.modal.close();\r\n await this.ciphersComponent.refresh();\r\n });\r\n childComponent.onDeletedCipher.subscribe(async (c: CipherView) => {\r\n this.modal.close();\r\n await this.ciphersComponent.refresh();\r\n });\r\n childComponent.onRestoredCipher.subscribe(async (c: CipherView) => {\r\n this.modal.close();\r\n await this.ciphersComponent.refresh();\r\n });\r\n\r\n this.modal.onClosed.subscribe(() => {\r\n this.modal = null;\r\n });\r\n\r\n return childComponent;\r\n }\r\n\r\n cloneCipher(cipher: CipherView) {\r\n const component = this.editCipher(cipher);\r\n component.cloneMode = true;\r\n }\r\n\r\n updateKey() {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.updateKeyModalRef.createComponent(factory).instance;\r\n this.modal.show(UpdateKeyComponent, this.updateKeyModalRef);\r\n\r\n this.modal.onClosed.subscribe(() => {\r\n this.modal = null;\r\n });\r\n }\r\n\r\n private clearFilters() {\r\n this.folderId = null;\r\n this.collectionId = null;\r\n this.favorites = false;\r\n this.type = null;\r\n this.deleted = false;\r\n }\r\n\r\n private go(queryParams: any = null) {\r\n if (queryParams == null) {\r\n queryParams = {\r\n favorites: this.favorites ? true : null,\r\n type: this.type,\r\n folderId: this.folderId,\r\n collectionId: this.collectionId,\r\n deleted: this.deleted ? true : null,\r\n };\r\n }\r\n\r\n this.router.navigate([], {\r\n relativeTo: this.route,\r\n queryParams: queryParams,\r\n replaceUrl: true,\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n

\r\n {{'myVault' | i18n}}\r\n \r\n \r\n \r\n {{'loading' | i18n}}\r\n \r\n \r\n

\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n {{'updateKeyTitle' | i18n}}\r\n
\r\n
\r\n

{{'updateEncryptionKeyShortDesc' | i18n}}

\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {{'updateBrowser' | i18n}}\r\n
\r\n
\r\n

{{'updateBrowserDesc' | i18n}}

\r\n \r\n {{'updateBrowser' | i18n}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n {{'goPremium' | i18n}}\r\n
\r\n
\r\n

{{'premiumUpgradeUnlockFeatures' | i18n}}

\r\n \r\n {{'goPremium' | i18n}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n {{'organizations' | i18n}}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Component } from '@angular/core';\r\n\r\nimport {\r\n Toast,\r\n ToasterService,\r\n} from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { SyncService } from 'jslib/abstractions/sync.service';\r\n\r\nimport { CipherString } from 'jslib/models/domain/cipherString';\r\n\r\nimport { CipherWithIdRequest } from 'jslib/models/request/cipherWithIdRequest';\r\nimport { FolderWithIdRequest } from 'jslib/models/request/folderWithIdRequest';\r\nimport { UpdateKeyRequest } from 'jslib/models/request/updateKeyRequest';\r\n\r\n@Component({\r\n selector: 'app-update-key',\r\n templateUrl: 'update-key.component.html',\r\n})\r\nexport class UpdateKeyComponent {\r\n masterPassword: string;\r\n formPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService,\r\n private cryptoService: CryptoService, private messagingService: MessagingService,\r\n private syncService: SyncService, private folderService: FolderService,\r\n private cipherService: CipherService) { }\r\n\r\n async submit() {\r\n const hasEncKey = await this.cryptoService.hasEncKey();\r\n if (hasEncKey) {\r\n return;\r\n }\r\n\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.toasterService.popAsync('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n\r\n try {\r\n this.formPromise = this.makeRequest().then((request) => {\r\n return this.apiService.postAccountKey(request);\r\n });\r\n await this.formPromise;\r\n this.analytics.eventTrack.next({ action: 'Key Updated' });\r\n const toast: Toast = {\r\n type: 'success',\r\n title: this.i18nService.t('keyUpdated'),\r\n body: this.i18nService.t('logBackInOthersToo'),\r\n timeout: 15000,\r\n };\r\n this.toasterService.popAsync(toast);\r\n this.messagingService.send('logout');\r\n } catch { }\r\n }\r\n\r\n private async makeRequest(): Promise {\r\n const key = await this.cryptoService.getKey();\r\n const encKey = await this.cryptoService.makeEncKey(key);\r\n const privateKey = await this.cryptoService.getPrivateKey();\r\n let encPrivateKey: CipherString = null;\r\n if (privateKey != null) {\r\n encPrivateKey = await this.cryptoService.encrypt(privateKey, encKey[0]);\r\n }\r\n const request = new UpdateKeyRequest();\r\n request.privateKey = encPrivateKey != null ? encPrivateKey.encryptedString : null;\r\n request.key = encKey[1].encryptedString;\r\n request.masterPasswordHash = await this.cryptoService.hashPassword(this.masterPassword, null);\r\n\r\n await this.syncService.fullSync(true);\r\n\r\n const folders = await this.folderService.getAllDecrypted();\r\n for (let i = 0; i < folders.length; i++) {\r\n if (folders[i].id == null) {\r\n continue;\r\n }\r\n const folder = await this.folderService.encrypt(folders[i], encKey[0]);\r\n request.folders.push(new FolderWithIdRequest(folder));\r\n }\r\n\r\n const ciphers = await this.cipherService.getAllDecrypted();\r\n for (let i = 0; i < ciphers.length; i++) {\r\n if (ciphers[i].organizationId != null) {\r\n continue;\r\n }\r\n const cipher = await this.cipherService.encrypt(ciphers[i], encKey[0]);\r\n request.ciphers.push(new CipherWithIdRequest(cipher));\r\n }\r\n\r\n return request;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

{{'updateEncryptionKey' | i18n}}

\r\n \r\n
\r\n
\r\n

{{'updateEncryptionKeyShortDesc' | i18n}} {{'updateEncryptionKeyDesc' | i18n}}\r\n {{'learnMore' | i18n}}\r\n

\r\n {{'updateEncryptionKeyWarning' | i18n}}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\n\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport {\r\n FolderAddEditComponent as BaseFolderAddEditComponent,\r\n} from 'jslib/angular/components/folder-add-edit.component';\r\n\r\n@Component({\r\n selector: 'app-folder-add-edit',\r\n templateUrl: 'folder-add-edit.component.html',\r\n})\r\nexport class FolderAddEditComponent extends BaseFolderAddEditComponent {\r\n constructor(folderService: FolderService, i18nService: I18nService,\r\n platformUtilsService: PlatformUtilsService) {\r\n super(folderService, i18nService, platformUtilsService);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

{{title}}

\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import {\r\n Component,\r\n OnDestroy,\r\n} from '@angular/core';\r\n\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { CollectionView } from 'jslib/models/view/collectionView';\r\n\r\nimport { ShareComponent as BaseShareComponent } from 'jslib/angular/components/share.component';\r\n\r\n@Component({\r\n selector: 'app-vault-share',\r\n templateUrl: 'share.component.html',\r\n})\r\nexport class ShareComponent extends BaseShareComponent implements OnDestroy {\r\n constructor(collectionService: CollectionService, platformUtilsService: PlatformUtilsService,\r\n i18nService: I18nService, userService: UserService,\r\n cipherService: CipherService) {\r\n super(collectionService, platformUtilsService, i18nService, userService, cipherService);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.selectAll(false);\r\n }\r\n\r\n check(c: CollectionView, select?: boolean) {\r\n (c as any).checked = select == null ? !(c as any).checked : select;\r\n }\r\n\r\n selectAll(select: boolean) {\r\n const collections = select ? this.collections : this.writeableCollections;\r\n collections.forEach((c) => this.check(c, select));\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n {{'share' | i18n}}\r\n {{cipher.name}}\r\n

\r\n \r\n
\r\n
\r\n {{'noOrganizationsList' | i18n}}\r\n
\r\n
\r\n

{{'shareDesc' | i18n}}

\r\n
\r\n \r\n \r\n
\r\n
\r\n

{{'collections' | i18n}}

\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {{'noCollectionsInList' | i18n}}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {{c.name}}\r\n
\r\n
\r\n
\r\n \r\n \r\n {{'newOrganization' | i18n}}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\n\r\n@Component({\r\n selector: 'app-verify-email',\r\n templateUrl: 'verify-email.component.html',\r\n})\r\nexport class VerifyEmailComponent {\r\n actionPromise: Promise;\r\n\r\n constructor(private apiService: ApiService, private i18nService: I18nService,\r\n private analytics: Angulartics2, private toasterService: ToasterService) { }\r\n\r\n async send() {\r\n if (this.actionPromise != null) {\r\n return;\r\n }\r\n try {\r\n this.actionPromise = this.apiService.postAccountVerifyEmail();\r\n await this.actionPromise;\r\n this.analytics.eventTrack.next({ action: 'Sent Verification Email' });\r\n this.toasterService.popAsync('success', null, this.i18nService.t('checkInboxForVerification'));\r\n } catch { }\r\n this.actionPromise = null;\r\n }\r\n}\r\n","
\r\n
\r\n {{'verifyEmail' | i18n}}\r\n
\r\n
\r\n

{{'verifyEmailDesc' | i18n}}

\r\n \r\n
\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivate,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { ToasterService } from 'angular2-toaster';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\n@Injectable()\r\nexport class OrganizationGuardService implements CanActivate {\r\n constructor(private userService: UserService, private router: Router,\r\n private toasterService: ToasterService, private i18nService: I18nService) { }\r\n\r\n async canActivate(route: ActivatedRouteSnapshot) {\r\n const org = await this.userService.getOrganization(route.params.organizationId);\r\n if (org == null) {\r\n this.router.navigate(['/']);\r\n return false;\r\n }\r\n if (!org.isOwner && !org.enabled) {\r\n this.toasterService.popAsync('error', null, this.i18nService.t('organizationIsDisabled'));\r\n this.router.navigate(['/']);\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivate,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\n\r\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\r\n\r\n@Injectable()\r\nexport class OrganizationTypeGuardService implements CanActivate {\r\n constructor(private userService: UserService, private router: Router) { }\r\n\r\n async canActivate(route: ActivatedRouteSnapshot) {\r\n const org = await this.userService.getOrganization(route.parent.params.organizationId);\r\n const allowedTypes = route.data == null ? null : route.data.allowedTypes as OrganizationUserType[];\r\n if (allowedTypes == null || allowedTypes.indexOf(org.type) === -1) {\r\n this.router.navigate(['/organizations', org.id]);\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n CanActivate,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\nimport { VaultTimeoutService } from 'jslib/abstractions/vaultTimeout.service';\r\n\r\n@Injectable()\r\nexport class UnauthGuardService implements CanActivate {\r\n constructor(private vaultTimeoutService: VaultTimeoutService, private userService: UserService,\r\n private router: Router) { }\r\n\r\n async canActivate() {\r\n const isAuthed = await this.userService.isAuthenticated();\r\n if (isAuthed) {\r\n const locked = await this.vaultTimeoutService.isLocked();\r\n if (locked) {\r\n this.router.navigate(['lock']);\r\n } else {\r\n this.router.navigate(['vault']);\r\n }\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n ActivatedRouteSnapshot,\r\n CanActivate,\r\n Router,\r\n RouterStateSnapshot,\r\n} from '@angular/router';\r\n\r\nimport { MessagingService } from '../../abstractions/messaging.service';\r\nimport { UserService } from '../../abstractions/user.service';\r\nimport { VaultTimeoutService } from '../../abstractions/vaultTimeout.service';\r\n\r\n@Injectable()\r\nexport class AuthGuardService implements CanActivate {\r\n constructor(private vaultTimeoutService: VaultTimeoutService, private userService: UserService,\r\n private router: Router, private messagingService: MessagingService) { }\r\n\r\n async canActivate(route: ActivatedRouteSnapshot, routerState: RouterStateSnapshot) {\r\n const isAuthed = await this.userService.isAuthenticated();\r\n if (!isAuthed) {\r\n this.messagingService.send('authBlocked');\r\n return false;\r\n }\r\n\r\n const locked = await this.vaultTimeoutService.isLocked();\r\n if (locked) {\r\n if (routerState != null) {\r\n this.messagingService.send('lockedUrl', { url: routerState.url });\r\n }\r\n this.router.navigate(['lock'], { queryParams: { promptBiometric: true }});\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import { DeviceType } from '../enums/deviceType';\r\nimport { PolicyType } from '../enums/policyType';\r\n\r\nimport { ApiService as ApiServiceAbstraction } from '../abstractions/api.service';\r\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\r\nimport { TokenService } from '../abstractions/token.service';\r\n\r\nimport { EnvironmentUrls } from '../models/domain/environmentUrls';\r\n\r\nimport { BitPayInvoiceRequest } from '../models/request/bitPayInvoiceRequest';\r\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\r\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\r\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\r\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\r\nimport { CipherCreateRequest } from '../models/request/cipherCreateRequest';\r\nimport { CipherRequest } from '../models/request/cipherRequest';\r\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\r\nimport { CollectionRequest } from '../models/request/collectionRequest';\r\nimport { DeleteRecoverRequest } from '../models/request/deleteRecoverRequest';\r\nimport { EmailRequest } from '../models/request/emailRequest';\r\nimport { EmailTokenRequest } from '../models/request/emailTokenRequest';\r\nimport { EventRequest } from '../models/request/eventRequest';\r\nimport { FolderRequest } from '../models/request/folderRequest';\r\nimport { GroupRequest } from '../models/request/groupRequest';\r\nimport { IapCheckRequest } from '../models/request/iapCheckRequest';\r\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\r\nimport { ImportDirectoryRequest } from '../models/request/importDirectoryRequest';\r\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\r\nimport { KdfRequest } from '../models/request/kdfRequest';\r\nimport { KeysRequest } from '../models/request/keysRequest';\r\nimport { OrganizationCreateRequest } from '../models/request/organizationCreateRequest';\r\nimport { OrganizationTaxInfoUpdateRequest } from '../models/request/organizationTaxInfoUpdateRequest';\r\nimport { OrganizationUpdateRequest } from '../models/request/organizationUpdateRequest';\r\nimport { OrganizationUpgradeRequest } from '../models/request/organizationUpgradeRequest';\r\nimport { OrganizationUserAcceptRequest } from '../models/request/organizationUserAcceptRequest';\r\nimport { OrganizationUserConfirmRequest } from '../models/request/organizationUserConfirmRequest';\r\nimport { OrganizationUserInviteRequest } from '../models/request/organizationUserInviteRequest';\r\nimport { OrganizationUserUpdateGroupsRequest } from '../models/request/organizationUserUpdateGroupsRequest';\r\nimport { OrganizationUserUpdateRequest } from '../models/request/organizationUserUpdateRequest';\r\nimport { PasswordHintRequest } from '../models/request/passwordHintRequest';\r\nimport { PasswordRequest } from '../models/request/passwordRequest';\r\nimport { PasswordVerificationRequest } from '../models/request/passwordVerificationRequest';\r\nimport { PaymentRequest } from '../models/request/paymentRequest';\r\nimport { PolicyRequest } from '../models/request/policyRequest';\r\nimport { PreloginRequest } from '../models/request/preloginRequest';\r\nimport { RegisterRequest } from '../models/request/registerRequest';\r\nimport { SeatRequest } from '../models/request/seatRequest';\r\nimport { SelectionReadOnlyRequest } from '../models/request/selectionReadOnlyRequest';\r\nimport { SendAccessRequest } from '../models/request/sendAccessRequest';\r\nimport { SendRequest } from '../models/request/sendRequest';\r\nimport { SetPasswordRequest } from '../models/request/setPasswordRequest';\r\nimport { StorageRequest } from '../models/request/storageRequest';\r\nimport { TaxInfoUpdateRequest } from '../models/request/taxInfoUpdateRequest';\r\nimport { TokenRequest } from '../models/request/tokenRequest';\r\nimport { TwoFactorEmailRequest } from '../models/request/twoFactorEmailRequest';\r\nimport { TwoFactorProviderRequest } from '../models/request/twoFactorProviderRequest';\r\nimport { TwoFactorRecoveryRequest } from '../models/request/twoFactorRecoveryRequest';\r\nimport { UpdateDomainsRequest } from '../models/request/updateDomainsRequest';\r\nimport { UpdateKeyRequest } from '../models/request/updateKeyRequest';\r\nimport { UpdateProfileRequest } from '../models/request/updateProfileRequest';\r\nimport { UpdateTwoFactorAuthenticatorRequest } from '../models/request/updateTwoFactorAuthenticatorRequest';\r\nimport { UpdateTwoFactorDuoRequest } from '../models/request/updateTwoFactorDuoRequest';\r\nimport { UpdateTwoFactorEmailRequest } from '../models/request/updateTwoFactorEmailRequest';\r\nimport { UpdateTwoFactorU2fDeleteRequest } from '../models/request/updateTwoFactorU2fDeleteRequest';\r\nimport { UpdateTwoFactorU2fRequest } from '../models/request/updateTwoFactorU2fRequest';\r\nimport { UpdateTwoFactorYubioOtpRequest } from '../models/request/updateTwoFactorYubioOtpRequest';\r\nimport { VerifyBankRequest } from '../models/request/verifyBankRequest';\r\nimport { VerifyDeleteRecoverRequest } from '../models/request/verifyDeleteRecoverRequest';\r\nimport { VerifyEmailRequest } from '../models/request/verifyEmailRequest';\r\n\r\nimport { ApiKeyResponse } from '../models/response/apiKeyResponse';\r\nimport { BillingResponse } from '../models/response/billingResponse';\r\nimport { BreachAccountResponse } from '../models/response/breachAccountResponse';\r\nimport { CipherResponse } from '../models/response/cipherResponse';\r\nimport {\r\n CollectionGroupDetailsResponse,\r\n CollectionResponse,\r\n} from '../models/response/collectionResponse';\r\nimport { DomainsResponse } from '../models/response/domainsResponse';\r\nimport { ErrorResponse } from '../models/response/errorResponse';\r\nimport { EventResponse } from '../models/response/eventResponse';\r\nimport { FolderResponse } from '../models/response/folderResponse';\r\nimport {\r\n GroupDetailsResponse,\r\n GroupResponse,\r\n} from '../models/response/groupResponse';\r\nimport { IdentityTokenResponse } from '../models/response/identityTokenResponse';\r\nimport { IdentityTwoFactorResponse } from '../models/response/identityTwoFactorResponse';\r\nimport { ListResponse } from '../models/response/listResponse';\r\nimport { OrganizationResponse } from '../models/response/organizationResponse';\r\nimport { OrganizationSubscriptionResponse } from '../models/response/organizationSubscriptionResponse';\r\nimport {\r\n OrganizationUserDetailsResponse,\r\n OrganizationUserUserDetailsResponse,\r\n} from '../models/response/organizationUserResponse';\r\nimport { PaymentResponse } from '../models/response/paymentResponse';\r\nimport { PlanResponse } from '../models/response/planResponse';\r\nimport { PolicyResponse } from '../models/response/policyResponse';\r\nimport { PreloginResponse } from '../models/response/preloginResponse';\r\nimport { ProfileResponse } from '../models/response/profileResponse';\r\nimport { SelectionReadOnlyResponse } from '../models/response/selectionReadOnlyResponse';\r\nimport { SendAccessResponse } from '../models/response/sendAccessResponse';\r\nimport { SendResponse } from '../models/response/sendResponse';\r\nimport { SubscriptionResponse } from '../models/response/subscriptionResponse';\r\nimport { SyncResponse } from '../models/response/syncResponse';\r\nimport { TaxInfoResponse } from '../models/response/taxInfoResponse';\r\nimport { TwoFactorAuthenticatorResponse } from '../models/response/twoFactorAuthenticatorResponse';\r\nimport { TwoFactorDuoResponse } from '../models/response/twoFactorDuoResponse';\r\nimport { TwoFactorEmailResponse } from '../models/response/twoFactorEmailResponse';\r\nimport { TwoFactorProviderResponse } from '../models/response/twoFactorProviderResponse';\r\nimport { TwoFactorRecoverResponse } from '../models/response/twoFactorRescoverResponse';\r\nimport {\r\n ChallengeResponse,\r\n TwoFactorU2fResponse,\r\n} from '../models/response/twoFactorU2fResponse';\r\nimport { TwoFactorYubiKeyResponse } from '../models/response/twoFactorYubiKeyResponse';\r\nimport { UserKeyResponse } from '../models/response/userKeyResponse';\r\n\r\nexport class ApiService implements ApiServiceAbstraction {\r\n urlsSet: boolean = false;\r\n apiBaseUrl: string;\r\n identityBaseUrl: string;\r\n eventsBaseUrl: string;\r\n\r\n private device: DeviceType;\r\n private deviceType: string;\r\n private isWebClient = false;\r\n private isDesktopClient = false;\r\n private usingBaseUrl = false;\r\n\r\n constructor(private tokenService: TokenService, private platformUtilsService: PlatformUtilsService,\r\n private logoutCallback: (expired: boolean) => Promise, private customUserAgent: string = null) {\r\n this.device = platformUtilsService.getDevice();\r\n this.deviceType = this.device.toString();\r\n this.isWebClient = this.device === DeviceType.IEBrowser || this.device === DeviceType.ChromeBrowser ||\r\n this.device === DeviceType.EdgeBrowser || this.device === DeviceType.FirefoxBrowser ||\r\n this.device === DeviceType.OperaBrowser || this.device === DeviceType.SafariBrowser ||\r\n this.device === DeviceType.UnknownBrowser || this.device === DeviceType.VivaldiBrowser;\r\n this.isDesktopClient = this.device === DeviceType.WindowsDesktop || this.device === DeviceType.MacOsDesktop ||\r\n this.device === DeviceType.LinuxDesktop;\r\n }\r\n\r\n setUrls(urls: EnvironmentUrls): void {\r\n this.urlsSet = true;\r\n\r\n if (urls.base != null) {\r\n this.usingBaseUrl = true;\r\n this.apiBaseUrl = urls.base + '/api';\r\n this.identityBaseUrl = urls.base + '/identity';\r\n this.eventsBaseUrl = urls.base + '/events';\r\n return;\r\n }\r\n\r\n this.apiBaseUrl = urls.api;\r\n this.identityBaseUrl = urls.identity;\r\n this.eventsBaseUrl = urls.events;\r\n\r\n // Production\r\n if (this.apiBaseUrl == null) {\r\n this.apiBaseUrl = 'https://api.bitwarden.com';\r\n }\r\n if (this.identityBaseUrl == null) {\r\n this.identityBaseUrl = 'https://identity.bitwarden.com';\r\n }\r\n if (this.eventsBaseUrl == null) {\r\n this.eventsBaseUrl = 'https://events.bitwarden.com';\r\n }\r\n }\r\n\r\n // Auth APIs\r\n\r\n async postIdentityToken(request: TokenRequest): Promise {\r\n const headers = new Headers({\r\n 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\r\n 'Accept': 'application/json',\r\n 'Device-Type': this.deviceType,\r\n });\r\n if (this.customUserAgent != null) {\r\n headers.set('User-Agent', this.customUserAgent);\r\n }\r\n const response = await this.fetch(new Request(this.identityBaseUrl + '/connect/token', {\r\n body: this.qsStringify(request.toIdentityToken(request.clientId ?? this.platformUtilsService.identityClientId)),\r\n credentials: this.getCredentials(),\r\n cache: 'no-store',\r\n headers: headers,\r\n method: 'POST',\r\n }));\r\n\r\n let responseJson: any = null;\r\n if (this.isJsonResponse(response)) {\r\n responseJson = await response.json();\r\n }\r\n\r\n if (responseJson != null) {\r\n if (response.status === 200) {\r\n return new IdentityTokenResponse(responseJson);\r\n } else if (response.status === 400 && responseJson.TwoFactorProviders2 &&\r\n Object.keys(responseJson.TwoFactorProviders2).length) {\r\n await this.tokenService.clearTwoFactorToken(request.email);\r\n return new IdentityTwoFactorResponse(responseJson);\r\n }\r\n }\r\n\r\n return Promise.reject(new ErrorResponse(responseJson, response.status, true));\r\n }\r\n\r\n async refreshIdentityToken(): Promise {\r\n try {\r\n await this.doRefreshToken();\r\n } catch (e) {\r\n return Promise.reject(null);\r\n }\r\n }\r\n\r\n // Account APIs\r\n\r\n async getProfile(): Promise {\r\n const r = await this.send('GET', '/accounts/profile', null, true, true);\r\n return new ProfileResponse(r);\r\n }\r\n\r\n async getUserBilling(): Promise {\r\n const r = await this.send('GET', '/accounts/billing', null, true, true);\r\n return new BillingResponse(r);\r\n }\r\n\r\n async getUserSubscription(): Promise {\r\n const r = await this.send('GET', '/accounts/subscription', null, true, true);\r\n return new SubscriptionResponse(r);\r\n }\r\n\r\n async getTaxInfo(): Promise {\r\n const r = await this.send('GET', '/accounts/tax', null, true, true);\r\n return new TaxInfoResponse(r);\r\n }\r\n\r\n async putProfile(request: UpdateProfileRequest): Promise {\r\n const r = await this.send('PUT', '/accounts/profile', request, true, true);\r\n return new ProfileResponse(r);\r\n }\r\n\r\n putTaxInfo(request: TaxInfoUpdateRequest): Promise {\r\n return this.send('PUT', '/accounts/tax', request, true, false);\r\n }\r\n\r\n async postPrelogin(request: PreloginRequest): Promise {\r\n const r = await this.send('POST', '/accounts/prelogin', request, false, true);\r\n return new PreloginResponse(r);\r\n }\r\n\r\n postEmailToken(request: EmailTokenRequest): Promise {\r\n return this.send('POST', '/accounts/email-token', request, true, false);\r\n }\r\n\r\n postEmail(request: EmailRequest): Promise {\r\n return this.send('POST', '/accounts/email', request, true, false);\r\n }\r\n\r\n postPassword(request: PasswordRequest): Promise {\r\n return this.send('POST', '/accounts/password', request, true, false);\r\n }\r\n\r\n setPassword(request: SetPasswordRequest): Promise {\r\n return this.send('POST', '/accounts/set-password', request, true, false);\r\n }\r\n\r\n postSecurityStamp(request: PasswordVerificationRequest): Promise {\r\n return this.send('POST', '/accounts/security-stamp', request, true, false);\r\n }\r\n\r\n deleteAccount(request: PasswordVerificationRequest): Promise {\r\n return this.send('DELETE', '/accounts', request, true, false);\r\n }\r\n\r\n async getAccountRevisionDate(): Promise {\r\n const r = await this.send('GET', '/accounts/revision-date', null, true, true);\r\n return r as number;\r\n }\r\n\r\n postPasswordHint(request: PasswordHintRequest): Promise {\r\n return this.send('POST', '/accounts/password-hint', request, false, false);\r\n }\r\n\r\n postRegister(request: RegisterRequest): Promise {\r\n return this.send('POST', '/accounts/register', request, false, false);\r\n }\r\n\r\n async postPremium(data: FormData): Promise {\r\n const r = await this.send('POST', '/accounts/premium', data, true, true);\r\n return new PaymentResponse(r);\r\n }\r\n\r\n async postIapCheck(request: IapCheckRequest): Promise {\r\n return this.send('POST', '/accounts/iap-check', request, true, false);\r\n }\r\n\r\n postReinstatePremium(): Promise {\r\n return this.send('POST', '/accounts/reinstate-premium', null, true, false);\r\n }\r\n\r\n postCancelPremium(): Promise {\r\n return this.send('POST', '/accounts/cancel-premium', null, true, false);\r\n }\r\n\r\n async postAccountStorage(request: StorageRequest): Promise {\r\n const r = await this.send('POST', '/accounts/storage', request, true, true);\r\n return new PaymentResponse(r);\r\n }\r\n\r\n postAccountPayment(request: PaymentRequest): Promise {\r\n return this.send('POST', '/accounts/payment', request, true, false);\r\n }\r\n\r\n postAccountLicense(data: FormData): Promise {\r\n return this.send('POST', '/accounts/license', data, true, false);\r\n }\r\n\r\n postAccountKeys(request: KeysRequest): Promise {\r\n return this.send('POST', '/accounts/keys', request, true, false);\r\n }\r\n\r\n postAccountKey(request: UpdateKeyRequest): Promise {\r\n return this.send('POST', '/accounts/key', request, true, false);\r\n }\r\n\r\n postAccountVerifyEmail(): Promise {\r\n return this.send('POST', '/accounts/verify-email', null, true, false);\r\n }\r\n\r\n postAccountVerifyEmailToken(request: VerifyEmailRequest): Promise {\r\n return this.send('POST', '/accounts/verify-email-token', request, false, false);\r\n }\r\n\r\n postAccountVerifyPassword(request: PasswordVerificationRequest): Promise {\r\n return this.send('POST', '/accounts/verify-password', request, true, false);\r\n }\r\n\r\n postAccountRecoverDelete(request: DeleteRecoverRequest): Promise {\r\n return this.send('POST', '/accounts/delete-recover', request, false, false);\r\n }\r\n\r\n postAccountRecoverDeleteToken(request: VerifyDeleteRecoverRequest): Promise {\r\n return this.send('POST', '/accounts/delete-recover-token', request, false, false);\r\n }\r\n\r\n postAccountKdf(request: KdfRequest): Promise {\r\n return this.send('POST', '/accounts/kdf', request, true, false);\r\n }\r\n\r\n async getEnterprisePortalSignInToken(): Promise {\r\n const r = await this.send('GET', '/accounts/enterprise-portal-signin-token', null, true, true);\r\n return r as string;\r\n }\r\n\r\n async deleteSsoUser(organizationId: string): Promise {\r\n return this.send('DELETE', '/accounts/sso/' + organizationId, null, true, false);\r\n }\r\n\r\n async getSsoUserIdentifier(): Promise {\r\n return this.send('GET', '/accounts/sso/user-identifier', null, true, true);\r\n }\r\n\r\n async postUserApiKey(id: string, request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/accounts/api-key', request, true, true);\r\n return new ApiKeyResponse(r);\r\n }\r\n\r\n async postUserRotateApiKey(id: string, request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/accounts/rotate-api-key', request, true, true);\r\n return new ApiKeyResponse(r);\r\n }\r\n\r\n // Folder APIs\r\n\r\n async getFolder(id: string): Promise {\r\n const r = await this.send('GET', '/folders/' + id, null, true, true);\r\n return new FolderResponse(r);\r\n }\r\n\r\n async postFolder(request: FolderRequest): Promise {\r\n const r = await this.send('POST', '/folders', request, true, true);\r\n return new FolderResponse(r);\r\n }\r\n\r\n async putFolder(id: string, request: FolderRequest): Promise {\r\n const r = await this.send('PUT', '/folders/' + id, request, true, true);\r\n return new FolderResponse(r);\r\n }\r\n\r\n deleteFolder(id: string): Promise {\r\n return this.send('DELETE', '/folders/' + id, null, true, false);\r\n }\r\n\r\n // Send APIs\r\n\r\n async getSend(id: string): Promise {\r\n const r = await this.send('GET', '/sends/' + id, null, true, true);\r\n return new SendResponse(r);\r\n }\r\n\r\n async postSendAccess(id: string, request: SendAccessRequest): Promise {\r\n const r = await this.send('POST', '/sends/access/' + id, request, false, true);\r\n return new SendAccessResponse(r);\r\n }\r\n\r\n async getSends(): Promise> {\r\n const r = await this.send('GET', '/sends', null, true, true);\r\n return new ListResponse(r, SendResponse);\r\n }\r\n\r\n async postSend(request: SendRequest): Promise {\r\n const r = await this.send('POST', '/sends', request, true, true);\r\n return new SendResponse(r);\r\n }\r\n\r\n async postSendFile(data: FormData): Promise {\r\n const r = await this.send('POST', '/sends/file', data, true, true);\r\n return new SendResponse(r);\r\n }\r\n\r\n async putSend(id: string, request: SendRequest): Promise {\r\n const r = await this.send('PUT', '/sends/' + id, request, true, true);\r\n return new SendResponse(r);\r\n }\r\n\r\n async putSendRemovePassword(id: string): Promise {\r\n const r = await this.send('PUT', '/sends/' + id + '/remove-password', null, true, true);\r\n return new SendResponse(r);\r\n }\r\n\r\n deleteSend(id: string): Promise {\r\n return this.send('DELETE', '/sends/' + id, null, true, false);\r\n }\r\n\r\n // Cipher APIs\r\n\r\n async getCipher(id: string): Promise {\r\n const r = await this.send('GET', '/ciphers/' + id, null, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async getCipherAdmin(id: string): Promise {\r\n const r = await this.send('GET', '/ciphers/' + id + '/admin', null, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async getCiphersOrganization(organizationId: string): Promise> {\r\n const r = await this.send('GET', '/ciphers/organization-details?organizationId=' + organizationId,\r\n null, true, true);\r\n return new ListResponse(r, CipherResponse);\r\n }\r\n\r\n async postCipher(request: CipherRequest): Promise {\r\n const r = await this.send('POST', '/ciphers', request, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async postCipherCreate(request: CipherCreateRequest): Promise {\r\n const r = await this.send('POST', '/ciphers/create', request, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async postCipherAdmin(request: CipherCreateRequest): Promise {\r\n const r = await this.send('POST', '/ciphers/admin', request, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async putCipher(id: string, request: CipherRequest): Promise {\r\n const r = await this.send('PUT', '/ciphers/' + id, request, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async putCipherAdmin(id: string, request: CipherRequest): Promise {\r\n const r = await this.send('PUT', '/ciphers/' + id + '/admin', request, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n deleteCipher(id: string): Promise {\r\n return this.send('DELETE', '/ciphers/' + id, null, true, false);\r\n }\r\n\r\n deleteCipherAdmin(id: string): Promise {\r\n return this.send('DELETE', '/ciphers/' + id + '/admin', null, true, false);\r\n }\r\n\r\n deleteManyCiphers(request: CipherBulkDeleteRequest): Promise {\r\n return this.send('DELETE', '/ciphers', request, true, false);\r\n }\r\n\r\n deleteManyCiphersAdmin(request: CipherBulkDeleteRequest): Promise {\r\n return this.send('DELETE', '/ciphers/admin', request, true, false);\r\n }\r\n\r\n putMoveCiphers(request: CipherBulkMoveRequest): Promise {\r\n return this.send('PUT', '/ciphers/move', request, true, false);\r\n }\r\n\r\n async putShareCipher(id: string, request: CipherShareRequest): Promise {\r\n const r = await this.send('PUT', '/ciphers/' + id + '/share', request, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n putShareCiphers(request: CipherBulkShareRequest): Promise {\r\n return this.send('PUT', '/ciphers/share', request, true, false);\r\n }\r\n\r\n putCipherCollections(id: string, request: CipherCollectionsRequest): Promise {\r\n return this.send('PUT', '/ciphers/' + id + '/collections', request, true, false);\r\n }\r\n\r\n putCipherCollectionsAdmin(id: string, request: CipherCollectionsRequest): Promise {\r\n return this.send('PUT', '/ciphers/' + id + '/collections-admin', request, true, false);\r\n }\r\n\r\n postPurgeCiphers(request: PasswordVerificationRequest, organizationId: string = null): Promise {\r\n let path = '/ciphers/purge';\r\n if (organizationId != null) {\r\n path += '?organizationId=' + organizationId;\r\n }\r\n return this.send('POST', path, request, true, false);\r\n }\r\n\r\n postImportCiphers(request: ImportCiphersRequest): Promise {\r\n return this.send('POST', '/ciphers/import', request, true, false);\r\n }\r\n\r\n postImportOrganizationCiphers(organizationId: string, request: ImportOrganizationCiphersRequest): Promise {\r\n return this.send('POST', '/ciphers/import-organization?organizationId=' + organizationId, request, true, false);\r\n }\r\n\r\n putDeleteCipher(id: string): Promise {\r\n return this.send('PUT', '/ciphers/' + id + '/delete', null, true, false);\r\n }\r\n\r\n putDeleteCipherAdmin(id: string): Promise {\r\n return this.send('PUT', '/ciphers/' + id + '/delete-admin', null, true, false);\r\n }\r\n\r\n putDeleteManyCiphers(request: CipherBulkDeleteRequest): Promise {\r\n return this.send('PUT', '/ciphers/delete', request, true, false);\r\n }\r\n\r\n putDeleteManyCiphersAdmin(request: CipherBulkDeleteRequest): Promise {\r\n return this.send('PUT', '/ciphers/delete-admin', request, true, false);\r\n }\r\n\r\n putRestoreCipher(id: string): Promise {\r\n return this.send('PUT', '/ciphers/' + id + '/restore', null, true, false);\r\n }\r\n\r\n putRestoreCipherAdmin(id: string): Promise {\r\n return this.send('PUT', '/ciphers/' + id + '/restore-admin', null, true, false);\r\n }\r\n\r\n putRestoreManyCiphers(request: CipherBulkDeleteRequest): Promise {\r\n return this.send('PUT', '/ciphers/restore', request, true, false);\r\n }\r\n\r\n // Attachments APIs\r\n\r\n async postCipherAttachment(id: string, data: FormData): Promise {\r\n const r = await this.send('POST', '/ciphers/' + id + '/attachment', data, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n async postCipherAttachmentAdmin(id: string, data: FormData): Promise {\r\n const r = await this.send('POST', '/ciphers/' + id + '/attachment-admin', data, true, true);\r\n return new CipherResponse(r);\r\n }\r\n\r\n deleteCipherAttachment(id: string, attachmentId: string): Promise {\r\n return this.send('DELETE', '/ciphers/' + id + '/attachment/' + attachmentId, null, true, false);\r\n }\r\n\r\n deleteCipherAttachmentAdmin(id: string, attachmentId: string): Promise {\r\n return this.send('DELETE', '/ciphers/' + id + '/attachment/' + attachmentId + '/admin', null, true, false);\r\n }\r\n\r\n postShareCipherAttachment(id: string, attachmentId: string, data: FormData,\r\n organizationId: string): Promise {\r\n return this.send('POST', '/ciphers/' + id + '/attachment/' +\r\n attachmentId + '/share?organizationId=' + organizationId, data, true, false);\r\n }\r\n\r\n // Collections APIs\r\n\r\n async getCollectionDetails(organizationId: string, id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections/' + id + '/details',\r\n null, true, true);\r\n return new CollectionGroupDetailsResponse(r);\r\n }\r\n\r\n async getUserCollections(): Promise> {\r\n const r = await this.send('GET', '/collections', null, true, true);\r\n return new ListResponse(r, CollectionResponse);\r\n }\r\n\r\n async getCollections(organizationId: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections', null, true, true);\r\n return new ListResponse(r, CollectionResponse);\r\n }\r\n\r\n async getCollectionUsers(organizationId: string, id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/collections/' + id + '/users',\r\n null, true, true);\r\n return r.map((dr: any) => new SelectionReadOnlyResponse(dr));\r\n }\r\n\r\n async postCollection(organizationId: string, request: CollectionRequest): Promise {\r\n const r = await this.send('POST', '/organizations/' + organizationId + '/collections', request, true, true);\r\n return new CollectionResponse(r);\r\n }\r\n\r\n async putCollection(organizationId: string, id: string, request: CollectionRequest): Promise {\r\n const r = await this.send('PUT', '/organizations/' + organizationId + '/collections/' + id,\r\n request, true, true);\r\n return new CollectionResponse(r);\r\n }\r\n\r\n async putCollectionUsers(organizationId: string, id: string, request: SelectionReadOnlyRequest[]): Promise {\r\n await this.send('PUT', '/organizations/' + organizationId + '/collections/' + id + '/users',\r\n request, true, false);\r\n }\r\n\r\n deleteCollection(organizationId: string, id: string): Promise {\r\n return this.send('DELETE', '/organizations/' + organizationId + '/collections/' + id, null, true, false);\r\n }\r\n\r\n deleteCollectionUser(organizationId: string, id: string, organizationUserId: string): Promise {\r\n return this.send('DELETE',\r\n '/organizations/' + organizationId + '/collections/' + id + '/user/' + organizationUserId,\r\n null, true, false);\r\n }\r\n\r\n // Groups APIs\r\n\r\n async getGroupDetails(organizationId: string, id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups/' + id + '/details',\r\n null, true, true);\r\n return new GroupDetailsResponse(r);\r\n }\r\n\r\n async getGroups(organizationId: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups', null, true, true);\r\n return new ListResponse(r, GroupResponse);\r\n }\r\n\r\n async getGroupUsers(organizationId: string, id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/groups/' + id + '/users',\r\n null, true, true);\r\n return r;\r\n }\r\n\r\n async postGroup(organizationId: string, request: GroupRequest): Promise {\r\n const r = await this.send('POST', '/organizations/' + organizationId + '/groups', request, true, true);\r\n return new GroupResponse(r);\r\n }\r\n\r\n async putGroup(organizationId: string, id: string, request: GroupRequest): Promise {\r\n const r = await this.send('PUT', '/organizations/' + organizationId + '/groups/' + id, request, true, true);\r\n return new GroupResponse(r);\r\n }\r\n\r\n async putGroupUsers(organizationId: string, id: string, request: string[]): Promise {\r\n await this.send('PUT', '/organizations/' + organizationId + '/groups/' + id + '/users', request, true, false);\r\n }\r\n\r\n deleteGroup(organizationId: string, id: string): Promise {\r\n return this.send('DELETE', '/organizations/' + organizationId + '/groups/' + id, null, true, false);\r\n }\r\n\r\n deleteGroupUser(organizationId: string, id: string, organizationUserId: string): Promise {\r\n return this.send('DELETE',\r\n '/organizations/' + organizationId + '/groups/' + id + '/user/' + organizationUserId, null, true, false);\r\n }\r\n\r\n // Policy APIs\r\n\r\n async getPolicy(organizationId: string, type: PolicyType): Promise {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/policies/' + type, null, true, true);\r\n return new PolicyResponse(r);\r\n }\r\n\r\n async getPolicies(organizationId: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/policies', null, true, true);\r\n return new ListResponse(r, PolicyResponse);\r\n }\r\n\r\n async getPoliciesByToken(organizationId: string, token: string, email: string, organizationUserId: string):\r\n Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/policies/token?' +\r\n 'token=' + encodeURIComponent(token) + '&email=' + encodeURIComponent(email) +\r\n '&organizationUserId=' + organizationUserId, null, false, true);\r\n return new ListResponse(r, PolicyResponse);\r\n }\r\n\r\n async putPolicy(organizationId: string, type: PolicyType, request: PolicyRequest): Promise {\r\n const r = await this.send('PUT', '/organizations/' + organizationId + '/policies/' + type, request, true, true);\r\n return new PolicyResponse(r);\r\n }\r\n\r\n // Organization User APIs\r\n\r\n async getOrganizationUser(organizationId: string, id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/users/' + id, null, true, true);\r\n return new OrganizationUserDetailsResponse(r);\r\n }\r\n\r\n async getOrganizationUserGroups(organizationId: string, id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/users/' + id + '/groups',\r\n null, true, true);\r\n return r;\r\n }\r\n\r\n async getOrganizationUsers(organizationId: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/users', null, true, true);\r\n return new ListResponse(r, OrganizationUserUserDetailsResponse);\r\n }\r\n\r\n postOrganizationUserInvite(organizationId: string, request: OrganizationUserInviteRequest): Promise {\r\n return this.send('POST', '/organizations/' + organizationId + '/users/invite', request, true, false);\r\n }\r\n\r\n postOrganizationUserReinvite(organizationId: string, id: string): Promise {\r\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/reinvite', null, true, false);\r\n }\r\n\r\n postOrganizationUserAccept(organizationId: string, id: string,\r\n request: OrganizationUserAcceptRequest): Promise {\r\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/accept', request, true, false);\r\n }\r\n\r\n postOrganizationUserConfirm(organizationId: string, id: string,\r\n request: OrganizationUserConfirmRequest): Promise {\r\n return this.send('POST', '/organizations/' + organizationId + '/users/' + id + '/confirm',\r\n request, true, false);\r\n }\r\n\r\n putOrganizationUser(organizationId: string, id: string, request: OrganizationUserUpdateRequest): Promise {\r\n return this.send('PUT', '/organizations/' + organizationId + '/users/' + id, request, true, false);\r\n }\r\n\r\n putOrganizationUserGroups(organizationId: string, id: string,\r\n request: OrganizationUserUpdateGroupsRequest): Promise {\r\n return this.send('PUT', '/organizations/' + organizationId + '/users/' + id + '/groups', request, true, false);\r\n }\r\n\r\n deleteOrganizationUser(organizationId: string, id: string): Promise {\r\n return this.send('DELETE', '/organizations/' + organizationId + '/users/' + id, null, true, false);\r\n }\r\n\r\n // Plan APIs\r\n\r\n async getPlans(): Promise> {\r\n const r = await this.send('GET', '/plans/', null, true, true);\r\n return new ListResponse(r, PlanResponse);\r\n }\r\n\r\n async postImportDirectory(organizationId: string, request: ImportDirectoryRequest): Promise {\r\n return this.send('POST', '/organizations/' + organizationId + '/import', request, true, false);\r\n }\r\n\r\n // Settings APIs\r\n\r\n async getSettingsDomains(): Promise {\r\n const r = await this.send('GET', '/settings/domains', null, true, true);\r\n return new DomainsResponse(r);\r\n }\r\n\r\n async putSettingsDomains(request: UpdateDomainsRequest): Promise {\r\n const r = await this.send('PUT', '/settings/domains', request, true, true);\r\n return new DomainsResponse(r);\r\n }\r\n\r\n // Sync APIs\r\n\r\n async getSync(): Promise {\r\n const path = this.isDesktopClient || this.isWebClient ? '/sync?excludeDomains=true' : '/sync';\r\n const r = await this.send('GET', path, null, true, true);\r\n return new SyncResponse(r);\r\n }\r\n\r\n // Two-factor APIs\r\n\r\n async getTwoFactorProviders(): Promise> {\r\n const r = await this.send('GET', '/two-factor', null, true, true);\r\n return new ListResponse(r, TwoFactorProviderResponse);\r\n }\r\n\r\n async getTwoFactorOrganizationProviders(organizationId: string): Promise> {\r\n const r = await this.send('GET', '/organizations/' + organizationId + '/two-factor', null, true, true);\r\n return new ListResponse(r, TwoFactorProviderResponse);\r\n }\r\n\r\n async getTwoFactorAuthenticator(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-authenticator', request, true, true);\r\n return new TwoFactorAuthenticatorResponse(r);\r\n }\r\n\r\n async getTwoFactorEmail(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-email', request, true, true);\r\n return new TwoFactorEmailResponse(r);\r\n }\r\n\r\n async getTwoFactorDuo(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-duo', request, true, true);\r\n return new TwoFactorDuoResponse(r);\r\n }\r\n\r\n async getTwoFactorOrganizationDuo(organizationId: string,\r\n request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/organizations/' + organizationId + '/two-factor/get-duo',\r\n request, true, true);\r\n return new TwoFactorDuoResponse(r);\r\n }\r\n\r\n async getTwoFactorYubiKey(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-yubikey', request, true, true);\r\n return new TwoFactorYubiKeyResponse(r);\r\n }\r\n\r\n async getTwoFactorU2f(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-u2f', request, true, true);\r\n return new TwoFactorU2fResponse(r);\r\n }\r\n\r\n async getTwoFactorU2fChallenge(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-u2f-challenge', request, true, true);\r\n return new ChallengeResponse(r);\r\n }\r\n\r\n async getTwoFactorRecover(request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/two-factor/get-recover', request, true, true);\r\n return new TwoFactorRecoverResponse(r);\r\n }\r\n\r\n async putTwoFactorAuthenticator(\r\n request: UpdateTwoFactorAuthenticatorRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/authenticator', request, true, true);\r\n return new TwoFactorAuthenticatorResponse(r);\r\n }\r\n\r\n async putTwoFactorEmail(request: UpdateTwoFactorEmailRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/email', request, true, true);\r\n return new TwoFactorEmailResponse(r);\r\n }\r\n\r\n async putTwoFactorDuo(request: UpdateTwoFactorDuoRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/duo', request, true, true);\r\n return new TwoFactorDuoResponse(r);\r\n }\r\n\r\n async putTwoFactorOrganizationDuo(organizationId: string,\r\n request: UpdateTwoFactorDuoRequest): Promise {\r\n const r = await this.send('PUT', '/organizations/' + organizationId + '/two-factor/duo', request, true, true);\r\n return new TwoFactorDuoResponse(r);\r\n }\r\n\r\n async putTwoFactorYubiKey(request: UpdateTwoFactorYubioOtpRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/yubikey', request, true, true);\r\n return new TwoFactorYubiKeyResponse(r);\r\n }\r\n\r\n async putTwoFactorU2f(request: UpdateTwoFactorU2fRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/u2f', request, true, true);\r\n return new TwoFactorU2fResponse(r);\r\n }\r\n\r\n async deleteTwoFactorU2f(request: UpdateTwoFactorU2fDeleteRequest): Promise {\r\n const r = await this.send('DELETE', '/two-factor/u2f', request, true, true);\r\n return new TwoFactorU2fResponse(r);\r\n }\r\n\r\n async putTwoFactorDisable(request: TwoFactorProviderRequest): Promise {\r\n const r = await this.send('PUT', '/two-factor/disable', request, true, true);\r\n return new TwoFactorProviderResponse(r);\r\n }\r\n\r\n async putTwoFactorOrganizationDisable(organizationId: string,\r\n request: TwoFactorProviderRequest): Promise {\r\n const r = await this.send('PUT', '/organizations/' + organizationId + '/two-factor/disable',\r\n request, true, true);\r\n return new TwoFactorProviderResponse(r);\r\n }\r\n\r\n postTwoFactorRecover(request: TwoFactorRecoveryRequest): Promise {\r\n return this.send('POST', '/two-factor/recover', request, false, false);\r\n }\r\n\r\n postTwoFactorEmailSetup(request: TwoFactorEmailRequest): Promise {\r\n return this.send('POST', '/two-factor/send-email', request, true, false);\r\n }\r\n\r\n postTwoFactorEmail(request: TwoFactorEmailRequest): Promise {\r\n return this.send('POST', '/two-factor/send-email-login', request, false, false);\r\n }\r\n\r\n // Organization APIs\r\n\r\n async getOrganization(id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + id, null, true, true);\r\n return new OrganizationResponse(r);\r\n }\r\n\r\n async getOrganizationBilling(id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + id + '/billing', null, true, true);\r\n return new BillingResponse(r);\r\n }\r\n\r\n async getOrganizationSubscription(id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + id + '/subscription', null, true, true);\r\n return new OrganizationSubscriptionResponse(r);\r\n }\r\n\r\n async getOrganizationLicense(id: string, installationId: string): Promise {\r\n return this.send('GET', '/organizations/' + id + '/license?installationId=' + installationId,\r\n null, true, true);\r\n }\r\n\r\n async getOrganizationTaxInfo(id: string): Promise {\r\n const r = await this.send('GET', '/organizations/' + id + '/tax', null, true, true);\r\n return new TaxInfoResponse(r);\r\n }\r\n\r\n async postOrganization(request: OrganizationCreateRequest): Promise {\r\n const r = await this.send('POST', '/organizations', request, true, true);\r\n return new OrganizationResponse(r);\r\n }\r\n\r\n async putOrganization(id: string, request: OrganizationUpdateRequest): Promise {\r\n const r = await this.send('PUT', '/organizations/' + id, request, true, true);\r\n return new OrganizationResponse(r);\r\n }\r\n\r\n async putOrganizationTaxInfo(id: string, request: OrganizationTaxInfoUpdateRequest): Promise {\r\n return this.send('PUT', '/organizations/' + id + '/tax', request, true, false);\r\n }\r\n\r\n postLeaveOrganization(id: string): Promise {\r\n return this.send('POST', '/organizations/' + id + '/leave', null, true, false);\r\n }\r\n\r\n async postOrganizationLicense(data: FormData): Promise {\r\n const r = await this.send('POST', '/organizations/license', data, true, true);\r\n return new OrganizationResponse(r);\r\n }\r\n\r\n async postOrganizationLicenseUpdate(id: string, data: FormData): Promise {\r\n return this.send('POST', '/organizations/' + id + '/license', data, true, false);\r\n }\r\n\r\n async postOrganizationApiKey(id: string, request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/organizations/' + id + '/api-key', request, true, true);\r\n return new ApiKeyResponse(r);\r\n }\r\n\r\n async postOrganizationRotateApiKey(id: string, request: PasswordVerificationRequest): Promise {\r\n const r = await this.send('POST', '/organizations/' + id + '/rotate-api-key', request, true, true);\r\n return new ApiKeyResponse(r);\r\n }\r\n\r\n async postOrganizationUpgrade(id: string, request: OrganizationUpgradeRequest): Promise {\r\n const r = await this.send('POST', '/organizations/' + id + '/upgrade', request, true, true);\r\n return new PaymentResponse(r);\r\n }\r\n\r\n async postOrganizationSeat(id: string, request: SeatRequest): Promise {\r\n const r = await this.send('POST', '/organizations/' + id + '/seat', request, true, true);\r\n return new PaymentResponse(r);\r\n }\r\n\r\n async postOrganizationStorage(id: string, request: StorageRequest): Promise {\r\n const r = await this.send('POST', '/organizations/' + id + '/storage', request, true, true);\r\n return new PaymentResponse(r);\r\n }\r\n\r\n postOrganizationPayment(id: string, request: PaymentRequest): Promise {\r\n return this.send('POST', '/organizations/' + id + '/payment', request, true, false);\r\n }\r\n\r\n postOrganizationVerifyBank(id: string, request: VerifyBankRequest): Promise {\r\n return this.send('POST', '/organizations/' + id + '/verify-bank', request, true, false);\r\n }\r\n\r\n postOrganizationCancel(id: string): Promise {\r\n return this.send('POST', '/organizations/' + id + '/cancel', null, true, false);\r\n }\r\n\r\n postOrganizationReinstate(id: string): Promise {\r\n return this.send('POST', '/organizations/' + id + '/reinstate', null, true, false);\r\n }\r\n\r\n deleteOrganization(id: string, request: PasswordVerificationRequest): Promise {\r\n return this.send('DELETE', '/organizations/' + id, request, true, false);\r\n }\r\n\r\n // Event APIs\r\n\r\n async getEvents(start: string, end: string, token: string): Promise> {\r\n const r = await this.send('GET', this.addEventParameters('/events', start, end, token), null, true, true);\r\n return new ListResponse(r, EventResponse);\r\n }\r\n\r\n async getEventsCipher(id: string, start: string, end: string,\r\n token: string): Promise> {\r\n const r = await this.send('GET', this.addEventParameters('/ciphers/' + id + '/events', start, end, token),\r\n null, true, true);\r\n return new ListResponse(r, EventResponse);\r\n }\r\n\r\n async getEventsOrganization(id: string, start: string, end: string,\r\n token: string): Promise> {\r\n const r = await this.send('GET', this.addEventParameters('/organizations/' + id + '/events', start, end, token),\r\n null, true, true);\r\n return new ListResponse(r, EventResponse);\r\n }\r\n\r\n async getEventsOrganizationUser(organizationId: string, id: string,\r\n start: string, end: string, token: string): Promise> {\r\n const r = await this.send('GET',\r\n this.addEventParameters('/organizations/' + organizationId + '/users/' + id + '/events', start, end, token),\r\n null, true, true);\r\n return new ListResponse(r, EventResponse);\r\n }\r\n\r\n async postEventsCollect(request: EventRequest[]): Promise {\r\n const authHeader = await this.getActiveBearerToken();\r\n const headers = new Headers({\r\n 'Device-Type': this.deviceType,\r\n 'Authorization': 'Bearer ' + authHeader,\r\n 'Content-Type': 'application/json; charset=utf-8',\r\n });\r\n if (this.customUserAgent != null) {\r\n headers.set('User-Agent', this.customUserAgent);\r\n }\r\n const response = await this.fetch(new Request(this.eventsBaseUrl + '/collect', {\r\n cache: 'no-store',\r\n credentials: this.getCredentials(),\r\n method: 'POST',\r\n body: JSON.stringify(request),\r\n headers: headers,\r\n }));\r\n if (response.status !== 200) {\r\n return Promise.reject('Event post failed.');\r\n }\r\n }\r\n\r\n // User APIs\r\n\r\n async getUserPublicKey(id: string): Promise {\r\n const r = await this.send('GET', '/users/' + id + '/public-key', null, true, true);\r\n return new UserKeyResponse(r);\r\n }\r\n\r\n // HIBP APIs\r\n\r\n async getHibpBreach(username: string): Promise {\r\n const r = await this.send('GET', '/hibp/breach?username=' + username, null, true, true);\r\n return r.map((a: any) => new BreachAccountResponse(a));\r\n }\r\n\r\n // Misc\r\n\r\n async postBitPayInvoice(request: BitPayInvoiceRequest): Promise {\r\n const r = await this.send('POST', '/bitpay-invoice', request, true, true);\r\n return r as string;\r\n }\r\n\r\n async postSetupPayment(): Promise {\r\n const r = await this.send('POST', '/setup-payment', null, true, true);\r\n return r as string;\r\n }\r\n\r\n // Helpers\r\n\r\n async getActiveBearerToken(): Promise {\r\n let accessToken = await this.tokenService.getToken();\r\n if (this.tokenService.tokenNeedsRefresh()) {\r\n const tokenResponse = await this.doRefreshToken();\r\n accessToken = tokenResponse.accessToken;\r\n }\r\n return accessToken;\r\n }\r\n\r\n fetch(request: Request): Promise {\r\n if (request.method === 'GET') {\r\n request.headers.set('Cache-Control', 'no-store');\r\n request.headers.set('Pragma', 'no-cache');\r\n }\r\n return this.nativeFetch(request);\r\n }\r\n\r\n nativeFetch(request: Request): Promise {\r\n return fetch(request);\r\n }\r\n\r\n async preValidateSso(identifier: string): Promise {\r\n if (identifier == null || identifier === '') {\r\n throw new Error('Organization Identifier was not provided.');\r\n }\r\n const headers = new Headers({\r\n 'Accept': 'application/json',\r\n 'Device-Type': this.deviceType,\r\n });\r\n if (this.customUserAgent != null) {\r\n headers.set('User-Agent', this.customUserAgent);\r\n }\r\n\r\n const path = `/account/prevalidate?domainHint=${encodeURIComponent(identifier)}`;\r\n const response = await this.fetch(new Request(this.identityBaseUrl + path, {\r\n cache: 'no-store',\r\n credentials: this.getCredentials(),\r\n headers: headers,\r\n method: 'GET',\r\n }));\r\n\r\n if (response.status === 200) {\r\n return true;\r\n } else {\r\n const error = await this.handleError(response, false, true);\r\n return Promise.reject(error);\r\n }\r\n }\r\n\r\n private async send(method: 'GET' | 'POST' | 'PUT' | 'DELETE', path: string, body: any,\r\n authed: boolean, hasResponse: boolean): Promise {\r\n const headers = new Headers({\r\n 'Device-Type': this.deviceType,\r\n });\r\n if (this.customUserAgent != null) {\r\n headers.set('User-Agent', this.customUserAgent);\r\n }\r\n\r\n const requestInit: RequestInit = {\r\n cache: 'no-store',\r\n credentials: this.getCredentials(),\r\n method: method,\r\n };\r\n\r\n if (authed) {\r\n const authHeader = await this.getActiveBearerToken();\r\n headers.set('Authorization', 'Bearer ' + authHeader);\r\n }\r\n if (body != null) {\r\n if (typeof body === 'string') {\r\n requestInit.body = body;\r\n headers.set('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8');\r\n } else if (typeof body === 'object') {\r\n if (body instanceof FormData) {\r\n requestInit.body = body;\r\n } else {\r\n headers.set('Content-Type', 'application/json; charset=utf-8');\r\n requestInit.body = JSON.stringify(body);\r\n }\r\n }\r\n }\r\n if (hasResponse) {\r\n headers.set('Accept', 'application/json');\r\n }\r\n\r\n requestInit.headers = headers;\r\n const response = await this.fetch(new Request(this.apiBaseUrl + path, requestInit));\r\n\r\n if (hasResponse && response.status === 200) {\r\n const responseJson = await response.json();\r\n return responseJson;\r\n } else if (response.status !== 200) {\r\n const error = await this.handleError(response, false, authed);\r\n return Promise.reject(error);\r\n }\r\n }\r\n\r\n private async handleError(response: Response, tokenError: boolean, authed: boolean): Promise {\r\n if (authed && ((tokenError && response.status === 400) || response.status === 401 || response.status === 403)) {\r\n await this.logoutCallback(true);\r\n return null;\r\n }\r\n\r\n let responseJson: any = null;\r\n if (this.isJsonResponse(response)) {\r\n responseJson = await response.json();\r\n }\r\n\r\n return new ErrorResponse(responseJson, response.status, tokenError);\r\n }\r\n\r\n private async doRefreshToken(): Promise {\r\n const refreshToken = await this.tokenService.getRefreshToken();\r\n if (refreshToken == null || refreshToken === '') {\r\n throw new Error();\r\n }\r\n const headers = new Headers({\r\n 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',\r\n 'Accept': 'application/json',\r\n 'Device-Type': this.deviceType,\r\n });\r\n if (this.customUserAgent != null) {\r\n headers.set('User-Agent', this.customUserAgent);\r\n }\r\n\r\n const decodedToken = this.tokenService.decodeToken();\r\n const response = await this.fetch(new Request(this.identityBaseUrl + '/connect/token', {\r\n body: this.qsStringify({\r\n grant_type: 'refresh_token',\r\n client_id: decodedToken.client_id,\r\n refresh_token: refreshToken,\r\n }),\r\n cache: 'no-store',\r\n credentials: this.getCredentials(),\r\n headers: headers,\r\n method: 'POST',\r\n }));\r\n\r\n if (response.status === 200) {\r\n const responseJson = await response.json();\r\n const tokenResponse = new IdentityTokenResponse(responseJson);\r\n await this.tokenService.setTokens(tokenResponse.accessToken, tokenResponse.refreshToken);\r\n return tokenResponse;\r\n } else {\r\n const error = await this.handleError(response, true, true);\r\n return Promise.reject(error);\r\n }\r\n }\r\n\r\n private qsStringify(params: any): string {\r\n return Object.keys(params).map((key) => {\r\n return encodeURIComponent(key) + '=' + encodeURIComponent(params[key]);\r\n }).join('&');\r\n }\r\n\r\n private getCredentials(): RequestCredentials {\r\n if (this.device !== DeviceType.SafariExtension && (!this.isWebClient || this.usingBaseUrl)) {\r\n return 'include';\r\n }\r\n return undefined;\r\n }\r\n\r\n private addEventParameters(base: string, start: string, end: string, token: string) {\r\n if (start != null) {\r\n base += ('?start=' + start);\r\n }\r\n if (end != null) {\r\n base += (base.indexOf('?') > -1 ? '&' : '?');\r\n base += ('end=' + end);\r\n }\r\n if (token != null) {\r\n base += (base.indexOf('?') > -1 ? '&' : '?');\r\n base += ('continuationToken=' + token);\r\n }\r\n return base;\r\n }\r\n\r\n private isJsonResponse(response: Response): boolean {\r\n const typeHeader = response.headers.get('content-type');\r\n return typeHeader != null && typeHeader.indexOf('application/json') > -1;\r\n }\r\n}\r\n","import { AttachmentResponse } from './attachmentResponse';\r\nimport { BaseResponse } from './baseResponse';\r\nimport { PasswordHistoryResponse } from './passwordHistoryResponse';\r\n\r\nimport { CardApi } from '../api/cardApi';\r\nimport { FieldApi } from '../api/fieldApi';\r\nimport { IdentityApi } from '../api/identityApi';\r\nimport { LoginApi } from '../api/loginApi';\r\nimport { SecureNoteApi } from '../api/secureNoteApi';\r\n\r\nexport class CipherResponse extends BaseResponse {\r\n id: string;\r\n organizationId: string;\r\n folderId: string;\r\n type: number;\r\n name: string;\r\n notes: string;\r\n fields: FieldApi[];\r\n login: LoginApi;\r\n card: CardApi;\r\n identity: IdentityApi;\r\n secureNote: SecureNoteApi;\r\n favorite: boolean;\r\n edit: boolean;\r\n viewPassword: boolean;\r\n organizationUseTotp: boolean;\r\n revisionDate: string;\r\n attachments: AttachmentResponse[];\r\n passwordHistory: PasswordHistoryResponse[];\r\n collectionIds: string[];\r\n deletedDate: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.organizationId = this.getResponseProperty('OrganizationId');\r\n this.folderId = this.getResponseProperty('FolderId') || null;\r\n this.type = this.getResponseProperty('Type');\r\n this.name = this.getResponseProperty('Name');\r\n this.notes = this.getResponseProperty('Notes');\r\n this.favorite = this.getResponseProperty('Favorite') || false;\r\n this.edit = !!this.getResponseProperty('Edit');\r\n if (this.getResponseProperty('ViewPassword') == null) {\r\n this.viewPassword = true;\r\n } else {\r\n this.viewPassword = this.getResponseProperty('ViewPassword');\r\n }\r\n this.organizationUseTotp = this.getResponseProperty('OrganizationUseTotp');\r\n this.revisionDate = this.getResponseProperty('RevisionDate');\r\n this.collectionIds = this.getResponseProperty('CollectionIds');\r\n this.deletedDate = this.getResponseProperty('DeletedDate');\r\n\r\n const login = this.getResponseProperty('Login');\r\n if (login != null) {\r\n this.login = new LoginApi(login);\r\n }\r\n\r\n const card = this.getResponseProperty('Card');\r\n if (card != null) {\r\n this.card = new CardApi(card);\r\n }\r\n\r\n const identity = this.getResponseProperty('Identity');\r\n if (identity != null) {\r\n this.identity = new IdentityApi(identity);\r\n }\r\n\r\n const secureNote = this.getResponseProperty('SecureNote');\r\n if (secureNote != null) {\r\n this.secureNote = new SecureNoteApi(secureNote);\r\n }\r\n\r\n const fields = this.getResponseProperty('Fields');\r\n if (fields != null) {\r\n this.fields = fields.map((f: any) => new FieldApi(f));\r\n }\r\n\r\n const attachments = this.getResponseProperty('Attachments');\r\n if (attachments != null) {\r\n this.attachments = attachments.map((a: any) => new AttachmentResponse(a));\r\n }\r\n\r\n const passwordHistory = this.getResponseProperty('PasswordHistory');\r\n if (passwordHistory != null) {\r\n this.passwordHistory = passwordHistory.map((h: any) => new PasswordHistoryResponse(h));\r\n }\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\nimport { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\r\n\r\nexport class CollectionResponse extends BaseResponse {\r\n id: string;\r\n organizationId: string;\r\n name: string;\r\n externalId: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.organizationId = this.getResponseProperty('OrganizationId');\r\n this.name = this.getResponseProperty('Name');\r\n this.externalId = this.getResponseProperty('ExternalId');\r\n }\r\n}\r\n\r\nexport class CollectionDetailsResponse extends CollectionResponse {\r\n readOnly: boolean;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.readOnly = this.getResponseProperty('ReadOnly') || false;\r\n }\r\n}\r\n\r\nexport class CollectionGroupDetailsResponse extends CollectionResponse {\r\n groups: SelectionReadOnlyResponse[] = [];\r\n\r\n constructor(response: any) {\r\n super(response);\r\n const groups = this.getResponseProperty('Groups');\r\n if (groups != null) {\r\n this.groups = groups.map((g: any) => new SelectionReadOnlyResponse(g));\r\n }\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\nimport { GlobalDomainResponse } from './globalDomainResponse';\r\n\r\nexport class DomainsResponse extends BaseResponse {\r\n equivalentDomains: string[][];\r\n globalEquivalentDomains: GlobalDomainResponse[] = [];\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.equivalentDomains = this.getResponseProperty('EquivalentDomains');\r\n const globalEquivalentDomains = this.getResponseProperty('GlobalEquivalentDomains');\r\n if (globalEquivalentDomains != null) {\r\n this.globalEquivalentDomains = globalEquivalentDomains.map((d: any) => new GlobalDomainResponse(d));\r\n } else {\r\n this.globalEquivalentDomains = [];\r\n }\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class FolderResponse extends BaseResponse {\r\n id: string;\r\n name: string;\r\n revisionDate: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.name = this.getResponseProperty('Name');\r\n this.revisionDate = this.getResponseProperty('RevisionDate');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\nimport { PlanResponse } from './planResponse';\r\n\r\nimport { PlanType } from '../../enums/planType';\r\n\r\nexport class OrganizationResponse extends BaseResponse {\r\n id: string;\r\n identifier: string;\r\n name: string;\r\n businessName: string;\r\n businessAddress1: string;\r\n businessAddress2: string;\r\n businessAddress3: string;\r\n businessCountry: string;\r\n businessTaxNumber: string;\r\n billingEmail: string;\r\n plan: PlanResponse;\r\n planType: PlanType;\r\n seats: number;\r\n maxCollections: number;\r\n maxStorageGb: number;\r\n useGroups: boolean;\r\n useDirectory: boolean;\r\n useEvents: boolean;\r\n useTotp: boolean;\r\n use2fa: boolean;\r\n useApi: boolean;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.identifier = this.getResponseProperty('Identifier');\r\n this.name = this.getResponseProperty('Name');\r\n this.businessName = this.getResponseProperty('BusinessName');\r\n this.businessAddress1 = this.getResponseProperty('BusinessAddress1');\r\n this.businessAddress2 = this.getResponseProperty('BusinessAddress2');\r\n this.businessAddress3 = this.getResponseProperty('BusinessAddress3');\r\n this.businessCountry = this.getResponseProperty('BusinessCountry');\r\n this.businessTaxNumber = this.getResponseProperty('BusinessTaxNumber');\r\n this.billingEmail = this.getResponseProperty('BillingEmail');\r\n const plan = this.getResponseProperty('Plan');\r\n this.plan = plan == null ? null : new PlanResponse(plan);\r\n this.planType = this.getResponseProperty('PlanType');\r\n this.seats = this.getResponseProperty('Seats');\r\n this.maxCollections = this.getResponseProperty('MaxCollections');\r\n this.maxStorageGb = this.getResponseProperty('MaxStorageGb');\r\n this.useGroups = this.getResponseProperty('UseGroups');\r\n this.useDirectory = this.getResponseProperty('UseDirectory');\r\n this.useEvents = this.getResponseProperty('UseEvents');\r\n this.useTotp = this.getResponseProperty('UseTotp');\r\n this.use2fa = this.getResponseProperty('Use2fa');\r\n this.useApi = this.getResponseProperty('UseApi');\r\n }\r\n}\r\n","import { PlanType } from '../../enums/planType';\r\nimport { ProductType } from '../../enums/productType';\r\n\r\nimport { BaseResponse } from './baseResponse';\r\n\r\nexport class PlanResponse extends BaseResponse {\r\n type: PlanType;\r\n product: ProductType;\r\n name: string;\r\n isAnnual: boolean;\r\n nameLocalizationKey: string;\r\n descriptionLocalizationKey: string;\r\n canBeUsedByBusiness: boolean;\r\n baseSeats: number;\r\n baseStorageGb: number;\r\n maxCollections: number;\r\n maxUsers: number;\r\n\r\n hasAdditionalSeatsOption: boolean;\r\n maxAdditionalSeats: number;\r\n hasAdditionalStorageOption: boolean;\r\n maxAdditionalStorage: number;\r\n hasPremiumAccessOption: boolean;\r\n trialPeriodDays: number;\r\n\r\n hasSelfHost: boolean;\r\n hasPolicies: boolean;\r\n hasGroups: boolean;\r\n hasDirectory: boolean;\r\n hasEvents: boolean;\r\n hasTotp: boolean;\r\n has2fa: boolean;\r\n hasApi: boolean;\r\n hasSso: boolean;\r\n usersGetPremium: boolean;\r\n\r\n upgradeSortOrder: number;\r\n displaySortOrder: number;\r\n legacyYear: number;\r\n disabled: boolean;\r\n\r\n stripePlanId: string;\r\n stripeSeatPlanId: string;\r\n stripeStoragePlanId: string;\r\n stripePremiumAccessPlanId: string;\r\n basePrice: number;\r\n seatPrice: number;\r\n additionalStoragePricePerGb: number;\r\n premiumAccessOptionPrice: number;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.type = this.getResponseProperty('Type');\r\n this.product = this.getResponseProperty('Product');\r\n this.name = this.getResponseProperty('Name');\r\n this.isAnnual = this.getResponseProperty('IsAnnual');\r\n this.nameLocalizationKey = this.getResponseProperty('NameLocalizationKey');\r\n this.descriptionLocalizationKey = this.getResponseProperty('DescriptionLocalizationKey');\r\n this.canBeUsedByBusiness = this.getResponseProperty('CanBeUsedByBusiness');\r\n this.baseSeats = this.getResponseProperty('BaseSeats');\r\n this.baseStorageGb = this.getResponseProperty('BaseStorageGb');\r\n this.maxCollections = this.getResponseProperty('MaxCollections');\r\n this.maxUsers = this.getResponseProperty('MaxUsers');\r\n this.hasAdditionalSeatsOption = this.getResponseProperty('HasAdditionalSeatsOption');\r\n this.maxAdditionalSeats = this.getResponseProperty('MaxAdditionalSeats');\r\n this.hasAdditionalStorageOption = this.getResponseProperty('HasAdditionalStorageOption');\r\n this.maxAdditionalStorage = this.getResponseProperty('MaxAdditionalStorage');\r\n this.hasPremiumAccessOption = this.getResponseProperty('HasPremiumAccessOption');\r\n this.trialPeriodDays = this.getResponseProperty('TrialPeriodDays');\r\n this.hasSelfHost = this.getResponseProperty('HasSelfHost');\r\n this.hasPolicies = this.getResponseProperty('HasPolicies');\r\n this.hasGroups = this.getResponseProperty('HasGroups');\r\n this.hasDirectory = this.getResponseProperty('HasDirectory');\r\n this.hasEvents = this.getResponseProperty('HasEvents');\r\n this.hasTotp = this.getResponseProperty('HasTotp');\r\n this.has2fa = this.getResponseProperty('Has2fa');\r\n this.hasApi = this.getResponseProperty('HasApi');\r\n this.hasSso = this.getResponseProperty('HasSso');\r\n this.usersGetPremium = this.getResponseProperty('UsersGetPremium');\r\n this.upgradeSortOrder = this.getResponseProperty('UpgradeSortOrder');\r\n this.displaySortOrder = this.getResponseProperty('SortOrder');\r\n this.legacyYear = this.getResponseProperty('LegacyYear');\r\n this.disabled = this.getResponseProperty('Disabled');\r\n this.stripePlanId = this.getResponseProperty('StripePlanId');\r\n this.stripeSeatPlanId = this.getResponseProperty('StripeSeatPlanId');\r\n this.stripeStoragePlanId = this.getResponseProperty('StripeStoragePlanId');\r\n this.stripePremiumAccessPlanId = this.getResponseProperty('StripePremiumAccessPlanId');\r\n this.basePrice = this.getResponseProperty('BasePrice');\r\n this.seatPrice = this.getResponseProperty('SeatPrice');\r\n this.additionalStoragePricePerGb = this.getResponseProperty('AdditionalStoragePricePerGb');\r\n this.premiumAccessOptionPrice = this.getResponseProperty('PremiumAccessOptionPrice');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class SubscriptionResponse extends BaseResponse {\r\n storageName: string;\r\n storageGb: number;\r\n maxStorageGb: number;\r\n subscription: BillingSubscriptionResponse;\r\n upcomingInvoice: BillingSubscriptionUpcomingInvoiceResponse;\r\n license: any;\r\n expiration: string;\r\n usingInAppPurchase: boolean;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.storageName = this.getResponseProperty('StorageName');\r\n this.storageGb = this.getResponseProperty('StorageGb');\r\n this.maxStorageGb = this.getResponseProperty('MaxStorageGb');\r\n this.license = this.getResponseProperty('License');\r\n this.expiration = this.getResponseProperty('Expiration');\r\n this.usingInAppPurchase = this.getResponseProperty('UsingInAppPurchase');\r\n const subscription = this.getResponseProperty('Subscription');\r\n const upcomingInvoice = this.getResponseProperty('UpcomingInvoice');\r\n this.subscription = subscription == null ? null : new BillingSubscriptionResponse(subscription);\r\n this.upcomingInvoice = upcomingInvoice == null ? null :\r\n new BillingSubscriptionUpcomingInvoiceResponse(upcomingInvoice);\r\n }\r\n}\r\n\r\nexport class BillingSubscriptionResponse extends BaseResponse {\r\n trialStartDate: string;\r\n trialEndDate: string;\r\n periodStartDate: string;\r\n periodEndDate: string;\r\n cancelledDate: string;\r\n cancelAtEndDate: boolean;\r\n status: string;\r\n cancelled: boolean;\r\n items: BillingSubscriptionItemResponse[] = [];\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.trialEndDate = this.getResponseProperty('TrialStartDate');\r\n this.trialEndDate = this.getResponseProperty('TrialEndDate');\r\n this.periodStartDate = this.getResponseProperty('PeriodStartDate');\r\n this.periodEndDate = this.getResponseProperty('PeriodEndDate');\r\n this.cancelledDate = this.getResponseProperty('CancelledDate');\r\n this.cancelAtEndDate = this.getResponseProperty('CancelAtEndDate');\r\n this.status = this.getResponseProperty('Status');\r\n this.cancelled = this.getResponseProperty('Cancelled');\r\n const items = this.getResponseProperty('Items');\r\n if (items != null) {\r\n this.items = items.map((i: any) => new BillingSubscriptionItemResponse(i));\r\n }\r\n }\r\n}\r\n\r\nexport class BillingSubscriptionItemResponse extends BaseResponse {\r\n name: string;\r\n amount: number;\r\n quantity: number;\r\n interval: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.name = this.getResponseProperty('Name');\r\n this.amount = this.getResponseProperty('Amount');\r\n this.quantity = this.getResponseProperty('Quantity');\r\n this.interval = this.getResponseProperty('Interval');\r\n }\r\n}\r\n\r\nexport class BillingSubscriptionUpcomingInvoiceResponse extends BaseResponse {\r\n date: string;\r\n amount: number;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.date = this.getResponseProperty('Date');\r\n this.amount = this.getResponseProperty('Amount');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nimport { PolicyType } from '../../enums/policyType';\r\n\r\nexport class PolicyResponse extends BaseResponse {\r\n id: string;\r\n organizationId: string;\r\n type: PolicyType;\r\n data: any;\r\n enabled: boolean;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.organizationId = this.getResponseProperty('OrganizationId');\r\n this.type = this.getResponseProperty('Type');\r\n this.data = this.getResponseProperty('Data');\r\n this.enabled = this.getResponseProperty('Enabled');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nimport { SendType } from '../../enums/sendType';\r\n\r\nimport { SendFileApi } from '../api/sendFileApi';\r\nimport { SendTextApi } from '../api/sendTextApi';\r\n\r\nexport class SendResponse extends BaseResponse {\r\n id: string;\r\n accessId: string;\r\n type: SendType;\r\n name: string;\r\n notes: string;\r\n file: SendFileApi;\r\n text: SendTextApi;\r\n key: string;\r\n maxAccessCount?: number;\r\n accessCount: number;\r\n revisionDate: string;\r\n expirationDate: string;\r\n deletionDate: string;\r\n password: string;\r\n disable: boolean;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.accessId = this.getResponseProperty('AccessId');\r\n this.type = this.getResponseProperty('Type');\r\n this.name = this.getResponseProperty('Name');\r\n this.notes = this.getResponseProperty('Notes');\r\n this.key = this.getResponseProperty('Key');\r\n this.maxAccessCount = this.getResponseProperty('MaxAccessCount');\r\n this.accessCount = this.getResponseProperty('AccessCount');\r\n this.revisionDate = this.getResponseProperty('RevisionDate');\r\n this.expirationDate = this.getResponseProperty('ExpirationDate');\r\n this.deletionDate = this.getResponseProperty('DeletionDate');\r\n this.password = this.getResponseProperty('Password');\r\n this.disable = this.getResponseProperty('Disabled') || false;\r\n\r\n const text = this.getResponseProperty('Text');\r\n if (text != null) {\r\n this.text = new SendTextApi(text);\r\n }\r\n\r\n const file = this.getResponseProperty('File');\r\n if (file != null) {\r\n this.file = new SendFileApi(file);\r\n }\r\n }\r\n}\r\n","import { Utils } from '../misc/utils';\r\n\r\nimport { AppIdService as AppIdServiceAbstraction } from '../abstractions/appId.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\n\r\nexport class AppIdService implements AppIdServiceAbstraction {\r\n constructor(private storageService: StorageService) {\r\n }\r\n\r\n getAppId(): Promise {\r\n return this.makeAndGetAppId('appId');\r\n }\r\n\r\n getAnonymousAppId(): Promise {\r\n return this.makeAndGetAppId('anonymousAppId');\r\n }\r\n\r\n private async makeAndGetAppId(key: string) {\r\n const existingId = await this.storageService.get(key);\r\n if (existingId != null) {\r\n return existingId;\r\n }\r\n\r\n const guid = Utils.newGuid();\r\n await this.storageService.save(key, guid);\r\n return guid;\r\n }\r\n}\r\n","import { ApiService } from '../abstractions/api.service';\r\nimport { AuditService as AuditServiceAbstraction } from '../abstractions/audit.service';\r\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\r\n\r\nimport { throttle } from '../misc/throttle';\r\nimport { Utils } from '../misc/utils';\r\n\r\nimport { BreachAccountResponse } from '../models/response/breachAccountResponse';\r\nimport { ErrorResponse } from '../models/response/errorResponse';\r\n\r\nconst PwnedPasswordsApi = 'https://api.pwnedpasswords.com/range/';\r\n\r\nexport class AuditService implements AuditServiceAbstraction {\r\n constructor(private cryptoFunctionService: CryptoFunctionService, private apiService: ApiService) { }\r\n\r\n @throttle(100, () => 'passwordLeaked')\r\n async passwordLeaked(password: string): Promise {\r\n const hashBytes = await this.cryptoFunctionService.hash(password, 'sha1');\r\n const hash = Utils.fromBufferToHex(hashBytes).toUpperCase();\r\n const hashStart = hash.substr(0, 5);\r\n const hashEnding = hash.substr(5);\r\n\r\n const response = await this.apiService.nativeFetch(new Request(PwnedPasswordsApi + hashStart));\r\n const leakedHashes = await response.text();\r\n const match = leakedHashes.split(/\\r?\\n/).find((v) => {\r\n return v.split(':')[0] === hashEnding;\r\n });\r\n\r\n return match != null ? parseInt(match.split(':')[1], 10) : 0;\r\n }\r\n\r\n async breachedAccounts(username: string): Promise {\r\n try {\r\n return await this.apiService.getHibpBreach(username);\r\n } catch (e) {\r\n const error = e as ErrorResponse;\r\n if (error.statusCode === 404) {\r\n return [];\r\n }\r\n throw new Error();\r\n }\r\n }\r\n}\r\n","import { CipherType } from '../enums/cipherType';\r\nimport { FieldType } from '../enums/fieldType';\r\nimport { UriMatchType } from '../enums/uriMatchType';\r\n\r\nimport { CipherData } from '../models/data/cipherData';\r\n\r\nimport { Attachment } from '../models/domain/attachment';\r\nimport { Card } from '../models/domain/card';\r\nimport { Cipher } from '../models/domain/cipher';\r\nimport { CipherString } from '../models/domain/cipherString';\r\nimport Domain from '../models/domain/domainBase';\r\nimport { Field } from '../models/domain/field';\r\nimport { Identity } from '../models/domain/identity';\r\nimport { Login } from '../models/domain/login';\r\nimport { LoginUri } from '../models/domain/loginUri';\r\nimport { Password } from '../models/domain/password';\r\nimport { SecureNote } from '../models/domain/secureNote';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\n\r\nimport { CipherBulkDeleteRequest } from '../models/request/cipherBulkDeleteRequest';\r\nimport { CipherBulkMoveRequest } from '../models/request/cipherBulkMoveRequest';\r\nimport { CipherBulkRestoreRequest } from '../models/request/cipherBulkRestoreRequest';\r\nimport { CipherBulkShareRequest } from '../models/request/cipherBulkShareRequest';\r\nimport { CipherCollectionsRequest } from '../models/request/cipherCollectionsRequest';\r\nimport { CipherCreateRequest } from '../models/request/cipherCreateRequest';\r\nimport { CipherRequest } from '../models/request/cipherRequest';\r\nimport { CipherShareRequest } from '../models/request/cipherShareRequest';\r\n\r\nimport { CipherResponse } from '../models/response/cipherResponse';\r\nimport { ErrorResponse } from '../models/response/errorResponse';\r\n\r\nimport { AttachmentView } from '../models/view/attachmentView';\r\nimport { CipherView } from '../models/view/cipherView';\r\nimport { FieldView } from '../models/view/fieldView';\r\nimport { PasswordHistoryView } from '../models/view/passwordHistoryView';\r\nimport { View } from '../models/view/view';\r\n\r\nimport { SortedCiphersCache } from '../models/domain/sortedCiphersCache';\r\n\r\nimport { ApiService } from '../abstractions/api.service';\r\nimport { CipherService as CipherServiceAbstraction } from '../abstractions/cipher.service';\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport { I18nService } from '../abstractions/i18n.service';\r\nimport { SearchService } from '../abstractions/search.service';\r\nimport { SettingsService } from '../abstractions/settings.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\n\r\nimport { ConstantsService } from './constants.service';\r\n\r\nimport { sequentialize } from '../misc/sequentialize';\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst Keys = {\r\n ciphersPrefix: 'ciphers_',\r\n localData: 'sitesLocalData',\r\n neverDomains: 'neverDomains',\r\n};\r\n\r\nconst DomainMatchBlacklist = new Map>([\r\n ['google.com', new Set(['script.google.com'])],\r\n]);\r\n\r\nexport class CipherService implements CipherServiceAbstraction {\r\n // tslint:disable-next-line\r\n _decryptedCipherCache: CipherView[];\r\n\r\n private sortedCiphersCache: SortedCiphersCache = new SortedCiphersCache(this.sortCiphersByLastUsed);\r\n\r\n constructor(private cryptoService: CryptoService, private userService: UserService,\r\n private settingsService: SettingsService, private apiService: ApiService,\r\n private storageService: StorageService, private i18nService: I18nService,\r\n private searchService: () => SearchService) {\r\n }\r\n\r\n get decryptedCipherCache() {\r\n return this._decryptedCipherCache;\r\n }\r\n set decryptedCipherCache(value: CipherView[]) {\r\n this._decryptedCipherCache = value;\r\n if (this.searchService != null) {\r\n if (value == null) {\r\n this.searchService().clearIndex();\r\n } else {\r\n this.searchService().indexCiphers();\r\n }\r\n }\r\n }\r\n\r\n clearCache(): void {\r\n this.decryptedCipherCache = null;\r\n this.sortedCiphersCache.clear();\r\n }\r\n\r\n async encrypt(model: CipherView, key?: SymmetricCryptoKey, originalCipher: Cipher = null): Promise {\r\n // Adjust password history\r\n if (model.id != null) {\r\n if (originalCipher == null) {\r\n originalCipher = await this.get(model.id);\r\n }\r\n if (originalCipher != null) {\r\n const existingCipher = await originalCipher.decrypt();\r\n model.passwordHistory = existingCipher.passwordHistory || [];\r\n if (model.type === CipherType.Login && existingCipher.type === CipherType.Login) {\r\n if (existingCipher.login.password != null && existingCipher.login.password !== '' &&\r\n existingCipher.login.password !== model.login.password) {\r\n const ph = new PasswordHistoryView();\r\n ph.password = existingCipher.login.password;\r\n ph.lastUsedDate = model.login.passwordRevisionDate = new Date();\r\n model.passwordHistory.splice(0, 0, ph);\r\n } else {\r\n model.login.passwordRevisionDate = existingCipher.login.passwordRevisionDate;\r\n }\r\n }\r\n if (existingCipher.hasFields) {\r\n const existingHiddenFields = existingCipher.fields.filter((f) => f.type === FieldType.Hidden &&\r\n f.name != null && f.name !== '' && f.value != null && f.value !== '');\r\n const hiddenFields = model.fields == null ? [] :\r\n model.fields.filter((f) => f.type === FieldType.Hidden && f.name != null && f.name !== '');\r\n existingHiddenFields.forEach((ef) => {\r\n const matchedField = hiddenFields.find((f) => f.name === ef.name);\r\n if (matchedField == null || matchedField.value !== ef.value) {\r\n const ph = new PasswordHistoryView();\r\n ph.password = ef.name + ': ' + ef.value;\r\n ph.lastUsedDate = new Date();\r\n model.passwordHistory.splice(0, 0, ph);\r\n }\r\n });\r\n }\r\n }\r\n if (model.passwordHistory != null && model.passwordHistory.length === 0) {\r\n model.passwordHistory = null;\r\n } else if (model.passwordHistory != null && model.passwordHistory.length > 5) {\r\n // only save last 5 history\r\n model.passwordHistory = model.passwordHistory.slice(0, 5);\r\n }\r\n }\r\n\r\n const cipher = new Cipher();\r\n cipher.id = model.id;\r\n cipher.folderId = model.folderId;\r\n cipher.favorite = model.favorite;\r\n cipher.organizationId = model.organizationId;\r\n cipher.type = model.type;\r\n cipher.collectionIds = model.collectionIds;\r\n cipher.revisionDate = model.revisionDate;\r\n\r\n if (key == null && cipher.organizationId != null) {\r\n key = await this.cryptoService.getOrgKey(cipher.organizationId);\r\n if (key == null) {\r\n throw new Error('Cannot encrypt cipher for organization. No key.');\r\n }\r\n }\r\n await Promise.all([\r\n this.encryptObjProperty(model, cipher, {\r\n name: null,\r\n notes: null,\r\n }, key),\r\n this.encryptCipherData(cipher, model, key),\r\n this.encryptFields(model.fields, key).then((fields) => {\r\n cipher.fields = fields;\r\n }),\r\n this.encryptPasswordHistories(model.passwordHistory, key).then((ph) => {\r\n cipher.passwordHistory = ph;\r\n }),\r\n this.encryptAttachments(model.attachments, key).then((attachments) => {\r\n cipher.attachments = attachments;\r\n }),\r\n ]);\r\n\r\n return cipher;\r\n }\r\n\r\n async encryptAttachments(attachmentsModel: AttachmentView[], key: SymmetricCryptoKey): Promise {\r\n if (attachmentsModel == null || attachmentsModel.length === 0) {\r\n return null;\r\n }\r\n\r\n const promises: Promise[] = [];\r\n const encAttachments: Attachment[] = [];\r\n attachmentsModel.forEach(async (model) => {\r\n const attachment = new Attachment();\r\n attachment.id = model.id;\r\n attachment.size = model.size;\r\n attachment.sizeName = model.sizeName;\r\n attachment.url = model.url;\r\n const promise = this.encryptObjProperty(model, attachment, {\r\n fileName: null,\r\n }, key).then(async () => {\r\n if (model.key != null) {\r\n attachment.key = await this.cryptoService.encrypt(model.key.key, key);\r\n }\r\n encAttachments.push(attachment);\r\n });\r\n promises.push(promise);\r\n });\r\n\r\n await Promise.all(promises);\r\n return encAttachments;\r\n }\r\n\r\n async encryptFields(fieldsModel: FieldView[], key: SymmetricCryptoKey): Promise {\r\n if (!fieldsModel || !fieldsModel.length) {\r\n return null;\r\n }\r\n\r\n const self = this;\r\n const encFields: Field[] = [];\r\n await fieldsModel.reduce((promise, field) => {\r\n return promise.then(() => {\r\n return self.encryptField(field, key);\r\n }).then((encField: Field) => {\r\n encFields.push(encField);\r\n });\r\n }, Promise.resolve());\r\n\r\n return encFields;\r\n }\r\n\r\n async encryptField(fieldModel: FieldView, key: SymmetricCryptoKey): Promise {\r\n const field = new Field();\r\n field.type = fieldModel.type;\r\n // normalize boolean type field values\r\n if (fieldModel.type === FieldType.Boolean && fieldModel.value !== 'true') {\r\n fieldModel.value = 'false';\r\n }\r\n\r\n await this.encryptObjProperty(fieldModel, field, {\r\n name: null,\r\n value: null,\r\n }, key);\r\n\r\n return field;\r\n }\r\n\r\n async encryptPasswordHistories(phModels: PasswordHistoryView[], key: SymmetricCryptoKey): Promise {\r\n if (!phModels || !phModels.length) {\r\n return null;\r\n }\r\n\r\n const self = this;\r\n const encPhs: Password[] = [];\r\n await phModels.reduce((promise, ph) => {\r\n return promise.then(() => {\r\n return self.encryptPasswordHistory(ph, key);\r\n }).then((encPh: Password) => {\r\n encPhs.push(encPh);\r\n });\r\n }, Promise.resolve());\r\n\r\n return encPhs;\r\n }\r\n\r\n async encryptPasswordHistory(phModel: PasswordHistoryView, key: SymmetricCryptoKey): Promise {\r\n const ph = new Password();\r\n ph.lastUsedDate = phModel.lastUsedDate;\r\n\r\n await this.encryptObjProperty(phModel, ph, {\r\n password: null,\r\n }, key);\r\n\r\n return ph;\r\n }\r\n\r\n async get(id: string): Promise {\r\n const userId = await this.userService.getUserId();\r\n const localData = await this.storageService.get(Keys.localData);\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n if (ciphers == null || !ciphers.hasOwnProperty(id)) {\r\n return null;\r\n }\r\n\r\n return new Cipher(ciphers[id], false, localData ? localData[id] : null);\r\n }\r\n\r\n async getAll(): Promise {\r\n const userId = await this.userService.getUserId();\r\n const localData = await this.storageService.get(Keys.localData);\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n const response: Cipher[] = [];\r\n for (const id in ciphers) {\r\n if (ciphers.hasOwnProperty(id)) {\r\n response.push(new Cipher(ciphers[id], false, localData ? localData[id] : null));\r\n }\r\n }\r\n return response;\r\n }\r\n\r\n @sequentialize(() => 'getAllDecrypted')\r\n async getAllDecrypted(): Promise {\r\n if (this.decryptedCipherCache != null) {\r\n return this.decryptedCipherCache;\r\n }\r\n\r\n const decCiphers: CipherView[] = [];\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n throw new Error('No key.');\r\n }\r\n\r\n const promises: any[] = [];\r\n const ciphers = await this.getAll();\r\n ciphers.forEach((cipher) => {\r\n promises.push(cipher.decrypt().then((c) => decCiphers.push(c)));\r\n });\r\n\r\n await Promise.all(promises);\r\n decCiphers.sort(this.getLocaleSortingFunction());\r\n this.decryptedCipherCache = decCiphers;\r\n return this.decryptedCipherCache;\r\n }\r\n\r\n async getAllDecryptedForGrouping(groupingId: string, folder: boolean = true): Promise {\r\n const ciphers = await this.getAllDecrypted();\r\n\r\n return ciphers.filter((cipher) => {\r\n if (cipher.isDeleted) {\r\n return false;\r\n }\r\n if (folder && cipher.folderId === groupingId) {\r\n return true;\r\n } else if (!folder && cipher.collectionIds != null && cipher.collectionIds.indexOf(groupingId) > -1) {\r\n return true;\r\n }\r\n\r\n return false;\r\n });\r\n }\r\n\r\n async getAllDecryptedForUrl(url: string, includeOtherTypes?: CipherType[],\r\n defaultMatch: UriMatchType = null): Promise {\r\n if (url == null && includeOtherTypes == null) {\r\n return Promise.resolve([]);\r\n }\r\n\r\n const domain = Utils.getDomain(url);\r\n const eqDomainsPromise = domain == null ? Promise.resolve([]) :\r\n this.settingsService.getEquivalentDomains().then((eqDomains: any[][]) => {\r\n let matches: any[] = [];\r\n eqDomains.forEach((eqDomain) => {\r\n if (eqDomain.length && eqDomain.indexOf(domain) >= 0) {\r\n matches = matches.concat(eqDomain);\r\n }\r\n });\r\n\r\n if (!matches.length) {\r\n matches.push(domain);\r\n }\r\n\r\n return matches;\r\n });\r\n\r\n const result = await Promise.all([eqDomainsPromise, this.getAllDecrypted()]);\r\n const matchingDomains = result[0];\r\n const ciphers = result[1];\r\n\r\n if (defaultMatch == null) {\r\n defaultMatch = await this.storageService.get(ConstantsService.defaultUriMatch);\r\n if (defaultMatch == null) {\r\n defaultMatch = UriMatchType.Domain;\r\n }\r\n }\r\n\r\n return ciphers.filter((cipher) => {\r\n if (cipher.deletedDate != null) {\r\n return false;\r\n }\r\n if (includeOtherTypes != null && includeOtherTypes.indexOf(cipher.type) > -1) {\r\n return true;\r\n }\r\n\r\n if (url != null && cipher.type === CipherType.Login && cipher.login.uris != null) {\r\n for (let i = 0; i < cipher.login.uris.length; i++) {\r\n const u = cipher.login.uris[i];\r\n if (u.uri == null) {\r\n continue;\r\n }\r\n\r\n const match = u.match == null ? defaultMatch : u.match;\r\n switch (match) {\r\n case UriMatchType.Domain:\r\n if (domain != null && u.domain != null && matchingDomains.indexOf(u.domain) > -1) {\r\n if (DomainMatchBlacklist.has(u.domain)) {\r\n const domainUrlHost = Utils.getHost(url);\r\n if (!DomainMatchBlacklist.get(u.domain).has(domainUrlHost)) {\r\n return true;\r\n }\r\n } else {\r\n return true;\r\n }\r\n }\r\n break;\r\n case UriMatchType.Host:\r\n const urlHost = Utils.getHost(url);\r\n if (urlHost != null && urlHost === Utils.getHost(u.uri)) {\r\n return true;\r\n }\r\n break;\r\n case UriMatchType.Exact:\r\n if (url === u.uri) {\r\n return true;\r\n }\r\n break;\r\n case UriMatchType.StartsWith:\r\n if (url.startsWith(u.uri)) {\r\n return true;\r\n }\r\n break;\r\n case UriMatchType.RegularExpression:\r\n try {\r\n const regex = new RegExp(u.uri, 'i');\r\n if (regex.test(url)) {\r\n return true;\r\n }\r\n } catch { }\r\n break;\r\n case UriMatchType.Never:\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n });\r\n }\r\n\r\n async getAllFromApiForOrganization(organizationId: string): Promise {\r\n const ciphers = await this.apiService.getCiphersOrganization(organizationId);\r\n if (ciphers != null && ciphers.data != null && ciphers.data.length) {\r\n const decCiphers: CipherView[] = [];\r\n const promises: any[] = [];\r\n ciphers.data.forEach((r) => {\r\n const data = new CipherData(r);\r\n const cipher = new Cipher(data);\r\n promises.push(cipher.decrypt().then((c) => decCiphers.push(c)));\r\n });\r\n await Promise.all(promises);\r\n decCiphers.sort(this.getLocaleSortingFunction());\r\n return decCiphers;\r\n } else {\r\n return [];\r\n }\r\n }\r\n\r\n async getLastUsedForUrl(url: string): Promise {\r\n return this.getCipherForUrl(url, true, false);\r\n }\r\n\r\n async getLastLaunchedForUrl(url: string): Promise {\r\n return this.getCipherForUrl(url, false, true);\r\n }\r\n\r\n async getNextCipherForUrl(url: string): Promise {\r\n return this.getCipherForUrl(url, false, false);\r\n }\r\n\r\n updateLastUsedIndexForUrl(url: string) {\r\n this.sortedCiphersCache.updateLastUsedIndex(url);\r\n }\r\n\r\n async updateLastUsedDate(id: string): Promise {\r\n let ciphersLocalData = await this.storageService.get(Keys.localData);\r\n if (!ciphersLocalData) {\r\n ciphersLocalData = {};\r\n }\r\n\r\n if (ciphersLocalData[id]) {\r\n ciphersLocalData[id].lastUsedDate = new Date().getTime();\r\n } else {\r\n ciphersLocalData[id] = {\r\n lastUsedDate: new Date().getTime(),\r\n };\r\n }\r\n\r\n await this.storageService.save(Keys.localData, ciphersLocalData);\r\n\r\n if (this.decryptedCipherCache == null) {\r\n return;\r\n }\r\n\r\n for (let i = 0; i < this.decryptedCipherCache.length; i++) {\r\n const cached = this.decryptedCipherCache[i];\r\n if (cached.id === id) {\r\n cached.localData = ciphersLocalData[id];\r\n break;\r\n }\r\n }\r\n }\r\n\r\n async updateLastLaunchedDate(id: string): Promise {\r\n let ciphersLocalData = await this.storageService.get(Keys.localData);\r\n if (!ciphersLocalData) {\r\n ciphersLocalData = {};\r\n }\r\n\r\n if (ciphersLocalData[id]) {\r\n ciphersLocalData[id].lastLaunched = new Date().getTime();\r\n } else {\r\n ciphersLocalData[id] = {\r\n lastUsedDate: new Date().getTime(),\r\n };\r\n }\r\n\r\n await this.storageService.save(Keys.localData, ciphersLocalData);\r\n\r\n if (this.decryptedCipherCache == null) {\r\n return;\r\n }\r\n\r\n for (let i = 0; i < this.decryptedCipherCache.length; i++) {\r\n const cached = this.decryptedCipherCache[i];\r\n if (cached.id === id) {\r\n cached.localData = ciphersLocalData[id];\r\n break;\r\n }\r\n }\r\n }\r\n\r\n async saveNeverDomain(domain: string): Promise {\r\n if (domain == null) {\r\n return;\r\n }\r\n\r\n let domains = await this.storageService.get<{ [id: string]: any; }>(Keys.neverDomains);\r\n if (!domains) {\r\n domains = {};\r\n }\r\n domains[domain] = null;\r\n await this.storageService.save(Keys.neverDomains, domains);\r\n }\r\n\r\n async saveWithServer(cipher: Cipher): Promise {\r\n let response: CipherResponse;\r\n if (cipher.id == null) {\r\n if (cipher.collectionIds != null) {\r\n const request = new CipherCreateRequest(cipher);\r\n response = await this.apiService.postCipherCreate(request);\r\n } else {\r\n const request = new CipherRequest(cipher);\r\n response = await this.apiService.postCipher(request);\r\n }\r\n cipher.id = response.id;\r\n } else {\r\n const request = new CipherRequest(cipher);\r\n response = await this.apiService.putCipher(cipher.id, request);\r\n }\r\n\r\n const userId = await this.userService.getUserId();\r\n const data = new CipherData(response, userId, cipher.collectionIds);\r\n await this.upsert(data);\r\n }\r\n\r\n async shareWithServer(cipher: CipherView, organizationId: string, collectionIds: string[]): Promise {\r\n const attachmentPromises: Promise[] = [];\r\n if (cipher.attachments != null) {\r\n cipher.attachments.forEach((attachment) => {\r\n if (attachment.key == null) {\r\n attachmentPromises.push(this.shareAttachmentWithServer(attachment, cipher.id, organizationId));\r\n }\r\n });\r\n }\r\n await Promise.all(attachmentPromises);\r\n\r\n cipher.organizationId = organizationId;\r\n cipher.collectionIds = collectionIds;\r\n const encCipher = await this.encrypt(cipher);\r\n const request = new CipherShareRequest(encCipher);\r\n const response = await this.apiService.putShareCipher(cipher.id, request);\r\n const userId = await this.userService.getUserId();\r\n const data = new CipherData(response, userId, collectionIds);\r\n await this.upsert(data);\r\n }\r\n\r\n async shareManyWithServer(ciphers: CipherView[], organizationId: string, collectionIds: string[]): Promise {\r\n const promises: Promise[] = [];\r\n const encCiphers: Cipher[] = [];\r\n for (const cipher of ciphers) {\r\n cipher.organizationId = organizationId;\r\n cipher.collectionIds = collectionIds;\r\n promises.push(this.encrypt(cipher).then((c) => {\r\n encCiphers.push(c);\r\n }));\r\n }\r\n await Promise.all(promises);\r\n const request = new CipherBulkShareRequest(encCiphers, collectionIds);\r\n await this.apiService.putShareCiphers(request);\r\n const userId = await this.userService.getUserId();\r\n await this.upsert(encCiphers.map((c) => c.toCipherData(userId)));\r\n }\r\n\r\n saveAttachmentWithServer(cipher: Cipher, unencryptedFile: any, admin = false): Promise {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsArrayBuffer(unencryptedFile);\r\n reader.onload = async (evt: any) => {\r\n try {\r\n const cData = await this.saveAttachmentRawWithServer(cipher,\r\n unencryptedFile.name, evt.target.result, admin);\r\n resolve(cData);\r\n } catch (e) {\r\n reject(e);\r\n }\r\n };\r\n reader.onerror = (evt) => {\r\n reject('Error reading file.');\r\n };\r\n });\r\n }\r\n\r\n async saveAttachmentRawWithServer(cipher: Cipher, filename: string,\r\n data: ArrayBuffer, admin = false): Promise {\r\n const key = await this.cryptoService.getOrgKey(cipher.organizationId);\r\n const encFileName = await this.cryptoService.encrypt(filename, key);\r\n\r\n const dataEncKey = await this.cryptoService.makeEncKey(key);\r\n const encData = await this.cryptoService.encryptToBytes(data, dataEncKey[0]);\r\n\r\n const fd = new FormData();\r\n try {\r\n const blob = new Blob([encData], { type: 'application/octet-stream' });\r\n fd.append('key', dataEncKey[1].encryptedString);\r\n fd.append('data', blob, encFileName.encryptedString);\r\n } catch (e) {\r\n if (Utils.isNode && !Utils.isBrowser) {\r\n fd.append('key', dataEncKey[1].encryptedString);\r\n fd.append('data', Buffer.from(encData) as any, {\r\n filepath: encFileName.encryptedString,\r\n contentType: 'application/octet-stream',\r\n } as any);\r\n } else {\r\n throw e;\r\n }\r\n }\r\n\r\n let response: CipherResponse;\r\n try {\r\n if (admin) {\r\n response = await this.apiService.postCipherAttachmentAdmin(cipher.id, fd);\r\n } else {\r\n response = await this.apiService.postCipherAttachment(cipher.id, fd);\r\n }\r\n } catch (e) {\r\n throw new Error((e as ErrorResponse).getSingleMessage());\r\n }\r\n\r\n const userId = await this.userService.getUserId();\r\n const cData = new CipherData(response, userId, cipher.collectionIds);\r\n if (!admin) {\r\n await this.upsert(cData);\r\n }\r\n return new Cipher(cData);\r\n }\r\n\r\n async saveCollectionsWithServer(cipher: Cipher): Promise {\r\n const request = new CipherCollectionsRequest(cipher.collectionIds);\r\n await this.apiService.putCipherCollections(cipher.id, request);\r\n const userId = await this.userService.getUserId();\r\n const data = cipher.toCipherData(userId);\r\n await this.upsert(data);\r\n }\r\n\r\n async upsert(cipher: CipherData | CipherData[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n let ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n if (ciphers == null) {\r\n ciphers = {};\r\n }\r\n\r\n if (cipher instanceof CipherData) {\r\n const c = cipher as CipherData;\r\n ciphers[c.id] = c;\r\n } else {\r\n (cipher as CipherData[]).forEach((c) => {\r\n ciphers[c.id] = c;\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async replace(ciphers: { [id: string]: CipherData; }): Promise {\r\n const userId = await this.userService.getUserId();\r\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.ciphersPrefix + userId);\r\n this.clearCache();\r\n }\r\n\r\n async moveManyWithServer(ids: string[], folderId: string): Promise {\r\n await this.apiService.putMoveCiphers(new CipherBulkMoveRequest(ids, folderId));\r\n\r\n const userId = await this.userService.getUserId();\r\n let ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n if (ciphers == null) {\r\n ciphers = {};\r\n }\r\n\r\n ids.forEach((id) => {\r\n if (ciphers.hasOwnProperty(id)) {\r\n ciphers[id].folderId = folderId;\r\n }\r\n });\r\n\r\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async delete(id: string | string[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n if (ciphers == null) {\r\n return;\r\n }\r\n\r\n if (typeof id === 'string') {\r\n if (ciphers[id] == null) {\r\n return;\r\n }\r\n delete ciphers[id];\r\n } else {\r\n (id as string[]).forEach((i) => {\r\n delete ciphers[i];\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async deleteWithServer(id: string): Promise {\r\n await this.apiService.deleteCipher(id);\r\n await this.delete(id);\r\n }\r\n\r\n async deleteManyWithServer(ids: string[]): Promise {\r\n await this.apiService.deleteManyCiphers(new CipherBulkDeleteRequest(ids));\r\n await this.delete(ids);\r\n }\r\n\r\n async deleteAttachment(id: string, attachmentId: string): Promise {\r\n const userId = await this.userService.getUserId();\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n\r\n if (ciphers == null || !ciphers.hasOwnProperty(id) || ciphers[id].attachments == null) {\r\n return;\r\n }\r\n\r\n for (let i = 0; i < ciphers[id].attachments.length; i++) {\r\n if (ciphers[id].attachments[i].id === attachmentId) {\r\n ciphers[id].attachments.splice(i, 1);\r\n }\r\n }\r\n\r\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async deleteAttachmentWithServer(id: string, attachmentId: string): Promise {\r\n try {\r\n await this.apiService.deleteCipherAttachment(id, attachmentId);\r\n } catch (e) {\r\n return Promise.reject((e as ErrorResponse).getSingleMessage());\r\n }\r\n await this.deleteAttachment(id, attachmentId);\r\n }\r\n\r\n sortCiphersByLastUsed(a: CipherView, b: CipherView): number {\r\n const aLastUsed = a.localData && a.localData.lastUsedDate ? a.localData.lastUsedDate as number : null;\r\n const bLastUsed = b.localData && b.localData.lastUsedDate ? b.localData.lastUsedDate as number : null;\r\n\r\n const bothNotNull = aLastUsed != null && bLastUsed != null;\r\n if (bothNotNull && aLastUsed < bLastUsed) {\r\n return 1;\r\n }\r\n if (aLastUsed != null && bLastUsed == null) {\r\n return -1;\r\n }\r\n\r\n if (bothNotNull && aLastUsed > bLastUsed) {\r\n return -1;\r\n }\r\n if (bLastUsed != null && aLastUsed == null) {\r\n return 1;\r\n }\r\n\r\n return 0;\r\n }\r\n\r\n sortCiphersByLastUsedThenName(a: CipherView, b: CipherView): number {\r\n const result = this.sortCiphersByLastUsed(a, b);\r\n if (result !== 0) {\r\n return result;\r\n }\r\n\r\n return this.getLocaleSortingFunction()(a, b);\r\n }\r\n\r\n getLocaleSortingFunction(): (a: CipherView, b: CipherView) => number {\r\n return (a, b) => {\r\n let aName = a.name;\r\n let bName = b.name;\r\n\r\n if (aName == null && bName != null) {\r\n return -1;\r\n }\r\n if (aName != null && bName == null) {\r\n return 1;\r\n }\r\n if (aName == null && bName == null) {\r\n return 0;\r\n }\r\n\r\n const result = this.i18nService.collator ? this.i18nService.collator.compare(aName, bName) :\r\n aName.localeCompare(bName);\r\n\r\n if (result !== 0 || a.type !== CipherType.Login || b.type !== CipherType.Login) {\r\n return result;\r\n }\r\n\r\n if (a.login.username != null) {\r\n aName += a.login.username;\r\n }\r\n\r\n if (b.login.username != null) {\r\n bName += b.login.username;\r\n }\r\n\r\n return this.i18nService.collator ? this.i18nService.collator.compare(aName, bName) :\r\n aName.localeCompare(bName);\r\n };\r\n }\r\n\r\n async softDelete(id: string | string[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n if (ciphers == null) {\r\n return;\r\n }\r\n\r\n const setDeletedDate = (cipherId: string) => {\r\n if (ciphers[cipherId] == null) {\r\n return;\r\n }\r\n ciphers[cipherId].deletedDate = new Date().toISOString();\r\n };\r\n\r\n if (typeof id === 'string') {\r\n setDeletedDate(id);\r\n } else {\r\n (id as string[]).forEach(setDeletedDate);\r\n }\r\n\r\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async softDeleteWithServer(id: string): Promise {\r\n await this.apiService.putDeleteCipher(id);\r\n await this.softDelete(id);\r\n }\r\n\r\n async softDeleteManyWithServer(ids: string[]): Promise {\r\n await this.apiService.putDeleteManyCiphers(new CipherBulkDeleteRequest(ids));\r\n await this.softDelete(ids);\r\n }\r\n\r\n async restore(id: string | string[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(\r\n Keys.ciphersPrefix + userId);\r\n if (ciphers == null) {\r\n return;\r\n }\r\n\r\n const clearDeletedDate = (cipherId: string) => {\r\n if (ciphers[cipherId] == null) {\r\n return;\r\n }\r\n ciphers[cipherId].deletedDate = null;\r\n };\r\n\r\n if (typeof id === 'string') {\r\n clearDeletedDate(id);\r\n } else {\r\n (id as string[]).forEach(clearDeletedDate);\r\n }\r\n\r\n await this.storageService.save(Keys.ciphersPrefix + userId, ciphers);\r\n this.decryptedCipherCache = null;\r\n }\r\n\r\n async restoreWithServer(id: string): Promise {\r\n await this.apiService.putRestoreCipher(id);\r\n await this.restore(id);\r\n }\r\n\r\n async restoreManyWithServer(ids: string[]): Promise {\r\n await this.apiService.putRestoreManyCiphers(new CipherBulkRestoreRequest(ids));\r\n await this.restore(ids);\r\n }\r\n\r\n // Helpers\r\n\r\n private async shareAttachmentWithServer(attachmentView: AttachmentView, cipherId: string,\r\n organizationId: string): Promise {\r\n const attachmentResponse = await this.apiService.nativeFetch(\r\n new Request(attachmentView.url, { cache: 'no-store' }));\r\n if (attachmentResponse.status !== 200) {\r\n throw Error('Failed to download attachment: ' + attachmentResponse.status.toString());\r\n }\r\n\r\n const buf = await attachmentResponse.arrayBuffer();\r\n const decBuf = await this.cryptoService.decryptFromBytes(buf, null);\r\n const key = await this.cryptoService.getOrgKey(organizationId);\r\n const encFileName = await this.cryptoService.encrypt(attachmentView.fileName, key);\r\n\r\n const dataEncKey = await this.cryptoService.makeEncKey(key);\r\n const encData = await this.cryptoService.encryptToBytes(decBuf, dataEncKey[0]);\r\n\r\n const fd = new FormData();\r\n try {\r\n const blob = new Blob([encData], { type: 'application/octet-stream' });\r\n fd.append('key', dataEncKey[1].encryptedString);\r\n fd.append('data', blob, encFileName.encryptedString);\r\n } catch (e) {\r\n if (Utils.isNode && !Utils.isBrowser) {\r\n fd.append('key', dataEncKey[1].encryptedString);\r\n fd.append('data', Buffer.from(encData) as any, {\r\n filepath: encFileName.encryptedString,\r\n contentType: 'application/octet-stream',\r\n } as any);\r\n } else {\r\n throw e;\r\n }\r\n }\r\n\r\n try {\r\n await this.apiService.postShareCipherAttachment(cipherId, attachmentView.id, fd, organizationId);\r\n } catch (e) {\r\n throw new Error((e as ErrorResponse).getSingleMessage());\r\n }\r\n }\r\n\r\n private async encryptObjProperty(model: V, obj: D,\r\n map: any, key: SymmetricCryptoKey): Promise {\r\n const promises = [];\r\n const self = this;\r\n\r\n for (const prop in map) {\r\n if (!map.hasOwnProperty(prop)) {\r\n continue;\r\n }\r\n\r\n // tslint:disable-next-line\r\n (function (theProp, theObj) {\r\n const p = Promise.resolve().then(() => {\r\n const modelProp = (model as any)[(map[theProp] || theProp)];\r\n if (modelProp && modelProp !== '') {\r\n return self.cryptoService.encrypt(modelProp, key);\r\n }\r\n return null;\r\n }).then((val: CipherString) => {\r\n (theObj as any)[theProp] = val;\r\n });\r\n promises.push(p);\r\n })(prop, obj);\r\n }\r\n\r\n await Promise.all(promises);\r\n }\r\n\r\n private async encryptCipherData(cipher: Cipher, model: CipherView, key: SymmetricCryptoKey) {\r\n switch (cipher.type) {\r\n case CipherType.Login:\r\n cipher.login = new Login();\r\n cipher.login.passwordRevisionDate = model.login.passwordRevisionDate;\r\n await this.encryptObjProperty(model.login, cipher.login, {\r\n username: null,\r\n password: null,\r\n totp: null,\r\n }, key);\r\n\r\n if (model.login.uris != null) {\r\n cipher.login.uris = [];\r\n for (let i = 0; i < model.login.uris.length; i++) {\r\n const loginUri = new LoginUri();\r\n loginUri.match = model.login.uris[i].match;\r\n await this.encryptObjProperty(model.login.uris[i], loginUri, {\r\n uri: null,\r\n }, key);\r\n cipher.login.uris.push(loginUri);\r\n }\r\n }\r\n return;\r\n case CipherType.SecureNote:\r\n cipher.secureNote = new SecureNote();\r\n cipher.secureNote.type = model.secureNote.type;\r\n return;\r\n case CipherType.Card:\r\n cipher.card = new Card();\r\n await this.encryptObjProperty(model.card, cipher.card, {\r\n cardholderName: null,\r\n brand: null,\r\n number: null,\r\n expMonth: null,\r\n expYear: null,\r\n code: null,\r\n }, key);\r\n return;\r\n case CipherType.Identity:\r\n cipher.identity = new Identity();\r\n await this.encryptObjProperty(model.identity, cipher.identity, {\r\n title: null,\r\n firstName: null,\r\n middleName: null,\r\n lastName: null,\r\n address1: null,\r\n address2: null,\r\n address3: null,\r\n city: null,\r\n state: null,\r\n postalCode: null,\r\n country: null,\r\n company: null,\r\n email: null,\r\n phone: null,\r\n ssn: null,\r\n username: null,\r\n passportNumber: null,\r\n licenseNumber: null,\r\n }, key);\r\n return;\r\n default:\r\n throw new Error('Unknown cipher type.');\r\n }\r\n }\r\n\r\n private async getCipherForUrl(url: string, lastUsed: boolean, lastLaunched: boolean): Promise {\r\n if (!this.sortedCiphersCache.isCached(url)) {\r\n const ciphers = await this.getAllDecryptedForUrl(url);\r\n if (!ciphers) {\r\n return null;\r\n }\r\n this.sortedCiphersCache.addCiphers(url, ciphers);\r\n }\r\n\r\n if (lastLaunched) {\r\n return this.sortedCiphersCache.getLastLaunched(url);\r\n } else if (lastUsed) {\r\n return this.sortedCiphersCache.getLastUsed(url);\r\n } else {\r\n return this.sortedCiphersCache.getNext(url);\r\n }\r\n }\r\n}\r\n","/**\r\n * Use as a Decorator on async functions, it will prevent multiple 'active' calls as the same time\r\n *\r\n * If a promise was returned from a previous call to this function, that hasn't yet resolved it will\r\n * be returned, instead of calling the original function again\r\n *\r\n * Results are not cached, once the promise has returned, the next call will result in a fresh call\r\n *\r\n * Read more at https://github.com/bitwarden/jslib/pull/7\r\n */\r\nexport function sequentialize(cacheKey: (args: any[]) => string) {\r\n return (target: any, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\r\n const originalMethod: () => Promise = descriptor.value;\r\n const caches = new Map>>();\r\n\r\n const getCache = (obj: any) => {\r\n let cache = caches.get(obj);\r\n if (cache != null) {\r\n return cache;\r\n }\r\n cache = new Map>();\r\n caches.set(obj, cache);\r\n return cache;\r\n };\r\n\r\n return {\r\n value: function(...args: any[]) {\r\n const cache = getCache(this);\r\n const argsCacheKey = cacheKey(args);\r\n let response = cache.get(argsCacheKey);\r\n if (response != null) {\r\n return response;\r\n }\r\n\r\n const onFinally = () => {\r\n cache.delete(argsCacheKey);\r\n if (cache.size === 0) {\r\n caches.delete(this);\r\n }\r\n };\r\n response = originalMethod.apply(this, args).then((val: any) => {\r\n onFinally();\r\n return val;\r\n }).catch((err: any) => {\r\n onFinally();\r\n throw err;\r\n });\r\n\r\n cache.set(argsCacheKey, response);\r\n return response;\r\n },\r\n };\r\n };\r\n}\r\n","import { CollectionData } from '../models/data/collectionData';\r\n\r\nimport { Collection } from '../models/domain/collection';\r\nimport { TreeNode } from '../models/domain/treeNode';\r\n\r\nimport { CollectionView } from '../models/view/collectionView';\r\n\r\nimport { CollectionService as CollectionServiceAbstraction } from '../abstractions/collection.service';\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport { I18nService } from '../abstractions/i18n.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\n\r\nimport { ServiceUtils } from '../misc/serviceUtils';\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst Keys = {\r\n collectionsPrefix: 'collections_',\r\n};\r\nconst NestingDelimiter = '/';\r\n\r\nexport class CollectionService implements CollectionServiceAbstraction {\r\n decryptedCollectionCache: CollectionView[];\r\n\r\n constructor(private cryptoService: CryptoService, private userService: UserService,\r\n private storageService: StorageService, private i18nService: I18nService) {\r\n }\r\n\r\n clearCache(): void {\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async encrypt(model: CollectionView): Promise {\r\n if (model.organizationId == null) {\r\n throw new Error('Collection has no organization id.');\r\n }\r\n const key = await this.cryptoService.getOrgKey(model.organizationId);\r\n if (key == null) {\r\n throw new Error('No key for this collection\\'s organization.');\r\n }\r\n const collection = new Collection();\r\n collection.id = model.id;\r\n collection.organizationId = model.organizationId;\r\n collection.readOnly = model.readOnly;\r\n collection.name = await this.cryptoService.encrypt(model.name, key);\r\n return collection;\r\n }\r\n\r\n async decryptMany(collections: Collection[]): Promise {\r\n if (collections == null) {\r\n return [];\r\n }\r\n const decCollections: CollectionView[] = [];\r\n const promises: Promise[] = [];\r\n collections.forEach((collection) => {\r\n promises.push(collection.decrypt().then((c) => decCollections.push(c)));\r\n });\r\n await Promise.all(promises);\r\n return decCollections.sort(Utils.getSortFunction(this.i18nService, 'name'));\r\n }\r\n\r\n async get(id: string): Promise {\r\n const userId = await this.userService.getUserId();\r\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n if (collections == null || !collections.hasOwnProperty(id)) {\r\n return null;\r\n }\r\n\r\n return new Collection(collections[id]);\r\n }\r\n\r\n async getAll(): Promise {\r\n const userId = await this.userService.getUserId();\r\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n const response: Collection[] = [];\r\n for (const id in collections) {\r\n if (collections.hasOwnProperty(id)) {\r\n response.push(new Collection(collections[id]));\r\n }\r\n }\r\n return response;\r\n }\r\n\r\n async getAllDecrypted(): Promise {\r\n if (this.decryptedCollectionCache != null) {\r\n return this.decryptedCollectionCache;\r\n }\r\n\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n throw new Error('No key.');\r\n }\r\n\r\n const collections = await this.getAll();\r\n this.decryptedCollectionCache = await this.decryptMany(collections);\r\n return this.decryptedCollectionCache;\r\n }\r\n\r\n async getAllNested(collections: CollectionView[] = null): Promise[]> {\r\n if (collections == null) {\r\n collections = await this.getAllDecrypted();\r\n }\r\n const nodes: TreeNode[] = [];\r\n collections.forEach((c) => {\r\n const collectionCopy = new CollectionView();\r\n collectionCopy.id = c.id;\r\n collectionCopy.organizationId = c.organizationId;\r\n const parts = c.name != null ? c.name.replace(/^\\/+|\\/+$/g, '').split(NestingDelimiter) : [];\r\n ServiceUtils.nestedTraverse(nodes, 0, parts, collectionCopy, null, NestingDelimiter);\r\n });\r\n return nodes;\r\n }\r\n\r\n async getNested(id: string): Promise> {\r\n const collections = await this.getAllNested();\r\n return ServiceUtils.getTreeNodeObject(collections, id) as TreeNode;\r\n }\r\n\r\n async upsert(collection: CollectionData | CollectionData[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n let collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n if (collections == null) {\r\n collections = {};\r\n }\r\n\r\n if (collection instanceof CollectionData) {\r\n const c = collection as CollectionData;\r\n collections[c.id] = c;\r\n } else {\r\n (collection as CollectionData[]).forEach((c) => {\r\n collections[c.id] = c;\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async replace(collections: { [id: string]: CollectionData; }): Promise {\r\n const userId = await this.userService.getUserId();\r\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.collectionsPrefix + userId);\r\n this.decryptedCollectionCache = null;\r\n }\r\n\r\n async delete(id: string | string[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n const collections = await this.storageService.get<{ [id: string]: CollectionData; }>(\r\n Keys.collectionsPrefix + userId);\r\n if (collections == null) {\r\n return;\r\n }\r\n\r\n if (typeof id === 'string') {\r\n const i = id as string;\r\n delete collections[id];\r\n } else {\r\n (id as string[]).forEach((i) => {\r\n delete collections[i];\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.collectionsPrefix + userId, collections);\r\n this.decryptedCollectionCache = null;\r\n }\r\n}\r\n","import {\r\n ITreeNodeObject,\r\n TreeNode,\r\n} from '../models/domain/treeNode';\r\n\r\nexport class ServiceUtils {\r\n static nestedTraverse(nodeTree: TreeNode[], partIndex: number, parts: string[],\r\n obj: ITreeNodeObject, parent: ITreeNodeObject, delimiter: string) {\r\n if (parts.length <= partIndex) {\r\n return;\r\n }\r\n\r\n const end = partIndex === parts.length - 1;\r\n const partName = parts[partIndex];\r\n\r\n for (let i = 0; i < nodeTree.length; i++) {\r\n if (nodeTree[i].node.name !== parts[partIndex]) {\r\n continue;\r\n }\r\n if (end && nodeTree[i].node.id !== obj.id) {\r\n // Another node with the same name.\r\n nodeTree.push(new TreeNode(obj, partName, parent));\r\n return;\r\n }\r\n ServiceUtils.nestedTraverse(nodeTree[i].children, partIndex + 1, parts,\r\n obj, nodeTree[i].node, delimiter);\r\n return;\r\n }\r\n\r\n if (nodeTree.filter((n) => n.node.name === partName).length === 0) {\r\n if (end) {\r\n nodeTree.push(new TreeNode(obj, partName, parent));\r\n return;\r\n }\r\n const newPartName = parts[partIndex] + delimiter + parts[partIndex + 1];\r\n ServiceUtils.nestedTraverse(nodeTree, 0, [newPartName, ...parts.slice(partIndex + 2)],\r\n obj, parent, delimiter);\r\n }\r\n }\r\n\r\n static getTreeNodeObject(nodeTree: TreeNode[], id: string): TreeNode {\r\n for (let i = 0; i < nodeTree.length; i++) {\r\n if (nodeTree[i].node.id === id) {\r\n return nodeTree[i];\r\n } else if (nodeTree[i].children != null) {\r\n const node = ServiceUtils.getTreeNodeObject(nodeTree[i].children, id);\r\n if (node !== null) {\r\n return node;\r\n }\r\n }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { CryptoService } from '../abstractions/crypto.service';\r\n\r\nexport class ContainerService {\r\n constructor(private cryptoService: CryptoService) {\r\n }\r\n\r\n // deprecated, use attachToGlobal instead\r\n attachToWindow(win: any) {\r\n this.attachToGlobal(win);\r\n }\r\n\r\n attachToGlobal(global: any) {\r\n if (!global.bitwardenContainerService) {\r\n global.bitwardenContainerService = this;\r\n }\r\n }\r\n\r\n getCryptoService(): CryptoService {\r\n return this.cryptoService;\r\n }\r\n}\r\n","import * as bigInt from 'big-integer';\r\n\r\nimport { EncryptionType } from '../enums/encryptionType';\r\nimport { KdfType } from '../enums/kdfType';\r\n\r\nimport { CipherString } from '../models/domain/cipherString';\r\nimport { EncryptedObject } from '../models/domain/encryptedObject';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\nimport { ProfileOrganizationResponse } from '../models/response/profileOrganizationResponse';\r\n\r\nimport { CryptoService as CryptoServiceAbstraction } from '../abstractions/crypto.service';\r\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\r\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\n\r\nimport { ConstantsService } from './constants.service';\r\n\r\nimport { sequentialize } from '../misc/sequentialize';\r\nimport { Utils } from '../misc/utils';\r\nimport { EEFLongWordList } from '../misc/wordlist';\r\n\r\nconst Keys = {\r\n key: 'key', // Master Key\r\n encOrgKeys: 'encOrgKeys',\r\n encPrivateKey: 'encPrivateKey',\r\n encKey: 'encKey', // Generated Symmetric Key\r\n keyHash: 'keyHash',\r\n};\r\n\r\nexport class CryptoService implements CryptoServiceAbstraction {\r\n private key: SymmetricCryptoKey;\r\n private encKey: SymmetricCryptoKey;\r\n private legacyEtmKey: SymmetricCryptoKey;\r\n private keyHash: string;\r\n private publicKey: ArrayBuffer;\r\n private privateKey: ArrayBuffer;\r\n private orgKeys: Map;\r\n\r\n constructor(private storageService: StorageService, private secureStorageService: StorageService,\r\n private cryptoFunctionService: CryptoFunctionService, private platformUtilService: PlatformUtilsService) { }\r\n\r\n async setKey(key: SymmetricCryptoKey): Promise {\r\n this.key = key;\r\n\r\n const option = await this.storageService.get(ConstantsService.vaultTimeoutKey);\r\n const biometric = await this.storageService.get(ConstantsService.biometricUnlockKey);\r\n if (option != null && !(biometric && this.platformUtilService.supportsSecureStorage())) {\r\n // if we have a lock option set, we do not store the key\r\n return;\r\n }\r\n\r\n return this.secureStorageService.save(Keys.key, key.keyB64);\r\n }\r\n\r\n setKeyHash(keyHash: string): Promise<{}> {\r\n this.keyHash = keyHash;\r\n return this.storageService.save(Keys.keyHash, keyHash);\r\n }\r\n\r\n async setEncKey(encKey: string): Promise<{}> {\r\n if (encKey == null) {\r\n return;\r\n }\r\n\r\n await this.storageService.save(Keys.encKey, encKey);\r\n this.encKey = null;\r\n }\r\n\r\n async setEncPrivateKey(encPrivateKey: string): Promise<{}> {\r\n if (encPrivateKey == null) {\r\n return;\r\n }\r\n\r\n await this.storageService.save(Keys.encPrivateKey, encPrivateKey);\r\n this.privateKey = null;\r\n }\r\n\r\n setOrgKeys(orgs: ProfileOrganizationResponse[]): Promise<{}> {\r\n const orgKeys: any = {};\r\n orgs.forEach((org) => {\r\n orgKeys[org.id] = org.key;\r\n });\r\n\r\n this.orgKeys = null;\r\n return this.storageService.save(Keys.encOrgKeys, orgKeys);\r\n }\r\n\r\n async getKey(): Promise {\r\n if (this.key != null) {\r\n return this.key;\r\n }\r\n\r\n const key = await this.secureStorageService.get(Keys.key);\r\n if (key != null) {\r\n this.key = new SymmetricCryptoKey(Utils.fromB64ToArray(key).buffer);\r\n }\r\n\r\n return key == null ? null : this.key;\r\n }\r\n\r\n async getKeyHash(): Promise {\r\n if (this.keyHash != null) {\r\n return this.keyHash;\r\n }\r\n\r\n const keyHash = await this.storageService.get(Keys.keyHash);\r\n if (keyHash != null) {\r\n this.keyHash = keyHash;\r\n }\r\n\r\n return keyHash == null ? null : this.keyHash;\r\n }\r\n\r\n @sequentialize(() => 'getEncKey')\r\n async getEncKey(key: SymmetricCryptoKey = null): Promise {\r\n if (this.encKey != null) {\r\n return this.encKey;\r\n }\r\n\r\n const encKey = await this.storageService.get(Keys.encKey);\r\n if (encKey == null) {\r\n return null;\r\n }\r\n\r\n if (key == null) {\r\n key = await this.getKey();\r\n }\r\n if (key == null) {\r\n return null;\r\n }\r\n\r\n let decEncKey: ArrayBuffer;\r\n const encKeyCipher = new CipherString(encKey);\r\n if (encKeyCipher.encryptionType === EncryptionType.AesCbc256_B64) {\r\n decEncKey = await this.decryptToBytes(encKeyCipher, key);\r\n } else if (encKeyCipher.encryptionType === EncryptionType.AesCbc256_HmacSha256_B64) {\r\n const newKey = await this.stretchKey(key);\r\n decEncKey = await this.decryptToBytes(encKeyCipher, newKey);\r\n } else {\r\n throw new Error('Unsupported encKey type.');\r\n }\r\n\r\n if (decEncKey == null) {\r\n return null;\r\n }\r\n this.encKey = new SymmetricCryptoKey(decEncKey);\r\n return this.encKey;\r\n }\r\n\r\n async getPublicKey(): Promise {\r\n if (this.publicKey != null) {\r\n return this.publicKey;\r\n }\r\n\r\n const privateKey = await this.getPrivateKey();\r\n if (privateKey == null) {\r\n return null;\r\n }\r\n\r\n this.publicKey = await this.cryptoFunctionService.rsaExtractPublicKey(privateKey);\r\n return this.publicKey;\r\n }\r\n\r\n async getPrivateKey(): Promise {\r\n if (this.privateKey != null) {\r\n return this.privateKey;\r\n }\r\n\r\n const encPrivateKey = await this.storageService.get(Keys.encPrivateKey);\r\n if (encPrivateKey == null) {\r\n return null;\r\n }\r\n\r\n this.privateKey = await this.decryptToBytes(new CipherString(encPrivateKey), null);\r\n return this.privateKey;\r\n }\r\n\r\n async getFingerprint(userId: string, publicKey?: ArrayBuffer): Promise {\r\n if (publicKey == null) {\r\n publicKey = await this.getPublicKey();\r\n }\r\n if (publicKey === null) {\r\n throw new Error('No public key available.');\r\n }\r\n const keyFingerprint = await this.cryptoFunctionService.hash(publicKey, 'sha256');\r\n const userFingerprint = await this.cryptoFunctionService.hkdfExpand(keyFingerprint, userId, 32, 'sha256');\r\n return this.hashPhrase(userFingerprint);\r\n }\r\n\r\n @sequentialize(() => 'getOrgKeys')\r\n async getOrgKeys(): Promise> {\r\n if (this.orgKeys != null && this.orgKeys.size > 0) {\r\n return this.orgKeys;\r\n }\r\n\r\n const encOrgKeys = await this.storageService.get(Keys.encOrgKeys);\r\n if (encOrgKeys == null) {\r\n return null;\r\n }\r\n\r\n const orgKeys: Map = new Map();\r\n let setKey = false;\r\n\r\n for (const orgId in encOrgKeys) {\r\n if (!encOrgKeys.hasOwnProperty(orgId)) {\r\n continue;\r\n }\r\n\r\n const decValue = await this.rsaDecrypt(encOrgKeys[orgId]);\r\n orgKeys.set(orgId, new SymmetricCryptoKey(decValue));\r\n setKey = true;\r\n }\r\n\r\n if (setKey) {\r\n this.orgKeys = orgKeys;\r\n }\r\n\r\n return this.orgKeys;\r\n }\r\n\r\n async getOrgKey(orgId: string): Promise {\r\n if (orgId == null) {\r\n return null;\r\n }\r\n\r\n const orgKeys = await this.getOrgKeys();\r\n if (orgKeys == null || !orgKeys.has(orgId)) {\r\n return null;\r\n }\r\n\r\n return orgKeys.get(orgId);\r\n }\r\n\r\n async hasKey(): Promise {\r\n return (await this.getKey()) != null;\r\n }\r\n\r\n async hasEncKey(): Promise {\r\n const encKey = await this.storageService.get(Keys.encKey);\r\n return encKey != null;\r\n }\r\n\r\n clearKey(): Promise {\r\n this.key = this.legacyEtmKey = null;\r\n return this.secureStorageService.remove(Keys.key);\r\n }\r\n\r\n clearKeyHash(): Promise {\r\n this.keyHash = null;\r\n return this.storageService.remove(Keys.keyHash);\r\n }\r\n\r\n clearEncKey(memoryOnly?: boolean): Promise {\r\n this.encKey = null;\r\n if (memoryOnly) {\r\n return Promise.resolve();\r\n }\r\n return this.storageService.remove(Keys.encKey);\r\n }\r\n\r\n clearKeyPair(memoryOnly?: boolean): Promise {\r\n this.privateKey = null;\r\n this.publicKey = null;\r\n if (memoryOnly) {\r\n return Promise.resolve();\r\n }\r\n return this.storageService.remove(Keys.encPrivateKey);\r\n }\r\n\r\n clearOrgKeys(memoryOnly?: boolean): Promise {\r\n this.orgKeys = null;\r\n if (memoryOnly) {\r\n return Promise.resolve();\r\n }\r\n return this.storageService.remove(Keys.encOrgKeys);\r\n }\r\n\r\n clearPinProtectedKey(): Promise {\r\n return this.storageService.remove(ConstantsService.pinProtectedKey);\r\n }\r\n\r\n clearKeys(): Promise {\r\n return Promise.all([\r\n this.clearKey(),\r\n this.clearKeyHash(),\r\n this.clearOrgKeys(),\r\n this.clearEncKey(),\r\n this.clearKeyPair(),\r\n this.clearPinProtectedKey(),\r\n ]);\r\n }\r\n\r\n async toggleKey(): Promise {\r\n const key = await this.getKey();\r\n const option = await this.storageService.get(ConstantsService.vaultTimeoutKey);\r\n const biometric = await this.storageService.get(ConstantsService.biometricUnlockKey);\r\n if ((!biometric && this.platformUtilService.supportsSecureStorage()) && (option != null || option === 0)) {\r\n // if we have a lock option set, clear the key\r\n await this.clearKey();\r\n this.key = key;\r\n return;\r\n }\r\n\r\n await this.setKey(key);\r\n }\r\n\r\n async makeKey(password: string, salt: string, kdf: KdfType, kdfIterations: number):\r\n Promise {\r\n let key: ArrayBuffer = null;\r\n if (kdf == null || kdf === KdfType.PBKDF2_SHA256) {\r\n if (kdfIterations == null) {\r\n kdfIterations = 5000;\r\n } else if (kdfIterations < 5000) {\r\n throw new Error('PBKDF2 iteration minimum is 5000.');\r\n }\r\n key = await this.cryptoFunctionService.pbkdf2(password, salt, 'sha256', kdfIterations);\r\n } else {\r\n throw new Error('Unknown Kdf.');\r\n }\r\n return new SymmetricCryptoKey(key);\r\n }\r\n\r\n async makeKeyFromPin(pin: string, salt: string, kdf: KdfType, kdfIterations: number,\r\n protectedKeyCs: CipherString = null):\r\n Promise {\r\n if (protectedKeyCs == null) {\r\n const pinProtectedKey = await this.storageService.get(ConstantsService.pinProtectedKey);\r\n if (pinProtectedKey == null) {\r\n throw new Error('No PIN protected key found.');\r\n }\r\n protectedKeyCs = new CipherString(pinProtectedKey);\r\n }\r\n const pinKey = await this.makePinKey(pin, salt, kdf, kdfIterations);\r\n const decKey = await this.decryptToBytes(protectedKeyCs, pinKey);\r\n return new SymmetricCryptoKey(decKey);\r\n }\r\n\r\n async makeShareKey(): Promise<[CipherString, SymmetricCryptoKey]> {\r\n const shareKey = await this.cryptoFunctionService.randomBytes(64);\r\n const publicKey = await this.getPublicKey();\r\n const encShareKey = await this.rsaEncrypt(shareKey, publicKey);\r\n return [encShareKey, new SymmetricCryptoKey(shareKey)];\r\n }\r\n\r\n async makeKeyPair(key?: SymmetricCryptoKey): Promise<[string, CipherString]> {\r\n const keyPair = await this.cryptoFunctionService.rsaGenerateKeyPair(2048);\r\n const publicB64 = Utils.fromBufferToB64(keyPair[0]);\r\n const privateEnc = await this.encrypt(keyPair[1], key);\r\n return [publicB64, privateEnc];\r\n }\r\n\r\n async makePinKey(pin: string, salt: string, kdf: KdfType, kdfIterations: number): Promise {\r\n const pinKey = await this.makeKey(pin, salt, kdf, kdfIterations);\r\n return await this.stretchKey(pinKey);\r\n }\r\n\r\n async makeSendKey(keyMaterial: ArrayBuffer): Promise {\r\n const sendKey = await this.cryptoFunctionService.hkdf(keyMaterial, 'bitwarden-send', 'send', 64, 'sha256');\r\n return new SymmetricCryptoKey(sendKey);\r\n }\r\n\r\n async hashPassword(password: string, key: SymmetricCryptoKey): Promise {\r\n if (key == null) {\r\n key = await this.getKey();\r\n }\r\n if (password == null || key == null) {\r\n throw new Error('Invalid parameters.');\r\n }\r\n\r\n const hash = await this.cryptoFunctionService.pbkdf2(key.key, password, 'sha256', 1);\r\n return Utils.fromBufferToB64(hash);\r\n }\r\n\r\n async makeEncKey(key: SymmetricCryptoKey): Promise<[SymmetricCryptoKey, CipherString]> {\r\n const theKey = await this.getKeyForEncryption(key);\r\n const encKey = await this.cryptoFunctionService.randomBytes(64);\r\n return this.buildEncKey(theKey, encKey);\r\n }\r\n\r\n async remakeEncKey(key: SymmetricCryptoKey): Promise<[SymmetricCryptoKey, CipherString]> {\r\n const encKey = await this.getEncKey();\r\n return this.buildEncKey(key, encKey.key);\r\n }\r\n\r\n async encrypt(plainValue: string | ArrayBuffer, key?: SymmetricCryptoKey): Promise {\r\n if (plainValue == null) {\r\n return Promise.resolve(null);\r\n }\r\n\r\n let plainBuf: ArrayBuffer;\r\n if (typeof (plainValue) === 'string') {\r\n plainBuf = Utils.fromUtf8ToArray(plainValue).buffer;\r\n } else {\r\n plainBuf = plainValue;\r\n }\r\n\r\n const encObj = await this.aesEncrypt(plainBuf, key);\r\n const iv = Utils.fromBufferToB64(encObj.iv);\r\n const data = Utils.fromBufferToB64(encObj.data);\r\n const mac = encObj.mac != null ? Utils.fromBufferToB64(encObj.mac) : null;\r\n return new CipherString(encObj.key.encType, data, iv, mac);\r\n }\r\n\r\n async encryptToBytes(plainValue: ArrayBuffer, key?: SymmetricCryptoKey): Promise {\r\n const encValue = await this.aesEncrypt(plainValue, key);\r\n let macLen = 0;\r\n if (encValue.mac != null) {\r\n macLen = encValue.mac.byteLength;\r\n }\r\n\r\n const encBytes = new Uint8Array(1 + encValue.iv.byteLength + macLen + encValue.data.byteLength);\r\n encBytes.set([encValue.key.encType]);\r\n encBytes.set(new Uint8Array(encValue.iv), 1);\r\n if (encValue.mac != null) {\r\n encBytes.set(new Uint8Array(encValue.mac), 1 + encValue.iv.byteLength);\r\n }\r\n\r\n encBytes.set(new Uint8Array(encValue.data), 1 + encValue.iv.byteLength + macLen);\r\n return encBytes.buffer;\r\n }\r\n\r\n async rsaEncrypt(data: ArrayBuffer, publicKey?: ArrayBuffer): Promise {\r\n if (publicKey == null) {\r\n publicKey = await this.getPublicKey();\r\n }\r\n if (publicKey == null) {\r\n throw new Error('Public key unavailable.');\r\n }\r\n\r\n const encBytes = await this.cryptoFunctionService.rsaEncrypt(data, publicKey, 'sha1');\r\n return new CipherString(EncryptionType.Rsa2048_OaepSha1_B64, Utils.fromBufferToB64(encBytes));\r\n }\r\n\r\n async decryptToBytes(cipherString: CipherString, key?: SymmetricCryptoKey): Promise {\r\n const iv = Utils.fromB64ToArray(cipherString.iv).buffer;\r\n const data = Utils.fromB64ToArray(cipherString.data).buffer;\r\n const mac = cipherString.mac ? Utils.fromB64ToArray(cipherString.mac).buffer : null;\r\n const decipher = await this.aesDecryptToBytes(cipherString.encryptionType, data, iv, mac, key);\r\n if (decipher == null) {\r\n return null;\r\n }\r\n\r\n return decipher;\r\n }\r\n\r\n async decryptToUtf8(cipherString: CipherString, key?: SymmetricCryptoKey): Promise {\r\n return await this.aesDecryptToUtf8(cipherString.encryptionType, cipherString.data,\r\n cipherString.iv, cipherString.mac, key);\r\n }\r\n\r\n async decryptFromBytes(encBuf: ArrayBuffer, key: SymmetricCryptoKey): Promise {\r\n if (encBuf == null) {\r\n throw new Error('no encBuf.');\r\n }\r\n\r\n const encBytes = new Uint8Array(encBuf);\r\n const encType = encBytes[0];\r\n let ctBytes: Uint8Array = null;\r\n let ivBytes: Uint8Array = null;\r\n let macBytes: Uint8Array = null;\r\n\r\n switch (encType) {\r\n case EncryptionType.AesCbc128_HmacSha256_B64:\r\n case EncryptionType.AesCbc256_HmacSha256_B64:\r\n if (encBytes.length <= 49) { // 1 + 16 + 32 + ctLength\r\n return null;\r\n }\r\n\r\n ivBytes = encBytes.slice(1, 17);\r\n macBytes = encBytes.slice(17, 49);\r\n ctBytes = encBytes.slice(49);\r\n break;\r\n case EncryptionType.AesCbc256_B64:\r\n if (encBytes.length <= 17) { // 1 + 16 + ctLength\r\n return null;\r\n }\r\n\r\n ivBytes = encBytes.slice(1, 17);\r\n ctBytes = encBytes.slice(17);\r\n break;\r\n default:\r\n return null;\r\n }\r\n\r\n return await this.aesDecryptToBytes(encType, ctBytes.buffer, ivBytes.buffer,\r\n macBytes != null ? macBytes.buffer : null, key);\r\n }\r\n\r\n // EFForg/OpenWireless\r\n // ref https://github.com/EFForg/OpenWireless/blob/master/app/js/diceware.js\r\n async randomNumber(min: number, max: number): Promise {\r\n let rval = 0;\r\n const range = max - min + 1;\r\n const bitsNeeded = Math.ceil(Math.log2(range));\r\n if (bitsNeeded > 53) {\r\n throw new Error('We cannot generate numbers larger than 53 bits.');\r\n }\r\n\r\n const bytesNeeded = Math.ceil(bitsNeeded / 8);\r\n const mask = Math.pow(2, bitsNeeded) - 1;\r\n // 7776 -> (2^13 = 8192) -1 == 8191 or 0x00001111 11111111\r\n\r\n // Fill a byte array with N random numbers\r\n const byteArray = new Uint8Array(await this.cryptoFunctionService.randomBytes(bytesNeeded));\r\n\r\n let p = (bytesNeeded - 1) * 8;\r\n for (let i = 0; i < bytesNeeded; i++) {\r\n rval += byteArray[i] * Math.pow(2, p);\r\n p -= 8;\r\n }\r\n\r\n // Use & to apply the mask and reduce the number of recursive lookups\r\n // tslint:disable-next-line\r\n rval = rval & mask;\r\n\r\n if (rval >= range) {\r\n // Integer out of acceptable range\r\n return this.randomNumber(min, max);\r\n }\r\n\r\n // Return an integer that falls within the range\r\n return min + rval;\r\n }\r\n\r\n // Helpers\r\n\r\n private async aesEncrypt(data: ArrayBuffer, key: SymmetricCryptoKey): Promise {\r\n const obj = new EncryptedObject();\r\n obj.key = await this.getKeyForEncryption(key);\r\n obj.iv = await this.cryptoFunctionService.randomBytes(16);\r\n obj.data = await this.cryptoFunctionService.aesEncrypt(data, obj.iv, obj.key.encKey);\r\n\r\n if (obj.key.macKey != null) {\r\n const macData = new Uint8Array(obj.iv.byteLength + obj.data.byteLength);\r\n macData.set(new Uint8Array(obj.iv), 0);\r\n macData.set(new Uint8Array(obj.data), obj.iv.byteLength);\r\n obj.mac = await this.cryptoFunctionService.hmac(macData.buffer, obj.key.macKey, 'sha256');\r\n }\r\n\r\n return obj;\r\n }\r\n\r\n private async aesDecryptToUtf8(encType: EncryptionType, data: string, iv: string, mac: string,\r\n key: SymmetricCryptoKey): Promise {\r\n const keyForEnc = await this.getKeyForEncryption(key);\r\n const theKey = this.resolveLegacyKey(encType, keyForEnc);\r\n\r\n if (theKey.macKey != null && mac == null) {\r\n // tslint:disable-next-line\r\n console.error('mac required.');\r\n return null;\r\n }\r\n\r\n if (theKey.encType !== encType) {\r\n // tslint:disable-next-line\r\n console.error('encType unavailable.');\r\n return null;\r\n }\r\n\r\n const fastParams = this.cryptoFunctionService.aesDecryptFastParameters(data, iv, mac, theKey);\r\n if (fastParams.macKey != null && fastParams.mac != null) {\r\n const computedMac = await this.cryptoFunctionService.hmacFast(fastParams.macData,\r\n fastParams.macKey, 'sha256');\r\n const macsEqual = await this.cryptoFunctionService.compareFast(fastParams.mac, computedMac);\r\n if (!macsEqual) {\r\n // tslint:disable-next-line\r\n console.error('mac failed.');\r\n return null;\r\n }\r\n }\r\n\r\n return this.cryptoFunctionService.aesDecryptFast(fastParams);\r\n }\r\n\r\n private async aesDecryptToBytes(encType: EncryptionType, data: ArrayBuffer, iv: ArrayBuffer,\r\n mac: ArrayBuffer, key: SymmetricCryptoKey): Promise {\r\n const keyForEnc = await this.getKeyForEncryption(key);\r\n const theKey = this.resolveLegacyKey(encType, keyForEnc);\r\n\r\n if (theKey.macKey != null && mac == null) {\r\n return null;\r\n }\r\n\r\n if (theKey.encType !== encType) {\r\n return null;\r\n }\r\n\r\n if (theKey.macKey != null && mac != null) {\r\n const macData = new Uint8Array(iv.byteLength + data.byteLength);\r\n macData.set(new Uint8Array(iv), 0);\r\n macData.set(new Uint8Array(data), iv.byteLength);\r\n const computedMac = await this.cryptoFunctionService.hmac(macData.buffer, theKey.macKey, 'sha256');\r\n if (computedMac === null) {\r\n return null;\r\n }\r\n\r\n const macsMatch = await this.cryptoFunctionService.compare(mac, computedMac);\r\n if (!macsMatch) {\r\n // tslint:disable-next-line\r\n console.error('mac failed.');\r\n return null;\r\n }\r\n }\r\n\r\n return await this.cryptoFunctionService.aesDecrypt(data, iv, theKey.encKey);\r\n }\r\n\r\n private async rsaDecrypt(encValue: string): Promise {\r\n const headerPieces = encValue.split('.');\r\n let encType: EncryptionType = null;\r\n let encPieces: string[];\r\n\r\n if (headerPieces.length === 1) {\r\n encType = EncryptionType.Rsa2048_OaepSha256_B64;\r\n encPieces = [headerPieces[0]];\r\n } else if (headerPieces.length === 2) {\r\n try {\r\n encType = parseInt(headerPieces[0], null);\r\n encPieces = headerPieces[1].split('|');\r\n } catch (e) { }\r\n }\r\n\r\n switch (encType) {\r\n case EncryptionType.Rsa2048_OaepSha256_B64:\r\n case EncryptionType.Rsa2048_OaepSha1_B64:\r\n // HmacSha256 types are deprecated\r\n case EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:\r\n case EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:\r\n break;\r\n default:\r\n throw new Error('encType unavailable.');\r\n }\r\n\r\n if (encPieces == null || encPieces.length <= 0) {\r\n throw new Error('encPieces unavailable.');\r\n }\r\n\r\n const data = Utils.fromB64ToArray(encPieces[0]).buffer;\r\n const privateKey = await this.getPrivateKey();\r\n if (privateKey == null) {\r\n throw new Error('No private key.');\r\n }\r\n\r\n let alg: 'sha1' | 'sha256' = 'sha1';\r\n switch (encType) {\r\n case EncryptionType.Rsa2048_OaepSha256_B64:\r\n case EncryptionType.Rsa2048_OaepSha256_HmacSha256_B64:\r\n alg = 'sha256';\r\n break;\r\n case EncryptionType.Rsa2048_OaepSha1_B64:\r\n case EncryptionType.Rsa2048_OaepSha1_HmacSha256_B64:\r\n break;\r\n default:\r\n throw new Error('encType unavailable.');\r\n }\r\n\r\n return this.cryptoFunctionService.rsaDecrypt(data, privateKey, alg);\r\n }\r\n\r\n private async getKeyForEncryption(key?: SymmetricCryptoKey): Promise {\r\n if (key != null) {\r\n return key;\r\n }\r\n\r\n const encKey = await this.getEncKey();\r\n if (encKey != null) {\r\n return encKey;\r\n }\r\n\r\n return await this.getKey();\r\n }\r\n\r\n private resolveLegacyKey(encType: EncryptionType, key: SymmetricCryptoKey): SymmetricCryptoKey {\r\n if (encType === EncryptionType.AesCbc128_HmacSha256_B64 &&\r\n key.encType === EncryptionType.AesCbc256_B64) {\r\n // Old encrypt-then-mac scheme, make a new key\r\n if (this.legacyEtmKey == null) {\r\n this.legacyEtmKey = new SymmetricCryptoKey(key.key, EncryptionType.AesCbc128_HmacSha256_B64);\r\n }\r\n return this.legacyEtmKey;\r\n }\r\n\r\n return key;\r\n }\r\n\r\n private async stretchKey(key: SymmetricCryptoKey): Promise {\r\n const newKey = new Uint8Array(64);\r\n const encKey = await this.cryptoFunctionService.hkdfExpand(key.key, 'enc', 32, 'sha256');\r\n const macKey = await this.cryptoFunctionService.hkdfExpand(key.key, 'mac', 32, 'sha256');\r\n newKey.set(new Uint8Array(encKey));\r\n newKey.set(new Uint8Array(macKey), 32);\r\n return new SymmetricCryptoKey(newKey.buffer);\r\n }\r\n\r\n private async hashPhrase(hash: ArrayBuffer, minimumEntropy: number = 64) {\r\n const entropyPerWord = Math.log(EEFLongWordList.length) / Math.log(2);\r\n let numWords = Math.ceil(minimumEntropy / entropyPerWord);\r\n\r\n const hashArr = Array.from(new Uint8Array(hash));\r\n const entropyAvailable = hashArr.length * 4;\r\n if (numWords * entropyPerWord > entropyAvailable) {\r\n throw new Error('Output entropy of hash function is too small');\r\n }\r\n\r\n const phrase: string[] = [];\r\n let hashNumber = bigInt.fromArray(hashArr, 256);\r\n while (numWords--) {\r\n const remainder = hashNumber.mod(EEFLongWordList.length);\r\n hashNumber = hashNumber.divide(EEFLongWordList.length);\r\n phrase.push(EEFLongWordList[remainder as any]);\r\n }\r\n return phrase;\r\n }\r\n\r\n private async buildEncKey(key: SymmetricCryptoKey, encKey: ArrayBuffer)\r\n : Promise<[SymmetricCryptoKey, CipherString]> {\r\n let encKeyEnc: CipherString = null;\r\n if (key.key.byteLength === 32) {\r\n const newKey = await this.stretchKey(key);\r\n encKeyEnc = await this.encrypt(encKey, newKey);\r\n } else if (key.key.byteLength === 64) {\r\n encKeyEnc = await this.encrypt(encKey, key);\r\n } else {\r\n throw new Error('Invalid key size.');\r\n }\r\n return [new SymmetricCryptoKey(encKey), encKeyEnc];\r\n }\r\n}\r\n","// EFF's Long Wordlist from https://www.eff.org/dice\r\nexport const EEFLongWordList = [\r\n 'abacus',\r\n 'abdomen',\r\n 'abdominal',\r\n 'abide',\r\n 'abiding',\r\n 'ability',\r\n 'ablaze',\r\n 'able',\r\n 'abnormal',\r\n 'abrasion',\r\n 'abrasive',\r\n 'abreast',\r\n 'abridge',\r\n 'abroad',\r\n 'abruptly',\r\n 'absence',\r\n 'absentee',\r\n 'absently',\r\n 'absinthe',\r\n 'absolute',\r\n 'absolve',\r\n 'abstain',\r\n 'abstract',\r\n 'absurd',\r\n 'accent',\r\n 'acclaim',\r\n 'acclimate',\r\n 'accompany',\r\n 'account',\r\n 'accuracy',\r\n 'accurate',\r\n 'accustom',\r\n 'acetone',\r\n 'achiness',\r\n 'aching',\r\n 'acid',\r\n 'acorn',\r\n 'acquaint',\r\n 'acquire',\r\n 'acre',\r\n 'acrobat',\r\n 'acronym',\r\n 'acting',\r\n 'action',\r\n 'activate',\r\n 'activator',\r\n 'active',\r\n 'activism',\r\n 'activist',\r\n 'activity',\r\n 'actress',\r\n 'acts',\r\n 'acutely',\r\n 'acuteness',\r\n 'aeration',\r\n 'aerobics',\r\n 'aerosol',\r\n 'aerospace',\r\n 'afar',\r\n 'affair',\r\n 'affected',\r\n 'affecting',\r\n 'affection',\r\n 'affidavit',\r\n 'affiliate',\r\n 'affirm',\r\n 'affix',\r\n 'afflicted',\r\n 'affluent',\r\n 'afford',\r\n 'affront',\r\n 'aflame',\r\n 'afloat',\r\n 'aflutter',\r\n 'afoot',\r\n 'afraid',\r\n 'afterglow',\r\n 'afterlife',\r\n 'aftermath',\r\n 'aftermost',\r\n 'afternoon',\r\n 'aged',\r\n 'ageless',\r\n 'agency',\r\n 'agenda',\r\n 'agent',\r\n 'aggregate',\r\n 'aghast',\r\n 'agile',\r\n 'agility',\r\n 'aging',\r\n 'agnostic',\r\n 'agonize',\r\n 'agonizing',\r\n 'agony',\r\n 'agreeable',\r\n 'agreeably',\r\n 'agreed',\r\n 'agreeing',\r\n 'agreement',\r\n 'aground',\r\n 'ahead',\r\n 'ahoy',\r\n 'aide',\r\n 'aids',\r\n 'aim',\r\n 'ajar',\r\n 'alabaster',\r\n 'alarm',\r\n 'albatross',\r\n 'album',\r\n 'alfalfa',\r\n 'algebra',\r\n 'algorithm',\r\n 'alias',\r\n 'alibi',\r\n 'alienable',\r\n 'alienate',\r\n 'aliens',\r\n 'alike',\r\n 'alive',\r\n 'alkaline',\r\n 'alkalize',\r\n 'almanac',\r\n 'almighty',\r\n 'almost',\r\n 'aloe',\r\n 'aloft',\r\n 'aloha',\r\n 'alone',\r\n 'alongside',\r\n 'aloof',\r\n 'alphabet',\r\n 'alright',\r\n 'although',\r\n 'altitude',\r\n 'alto',\r\n 'aluminum',\r\n 'alumni',\r\n 'always',\r\n 'amaretto',\r\n 'amaze',\r\n 'amazingly',\r\n 'amber',\r\n 'ambiance',\r\n 'ambiguity',\r\n 'ambiguous',\r\n 'ambition',\r\n 'ambitious',\r\n 'ambulance',\r\n 'ambush',\r\n 'amendable',\r\n 'amendment',\r\n 'amends',\r\n 'amenity',\r\n 'amiable',\r\n 'amicably',\r\n 'amid',\r\n 'amigo',\r\n 'amino',\r\n 'amiss',\r\n 'ammonia',\r\n 'ammonium',\r\n 'amnesty',\r\n 'amniotic',\r\n 'among',\r\n 'amount',\r\n 'amperage',\r\n 'ample',\r\n 'amplifier',\r\n 'amplify',\r\n 'amply',\r\n 'amuck',\r\n 'amulet',\r\n 'amusable',\r\n 'amused',\r\n 'amusement',\r\n 'amuser',\r\n 'amusing',\r\n 'anaconda',\r\n 'anaerobic',\r\n 'anagram',\r\n 'anatomist',\r\n 'anatomy',\r\n 'anchor',\r\n 'anchovy',\r\n 'ancient',\r\n 'android',\r\n 'anemia',\r\n 'anemic',\r\n 'aneurism',\r\n 'anew',\r\n 'angelfish',\r\n 'angelic',\r\n 'anger',\r\n 'angled',\r\n 'angler',\r\n 'angles',\r\n 'angling',\r\n 'angrily',\r\n 'angriness',\r\n 'anguished',\r\n 'angular',\r\n 'animal',\r\n 'animate',\r\n 'animating',\r\n 'animation',\r\n 'animator',\r\n 'anime',\r\n 'animosity',\r\n 'ankle',\r\n 'annex',\r\n 'annotate',\r\n 'announcer',\r\n 'annoying',\r\n 'annually',\r\n 'annuity',\r\n 'anointer',\r\n 'another',\r\n 'answering',\r\n 'antacid',\r\n 'antarctic',\r\n 'anteater',\r\n 'antelope',\r\n 'antennae',\r\n 'anthem',\r\n 'anthill',\r\n 'anthology',\r\n 'antibody',\r\n 'antics',\r\n 'antidote',\r\n 'antihero',\r\n 'antiquely',\r\n 'antiques',\r\n 'antiquity',\r\n 'antirust',\r\n 'antitoxic',\r\n 'antitrust',\r\n 'antiviral',\r\n 'antivirus',\r\n 'antler',\r\n 'antonym',\r\n 'antsy',\r\n 'anvil',\r\n 'anybody',\r\n 'anyhow',\r\n 'anymore',\r\n 'anyone',\r\n 'anyplace',\r\n 'anything',\r\n 'anytime',\r\n 'anyway',\r\n 'anywhere',\r\n 'aorta',\r\n 'apache',\r\n 'apostle',\r\n 'appealing',\r\n 'appear',\r\n 'appease',\r\n 'appeasing',\r\n 'appendage',\r\n 'appendix',\r\n 'appetite',\r\n 'appetizer',\r\n 'applaud',\r\n 'applause',\r\n 'apple',\r\n 'appliance',\r\n 'applicant',\r\n 'applied',\r\n 'apply',\r\n 'appointee',\r\n 'appraisal',\r\n 'appraiser',\r\n 'apprehend',\r\n 'approach',\r\n 'approval',\r\n 'approve',\r\n 'apricot',\r\n 'april',\r\n 'apron',\r\n 'aptitude',\r\n 'aptly',\r\n 'aqua',\r\n 'aqueduct',\r\n 'arbitrary',\r\n 'arbitrate',\r\n 'ardently',\r\n 'area',\r\n 'arena',\r\n 'arguable',\r\n 'arguably',\r\n 'argue',\r\n 'arise',\r\n 'armadillo',\r\n 'armband',\r\n 'armchair',\r\n 'armed',\r\n 'armful',\r\n 'armhole',\r\n 'arming',\r\n 'armless',\r\n 'armoire',\r\n 'armored',\r\n 'armory',\r\n 'armrest',\r\n 'army',\r\n 'aroma',\r\n 'arose',\r\n 'around',\r\n 'arousal',\r\n 'arrange',\r\n 'array',\r\n 'arrest',\r\n 'arrival',\r\n 'arrive',\r\n 'arrogance',\r\n 'arrogant',\r\n 'arson',\r\n 'art',\r\n 'ascend',\r\n 'ascension',\r\n 'ascent',\r\n 'ascertain',\r\n 'ashamed',\r\n 'ashen',\r\n 'ashes',\r\n 'ashy',\r\n 'aside',\r\n 'askew',\r\n 'asleep',\r\n 'asparagus',\r\n 'aspect',\r\n 'aspirate',\r\n 'aspire',\r\n 'aspirin',\r\n 'astonish',\r\n 'astound',\r\n 'astride',\r\n 'astrology',\r\n 'astronaut',\r\n 'astronomy',\r\n 'astute',\r\n 'atlantic',\r\n 'atlas',\r\n 'atom',\r\n 'atonable',\r\n 'atop',\r\n 'atrium',\r\n 'atrocious',\r\n 'atrophy',\r\n 'attach',\r\n 'attain',\r\n 'attempt',\r\n 'attendant',\r\n 'attendee',\r\n 'attention',\r\n 'attentive',\r\n 'attest',\r\n 'attic',\r\n 'attire',\r\n 'attitude',\r\n 'attractor',\r\n 'attribute',\r\n 'atypical',\r\n 'auction',\r\n 'audacious',\r\n 'audacity',\r\n 'audible',\r\n 'audibly',\r\n 'audience',\r\n 'audio',\r\n 'audition',\r\n 'augmented',\r\n 'august',\r\n 'authentic',\r\n 'author',\r\n 'autism',\r\n 'autistic',\r\n 'autograph',\r\n 'automaker',\r\n 'automated',\r\n 'automatic',\r\n 'autopilot',\r\n 'available',\r\n 'avalanche',\r\n 'avatar',\r\n 'avenge',\r\n 'avenging',\r\n 'avenue',\r\n 'average',\r\n 'aversion',\r\n 'avert',\r\n 'aviation',\r\n 'aviator',\r\n 'avid',\r\n 'avoid',\r\n 'await',\r\n 'awaken',\r\n 'award',\r\n 'aware',\r\n 'awhile',\r\n 'awkward',\r\n 'awning',\r\n 'awoke',\r\n 'awry',\r\n 'axis',\r\n 'babble',\r\n 'babbling',\r\n 'babied',\r\n 'baboon',\r\n 'backache',\r\n 'backboard',\r\n 'backboned',\r\n 'backdrop',\r\n 'backed',\r\n 'backer',\r\n 'backfield',\r\n 'backfire',\r\n 'backhand',\r\n 'backing',\r\n 'backlands',\r\n 'backlash',\r\n 'backless',\r\n 'backlight',\r\n 'backlit',\r\n 'backlog',\r\n 'backpack',\r\n 'backpedal',\r\n 'backrest',\r\n 'backroom',\r\n 'backshift',\r\n 'backside',\r\n 'backslid',\r\n 'backspace',\r\n 'backspin',\r\n 'backstab',\r\n 'backstage',\r\n 'backtalk',\r\n 'backtrack',\r\n 'backup',\r\n 'backward',\r\n 'backwash',\r\n 'backwater',\r\n 'backyard',\r\n 'bacon',\r\n 'bacteria',\r\n 'bacterium',\r\n 'badass',\r\n 'badge',\r\n 'badland',\r\n 'badly',\r\n 'badness',\r\n 'baffle',\r\n 'baffling',\r\n 'bagel',\r\n 'bagful',\r\n 'baggage',\r\n 'bagged',\r\n 'baggie',\r\n 'bagginess',\r\n 'bagging',\r\n 'baggy',\r\n 'bagpipe',\r\n 'baguette',\r\n 'baked',\r\n 'bakery',\r\n 'bakeshop',\r\n 'baking',\r\n 'balance',\r\n 'balancing',\r\n 'balcony',\r\n 'balmy',\r\n 'balsamic',\r\n 'bamboo',\r\n 'banana',\r\n 'banish',\r\n 'banister',\r\n 'banjo',\r\n 'bankable',\r\n 'bankbook',\r\n 'banked',\r\n 'banker',\r\n 'banking',\r\n 'banknote',\r\n 'bankroll',\r\n 'banner',\r\n 'bannister',\r\n 'banshee',\r\n 'banter',\r\n 'barbecue',\r\n 'barbed',\r\n 'barbell',\r\n 'barber',\r\n 'barcode',\r\n 'barge',\r\n 'bargraph',\r\n 'barista',\r\n 'baritone',\r\n 'barley',\r\n 'barmaid',\r\n 'barman',\r\n 'barn',\r\n 'barometer',\r\n 'barrack',\r\n 'barracuda',\r\n 'barrel',\r\n 'barrette',\r\n 'barricade',\r\n 'barrier',\r\n 'barstool',\r\n 'bartender',\r\n 'barterer',\r\n 'bash',\r\n 'basically',\r\n 'basics',\r\n 'basil',\r\n 'basin',\r\n 'basis',\r\n 'basket',\r\n 'batboy',\r\n 'batch',\r\n 'bath',\r\n 'baton',\r\n 'bats',\r\n 'battalion',\r\n 'battered',\r\n 'battering',\r\n 'battery',\r\n 'batting',\r\n 'battle',\r\n 'bauble',\r\n 'bazooka',\r\n 'blabber',\r\n 'bladder',\r\n 'blade',\r\n 'blah',\r\n 'blame',\r\n 'blaming',\r\n 'blanching',\r\n 'blandness',\r\n 'blank',\r\n 'blaspheme',\r\n 'blasphemy',\r\n 'blast',\r\n 'blatancy',\r\n 'blatantly',\r\n 'blazer',\r\n 'blazing',\r\n 'bleach',\r\n 'bleak',\r\n 'bleep',\r\n 'blemish',\r\n 'blend',\r\n 'bless',\r\n 'blighted',\r\n 'blimp',\r\n 'bling',\r\n 'blinked',\r\n 'blinker',\r\n 'blinking',\r\n 'blinks',\r\n 'blip',\r\n 'blissful',\r\n 'blitz',\r\n 'blizzard',\r\n 'bloated',\r\n 'bloating',\r\n 'blob',\r\n 'blog',\r\n 'bloomers',\r\n 'blooming',\r\n 'blooper',\r\n 'blot',\r\n 'blouse',\r\n 'blubber',\r\n 'bluff',\r\n 'bluish',\r\n 'blunderer',\r\n 'blunt',\r\n 'blurb',\r\n 'blurred',\r\n 'blurry',\r\n 'blurt',\r\n 'blush',\r\n 'blustery',\r\n 'boaster',\r\n 'boastful',\r\n 'boasting',\r\n 'boat',\r\n 'bobbed',\r\n 'bobbing',\r\n 'bobble',\r\n 'bobcat',\r\n 'bobsled',\r\n 'bobtail',\r\n 'bodacious',\r\n 'body',\r\n 'bogged',\r\n 'boggle',\r\n 'bogus',\r\n 'boil',\r\n 'bok',\r\n 'bolster',\r\n 'bolt',\r\n 'bonanza',\r\n 'bonded',\r\n 'bonding',\r\n 'bondless',\r\n 'boned',\r\n 'bonehead',\r\n 'boneless',\r\n 'bonelike',\r\n 'boney',\r\n 'bonfire',\r\n 'bonnet',\r\n 'bonsai',\r\n 'bonus',\r\n 'bony',\r\n 'boogeyman',\r\n 'boogieman',\r\n 'book',\r\n 'boondocks',\r\n 'booted',\r\n 'booth',\r\n 'bootie',\r\n 'booting',\r\n 'bootlace',\r\n 'bootleg',\r\n 'boots',\r\n 'boozy',\r\n 'borax',\r\n 'boring',\r\n 'borough',\r\n 'borrower',\r\n 'borrowing',\r\n 'boss',\r\n 'botanical',\r\n 'botanist',\r\n 'botany',\r\n 'botch',\r\n 'both',\r\n 'bottle',\r\n 'bottling',\r\n 'bottom',\r\n 'bounce',\r\n 'bouncing',\r\n 'bouncy',\r\n 'bounding',\r\n 'boundless',\r\n 'bountiful',\r\n 'bovine',\r\n 'boxcar',\r\n 'boxer',\r\n 'boxing',\r\n 'boxlike',\r\n 'boxy',\r\n 'breach',\r\n 'breath',\r\n 'breeches',\r\n 'breeching',\r\n 'breeder',\r\n 'breeding',\r\n 'breeze',\r\n 'breezy',\r\n 'brethren',\r\n 'brewery',\r\n 'brewing',\r\n 'briar',\r\n 'bribe',\r\n 'brick',\r\n 'bride',\r\n 'bridged',\r\n 'brigade',\r\n 'bright',\r\n 'brilliant',\r\n 'brim',\r\n 'bring',\r\n 'brink',\r\n 'brisket',\r\n 'briskly',\r\n 'briskness',\r\n 'bristle',\r\n 'brittle',\r\n 'broadband',\r\n 'broadcast',\r\n 'broaden',\r\n 'broadly',\r\n 'broadness',\r\n 'broadside',\r\n 'broadways',\r\n 'broiler',\r\n 'broiling',\r\n 'broken',\r\n 'broker',\r\n 'bronchial',\r\n 'bronco',\r\n 'bronze',\r\n 'bronzing',\r\n 'brook',\r\n 'broom',\r\n 'brought',\r\n 'browbeat',\r\n 'brownnose',\r\n 'browse',\r\n 'browsing',\r\n 'bruising',\r\n 'brunch',\r\n 'brunette',\r\n 'brunt',\r\n 'brush',\r\n 'brussels',\r\n 'brute',\r\n 'brutishly',\r\n 'bubble',\r\n 'bubbling',\r\n 'bubbly',\r\n 'buccaneer',\r\n 'bucked',\r\n 'bucket',\r\n 'buckle',\r\n 'buckshot',\r\n 'buckskin',\r\n 'bucktooth',\r\n 'buckwheat',\r\n 'buddhism',\r\n 'buddhist',\r\n 'budding',\r\n 'buddy',\r\n 'budget',\r\n 'buffalo',\r\n 'buffed',\r\n 'buffer',\r\n 'buffing',\r\n 'buffoon',\r\n 'buggy',\r\n 'bulb',\r\n 'bulge',\r\n 'bulginess',\r\n 'bulgur',\r\n 'bulk',\r\n 'bulldog',\r\n 'bulldozer',\r\n 'bullfight',\r\n 'bullfrog',\r\n 'bullhorn',\r\n 'bullion',\r\n 'bullish',\r\n 'bullpen',\r\n 'bullring',\r\n 'bullseye',\r\n 'bullwhip',\r\n 'bully',\r\n 'bunch',\r\n 'bundle',\r\n 'bungee',\r\n 'bunion',\r\n 'bunkbed',\r\n 'bunkhouse',\r\n 'bunkmate',\r\n 'bunny',\r\n 'bunt',\r\n 'busboy',\r\n 'bush',\r\n 'busily',\r\n 'busload',\r\n 'bust',\r\n 'busybody',\r\n 'buzz',\r\n 'cabana',\r\n 'cabbage',\r\n 'cabbie',\r\n 'cabdriver',\r\n 'cable',\r\n 'caboose',\r\n 'cache',\r\n 'cackle',\r\n 'cacti',\r\n 'cactus',\r\n 'caddie',\r\n 'caddy',\r\n 'cadet',\r\n 'cadillac',\r\n 'cadmium',\r\n 'cage',\r\n 'cahoots',\r\n 'cake',\r\n 'calamari',\r\n 'calamity',\r\n 'calcium',\r\n 'calculate',\r\n 'calculus',\r\n 'caliber',\r\n 'calibrate',\r\n 'calm',\r\n 'caloric',\r\n 'calorie',\r\n 'calzone',\r\n 'camcorder',\r\n 'cameo',\r\n 'camera',\r\n 'camisole',\r\n 'camper',\r\n 'campfire',\r\n 'camping',\r\n 'campsite',\r\n 'campus',\r\n 'canal',\r\n 'canary',\r\n 'cancel',\r\n 'candied',\r\n 'candle',\r\n 'candy',\r\n 'cane',\r\n 'canine',\r\n 'canister',\r\n 'cannabis',\r\n 'canned',\r\n 'canning',\r\n 'cannon',\r\n 'cannot',\r\n 'canola',\r\n 'canon',\r\n 'canopener',\r\n 'canopy',\r\n 'canteen',\r\n 'canyon',\r\n 'capable',\r\n 'capably',\r\n 'capacity',\r\n 'cape',\r\n 'capillary',\r\n 'capital',\r\n 'capitol',\r\n 'capped',\r\n 'capricorn',\r\n 'capsize',\r\n 'capsule',\r\n 'caption',\r\n 'captivate',\r\n 'captive',\r\n 'captivity',\r\n 'capture',\r\n 'caramel',\r\n 'carat',\r\n 'caravan',\r\n 'carbon',\r\n 'cardboard',\r\n 'carded',\r\n 'cardiac',\r\n 'cardigan',\r\n 'cardinal',\r\n 'cardstock',\r\n 'carefully',\r\n 'caregiver',\r\n 'careless',\r\n 'caress',\r\n 'caretaker',\r\n 'cargo',\r\n 'caring',\r\n 'carless',\r\n 'carload',\r\n 'carmaker',\r\n 'carnage',\r\n 'carnation',\r\n 'carnival',\r\n 'carnivore',\r\n 'carol',\r\n 'carpenter',\r\n 'carpentry',\r\n 'carpool',\r\n 'carport',\r\n 'carried',\r\n 'carrot',\r\n 'carrousel',\r\n 'carry',\r\n 'cartel',\r\n 'cartload',\r\n 'carton',\r\n 'cartoon',\r\n 'cartridge',\r\n 'cartwheel',\r\n 'carve',\r\n 'carving',\r\n 'carwash',\r\n 'cascade',\r\n 'case',\r\n 'cash',\r\n 'casing',\r\n 'casino',\r\n 'casket',\r\n 'cassette',\r\n 'casually',\r\n 'casualty',\r\n 'catacomb',\r\n 'catalog',\r\n 'catalyst',\r\n 'catalyze',\r\n 'catapult',\r\n 'cataract',\r\n 'catatonic',\r\n 'catcall',\r\n 'catchable',\r\n 'catcher',\r\n 'catching',\r\n 'catchy',\r\n 'caterer',\r\n 'catering',\r\n 'catfight',\r\n 'catfish',\r\n 'cathedral',\r\n 'cathouse',\r\n 'catlike',\r\n 'catnap',\r\n 'catnip',\r\n 'catsup',\r\n 'cattail',\r\n 'cattishly',\r\n 'cattle',\r\n 'catty',\r\n 'catwalk',\r\n 'caucasian',\r\n 'caucus',\r\n 'causal',\r\n 'causation',\r\n 'cause',\r\n 'causing',\r\n 'cauterize',\r\n 'caution',\r\n 'cautious',\r\n 'cavalier',\r\n 'cavalry',\r\n 'caviar',\r\n 'cavity',\r\n 'cedar',\r\n 'celery',\r\n 'celestial',\r\n 'celibacy',\r\n 'celibate',\r\n 'celtic',\r\n 'cement',\r\n 'census',\r\n 'ceramics',\r\n 'ceremony',\r\n 'certainly',\r\n 'certainty',\r\n 'certified',\r\n 'certify',\r\n 'cesarean',\r\n 'cesspool',\r\n 'chafe',\r\n 'chaffing',\r\n 'chain',\r\n 'chair',\r\n 'chalice',\r\n 'challenge',\r\n 'chamber',\r\n 'chamomile',\r\n 'champion',\r\n 'chance',\r\n 'change',\r\n 'channel',\r\n 'chant',\r\n 'chaos',\r\n 'chaperone',\r\n 'chaplain',\r\n 'chapped',\r\n 'chaps',\r\n 'chapter',\r\n 'character',\r\n 'charbroil',\r\n 'charcoal',\r\n 'charger',\r\n 'charging',\r\n 'chariot',\r\n 'charity',\r\n 'charm',\r\n 'charred',\r\n 'charter',\r\n 'charting',\r\n 'chase',\r\n 'chasing',\r\n 'chaste',\r\n 'chastise',\r\n 'chastity',\r\n 'chatroom',\r\n 'chatter',\r\n 'chatting',\r\n 'chatty',\r\n 'cheating',\r\n 'cheddar',\r\n 'cheek',\r\n 'cheer',\r\n 'cheese',\r\n 'cheesy',\r\n 'chef',\r\n 'chemicals',\r\n 'chemist',\r\n 'chemo',\r\n 'cherisher',\r\n 'cherub',\r\n 'chess',\r\n 'chest',\r\n 'chevron',\r\n 'chevy',\r\n 'chewable',\r\n 'chewer',\r\n 'chewing',\r\n 'chewy',\r\n 'chief',\r\n 'chihuahua',\r\n 'childcare',\r\n 'childhood',\r\n 'childish',\r\n 'childless',\r\n 'childlike',\r\n 'chili',\r\n 'chill',\r\n 'chimp',\r\n 'chip',\r\n 'chirping',\r\n 'chirpy',\r\n 'chitchat',\r\n 'chivalry',\r\n 'chive',\r\n 'chloride',\r\n 'chlorine',\r\n 'choice',\r\n 'chokehold',\r\n 'choking',\r\n 'chomp',\r\n 'chooser',\r\n 'choosing',\r\n 'choosy',\r\n 'chop',\r\n 'chosen',\r\n 'chowder',\r\n 'chowtime',\r\n 'chrome',\r\n 'chubby',\r\n 'chuck',\r\n 'chug',\r\n 'chummy',\r\n 'chump',\r\n 'chunk',\r\n 'churn',\r\n 'chute',\r\n 'cider',\r\n 'cilantro',\r\n 'cinch',\r\n 'cinema',\r\n 'cinnamon',\r\n 'circle',\r\n 'circling',\r\n 'circular',\r\n 'circulate',\r\n 'circus',\r\n 'citable',\r\n 'citadel',\r\n 'citation',\r\n 'citizen',\r\n 'citric',\r\n 'citrus',\r\n 'city',\r\n 'civic',\r\n 'civil',\r\n 'clad',\r\n 'claim',\r\n 'clambake',\r\n 'clammy',\r\n 'clamor',\r\n 'clamp',\r\n 'clamshell',\r\n 'clang',\r\n 'clanking',\r\n 'clapped',\r\n 'clapper',\r\n 'clapping',\r\n 'clarify',\r\n 'clarinet',\r\n 'clarity',\r\n 'clash',\r\n 'clasp',\r\n 'class',\r\n 'clatter',\r\n 'clause',\r\n 'clavicle',\r\n 'claw',\r\n 'clay',\r\n 'clean',\r\n 'clear',\r\n 'cleat',\r\n 'cleaver',\r\n 'cleft',\r\n 'clench',\r\n 'clergyman',\r\n 'clerical',\r\n 'clerk',\r\n 'clever',\r\n 'clicker',\r\n 'client',\r\n 'climate',\r\n 'climatic',\r\n 'cling',\r\n 'clinic',\r\n 'clinking',\r\n 'clip',\r\n 'clique',\r\n 'cloak',\r\n 'clobber',\r\n 'clock',\r\n 'clone',\r\n 'cloning',\r\n 'closable',\r\n 'closure',\r\n 'clothes',\r\n 'clothing',\r\n 'cloud',\r\n 'clover',\r\n 'clubbed',\r\n 'clubbing',\r\n 'clubhouse',\r\n 'clump',\r\n 'clumsily',\r\n 'clumsy',\r\n 'clunky',\r\n 'clustered',\r\n 'clutch',\r\n 'clutter',\r\n 'coach',\r\n 'coagulant',\r\n 'coastal',\r\n 'coaster',\r\n 'coasting',\r\n 'coastland',\r\n 'coastline',\r\n 'coat',\r\n 'coauthor',\r\n 'cobalt',\r\n 'cobbler',\r\n 'cobweb',\r\n 'cocoa',\r\n 'coconut',\r\n 'cod',\r\n 'coeditor',\r\n 'coerce',\r\n 'coexist',\r\n 'coffee',\r\n 'cofounder',\r\n 'cognition',\r\n 'cognitive',\r\n 'cogwheel',\r\n 'coherence',\r\n 'coherent',\r\n 'cohesive',\r\n 'coil',\r\n 'coke',\r\n 'cola',\r\n 'cold',\r\n 'coleslaw',\r\n 'coliseum',\r\n 'collage',\r\n 'collapse',\r\n 'collar',\r\n 'collected',\r\n 'collector',\r\n 'collide',\r\n 'collie',\r\n 'collision',\r\n 'colonial',\r\n 'colonist',\r\n 'colonize',\r\n 'colony',\r\n 'colossal',\r\n 'colt',\r\n 'coma',\r\n 'come',\r\n 'comfort',\r\n 'comfy',\r\n 'comic',\r\n 'coming',\r\n 'comma',\r\n 'commence',\r\n 'commend',\r\n 'comment',\r\n 'commerce',\r\n 'commode',\r\n 'commodity',\r\n 'commodore',\r\n 'common',\r\n 'commotion',\r\n 'commute',\r\n 'commuting',\r\n 'compacted',\r\n 'compacter',\r\n 'compactly',\r\n 'compactor',\r\n 'companion',\r\n 'company',\r\n 'compare',\r\n 'compel',\r\n 'compile',\r\n 'comply',\r\n 'component',\r\n 'composed',\r\n 'composer',\r\n 'composite',\r\n 'compost',\r\n 'composure',\r\n 'compound',\r\n 'compress',\r\n 'comprised',\r\n 'computer',\r\n 'computing',\r\n 'comrade',\r\n 'concave',\r\n 'conceal',\r\n 'conceded',\r\n 'concept',\r\n 'concerned',\r\n 'concert',\r\n 'conch',\r\n 'concierge',\r\n 'concise',\r\n 'conclude',\r\n 'concrete',\r\n 'concur',\r\n 'condense',\r\n 'condiment',\r\n 'condition',\r\n 'condone',\r\n 'conducive',\r\n 'conductor',\r\n 'conduit',\r\n 'cone',\r\n 'confess',\r\n 'confetti',\r\n 'confidant',\r\n 'confident',\r\n 'confider',\r\n 'confiding',\r\n 'configure',\r\n 'confined',\r\n 'confining',\r\n 'confirm',\r\n 'conflict',\r\n 'conform',\r\n 'confound',\r\n 'confront',\r\n 'confused',\r\n 'confusing',\r\n 'confusion',\r\n 'congenial',\r\n 'congested',\r\n 'congrats',\r\n 'congress',\r\n 'conical',\r\n 'conjoined',\r\n 'conjure',\r\n 'conjuror',\r\n 'connected',\r\n 'connector',\r\n 'consensus',\r\n 'consent',\r\n 'console',\r\n 'consoling',\r\n 'consonant',\r\n 'constable',\r\n 'constant',\r\n 'constrain',\r\n 'constrict',\r\n 'construct',\r\n 'consult',\r\n 'consumer',\r\n 'consuming',\r\n 'contact',\r\n 'container',\r\n 'contempt',\r\n 'contend',\r\n 'contented',\r\n 'contently',\r\n 'contents',\r\n 'contest',\r\n 'context',\r\n 'contort',\r\n 'contour',\r\n 'contrite',\r\n 'control',\r\n 'contusion',\r\n 'convene',\r\n 'convent',\r\n 'copartner',\r\n 'cope',\r\n 'copied',\r\n 'copier',\r\n 'copilot',\r\n 'coping',\r\n 'copious',\r\n 'copper',\r\n 'copy',\r\n 'coral',\r\n 'cork',\r\n 'cornball',\r\n 'cornbread',\r\n 'corncob',\r\n 'cornea',\r\n 'corned',\r\n 'corner',\r\n 'cornfield',\r\n 'cornflake',\r\n 'cornhusk',\r\n 'cornmeal',\r\n 'cornstalk',\r\n 'corny',\r\n 'coronary',\r\n 'coroner',\r\n 'corporal',\r\n 'corporate',\r\n 'corral',\r\n 'correct',\r\n 'corridor',\r\n 'corrode',\r\n 'corroding',\r\n 'corrosive',\r\n 'corsage',\r\n 'corset',\r\n 'cortex',\r\n 'cosigner',\r\n 'cosmetics',\r\n 'cosmic',\r\n 'cosmos',\r\n 'cosponsor',\r\n 'cost',\r\n 'cottage',\r\n 'cotton',\r\n 'couch',\r\n 'cough',\r\n 'could',\r\n 'countable',\r\n 'countdown',\r\n 'counting',\r\n 'countless',\r\n 'country',\r\n 'county',\r\n 'courier',\r\n 'covenant',\r\n 'cover',\r\n 'coveted',\r\n 'coveting',\r\n 'coyness',\r\n 'cozily',\r\n 'coziness',\r\n 'cozy',\r\n 'crabbing',\r\n 'crabgrass',\r\n 'crablike',\r\n 'crabmeat',\r\n 'cradle',\r\n 'cradling',\r\n 'crafter',\r\n 'craftily',\r\n 'craftsman',\r\n 'craftwork',\r\n 'crafty',\r\n 'cramp',\r\n 'cranberry',\r\n 'crane',\r\n 'cranial',\r\n 'cranium',\r\n 'crank',\r\n 'crate',\r\n 'crave',\r\n 'craving',\r\n 'crawfish',\r\n 'crawlers',\r\n 'crawling',\r\n 'crayfish',\r\n 'crayon',\r\n 'crazed',\r\n 'crazily',\r\n 'craziness',\r\n 'crazy',\r\n 'creamed',\r\n 'creamer',\r\n 'creamlike',\r\n 'crease',\r\n 'creasing',\r\n 'creatable',\r\n 'create',\r\n 'creation',\r\n 'creative',\r\n 'creature',\r\n 'credible',\r\n 'credibly',\r\n 'credit',\r\n 'creed',\r\n 'creme',\r\n 'creole',\r\n 'crepe',\r\n 'crept',\r\n 'crescent',\r\n 'crested',\r\n 'cresting',\r\n 'crestless',\r\n 'crevice',\r\n 'crewless',\r\n 'crewman',\r\n 'crewmate',\r\n 'crib',\r\n 'cricket',\r\n 'cried',\r\n 'crier',\r\n 'crimp',\r\n 'crimson',\r\n 'cringe',\r\n 'cringing',\r\n 'crinkle',\r\n 'crinkly',\r\n 'crisped',\r\n 'crisping',\r\n 'crisply',\r\n 'crispness',\r\n 'crispy',\r\n 'criteria',\r\n 'critter',\r\n 'croak',\r\n 'crock',\r\n 'crook',\r\n 'croon',\r\n 'crop',\r\n 'cross',\r\n 'crouch',\r\n 'crouton',\r\n 'crowbar',\r\n 'crowd',\r\n 'crown',\r\n 'crucial',\r\n 'crudely',\r\n 'crudeness',\r\n 'cruelly',\r\n 'cruelness',\r\n 'cruelty',\r\n 'crumb',\r\n 'crummiest',\r\n 'crummy',\r\n 'crumpet',\r\n 'crumpled',\r\n 'cruncher',\r\n 'crunching',\r\n 'crunchy',\r\n 'crusader',\r\n 'crushable',\r\n 'crushed',\r\n 'crusher',\r\n 'crushing',\r\n 'crust',\r\n 'crux',\r\n 'crying',\r\n 'cryptic',\r\n 'crystal',\r\n 'cubbyhole',\r\n 'cube',\r\n 'cubical',\r\n 'cubicle',\r\n 'cucumber',\r\n 'cuddle',\r\n 'cuddly',\r\n 'cufflink',\r\n 'culinary',\r\n 'culminate',\r\n 'culpable',\r\n 'culprit',\r\n 'cultivate',\r\n 'cultural',\r\n 'culture',\r\n 'cupbearer',\r\n 'cupcake',\r\n 'cupid',\r\n 'cupped',\r\n 'cupping',\r\n 'curable',\r\n 'curator',\r\n 'curdle',\r\n 'cure',\r\n 'curfew',\r\n 'curing',\r\n 'curled',\r\n 'curler',\r\n 'curliness',\r\n 'curling',\r\n 'curly',\r\n 'curry',\r\n 'curse',\r\n 'cursive',\r\n 'cursor',\r\n 'curtain',\r\n 'curtly',\r\n 'curtsy',\r\n 'curvature',\r\n 'curve',\r\n 'curvy',\r\n 'cushy',\r\n 'cusp',\r\n 'cussed',\r\n 'custard',\r\n 'custodian',\r\n 'custody',\r\n 'customary',\r\n 'customer',\r\n 'customize',\r\n 'customs',\r\n 'cut',\r\n 'cycle',\r\n 'cyclic',\r\n 'cycling',\r\n 'cyclist',\r\n 'cylinder',\r\n 'cymbal',\r\n 'cytoplasm',\r\n 'cytoplast',\r\n 'dab',\r\n 'dad',\r\n 'daffodil',\r\n 'dagger',\r\n 'daily',\r\n 'daintily',\r\n 'dainty',\r\n 'dairy',\r\n 'daisy',\r\n 'dallying',\r\n 'dance',\r\n 'dancing',\r\n 'dandelion',\r\n 'dander',\r\n 'dandruff',\r\n 'dandy',\r\n 'danger',\r\n 'dangle',\r\n 'dangling',\r\n 'daredevil',\r\n 'dares',\r\n 'daringly',\r\n 'darkened',\r\n 'darkening',\r\n 'darkish',\r\n 'darkness',\r\n 'darkroom',\r\n 'darling',\r\n 'darn',\r\n 'dart',\r\n 'darwinism',\r\n 'dash',\r\n 'dastardly',\r\n 'data',\r\n 'datebook',\r\n 'dating',\r\n 'daughter',\r\n 'daunting',\r\n 'dawdler',\r\n 'dawn',\r\n 'daybed',\r\n 'daybreak',\r\n 'daycare',\r\n 'daydream',\r\n 'daylight',\r\n 'daylong',\r\n 'dayroom',\r\n 'daytime',\r\n 'dazzler',\r\n 'dazzling',\r\n 'deacon',\r\n 'deafening',\r\n 'deafness',\r\n 'dealer',\r\n 'dealing',\r\n 'dealmaker',\r\n 'dealt',\r\n 'dean',\r\n 'debatable',\r\n 'debate',\r\n 'debating',\r\n 'debit',\r\n 'debrief',\r\n 'debtless',\r\n 'debtor',\r\n 'debug',\r\n 'debunk',\r\n 'decade',\r\n 'decaf',\r\n 'decal',\r\n 'decathlon',\r\n 'decay',\r\n 'deceased',\r\n 'deceit',\r\n 'deceiver',\r\n 'deceiving',\r\n 'december',\r\n 'decency',\r\n 'decent',\r\n 'deception',\r\n 'deceptive',\r\n 'decibel',\r\n 'decidable',\r\n 'decimal',\r\n 'decimeter',\r\n 'decipher',\r\n 'deck',\r\n 'declared',\r\n 'decline',\r\n 'decode',\r\n 'decompose',\r\n 'decorated',\r\n 'decorator',\r\n 'decoy',\r\n 'decrease',\r\n 'decree',\r\n 'dedicate',\r\n 'dedicator',\r\n 'deduce',\r\n 'deduct',\r\n 'deed',\r\n 'deem',\r\n 'deepen',\r\n 'deeply',\r\n 'deepness',\r\n 'deface',\r\n 'defacing',\r\n 'defame',\r\n 'default',\r\n 'defeat',\r\n 'defection',\r\n 'defective',\r\n 'defendant',\r\n 'defender',\r\n 'defense',\r\n 'defensive',\r\n 'deferral',\r\n 'deferred',\r\n 'defiance',\r\n 'defiant',\r\n 'defile',\r\n 'defiling',\r\n 'define',\r\n 'definite',\r\n 'deflate',\r\n 'deflation',\r\n 'deflator',\r\n 'deflected',\r\n 'deflector',\r\n 'defog',\r\n 'deforest',\r\n 'defraud',\r\n 'defrost',\r\n 'deftly',\r\n 'defuse',\r\n 'defy',\r\n 'degraded',\r\n 'degrading',\r\n 'degrease',\r\n 'degree',\r\n 'dehydrate',\r\n 'deity',\r\n 'dejected',\r\n 'delay',\r\n 'delegate',\r\n 'delegator',\r\n 'delete',\r\n 'deletion',\r\n 'delicacy',\r\n 'delicate',\r\n 'delicious',\r\n 'delighted',\r\n 'delirious',\r\n 'delirium',\r\n 'deliverer',\r\n 'delivery',\r\n 'delouse',\r\n 'delta',\r\n 'deluge',\r\n 'delusion',\r\n 'deluxe',\r\n 'demanding',\r\n 'demeaning',\r\n 'demeanor',\r\n 'demise',\r\n 'democracy',\r\n 'democrat',\r\n 'demote',\r\n 'demotion',\r\n 'demystify',\r\n 'denatured',\r\n 'deniable',\r\n 'denial',\r\n 'denim',\r\n 'denote',\r\n 'dense',\r\n 'density',\r\n 'dental',\r\n 'dentist',\r\n 'denture',\r\n 'deny',\r\n 'deodorant',\r\n 'deodorize',\r\n 'departed',\r\n 'departure',\r\n 'depict',\r\n 'deplete',\r\n 'depletion',\r\n 'deplored',\r\n 'deploy',\r\n 'deport',\r\n 'depose',\r\n 'depraved',\r\n 'depravity',\r\n 'deprecate',\r\n 'depress',\r\n 'deprive',\r\n 'depth',\r\n 'deputize',\r\n 'deputy',\r\n 'derail',\r\n 'deranged',\r\n 'derby',\r\n 'derived',\r\n 'desecrate',\r\n 'deserve',\r\n 'deserving',\r\n 'designate',\r\n 'designed',\r\n 'designer',\r\n 'designing',\r\n 'deskbound',\r\n 'desktop',\r\n 'deskwork',\r\n 'desolate',\r\n 'despair',\r\n 'despise',\r\n 'despite',\r\n 'destiny',\r\n 'destitute',\r\n 'destruct',\r\n 'detached',\r\n 'detail',\r\n 'detection',\r\n 'detective',\r\n 'detector',\r\n 'detention',\r\n 'detergent',\r\n 'detest',\r\n 'detonate',\r\n 'detonator',\r\n 'detoxify',\r\n 'detract',\r\n 'deuce',\r\n 'devalue',\r\n 'deviancy',\r\n 'deviant',\r\n 'deviate',\r\n 'deviation',\r\n 'deviator',\r\n 'device',\r\n 'devious',\r\n 'devotedly',\r\n 'devotee',\r\n 'devotion',\r\n 'devourer',\r\n 'devouring',\r\n 'devoutly',\r\n 'dexterity',\r\n 'dexterous',\r\n 'diabetes',\r\n 'diabetic',\r\n 'diabolic',\r\n 'diagnoses',\r\n 'diagnosis',\r\n 'diagram',\r\n 'dial',\r\n 'diameter',\r\n 'diaper',\r\n 'diaphragm',\r\n 'diary',\r\n 'dice',\r\n 'dicing',\r\n 'dictate',\r\n 'dictation',\r\n 'dictator',\r\n 'difficult',\r\n 'diffused',\r\n 'diffuser',\r\n 'diffusion',\r\n 'diffusive',\r\n 'dig',\r\n 'dilation',\r\n 'diligence',\r\n 'diligent',\r\n 'dill',\r\n 'dilute',\r\n 'dime',\r\n 'diminish',\r\n 'dimly',\r\n 'dimmed',\r\n 'dimmer',\r\n 'dimness',\r\n 'dimple',\r\n 'diner',\r\n 'dingbat',\r\n 'dinghy',\r\n 'dinginess',\r\n 'dingo',\r\n 'dingy',\r\n 'dining',\r\n 'dinner',\r\n 'diocese',\r\n 'dioxide',\r\n 'diploma',\r\n 'dipped',\r\n 'dipper',\r\n 'dipping',\r\n 'directed',\r\n 'direction',\r\n 'directive',\r\n 'directly',\r\n 'directory',\r\n 'direness',\r\n 'dirtiness',\r\n 'disabled',\r\n 'disagree',\r\n 'disallow',\r\n 'disarm',\r\n 'disarray',\r\n 'disaster',\r\n 'disband',\r\n 'disbelief',\r\n 'disburse',\r\n 'discard',\r\n 'discern',\r\n 'discharge',\r\n 'disclose',\r\n 'discolor',\r\n 'discount',\r\n 'discourse',\r\n 'discover',\r\n 'discuss',\r\n 'disdain',\r\n 'disengage',\r\n 'disfigure',\r\n 'disgrace',\r\n 'dish',\r\n 'disinfect',\r\n 'disjoin',\r\n 'disk',\r\n 'dislike',\r\n 'disliking',\r\n 'dislocate',\r\n 'dislodge',\r\n 'disloyal',\r\n 'dismantle',\r\n 'dismay',\r\n 'dismiss',\r\n 'dismount',\r\n 'disobey',\r\n 'disorder',\r\n 'disown',\r\n 'disparate',\r\n 'disparity',\r\n 'dispatch',\r\n 'dispense',\r\n 'dispersal',\r\n 'dispersed',\r\n 'disperser',\r\n 'displace',\r\n 'display',\r\n 'displease',\r\n 'disposal',\r\n 'dispose',\r\n 'disprove',\r\n 'dispute',\r\n 'disregard',\r\n 'disrupt',\r\n 'dissuade',\r\n 'distance',\r\n 'distant',\r\n 'distaste',\r\n 'distill',\r\n 'distinct',\r\n 'distort',\r\n 'distract',\r\n 'distress',\r\n 'district',\r\n 'distrust',\r\n 'ditch',\r\n 'ditto',\r\n 'ditzy',\r\n 'dividable',\r\n 'divided',\r\n 'dividend',\r\n 'dividers',\r\n 'dividing',\r\n 'divinely',\r\n 'diving',\r\n 'divinity',\r\n 'divisible',\r\n 'divisibly',\r\n 'division',\r\n 'divisive',\r\n 'divorcee',\r\n 'dizziness',\r\n 'dizzy',\r\n 'doable',\r\n 'docile',\r\n 'dock',\r\n 'doctrine',\r\n 'document',\r\n 'dodge',\r\n 'dodgy',\r\n 'doily',\r\n 'doing',\r\n 'dole',\r\n 'dollar',\r\n 'dollhouse',\r\n 'dollop',\r\n 'dolly',\r\n 'dolphin',\r\n 'domain',\r\n 'domelike',\r\n 'domestic',\r\n 'dominion',\r\n 'dominoes',\r\n 'donated',\r\n 'donation',\r\n 'donator',\r\n 'donor',\r\n 'donut',\r\n 'doodle',\r\n 'doorbell',\r\n 'doorframe',\r\n 'doorknob',\r\n 'doorman',\r\n 'doormat',\r\n 'doornail',\r\n 'doorpost',\r\n 'doorstep',\r\n 'doorstop',\r\n 'doorway',\r\n 'doozy',\r\n 'dork',\r\n 'dormitory',\r\n 'dorsal',\r\n 'dosage',\r\n 'dose',\r\n 'dotted',\r\n 'doubling',\r\n 'douche',\r\n 'dove',\r\n 'down',\r\n 'dowry',\r\n 'doze',\r\n 'drab',\r\n 'dragging',\r\n 'dragonfly',\r\n 'dragonish',\r\n 'dragster',\r\n 'drainable',\r\n 'drainage',\r\n 'drained',\r\n 'drainer',\r\n 'drainpipe',\r\n 'dramatic',\r\n 'dramatize',\r\n 'drank',\r\n 'drapery',\r\n 'drastic',\r\n 'draw',\r\n 'dreaded',\r\n 'dreadful',\r\n 'dreadlock',\r\n 'dreamboat',\r\n 'dreamily',\r\n 'dreamland',\r\n 'dreamless',\r\n 'dreamlike',\r\n 'dreamt',\r\n 'dreamy',\r\n 'drearily',\r\n 'dreary',\r\n 'drench',\r\n 'dress',\r\n 'drew',\r\n 'dribble',\r\n 'dried',\r\n 'drier',\r\n 'drift',\r\n 'driller',\r\n 'drilling',\r\n 'drinkable',\r\n 'drinking',\r\n 'dripping',\r\n 'drippy',\r\n 'drivable',\r\n 'driven',\r\n 'driver',\r\n 'driveway',\r\n 'driving',\r\n 'drizzle',\r\n 'drizzly',\r\n 'drone',\r\n 'drool',\r\n 'droop',\r\n 'drop-down',\r\n 'dropbox',\r\n 'dropkick',\r\n 'droplet',\r\n 'dropout',\r\n 'dropper',\r\n 'drove',\r\n 'drown',\r\n 'drowsily',\r\n 'drudge',\r\n 'drum',\r\n 'dry',\r\n 'dubbed',\r\n 'dubiously',\r\n 'duchess',\r\n 'duckbill',\r\n 'ducking',\r\n 'duckling',\r\n 'ducktail',\r\n 'ducky',\r\n 'duct',\r\n 'dude',\r\n 'duffel',\r\n 'dugout',\r\n 'duh',\r\n 'duke',\r\n 'duller',\r\n 'dullness',\r\n 'duly',\r\n 'dumping',\r\n 'dumpling',\r\n 'dumpster',\r\n 'duo',\r\n 'dupe',\r\n 'duplex',\r\n 'duplicate',\r\n 'duplicity',\r\n 'durable',\r\n 'durably',\r\n 'duration',\r\n 'duress',\r\n 'during',\r\n 'dusk',\r\n 'dust',\r\n 'dutiful',\r\n 'duty',\r\n 'duvet',\r\n 'dwarf',\r\n 'dweeb',\r\n 'dwelled',\r\n 'dweller',\r\n 'dwelling',\r\n 'dwindle',\r\n 'dwindling',\r\n 'dynamic',\r\n 'dynamite',\r\n 'dynasty',\r\n 'dyslexia',\r\n 'dyslexic',\r\n 'each',\r\n 'eagle',\r\n 'earache',\r\n 'eardrum',\r\n 'earflap',\r\n 'earful',\r\n 'earlobe',\r\n 'early',\r\n 'earmark',\r\n 'earmuff',\r\n 'earphone',\r\n 'earpiece',\r\n 'earplugs',\r\n 'earring',\r\n 'earshot',\r\n 'earthen',\r\n 'earthlike',\r\n 'earthling',\r\n 'earthly',\r\n 'earthworm',\r\n 'earthy',\r\n 'earwig',\r\n 'easeful',\r\n 'easel',\r\n 'easiest',\r\n 'easily',\r\n 'easiness',\r\n 'easing',\r\n 'eastbound',\r\n 'eastcoast',\r\n 'easter',\r\n 'eastward',\r\n 'eatable',\r\n 'eaten',\r\n 'eatery',\r\n 'eating',\r\n 'eats',\r\n 'ebay',\r\n 'ebony',\r\n 'ebook',\r\n 'ecard',\r\n 'eccentric',\r\n 'echo',\r\n 'eclair',\r\n 'eclipse',\r\n 'ecologist',\r\n 'ecology',\r\n 'economic',\r\n 'economist',\r\n 'economy',\r\n 'ecosphere',\r\n 'ecosystem',\r\n 'edge',\r\n 'edginess',\r\n 'edging',\r\n 'edgy',\r\n 'edition',\r\n 'editor',\r\n 'educated',\r\n 'education',\r\n 'educator',\r\n 'eel',\r\n 'effective',\r\n 'effects',\r\n 'efficient',\r\n 'effort',\r\n 'eggbeater',\r\n 'egging',\r\n 'eggnog',\r\n 'eggplant',\r\n 'eggshell',\r\n 'egomaniac',\r\n 'egotism',\r\n 'egotistic',\r\n 'either',\r\n 'eject',\r\n 'elaborate',\r\n 'elastic',\r\n 'elated',\r\n 'elbow',\r\n 'eldercare',\r\n 'elderly',\r\n 'eldest',\r\n 'electable',\r\n 'election',\r\n 'elective',\r\n 'elephant',\r\n 'elevate',\r\n 'elevating',\r\n 'elevation',\r\n 'elevator',\r\n 'eleven',\r\n 'elf',\r\n 'eligible',\r\n 'eligibly',\r\n 'eliminate',\r\n 'elite',\r\n 'elitism',\r\n 'elixir',\r\n 'elk',\r\n 'ellipse',\r\n 'elliptic',\r\n 'elm',\r\n 'elongated',\r\n 'elope',\r\n 'eloquence',\r\n 'eloquent',\r\n 'elsewhere',\r\n 'elude',\r\n 'elusive',\r\n 'elves',\r\n 'email',\r\n 'embargo',\r\n 'embark',\r\n 'embassy',\r\n 'embattled',\r\n 'embellish',\r\n 'ember',\r\n 'embezzle',\r\n 'emblaze',\r\n 'emblem',\r\n 'embody',\r\n 'embolism',\r\n 'emboss',\r\n 'embroider',\r\n 'emcee',\r\n 'emerald',\r\n 'emergency',\r\n 'emission',\r\n 'emit',\r\n 'emote',\r\n 'emoticon',\r\n 'emotion',\r\n 'empathic',\r\n 'empathy',\r\n 'emperor',\r\n 'emphases',\r\n 'emphasis',\r\n 'emphasize',\r\n 'emphatic',\r\n 'empirical',\r\n 'employed',\r\n 'employee',\r\n 'employer',\r\n 'emporium',\r\n 'empower',\r\n 'emptier',\r\n 'emptiness',\r\n 'empty',\r\n 'emu',\r\n 'enable',\r\n 'enactment',\r\n 'enamel',\r\n 'enchanted',\r\n 'enchilada',\r\n 'encircle',\r\n 'enclose',\r\n 'enclosure',\r\n 'encode',\r\n 'encore',\r\n 'encounter',\r\n 'encourage',\r\n 'encroach',\r\n 'encrust',\r\n 'encrypt',\r\n 'endanger',\r\n 'endeared',\r\n 'endearing',\r\n 'ended',\r\n 'ending',\r\n 'endless',\r\n 'endnote',\r\n 'endocrine',\r\n 'endorphin',\r\n 'endorse',\r\n 'endowment',\r\n 'endpoint',\r\n 'endurable',\r\n 'endurance',\r\n 'enduring',\r\n 'energetic',\r\n 'energize',\r\n 'energy',\r\n 'enforced',\r\n 'enforcer',\r\n 'engaged',\r\n 'engaging',\r\n 'engine',\r\n 'engorge',\r\n 'engraved',\r\n 'engraver',\r\n 'engraving',\r\n 'engross',\r\n 'engulf',\r\n 'enhance',\r\n 'enigmatic',\r\n 'enjoyable',\r\n 'enjoyably',\r\n 'enjoyer',\r\n 'enjoying',\r\n 'enjoyment',\r\n 'enlarged',\r\n 'enlarging',\r\n 'enlighten',\r\n 'enlisted',\r\n 'enquirer',\r\n 'enrage',\r\n 'enrich',\r\n 'enroll',\r\n 'enslave',\r\n 'ensnare',\r\n 'ensure',\r\n 'entail',\r\n 'entangled',\r\n 'entering',\r\n 'entertain',\r\n 'enticing',\r\n 'entire',\r\n 'entitle',\r\n 'entity',\r\n 'entomb',\r\n 'entourage',\r\n 'entrap',\r\n 'entree',\r\n 'entrench',\r\n 'entrust',\r\n 'entryway',\r\n 'entwine',\r\n 'enunciate',\r\n 'envelope',\r\n 'enviable',\r\n 'enviably',\r\n 'envious',\r\n 'envision',\r\n 'envoy',\r\n 'envy',\r\n 'enzyme',\r\n 'epic',\r\n 'epidemic',\r\n 'epidermal',\r\n 'epidermis',\r\n 'epidural',\r\n 'epilepsy',\r\n 'epileptic',\r\n 'epilogue',\r\n 'epiphany',\r\n 'episode',\r\n 'equal',\r\n 'equate',\r\n 'equation',\r\n 'equator',\r\n 'equinox',\r\n 'equipment',\r\n 'equity',\r\n 'equivocal',\r\n 'eradicate',\r\n 'erasable',\r\n 'erased',\r\n 'eraser',\r\n 'erasure',\r\n 'ergonomic',\r\n 'errand',\r\n 'errant',\r\n 'erratic',\r\n 'error',\r\n 'erupt',\r\n 'escalate',\r\n 'escalator',\r\n 'escapable',\r\n 'escapade',\r\n 'escapist',\r\n 'escargot',\r\n 'eskimo',\r\n 'esophagus',\r\n 'espionage',\r\n 'espresso',\r\n 'esquire',\r\n 'essay',\r\n 'essence',\r\n 'essential',\r\n 'establish',\r\n 'estate',\r\n 'esteemed',\r\n 'estimate',\r\n 'estimator',\r\n 'estranged',\r\n 'estrogen',\r\n 'etching',\r\n 'eternal',\r\n 'eternity',\r\n 'ethanol',\r\n 'ether',\r\n 'ethically',\r\n 'ethics',\r\n 'euphemism',\r\n 'evacuate',\r\n 'evacuee',\r\n 'evade',\r\n 'evaluate',\r\n 'evaluator',\r\n 'evaporate',\r\n 'evasion',\r\n 'evasive',\r\n 'even',\r\n 'everglade',\r\n 'evergreen',\r\n 'everybody',\r\n 'everyday',\r\n 'everyone',\r\n 'evict',\r\n 'evidence',\r\n 'evident',\r\n 'evil',\r\n 'evoke',\r\n 'evolution',\r\n 'evolve',\r\n 'exact',\r\n 'exalted',\r\n 'example',\r\n 'excavate',\r\n 'excavator',\r\n 'exceeding',\r\n 'exception',\r\n 'excess',\r\n 'exchange',\r\n 'excitable',\r\n 'exciting',\r\n 'exclaim',\r\n 'exclude',\r\n 'excluding',\r\n 'exclusion',\r\n 'exclusive',\r\n 'excretion',\r\n 'excretory',\r\n 'excursion',\r\n 'excusable',\r\n 'excusably',\r\n 'excuse',\r\n 'exemplary',\r\n 'exemplify',\r\n 'exemption',\r\n 'exerciser',\r\n 'exert',\r\n 'exes',\r\n 'exfoliate',\r\n 'exhale',\r\n 'exhaust',\r\n 'exhume',\r\n 'exile',\r\n 'existing',\r\n 'exit',\r\n 'exodus',\r\n 'exonerate',\r\n 'exorcism',\r\n 'exorcist',\r\n 'expand',\r\n 'expanse',\r\n 'expansion',\r\n 'expansive',\r\n 'expectant',\r\n 'expedited',\r\n 'expediter',\r\n 'expel',\r\n 'expend',\r\n 'expenses',\r\n 'expensive',\r\n 'expert',\r\n 'expire',\r\n 'expiring',\r\n 'explain',\r\n 'expletive',\r\n 'explicit',\r\n 'explode',\r\n 'exploit',\r\n 'explore',\r\n 'exploring',\r\n 'exponent',\r\n 'exporter',\r\n 'exposable',\r\n 'expose',\r\n 'exposure',\r\n 'express',\r\n 'expulsion',\r\n 'exquisite',\r\n 'extended',\r\n 'extending',\r\n 'extent',\r\n 'extenuate',\r\n 'exterior',\r\n 'external',\r\n 'extinct',\r\n 'extortion',\r\n 'extradite',\r\n 'extras',\r\n 'extrovert',\r\n 'extrude',\r\n 'extruding',\r\n 'exuberant',\r\n 'fable',\r\n 'fabric',\r\n 'fabulous',\r\n 'facebook',\r\n 'facecloth',\r\n 'facedown',\r\n 'faceless',\r\n 'facelift',\r\n 'faceplate',\r\n 'faceted',\r\n 'facial',\r\n 'facility',\r\n 'facing',\r\n 'facsimile',\r\n 'faction',\r\n 'factoid',\r\n 'factor',\r\n 'factsheet',\r\n 'factual',\r\n 'faculty',\r\n 'fade',\r\n 'fading',\r\n 'failing',\r\n 'falcon',\r\n 'fall',\r\n 'false',\r\n 'falsify',\r\n 'fame',\r\n 'familiar',\r\n 'family',\r\n 'famine',\r\n 'famished',\r\n 'fanatic',\r\n 'fancied',\r\n 'fanciness',\r\n 'fancy',\r\n 'fanfare',\r\n 'fang',\r\n 'fanning',\r\n 'fantasize',\r\n 'fantastic',\r\n 'fantasy',\r\n 'fascism',\r\n 'fastball',\r\n 'faster',\r\n 'fasting',\r\n 'fastness',\r\n 'faucet',\r\n 'favorable',\r\n 'favorably',\r\n 'favored',\r\n 'favoring',\r\n 'favorite',\r\n 'fax',\r\n 'feast',\r\n 'federal',\r\n 'fedora',\r\n 'feeble',\r\n 'feed',\r\n 'feel',\r\n 'feisty',\r\n 'feline',\r\n 'felt-tip',\r\n 'feminine',\r\n 'feminism',\r\n 'feminist',\r\n 'feminize',\r\n 'femur',\r\n 'fence',\r\n 'fencing',\r\n 'fender',\r\n 'ferment',\r\n 'fernlike',\r\n 'ferocious',\r\n 'ferocity',\r\n 'ferret',\r\n 'ferris',\r\n 'ferry',\r\n 'fervor',\r\n 'fester',\r\n 'festival',\r\n 'festive',\r\n 'festivity',\r\n 'fetal',\r\n 'fetch',\r\n 'fever',\r\n 'fiber',\r\n 'fiction',\r\n 'fiddle',\r\n 'fiddling',\r\n 'fidelity',\r\n 'fidgeting',\r\n 'fidgety',\r\n 'fifteen',\r\n 'fifth',\r\n 'fiftieth',\r\n 'fifty',\r\n 'figment',\r\n 'figure',\r\n 'figurine',\r\n 'filing',\r\n 'filled',\r\n 'filler',\r\n 'filling',\r\n 'film',\r\n 'filter',\r\n 'filth',\r\n 'filtrate',\r\n 'finale',\r\n 'finalist',\r\n 'finalize',\r\n 'finally',\r\n 'finance',\r\n 'financial',\r\n 'finch',\r\n 'fineness',\r\n 'finer',\r\n 'finicky',\r\n 'finished',\r\n 'finisher',\r\n 'finishing',\r\n 'finite',\r\n 'finless',\r\n 'finlike',\r\n 'fiscally',\r\n 'fit',\r\n 'five',\r\n 'flaccid',\r\n 'flagman',\r\n 'flagpole',\r\n 'flagship',\r\n 'flagstick',\r\n 'flagstone',\r\n 'flail',\r\n 'flakily',\r\n 'flaky',\r\n 'flame',\r\n 'flammable',\r\n 'flanked',\r\n 'flanking',\r\n 'flannels',\r\n 'flap',\r\n 'flaring',\r\n 'flashback',\r\n 'flashbulb',\r\n 'flashcard',\r\n 'flashily',\r\n 'flashing',\r\n 'flashy',\r\n 'flask',\r\n 'flatbed',\r\n 'flatfoot',\r\n 'flatly',\r\n 'flatness',\r\n 'flatten',\r\n 'flattered',\r\n 'flatterer',\r\n 'flattery',\r\n 'flattop',\r\n 'flatware',\r\n 'flatworm',\r\n 'flavored',\r\n 'flavorful',\r\n 'flavoring',\r\n 'flaxseed',\r\n 'fled',\r\n 'fleshed',\r\n 'fleshy',\r\n 'flick',\r\n 'flier',\r\n 'flight',\r\n 'flinch',\r\n 'fling',\r\n 'flint',\r\n 'flip',\r\n 'flirt',\r\n 'float',\r\n 'flock',\r\n 'flogging',\r\n 'flop',\r\n 'floral',\r\n 'florist',\r\n 'floss',\r\n 'flounder',\r\n 'flyable',\r\n 'flyaway',\r\n 'flyer',\r\n 'flying',\r\n 'flyover',\r\n 'flypaper',\r\n 'foam',\r\n 'foe',\r\n 'fog',\r\n 'foil',\r\n 'folic',\r\n 'folk',\r\n 'follicle',\r\n 'follow',\r\n 'fondling',\r\n 'fondly',\r\n 'fondness',\r\n 'fondue',\r\n 'font',\r\n 'food',\r\n 'fool',\r\n 'footage',\r\n 'football',\r\n 'footbath',\r\n 'footboard',\r\n 'footer',\r\n 'footgear',\r\n 'foothill',\r\n 'foothold',\r\n 'footing',\r\n 'footless',\r\n 'footman',\r\n 'footnote',\r\n 'footpad',\r\n 'footpath',\r\n 'footprint',\r\n 'footrest',\r\n 'footsie',\r\n 'footsore',\r\n 'footwear',\r\n 'footwork',\r\n 'fossil',\r\n 'foster',\r\n 'founder',\r\n 'founding',\r\n 'fountain',\r\n 'fox',\r\n 'foyer',\r\n 'fraction',\r\n 'fracture',\r\n 'fragile',\r\n 'fragility',\r\n 'fragment',\r\n 'fragrance',\r\n 'fragrant',\r\n 'frail',\r\n 'frame',\r\n 'framing',\r\n 'frantic',\r\n 'fraternal',\r\n 'frayed',\r\n 'fraying',\r\n 'frays',\r\n 'freckled',\r\n 'freckles',\r\n 'freebase',\r\n 'freebee',\r\n 'freebie',\r\n 'freedom',\r\n 'freefall',\r\n 'freehand',\r\n 'freeing',\r\n 'freeload',\r\n 'freely',\r\n 'freemason',\r\n 'freeness',\r\n 'freestyle',\r\n 'freeware',\r\n 'freeway',\r\n 'freewill',\r\n 'freezable',\r\n 'freezing',\r\n 'freight',\r\n 'french',\r\n 'frenzied',\r\n 'frenzy',\r\n 'frequency',\r\n 'frequent',\r\n 'fresh',\r\n 'fretful',\r\n 'fretted',\r\n 'friction',\r\n 'friday',\r\n 'fridge',\r\n 'fried',\r\n 'friend',\r\n 'frighten',\r\n 'frightful',\r\n 'frigidity',\r\n 'frigidly',\r\n 'frill',\r\n 'fringe',\r\n 'frisbee',\r\n 'frisk',\r\n 'fritter',\r\n 'frivolous',\r\n 'frolic',\r\n 'from',\r\n 'front',\r\n 'frostbite',\r\n 'frosted',\r\n 'frostily',\r\n 'frosting',\r\n 'frostlike',\r\n 'frosty',\r\n 'froth',\r\n 'frown',\r\n 'frozen',\r\n 'fructose',\r\n 'frugality',\r\n 'frugally',\r\n 'fruit',\r\n 'frustrate',\r\n 'frying',\r\n 'gab',\r\n 'gaffe',\r\n 'gag',\r\n 'gainfully',\r\n 'gaining',\r\n 'gains',\r\n 'gala',\r\n 'gallantly',\r\n 'galleria',\r\n 'gallery',\r\n 'galley',\r\n 'gallon',\r\n 'gallows',\r\n 'gallstone',\r\n 'galore',\r\n 'galvanize',\r\n 'gambling',\r\n 'game',\r\n 'gaming',\r\n 'gamma',\r\n 'gander',\r\n 'gangly',\r\n 'gangrene',\r\n 'gangway',\r\n 'gap',\r\n 'garage',\r\n 'garbage',\r\n 'garden',\r\n 'gargle',\r\n 'garland',\r\n 'garlic',\r\n 'garment',\r\n 'garnet',\r\n 'garnish',\r\n 'garter',\r\n 'gas',\r\n 'gatherer',\r\n 'gathering',\r\n 'gating',\r\n 'gauging',\r\n 'gauntlet',\r\n 'gauze',\r\n 'gave',\r\n 'gawk',\r\n 'gazing',\r\n 'gear',\r\n 'gecko',\r\n 'geek',\r\n 'geiger',\r\n 'gem',\r\n 'gender',\r\n 'generic',\r\n 'generous',\r\n 'genetics',\r\n 'genre',\r\n 'gentile',\r\n 'gentleman',\r\n 'gently',\r\n 'gents',\r\n 'geography',\r\n 'geologic',\r\n 'geologist',\r\n 'geology',\r\n 'geometric',\r\n 'geometry',\r\n 'geranium',\r\n 'gerbil',\r\n 'geriatric',\r\n 'germicide',\r\n 'germinate',\r\n 'germless',\r\n 'germproof',\r\n 'gestate',\r\n 'gestation',\r\n 'gesture',\r\n 'getaway',\r\n 'getting',\r\n 'getup',\r\n 'giant',\r\n 'gibberish',\r\n 'giblet',\r\n 'giddily',\r\n 'giddiness',\r\n 'giddy',\r\n 'gift',\r\n 'gigabyte',\r\n 'gigahertz',\r\n 'gigantic',\r\n 'giggle',\r\n 'giggling',\r\n 'giggly',\r\n 'gigolo',\r\n 'gilled',\r\n 'gills',\r\n 'gimmick',\r\n 'girdle',\r\n 'giveaway',\r\n 'given',\r\n 'giver',\r\n 'giving',\r\n 'gizmo',\r\n 'gizzard',\r\n 'glacial',\r\n 'glacier',\r\n 'glade',\r\n 'gladiator',\r\n 'gladly',\r\n 'glamorous',\r\n 'glamour',\r\n 'glance',\r\n 'glancing',\r\n 'glandular',\r\n 'glare',\r\n 'glaring',\r\n 'glass',\r\n 'glaucoma',\r\n 'glazing',\r\n 'gleaming',\r\n 'gleeful',\r\n 'glider',\r\n 'gliding',\r\n 'glimmer',\r\n 'glimpse',\r\n 'glisten',\r\n 'glitch',\r\n 'glitter',\r\n 'glitzy',\r\n 'gloater',\r\n 'gloating',\r\n 'gloomily',\r\n 'gloomy',\r\n 'glorified',\r\n 'glorifier',\r\n 'glorify',\r\n 'glorious',\r\n 'glory',\r\n 'gloss',\r\n 'glove',\r\n 'glowing',\r\n 'glowworm',\r\n 'glucose',\r\n 'glue',\r\n 'gluten',\r\n 'glutinous',\r\n 'glutton',\r\n 'gnarly',\r\n 'gnat',\r\n 'goal',\r\n 'goatskin',\r\n 'goes',\r\n 'goggles',\r\n 'going',\r\n 'goldfish',\r\n 'goldmine',\r\n 'goldsmith',\r\n 'golf',\r\n 'goliath',\r\n 'gonad',\r\n 'gondola',\r\n 'gone',\r\n 'gong',\r\n 'good',\r\n 'gooey',\r\n 'goofball',\r\n 'goofiness',\r\n 'goofy',\r\n 'google',\r\n 'goon',\r\n 'gopher',\r\n 'gore',\r\n 'gorged',\r\n 'gorgeous',\r\n 'gory',\r\n 'gosling',\r\n 'gossip',\r\n 'gothic',\r\n 'gotten',\r\n 'gout',\r\n 'gown',\r\n 'grab',\r\n 'graceful',\r\n 'graceless',\r\n 'gracious',\r\n 'gradation',\r\n 'graded',\r\n 'grader',\r\n 'gradient',\r\n 'grading',\r\n 'gradually',\r\n 'graduate',\r\n 'graffiti',\r\n 'grafted',\r\n 'grafting',\r\n 'grain',\r\n 'granddad',\r\n 'grandkid',\r\n 'grandly',\r\n 'grandma',\r\n 'grandpa',\r\n 'grandson',\r\n 'granite',\r\n 'granny',\r\n 'granola',\r\n 'grant',\r\n 'granular',\r\n 'grape',\r\n 'graph',\r\n 'grapple',\r\n 'grappling',\r\n 'grasp',\r\n 'grass',\r\n 'gratified',\r\n 'gratify',\r\n 'grating',\r\n 'gratitude',\r\n 'gratuity',\r\n 'gravel',\r\n 'graveness',\r\n 'graves',\r\n 'graveyard',\r\n 'gravitate',\r\n 'gravity',\r\n 'gravy',\r\n 'gray',\r\n 'grazing',\r\n 'greasily',\r\n 'greedily',\r\n 'greedless',\r\n 'greedy',\r\n 'green',\r\n 'greeter',\r\n 'greeting',\r\n 'grew',\r\n 'greyhound',\r\n 'grid',\r\n 'grief',\r\n 'grievance',\r\n 'grieving',\r\n 'grievous',\r\n 'grill',\r\n 'grimace',\r\n 'grimacing',\r\n 'grime',\r\n 'griminess',\r\n 'grimy',\r\n 'grinch',\r\n 'grinning',\r\n 'grip',\r\n 'gristle',\r\n 'grit',\r\n 'groggily',\r\n 'groggy',\r\n 'groin',\r\n 'groom',\r\n 'groove',\r\n 'grooving',\r\n 'groovy',\r\n 'grope',\r\n 'ground',\r\n 'grouped',\r\n 'grout',\r\n 'grove',\r\n 'grower',\r\n 'growing',\r\n 'growl',\r\n 'grub',\r\n 'grudge',\r\n 'grudging',\r\n 'grueling',\r\n 'gruffly',\r\n 'grumble',\r\n 'grumbling',\r\n 'grumbly',\r\n 'grumpily',\r\n 'grunge',\r\n 'grunt',\r\n 'guacamole',\r\n 'guidable',\r\n 'guidance',\r\n 'guide',\r\n 'guiding',\r\n 'guileless',\r\n 'guise',\r\n 'gulf',\r\n 'gullible',\r\n 'gully',\r\n 'gulp',\r\n 'gumball',\r\n 'gumdrop',\r\n 'gumminess',\r\n 'gumming',\r\n 'gummy',\r\n 'gurgle',\r\n 'gurgling',\r\n 'guru',\r\n 'gush',\r\n 'gusto',\r\n 'gusty',\r\n 'gutless',\r\n 'guts',\r\n 'gutter',\r\n 'guy',\r\n 'guzzler',\r\n 'gyration',\r\n 'habitable',\r\n 'habitant',\r\n 'habitat',\r\n 'habitual',\r\n 'hacked',\r\n 'hacker',\r\n 'hacking',\r\n 'hacksaw',\r\n 'had',\r\n 'haggler',\r\n 'haiku',\r\n 'half',\r\n 'halogen',\r\n 'halt',\r\n 'halved',\r\n 'halves',\r\n 'hamburger',\r\n 'hamlet',\r\n 'hammock',\r\n 'hamper',\r\n 'hamster',\r\n 'hamstring',\r\n 'handbag',\r\n 'handball',\r\n 'handbook',\r\n 'handbrake',\r\n 'handcart',\r\n 'handclap',\r\n 'handclasp',\r\n 'handcraft',\r\n 'handcuff',\r\n 'handed',\r\n 'handful',\r\n 'handgrip',\r\n 'handgun',\r\n 'handheld',\r\n 'handiness',\r\n 'handiwork',\r\n 'handlebar',\r\n 'handled',\r\n 'handler',\r\n 'handling',\r\n 'handmade',\r\n 'handoff',\r\n 'handpick',\r\n 'handprint',\r\n 'handrail',\r\n 'handsaw',\r\n 'handset',\r\n 'handsfree',\r\n 'handshake',\r\n 'handstand',\r\n 'handwash',\r\n 'handwork',\r\n 'handwoven',\r\n 'handwrite',\r\n 'handyman',\r\n 'hangnail',\r\n 'hangout',\r\n 'hangover',\r\n 'hangup',\r\n 'hankering',\r\n 'hankie',\r\n 'hanky',\r\n 'haphazard',\r\n 'happening',\r\n 'happier',\r\n 'happiest',\r\n 'happily',\r\n 'happiness',\r\n 'happy',\r\n 'harbor',\r\n 'hardcopy',\r\n 'hardcore',\r\n 'hardcover',\r\n 'harddisk',\r\n 'hardened',\r\n 'hardener',\r\n 'hardening',\r\n 'hardhat',\r\n 'hardhead',\r\n 'hardiness',\r\n 'hardly',\r\n 'hardness',\r\n 'hardship',\r\n 'hardware',\r\n 'hardwired',\r\n 'hardwood',\r\n 'hardy',\r\n 'harmful',\r\n 'harmless',\r\n 'harmonica',\r\n 'harmonics',\r\n 'harmonize',\r\n 'harmony',\r\n 'harness',\r\n 'harpist',\r\n 'harsh',\r\n 'harvest',\r\n 'hash',\r\n 'hassle',\r\n 'haste',\r\n 'hastily',\r\n 'hastiness',\r\n 'hasty',\r\n 'hatbox',\r\n 'hatchback',\r\n 'hatchery',\r\n 'hatchet',\r\n 'hatching',\r\n 'hatchling',\r\n 'hate',\r\n 'hatless',\r\n 'hatred',\r\n 'haunt',\r\n 'haven',\r\n 'hazard',\r\n 'hazelnut',\r\n 'hazily',\r\n 'haziness',\r\n 'hazing',\r\n 'hazy',\r\n 'headache',\r\n 'headband',\r\n 'headboard',\r\n 'headcount',\r\n 'headdress',\r\n 'headed',\r\n 'header',\r\n 'headfirst',\r\n 'headgear',\r\n 'heading',\r\n 'headlamp',\r\n 'headless',\r\n 'headlock',\r\n 'headphone',\r\n 'headpiece',\r\n 'headrest',\r\n 'headroom',\r\n 'headscarf',\r\n 'headset',\r\n 'headsman',\r\n 'headstand',\r\n 'headstone',\r\n 'headway',\r\n 'headwear',\r\n 'heap',\r\n 'heat',\r\n 'heave',\r\n 'heavily',\r\n 'heaviness',\r\n 'heaving',\r\n 'hedge',\r\n 'hedging',\r\n 'heftiness',\r\n 'hefty',\r\n 'helium',\r\n 'helmet',\r\n 'helper',\r\n 'helpful',\r\n 'helping',\r\n 'helpless',\r\n 'helpline',\r\n 'hemlock',\r\n 'hemstitch',\r\n 'hence',\r\n 'henchman',\r\n 'henna',\r\n 'herald',\r\n 'herbal',\r\n 'herbicide',\r\n 'herbs',\r\n 'heritage',\r\n 'hermit',\r\n 'heroics',\r\n 'heroism',\r\n 'herring',\r\n 'herself',\r\n 'hertz',\r\n 'hesitancy',\r\n 'hesitant',\r\n 'hesitate',\r\n 'hexagon',\r\n 'hexagram',\r\n 'hubcap',\r\n 'huddle',\r\n 'huddling',\r\n 'huff',\r\n 'hug',\r\n 'hula',\r\n 'hulk',\r\n 'hull',\r\n 'human',\r\n 'humble',\r\n 'humbling',\r\n 'humbly',\r\n 'humid',\r\n 'humiliate',\r\n 'humility',\r\n 'humming',\r\n 'hummus',\r\n 'humongous',\r\n 'humorist',\r\n 'humorless',\r\n 'humorous',\r\n 'humpback',\r\n 'humped',\r\n 'humvee',\r\n 'hunchback',\r\n 'hundredth',\r\n 'hunger',\r\n 'hungrily',\r\n 'hungry',\r\n 'hunk',\r\n 'hunter',\r\n 'hunting',\r\n 'huntress',\r\n 'huntsman',\r\n 'hurdle',\r\n 'hurled',\r\n 'hurler',\r\n 'hurling',\r\n 'hurray',\r\n 'hurricane',\r\n 'hurried',\r\n 'hurry',\r\n 'hurt',\r\n 'husband',\r\n 'hush',\r\n 'husked',\r\n 'huskiness',\r\n 'hut',\r\n 'hybrid',\r\n 'hydrant',\r\n 'hydrated',\r\n 'hydration',\r\n 'hydrogen',\r\n 'hydroxide',\r\n 'hyperlink',\r\n 'hypertext',\r\n 'hyphen',\r\n 'hypnoses',\r\n 'hypnosis',\r\n 'hypnotic',\r\n 'hypnotism',\r\n 'hypnotist',\r\n 'hypnotize',\r\n 'hypocrisy',\r\n 'hypocrite',\r\n 'ibuprofen',\r\n 'ice',\r\n 'iciness',\r\n 'icing',\r\n 'icky',\r\n 'icon',\r\n 'icy',\r\n 'idealism',\r\n 'idealist',\r\n 'idealize',\r\n 'ideally',\r\n 'idealness',\r\n 'identical',\r\n 'identify',\r\n 'identity',\r\n 'ideology',\r\n 'idiocy',\r\n 'idiom',\r\n 'idly',\r\n 'igloo',\r\n 'ignition',\r\n 'ignore',\r\n 'iguana',\r\n 'illicitly',\r\n 'illusion',\r\n 'illusive',\r\n 'image',\r\n 'imaginary',\r\n 'imagines',\r\n 'imaging',\r\n 'imbecile',\r\n 'imitate',\r\n 'imitation',\r\n 'immature',\r\n 'immerse',\r\n 'immersion',\r\n 'imminent',\r\n 'immobile',\r\n 'immodest',\r\n 'immorally',\r\n 'immortal',\r\n 'immovable',\r\n 'immovably',\r\n 'immunity',\r\n 'immunize',\r\n 'impaired',\r\n 'impale',\r\n 'impart',\r\n 'impatient',\r\n 'impeach',\r\n 'impeding',\r\n 'impending',\r\n 'imperfect',\r\n 'imperial',\r\n 'impish',\r\n 'implant',\r\n 'implement',\r\n 'implicate',\r\n 'implicit',\r\n 'implode',\r\n 'implosion',\r\n 'implosive',\r\n 'imply',\r\n 'impolite',\r\n 'important',\r\n 'importer',\r\n 'impose',\r\n 'imposing',\r\n 'impotence',\r\n 'impotency',\r\n 'impotent',\r\n 'impound',\r\n 'imprecise',\r\n 'imprint',\r\n 'imprison',\r\n 'impromptu',\r\n 'improper',\r\n 'improve',\r\n 'improving',\r\n 'improvise',\r\n 'imprudent',\r\n 'impulse',\r\n 'impulsive',\r\n 'impure',\r\n 'impurity',\r\n 'iodine',\r\n 'iodize',\r\n 'ion',\r\n 'ipad',\r\n 'iphone',\r\n 'ipod',\r\n 'irate',\r\n 'irk',\r\n 'iron',\r\n 'irregular',\r\n 'irrigate',\r\n 'irritable',\r\n 'irritably',\r\n 'irritant',\r\n 'irritate',\r\n 'islamic',\r\n 'islamist',\r\n 'isolated',\r\n 'isolating',\r\n 'isolation',\r\n 'isotope',\r\n 'issue',\r\n 'issuing',\r\n 'italicize',\r\n 'italics',\r\n 'item',\r\n 'itinerary',\r\n 'itunes',\r\n 'ivory',\r\n 'ivy',\r\n 'jab',\r\n 'jackal',\r\n 'jacket',\r\n 'jackknife',\r\n 'jackpot',\r\n 'jailbird',\r\n 'jailbreak',\r\n 'jailer',\r\n 'jailhouse',\r\n 'jalapeno',\r\n 'jam',\r\n 'janitor',\r\n 'january',\r\n 'jargon',\r\n 'jarring',\r\n 'jasmine',\r\n 'jaundice',\r\n 'jaunt',\r\n 'java',\r\n 'jawed',\r\n 'jawless',\r\n 'jawline',\r\n 'jaws',\r\n 'jaybird',\r\n 'jaywalker',\r\n 'jazz',\r\n 'jeep',\r\n 'jeeringly',\r\n 'jellied',\r\n 'jelly',\r\n 'jersey',\r\n 'jester',\r\n 'jet',\r\n 'jiffy',\r\n 'jigsaw',\r\n 'jimmy',\r\n 'jingle',\r\n 'jingling',\r\n 'jinx',\r\n 'jitters',\r\n 'jittery',\r\n 'job',\r\n 'jockey',\r\n 'jockstrap',\r\n 'jogger',\r\n 'jogging',\r\n 'john',\r\n 'joining',\r\n 'jokester',\r\n 'jokingly',\r\n 'jolliness',\r\n 'jolly',\r\n 'jolt',\r\n 'jot',\r\n 'jovial',\r\n 'joyfully',\r\n 'joylessly',\r\n 'joyous',\r\n 'joyride',\r\n 'joystick',\r\n 'jubilance',\r\n 'jubilant',\r\n 'judge',\r\n 'judgingly',\r\n 'judicial',\r\n 'judiciary',\r\n 'judo',\r\n 'juggle',\r\n 'juggling',\r\n 'jugular',\r\n 'juice',\r\n 'juiciness',\r\n 'juicy',\r\n 'jujitsu',\r\n 'jukebox',\r\n 'july',\r\n 'jumble',\r\n 'jumbo',\r\n 'jump',\r\n 'junction',\r\n 'juncture',\r\n 'june',\r\n 'junior',\r\n 'juniper',\r\n 'junkie',\r\n 'junkman',\r\n 'junkyard',\r\n 'jurist',\r\n 'juror',\r\n 'jury',\r\n 'justice',\r\n 'justifier',\r\n 'justify',\r\n 'justly',\r\n 'justness',\r\n 'juvenile',\r\n 'kabob',\r\n 'kangaroo',\r\n 'karaoke',\r\n 'karate',\r\n 'karma',\r\n 'kebab',\r\n 'keenly',\r\n 'keenness',\r\n 'keep',\r\n 'keg',\r\n 'kelp',\r\n 'kennel',\r\n 'kept',\r\n 'kerchief',\r\n 'kerosene',\r\n 'kettle',\r\n 'kick',\r\n 'kiln',\r\n 'kilobyte',\r\n 'kilogram',\r\n 'kilometer',\r\n 'kilowatt',\r\n 'kilt',\r\n 'kimono',\r\n 'kindle',\r\n 'kindling',\r\n 'kindly',\r\n 'kindness',\r\n 'kindred',\r\n 'kinetic',\r\n 'kinfolk',\r\n 'king',\r\n 'kinship',\r\n 'kinsman',\r\n 'kinswoman',\r\n 'kissable',\r\n 'kisser',\r\n 'kissing',\r\n 'kitchen',\r\n 'kite',\r\n 'kitten',\r\n 'kitty',\r\n 'kiwi',\r\n 'kleenex',\r\n 'knapsack',\r\n 'knee',\r\n 'knelt',\r\n 'knickers',\r\n 'knoll',\r\n 'koala',\r\n 'kooky',\r\n 'kosher',\r\n 'krypton',\r\n 'kudos',\r\n 'kung',\r\n 'labored',\r\n 'laborer',\r\n 'laboring',\r\n 'laborious',\r\n 'labrador',\r\n 'ladder',\r\n 'ladies',\r\n 'ladle',\r\n 'ladybug',\r\n 'ladylike',\r\n 'lagged',\r\n 'lagging',\r\n 'lagoon',\r\n 'lair',\r\n 'lake',\r\n 'lance',\r\n 'landed',\r\n 'landfall',\r\n 'landfill',\r\n 'landing',\r\n 'landlady',\r\n 'landless',\r\n 'landline',\r\n 'landlord',\r\n 'landmark',\r\n 'landmass',\r\n 'landmine',\r\n 'landowner',\r\n 'landscape',\r\n 'landside',\r\n 'landslide',\r\n 'language',\r\n 'lankiness',\r\n 'lanky',\r\n 'lantern',\r\n 'lapdog',\r\n 'lapel',\r\n 'lapped',\r\n 'lapping',\r\n 'laptop',\r\n 'lard',\r\n 'large',\r\n 'lark',\r\n 'lash',\r\n 'lasso',\r\n 'last',\r\n 'latch',\r\n 'late',\r\n 'lather',\r\n 'latitude',\r\n 'latrine',\r\n 'latter',\r\n 'latticed',\r\n 'launch',\r\n 'launder',\r\n 'laundry',\r\n 'laurel',\r\n 'lavender',\r\n 'lavish',\r\n 'laxative',\r\n 'lazily',\r\n 'laziness',\r\n 'lazy',\r\n 'lecturer',\r\n 'left',\r\n 'legacy',\r\n 'legal',\r\n 'legend',\r\n 'legged',\r\n 'leggings',\r\n 'legible',\r\n 'legibly',\r\n 'legislate',\r\n 'lego',\r\n 'legroom',\r\n 'legume',\r\n 'legwarmer',\r\n 'legwork',\r\n 'lemon',\r\n 'lend',\r\n 'length',\r\n 'lens',\r\n 'lent',\r\n 'leotard',\r\n 'lesser',\r\n 'letdown',\r\n 'lethargic',\r\n 'lethargy',\r\n 'letter',\r\n 'lettuce',\r\n 'level',\r\n 'leverage',\r\n 'levers',\r\n 'levitate',\r\n 'levitator',\r\n 'liability',\r\n 'liable',\r\n 'liberty',\r\n 'librarian',\r\n 'library',\r\n 'licking',\r\n 'licorice',\r\n 'lid',\r\n 'life',\r\n 'lifter',\r\n 'lifting',\r\n 'liftoff',\r\n 'ligament',\r\n 'likely',\r\n 'likeness',\r\n 'likewise',\r\n 'liking',\r\n 'lilac',\r\n 'lilly',\r\n 'lily',\r\n 'limb',\r\n 'limeade',\r\n 'limelight',\r\n 'limes',\r\n 'limit',\r\n 'limping',\r\n 'limpness',\r\n 'line',\r\n 'lingo',\r\n 'linguini',\r\n 'linguist',\r\n 'lining',\r\n 'linked',\r\n 'linoleum',\r\n 'linseed',\r\n 'lint',\r\n 'lion',\r\n 'lip',\r\n 'liquefy',\r\n 'liqueur',\r\n 'liquid',\r\n 'lisp',\r\n 'list',\r\n 'litigate',\r\n 'litigator',\r\n 'litmus',\r\n 'litter',\r\n 'little',\r\n 'livable',\r\n 'lived',\r\n 'lively',\r\n 'liver',\r\n 'livestock',\r\n 'lividly',\r\n 'living',\r\n 'lizard',\r\n 'lubricant',\r\n 'lubricate',\r\n 'lucid',\r\n 'luckily',\r\n 'luckiness',\r\n 'luckless',\r\n 'lucrative',\r\n 'ludicrous',\r\n 'lugged',\r\n 'lukewarm',\r\n 'lullaby',\r\n 'lumber',\r\n 'luminance',\r\n 'luminous',\r\n 'lumpiness',\r\n 'lumping',\r\n 'lumpish',\r\n 'lunacy',\r\n 'lunar',\r\n 'lunchbox',\r\n 'luncheon',\r\n 'lunchroom',\r\n 'lunchtime',\r\n 'lung',\r\n 'lurch',\r\n 'lure',\r\n 'luridness',\r\n 'lurk',\r\n 'lushly',\r\n 'lushness',\r\n 'luster',\r\n 'lustfully',\r\n 'lustily',\r\n 'lustiness',\r\n 'lustrous',\r\n 'lusty',\r\n 'luxurious',\r\n 'luxury',\r\n 'lying',\r\n 'lyrically',\r\n 'lyricism',\r\n 'lyricist',\r\n 'lyrics',\r\n 'macarena',\r\n 'macaroni',\r\n 'macaw',\r\n 'mace',\r\n 'machine',\r\n 'machinist',\r\n 'magazine',\r\n 'magenta',\r\n 'maggot',\r\n 'magical',\r\n 'magician',\r\n 'magma',\r\n 'magnesium',\r\n 'magnetic',\r\n 'magnetism',\r\n 'magnetize',\r\n 'magnifier',\r\n 'magnify',\r\n 'magnitude',\r\n 'magnolia',\r\n 'mahogany',\r\n 'maimed',\r\n 'majestic',\r\n 'majesty',\r\n 'majorette',\r\n 'majority',\r\n 'makeover',\r\n 'maker',\r\n 'makeshift',\r\n 'making',\r\n 'malformed',\r\n 'malt',\r\n 'mama',\r\n 'mammal',\r\n 'mammary',\r\n 'mammogram',\r\n 'manager',\r\n 'managing',\r\n 'manatee',\r\n 'mandarin',\r\n 'mandate',\r\n 'mandatory',\r\n 'mandolin',\r\n 'manger',\r\n 'mangle',\r\n 'mango',\r\n 'mangy',\r\n 'manhandle',\r\n 'manhole',\r\n 'manhood',\r\n 'manhunt',\r\n 'manicotti',\r\n 'manicure',\r\n 'manifesto',\r\n 'manila',\r\n 'mankind',\r\n 'manlike',\r\n 'manliness',\r\n 'manly',\r\n 'manmade',\r\n 'manned',\r\n 'mannish',\r\n 'manor',\r\n 'manpower',\r\n 'mantis',\r\n 'mantra',\r\n 'manual',\r\n 'many',\r\n 'map',\r\n 'marathon',\r\n 'marauding',\r\n 'marbled',\r\n 'marbles',\r\n 'marbling',\r\n 'march',\r\n 'mardi',\r\n 'margarine',\r\n 'margarita',\r\n 'margin',\r\n 'marigold',\r\n 'marina',\r\n 'marine',\r\n 'marital',\r\n 'maritime',\r\n 'marlin',\r\n 'marmalade',\r\n 'maroon',\r\n 'married',\r\n 'marrow',\r\n 'marry',\r\n 'marshland',\r\n 'marshy',\r\n 'marsupial',\r\n 'marvelous',\r\n 'marxism',\r\n 'mascot',\r\n 'masculine',\r\n 'mashed',\r\n 'mashing',\r\n 'massager',\r\n 'masses',\r\n 'massive',\r\n 'mastiff',\r\n 'matador',\r\n 'matchbook',\r\n 'matchbox',\r\n 'matcher',\r\n 'matching',\r\n 'matchless',\r\n 'material',\r\n 'maternal',\r\n 'maternity',\r\n 'math',\r\n 'mating',\r\n 'matriarch',\r\n 'matrimony',\r\n 'matrix',\r\n 'matron',\r\n 'matted',\r\n 'matter',\r\n 'maturely',\r\n 'maturing',\r\n 'maturity',\r\n 'mauve',\r\n 'maverick',\r\n 'maximize',\r\n 'maximum',\r\n 'maybe',\r\n 'mayday',\r\n 'mayflower',\r\n 'moaner',\r\n 'moaning',\r\n 'mobile',\r\n 'mobility',\r\n 'mobilize',\r\n 'mobster',\r\n 'mocha',\r\n 'mocker',\r\n 'mockup',\r\n 'modified',\r\n 'modify',\r\n 'modular',\r\n 'modulator',\r\n 'module',\r\n 'moisten',\r\n 'moistness',\r\n 'moisture',\r\n 'molar',\r\n 'molasses',\r\n 'mold',\r\n 'molecular',\r\n 'molecule',\r\n 'molehill',\r\n 'mollusk',\r\n 'mom',\r\n 'monastery',\r\n 'monday',\r\n 'monetary',\r\n 'monetize',\r\n 'moneybags',\r\n 'moneyless',\r\n 'moneywise',\r\n 'mongoose',\r\n 'mongrel',\r\n 'monitor',\r\n 'monkhood',\r\n 'monogamy',\r\n 'monogram',\r\n 'monologue',\r\n 'monopoly',\r\n 'monorail',\r\n 'monotone',\r\n 'monotype',\r\n 'monoxide',\r\n 'monsieur',\r\n 'monsoon',\r\n 'monstrous',\r\n 'monthly',\r\n 'monument',\r\n 'moocher',\r\n 'moodiness',\r\n 'moody',\r\n 'mooing',\r\n 'moonbeam',\r\n 'mooned',\r\n 'moonlight',\r\n 'moonlike',\r\n 'moonlit',\r\n 'moonrise',\r\n 'moonscape',\r\n 'moonshine',\r\n 'moonstone',\r\n 'moonwalk',\r\n 'mop',\r\n 'morale',\r\n 'morality',\r\n 'morally',\r\n 'morbidity',\r\n 'morbidly',\r\n 'morphine',\r\n 'morphing',\r\n 'morse',\r\n 'mortality',\r\n 'mortally',\r\n 'mortician',\r\n 'mortified',\r\n 'mortify',\r\n 'mortuary',\r\n 'mosaic',\r\n 'mossy',\r\n 'most',\r\n 'mothball',\r\n 'mothproof',\r\n 'motion',\r\n 'motivate',\r\n 'motivator',\r\n 'motive',\r\n 'motocross',\r\n 'motor',\r\n 'motto',\r\n 'mountable',\r\n 'mountain',\r\n 'mounted',\r\n 'mounting',\r\n 'mourner',\r\n 'mournful',\r\n 'mouse',\r\n 'mousiness',\r\n 'moustache',\r\n 'mousy',\r\n 'mouth',\r\n 'movable',\r\n 'move',\r\n 'movie',\r\n 'moving',\r\n 'mower',\r\n 'mowing',\r\n 'much',\r\n 'muck',\r\n 'mud',\r\n 'mug',\r\n 'mulberry',\r\n 'mulch',\r\n 'mule',\r\n 'mulled',\r\n 'mullets',\r\n 'multiple',\r\n 'multiply',\r\n 'multitask',\r\n 'multitude',\r\n 'mumble',\r\n 'mumbling',\r\n 'mumbo',\r\n 'mummified',\r\n 'mummify',\r\n 'mummy',\r\n 'mumps',\r\n 'munchkin',\r\n 'mundane',\r\n 'municipal',\r\n 'muppet',\r\n 'mural',\r\n 'murkiness',\r\n 'murky',\r\n 'murmuring',\r\n 'muscular',\r\n 'museum',\r\n 'mushily',\r\n 'mushiness',\r\n 'mushroom',\r\n 'mushy',\r\n 'music',\r\n 'musket',\r\n 'muskiness',\r\n 'musky',\r\n 'mustang',\r\n 'mustard',\r\n 'muster',\r\n 'mustiness',\r\n 'musty',\r\n 'mutable',\r\n 'mutate',\r\n 'mutation',\r\n 'mute',\r\n 'mutilated',\r\n 'mutilator',\r\n 'mutiny',\r\n 'mutt',\r\n 'mutual',\r\n 'muzzle',\r\n 'myself',\r\n 'myspace',\r\n 'mystified',\r\n 'mystify',\r\n 'myth',\r\n 'nacho',\r\n 'nag',\r\n 'nail',\r\n 'name',\r\n 'naming',\r\n 'nanny',\r\n 'nanometer',\r\n 'nape',\r\n 'napkin',\r\n 'napped',\r\n 'napping',\r\n 'nappy',\r\n 'narrow',\r\n 'nastily',\r\n 'nastiness',\r\n 'national',\r\n 'native',\r\n 'nativity',\r\n 'natural',\r\n 'nature',\r\n 'naturist',\r\n 'nautical',\r\n 'navigate',\r\n 'navigator',\r\n 'navy',\r\n 'nearby',\r\n 'nearest',\r\n 'nearly',\r\n 'nearness',\r\n 'neatly',\r\n 'neatness',\r\n 'nebula',\r\n 'nebulizer',\r\n 'nectar',\r\n 'negate',\r\n 'negation',\r\n 'negative',\r\n 'neglector',\r\n 'negligee',\r\n 'negligent',\r\n 'negotiate',\r\n 'nemeses',\r\n 'nemesis',\r\n 'neon',\r\n 'nephew',\r\n 'nerd',\r\n 'nervous',\r\n 'nervy',\r\n 'nest',\r\n 'net',\r\n 'neurology',\r\n 'neuron',\r\n 'neurosis',\r\n 'neurotic',\r\n 'neuter',\r\n 'neutron',\r\n 'never',\r\n 'next',\r\n 'nibble',\r\n 'nickname',\r\n 'nicotine',\r\n 'niece',\r\n 'nifty',\r\n 'nimble',\r\n 'nimbly',\r\n 'nineteen',\r\n 'ninetieth',\r\n 'ninja',\r\n 'nintendo',\r\n 'ninth',\r\n 'nuclear',\r\n 'nuclei',\r\n 'nucleus',\r\n 'nugget',\r\n 'nullify',\r\n 'number',\r\n 'numbing',\r\n 'numbly',\r\n 'numbness',\r\n 'numeral',\r\n 'numerate',\r\n 'numerator',\r\n 'numeric',\r\n 'numerous',\r\n 'nuptials',\r\n 'nursery',\r\n 'nursing',\r\n 'nurture',\r\n 'nutcase',\r\n 'nutlike',\r\n 'nutmeg',\r\n 'nutrient',\r\n 'nutshell',\r\n 'nuttiness',\r\n 'nutty',\r\n 'nuzzle',\r\n 'nylon',\r\n 'oaf',\r\n 'oak',\r\n 'oasis',\r\n 'oat',\r\n 'obedience',\r\n 'obedient',\r\n 'obituary',\r\n 'object',\r\n 'obligate',\r\n 'obliged',\r\n 'oblivion',\r\n 'oblivious',\r\n 'oblong',\r\n 'obnoxious',\r\n 'oboe',\r\n 'obscure',\r\n 'obscurity',\r\n 'observant',\r\n 'observer',\r\n 'observing',\r\n 'obsessed',\r\n 'obsession',\r\n 'obsessive',\r\n 'obsolete',\r\n 'obstacle',\r\n 'obstinate',\r\n 'obstruct',\r\n 'obtain',\r\n 'obtrusive',\r\n 'obtuse',\r\n 'obvious',\r\n 'occultist',\r\n 'occupancy',\r\n 'occupant',\r\n 'occupier',\r\n 'occupy',\r\n 'ocean',\r\n 'ocelot',\r\n 'octagon',\r\n 'octane',\r\n 'october',\r\n 'octopus',\r\n 'ogle',\r\n 'oil',\r\n 'oink',\r\n 'ointment',\r\n 'okay',\r\n 'old',\r\n 'olive',\r\n 'olympics',\r\n 'omega',\r\n 'omen',\r\n 'ominous',\r\n 'omission',\r\n 'omit',\r\n 'omnivore',\r\n 'onboard',\r\n 'oncoming',\r\n 'ongoing',\r\n 'onion',\r\n 'online',\r\n 'onlooker',\r\n 'only',\r\n 'onscreen',\r\n 'onset',\r\n 'onshore',\r\n 'onslaught',\r\n 'onstage',\r\n 'onto',\r\n 'onward',\r\n 'onyx',\r\n 'oops',\r\n 'ooze',\r\n 'oozy',\r\n 'opacity',\r\n 'opal',\r\n 'open',\r\n 'operable',\r\n 'operate',\r\n 'operating',\r\n 'operation',\r\n 'operative',\r\n 'operator',\r\n 'opium',\r\n 'opossum',\r\n 'opponent',\r\n 'oppose',\r\n 'opposing',\r\n 'opposite',\r\n 'oppressed',\r\n 'oppressor',\r\n 'opt',\r\n 'opulently',\r\n 'osmosis',\r\n 'other',\r\n 'otter',\r\n 'ouch',\r\n 'ought',\r\n 'ounce',\r\n 'outage',\r\n 'outback',\r\n 'outbid',\r\n 'outboard',\r\n 'outbound',\r\n 'outbreak',\r\n 'outburst',\r\n 'outcast',\r\n 'outclass',\r\n 'outcome',\r\n 'outdated',\r\n 'outdoors',\r\n 'outer',\r\n 'outfield',\r\n 'outfit',\r\n 'outflank',\r\n 'outgoing',\r\n 'outgrow',\r\n 'outhouse',\r\n 'outing',\r\n 'outlast',\r\n 'outlet',\r\n 'outline',\r\n 'outlook',\r\n 'outlying',\r\n 'outmatch',\r\n 'outmost',\r\n 'outnumber',\r\n 'outplayed',\r\n 'outpost',\r\n 'outpour',\r\n 'output',\r\n 'outrage',\r\n 'outrank',\r\n 'outreach',\r\n 'outright',\r\n 'outscore',\r\n 'outsell',\r\n 'outshine',\r\n 'outshoot',\r\n 'outsider',\r\n 'outskirts',\r\n 'outsmart',\r\n 'outsource',\r\n 'outspoken',\r\n 'outtakes',\r\n 'outthink',\r\n 'outward',\r\n 'outweigh',\r\n 'outwit',\r\n 'oval',\r\n 'ovary',\r\n 'oven',\r\n 'overact',\r\n 'overall',\r\n 'overarch',\r\n 'overbid',\r\n 'overbill',\r\n 'overbite',\r\n 'overblown',\r\n 'overboard',\r\n 'overbook',\r\n 'overbuilt',\r\n 'overcast',\r\n 'overcoat',\r\n 'overcome',\r\n 'overcook',\r\n 'overcrowd',\r\n 'overdraft',\r\n 'overdrawn',\r\n 'overdress',\r\n 'overdrive',\r\n 'overdue',\r\n 'overeager',\r\n 'overeater',\r\n 'overexert',\r\n 'overfed',\r\n 'overfeed',\r\n 'overfill',\r\n 'overflow',\r\n 'overfull',\r\n 'overgrown',\r\n 'overhand',\r\n 'overhang',\r\n 'overhaul',\r\n 'overhead',\r\n 'overhear',\r\n 'overheat',\r\n 'overhung',\r\n 'overjoyed',\r\n 'overkill',\r\n 'overlabor',\r\n 'overlaid',\r\n 'overlap',\r\n 'overlay',\r\n 'overload',\r\n 'overlook',\r\n 'overlord',\r\n 'overlying',\r\n 'overnight',\r\n 'overpass',\r\n 'overpay',\r\n 'overplant',\r\n 'overplay',\r\n 'overpower',\r\n 'overprice',\r\n 'overrate',\r\n 'overreach',\r\n 'overreact',\r\n 'override',\r\n 'overripe',\r\n 'overrule',\r\n 'overrun',\r\n 'overshoot',\r\n 'overshot',\r\n 'oversight',\r\n 'oversized',\r\n 'oversleep',\r\n 'oversold',\r\n 'overspend',\r\n 'overstate',\r\n 'overstay',\r\n 'overstep',\r\n 'overstock',\r\n 'overstuff',\r\n 'oversweet',\r\n 'overtake',\r\n 'overthrow',\r\n 'overtime',\r\n 'overtly',\r\n 'overtone',\r\n 'overture',\r\n 'overturn',\r\n 'overuse',\r\n 'overvalue',\r\n 'overview',\r\n 'overwrite',\r\n 'owl',\r\n 'oxford',\r\n 'oxidant',\r\n 'oxidation',\r\n 'oxidize',\r\n 'oxidizing',\r\n 'oxygen',\r\n 'oxymoron',\r\n 'oyster',\r\n 'ozone',\r\n 'paced',\r\n 'pacemaker',\r\n 'pacific',\r\n 'pacifier',\r\n 'pacifism',\r\n 'pacifist',\r\n 'pacify',\r\n 'padded',\r\n 'padding',\r\n 'paddle',\r\n 'paddling',\r\n 'padlock',\r\n 'pagan',\r\n 'pager',\r\n 'paging',\r\n 'pajamas',\r\n 'palace',\r\n 'palatable',\r\n 'palm',\r\n 'palpable',\r\n 'palpitate',\r\n 'paltry',\r\n 'pampered',\r\n 'pamperer',\r\n 'pampers',\r\n 'pamphlet',\r\n 'panama',\r\n 'pancake',\r\n 'pancreas',\r\n 'panda',\r\n 'pandemic',\r\n 'pang',\r\n 'panhandle',\r\n 'panic',\r\n 'panning',\r\n 'panorama',\r\n 'panoramic',\r\n 'panther',\r\n 'pantomime',\r\n 'pantry',\r\n 'pants',\r\n 'pantyhose',\r\n 'paparazzi',\r\n 'papaya',\r\n 'paper',\r\n 'paprika',\r\n 'papyrus',\r\n 'parabola',\r\n 'parachute',\r\n 'parade',\r\n 'paradox',\r\n 'paragraph',\r\n 'parakeet',\r\n 'paralegal',\r\n 'paralyses',\r\n 'paralysis',\r\n 'paralyze',\r\n 'paramedic',\r\n 'parameter',\r\n 'paramount',\r\n 'parasail',\r\n 'parasite',\r\n 'parasitic',\r\n 'parcel',\r\n 'parched',\r\n 'parchment',\r\n 'pardon',\r\n 'parish',\r\n 'parka',\r\n 'parking',\r\n 'parkway',\r\n 'parlor',\r\n 'parmesan',\r\n 'parole',\r\n 'parrot',\r\n 'parsley',\r\n 'parsnip',\r\n 'partake',\r\n 'parted',\r\n 'parting',\r\n 'partition',\r\n 'partly',\r\n 'partner',\r\n 'partridge',\r\n 'party',\r\n 'passable',\r\n 'passably',\r\n 'passage',\r\n 'passcode',\r\n 'passenger',\r\n 'passerby',\r\n 'passing',\r\n 'passion',\r\n 'passive',\r\n 'passivism',\r\n 'passover',\r\n 'passport',\r\n 'password',\r\n 'pasta',\r\n 'pasted',\r\n 'pastel',\r\n 'pastime',\r\n 'pastor',\r\n 'pastrami',\r\n 'pasture',\r\n 'pasty',\r\n 'patchwork',\r\n 'patchy',\r\n 'paternal',\r\n 'paternity',\r\n 'path',\r\n 'patience',\r\n 'patient',\r\n 'patio',\r\n 'patriarch',\r\n 'patriot',\r\n 'patrol',\r\n 'patronage',\r\n 'patronize',\r\n 'pauper',\r\n 'pavement',\r\n 'paver',\r\n 'pavestone',\r\n 'pavilion',\r\n 'paving',\r\n 'pawing',\r\n 'payable',\r\n 'payback',\r\n 'paycheck',\r\n 'payday',\r\n 'payee',\r\n 'payer',\r\n 'paying',\r\n 'payment',\r\n 'payphone',\r\n 'payroll',\r\n 'pebble',\r\n 'pebbly',\r\n 'pecan',\r\n 'pectin',\r\n 'peculiar',\r\n 'peddling',\r\n 'pediatric',\r\n 'pedicure',\r\n 'pedigree',\r\n 'pedometer',\r\n 'pegboard',\r\n 'pelican',\r\n 'pellet',\r\n 'pelt',\r\n 'pelvis',\r\n 'penalize',\r\n 'penalty',\r\n 'pencil',\r\n 'pendant',\r\n 'pending',\r\n 'penholder',\r\n 'penknife',\r\n 'pennant',\r\n 'penniless',\r\n 'penny',\r\n 'penpal',\r\n 'pension',\r\n 'pentagon',\r\n 'pentagram',\r\n 'pep',\r\n 'perceive',\r\n 'percent',\r\n 'perch',\r\n 'percolate',\r\n 'perennial',\r\n 'perfected',\r\n 'perfectly',\r\n 'perfume',\r\n 'periscope',\r\n 'perish',\r\n 'perjurer',\r\n 'perjury',\r\n 'perkiness',\r\n 'perky',\r\n 'perm',\r\n 'peroxide',\r\n 'perpetual',\r\n 'perplexed',\r\n 'persecute',\r\n 'persevere',\r\n 'persuaded',\r\n 'persuader',\r\n 'pesky',\r\n 'peso',\r\n 'pessimism',\r\n 'pessimist',\r\n 'pester',\r\n 'pesticide',\r\n 'petal',\r\n 'petite',\r\n 'petition',\r\n 'petri',\r\n 'petroleum',\r\n 'petted',\r\n 'petticoat',\r\n 'pettiness',\r\n 'petty',\r\n 'petunia',\r\n 'phantom',\r\n 'phobia',\r\n 'phoenix',\r\n 'phonebook',\r\n 'phoney',\r\n 'phonics',\r\n 'phoniness',\r\n 'phony',\r\n 'phosphate',\r\n 'photo',\r\n 'phrase',\r\n 'phrasing',\r\n 'placard',\r\n 'placate',\r\n 'placidly',\r\n 'plank',\r\n 'planner',\r\n 'plant',\r\n 'plasma',\r\n 'plaster',\r\n 'plastic',\r\n 'plated',\r\n 'platform',\r\n 'plating',\r\n 'platinum',\r\n 'platonic',\r\n 'platter',\r\n 'platypus',\r\n 'plausible',\r\n 'plausibly',\r\n 'playable',\r\n 'playback',\r\n 'player',\r\n 'playful',\r\n 'playgroup',\r\n 'playhouse',\r\n 'playing',\r\n 'playlist',\r\n 'playmaker',\r\n 'playmate',\r\n 'playoff',\r\n 'playpen',\r\n 'playroom',\r\n 'playset',\r\n 'plaything',\r\n 'playtime',\r\n 'plaza',\r\n 'pleading',\r\n 'pleat',\r\n 'pledge',\r\n 'plentiful',\r\n 'plenty',\r\n 'plethora',\r\n 'plexiglas',\r\n 'pliable',\r\n 'plod',\r\n 'plop',\r\n 'plot',\r\n 'plow',\r\n 'ploy',\r\n 'pluck',\r\n 'plug',\r\n 'plunder',\r\n 'plunging',\r\n 'plural',\r\n 'plus',\r\n 'plutonium',\r\n 'plywood',\r\n 'poach',\r\n 'pod',\r\n 'poem',\r\n 'poet',\r\n 'pogo',\r\n 'pointed',\r\n 'pointer',\r\n 'pointing',\r\n 'pointless',\r\n 'pointy',\r\n 'poise',\r\n 'poison',\r\n 'poker',\r\n 'poking',\r\n 'polar',\r\n 'police',\r\n 'policy',\r\n 'polio',\r\n 'polish',\r\n 'politely',\r\n 'polka',\r\n 'polo',\r\n 'polyester',\r\n 'polygon',\r\n 'polygraph',\r\n 'polymer',\r\n 'poncho',\r\n 'pond',\r\n 'pony',\r\n 'popcorn',\r\n 'pope',\r\n 'poplar',\r\n 'popper',\r\n 'poppy',\r\n 'popsicle',\r\n 'populace',\r\n 'popular',\r\n 'populate',\r\n 'porcupine',\r\n 'pork',\r\n 'porous',\r\n 'porridge',\r\n 'portable',\r\n 'portal',\r\n 'portfolio',\r\n 'porthole',\r\n 'portion',\r\n 'portly',\r\n 'portside',\r\n 'poser',\r\n 'posh',\r\n 'posing',\r\n 'possible',\r\n 'possibly',\r\n 'possum',\r\n 'postage',\r\n 'postal',\r\n 'postbox',\r\n 'postcard',\r\n 'posted',\r\n 'poster',\r\n 'posting',\r\n 'postnasal',\r\n 'posture',\r\n 'postwar',\r\n 'pouch',\r\n 'pounce',\r\n 'pouncing',\r\n 'pound',\r\n 'pouring',\r\n 'pout',\r\n 'powdered',\r\n 'powdering',\r\n 'powdery',\r\n 'power',\r\n 'powwow',\r\n 'pox',\r\n 'praising',\r\n 'prance',\r\n 'prancing',\r\n 'pranker',\r\n 'prankish',\r\n 'prankster',\r\n 'prayer',\r\n 'praying',\r\n 'preacher',\r\n 'preaching',\r\n 'preachy',\r\n 'preamble',\r\n 'precinct',\r\n 'precise',\r\n 'precision',\r\n 'precook',\r\n 'precut',\r\n 'predator',\r\n 'predefine',\r\n 'predict',\r\n 'preface',\r\n 'prefix',\r\n 'preflight',\r\n 'preformed',\r\n 'pregame',\r\n 'pregnancy',\r\n 'pregnant',\r\n 'preheated',\r\n 'prelaunch',\r\n 'prelaw',\r\n 'prelude',\r\n 'premiere',\r\n 'premises',\r\n 'premium',\r\n 'prenatal',\r\n 'preoccupy',\r\n 'preorder',\r\n 'prepaid',\r\n 'prepay',\r\n 'preplan',\r\n 'preppy',\r\n 'preschool',\r\n 'prescribe',\r\n 'preseason',\r\n 'preset',\r\n 'preshow',\r\n 'president',\r\n 'presoak',\r\n 'press',\r\n 'presume',\r\n 'presuming',\r\n 'preteen',\r\n 'pretended',\r\n 'pretender',\r\n 'pretense',\r\n 'pretext',\r\n 'pretty',\r\n 'pretzel',\r\n 'prevail',\r\n 'prevalent',\r\n 'prevent',\r\n 'preview',\r\n 'previous',\r\n 'prewar',\r\n 'prewashed',\r\n 'prideful',\r\n 'pried',\r\n 'primal',\r\n 'primarily',\r\n 'primary',\r\n 'primate',\r\n 'primer',\r\n 'primp',\r\n 'princess',\r\n 'print',\r\n 'prior',\r\n 'prism',\r\n 'prison',\r\n 'prissy',\r\n 'pristine',\r\n 'privacy',\r\n 'private',\r\n 'privatize',\r\n 'prize',\r\n 'proactive',\r\n 'probable',\r\n 'probably',\r\n 'probation',\r\n 'probe',\r\n 'probing',\r\n 'probiotic',\r\n 'problem',\r\n 'procedure',\r\n 'process',\r\n 'proclaim',\r\n 'procreate',\r\n 'procurer',\r\n 'prodigal',\r\n 'prodigy',\r\n 'produce',\r\n 'product',\r\n 'profane',\r\n 'profanity',\r\n 'professed',\r\n 'professor',\r\n 'profile',\r\n 'profound',\r\n 'profusely',\r\n 'progeny',\r\n 'prognosis',\r\n 'program',\r\n 'progress',\r\n 'projector',\r\n 'prologue',\r\n 'prolonged',\r\n 'promenade',\r\n 'prominent',\r\n 'promoter',\r\n 'promotion',\r\n 'prompter',\r\n 'promptly',\r\n 'prone',\r\n 'prong',\r\n 'pronounce',\r\n 'pronto',\r\n 'proofing',\r\n 'proofread',\r\n 'proofs',\r\n 'propeller',\r\n 'properly',\r\n 'property',\r\n 'proponent',\r\n 'proposal',\r\n 'propose',\r\n 'props',\r\n 'prorate',\r\n 'protector',\r\n 'protegee',\r\n 'proton',\r\n 'prototype',\r\n 'protozoan',\r\n 'protract',\r\n 'protrude',\r\n 'proud',\r\n 'provable',\r\n 'proved',\r\n 'proven',\r\n 'provided',\r\n 'provider',\r\n 'providing',\r\n 'province',\r\n 'proving',\r\n 'provoke',\r\n 'provoking',\r\n 'provolone',\r\n 'prowess',\r\n 'prowler',\r\n 'prowling',\r\n 'proximity',\r\n 'proxy',\r\n 'prozac',\r\n 'prude',\r\n 'prudishly',\r\n 'prune',\r\n 'pruning',\r\n 'pry',\r\n 'psychic',\r\n 'public',\r\n 'publisher',\r\n 'pucker',\r\n 'pueblo',\r\n 'pug',\r\n 'pull',\r\n 'pulmonary',\r\n 'pulp',\r\n 'pulsate',\r\n 'pulse',\r\n 'pulverize',\r\n 'puma',\r\n 'pumice',\r\n 'pummel',\r\n 'punch',\r\n 'punctual',\r\n 'punctuate',\r\n 'punctured',\r\n 'pungent',\r\n 'punisher',\r\n 'punk',\r\n 'pupil',\r\n 'puppet',\r\n 'puppy',\r\n 'purchase',\r\n 'pureblood',\r\n 'purebred',\r\n 'purely',\r\n 'pureness',\r\n 'purgatory',\r\n 'purge',\r\n 'purging',\r\n 'purifier',\r\n 'purify',\r\n 'purist',\r\n 'puritan',\r\n 'purity',\r\n 'purple',\r\n 'purplish',\r\n 'purposely',\r\n 'purr',\r\n 'purse',\r\n 'pursuable',\r\n 'pursuant',\r\n 'pursuit',\r\n 'purveyor',\r\n 'pushcart',\r\n 'pushchair',\r\n 'pusher',\r\n 'pushiness',\r\n 'pushing',\r\n 'pushover',\r\n 'pushpin',\r\n 'pushup',\r\n 'pushy',\r\n 'putdown',\r\n 'putt',\r\n 'puzzle',\r\n 'puzzling',\r\n 'pyramid',\r\n 'pyromania',\r\n 'python',\r\n 'quack',\r\n 'quadrant',\r\n 'quail',\r\n 'quaintly',\r\n 'quake',\r\n 'quaking',\r\n 'qualified',\r\n 'qualifier',\r\n 'qualify',\r\n 'quality',\r\n 'qualm',\r\n 'quantum',\r\n 'quarrel',\r\n 'quarry',\r\n 'quartered',\r\n 'quarterly',\r\n 'quarters',\r\n 'quartet',\r\n 'quench',\r\n 'query',\r\n 'quicken',\r\n 'quickly',\r\n 'quickness',\r\n 'quicksand',\r\n 'quickstep',\r\n 'quiet',\r\n 'quill',\r\n 'quilt',\r\n 'quintet',\r\n 'quintuple',\r\n 'quirk',\r\n 'quit',\r\n 'quiver',\r\n 'quizzical',\r\n 'quotable',\r\n 'quotation',\r\n 'quote',\r\n 'rabid',\r\n 'race',\r\n 'racing',\r\n 'racism',\r\n 'rack',\r\n 'racoon',\r\n 'radar',\r\n 'radial',\r\n 'radiance',\r\n 'radiantly',\r\n 'radiated',\r\n 'radiation',\r\n 'radiator',\r\n 'radio',\r\n 'radish',\r\n 'raffle',\r\n 'raft',\r\n 'rage',\r\n 'ragged',\r\n 'raging',\r\n 'ragweed',\r\n 'raider',\r\n 'railcar',\r\n 'railing',\r\n 'railroad',\r\n 'railway',\r\n 'raisin',\r\n 'rake',\r\n 'raking',\r\n 'rally',\r\n 'ramble',\r\n 'rambling',\r\n 'ramp',\r\n 'ramrod',\r\n 'ranch',\r\n 'rancidity',\r\n 'random',\r\n 'ranged',\r\n 'ranger',\r\n 'ranging',\r\n 'ranked',\r\n 'ranking',\r\n 'ransack',\r\n 'ranting',\r\n 'rants',\r\n 'rare',\r\n 'rarity',\r\n 'rascal',\r\n 'rash',\r\n 'rasping',\r\n 'ravage',\r\n 'raven',\r\n 'ravine',\r\n 'raving',\r\n 'ravioli',\r\n 'ravishing',\r\n 'reabsorb',\r\n 'reach',\r\n 'reacquire',\r\n 'reaction',\r\n 'reactive',\r\n 'reactor',\r\n 'reaffirm',\r\n 'ream',\r\n 'reanalyze',\r\n 'reappear',\r\n 'reapply',\r\n 'reappoint',\r\n 'reapprove',\r\n 'rearrange',\r\n 'rearview',\r\n 'reason',\r\n 'reassign',\r\n 'reassure',\r\n 'reattach',\r\n 'reawake',\r\n 'rebalance',\r\n 'rebate',\r\n 'rebel',\r\n 'rebirth',\r\n 'reboot',\r\n 'reborn',\r\n 'rebound',\r\n 'rebuff',\r\n 'rebuild',\r\n 'rebuilt',\r\n 'reburial',\r\n 'rebuttal',\r\n 'recall',\r\n 'recant',\r\n 'recapture',\r\n 'recast',\r\n 'recede',\r\n 'recent',\r\n 'recess',\r\n 'recharger',\r\n 'recipient',\r\n 'recital',\r\n 'recite',\r\n 'reckless',\r\n 'reclaim',\r\n 'recliner',\r\n 'reclining',\r\n 'recluse',\r\n 'reclusive',\r\n 'recognize',\r\n 'recoil',\r\n 'recollect',\r\n 'recolor',\r\n 'reconcile',\r\n 'reconfirm',\r\n 'reconvene',\r\n 'recopy',\r\n 'record',\r\n 'recount',\r\n 'recoup',\r\n 'recovery',\r\n 'recreate',\r\n 'rectal',\r\n 'rectangle',\r\n 'rectified',\r\n 'rectify',\r\n 'recycled',\r\n 'recycler',\r\n 'recycling',\r\n 'reemerge',\r\n 'reenact',\r\n 'reenter',\r\n 'reentry',\r\n 'reexamine',\r\n 'referable',\r\n 'referee',\r\n 'reference',\r\n 'refill',\r\n 'refinance',\r\n 'refined',\r\n 'refinery',\r\n 'refining',\r\n 'refinish',\r\n 'reflected',\r\n 'reflector',\r\n 'reflex',\r\n 'reflux',\r\n 'refocus',\r\n 'refold',\r\n 'reforest',\r\n 'reformat',\r\n 'reformed',\r\n 'reformer',\r\n 'reformist',\r\n 'refract',\r\n 'refrain',\r\n 'refreeze',\r\n 'refresh',\r\n 'refried',\r\n 'refueling',\r\n 'refund',\r\n 'refurbish',\r\n 'refurnish',\r\n 'refusal',\r\n 'refuse',\r\n 'refusing',\r\n 'refutable',\r\n 'refute',\r\n 'regain',\r\n 'regalia',\r\n 'regally',\r\n 'reggae',\r\n 'regime',\r\n 'region',\r\n 'register',\r\n 'registrar',\r\n 'registry',\r\n 'regress',\r\n 'regretful',\r\n 'regroup',\r\n 'regular',\r\n 'regulate',\r\n 'regulator',\r\n 'rehab',\r\n 'reheat',\r\n 'rehire',\r\n 'rehydrate',\r\n 'reimburse',\r\n 'reissue',\r\n 'reiterate',\r\n 'rejoice',\r\n 'rejoicing',\r\n 'rejoin',\r\n 'rekindle',\r\n 'relapse',\r\n 'relapsing',\r\n 'relatable',\r\n 'related',\r\n 'relation',\r\n 'relative',\r\n 'relax',\r\n 'relay',\r\n 'relearn',\r\n 'release',\r\n 'relenting',\r\n 'reliable',\r\n 'reliably',\r\n 'reliance',\r\n 'reliant',\r\n 'relic',\r\n 'relieve',\r\n 'relieving',\r\n 'relight',\r\n 'relish',\r\n 'relive',\r\n 'reload',\r\n 'relocate',\r\n 'relock',\r\n 'reluctant',\r\n 'rely',\r\n 'remake',\r\n 'remark',\r\n 'remarry',\r\n 'rematch',\r\n 'remedial',\r\n 'remedy',\r\n 'remember',\r\n 'reminder',\r\n 'remindful',\r\n 'remission',\r\n 'remix',\r\n 'remnant',\r\n 'remodeler',\r\n 'remold',\r\n 'remorse',\r\n 'remote',\r\n 'removable',\r\n 'removal',\r\n 'removed',\r\n 'remover',\r\n 'removing',\r\n 'rename',\r\n 'renderer',\r\n 'rendering',\r\n 'rendition',\r\n 'renegade',\r\n 'renewable',\r\n 'renewably',\r\n 'renewal',\r\n 'renewed',\r\n 'renounce',\r\n 'renovate',\r\n 'renovator',\r\n 'rentable',\r\n 'rental',\r\n 'rented',\r\n 'renter',\r\n 'reoccupy',\r\n 'reoccur',\r\n 'reopen',\r\n 'reorder',\r\n 'repackage',\r\n 'repacking',\r\n 'repaint',\r\n 'repair',\r\n 'repave',\r\n 'repaying',\r\n 'repayment',\r\n 'repeal',\r\n 'repeated',\r\n 'repeater',\r\n 'repent',\r\n 'rephrase',\r\n 'replace',\r\n 'replay',\r\n 'replica',\r\n 'reply',\r\n 'reporter',\r\n 'repose',\r\n 'repossess',\r\n 'repost',\r\n 'repressed',\r\n 'reprimand',\r\n 'reprint',\r\n 'reprise',\r\n 'reproach',\r\n 'reprocess',\r\n 'reproduce',\r\n 'reprogram',\r\n 'reps',\r\n 'reptile',\r\n 'reptilian',\r\n 'repugnant',\r\n 'repulsion',\r\n 'repulsive',\r\n 'repurpose',\r\n 'reputable',\r\n 'reputably',\r\n 'request',\r\n 'require',\r\n 'requisite',\r\n 'reroute',\r\n 'rerun',\r\n 'resale',\r\n 'resample',\r\n 'rescuer',\r\n 'reseal',\r\n 'research',\r\n 'reselect',\r\n 'reseller',\r\n 'resemble',\r\n 'resend',\r\n 'resent',\r\n 'reset',\r\n 'reshape',\r\n 'reshoot',\r\n 'reshuffle',\r\n 'residence',\r\n 'residency',\r\n 'resident',\r\n 'residual',\r\n 'residue',\r\n 'resigned',\r\n 'resilient',\r\n 'resistant',\r\n 'resisting',\r\n 'resize',\r\n 'resolute',\r\n 'resolved',\r\n 'resonant',\r\n 'resonate',\r\n 'resort',\r\n 'resource',\r\n 'respect',\r\n 'resubmit',\r\n 'result',\r\n 'resume',\r\n 'resupply',\r\n 'resurface',\r\n 'resurrect',\r\n 'retail',\r\n 'retainer',\r\n 'retaining',\r\n 'retake',\r\n 'retaliate',\r\n 'retention',\r\n 'rethink',\r\n 'retinal',\r\n 'retired',\r\n 'retiree',\r\n 'retiring',\r\n 'retold',\r\n 'retool',\r\n 'retorted',\r\n 'retouch',\r\n 'retrace',\r\n 'retract',\r\n 'retrain',\r\n 'retread',\r\n 'retreat',\r\n 'retrial',\r\n 'retrieval',\r\n 'retriever',\r\n 'retry',\r\n 'return',\r\n 'retying',\r\n 'retype',\r\n 'reunion',\r\n 'reunite',\r\n 'reusable',\r\n 'reuse',\r\n 'reveal',\r\n 'reveler',\r\n 'revenge',\r\n 'revenue',\r\n 'reverb',\r\n 'revered',\r\n 'reverence',\r\n 'reverend',\r\n 'reversal',\r\n 'reverse',\r\n 'reversing',\r\n 'reversion',\r\n 'revert',\r\n 'revisable',\r\n 'revise',\r\n 'revision',\r\n 'revisit',\r\n 'revivable',\r\n 'revival',\r\n 'reviver',\r\n 'reviving',\r\n 'revocable',\r\n 'revoke',\r\n 'revolt',\r\n 'revolver',\r\n 'revolving',\r\n 'reward',\r\n 'rewash',\r\n 'rewind',\r\n 'rewire',\r\n 'reword',\r\n 'rework',\r\n 'rewrap',\r\n 'rewrite',\r\n 'rhyme',\r\n 'ribbon',\r\n 'ribcage',\r\n 'rice',\r\n 'riches',\r\n 'richly',\r\n 'richness',\r\n 'rickety',\r\n 'ricotta',\r\n 'riddance',\r\n 'ridden',\r\n 'ride',\r\n 'riding',\r\n 'rifling',\r\n 'rift',\r\n 'rigging',\r\n 'rigid',\r\n 'rigor',\r\n 'rimless',\r\n 'rimmed',\r\n 'rind',\r\n 'rink',\r\n 'rinse',\r\n 'rinsing',\r\n 'riot',\r\n 'ripcord',\r\n 'ripeness',\r\n 'ripening',\r\n 'ripping',\r\n 'ripple',\r\n 'rippling',\r\n 'riptide',\r\n 'rise',\r\n 'rising',\r\n 'risk',\r\n 'risotto',\r\n 'ritalin',\r\n 'ritzy',\r\n 'rival',\r\n 'riverbank',\r\n 'riverbed',\r\n 'riverboat',\r\n 'riverside',\r\n 'riveter',\r\n 'riveting',\r\n 'roamer',\r\n 'roaming',\r\n 'roast',\r\n 'robbing',\r\n 'robe',\r\n 'robin',\r\n 'robotics',\r\n 'robust',\r\n 'rockband',\r\n 'rocker',\r\n 'rocket',\r\n 'rockfish',\r\n 'rockiness',\r\n 'rocking',\r\n 'rocklike',\r\n 'rockslide',\r\n 'rockstar',\r\n 'rocky',\r\n 'rogue',\r\n 'roman',\r\n 'romp',\r\n 'rope',\r\n 'roping',\r\n 'roster',\r\n 'rosy',\r\n 'rotten',\r\n 'rotting',\r\n 'rotunda',\r\n 'roulette',\r\n 'rounding',\r\n 'roundish',\r\n 'roundness',\r\n 'roundup',\r\n 'roundworm',\r\n 'routine',\r\n 'routing',\r\n 'rover',\r\n 'roving',\r\n 'royal',\r\n 'rubbed',\r\n 'rubber',\r\n 'rubbing',\r\n 'rubble',\r\n 'rubdown',\r\n 'ruby',\r\n 'ruckus',\r\n 'rudder',\r\n 'rug',\r\n 'ruined',\r\n 'rule',\r\n 'rumble',\r\n 'rumbling',\r\n 'rummage',\r\n 'rumor',\r\n 'runaround',\r\n 'rundown',\r\n 'runner',\r\n 'running',\r\n 'runny',\r\n 'runt',\r\n 'runway',\r\n 'rupture',\r\n 'rural',\r\n 'ruse',\r\n 'rush',\r\n 'rust',\r\n 'rut',\r\n 'sabbath',\r\n 'sabotage',\r\n 'sacrament',\r\n 'sacred',\r\n 'sacrifice',\r\n 'sadden',\r\n 'saddlebag',\r\n 'saddled',\r\n 'saddling',\r\n 'sadly',\r\n 'sadness',\r\n 'safari',\r\n 'safeguard',\r\n 'safehouse',\r\n 'safely',\r\n 'safeness',\r\n 'saffron',\r\n 'saga',\r\n 'sage',\r\n 'sagging',\r\n 'saggy',\r\n 'said',\r\n 'saint',\r\n 'sake',\r\n 'salad',\r\n 'salami',\r\n 'salaried',\r\n 'salary',\r\n 'saline',\r\n 'salon',\r\n 'saloon',\r\n 'salsa',\r\n 'salt',\r\n 'salutary',\r\n 'salute',\r\n 'salvage',\r\n 'salvaging',\r\n 'salvation',\r\n 'same',\r\n 'sample',\r\n 'sampling',\r\n 'sanction',\r\n 'sanctity',\r\n 'sanctuary',\r\n 'sandal',\r\n 'sandbag',\r\n 'sandbank',\r\n 'sandbar',\r\n 'sandblast',\r\n 'sandbox',\r\n 'sanded',\r\n 'sandfish',\r\n 'sanding',\r\n 'sandlot',\r\n 'sandpaper',\r\n 'sandpit',\r\n 'sandstone',\r\n 'sandstorm',\r\n 'sandworm',\r\n 'sandy',\r\n 'sanitary',\r\n 'sanitizer',\r\n 'sank',\r\n 'santa',\r\n 'sapling',\r\n 'sappiness',\r\n 'sappy',\r\n 'sarcasm',\r\n 'sarcastic',\r\n 'sardine',\r\n 'sash',\r\n 'sasquatch',\r\n 'sassy',\r\n 'satchel',\r\n 'satiable',\r\n 'satin',\r\n 'satirical',\r\n 'satisfied',\r\n 'satisfy',\r\n 'saturate',\r\n 'saturday',\r\n 'sauciness',\r\n 'saucy',\r\n 'sauna',\r\n 'savage',\r\n 'savanna',\r\n 'saved',\r\n 'savings',\r\n 'savior',\r\n 'savor',\r\n 'saxophone',\r\n 'say',\r\n 'scabbed',\r\n 'scabby',\r\n 'scalded',\r\n 'scalding',\r\n 'scale',\r\n 'scaling',\r\n 'scallion',\r\n 'scallop',\r\n 'scalping',\r\n 'scam',\r\n 'scandal',\r\n 'scanner',\r\n 'scanning',\r\n 'scant',\r\n 'scapegoat',\r\n 'scarce',\r\n 'scarcity',\r\n 'scarecrow',\r\n 'scared',\r\n 'scarf',\r\n 'scarily',\r\n 'scariness',\r\n 'scarring',\r\n 'scary',\r\n 'scavenger',\r\n 'scenic',\r\n 'schedule',\r\n 'schematic',\r\n 'scheme',\r\n 'scheming',\r\n 'schilling',\r\n 'schnapps',\r\n 'scholar',\r\n 'science',\r\n 'scientist',\r\n 'scion',\r\n 'scoff',\r\n 'scolding',\r\n 'scone',\r\n 'scoop',\r\n 'scooter',\r\n 'scope',\r\n 'scorch',\r\n 'scorebook',\r\n 'scorecard',\r\n 'scored',\r\n 'scoreless',\r\n 'scorer',\r\n 'scoring',\r\n 'scorn',\r\n 'scorpion',\r\n 'scotch',\r\n 'scoundrel',\r\n 'scoured',\r\n 'scouring',\r\n 'scouting',\r\n 'scouts',\r\n 'scowling',\r\n 'scrabble',\r\n 'scraggly',\r\n 'scrambled',\r\n 'scrambler',\r\n 'scrap',\r\n 'scratch',\r\n 'scrawny',\r\n 'screen',\r\n 'scribble',\r\n 'scribe',\r\n 'scribing',\r\n 'scrimmage',\r\n 'script',\r\n 'scroll',\r\n 'scrooge',\r\n 'scrounger',\r\n 'scrubbed',\r\n 'scrubber',\r\n 'scruffy',\r\n 'scrunch',\r\n 'scrutiny',\r\n 'scuba',\r\n 'scuff',\r\n 'sculptor',\r\n 'sculpture',\r\n 'scurvy',\r\n 'scuttle',\r\n 'secluded',\r\n 'secluding',\r\n 'seclusion',\r\n 'second',\r\n 'secrecy',\r\n 'secret',\r\n 'sectional',\r\n 'sector',\r\n 'secular',\r\n 'securely',\r\n 'security',\r\n 'sedan',\r\n 'sedate',\r\n 'sedation',\r\n 'sedative',\r\n 'sediment',\r\n 'seduce',\r\n 'seducing',\r\n 'segment',\r\n 'seismic',\r\n 'seizing',\r\n 'seldom',\r\n 'selected',\r\n 'selection',\r\n 'selective',\r\n 'selector',\r\n 'self',\r\n 'seltzer',\r\n 'semantic',\r\n 'semester',\r\n 'semicolon',\r\n 'semifinal',\r\n 'seminar',\r\n 'semisoft',\r\n 'semisweet',\r\n 'senate',\r\n 'senator',\r\n 'send',\r\n 'senior',\r\n 'senorita',\r\n 'sensation',\r\n 'sensitive',\r\n 'sensitize',\r\n 'sensually',\r\n 'sensuous',\r\n 'sepia',\r\n 'september',\r\n 'septic',\r\n 'septum',\r\n 'sequel',\r\n 'sequence',\r\n 'sequester',\r\n 'series',\r\n 'sermon',\r\n 'serotonin',\r\n 'serpent',\r\n 'serrated',\r\n 'serve',\r\n 'service',\r\n 'serving',\r\n 'sesame',\r\n 'sessions',\r\n 'setback',\r\n 'setting',\r\n 'settle',\r\n 'settling',\r\n 'setup',\r\n 'sevenfold',\r\n 'seventeen',\r\n 'seventh',\r\n 'seventy',\r\n 'severity',\r\n 'shabby',\r\n 'shack',\r\n 'shaded',\r\n 'shadily',\r\n 'shadiness',\r\n 'shading',\r\n 'shadow',\r\n 'shady',\r\n 'shaft',\r\n 'shakable',\r\n 'shakily',\r\n 'shakiness',\r\n 'shaking',\r\n 'shaky',\r\n 'shale',\r\n 'shallot',\r\n 'shallow',\r\n 'shame',\r\n 'shampoo',\r\n 'shamrock',\r\n 'shank',\r\n 'shanty',\r\n 'shape',\r\n 'shaping',\r\n 'share',\r\n 'sharpener',\r\n 'sharper',\r\n 'sharpie',\r\n 'sharply',\r\n 'sharpness',\r\n 'shawl',\r\n 'sheath',\r\n 'shed',\r\n 'sheep',\r\n 'sheet',\r\n 'shelf',\r\n 'shell',\r\n 'shelter',\r\n 'shelve',\r\n 'shelving',\r\n 'sherry',\r\n 'shield',\r\n 'shifter',\r\n 'shifting',\r\n 'shiftless',\r\n 'shifty',\r\n 'shimmer',\r\n 'shimmy',\r\n 'shindig',\r\n 'shine',\r\n 'shingle',\r\n 'shininess',\r\n 'shining',\r\n 'shiny',\r\n 'ship',\r\n 'shirt',\r\n 'shivering',\r\n 'shock',\r\n 'shone',\r\n 'shoplift',\r\n 'shopper',\r\n 'shopping',\r\n 'shoptalk',\r\n 'shore',\r\n 'shortage',\r\n 'shortcake',\r\n 'shortcut',\r\n 'shorten',\r\n 'shorter',\r\n 'shorthand',\r\n 'shortlist',\r\n 'shortly',\r\n 'shortness',\r\n 'shorts',\r\n 'shortwave',\r\n 'shorty',\r\n 'shout',\r\n 'shove',\r\n 'showbiz',\r\n 'showcase',\r\n 'showdown',\r\n 'shower',\r\n 'showgirl',\r\n 'showing',\r\n 'showman',\r\n 'shown',\r\n 'showoff',\r\n 'showpiece',\r\n 'showplace',\r\n 'showroom',\r\n 'showy',\r\n 'shrank',\r\n 'shrapnel',\r\n 'shredder',\r\n 'shredding',\r\n 'shrewdly',\r\n 'shriek',\r\n 'shrill',\r\n 'shrimp',\r\n 'shrine',\r\n 'shrink',\r\n 'shrivel',\r\n 'shrouded',\r\n 'shrubbery',\r\n 'shrubs',\r\n 'shrug',\r\n 'shrunk',\r\n 'shucking',\r\n 'shudder',\r\n 'shuffle',\r\n 'shuffling',\r\n 'shun',\r\n 'shush',\r\n 'shut',\r\n 'shy',\r\n 'siamese',\r\n 'siberian',\r\n 'sibling',\r\n 'siding',\r\n 'sierra',\r\n 'siesta',\r\n 'sift',\r\n 'sighing',\r\n 'silenced',\r\n 'silencer',\r\n 'silent',\r\n 'silica',\r\n 'silicon',\r\n 'silk',\r\n 'silliness',\r\n 'silly',\r\n 'silo',\r\n 'silt',\r\n 'silver',\r\n 'similarly',\r\n 'simile',\r\n 'simmering',\r\n 'simple',\r\n 'simplify',\r\n 'simply',\r\n 'sincere',\r\n 'sincerity',\r\n 'singer',\r\n 'singing',\r\n 'single',\r\n 'singular',\r\n 'sinister',\r\n 'sinless',\r\n 'sinner',\r\n 'sinuous',\r\n 'sip',\r\n 'siren',\r\n 'sister',\r\n 'sitcom',\r\n 'sitter',\r\n 'sitting',\r\n 'situated',\r\n 'situation',\r\n 'sixfold',\r\n 'sixteen',\r\n 'sixth',\r\n 'sixties',\r\n 'sixtieth',\r\n 'sixtyfold',\r\n 'sizable',\r\n 'sizably',\r\n 'size',\r\n 'sizing',\r\n 'sizzle',\r\n 'sizzling',\r\n 'skater',\r\n 'skating',\r\n 'skedaddle',\r\n 'skeletal',\r\n 'skeleton',\r\n 'skeptic',\r\n 'sketch',\r\n 'skewed',\r\n 'skewer',\r\n 'skid',\r\n 'skied',\r\n 'skier',\r\n 'skies',\r\n 'skiing',\r\n 'skilled',\r\n 'skillet',\r\n 'skillful',\r\n 'skimmed',\r\n 'skimmer',\r\n 'skimming',\r\n 'skimpily',\r\n 'skincare',\r\n 'skinhead',\r\n 'skinless',\r\n 'skinning',\r\n 'skinny',\r\n 'skintight',\r\n 'skipper',\r\n 'skipping',\r\n 'skirmish',\r\n 'skirt',\r\n 'skittle',\r\n 'skydiver',\r\n 'skylight',\r\n 'skyline',\r\n 'skype',\r\n 'skyrocket',\r\n 'skyward',\r\n 'slab',\r\n 'slacked',\r\n 'slacker',\r\n 'slacking',\r\n 'slackness',\r\n 'slacks',\r\n 'slain',\r\n 'slam',\r\n 'slander',\r\n 'slang',\r\n 'slapping',\r\n 'slapstick',\r\n 'slashed',\r\n 'slashing',\r\n 'slate',\r\n 'slather',\r\n 'slaw',\r\n 'sled',\r\n 'sleek',\r\n 'sleep',\r\n 'sleet',\r\n 'sleeve',\r\n 'slept',\r\n 'sliceable',\r\n 'sliced',\r\n 'slicer',\r\n 'slicing',\r\n 'slick',\r\n 'slider',\r\n 'slideshow',\r\n 'sliding',\r\n 'slighted',\r\n 'slighting',\r\n 'slightly',\r\n 'slimness',\r\n 'slimy',\r\n 'slinging',\r\n 'slingshot',\r\n 'slinky',\r\n 'slip',\r\n 'slit',\r\n 'sliver',\r\n 'slobbery',\r\n 'slogan',\r\n 'sloped',\r\n 'sloping',\r\n 'sloppily',\r\n 'sloppy',\r\n 'slot',\r\n 'slouching',\r\n 'slouchy',\r\n 'sludge',\r\n 'slug',\r\n 'slum',\r\n 'slurp',\r\n 'slush',\r\n 'sly',\r\n 'small',\r\n 'smartly',\r\n 'smartness',\r\n 'smasher',\r\n 'smashing',\r\n 'smashup',\r\n 'smell',\r\n 'smelting',\r\n 'smile',\r\n 'smilingly',\r\n 'smirk',\r\n 'smite',\r\n 'smith',\r\n 'smitten',\r\n 'smock',\r\n 'smog',\r\n 'smoked',\r\n 'smokeless',\r\n 'smokiness',\r\n 'smoking',\r\n 'smoky',\r\n 'smolder',\r\n 'smooth',\r\n 'smother',\r\n 'smudge',\r\n 'smudgy',\r\n 'smuggler',\r\n 'smuggling',\r\n 'smugly',\r\n 'smugness',\r\n 'snack',\r\n 'snagged',\r\n 'snaking',\r\n 'snap',\r\n 'snare',\r\n 'snarl',\r\n 'snazzy',\r\n 'sneak',\r\n 'sneer',\r\n 'sneeze',\r\n 'sneezing',\r\n 'snide',\r\n 'sniff',\r\n 'snippet',\r\n 'snipping',\r\n 'snitch',\r\n 'snooper',\r\n 'snooze',\r\n 'snore',\r\n 'snoring',\r\n 'snorkel',\r\n 'snort',\r\n 'snout',\r\n 'snowbird',\r\n 'snowboard',\r\n 'snowbound',\r\n 'snowcap',\r\n 'snowdrift',\r\n 'snowdrop',\r\n 'snowfall',\r\n 'snowfield',\r\n 'snowflake',\r\n 'snowiness',\r\n 'snowless',\r\n 'snowman',\r\n 'snowplow',\r\n 'snowshoe',\r\n 'snowstorm',\r\n 'snowsuit',\r\n 'snowy',\r\n 'snub',\r\n 'snuff',\r\n 'snuggle',\r\n 'snugly',\r\n 'snugness',\r\n 'speak',\r\n 'spearfish',\r\n 'spearhead',\r\n 'spearman',\r\n 'spearmint',\r\n 'species',\r\n 'specimen',\r\n 'specked',\r\n 'speckled',\r\n 'specks',\r\n 'spectacle',\r\n 'spectator',\r\n 'spectrum',\r\n 'speculate',\r\n 'speech',\r\n 'speed',\r\n 'spellbind',\r\n 'speller',\r\n 'spelling',\r\n 'spendable',\r\n 'spender',\r\n 'spending',\r\n 'spent',\r\n 'spew',\r\n 'sphere',\r\n 'spherical',\r\n 'sphinx',\r\n 'spider',\r\n 'spied',\r\n 'spiffy',\r\n 'spill',\r\n 'spilt',\r\n 'spinach',\r\n 'spinal',\r\n 'spindle',\r\n 'spinner',\r\n 'spinning',\r\n 'spinout',\r\n 'spinster',\r\n 'spiny',\r\n 'spiral',\r\n 'spirited',\r\n 'spiritism',\r\n 'spirits',\r\n 'spiritual',\r\n 'splashed',\r\n 'splashing',\r\n 'splashy',\r\n 'splatter',\r\n 'spleen',\r\n 'splendid',\r\n 'splendor',\r\n 'splice',\r\n 'splicing',\r\n 'splinter',\r\n 'splotchy',\r\n 'splurge',\r\n 'spoilage',\r\n 'spoiled',\r\n 'spoiler',\r\n 'spoiling',\r\n 'spoils',\r\n 'spoken',\r\n 'spokesman',\r\n 'sponge',\r\n 'spongy',\r\n 'sponsor',\r\n 'spoof',\r\n 'spookily',\r\n 'spooky',\r\n 'spool',\r\n 'spoon',\r\n 'spore',\r\n 'sporting',\r\n 'sports',\r\n 'sporty',\r\n 'spotless',\r\n 'spotlight',\r\n 'spotted',\r\n 'spotter',\r\n 'spotting',\r\n 'spotty',\r\n 'spousal',\r\n 'spouse',\r\n 'spout',\r\n 'sprain',\r\n 'sprang',\r\n 'sprawl',\r\n 'spray',\r\n 'spree',\r\n 'sprig',\r\n 'spring',\r\n 'sprinkled',\r\n 'sprinkler',\r\n 'sprint',\r\n 'sprite',\r\n 'sprout',\r\n 'spruce',\r\n 'sprung',\r\n 'spry',\r\n 'spud',\r\n 'spur',\r\n 'sputter',\r\n 'spyglass',\r\n 'squabble',\r\n 'squad',\r\n 'squall',\r\n 'squander',\r\n 'squash',\r\n 'squatted',\r\n 'squatter',\r\n 'squatting',\r\n 'squeak',\r\n 'squealer',\r\n 'squealing',\r\n 'squeamish',\r\n 'squeegee',\r\n 'squeeze',\r\n 'squeezing',\r\n 'squid',\r\n 'squiggle',\r\n 'squiggly',\r\n 'squint',\r\n 'squire',\r\n 'squirt',\r\n 'squishier',\r\n 'squishy',\r\n 'stability',\r\n 'stabilize',\r\n 'stable',\r\n 'stack',\r\n 'stadium',\r\n 'staff',\r\n 'stage',\r\n 'staging',\r\n 'stagnant',\r\n 'stagnate',\r\n 'stainable',\r\n 'stained',\r\n 'staining',\r\n 'stainless',\r\n 'stalemate',\r\n 'staleness',\r\n 'stalling',\r\n 'stallion',\r\n 'stamina',\r\n 'stammer',\r\n 'stamp',\r\n 'stand',\r\n 'stank',\r\n 'staple',\r\n 'stapling',\r\n 'starboard',\r\n 'starch',\r\n 'stardom',\r\n 'stardust',\r\n 'starfish',\r\n 'stargazer',\r\n 'staring',\r\n 'stark',\r\n 'starless',\r\n 'starlet',\r\n 'starlight',\r\n 'starlit',\r\n 'starring',\r\n 'starry',\r\n 'starship',\r\n 'starter',\r\n 'starting',\r\n 'startle',\r\n 'startling',\r\n 'startup',\r\n 'starved',\r\n 'starving',\r\n 'stash',\r\n 'state',\r\n 'static',\r\n 'statistic',\r\n 'statue',\r\n 'stature',\r\n 'status',\r\n 'statute',\r\n 'statutory',\r\n 'staunch',\r\n 'stays',\r\n 'steadfast',\r\n 'steadier',\r\n 'steadily',\r\n 'steadying',\r\n 'steam',\r\n 'steed',\r\n 'steep',\r\n 'steerable',\r\n 'steering',\r\n 'steersman',\r\n 'stegosaur',\r\n 'stellar',\r\n 'stem',\r\n 'stench',\r\n 'stencil',\r\n 'step',\r\n 'stereo',\r\n 'sterile',\r\n 'sterility',\r\n 'sterilize',\r\n 'sterling',\r\n 'sternness',\r\n 'sternum',\r\n 'stew',\r\n 'stick',\r\n 'stiffen',\r\n 'stiffly',\r\n 'stiffness',\r\n 'stifle',\r\n 'stifling',\r\n 'stillness',\r\n 'stilt',\r\n 'stimulant',\r\n 'stimulate',\r\n 'stimuli',\r\n 'stimulus',\r\n 'stinger',\r\n 'stingily',\r\n 'stinging',\r\n 'stingray',\r\n 'stingy',\r\n 'stinking',\r\n 'stinky',\r\n 'stipend',\r\n 'stipulate',\r\n 'stir',\r\n 'stitch',\r\n 'stock',\r\n 'stoic',\r\n 'stoke',\r\n 'stole',\r\n 'stomp',\r\n 'stonewall',\r\n 'stoneware',\r\n 'stonework',\r\n 'stoning',\r\n 'stony',\r\n 'stood',\r\n 'stooge',\r\n 'stool',\r\n 'stoop',\r\n 'stoplight',\r\n 'stoppable',\r\n 'stoppage',\r\n 'stopped',\r\n 'stopper',\r\n 'stopping',\r\n 'stopwatch',\r\n 'storable',\r\n 'storage',\r\n 'storeroom',\r\n 'storewide',\r\n 'storm',\r\n 'stout',\r\n 'stove',\r\n 'stowaway',\r\n 'stowing',\r\n 'straddle',\r\n 'straggler',\r\n 'strained',\r\n 'strainer',\r\n 'straining',\r\n 'strangely',\r\n 'stranger',\r\n 'strangle',\r\n 'strategic',\r\n 'strategy',\r\n 'stratus',\r\n 'straw',\r\n 'stray',\r\n 'streak',\r\n 'stream',\r\n 'street',\r\n 'strength',\r\n 'strenuous',\r\n 'strep',\r\n 'stress',\r\n 'stretch',\r\n 'strewn',\r\n 'stricken',\r\n 'strict',\r\n 'stride',\r\n 'strife',\r\n 'strike',\r\n 'striking',\r\n 'strive',\r\n 'striving',\r\n 'strobe',\r\n 'strode',\r\n 'stroller',\r\n 'strongbox',\r\n 'strongly',\r\n 'strongman',\r\n 'struck',\r\n 'structure',\r\n 'strudel',\r\n 'struggle',\r\n 'strum',\r\n 'strung',\r\n 'strut',\r\n 'stubbed',\r\n 'stubble',\r\n 'stubbly',\r\n 'stubborn',\r\n 'stucco',\r\n 'stuck',\r\n 'student',\r\n 'studied',\r\n 'studio',\r\n 'study',\r\n 'stuffed',\r\n 'stuffing',\r\n 'stuffy',\r\n 'stumble',\r\n 'stumbling',\r\n 'stump',\r\n 'stung',\r\n 'stunned',\r\n 'stunner',\r\n 'stunning',\r\n 'stunt',\r\n 'stupor',\r\n 'sturdily',\r\n 'sturdy',\r\n 'styling',\r\n 'stylishly',\r\n 'stylist',\r\n 'stylized',\r\n 'stylus',\r\n 'suave',\r\n 'subarctic',\r\n 'subatomic',\r\n 'subdivide',\r\n 'subdued',\r\n 'subduing',\r\n 'subfloor',\r\n 'subgroup',\r\n 'subheader',\r\n 'subject',\r\n 'sublease',\r\n 'sublet',\r\n 'sublevel',\r\n 'sublime',\r\n 'submarine',\r\n 'submerge',\r\n 'submersed',\r\n 'submitter',\r\n 'subpanel',\r\n 'subpar',\r\n 'subplot',\r\n 'subprime',\r\n 'subscribe',\r\n 'subscript',\r\n 'subsector',\r\n 'subside',\r\n 'subsiding',\r\n 'subsidize',\r\n 'subsidy',\r\n 'subsoil',\r\n 'subsonic',\r\n 'substance',\r\n 'subsystem',\r\n 'subtext',\r\n 'subtitle',\r\n 'subtly',\r\n 'subtotal',\r\n 'subtract',\r\n 'subtype',\r\n 'suburb',\r\n 'subway',\r\n 'subwoofer',\r\n 'subzero',\r\n 'succulent',\r\n 'such',\r\n 'suction',\r\n 'sudden',\r\n 'sudoku',\r\n 'suds',\r\n 'sufferer',\r\n 'suffering',\r\n 'suffice',\r\n 'suffix',\r\n 'suffocate',\r\n 'suffrage',\r\n 'sugar',\r\n 'suggest',\r\n 'suing',\r\n 'suitable',\r\n 'suitably',\r\n 'suitcase',\r\n 'suitor',\r\n 'sulfate',\r\n 'sulfide',\r\n 'sulfite',\r\n 'sulfur',\r\n 'sulk',\r\n 'sullen',\r\n 'sulphate',\r\n 'sulphuric',\r\n 'sultry',\r\n 'superbowl',\r\n 'superglue',\r\n 'superhero',\r\n 'superior',\r\n 'superjet',\r\n 'superman',\r\n 'supermom',\r\n 'supernova',\r\n 'supervise',\r\n 'supper',\r\n 'supplier',\r\n 'supply',\r\n 'support',\r\n 'supremacy',\r\n 'supreme',\r\n 'surcharge',\r\n 'surely',\r\n 'sureness',\r\n 'surface',\r\n 'surfacing',\r\n 'surfboard',\r\n 'surfer',\r\n 'surgery',\r\n 'surgical',\r\n 'surging',\r\n 'surname',\r\n 'surpass',\r\n 'surplus',\r\n 'surprise',\r\n 'surreal',\r\n 'surrender',\r\n 'surrogate',\r\n 'surround',\r\n 'survey',\r\n 'survival',\r\n 'survive',\r\n 'surviving',\r\n 'survivor',\r\n 'sushi',\r\n 'suspect',\r\n 'suspend',\r\n 'suspense',\r\n 'sustained',\r\n 'sustainer',\r\n 'swab',\r\n 'swaddling',\r\n 'swagger',\r\n 'swampland',\r\n 'swan',\r\n 'swapping',\r\n 'swarm',\r\n 'sway',\r\n 'swear',\r\n 'sweat',\r\n 'sweep',\r\n 'swell',\r\n 'swept',\r\n 'swerve',\r\n 'swifter',\r\n 'swiftly',\r\n 'swiftness',\r\n 'swimmable',\r\n 'swimmer',\r\n 'swimming',\r\n 'swimsuit',\r\n 'swimwear',\r\n 'swinger',\r\n 'swinging',\r\n 'swipe',\r\n 'swirl',\r\n 'switch',\r\n 'swivel',\r\n 'swizzle',\r\n 'swooned',\r\n 'swoop',\r\n 'swoosh',\r\n 'swore',\r\n 'sworn',\r\n 'swung',\r\n 'sycamore',\r\n 'sympathy',\r\n 'symphonic',\r\n 'symphony',\r\n 'symptom',\r\n 'synapse',\r\n 'syndrome',\r\n 'synergy',\r\n 'synopses',\r\n 'synopsis',\r\n 'synthesis',\r\n 'synthetic',\r\n 'syrup',\r\n 'system',\r\n 't-shirt',\r\n 'tabasco',\r\n 'tabby',\r\n 'tableful',\r\n 'tables',\r\n 'tablet',\r\n 'tableware',\r\n 'tabloid',\r\n 'tackiness',\r\n 'tacking',\r\n 'tackle',\r\n 'tackling',\r\n 'tacky',\r\n 'taco',\r\n 'tactful',\r\n 'tactical',\r\n 'tactics',\r\n 'tactile',\r\n 'tactless',\r\n 'tadpole',\r\n 'taekwondo',\r\n 'tag',\r\n 'tainted',\r\n 'take',\r\n 'taking',\r\n 'talcum',\r\n 'talisman',\r\n 'tall',\r\n 'talon',\r\n 'tamale',\r\n 'tameness',\r\n 'tamer',\r\n 'tamper',\r\n 'tank',\r\n 'tanned',\r\n 'tannery',\r\n 'tanning',\r\n 'tantrum',\r\n 'tapeless',\r\n 'tapered',\r\n 'tapering',\r\n 'tapestry',\r\n 'tapioca',\r\n 'tapping',\r\n 'taps',\r\n 'tarantula',\r\n 'target',\r\n 'tarmac',\r\n 'tarnish',\r\n 'tarot',\r\n 'tartar',\r\n 'tartly',\r\n 'tartness',\r\n 'task',\r\n 'tassel',\r\n 'taste',\r\n 'tastiness',\r\n 'tasting',\r\n 'tasty',\r\n 'tattered',\r\n 'tattle',\r\n 'tattling',\r\n 'tattoo',\r\n 'taunt',\r\n 'tavern',\r\n 'thank',\r\n 'that',\r\n 'thaw',\r\n 'theater',\r\n 'theatrics',\r\n 'thee',\r\n 'theft',\r\n 'theme',\r\n 'theology',\r\n 'theorize',\r\n 'thermal',\r\n 'thermos',\r\n 'thesaurus',\r\n 'these',\r\n 'thesis',\r\n 'thespian',\r\n 'thicken',\r\n 'thicket',\r\n 'thickness',\r\n 'thieving',\r\n 'thievish',\r\n 'thigh',\r\n 'thimble',\r\n 'thing',\r\n 'think',\r\n 'thinly',\r\n 'thinner',\r\n 'thinness',\r\n 'thinning',\r\n 'thirstily',\r\n 'thirsting',\r\n 'thirsty',\r\n 'thirteen',\r\n 'thirty',\r\n 'thong',\r\n 'thorn',\r\n 'those',\r\n 'thousand',\r\n 'thrash',\r\n 'thread',\r\n 'threaten',\r\n 'threefold',\r\n 'thrift',\r\n 'thrill',\r\n 'thrive',\r\n 'thriving',\r\n 'throat',\r\n 'throbbing',\r\n 'throng',\r\n 'throttle',\r\n 'throwaway',\r\n 'throwback',\r\n 'thrower',\r\n 'throwing',\r\n 'thud',\r\n 'thumb',\r\n 'thumping',\r\n 'thursday',\r\n 'thus',\r\n 'thwarting',\r\n 'thyself',\r\n 'tiara',\r\n 'tibia',\r\n 'tidal',\r\n 'tidbit',\r\n 'tidiness',\r\n 'tidings',\r\n 'tidy',\r\n 'tiger',\r\n 'tighten',\r\n 'tightly',\r\n 'tightness',\r\n 'tightrope',\r\n 'tightwad',\r\n 'tigress',\r\n 'tile',\r\n 'tiling',\r\n 'till',\r\n 'tilt',\r\n 'timid',\r\n 'timing',\r\n 'timothy',\r\n 'tinderbox',\r\n 'tinfoil',\r\n 'tingle',\r\n 'tingling',\r\n 'tingly',\r\n 'tinker',\r\n 'tinkling',\r\n 'tinsel',\r\n 'tinsmith',\r\n 'tint',\r\n 'tinwork',\r\n 'tiny',\r\n 'tipoff',\r\n 'tipped',\r\n 'tipper',\r\n 'tipping',\r\n 'tiptoeing',\r\n 'tiptop',\r\n 'tiring',\r\n 'tissue',\r\n 'trace',\r\n 'tracing',\r\n 'track',\r\n 'traction',\r\n 'tractor',\r\n 'trade',\r\n 'trading',\r\n 'tradition',\r\n 'traffic',\r\n 'tragedy',\r\n 'trailing',\r\n 'trailside',\r\n 'train',\r\n 'traitor',\r\n 'trance',\r\n 'tranquil',\r\n 'transfer',\r\n 'transform',\r\n 'translate',\r\n 'transpire',\r\n 'transport',\r\n 'transpose',\r\n 'trapdoor',\r\n 'trapeze',\r\n 'trapezoid',\r\n 'trapped',\r\n 'trapper',\r\n 'trapping',\r\n 'traps',\r\n 'trash',\r\n 'travel',\r\n 'traverse',\r\n 'travesty',\r\n 'tray',\r\n 'treachery',\r\n 'treading',\r\n 'treadmill',\r\n 'treason',\r\n 'treat',\r\n 'treble',\r\n 'tree',\r\n 'trekker',\r\n 'tremble',\r\n 'trembling',\r\n 'tremor',\r\n 'trench',\r\n 'trend',\r\n 'trespass',\r\n 'triage',\r\n 'trial',\r\n 'triangle',\r\n 'tribesman',\r\n 'tribunal',\r\n 'tribune',\r\n 'tributary',\r\n 'tribute',\r\n 'triceps',\r\n 'trickery',\r\n 'trickily',\r\n 'tricking',\r\n 'trickle',\r\n 'trickster',\r\n 'tricky',\r\n 'tricolor',\r\n 'tricycle',\r\n 'trident',\r\n 'tried',\r\n 'trifle',\r\n 'trifocals',\r\n 'trillion',\r\n 'trilogy',\r\n 'trimester',\r\n 'trimmer',\r\n 'trimming',\r\n 'trimness',\r\n 'trinity',\r\n 'trio',\r\n 'tripod',\r\n 'tripping',\r\n 'triumph',\r\n 'trivial',\r\n 'trodden',\r\n 'trolling',\r\n 'trombone',\r\n 'trophy',\r\n 'tropical',\r\n 'tropics',\r\n 'trouble',\r\n 'troubling',\r\n 'trough',\r\n 'trousers',\r\n 'trout',\r\n 'trowel',\r\n 'truce',\r\n 'truck',\r\n 'truffle',\r\n 'trump',\r\n 'trunks',\r\n 'trustable',\r\n 'trustee',\r\n 'trustful',\r\n 'trusting',\r\n 'trustless',\r\n 'truth',\r\n 'try',\r\n 'tubby',\r\n 'tubeless',\r\n 'tubular',\r\n 'tucking',\r\n 'tuesday',\r\n 'tug',\r\n 'tuition',\r\n 'tulip',\r\n 'tumble',\r\n 'tumbling',\r\n 'tummy',\r\n 'turban',\r\n 'turbine',\r\n 'turbofan',\r\n 'turbojet',\r\n 'turbulent',\r\n 'turf',\r\n 'turkey',\r\n 'turmoil',\r\n 'turret',\r\n 'turtle',\r\n 'tusk',\r\n 'tutor',\r\n 'tutu',\r\n 'tux',\r\n 'tweak',\r\n 'tweed',\r\n 'tweet',\r\n 'tweezers',\r\n 'twelve',\r\n 'twentieth',\r\n 'twenty',\r\n 'twerp',\r\n 'twice',\r\n 'twiddle',\r\n 'twiddling',\r\n 'twig',\r\n 'twilight',\r\n 'twine',\r\n 'twins',\r\n 'twirl',\r\n 'twistable',\r\n 'twisted',\r\n 'twister',\r\n 'twisting',\r\n 'twisty',\r\n 'twitch',\r\n 'twitter',\r\n 'tycoon',\r\n 'tying',\r\n 'tyke',\r\n 'udder',\r\n 'ultimate',\r\n 'ultimatum',\r\n 'ultra',\r\n 'umbilical',\r\n 'umbrella',\r\n 'umpire',\r\n 'unabashed',\r\n 'unable',\r\n 'unadorned',\r\n 'unadvised',\r\n 'unafraid',\r\n 'unaired',\r\n 'unaligned',\r\n 'unaltered',\r\n 'unarmored',\r\n 'unashamed',\r\n 'unaudited',\r\n 'unawake',\r\n 'unaware',\r\n 'unbaked',\r\n 'unbalance',\r\n 'unbeaten',\r\n 'unbend',\r\n 'unbent',\r\n 'unbiased',\r\n 'unbitten',\r\n 'unblended',\r\n 'unblessed',\r\n 'unblock',\r\n 'unbolted',\r\n 'unbounded',\r\n 'unboxed',\r\n 'unbraided',\r\n 'unbridle',\r\n 'unbroken',\r\n 'unbuckled',\r\n 'unbundle',\r\n 'unburned',\r\n 'unbutton',\r\n 'uncanny',\r\n 'uncapped',\r\n 'uncaring',\r\n 'uncertain',\r\n 'unchain',\r\n 'unchanged',\r\n 'uncharted',\r\n 'uncheck',\r\n 'uncivil',\r\n 'unclad',\r\n 'unclaimed',\r\n 'unclamped',\r\n 'unclasp',\r\n 'uncle',\r\n 'unclip',\r\n 'uncloak',\r\n 'unclog',\r\n 'unclothed',\r\n 'uncoated',\r\n 'uncoiled',\r\n 'uncolored',\r\n 'uncombed',\r\n 'uncommon',\r\n 'uncooked',\r\n 'uncork',\r\n 'uncorrupt',\r\n 'uncounted',\r\n 'uncouple',\r\n 'uncouth',\r\n 'uncover',\r\n 'uncross',\r\n 'uncrown',\r\n 'uncrushed',\r\n 'uncured',\r\n 'uncurious',\r\n 'uncurled',\r\n 'uncut',\r\n 'undamaged',\r\n 'undated',\r\n 'undaunted',\r\n 'undead',\r\n 'undecided',\r\n 'undefined',\r\n 'underage',\r\n 'underarm',\r\n 'undercoat',\r\n 'undercook',\r\n 'undercut',\r\n 'underdog',\r\n 'underdone',\r\n 'underfed',\r\n 'underfeed',\r\n 'underfoot',\r\n 'undergo',\r\n 'undergrad',\r\n 'underhand',\r\n 'underline',\r\n 'underling',\r\n 'undermine',\r\n 'undermost',\r\n 'underpaid',\r\n 'underpass',\r\n 'underpay',\r\n 'underrate',\r\n 'undertake',\r\n 'undertone',\r\n 'undertook',\r\n 'undertow',\r\n 'underuse',\r\n 'underwear',\r\n 'underwent',\r\n 'underwire',\r\n 'undesired',\r\n 'undiluted',\r\n 'undivided',\r\n 'undocked',\r\n 'undoing',\r\n 'undone',\r\n 'undrafted',\r\n 'undress',\r\n 'undrilled',\r\n 'undusted',\r\n 'undying',\r\n 'unearned',\r\n 'unearth',\r\n 'unease',\r\n 'uneasily',\r\n 'uneasy',\r\n 'uneatable',\r\n 'uneaten',\r\n 'unedited',\r\n 'unelected',\r\n 'unending',\r\n 'unengaged',\r\n 'unenvied',\r\n 'unequal',\r\n 'unethical',\r\n 'uneven',\r\n 'unexpired',\r\n 'unexposed',\r\n 'unfailing',\r\n 'unfair',\r\n 'unfasten',\r\n 'unfazed',\r\n 'unfeeling',\r\n 'unfiled',\r\n 'unfilled',\r\n 'unfitted',\r\n 'unfitting',\r\n 'unfixable',\r\n 'unfixed',\r\n 'unflawed',\r\n 'unfocused',\r\n 'unfold',\r\n 'unfounded',\r\n 'unframed',\r\n 'unfreeze',\r\n 'unfrosted',\r\n 'unfrozen',\r\n 'unfunded',\r\n 'unglazed',\r\n 'ungloved',\r\n 'unglue',\r\n 'ungodly',\r\n 'ungraded',\r\n 'ungreased',\r\n 'unguarded',\r\n 'unguided',\r\n 'unhappily',\r\n 'unhappy',\r\n 'unharmed',\r\n 'unhealthy',\r\n 'unheard',\r\n 'unhearing',\r\n 'unheated',\r\n 'unhelpful',\r\n 'unhidden',\r\n 'unhinge',\r\n 'unhitched',\r\n 'unholy',\r\n 'unhook',\r\n 'unicorn',\r\n 'unicycle',\r\n 'unified',\r\n 'unifier',\r\n 'uniformed',\r\n 'uniformly',\r\n 'unify',\r\n 'unimpeded',\r\n 'uninjured',\r\n 'uninstall',\r\n 'uninsured',\r\n 'uninvited',\r\n 'union',\r\n 'uniquely',\r\n 'unisexual',\r\n 'unison',\r\n 'unissued',\r\n 'unit',\r\n 'universal',\r\n 'universe',\r\n 'unjustly',\r\n 'unkempt',\r\n 'unkind',\r\n 'unknotted',\r\n 'unknowing',\r\n 'unknown',\r\n 'unlaced',\r\n 'unlatch',\r\n 'unlawful',\r\n 'unleaded',\r\n 'unlearned',\r\n 'unleash',\r\n 'unless',\r\n 'unleveled',\r\n 'unlighted',\r\n 'unlikable',\r\n 'unlimited',\r\n 'unlined',\r\n 'unlinked',\r\n 'unlisted',\r\n 'unlit',\r\n 'unlivable',\r\n 'unloaded',\r\n 'unloader',\r\n 'unlocked',\r\n 'unlocking',\r\n 'unlovable',\r\n 'unloved',\r\n 'unlovely',\r\n 'unloving',\r\n 'unluckily',\r\n 'unlucky',\r\n 'unmade',\r\n 'unmanaged',\r\n 'unmanned',\r\n 'unmapped',\r\n 'unmarked',\r\n 'unmasked',\r\n 'unmasking',\r\n 'unmatched',\r\n 'unmindful',\r\n 'unmixable',\r\n 'unmixed',\r\n 'unmolded',\r\n 'unmoral',\r\n 'unmovable',\r\n 'unmoved',\r\n 'unmoving',\r\n 'unnamable',\r\n 'unnamed',\r\n 'unnatural',\r\n 'unneeded',\r\n 'unnerve',\r\n 'unnerving',\r\n 'unnoticed',\r\n 'unopened',\r\n 'unopposed',\r\n 'unpack',\r\n 'unpadded',\r\n 'unpaid',\r\n 'unpainted',\r\n 'unpaired',\r\n 'unpaved',\r\n 'unpeeled',\r\n 'unpicked',\r\n 'unpiloted',\r\n 'unpinned',\r\n 'unplanned',\r\n 'unplanted',\r\n 'unpleased',\r\n 'unpledged',\r\n 'unplowed',\r\n 'unplug',\r\n 'unpopular',\r\n 'unproven',\r\n 'unquote',\r\n 'unranked',\r\n 'unrated',\r\n 'unraveled',\r\n 'unreached',\r\n 'unread',\r\n 'unreal',\r\n 'unreeling',\r\n 'unrefined',\r\n 'unrelated',\r\n 'unrented',\r\n 'unrest',\r\n 'unretired',\r\n 'unrevised',\r\n 'unrigged',\r\n 'unripe',\r\n 'unrivaled',\r\n 'unroasted',\r\n 'unrobed',\r\n 'unroll',\r\n 'unruffled',\r\n 'unruly',\r\n 'unrushed',\r\n 'unsaddle',\r\n 'unsafe',\r\n 'unsaid',\r\n 'unsalted',\r\n 'unsaved',\r\n 'unsavory',\r\n 'unscathed',\r\n 'unscented',\r\n 'unscrew',\r\n 'unsealed',\r\n 'unseated',\r\n 'unsecured',\r\n 'unseeing',\r\n 'unseemly',\r\n 'unseen',\r\n 'unselect',\r\n 'unselfish',\r\n 'unsent',\r\n 'unsettled',\r\n 'unshackle',\r\n 'unshaken',\r\n 'unshaved',\r\n 'unshaven',\r\n 'unsheathe',\r\n 'unshipped',\r\n 'unsightly',\r\n 'unsigned',\r\n 'unskilled',\r\n 'unsliced',\r\n 'unsmooth',\r\n 'unsnap',\r\n 'unsocial',\r\n 'unsoiled',\r\n 'unsold',\r\n 'unsolved',\r\n 'unsorted',\r\n 'unspoiled',\r\n 'unspoken',\r\n 'unstable',\r\n 'unstaffed',\r\n 'unstamped',\r\n 'unsteady',\r\n 'unsterile',\r\n 'unstirred',\r\n 'unstitch',\r\n 'unstopped',\r\n 'unstuck',\r\n 'unstuffed',\r\n 'unstylish',\r\n 'unsubtle',\r\n 'unsubtly',\r\n 'unsuited',\r\n 'unsure',\r\n 'unsworn',\r\n 'untagged',\r\n 'untainted',\r\n 'untaken',\r\n 'untamed',\r\n 'untangled',\r\n 'untapped',\r\n 'untaxed',\r\n 'unthawed',\r\n 'unthread',\r\n 'untidy',\r\n 'untie',\r\n 'until',\r\n 'untimed',\r\n 'untimely',\r\n 'untitled',\r\n 'untoasted',\r\n 'untold',\r\n 'untouched',\r\n 'untracked',\r\n 'untrained',\r\n 'untreated',\r\n 'untried',\r\n 'untrimmed',\r\n 'untrue',\r\n 'untruth',\r\n 'unturned',\r\n 'untwist',\r\n 'untying',\r\n 'unusable',\r\n 'unused',\r\n 'unusual',\r\n 'unvalued',\r\n 'unvaried',\r\n 'unvarying',\r\n 'unveiled',\r\n 'unveiling',\r\n 'unvented',\r\n 'unviable',\r\n 'unvisited',\r\n 'unvocal',\r\n 'unwanted',\r\n 'unwarlike',\r\n 'unwary',\r\n 'unwashed',\r\n 'unwatched',\r\n 'unweave',\r\n 'unwed',\r\n 'unwelcome',\r\n 'unwell',\r\n 'unwieldy',\r\n 'unwilling',\r\n 'unwind',\r\n 'unwired',\r\n 'unwitting',\r\n 'unwomanly',\r\n 'unworldly',\r\n 'unworn',\r\n 'unworried',\r\n 'unworthy',\r\n 'unwound',\r\n 'unwoven',\r\n 'unwrapped',\r\n 'unwritten',\r\n 'unzip',\r\n 'upbeat',\r\n 'upchuck',\r\n 'upcoming',\r\n 'upcountry',\r\n 'update',\r\n 'upfront',\r\n 'upgrade',\r\n 'upheaval',\r\n 'upheld',\r\n 'uphill',\r\n 'uphold',\r\n 'uplifted',\r\n 'uplifting',\r\n 'upload',\r\n 'upon',\r\n 'upper',\r\n 'upright',\r\n 'uprising',\r\n 'upriver',\r\n 'uproar',\r\n 'uproot',\r\n 'upscale',\r\n 'upside',\r\n 'upstage',\r\n 'upstairs',\r\n 'upstart',\r\n 'upstate',\r\n 'upstream',\r\n 'upstroke',\r\n 'upswing',\r\n 'uptake',\r\n 'uptight',\r\n 'uptown',\r\n 'upturned',\r\n 'upward',\r\n 'upwind',\r\n 'uranium',\r\n 'urban',\r\n 'urchin',\r\n 'urethane',\r\n 'urgency',\r\n 'urgent',\r\n 'urging',\r\n 'urologist',\r\n 'urology',\r\n 'usable',\r\n 'usage',\r\n 'useable',\r\n 'used',\r\n 'uselessly',\r\n 'user',\r\n 'usher',\r\n 'usual',\r\n 'utensil',\r\n 'utility',\r\n 'utilize',\r\n 'utmost',\r\n 'utopia',\r\n 'utter',\r\n 'vacancy',\r\n 'vacant',\r\n 'vacate',\r\n 'vacation',\r\n 'vagabond',\r\n 'vagrancy',\r\n 'vagrantly',\r\n 'vaguely',\r\n 'vagueness',\r\n 'valiant',\r\n 'valid',\r\n 'valium',\r\n 'valley',\r\n 'valuables',\r\n 'value',\r\n 'vanilla',\r\n 'vanish',\r\n 'vanity',\r\n 'vanquish',\r\n 'vantage',\r\n 'vaporizer',\r\n 'variable',\r\n 'variably',\r\n 'varied',\r\n 'variety',\r\n 'various',\r\n 'varmint',\r\n 'varnish',\r\n 'varsity',\r\n 'varying',\r\n 'vascular',\r\n 'vaseline',\r\n 'vastly',\r\n 'vastness',\r\n 'veal',\r\n 'vegan',\r\n 'veggie',\r\n 'vehicular',\r\n 'velcro',\r\n 'velocity',\r\n 'velvet',\r\n 'vendetta',\r\n 'vending',\r\n 'vendor',\r\n 'veneering',\r\n 'vengeful',\r\n 'venomous',\r\n 'ventricle',\r\n 'venture',\r\n 'venue',\r\n 'venus',\r\n 'verbalize',\r\n 'verbally',\r\n 'verbose',\r\n 'verdict',\r\n 'verify',\r\n 'verse',\r\n 'version',\r\n 'versus',\r\n 'vertebrae',\r\n 'vertical',\r\n 'vertigo',\r\n 'very',\r\n 'vessel',\r\n 'vest',\r\n 'veteran',\r\n 'veto',\r\n 'vexingly',\r\n 'viability',\r\n 'viable',\r\n 'vibes',\r\n 'vice',\r\n 'vicinity',\r\n 'victory',\r\n 'video',\r\n 'viewable',\r\n 'viewer',\r\n 'viewing',\r\n 'viewless',\r\n 'viewpoint',\r\n 'vigorous',\r\n 'village',\r\n 'villain',\r\n 'vindicate',\r\n 'vineyard',\r\n 'vintage',\r\n 'violate',\r\n 'violation',\r\n 'violator',\r\n 'violet',\r\n 'violin',\r\n 'viper',\r\n 'viral',\r\n 'virtual',\r\n 'virtuous',\r\n 'virus',\r\n 'visa',\r\n 'viscosity',\r\n 'viscous',\r\n 'viselike',\r\n 'visible',\r\n 'visibly',\r\n 'vision',\r\n 'visiting',\r\n 'visitor',\r\n 'visor',\r\n 'vista',\r\n 'vitality',\r\n 'vitalize',\r\n 'vitally',\r\n 'vitamins',\r\n 'vivacious',\r\n 'vividly',\r\n 'vividness',\r\n 'vixen',\r\n 'vocalist',\r\n 'vocalize',\r\n 'vocally',\r\n 'vocation',\r\n 'voice',\r\n 'voicing',\r\n 'void',\r\n 'volatile',\r\n 'volley',\r\n 'voltage',\r\n 'volumes',\r\n 'voter',\r\n 'voting',\r\n 'voucher',\r\n 'vowed',\r\n 'vowel',\r\n 'voyage',\r\n 'wackiness',\r\n 'wad',\r\n 'wafer',\r\n 'waffle',\r\n 'waged',\r\n 'wager',\r\n 'wages',\r\n 'waggle',\r\n 'wagon',\r\n 'wake',\r\n 'waking',\r\n 'walk',\r\n 'walmart',\r\n 'walnut',\r\n 'walrus',\r\n 'waltz',\r\n 'wand',\r\n 'wannabe',\r\n 'wanted',\r\n 'wanting',\r\n 'wasabi',\r\n 'washable',\r\n 'washbasin',\r\n 'washboard',\r\n 'washbowl',\r\n 'washcloth',\r\n 'washday',\r\n 'washed',\r\n 'washer',\r\n 'washhouse',\r\n 'washing',\r\n 'washout',\r\n 'washroom',\r\n 'washstand',\r\n 'washtub',\r\n 'wasp',\r\n 'wasting',\r\n 'watch',\r\n 'water',\r\n 'waviness',\r\n 'waving',\r\n 'wavy',\r\n 'whacking',\r\n 'whacky',\r\n 'wham',\r\n 'wharf',\r\n 'wheat',\r\n 'whenever',\r\n 'whiff',\r\n 'whimsical',\r\n 'whinny',\r\n 'whiny',\r\n 'whisking',\r\n 'whoever',\r\n 'whole',\r\n 'whomever',\r\n 'whoopee',\r\n 'whooping',\r\n 'whoops',\r\n 'why',\r\n 'wick',\r\n 'widely',\r\n 'widen',\r\n 'widget',\r\n 'widow',\r\n 'width',\r\n 'wieldable',\r\n 'wielder',\r\n 'wife',\r\n 'wifi',\r\n 'wikipedia',\r\n 'wildcard',\r\n 'wildcat',\r\n 'wilder',\r\n 'wildfire',\r\n 'wildfowl',\r\n 'wildland',\r\n 'wildlife',\r\n 'wildly',\r\n 'wildness',\r\n 'willed',\r\n 'willfully',\r\n 'willing',\r\n 'willow',\r\n 'willpower',\r\n 'wilt',\r\n 'wimp',\r\n 'wince',\r\n 'wincing',\r\n 'wind',\r\n 'wing',\r\n 'winking',\r\n 'winner',\r\n 'winnings',\r\n 'winter',\r\n 'wipe',\r\n 'wired',\r\n 'wireless',\r\n 'wiring',\r\n 'wiry',\r\n 'wisdom',\r\n 'wise',\r\n 'wish',\r\n 'wisplike',\r\n 'wispy',\r\n 'wistful',\r\n 'wizard',\r\n 'wobble',\r\n 'wobbling',\r\n 'wobbly',\r\n 'wok',\r\n 'wolf',\r\n 'wolverine',\r\n 'womanhood',\r\n 'womankind',\r\n 'womanless',\r\n 'womanlike',\r\n 'womanly',\r\n 'womb',\r\n 'woof',\r\n 'wooing',\r\n 'wool',\r\n 'woozy',\r\n 'word',\r\n 'work',\r\n 'worried',\r\n 'worrier',\r\n 'worrisome',\r\n 'worry',\r\n 'worsening',\r\n 'worshiper',\r\n 'worst',\r\n 'wound',\r\n 'woven',\r\n 'wow',\r\n 'wrangle',\r\n 'wrath',\r\n 'wreath',\r\n 'wreckage',\r\n 'wrecker',\r\n 'wrecking',\r\n 'wrench',\r\n 'wriggle',\r\n 'wriggly',\r\n 'wrinkle',\r\n 'wrinkly',\r\n 'wrist',\r\n 'writing',\r\n 'written',\r\n 'wrongdoer',\r\n 'wronged',\r\n 'wrongful',\r\n 'wrongly',\r\n 'wrongness',\r\n 'wrought',\r\n 'xbox',\r\n 'xerox',\r\n 'yahoo',\r\n 'yam',\r\n 'yanking',\r\n 'yapping',\r\n 'yard',\r\n 'yarn',\r\n 'yeah',\r\n 'yearbook',\r\n 'yearling',\r\n 'yearly',\r\n 'yearning',\r\n 'yeast',\r\n 'yelling',\r\n 'yelp',\r\n 'yen',\r\n 'yesterday',\r\n 'yiddish',\r\n 'yield',\r\n 'yin',\r\n 'yippee',\r\n 'yo-yo',\r\n 'yodel',\r\n 'yoga',\r\n 'yogurt',\r\n 'yonder',\r\n 'yoyo',\r\n 'yummy',\r\n 'zap',\r\n 'zealous',\r\n 'zebra',\r\n 'zen',\r\n 'zeppelin',\r\n 'zero',\r\n 'zestfully',\r\n 'zesty',\r\n 'zigzagged',\r\n 'zipfile',\r\n 'zipping',\r\n 'zippy',\r\n 'zips',\r\n 'zit',\r\n 'zodiac',\r\n 'zombie',\r\n 'zone',\r\n 'zoning',\r\n 'zookeeper',\r\n 'zoologist',\r\n 'zoology',\r\n 'zoom',\r\n];\r\n","import { EnvironmentUrls } from '../models/domain/environmentUrls';\r\n\r\nimport { ConstantsService } from './constants.service';\r\n\r\nimport { ApiService } from '../abstractions/api.service';\r\nimport { EnvironmentService as EnvironmentServiceAbstraction } from '../abstractions/environment.service';\r\nimport { NotificationsService } from '../abstractions/notifications.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\n\r\nexport class EnvironmentService implements EnvironmentServiceAbstraction {\r\n baseUrl: string;\r\n webVaultUrl: string;\r\n apiUrl: string;\r\n identityUrl: string;\r\n iconsUrl: string;\r\n notificationsUrl: string;\r\n eventsUrl: string;\r\n enterpriseUrl: string;\r\n\r\n constructor(private apiService: ApiService, private storageService: StorageService,\r\n private notificationsService: NotificationsService) { }\r\n\r\n getWebVaultUrl(): string {\r\n if (this.webVaultUrl != null) {\r\n return this.webVaultUrl;\r\n } else if (this.baseUrl) {\r\n return this.baseUrl;\r\n }\r\n return null;\r\n }\r\n\r\n async setUrlsFromStorage(): Promise {\r\n const urlsObj: any = await this.storageService.get(ConstantsService.environmentUrlsKey);\r\n const urls = urlsObj || {\r\n base: null,\r\n api: null,\r\n identity: null,\r\n icons: null,\r\n notifications: null,\r\n events: null,\r\n webVault: null,\r\n enterprise: null,\r\n };\r\n\r\n const envUrls = new EnvironmentUrls();\r\n\r\n if (urls.base) {\r\n this.baseUrl = envUrls.base = urls.base;\r\n this.apiService.setUrls(envUrls);\r\n return;\r\n }\r\n\r\n this.webVaultUrl = urls.webVault;\r\n this.apiUrl = envUrls.api = urls.api;\r\n this.identityUrl = envUrls.identity = urls.identity;\r\n this.iconsUrl = urls.icons;\r\n this.notificationsUrl = urls.notifications;\r\n this.eventsUrl = envUrls.events = urls.events;\r\n this.enterpriseUrl = urls.enterprise;\r\n this.apiService.setUrls(envUrls);\r\n }\r\n\r\n async setUrls(urls: any): Promise {\r\n urls.base = this.formatUrl(urls.base);\r\n urls.webVault = this.formatUrl(urls.webVault);\r\n urls.api = this.formatUrl(urls.api);\r\n urls.identity = this.formatUrl(urls.identity);\r\n urls.icons = this.formatUrl(urls.icons);\r\n urls.notifications = this.formatUrl(urls.notifications);\r\n urls.events = this.formatUrl(urls.events);\r\n urls.enterprise = this.formatUrl(urls.enterprise);\r\n\r\n await this.storageService.save(ConstantsService.environmentUrlsKey, {\r\n base: urls.base,\r\n api: urls.api,\r\n identity: urls.identity,\r\n webVault: urls.webVault,\r\n icons: urls.icons,\r\n notifications: urls.notifications,\r\n events: urls.events,\r\n enterprise: urls.enterprise,\r\n });\r\n\r\n this.baseUrl = urls.base;\r\n this.webVaultUrl = urls.webVault;\r\n this.apiUrl = urls.api;\r\n this.identityUrl = urls.identity;\r\n this.iconsUrl = urls.icons;\r\n this.notificationsUrl = urls.notifications;\r\n this.eventsUrl = urls.events;\r\n this.enterpriseUrl = urls.enterprise;\r\n\r\n const envUrls = new EnvironmentUrls();\r\n if (this.baseUrl) {\r\n envUrls.base = this.baseUrl;\r\n } else {\r\n envUrls.api = this.apiUrl;\r\n envUrls.identity = this.identityUrl;\r\n envUrls.events = this.eventsUrl;\r\n }\r\n\r\n this.apiService.setUrls(envUrls);\r\n if (this.notificationsService != null) {\r\n this.notificationsService.init(this);\r\n }\r\n return urls;\r\n }\r\n\r\n private formatUrl(url: string): string {\r\n if (url == null || url === '') {\r\n return null;\r\n }\r\n\r\n url = url.replace(/\\/+$/g, '');\r\n if (!url.startsWith('http://') && !url.startsWith('https://')) {\r\n url = 'https://' + url;\r\n }\r\n\r\n return url.trim();\r\n }\r\n}\r\n","import { FolderData } from '../models/data/folderData';\r\n\r\nimport { Folder } from '../models/domain/folder';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\nimport { TreeNode } from '../models/domain/treeNode';\r\n\r\nimport { FolderRequest } from '../models/request/folderRequest';\r\n\r\nimport { FolderResponse } from '../models/response/folderResponse';\r\n\r\nimport { FolderView } from '../models/view/folderView';\r\n\r\nimport { ApiService } from '../abstractions/api.service';\r\nimport { CipherService } from '../abstractions/cipher.service';\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport { FolderService as FolderServiceAbstraction } from '../abstractions/folder.service';\r\nimport { I18nService } from '../abstractions/i18n.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\nimport { CipherData } from '../models/data/cipherData';\r\n\r\nimport { ServiceUtils } from '../misc/serviceUtils';\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst Keys = {\r\n foldersPrefix: 'folders_',\r\n ciphersPrefix: 'ciphers_',\r\n};\r\nconst NestingDelimiter = '/';\r\n\r\nexport class FolderService implements FolderServiceAbstraction {\r\n decryptedFolderCache: FolderView[];\r\n\r\n constructor(private cryptoService: CryptoService, private userService: UserService,\r\n private apiService: ApiService, private storageService: StorageService,\r\n private i18nService: I18nService, private cipherService: CipherService) { }\r\n\r\n clearCache(): void {\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async encrypt(model: FolderView, key?: SymmetricCryptoKey): Promise {\r\n const folder = new Folder();\r\n folder.id = model.id;\r\n folder.name = await this.cryptoService.encrypt(model.name, key);\r\n return folder;\r\n }\r\n\r\n async get(id: string): Promise {\r\n const userId = await this.userService.getUserId();\r\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n if (folders == null || !folders.hasOwnProperty(id)) {\r\n return null;\r\n }\r\n\r\n return new Folder(folders[id]);\r\n }\r\n\r\n async getAll(): Promise {\r\n const userId = await this.userService.getUserId();\r\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n const response: Folder[] = [];\r\n for (const id in folders) {\r\n if (folders.hasOwnProperty(id)) {\r\n response.push(new Folder(folders[id]));\r\n }\r\n }\r\n return response;\r\n }\r\n\r\n async getAllDecrypted(): Promise {\r\n if (this.decryptedFolderCache != null) {\r\n return this.decryptedFolderCache;\r\n }\r\n\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n throw new Error('No key.');\r\n }\r\n\r\n const decFolders: FolderView[] = [];\r\n const promises: Promise[] = [];\r\n const folders = await this.getAll();\r\n folders.forEach((folder) => {\r\n promises.push(folder.decrypt().then((f) => decFolders.push(f)));\r\n });\r\n\r\n await Promise.all(promises);\r\n decFolders.sort(Utils.getSortFunction(this.i18nService, 'name'));\r\n\r\n const noneFolder = new FolderView();\r\n noneFolder.name = this.i18nService.t('noneFolder');\r\n decFolders.push(noneFolder);\r\n\r\n this.decryptedFolderCache = decFolders;\r\n return this.decryptedFolderCache;\r\n }\r\n\r\n async getAllNested(): Promise[]> {\r\n const folders = await this.getAllDecrypted();\r\n const nodes: TreeNode[] = [];\r\n folders.forEach((f) => {\r\n const folderCopy = new FolderView();\r\n folderCopy.id = f.id;\r\n folderCopy.revisionDate = f.revisionDate;\r\n const parts = f.name != null ? f.name.replace(/^\\/+|\\/+$/g, '').split(NestingDelimiter) : [];\r\n ServiceUtils.nestedTraverse(nodes, 0, parts, folderCopy, null, NestingDelimiter);\r\n });\r\n return nodes;\r\n }\r\n\r\n async getNested(id: string): Promise> {\r\n const folders = await this.getAllNested();\r\n return ServiceUtils.getTreeNodeObject(folders, id) as TreeNode;\r\n }\r\n\r\n async saveWithServer(folder: Folder): Promise {\r\n const request = new FolderRequest(folder);\r\n\r\n let response: FolderResponse;\r\n if (folder.id == null) {\r\n response = await this.apiService.postFolder(request);\r\n folder.id = response.id;\r\n } else {\r\n response = await this.apiService.putFolder(folder.id, request);\r\n }\r\n\r\n const userId = await this.userService.getUserId();\r\n const data = new FolderData(response, userId);\r\n await this.upsert(data);\r\n }\r\n\r\n async upsert(folder: FolderData | FolderData[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n let folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n if (folders == null) {\r\n folders = {};\r\n }\r\n\r\n if (folder instanceof FolderData) {\r\n const f = folder as FolderData;\r\n folders[f.id] = f;\r\n } else {\r\n (folder as FolderData[]).forEach((f) => {\r\n folders[f.id] = f;\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async replace(folders: { [id: string]: FolderData; }): Promise {\r\n const userId = await this.userService.getUserId();\r\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.foldersPrefix + userId);\r\n this.decryptedFolderCache = null;\r\n }\r\n\r\n async delete(id: string | string[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n const folders = await this.storageService.get<{ [id: string]: FolderData; }>(\r\n Keys.foldersPrefix + userId);\r\n if (folders == null) {\r\n return;\r\n }\r\n\r\n if (typeof id === 'string') {\r\n if (folders[id] == null) {\r\n return;\r\n }\r\n delete folders[id];\r\n } else {\r\n (id as string[]).forEach((i) => {\r\n delete folders[i];\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.foldersPrefix + userId, folders);\r\n this.decryptedFolderCache = null;\r\n\r\n // Items in a deleted folder are re-assigned to \"No Folder\"\r\n const ciphers = await this.storageService.get<{ [id: string]: CipherData; }>(Keys.ciphersPrefix + userId);\r\n if (ciphers != null) {\r\n const updates: CipherData[] = [];\r\n for (const cId in ciphers) {\r\n if (ciphers[cId].folderId === id) {\r\n ciphers[cId].folderId = null;\r\n updates.push(ciphers[cId]);\r\n }\r\n }\r\n if (updates.length > 0) {\r\n this.cipherService.upsert(updates);\r\n }\r\n }\r\n }\r\n\r\n async deleteWithServer(id: string): Promise {\r\n await this.apiService.deleteFolder(id);\r\n await this.delete(id);\r\n }\r\n}\r\n","import { FolderResponse } from '../response/folderResponse';\r\n\r\nexport class FolderData {\r\n id: string;\r\n userId: string;\r\n name: string;\r\n revisionDate: string;\r\n\r\n constructor(response: FolderResponse, userId: string) {\r\n this.userId = userId;\r\n this.name = response.name;\r\n this.id = response.id;\r\n this.revisionDate = response.revisionDate;\r\n }\r\n}\r\n","import { I18nService as I18nServiceAbstraction } from '../abstractions/i18n.service';\r\n\r\nexport class I18nService implements I18nServiceAbstraction {\r\n locale: string;\r\n // First locale is the default (English)\r\n supportedTranslationLocales: string[] = ['en'];\r\n translationLocale: string;\r\n collator: Intl.Collator;\r\n localeNames = new Map([\r\n ['af', 'Afrikaans'],\r\n ['be', 'Беларуская'],\r\n ['bg', 'български'],\r\n ['ca', 'català'],\r\n ['cs', 'čeština'],\r\n ['da', 'dansk'],\r\n ['de', 'Deutsch'],\r\n ['el', 'Ελληνικά'],\r\n ['en', 'English'],\r\n ['en-GB', 'English (British)'],\r\n ['eo', 'Esperanto'],\r\n ['es', 'español'],\r\n ['et', 'eesti'],\r\n ['fa', 'فارسی'],\r\n ['fi', 'suomi'],\r\n ['fr', 'français'],\r\n ['he', 'עברית'],\r\n ['hi', 'हिन्दी'],\r\n ['hr', 'hrvatski'],\r\n ['hu', 'magyar'],\r\n ['id', 'Bahasa Indonesia'],\r\n ['it', 'italiano'],\r\n ['ja', '日本語'],\r\n ['ko', '한국어'],\r\n ['lv', 'Latvietis'],\r\n ['ml', 'മലയാളം'],\r\n ['nb', 'norsk (bokmål)'],\r\n ['nl', 'Nederlands'],\r\n ['pl', 'polski'],\r\n ['pt-BR', 'português do Brasil'],\r\n ['pt-PT', 'português'],\r\n ['ro', 'română'],\r\n ['ru', 'русский'],\r\n ['sk', 'slovenčina'],\r\n ['sr', 'Српски'],\r\n ['sv', 'svenska'],\r\n ['th', 'ไทย'],\r\n ['tr', 'Türkçe'],\r\n ['uk', 'українська'],\r\n ['vi', 'Tiếng Việt'],\r\n ['zh-CN', '中文(中国大陆)'],\r\n ['zh-TW', '中文(台灣)'],\r\n ]);\r\n\r\n protected inited: boolean;\r\n protected defaultMessages: any = {};\r\n protected localeMessages: any = {};\r\n\r\n constructor(protected systemLanguage: string, protected localesDirectory: string,\r\n protected getLocalesJson: (formattedLocale: string) => Promise) {\r\n this.systemLanguage = systemLanguage.replace('_', '-');\r\n }\r\n\r\n async init(locale?: string) {\r\n if (this.inited) {\r\n throw new Error('i18n already initialized.');\r\n }\r\n if (this.supportedTranslationLocales == null || this.supportedTranslationLocales.length === 0) {\r\n throw new Error('supportedTranslationLocales not set.');\r\n }\r\n\r\n this.inited = true;\r\n this.locale = this.translationLocale = locale != null ? locale : this.systemLanguage;\r\n\r\n try {\r\n this.collator = new Intl.Collator(this.locale, { numeric: true, sensitivity: 'base' });\r\n } catch {\r\n this.collator = null;\r\n }\r\n\r\n if (this.supportedTranslationLocales.indexOf(this.translationLocale) === -1) {\r\n this.translationLocale = this.translationLocale.slice(0, 2);\r\n\r\n if (this.supportedTranslationLocales.indexOf(this.translationLocale) === -1) {\r\n this.translationLocale = this.supportedTranslationLocales[0];\r\n }\r\n }\r\n\r\n if (this.localesDirectory != null) {\r\n await this.loadMessages(this.translationLocale, this.localeMessages);\r\n if (this.translationLocale !== this.supportedTranslationLocales[0]) {\r\n await this.loadMessages(this.supportedTranslationLocales[0], this.defaultMessages);\r\n }\r\n }\r\n }\r\n\r\n t(id: string, p1?: string, p2?: string, p3?: string): string {\r\n return this.translate(id, p1, p2, p3);\r\n }\r\n\r\n translate(id: string, p1?: string, p2?: string, p3?: string): string {\r\n let result: string;\r\n if (this.localeMessages.hasOwnProperty(id) && this.localeMessages[id]) {\r\n result = this.localeMessages[id];\r\n } else if (this.defaultMessages.hasOwnProperty(id) && this.defaultMessages[id]) {\r\n result = this.defaultMessages[id];\r\n } else {\r\n result = '';\r\n }\r\n\r\n if (result !== '') {\r\n if (p1 != null) {\r\n result = result.split('__$1__').join(p1);\r\n }\r\n if (p2 != null) {\r\n result = result.split('__$2__').join(p2);\r\n }\r\n if (p3 != null) {\r\n result = result.split('__$3__').join(p3);\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private async loadMessages(locale: string, messagesObj: any): Promise {\r\n const formattedLocale = locale.replace('-', '_');\r\n const locales = await this.getLocalesJson(formattedLocale);\r\n for (const prop in locales) {\r\n if (!locales.hasOwnProperty(prop)) {\r\n continue;\r\n }\r\n messagesObj[prop] = locales[prop].message;\r\n\r\n if (locales[prop].placeholders) {\r\n for (const placeProp in locales[prop].placeholders) {\r\n if (!locales[prop].placeholders.hasOwnProperty(placeProp) ||\r\n !locales[prop].placeholders[placeProp].content) {\r\n continue;\r\n }\r\n\r\n const replaceToken = '\\\\$' + placeProp.toUpperCase() + '\\\\$';\r\n let replaceContent = locales[prop].placeholders[placeProp].content;\r\n if (replaceContent === '$1' || replaceContent === '$2' || replaceContent === '$3') {\r\n replaceContent = '__$' + replaceContent + '__';\r\n }\r\n messagesObj[prop] = messagesObj[prop].replace(new RegExp(replaceToken, 'g'), replaceContent);\r\n }\r\n }\r\n }\r\n }\r\n\r\n}\r\n","import * as zxcvbn from 'zxcvbn';\r\n\r\nimport { CipherString } from '../models/domain/cipherString';\r\nimport { GeneratedPasswordHistory } from '../models/domain/generatedPasswordHistory';\r\nimport { PasswordGeneratorPolicyOptions } from '../models/domain/passwordGeneratorPolicyOptions';\r\nimport { Policy } from '../models/domain/policy';\r\n\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport {\r\n PasswordGenerationService as PasswordGenerationServiceAbstraction,\r\n} from '../abstractions/passwordGeneration.service';\r\nimport { PolicyService } from '../abstractions/policy.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\n\r\nimport { EEFLongWordList } from '../misc/wordlist';\r\n\r\nimport { PolicyType } from '../enums/policyType';\r\n\r\nconst DefaultOptions = {\r\n length: 14,\r\n ambiguous: false,\r\n number: true,\r\n minNumber: 1,\r\n uppercase: true,\r\n minUppercase: 0,\r\n lowercase: true,\r\n minLowercase: 0,\r\n special: false,\r\n minSpecial: 1,\r\n type: 'password',\r\n numWords: 3,\r\n wordSeparator: '-',\r\n capitalize: false,\r\n includeNumber: false,\r\n};\r\n\r\nconst Keys = {\r\n options: 'passwordGenerationOptions',\r\n history: 'generatedPasswordHistory',\r\n};\r\n\r\nconst MaxPasswordsInHistory = 100;\r\n\r\nexport class PasswordGenerationService implements PasswordGenerationServiceAbstraction {\r\n private optionsCache: any;\r\n private history: GeneratedPasswordHistory[];\r\n\r\n constructor(private cryptoService: CryptoService, private storageService: StorageService,\r\n private policyService: PolicyService) { }\r\n\r\n async generatePassword(options: any): Promise {\r\n // overload defaults with given options\r\n const o = Object.assign({}, DefaultOptions, options);\r\n\r\n if (o.type === 'passphrase') {\r\n return this.generatePassphrase(options);\r\n }\r\n\r\n // sanitize\r\n this.sanitizePasswordLength(o, true);\r\n\r\n const minLength: number = o.minUppercase + o.minLowercase + o.minNumber + o.minSpecial;\r\n if (o.length < minLength) {\r\n o.length = minLength;\r\n }\r\n\r\n const positions: string[] = [];\r\n if (o.lowercase && o.minLowercase > 0) {\r\n for (let i = 0; i < o.minLowercase; i++) {\r\n positions.push('l');\r\n }\r\n }\r\n if (o.uppercase && o.minUppercase > 0) {\r\n for (let i = 0; i < o.minUppercase; i++) {\r\n positions.push('u');\r\n }\r\n }\r\n if (o.number && o.minNumber > 0) {\r\n for (let i = 0; i < o.minNumber; i++) {\r\n positions.push('n');\r\n }\r\n }\r\n if (o.special && o.minSpecial > 0) {\r\n for (let i = 0; i < o.minSpecial; i++) {\r\n positions.push('s');\r\n }\r\n }\r\n while (positions.length < o.length) {\r\n positions.push('a');\r\n }\r\n\r\n // shuffle\r\n await this.shuffleArray(positions);\r\n\r\n // build out the char sets\r\n let allCharSet = '';\r\n\r\n let lowercaseCharSet = 'abcdefghijkmnopqrstuvwxyz';\r\n if (o.ambiguous) {\r\n lowercaseCharSet += 'l';\r\n }\r\n if (o.lowercase) {\r\n allCharSet += lowercaseCharSet;\r\n }\r\n\r\n let uppercaseCharSet = 'ABCDEFGHJKLMNPQRSTUVWXYZ';\r\n if (o.ambiguous) {\r\n uppercaseCharSet += 'IO';\r\n }\r\n if (o.uppercase) {\r\n allCharSet += uppercaseCharSet;\r\n }\r\n\r\n let numberCharSet = '23456789';\r\n if (o.ambiguous) {\r\n numberCharSet += '01';\r\n }\r\n if (o.number) {\r\n allCharSet += numberCharSet;\r\n }\r\n\r\n const specialCharSet = '!@#$%^&*';\r\n if (o.special) {\r\n allCharSet += specialCharSet;\r\n }\r\n\r\n let password = '';\r\n for (let i = 0; i < o.length; i++) {\r\n let positionChars: string;\r\n switch (positions[i]) {\r\n case 'l':\r\n positionChars = lowercaseCharSet;\r\n break;\r\n case 'u':\r\n positionChars = uppercaseCharSet;\r\n break;\r\n case 'n':\r\n positionChars = numberCharSet;\r\n break;\r\n case 's':\r\n positionChars = specialCharSet;\r\n break;\r\n case 'a':\r\n positionChars = allCharSet;\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n const randomCharIndex = await this.cryptoService.randomNumber(0, positionChars.length - 1);\r\n password += positionChars.charAt(randomCharIndex);\r\n }\r\n\r\n return password;\r\n }\r\n\r\n async generatePassphrase(options: any): Promise {\r\n const o = Object.assign({}, DefaultOptions, options);\r\n\r\n if (o.numWords == null || o.numWords <= 2) {\r\n o.numWords = DefaultOptions.numWords;\r\n }\r\n if (o.wordSeparator == null || o.wordSeparator.length === 0 || o.wordSeparator.length > 1) {\r\n o.wordSeparator = ' ';\r\n }\r\n if (o.capitalize == null) {\r\n o.capitalize = false;\r\n }\r\n if (o.includeNumber == null) {\r\n o.includeNumber = false;\r\n }\r\n\r\n const listLength = EEFLongWordList.length - 1;\r\n const wordList = new Array(o.numWords);\r\n for (let i = 0; i < o.numWords; i++) {\r\n const wordIndex = await this.cryptoService.randomNumber(0, listLength);\r\n if (o.capitalize) {\r\n wordList[i] = this.capitalize(EEFLongWordList[wordIndex]);\r\n } else {\r\n wordList[i] = EEFLongWordList[wordIndex];\r\n }\r\n }\r\n\r\n if (o.includeNumber) {\r\n await this.appendRandomNumberToRandomWord(wordList);\r\n }\r\n return wordList.join(o.wordSeparator);\r\n }\r\n\r\n async getOptions(): Promise<[any, PasswordGeneratorPolicyOptions]> {\r\n if (this.optionsCache == null) {\r\n const options = await this.storageService.get(Keys.options);\r\n if (options == null) {\r\n this.optionsCache = DefaultOptions;\r\n } else {\r\n this.optionsCache = Object.assign({}, DefaultOptions, options);\r\n }\r\n }\r\n const enforcedOptions = await this.enforcePasswordGeneratorPoliciesOnOptions(this.optionsCache);\r\n this.optionsCache = enforcedOptions[0];\r\n return [this.optionsCache, enforcedOptions[1]];\r\n }\r\n\r\n async enforcePasswordGeneratorPoliciesOnOptions(options: any): Promise<[any, PasswordGeneratorPolicyOptions]> {\r\n let enforcedPolicyOptions = await this.getPasswordGeneratorPolicyOptions();\r\n if (enforcedPolicyOptions != null) {\r\n if (options.length < enforcedPolicyOptions.minLength) {\r\n options.length = enforcedPolicyOptions.minLength;\r\n }\r\n\r\n if (enforcedPolicyOptions.useUppercase) {\r\n options.uppercase = true;\r\n }\r\n\r\n if (enforcedPolicyOptions.useLowercase) {\r\n options.lowercase = true;\r\n }\r\n\r\n if (enforcedPolicyOptions.useNumbers) {\r\n options.number = true;\r\n }\r\n\r\n if (options.minNumber < enforcedPolicyOptions.numberCount) {\r\n options.minNumber = enforcedPolicyOptions.numberCount;\r\n }\r\n\r\n if (enforcedPolicyOptions.useSpecial) {\r\n options.special = true;\r\n }\r\n\r\n if (options.minSpecial < enforcedPolicyOptions.specialCount) {\r\n options.minSpecial = enforcedPolicyOptions.specialCount;\r\n }\r\n\r\n // Must normalize these fields because the receiving call expects all options to pass the current rules\r\n if (options.minSpecial + options.minNumber > options.length) {\r\n options.minSpecial = options.length - options.minNumber;\r\n }\r\n\r\n if (options.numWords < enforcedPolicyOptions.minNumberWords) {\r\n options.numWords = enforcedPolicyOptions.minNumberWords;\r\n }\r\n\r\n if (enforcedPolicyOptions.capitalize) {\r\n options.capitalize = true;\r\n }\r\n\r\n if (enforcedPolicyOptions.includeNumber) {\r\n options.includeNumber = true;\r\n }\r\n\r\n // Force default type if password/passphrase selected via policy\r\n if (enforcedPolicyOptions.defaultType === 'password' ||\r\n enforcedPolicyOptions.defaultType === 'passphrase') {\r\n options.type = enforcedPolicyOptions.defaultType;\r\n }\r\n } else { // UI layer expects an instantiated object to prevent more explicit null checks\r\n enforcedPolicyOptions = new PasswordGeneratorPolicyOptions();\r\n }\r\n return [options, enforcedPolicyOptions];\r\n }\r\n\r\n async getPasswordGeneratorPolicyOptions(): Promise {\r\n const policies: Policy[] = this.policyService == null ? null :\r\n await this.policyService.getAll(PolicyType.PasswordGenerator);\r\n let enforcedOptions: PasswordGeneratorPolicyOptions = null;\r\n\r\n if (policies == null || policies.length === 0) {\r\n return enforcedOptions;\r\n }\r\n\r\n policies.forEach((currentPolicy) => {\r\n if (!currentPolicy.enabled || currentPolicy.data == null) {\r\n return;\r\n }\r\n\r\n if (enforcedOptions == null) {\r\n enforcedOptions = new PasswordGeneratorPolicyOptions();\r\n }\r\n\r\n // Password wins in multi-org collisions\r\n if (currentPolicy.data.defaultType != null && enforcedOptions.defaultType !== 'password') {\r\n enforcedOptions.defaultType = currentPolicy.data.defaultType;\r\n }\r\n\r\n if (currentPolicy.data.minLength != null\r\n && currentPolicy.data.minLength > enforcedOptions.minLength) {\r\n enforcedOptions.minLength = currentPolicy.data.minLength;\r\n }\r\n\r\n if (currentPolicy.data.useUpper) {\r\n enforcedOptions.useUppercase = true;\r\n }\r\n\r\n if (currentPolicy.data.useLower) {\r\n enforcedOptions.useLowercase = true;\r\n }\r\n\r\n if (currentPolicy.data.useNumbers) {\r\n enforcedOptions.useNumbers = true;\r\n }\r\n\r\n if (currentPolicy.data.minNumbers != null\r\n && currentPolicy.data.minNumbers > enforcedOptions.numberCount) {\r\n enforcedOptions.numberCount = currentPolicy.data.minNumbers;\r\n }\r\n\r\n if (currentPolicy.data.useSpecial) {\r\n enforcedOptions.useSpecial = true;\r\n }\r\n\r\n if (currentPolicy.data.minSpecial != null\r\n && currentPolicy.data.minSpecial > enforcedOptions.specialCount) {\r\n enforcedOptions.specialCount = currentPolicy.data.minSpecial;\r\n }\r\n\r\n if (currentPolicy.data.minNumberWords != null\r\n && currentPolicy.data.minNumberWords > enforcedOptions.minNumberWords) {\r\n enforcedOptions.minNumberWords = currentPolicy.data.minNumberWords;\r\n }\r\n\r\n if (currentPolicy.data.capitalize) {\r\n enforcedOptions.capitalize = true;\r\n }\r\n\r\n if (currentPolicy.data.includeNumber) {\r\n enforcedOptions.includeNumber = true;\r\n }\r\n });\r\n\r\n return enforcedOptions;\r\n }\r\n\r\n async saveOptions(options: any) {\r\n await this.storageService.save(Keys.options, options);\r\n this.optionsCache = options;\r\n }\r\n\r\n async getHistory(): Promise {\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n return new Array();\r\n }\r\n\r\n if (!this.history) {\r\n const encrypted = await this.storageService.get(Keys.history);\r\n this.history = await this.decryptHistory(encrypted);\r\n }\r\n\r\n return this.history || new Array();\r\n }\r\n\r\n async addHistory(password: string): Promise {\r\n // Cannot add new history if no key is available\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n return;\r\n }\r\n\r\n const currentHistory = await this.getHistory();\r\n\r\n // Prevent duplicates\r\n if (this.matchesPrevious(password, currentHistory)) {\r\n return;\r\n }\r\n\r\n currentHistory.unshift(new GeneratedPasswordHistory(password, Date.now()));\r\n\r\n // Remove old items.\r\n if (currentHistory.length > MaxPasswordsInHistory) {\r\n currentHistory.pop();\r\n }\r\n\r\n const newHistory = await this.encryptHistory(currentHistory);\r\n return await this.storageService.save(Keys.history, newHistory);\r\n }\r\n\r\n async clear(): Promise {\r\n this.history = [];\r\n return await this.storageService.remove(Keys.history);\r\n }\r\n\r\n passwordStrength(password: string, userInputs: string[] = null): zxcvbn.ZXCVBNResult {\r\n if (password == null || password.length === 0) {\r\n return null;\r\n }\r\n let globalUserInputs = ['bitwarden', 'bit', 'warden'];\r\n if (userInputs != null && userInputs.length > 0) {\r\n globalUserInputs = globalUserInputs.concat(userInputs);\r\n }\r\n // Use a hash set to get rid of any duplicate user inputs\r\n const finalUserInputs = Array.from(new Set(globalUserInputs));\r\n const result = zxcvbn(password, finalUserInputs);\r\n return result;\r\n }\r\n\r\n normalizeOptions(options: any, enforcedPolicyOptions: PasswordGeneratorPolicyOptions) {\r\n options.minLowercase = 0;\r\n options.minUppercase = 0;\r\n\r\n if (!options.length || options.length < 5) {\r\n options.length = 5;\r\n } else if (options.length > 128) {\r\n options.length = 128;\r\n }\r\n\r\n if (options.length < enforcedPolicyOptions.minLength) {\r\n options.length = enforcedPolicyOptions.minLength;\r\n }\r\n\r\n if (!options.minNumber) {\r\n options.minNumber = 0;\r\n } else if (options.minNumber > options.length) {\r\n options.minNumber = options.length;\r\n } else if (options.minNumber > 9) {\r\n options.minNumber = 9;\r\n }\r\n\r\n if (options.minNumber < enforcedPolicyOptions.numberCount) {\r\n options.minNumber = enforcedPolicyOptions.numberCount;\r\n }\r\n\r\n if (!options.minSpecial) {\r\n options.minSpecial = 0;\r\n } else if (options.minSpecial > options.length) {\r\n options.minSpecial = options.length;\r\n } else if (options.minSpecial > 9) {\r\n options.minSpecial = 9;\r\n }\r\n\r\n if (options.minSpecial < enforcedPolicyOptions.specialCount) {\r\n options.minSpecial = enforcedPolicyOptions.specialCount;\r\n }\r\n\r\n if (options.minSpecial + options.minNumber > options.length) {\r\n options.minSpecial = options.length - options.minNumber;\r\n }\r\n\r\n if (options.numWords == null || options.length < 3) {\r\n options.numWords = 3;\r\n } else if (options.numWords > 20) {\r\n options.numWords = 20;\r\n }\r\n\r\n if (options.numWords < enforcedPolicyOptions.minNumberWords) {\r\n options.numWords = enforcedPolicyOptions.minNumberWords;\r\n }\r\n\r\n if (options.wordSeparator != null && options.wordSeparator.length > 1) {\r\n options.wordSeparator = options.wordSeparator[0];\r\n }\r\n\r\n this.sanitizePasswordLength(options, false);\r\n }\r\n\r\n private capitalize(str: string) {\r\n return str.charAt(0).toUpperCase() + str.slice(1);\r\n }\r\n\r\n private async appendRandomNumberToRandomWord(wordList: string[]) {\r\n if (wordList == null || wordList.length <= 0) {\r\n return;\r\n }\r\n const index = await this.cryptoService.randomNumber(0, wordList.length - 1);\r\n const num = await this.cryptoService.randomNumber(0, 9);\r\n wordList[index] = wordList[index] + num;\r\n }\r\n\r\n private async encryptHistory(history: GeneratedPasswordHistory[]): Promise {\r\n if (history == null || history.length === 0) {\r\n return Promise.resolve([]);\r\n }\r\n\r\n const promises = history.map(async (item) => {\r\n const encrypted = await this.cryptoService.encrypt(item.password);\r\n return new GeneratedPasswordHistory(encrypted.encryptedString, item.date);\r\n });\r\n\r\n return await Promise.all(promises);\r\n }\r\n\r\n private async decryptHistory(history: GeneratedPasswordHistory[]): Promise {\r\n if (history == null || history.length === 0) {\r\n return Promise.resolve([]);\r\n }\r\n\r\n const promises = history.map(async (item) => {\r\n const decrypted = await this.cryptoService.decryptToUtf8(new CipherString(item.password));\r\n return new GeneratedPasswordHistory(decrypted, item.date);\r\n });\r\n\r\n return await Promise.all(promises);\r\n }\r\n\r\n private matchesPrevious(password: string, history: GeneratedPasswordHistory[]): boolean {\r\n if (history == null || history.length === 0) {\r\n return false;\r\n }\r\n\r\n return history[history.length - 1].password === password;\r\n }\r\n\r\n // ref: https://stackoverflow.com/a/12646864/1090359\r\n private async shuffleArray(array: string[]) {\r\n for (let i = array.length - 1; i > 0; i--) {\r\n const j = await this.cryptoService.randomNumber(0, i);\r\n [array[i], array[j]] = [array[j], array[i]];\r\n }\r\n }\r\n\r\n private sanitizePasswordLength(options: any, forGeneration: boolean) {\r\n let minUppercaseCalc = 0;\r\n let minLowercaseCalc = 0;\r\n let minNumberCalc: number = options.minNumber;\r\n let minSpecialCalc: number = options.minSpecial;\r\n\r\n if (options.uppercase && options.minUppercase <= 0) {\r\n minUppercaseCalc = 1;\r\n } else if (!options.uppercase) {\r\n minUppercaseCalc = 0;\r\n }\r\n\r\n if (options.lowercase && options.minLowercase <= 0) {\r\n minLowercaseCalc = 1;\r\n } else if (!options.lowercase) {\r\n minLowercaseCalc = 0;\r\n }\r\n\r\n if (options.number && options.minNumber <= 0) {\r\n minNumberCalc = 1;\r\n } else if (!options.number) {\r\n minNumberCalc = 0;\r\n }\r\n\r\n if (options.special && options.minSpecial <= 0) {\r\n minSpecialCalc = 1;\r\n } else if (!options.special) {\r\n minSpecialCalc = 0;\r\n }\r\n\r\n // This should never happen but is a final safety net\r\n if (!options.length || options.length < 1) {\r\n options.length = 10;\r\n }\r\n\r\n const minLength: number = minUppercaseCalc + minLowercaseCalc + minNumberCalc + minSpecialCalc;\r\n // Normalize and Generation both require this modification\r\n if (options.length < minLength) {\r\n options.length = minLength;\r\n }\r\n\r\n // Apply other changes if the options object passed in is for generation\r\n if (forGeneration) {\r\n options.minUppercase = minUppercaseCalc;\r\n options.minLowercase = minLowercaseCalc;\r\n options.minNumber = minNumberCalc;\r\n options.minSpecial = minSpecialCalc;\r\n }\r\n }\r\n}\r\n","import { SettingsService as SettingsServiceAbstraction } from '../abstractions/settings.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\n\r\nconst Keys = {\r\n settingsPrefix: 'settings_',\r\n equivalentDomains: 'equivalentDomains',\r\n};\r\n\r\nexport class SettingsService implements SettingsServiceAbstraction {\r\n private settingsCache: any;\r\n\r\n constructor(private userService: UserService, private storageService: StorageService) {\r\n }\r\n\r\n clearCache(): void {\r\n this.settingsCache = null;\r\n }\r\n\r\n getEquivalentDomains(): Promise {\r\n return this.getSettingsKey(Keys.equivalentDomains);\r\n }\r\n\r\n async setEquivalentDomains(equivalentDomains: string[][]): Promise {\r\n await this.setSettingsKey(Keys.equivalentDomains, equivalentDomains);\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.settingsPrefix + userId);\r\n this.clearCache();\r\n }\r\n\r\n // Helpers\r\n\r\n private async getSettings(): Promise {\r\n if (this.settingsCache == null) {\r\n const userId = await this.userService.getUserId();\r\n this.settingsCache = this.storageService.get(Keys.settingsPrefix + userId);\r\n }\r\n return this.settingsCache;\r\n }\r\n\r\n private async getSettingsKey(key: string): Promise {\r\n const settings = await this.getSettings();\r\n if (settings != null && settings[key]) {\r\n return settings[key];\r\n }\r\n return null;\r\n }\r\n\r\n private async setSettingsKey(key: string, value: any): Promise {\r\n const userId = await this.userService.getUserId();\r\n let settings = await this.getSettings();\r\n if (!settings) {\r\n settings = {};\r\n }\r\n\r\n settings[key] = value;\r\n await this.storageService.save(Keys.settingsPrefix + userId, settings);\r\n this.settingsCache = settings;\r\n }\r\n}\r\n","import { StateService as StateServiceAbstraction } from '../abstractions/state.service';\r\n\r\nexport class StateService implements StateServiceAbstraction {\r\n private state: any = {};\r\n\r\n get(key: string): Promise {\r\n if (this.state.hasOwnProperty(key)) {\r\n return Promise.resolve(this.state[key]);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n save(key: string, obj: any): Promise {\r\n this.state[key] = obj;\r\n return Promise.resolve();\r\n }\r\n\r\n remove(key: string): Promise {\r\n delete this.state[key];\r\n return Promise.resolve();\r\n }\r\n\r\n purge(): Promise {\r\n this.state = {};\r\n return Promise.resolve();\r\n }\r\n}\r\n","import { ApiService } from '../abstractions/api.service';\r\nimport { CipherService } from '../abstractions/cipher.service';\r\nimport { CollectionService } from '../abstractions/collection.service';\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport { FolderService } from '../abstractions/folder.service';\r\nimport { MessagingService } from '../abstractions/messaging.service';\r\nimport { PolicyService } from '../abstractions/policy.service';\r\nimport { SendService } from '../abstractions/send.service';\r\nimport { SettingsService } from '../abstractions/settings.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { SyncService as SyncServiceAbstraction } from '../abstractions/sync.service';\r\nimport { UserService } from '../abstractions/user.service';\r\n\r\nimport { CipherData } from '../models/data/cipherData';\r\nimport { CollectionData } from '../models/data/collectionData';\r\nimport { FolderData } from '../models/data/folderData';\r\nimport { OrganizationData } from '../models/data/organizationData';\r\nimport { PolicyData } from '../models/data/policyData';\r\nimport { SendData } from '../models/data/sendData';\r\n\r\nimport { CipherResponse } from '../models/response/cipherResponse';\r\nimport { CollectionDetailsResponse } from '../models/response/collectionResponse';\r\nimport { DomainsResponse } from '../models/response/domainsResponse';\r\nimport { FolderResponse } from '../models/response/folderResponse';\r\nimport {\r\n SyncCipherNotification,\r\n SyncFolderNotification,\r\n} from '../models/response/notificationResponse';\r\nimport { PolicyResponse } from '../models/response/policyResponse';\r\nimport { ProfileResponse } from '../models/response/profileResponse';\r\nimport { SendResponse } from '../models/response/sendResponse';\r\n\r\nconst Keys = {\r\n lastSyncPrefix: 'lastSync_',\r\n};\r\n\r\nexport class SyncService implements SyncServiceAbstraction {\r\n syncInProgress: boolean = false;\r\n\r\n constructor(private userService: UserService, private apiService: ApiService,\r\n private settingsService: SettingsService, private folderService: FolderService,\r\n private cipherService: CipherService, private cryptoService: CryptoService,\r\n private collectionService: CollectionService, private storageService: StorageService,\r\n private messagingService: MessagingService, private policyService: PolicyService,\r\n private sendService: SendService, private logoutCallback: (expired: boolean) => Promise) {\r\n }\r\n\r\n async getLastSync(): Promise {\r\n const userId = await this.userService.getUserId();\r\n if (userId == null) {\r\n return null;\r\n }\r\n\r\n const lastSync = await this.storageService.get(Keys.lastSyncPrefix + userId);\r\n if (lastSync) {\r\n return new Date(lastSync);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n async setLastSync(date: Date): Promise {\r\n const userId = await this.userService.getUserId();\r\n if (userId == null) {\r\n return;\r\n }\r\n\r\n await this.storageService.save(Keys.lastSyncPrefix + userId, date.toJSON());\r\n }\r\n\r\n async fullSync(forceSync: boolean, allowThrowOnError = false): Promise {\r\n this.syncStarted();\r\n const isAuthenticated = await this.userService.isAuthenticated();\r\n if (!isAuthenticated) {\r\n return this.syncCompleted(false);\r\n }\r\n\r\n const now = new Date();\r\n let needsSync = false;\r\n try {\r\n needsSync = await this.needsSyncing(forceSync);\r\n } catch (e) {\r\n if (allowThrowOnError) {\r\n throw e;\r\n }\r\n }\r\n\r\n if (!needsSync) {\r\n await this.setLastSync(now);\r\n return this.syncCompleted(false);\r\n }\r\n\r\n const userId = await this.userService.getUserId();\r\n try {\r\n const response = await this.apiService.getSync();\r\n\r\n await this.syncProfile(response.profile);\r\n await this.syncFolders(userId, response.folders);\r\n await this.syncCollections(response.collections);\r\n await this.syncCiphers(userId, response.ciphers);\r\n await this.syncSends(userId, response.sends);\r\n await this.syncSettings(userId, response.domains);\r\n await this.syncPolicies(response.policies);\r\n\r\n await this.setLastSync(now);\r\n return this.syncCompleted(true);\r\n } catch (e) {\r\n if (allowThrowOnError) {\r\n throw e;\r\n } else {\r\n return this.syncCompleted(false);\r\n }\r\n }\r\n }\r\n\r\n async syncUpsertFolder(notification: SyncFolderNotification, isEdit: boolean): Promise {\r\n this.syncStarted();\r\n if (await this.userService.isAuthenticated()) {\r\n try {\r\n const localFolder = await this.folderService.get(notification.id);\r\n if ((!isEdit && localFolder == null) ||\r\n (isEdit && localFolder != null && localFolder.revisionDate < notification.revisionDate)) {\r\n const remoteFolder = await this.apiService.getFolder(notification.id);\r\n if (remoteFolder != null) {\r\n const userId = await this.userService.getUserId();\r\n await this.folderService.upsert(new FolderData(remoteFolder, userId));\r\n this.messagingService.send('syncedUpsertedFolder', { folderId: notification.id });\r\n return this.syncCompleted(true);\r\n }\r\n }\r\n } catch { }\r\n }\r\n return this.syncCompleted(false);\r\n }\r\n\r\n async syncDeleteFolder(notification: SyncFolderNotification): Promise {\r\n this.syncStarted();\r\n if (await this.userService.isAuthenticated()) {\r\n await this.folderService.delete(notification.id);\r\n this.messagingService.send('syncedDeletedFolder', { folderId: notification.id });\r\n this.syncCompleted(true);\r\n return true;\r\n }\r\n return this.syncCompleted(false);\r\n }\r\n\r\n async syncUpsertCipher(notification: SyncCipherNotification, isEdit: boolean): Promise {\r\n this.syncStarted();\r\n if (await this.userService.isAuthenticated()) {\r\n try {\r\n let shouldUpdate = true;\r\n const localCipher = await this.cipherService.get(notification.id);\r\n if (localCipher != null && localCipher.revisionDate >= notification.revisionDate) {\r\n shouldUpdate = false;\r\n }\r\n\r\n let checkCollections = false;\r\n if (shouldUpdate) {\r\n if (isEdit) {\r\n shouldUpdate = localCipher != null;\r\n checkCollections = true;\r\n } else {\r\n if (notification.collectionIds == null || notification.organizationId == null) {\r\n shouldUpdate = localCipher == null;\r\n } else {\r\n shouldUpdate = false;\r\n checkCollections = true;\r\n }\r\n }\r\n }\r\n\r\n if (!shouldUpdate && checkCollections && notification.organizationId != null &&\r\n notification.collectionIds != null && notification.collectionIds.length > 0) {\r\n const collections = await this.collectionService.getAll();\r\n if (collections != null) {\r\n for (let i = 0; i < collections.length; i++) {\r\n if (notification.collectionIds.indexOf(collections[i].id) > -1) {\r\n shouldUpdate = true;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (shouldUpdate) {\r\n const remoteCipher = await this.apiService.getCipher(notification.id);\r\n if (remoteCipher != null) {\r\n const userId = await this.userService.getUserId();\r\n await this.cipherService.upsert(new CipherData(remoteCipher, userId));\r\n this.messagingService.send('syncedUpsertedCipher', { cipherId: notification.id });\r\n return this.syncCompleted(true);\r\n }\r\n }\r\n } catch (e) {\r\n if (e != null && e.statusCode === 404 && isEdit) {\r\n await this.cipherService.delete(notification.id);\r\n this.messagingService.send('syncedDeletedCipher', { cipherId: notification.id });\r\n return this.syncCompleted(true);\r\n }\r\n }\r\n }\r\n return this.syncCompleted(false);\r\n }\r\n\r\n async syncDeleteCipher(notification: SyncCipherNotification): Promise {\r\n this.syncStarted();\r\n if (await this.userService.isAuthenticated()) {\r\n await this.cipherService.delete(notification.id);\r\n this.messagingService.send('syncedDeletedCipher', { cipherId: notification.id });\r\n return this.syncCompleted(true);\r\n }\r\n return this.syncCompleted(false);\r\n }\r\n\r\n // Helpers\r\n\r\n private syncStarted() {\r\n this.syncInProgress = true;\r\n this.messagingService.send('syncStarted');\r\n }\r\n\r\n private syncCompleted(successfully: boolean): boolean {\r\n this.syncInProgress = false;\r\n this.messagingService.send('syncCompleted', { successfully: successfully });\r\n return successfully;\r\n }\r\n\r\n private async needsSyncing(forceSync: boolean) {\r\n if (forceSync) {\r\n return true;\r\n }\r\n\r\n const lastSync = await this.getLastSync();\r\n if (lastSync == null || lastSync.getTime() === 0) {\r\n return true;\r\n }\r\n\r\n const response = await this.apiService.getAccountRevisionDate();\r\n if (new Date(response) <= lastSync) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n private async syncProfile(response: ProfileResponse) {\r\n const stamp = await this.userService.getSecurityStamp();\r\n if (stamp != null && stamp !== response.securityStamp) {\r\n if (this.logoutCallback != null) {\r\n await this.logoutCallback(true);\r\n }\r\n\r\n throw new Error('Stamp has changed');\r\n }\r\n\r\n await this.cryptoService.setEncKey(response.key);\r\n await this.cryptoService.setEncPrivateKey(response.privateKey);\r\n await this.cryptoService.setOrgKeys(response.organizations);\r\n await this.userService.setSecurityStamp(response.securityStamp);\r\n\r\n const organizations: { [id: string]: OrganizationData; } = {};\r\n response.organizations.forEach((o) => {\r\n organizations[o.id] = new OrganizationData(o);\r\n });\r\n return await this.userService.replaceOrganizations(organizations);\r\n }\r\n\r\n private async syncFolders(userId: string, response: FolderResponse[]) {\r\n const folders: { [id: string]: FolderData; } = {};\r\n response.forEach((f) => {\r\n folders[f.id] = new FolderData(f, userId);\r\n });\r\n return await this.folderService.replace(folders);\r\n }\r\n\r\n private async syncCollections(response: CollectionDetailsResponse[]) {\r\n const collections: { [id: string]: CollectionData; } = {};\r\n response.forEach((c) => {\r\n collections[c.id] = new CollectionData(c);\r\n });\r\n return await this.collectionService.replace(collections);\r\n }\r\n\r\n private async syncCiphers(userId: string, response: CipherResponse[]) {\r\n const ciphers: { [id: string]: CipherData; } = {};\r\n response.forEach((c) => {\r\n ciphers[c.id] = new CipherData(c, userId);\r\n });\r\n return await this.cipherService.replace(ciphers);\r\n }\r\n\r\n private async syncSends(userId: string, response: SendResponse[]) {\r\n const sends: { [id: string]: SendData; } = {};\r\n response.forEach((s) => {\r\n sends[s.id] = new SendData(s, userId);\r\n });\r\n return await this.sendService.replace(sends);\r\n }\r\n\r\n private async syncSettings(userId: string, response: DomainsResponse) {\r\n let eqDomains: string[][] = [];\r\n if (response != null && response.equivalentDomains != null) {\r\n eqDomains = eqDomains.concat(response.equivalentDomains);\r\n }\r\n\r\n if (response != null && response.globalEquivalentDomains != null) {\r\n response.globalEquivalentDomains.forEach((global) => {\r\n if (global.domains.length > 0) {\r\n eqDomains.push(global.domains);\r\n }\r\n });\r\n }\r\n\r\n return this.settingsService.setEquivalentDomains(eqDomains);\r\n }\r\n\r\n private async syncPolicies(response: PolicyResponse[]) {\r\n const policies: { [id: string]: PolicyData; } = {};\r\n if (response != null) {\r\n response.forEach((p) => {\r\n policies[p.id] = new PolicyData(p);\r\n });\r\n }\r\n return await this.policyService.replace(policies);\r\n }\r\n}\r\n","import { ConstantsService } from './constants.service';\r\n\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { TokenService as TokenServiceAbstraction } from '../abstractions/token.service';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst Keys = {\r\n accessToken: 'accessToken',\r\n refreshToken: 'refreshToken',\r\n twoFactorTokenPrefix: 'twoFactorToken_',\r\n};\r\n\r\nexport class TokenService implements TokenServiceAbstraction {\r\n token: string;\r\n decodedToken: any;\r\n refreshToken: string;\r\n\r\n constructor(private storageService: StorageService) {\r\n }\r\n\r\n setTokens(accessToken: string, refreshToken: string): Promise {\r\n return Promise.all([\r\n this.setToken(accessToken),\r\n this.setRefreshToken(refreshToken),\r\n ]);\r\n }\r\n\r\n async setToken(token: string): Promise {\r\n this.token = token;\r\n this.decodedToken = null;\r\n\r\n if (await this.skipTokenStorage()) {\r\n // if we have a vault timeout and the action is log out, don't store token\r\n return;\r\n }\r\n\r\n return this.storageService.save(Keys.accessToken, token);\r\n }\r\n\r\n async getToken(): Promise {\r\n if (this.token != null) {\r\n return this.token;\r\n }\r\n\r\n this.token = await this.storageService.get(Keys.accessToken);\r\n return this.token;\r\n }\r\n\r\n async setRefreshToken(refreshToken: string): Promise {\r\n this.refreshToken = refreshToken;\r\n\r\n if (await this.skipTokenStorage()) {\r\n // if we have a vault timeout and the action is log out, don't store token\r\n return;\r\n }\r\n\r\n return this.storageService.save(Keys.refreshToken, refreshToken);\r\n }\r\n\r\n async getRefreshToken(): Promise {\r\n if (this.refreshToken != null) {\r\n return this.refreshToken;\r\n }\r\n\r\n this.refreshToken = await this.storageService.get(Keys.refreshToken);\r\n return this.refreshToken;\r\n }\r\n\r\n async toggleTokens(): Promise {\r\n const token = await this.getToken();\r\n const refreshToken = await this.getRefreshToken();\r\n const timeout = await this.storageService.get(ConstantsService.vaultTimeoutKey);\r\n const action = await this.storageService.get(ConstantsService.vaultTimeoutActionKey);\r\n if ((timeout != null || timeout === 0) && action === 'logOut') {\r\n // if we have a vault timeout and the action is log out, reset tokens\r\n await this.clearToken();\r\n this.token = token;\r\n this.refreshToken = refreshToken;\r\n return;\r\n }\r\n\r\n await this.setToken(token);\r\n await this.setRefreshToken(refreshToken);\r\n }\r\n\r\n setTwoFactorToken(token: string, email: string): Promise {\r\n return this.storageService.save(Keys.twoFactorTokenPrefix + email, token);\r\n }\r\n\r\n getTwoFactorToken(email: string): Promise {\r\n return this.storageService.get(Keys.twoFactorTokenPrefix + email);\r\n }\r\n\r\n clearTwoFactorToken(email: string): Promise {\r\n return this.storageService.remove(Keys.twoFactorTokenPrefix + email);\r\n }\r\n\r\n clearToken(): Promise {\r\n this.token = null;\r\n this.decodedToken = null;\r\n this.refreshToken = null;\r\n\r\n return Promise.all([\r\n this.storageService.remove(Keys.accessToken),\r\n this.storageService.remove(Keys.refreshToken),\r\n ]);\r\n }\r\n\r\n // jwthelper methods\r\n // ref https://github.com/auth0/angular-jwt/blob/master/src/angularJwt/services/jwt.js\r\n\r\n decodeToken(): any {\r\n if (this.decodedToken) {\r\n return this.decodedToken;\r\n }\r\n\r\n if (this.token == null) {\r\n throw new Error('Token not found.');\r\n }\r\n\r\n const parts = this.token.split('.');\r\n if (parts.length !== 3) {\r\n throw new Error('JWT must have 3 parts');\r\n }\r\n\r\n const decoded = Utils.fromUrlB64ToUtf8(parts[1]);\r\n if (decoded == null) {\r\n throw new Error('Cannot decode the token');\r\n }\r\n\r\n this.decodedToken = JSON.parse(decoded);\r\n return this.decodedToken;\r\n }\r\n\r\n getTokenExpirationDate(): Date {\r\n const decoded = this.decodeToken();\r\n if (typeof decoded.exp === 'undefined') {\r\n return null;\r\n }\r\n\r\n const d = new Date(0); // The 0 here is the key, which sets the date to the epoch\r\n d.setUTCSeconds(decoded.exp);\r\n return d;\r\n }\r\n\r\n tokenSecondsRemaining(offsetSeconds: number = 0): number {\r\n const d = this.getTokenExpirationDate();\r\n if (d == null) {\r\n return 0;\r\n }\r\n\r\n const msRemaining = d.valueOf() - (new Date().valueOf() + (offsetSeconds * 1000));\r\n return Math.round(msRemaining / 1000);\r\n }\r\n\r\n tokenNeedsRefresh(minutes: number = 5): boolean {\r\n const sRemaining = this.tokenSecondsRemaining();\r\n return sRemaining < (60 * minutes);\r\n }\r\n\r\n getUserId(): string {\r\n const decoded = this.decodeToken();\r\n if (typeof decoded.sub === 'undefined') {\r\n throw new Error('No user id found');\r\n }\r\n\r\n return decoded.sub as string;\r\n }\r\n\r\n getEmail(): string {\r\n const decoded = this.decodeToken();\r\n if (typeof decoded.email === 'undefined') {\r\n throw new Error('No email found');\r\n }\r\n\r\n return decoded.email as string;\r\n }\r\n\r\n getEmailVerified(): boolean {\r\n const decoded = this.decodeToken();\r\n if (typeof decoded.email_verified === 'undefined') {\r\n throw new Error('No email verification found');\r\n }\r\n\r\n return decoded.email_verified as boolean;\r\n }\r\n\r\n getName(): string {\r\n const decoded = this.decodeToken();\r\n if (typeof decoded.name === 'undefined') {\r\n return null;\r\n }\r\n\r\n return decoded.name as string;\r\n }\r\n\r\n getPremium(): boolean {\r\n const decoded = this.decodeToken();\r\n if (typeof decoded.premium === 'undefined') {\r\n return false;\r\n }\r\n\r\n return decoded.premium as boolean;\r\n }\r\n\r\n getIssuer(): string {\r\n const decoded = this.decodeToken();\r\n if (typeof decoded.iss === 'undefined') {\r\n throw new Error('No issuer found');\r\n }\r\n\r\n return decoded.iss as string;\r\n }\r\n\r\n private async skipTokenStorage(): Promise {\r\n const timeout = await this.storageService.get(ConstantsService.vaultTimeoutKey);\r\n const action = await this.storageService.get(ConstantsService.vaultTimeoutActionKey);\r\n return timeout != null && action === 'logOut';\r\n }\r\n}\r\n","import { ConstantsService } from './constants.service';\r\n\r\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { TotpService as TotpServiceAbstraction } from '../abstractions/totp.service';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst B32Chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567';\r\nconst SteamChars = '23456789BCDFGHJKMNPQRTVWXY';\r\n\r\nexport class TotpService implements TotpServiceAbstraction {\r\n constructor(private storageService: StorageService, private cryptoFunctionService: CryptoFunctionService) { }\r\n\r\n async getCode(key: string): Promise {\r\n if (key == null) {\r\n return null;\r\n }\r\n let period = 30;\r\n let alg: 'sha1' | 'sha256' | 'sha512' = 'sha1';\r\n let digits = 6;\r\n let keyB32 = key;\r\n const isOtpAuth = key.toLowerCase().indexOf('otpauth://') === 0;\r\n const isSteamAuth = !isOtpAuth && key.toLowerCase().indexOf('steam://') === 0;\r\n if (isOtpAuth) {\r\n const params = Utils.getQueryParams(key);\r\n if (params.has('digits') && params.get('digits') != null) {\r\n try {\r\n const digitParams = parseInt(params.get('digits').trim(), null);\r\n if (digitParams > 10) {\r\n digits = 10;\r\n } else if (digitParams > 0) {\r\n digits = digitParams;\r\n }\r\n } catch { }\r\n }\r\n if (params.has('period') && params.get('period') != null) {\r\n try {\r\n const periodParam = parseInt(params.get('period').trim(), null);\r\n if (periodParam > 0) {\r\n period = periodParam;\r\n }\r\n } catch { }\r\n }\r\n if (params.has('secret') && params.get('secret') != null) {\r\n keyB32 = params.get('secret');\r\n }\r\n if (params.has('algorithm') && params.get('algorithm') != null) {\r\n const algParam = params.get('algorithm').toLowerCase();\r\n if (algParam === 'sha1' || algParam === 'sha256' || algParam === 'sha512') {\r\n alg = algParam;\r\n }\r\n }\r\n } else if (isSteamAuth) {\r\n keyB32 = key.substr('steam://'.length);\r\n digits = 5;\r\n }\r\n\r\n const epoch = Math.round(new Date().getTime() / 1000.0);\r\n const timeHex = this.leftPad(this.decToHex(Math.floor(epoch / period)), 16, '0');\r\n const timeBytes = Utils.fromHexToArray(timeHex);\r\n const keyBytes = this.b32ToBytes(keyB32);\r\n\r\n if (!keyBytes.length || !timeBytes.length) {\r\n return null;\r\n }\r\n\r\n const hash = await this.sign(keyBytes, timeBytes, alg);\r\n if (hash.length === 0) {\r\n return null;\r\n }\r\n\r\n /* tslint:disable */\r\n const offset = (hash[hash.length - 1] & 0xf);\r\n const binary = ((hash[offset] & 0x7f) << 24) | ((hash[offset + 1] & 0xff) << 16) |\r\n ((hash[offset + 2] & 0xff) << 8) | (hash[offset + 3] & 0xff);\r\n /* tslint:enable */\r\n\r\n let otp = '';\r\n if (isSteamAuth) {\r\n // tslint:disable-next-line\r\n let fullCode = binary & 0x7fffffff;\r\n for (let i = 0; i < digits; i++) {\r\n otp += SteamChars[fullCode % SteamChars.length];\r\n fullCode = Math.trunc(fullCode / SteamChars.length);\r\n }\r\n } else {\r\n otp = (binary % Math.pow(10, digits)).toString();\r\n otp = this.leftPad(otp, digits, '0');\r\n }\r\n\r\n return otp;\r\n }\r\n\r\n getTimeInterval(key: string): number {\r\n let period = 30;\r\n if (key != null && key.toLowerCase().indexOf('otpauth://') === 0) {\r\n const params = Utils.getQueryParams(key);\r\n if (params.has('period') && params.get('period') != null) {\r\n try {\r\n period = parseInt(params.get('period').trim(), null);\r\n } catch { }\r\n }\r\n }\r\n return period;\r\n }\r\n\r\n async isAutoCopyEnabled(): Promise {\r\n return !(await this.storageService.get(ConstantsService.disableAutoTotpCopyKey));\r\n }\r\n\r\n // Helpers\r\n\r\n private leftPad(s: string, l: number, p: string): string {\r\n if (l + 1 >= s.length) {\r\n s = Array(l + 1 - s.length).join(p) + s;\r\n }\r\n return s;\r\n }\r\n\r\n private decToHex(d: number): string {\r\n return (d < 15.5 ? '0' : '') + Math.round(d).toString(16);\r\n }\r\n\r\n private b32ToHex(s: string): string {\r\n s = s.toUpperCase();\r\n let cleanedInput = '';\r\n\r\n for (let i = 0; i < s.length; i++) {\r\n if (B32Chars.indexOf(s[i]) < 0) {\r\n continue;\r\n }\r\n\r\n cleanedInput += s[i];\r\n }\r\n s = cleanedInput;\r\n\r\n let bits = '';\r\n let hex = '';\r\n for (let i = 0; i < s.length; i++) {\r\n const byteIndex = B32Chars.indexOf(s.charAt(i));\r\n if (byteIndex < 0) {\r\n continue;\r\n }\r\n bits += this.leftPad(byteIndex.toString(2), 5, '0');\r\n }\r\n for (let i = 0; i + 4 <= bits.length; i += 4) {\r\n const chunk = bits.substr(i, 4);\r\n hex = hex + parseInt(chunk, 2).toString(16);\r\n }\r\n return hex;\r\n }\r\n\r\n private b32ToBytes(s: string): Uint8Array {\r\n return Utils.fromHexToArray(this.b32ToHex(s));\r\n }\r\n\r\n private async sign(keyBytes: Uint8Array, timeBytes: Uint8Array, alg: 'sha1' | 'sha256' | 'sha512') {\r\n const signature = await this.cryptoFunctionService.hmac(timeBytes.buffer, keyBytes.buffer, alg);\r\n return new Uint8Array(signature);\r\n }\r\n}\r\n","import { StorageService } from '../abstractions/storage.service';\r\nimport { TokenService } from '../abstractions/token.service';\r\nimport { UserService as UserServiceAbstraction } from '../abstractions/user.service';\r\n\r\nimport { OrganizationData } from '../models/data/organizationData';\r\nimport { Organization } from '../models/domain/organization';\r\n\r\nimport { KdfType } from '../enums/kdfType';\r\n\r\nconst Keys = {\r\n userId: 'userId',\r\n userEmail: 'userEmail',\r\n stamp: 'securityStamp',\r\n kdf: 'kdf',\r\n kdfIterations: 'kdfIterations',\r\n organizationsPrefix: 'organizations_',\r\n};\r\n\r\nexport class UserService implements UserServiceAbstraction {\r\n private userId: string;\r\n private email: string;\r\n private stamp: string;\r\n private kdf: KdfType;\r\n private kdfIterations: number;\r\n\r\n constructor(private tokenService: TokenService, private storageService: StorageService) { }\r\n\r\n setInformation(userId: string, email: string, kdf: KdfType, kdfIterations: number): Promise {\r\n this.email = email;\r\n this.userId = userId;\r\n this.kdf = kdf;\r\n this.kdfIterations = kdfIterations;\r\n\r\n return Promise.all([\r\n this.storageService.save(Keys.userEmail, email),\r\n this.storageService.save(Keys.userId, userId),\r\n this.storageService.save(Keys.kdf, kdf),\r\n this.storageService.save(Keys.kdfIterations, kdfIterations),\r\n ]);\r\n }\r\n\r\n setSecurityStamp(stamp: string): Promise {\r\n this.stamp = stamp;\r\n return this.storageService.save(Keys.stamp, stamp);\r\n }\r\n\r\n async getUserId(): Promise {\r\n if (this.userId == null) {\r\n this.userId = await this.storageService.get(Keys.userId);\r\n }\r\n return this.userId;\r\n }\r\n\r\n async getEmail(): Promise {\r\n if (this.email == null) {\r\n this.email = await this.storageService.get(Keys.userEmail);\r\n }\r\n return this.email;\r\n }\r\n\r\n async getSecurityStamp(): Promise {\r\n if (this.stamp == null) {\r\n this.stamp = await this.storageService.get(Keys.stamp);\r\n }\r\n return this.stamp;\r\n }\r\n\r\n async getKdf(): Promise {\r\n if (this.kdf == null) {\r\n this.kdf = await this.storageService.get(Keys.kdf);\r\n }\r\n return this.kdf;\r\n }\r\n\r\n async getKdfIterations(): Promise {\r\n if (this.kdfIterations == null) {\r\n this.kdfIterations = await this.storageService.get(Keys.kdfIterations);\r\n }\r\n return this.kdfIterations;\r\n }\r\n\r\n async clear(): Promise {\r\n const userId = await this.getUserId();\r\n\r\n await Promise.all([\r\n this.storageService.remove(Keys.userId),\r\n this.storageService.remove(Keys.userEmail),\r\n this.storageService.remove(Keys.stamp),\r\n this.storageService.remove(Keys.kdf),\r\n this.storageService.remove(Keys.kdfIterations),\r\n this.clearOrganizations(userId),\r\n ]);\r\n\r\n this.userId = this.email = this.stamp = null;\r\n this.kdf = null;\r\n this.kdfIterations = null;\r\n }\r\n\r\n async isAuthenticated(): Promise {\r\n const token = await this.tokenService.getToken();\r\n if (token == null) {\r\n return false;\r\n }\r\n\r\n const userId = await this.getUserId();\r\n return userId != null;\r\n }\r\n\r\n async canAccessPremium(): Promise {\r\n const authed = await this.isAuthenticated();\r\n if (!authed) {\r\n return false;\r\n }\r\n\r\n const tokenPremium = this.tokenService.getPremium();\r\n if (tokenPremium) {\r\n return true;\r\n }\r\n\r\n const orgs = await this.getAllOrganizations();\r\n for (let i = 0; i < orgs.length; i++) {\r\n if (orgs[i].usersGetPremium && orgs[i].enabled) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n async getOrganization(id: string): Promise {\r\n const userId = await this.getUserId();\r\n const organizations = await this.storageService.get<{ [id: string]: OrganizationData; }>(\r\n Keys.organizationsPrefix + userId);\r\n if (organizations == null || !organizations.hasOwnProperty(id)) {\r\n return null;\r\n }\r\n\r\n return new Organization(organizations[id]);\r\n }\r\n\r\n async getAllOrganizations(): Promise {\r\n const userId = await this.getUserId();\r\n const organizations = await this.storageService.get<{ [id: string]: OrganizationData; }>(\r\n Keys.organizationsPrefix + userId);\r\n const response: Organization[] = [];\r\n for (const id in organizations) {\r\n if (organizations.hasOwnProperty(id)) {\r\n response.push(new Organization(organizations[id]));\r\n }\r\n }\r\n return response;\r\n }\r\n\r\n async replaceOrganizations(organizations: { [id: string]: OrganizationData; }): Promise {\r\n const userId = await this.getUserId();\r\n await this.storageService.save(Keys.organizationsPrefix + userId, organizations);\r\n }\r\n\r\n async clearOrganizations(userId: string): Promise {\r\n await this.storageService.remove(Keys.organizationsPrefix + userId);\r\n }\r\n}\r\n","import { ConstantsService } from './constants.service';\r\n\r\nimport { CipherService } from '../abstractions/cipher.service';\r\nimport { CollectionService } from '../abstractions/collection.service';\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport { FolderService } from '../abstractions/folder.service';\r\nimport { MessagingService } from '../abstractions/messaging.service';\r\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\r\nimport { SearchService } from '../abstractions/search.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { TokenService } from '../abstractions/token.service';\r\nimport { UserService } from '../abstractions/user.service';\r\nimport { VaultTimeoutService as VaultTimeoutServiceAbstraction } from '../abstractions/vaultTimeout.service';\r\n\r\nimport { CipherString } from '../models/domain/cipherString';\r\n\r\nexport class VaultTimeoutService implements VaultTimeoutServiceAbstraction {\r\n pinProtectedKey: CipherString = null;\r\n biometricLocked: boolean = true;\r\n\r\n private inited = false;\r\n\r\n constructor(private cipherService: CipherService, private folderService: FolderService,\r\n private collectionService: CollectionService, private cryptoService: CryptoService,\r\n private platformUtilsService: PlatformUtilsService, private storageService: StorageService,\r\n private messagingService: MessagingService, private searchService: SearchService,\r\n private userService: UserService, private tokenService: TokenService,\r\n private lockedCallback: () => Promise = null, private loggedOutCallback: () => Promise = null) {\r\n }\r\n\r\n init(checkOnInterval: boolean) {\r\n if (this.inited) {\r\n return;\r\n }\r\n\r\n this.inited = true;\r\n if (checkOnInterval) {\r\n this.checkVaultTimeout();\r\n setInterval(() => this.checkVaultTimeout(), 10 * 1000); // check every 10 seconds\r\n }\r\n }\r\n\r\n // Keys aren't stored for a device that is locked or logged out.\r\n async isLocked(): Promise {\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (hasKey) {\r\n if (await this.isBiometricLockSet() && this.biometricLocked) {\r\n return true;\r\n }\r\n }\r\n return !hasKey;\r\n }\r\n\r\n async checkVaultTimeout(): Promise {\r\n if (await this.platformUtilsService.isViewOpen()) {\r\n // Do not lock\r\n return;\r\n }\r\n\r\n // \"is logged out check\" - similar to isLocked, below\r\n const authed = await this.userService.isAuthenticated();\r\n if (!authed) {\r\n return;\r\n }\r\n\r\n if (await this.isLocked()) {\r\n return;\r\n }\r\n\r\n // This has the potential to be removed. Evaluate after all platforms complete with auto-logout\r\n let vaultTimeout = this.platformUtilsService.lockTimeout();\r\n if (vaultTimeout == null) {\r\n vaultTimeout = await this.storageService.get(ConstantsService.vaultTimeoutKey);\r\n }\r\n\r\n if (vaultTimeout == null || vaultTimeout < 0) {\r\n return;\r\n }\r\n\r\n const lastActive = await this.storageService.get(ConstantsService.lastActiveKey);\r\n if (lastActive == null) {\r\n return;\r\n }\r\n\r\n const vaultTimeoutSeconds = vaultTimeout * 60;\r\n const diffSeconds = ((new Date()).getTime() - lastActive) / 1000;\r\n if (diffSeconds >= vaultTimeoutSeconds) {\r\n // Pivot based on the saved vault timeout action\r\n const timeoutAction = await this.storageService.get(ConstantsService.vaultTimeoutActionKey);\r\n timeoutAction === 'logOut' ? await this.logOut() : await this.lock(true);\r\n }\r\n }\r\n\r\n async lock(allowSoftLock = false): Promise {\r\n const authed = await this.userService.isAuthenticated();\r\n if (!authed) {\r\n return;\r\n }\r\n\r\n this.biometricLocked = true;\r\n if (allowSoftLock) {\r\n const biometricLocked = await this.isBiometricLockSet();\r\n if (biometricLocked && this.platformUtilsService.supportsSecureStorage()) {\r\n this.messagingService.send('locked');\r\n if (this.lockedCallback != null) {\r\n await this.lockedCallback();\r\n }\r\n return;\r\n }\r\n }\r\n\r\n await Promise.all([\r\n this.cryptoService.clearKey(),\r\n this.cryptoService.clearOrgKeys(true),\r\n this.cryptoService.clearKeyPair(true),\r\n this.cryptoService.clearEncKey(true),\r\n ]);\r\n\r\n this.folderService.clearCache();\r\n this.cipherService.clearCache();\r\n this.collectionService.clearCache();\r\n this.searchService.clearIndex();\r\n this.messagingService.send('locked');\r\n if (this.lockedCallback != null) {\r\n await this.lockedCallback();\r\n }\r\n }\r\n\r\n async logOut(): Promise {\r\n if (this.loggedOutCallback != null) {\r\n await this.loggedOutCallback();\r\n }\r\n }\r\n\r\n async setVaultTimeoutOptions(timeout: number, action: string): Promise {\r\n await this.storageService.save(ConstantsService.vaultTimeoutKey, timeout);\r\n await this.storageService.save(ConstantsService.vaultTimeoutActionKey, action);\r\n await this.cryptoService.toggleKey();\r\n await this.tokenService.toggleTokens();\r\n }\r\n\r\n async isPinLockSet(): Promise<[boolean, boolean]> {\r\n const protectedPin = await this.storageService.get(ConstantsService.protectedPin);\r\n const pinProtectedKey = await this.storageService.get(ConstantsService.pinProtectedKey);\r\n return [protectedPin != null, pinProtectedKey != null];\r\n }\r\n\r\n async isBiometricLockSet(): Promise {\r\n return await this.storageService.get(ConstantsService.biometricUnlockKey);\r\n }\r\n\r\n clear(): Promise {\r\n this.pinProtectedKey = null;\r\n return this.storageService.remove(ConstantsService.protectedPin);\r\n }\r\n}\r\n","import { Cipher } from './cipher';\r\n\r\nimport { CipherView } from '../view/cipherView';\r\n\r\nexport class CipherWithIds extends Cipher {\r\n id: string;\r\n collectionIds: string[];\r\n\r\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\r\n build(o: CipherView) {\r\n this.id = o.id;\r\n super.build(o);\r\n this.collectionIds = o.collectionIds;\r\n }\r\n}\r\n","import { Collection } from './collection';\r\n\r\nimport { CollectionView } from '../view/collectionView';\r\n\r\nexport class CollectionWithId extends Collection {\r\n id: string;\r\n\r\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\r\n build(o: CollectionView) {\r\n this.id = o.id;\r\n super.build(o);\r\n }\r\n}\r\n","import { Folder } from './folder';\r\n\r\nimport { FolderView } from '../view/folderView';\r\n\r\nexport class FolderWithId extends Folder {\r\n id: string;\r\n\r\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\r\n build(o: FolderView) {\r\n this.id = o.id;\r\n super.build(o);\r\n }\r\n}\r\n","export enum NotificationType {\r\n SyncCipherUpdate = 0,\r\n SyncCipherCreate = 1,\r\n SyncLoginDelete = 2,\r\n SyncFolderDelete = 3,\r\n SyncCiphers = 4,\r\n\r\n SyncVault = 5,\r\n SyncOrgKeys = 6,\r\n SyncFolderCreate = 7,\r\n SyncFolderUpdate = 8,\r\n SyncCipherDelete = 9,\r\n SyncSettings = 10,\r\n\r\n LogOut = 11,\r\n}\r\n","import { CryptoService } from '../../abstractions/crypto.service';\r\n\r\nimport { SendType } from '../../enums/sendType';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\nimport { SendData } from '../data/sendData';\r\n\r\nimport { SendView } from '../view/sendView';\r\n\r\nimport { CipherString } from './cipherString';\r\nimport Domain from './domainBase';\r\nimport { SendFile } from './sendFile';\r\nimport { SendText } from './sendText';\r\n\r\nexport class Send extends Domain {\r\n id: string;\r\n accessId: string;\r\n userId: string;\r\n type: SendType;\r\n name: CipherString;\r\n notes: CipherString;\r\n file: SendFile;\r\n text: SendText;\r\n key: CipherString;\r\n maxAccessCount?: number;\r\n accessCount: number;\r\n revisionDate: Date;\r\n expirationDate: Date;\r\n deletionDate: Date;\r\n password: string;\r\n disabled: boolean;\r\n\r\n constructor(obj?: SendData, alreadyEncrypted: boolean = false) {\r\n super();\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.buildDomainModel(this, obj, {\r\n id: null,\r\n accessId: null,\r\n userId: null,\r\n name: null,\r\n notes: null,\r\n key: null,\r\n }, alreadyEncrypted, ['id', 'accessId', 'userId']);\r\n\r\n this.type = obj.type;\r\n this.maxAccessCount = obj.maxAccessCount;\r\n this.accessCount = obj.accessCount;\r\n this.password = obj.password;\r\n this.disabled = obj.disabled;\r\n this.revisionDate = obj.revisionDate != null ? new Date(obj.revisionDate) : null;\r\n this.deletionDate = obj.deletionDate != null ? new Date(obj.deletionDate) : null;\r\n this.expirationDate = obj.expirationDate != null ? new Date(obj.expirationDate) : null;\r\n\r\n switch (this.type) {\r\n case SendType.Text:\r\n this.text = new SendText(obj.text, alreadyEncrypted);\r\n break;\r\n case SendType.File:\r\n this.file = new SendFile(obj.file, alreadyEncrypted);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n async decrypt(): Promise {\r\n const model = new SendView(this);\r\n\r\n let cryptoService: CryptoService;\r\n const containerService = (Utils.global as any).bitwardenContainerService;\r\n if (containerService) {\r\n cryptoService = containerService.getCryptoService();\r\n } else {\r\n throw new Error('global bitwardenContainerService not initialized.');\r\n }\r\n\r\n try {\r\n model.key = await cryptoService.decryptToBytes(this.key, null);\r\n model.cryptoKey = await cryptoService.makeSendKey(model.key);\r\n } catch (e) {\r\n // TODO: error?\r\n }\r\n\r\n await this.decryptObj(model, {\r\n name: null,\r\n notes: null,\r\n }, null, model.cryptoKey);\r\n\r\n switch (this.type) {\r\n case SendType.File:\r\n model.file = await this.file.decrypt(model.cryptoKey);\r\n break;\r\n case SendType.Text:\r\n model.text = await this.text.decrypt(model.cryptoKey);\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n return model;\r\n }\r\n\r\n toSendData(userId: string): SendData {\r\n const s = new SendData();\r\n s.id = this.id;\r\n s.accessId = this.accessId;\r\n s.userId = userId;\r\n s.maxAccessCount = this.maxAccessCount;\r\n s.accessCount = this.accessCount;\r\n s.disabled = this.disabled;\r\n s.password = this.password;\r\n s.revisionDate = this.revisionDate != null ? this.revisionDate.toISOString() : null;\r\n s.deletionDate = this.deletionDate != null ? this.deletionDate.toISOString() : null;\r\n s.expirationDate = this.expirationDate != null ? this.expirationDate.toISOString() : null;\r\n s.type = this.type;\r\n\r\n this.buildDataModel(this, s, {\r\n name: null,\r\n notes: null,\r\n key: null,\r\n });\r\n\r\n switch (s.type) {\r\n case SendType.File:\r\n s.text = this.text.toSendTextData();\r\n break;\r\n case SendType.Text:\r\n s.file = this.file.toSendFileData();\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n return s;\r\n }\r\n}\r\n","import { SendType } from '../../enums/sendType';\r\nimport { Utils } from '../../misc/utils';\r\n\r\nimport { Send } from '../domain/send';\r\nimport { SymmetricCryptoKey } from '../domain/symmetricCryptoKey';\r\n\r\nimport { SendFileView } from './sendFileView';\r\nimport { SendTextView } from './sendTextView';\r\nimport { View } from './view';\r\n\r\nexport class SendView implements View {\r\n id: string = null;\r\n accessId: string = null;\r\n name: string = null;\r\n notes: string = null;\r\n key: ArrayBuffer;\r\n cryptoKey: SymmetricCryptoKey;\r\n type: SendType = null;\r\n text = new SendTextView();\r\n file = new SendFileView();\r\n maxAccessCount?: number = null;\r\n accessCount: number = 0;\r\n revisionDate: Date = null;\r\n deletionDate: Date = null;\r\n expirationDate: Date = null;\r\n password: string = null;\r\n disabled: boolean = false;\r\n\r\n constructor(s?: Send) {\r\n if (!s) {\r\n return;\r\n }\r\n\r\n this.id = s.id;\r\n this.accessId = s.accessId;\r\n this.type = s.type;\r\n this.maxAccessCount = s.maxAccessCount;\r\n this.accessCount = s.accessCount;\r\n this.revisionDate = s.revisionDate;\r\n this.deletionDate = s.deletionDate;\r\n this.expirationDate = s.expirationDate;\r\n this.disabled = s.disabled;\r\n this.password = s.password;\r\n }\r\n\r\n get urlB64Key(): string {\r\n return Utils.fromBufferToUrlB64(this.key);\r\n }\r\n}\r\n","import { DatePipe } from '@angular/common';\r\n\r\nimport {\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { Component } from '@angular/core';\r\n\r\nimport { SendType } from 'jslib/enums/sendType';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { SendService } from 'jslib/abstractions/send.service';\r\n\r\nimport { SendView } from 'jslib/models/view/sendView';\r\nimport { SendFileView } from 'jslib/models/view/sendFileView';\r\nimport { SendTextView } from 'jslib/models/view/sendTextView';\r\n\r\nimport { Send } from 'jslib/models/domain/send';\r\n\r\nimport { SendData } from 'jslib/models/data/sendData';\r\n\r\n@Component({\r\n selector: 'app-send-add-edit',\r\n templateUrl: 'add-edit.component.html',\r\n})\r\nexport class AddEditComponent {\r\n @Input() sendId: string;\r\n @Input() type: SendType;\r\n\r\n @Output() onSavedSend = new EventEmitter();\r\n @Output() onDeletedSend = new EventEmitter();\r\n @Output() onCancelled = new EventEmitter();\r\n\r\n editMode: boolean = false;\r\n send: SendView;\r\n link: string;\r\n title: string;\r\n deletionDate: string;\r\n expirationDate: string;\r\n hasPassword: boolean;\r\n password: string;\r\n formPromise: Promise;\r\n deletePromise: Promise;\r\n sendType = SendType;\r\n typeOptions: any[];\r\n\r\n constructor(private i18nService: I18nService, private platformUtilsService: PlatformUtilsService,\r\n private apiService: ApiService, private environmentService: EnvironmentService,\r\n private datePipe: DatePipe, private sendService: SendService) {\r\n this.typeOptions = [\r\n { name: i18nService.t('sendTypeFile'), value: SendType.File },\r\n { name: i18nService.t('sendTypeText'), value: SendType.Text },\r\n ];\r\n }\r\n\r\n async ngOnInit() {\r\n await this.load();\r\n }\r\n\r\n async load() {\r\n this.editMode = this.sendId != null;\r\n if (this.editMode) {\r\n this.editMode = true;\r\n this.title = this.i18nService.t('editSend');\r\n } else {\r\n this.title = this.i18nService.t('createSend');\r\n }\r\n\r\n if (this.send == null) {\r\n if (this.editMode) {\r\n const send = await this.loadSend();\r\n this.send = await send.decrypt();\r\n } else {\r\n this.send = new SendView();\r\n this.send.type = this.type == null ? SendType.File : this.type;\r\n this.send.file = new SendFileView();\r\n this.send.text = new SendTextView();\r\n this.send.deletionDate = new Date();\r\n this.send.deletionDate.setDate(this.send.deletionDate.getDate() + 7);\r\n }\r\n }\r\n\r\n this.hasPassword = this.send.password != null && this.send.password.trim() !== '';\r\n\r\n // Parse dates\r\n this.deletionDate = this.send.deletionDate == null ? null :\r\n this.datePipe.transform(this.send.deletionDate, 'yyyy-MM-ddTHH:mm');\r\n this.expirationDate = this.send.expirationDate == null ? null :\r\n this.datePipe.transform(this.send.expirationDate, 'yyyy-MM-ddTHH:mm');\r\n\r\n if (this.editMode) {\r\n let webVaultUrl = this.environmentService.getWebVaultUrl();\r\n if (webVaultUrl == null) {\r\n webVaultUrl = 'https://vault.bitwarden.com';\r\n }\r\n this.link = webVaultUrl + '/#/send/' + this.send.accessId + '/' + this.send.urlB64Key;\r\n }\r\n }\r\n\r\n async submit(): Promise {\r\n if (this.send.name == null || this.send.name === '') {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('nameRequired'));\r\n return false;\r\n }\r\n\r\n let file: File = null;\r\n if (this.send.type === SendType.File && !this.editMode) {\r\n const fileEl = document.getElementById('file') as HTMLInputElement;\r\n const files = fileEl.files;\r\n if (files == null || files.length === 0) {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('selectFile'));\r\n return;\r\n }\r\n\r\n file = files[0];\r\n if (file.size > 104857600) { // 100 MB\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('maxFileSize'));\r\n return;\r\n }\r\n }\r\n\r\n const encSend = await this.encryptSend(file);\r\n try {\r\n this.formPromise = this.sendService.saveWithServer(encSend);\r\n await this.formPromise;\r\n this.send.id = encSend[0].id;\r\n this.platformUtilsService.showToast('success', null,\r\n this.i18nService.t(this.editMode ? 'editedSend' : 'createdSend'));\r\n this.onSavedSend.emit(this.send);\r\n return true;\r\n } catch { }\r\n\r\n return false;\r\n }\r\n\r\n clearExpiration() {\r\n this.expirationDate = null;\r\n }\r\n\r\n async delete(): Promise {\r\n if (this.deletePromise != null) {\r\n return;\r\n }\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('deleteSendConfirmation'),\r\n this.i18nService.t('deleteSend'),\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return;\r\n }\r\n\r\n try {\r\n this.deletePromise = this.apiService.deleteSend(this.send.id);\r\n await this.deletePromise;\r\n this.platformUtilsService.showToast('success', null, this.i18nService.t('deletedSend'));\r\n await this.load();\r\n this.onDeletedSend.emit(this.send);\r\n } catch { }\r\n }\r\n\r\n protected async loadSend(): Promise {\r\n const response = await this.apiService.getSend(this.sendId);\r\n const data = new SendData(response);\r\n return new Send(data);\r\n }\r\n\r\n protected async encryptSend(file: File): Promise<[Send, ArrayBuffer]> {\r\n const sendData = await this.sendService.encrypt(this.send, file, this.password, null);\r\n\r\n // Parse dates\r\n try {\r\n sendData[0].deletionDate = this.deletionDate == null ? null : new Date(this.deletionDate);\r\n } catch {\r\n sendData[0].deletionDate = null;\r\n }\r\n try {\r\n sendData[0].expirationDate = this.expirationDate == null ? null : new Date(this.expirationDate);\r\n } catch {\r\n sendData[0].expirationDate = null;\r\n }\r\n\r\n return sendData;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

{{title}}

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {{'file' | i18n}}\r\n {{send.file.fileName}} ({{send.file.sizeName}})\r\n
\r\n
\r\n \r\n \r\n {{'maxFileSize' | i18n}}\r\n
\r\n
\r\n
\r\n

{{'options' | i18n}}

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n {{'clear' | i18n}}\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport 'bootstrap';\r\nimport 'jquery';\r\nimport 'popper.js';\r\n\r\n// tslint:disable-next-line\r\nrequire('../scss/styles.scss');\r\n\r\nimport { AppModule } from './app.module';\r\n\r\nif (process.env.ENV === 'production') {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule, { preserveWhitespaces: true });\r\n","import 'core-js';\r\n\r\nimport { ToasterModule } from 'angular2-toaster';\r\nimport { Angulartics2Module } from 'angulartics2';\r\nimport { Angulartics2GoogleAnalytics } from 'angulartics2/ga';\r\nimport { InfiniteScrollModule } from 'ngx-infinite-scroll';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\n\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\n\r\nimport { ServicesModule } from './services/services.module';\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { ModalComponent } from './modal.component';\r\n\r\nimport { AvatarComponent } from './components/avatar.component';\r\nimport { PasswordStrengthComponent } from './components/password-strength.component';\r\n\r\nimport { FooterComponent } from './layouts/footer.component';\r\nimport { FrontendLayoutComponent } from './layouts/frontend-layout.component';\r\nimport { NavbarComponent } from './layouts/navbar.component';\r\nimport { OrganizationLayoutComponent } from './layouts/organization-layout.component';\r\nimport { UserLayoutComponent } from './layouts/user-layout.component';\r\n\r\nimport { AcceptOrganizationComponent } from './accounts/accept-organization.component';\r\nimport { HintComponent } from './accounts/hint.component';\r\nimport { LockComponent } from './accounts/lock.component';\r\nimport { LoginComponent } from './accounts/login.component';\r\nimport { RecoverDeleteComponent } from './accounts/recover-delete.component';\r\nimport { RecoverTwoFactorComponent } from './accounts/recover-two-factor.component';\r\nimport { RegisterComponent } from './accounts/register.component';\r\nimport { SetPasswordComponent } from './accounts/set-password.component';\r\nimport { SsoComponent } from './accounts/sso.component';\r\nimport { TwoFactorOptionsComponent } from './accounts/two-factor-options.component';\r\nimport { TwoFactorComponent } from './accounts/two-factor.component';\r\nimport { VerifyEmailTokenComponent } from './accounts/verify-email-token.component';\r\nimport { VerifyRecoverDeleteComponent } from './accounts/verify-recover-delete.component';\r\n\r\nimport {\r\n CollectionAddEditComponent as OrgCollectionAddEditComponent,\r\n} from './organizations/manage/collection-add-edit.component';\r\nimport { CollectionsComponent as OrgManageCollectionsComponent } from './organizations/manage/collections.component';\r\nimport { EntityEventsComponent as OrgEntityEventsComponent } from './organizations/manage/entity-events.component';\r\nimport { EntityUsersComponent as OrgEntityUsersComponent } from './organizations/manage/entity-users.component';\r\nimport { EventsComponent as OrgEventsComponent } from './organizations/manage/events.component';\r\nimport { GroupAddEditComponent as OrgGroupAddEditComponent } from './organizations/manage/group-add-edit.component';\r\nimport { GroupsComponent as OrgGroupsComponent } from './organizations/manage/groups.component';\r\nimport { ManageComponent as OrgManageComponent } from './organizations/manage/manage.component';\r\nimport { PeopleComponent as OrgPeopleComponent } from './organizations/manage/people.component';\r\nimport { PoliciesComponent as OrgPoliciesComponent } from './organizations/manage/policies.component';\r\nimport { PolicyEditComponent as OrgPolicyEditComponent } from './organizations/manage/policy-edit.component';\r\nimport { UserAddEditComponent as OrgUserAddEditComponent } from './organizations/manage/user-add-edit.component';\r\nimport { UserConfirmComponent as OrgUserConfirmComponent } from './organizations/manage/user-confirm.component';\r\nimport { UserGroupsComponent as OrgUserGroupsComponent } from './organizations/manage/user-groups.component';\r\n\r\nimport { AccountComponent as OrgAccountComponent } from './organizations/settings/account.component';\r\nimport { AdjustSeatsComponent } from './organizations/settings/adjust-seats.component';\r\nimport { ChangePlanComponent } from './organizations/settings/change-plan.component';\r\nimport { DeleteOrganizationComponent } from './organizations/settings/delete-organization.component';\r\nimport { DownloadLicenseComponent } from './organizations/settings/download-license.component';\r\nimport { OrganizationBillingComponent } from './organizations/settings/organization-billing.component';\r\nimport { OrganizationSubscriptionComponent } from './organizations/settings/organization-subscription.component';\r\nimport { SettingsComponent as OrgSettingComponent } from './organizations/settings/settings.component';\r\nimport {\r\n TwoFactorSetupComponent as OrgTwoFactorSetupComponent,\r\n} from './organizations/settings/two-factor-setup.component';\r\n\r\nimport { ExportComponent as OrgExportComponent } from './organizations/tools/export.component';\r\nimport {\r\n ExposedPasswordsReportComponent as OrgExposedPasswordsReportComponent,\r\n} from './organizations/tools/exposed-passwords-report.component';\r\nimport { ImportComponent as OrgImportComponent } from './organizations/tools/import.component';\r\nimport {\r\n InactiveTwoFactorReportComponent as OrgInactiveTwoFactorReportComponent,\r\n} from './organizations/tools/inactive-two-factor-report.component';\r\nimport {\r\n ReusedPasswordsReportComponent as OrgReusedPasswordsReportComponent,\r\n} from './organizations/tools/reused-passwords-report.component';\r\nimport { ToolsComponent as OrgToolsComponent } from './organizations/tools/tools.component';\r\nimport {\r\n UnsecuredWebsitesReportComponent as OrgUnsecuredWebsitesReportComponent,\r\n} from './organizations/tools/unsecured-websites-report.component';\r\nimport {\r\n WeakPasswordsReportComponent as OrgWeakPasswordsReportComponent,\r\n} from './organizations/tools/weak-passwords-report.component';\r\n\r\nimport { AddEditComponent as OrgAddEditComponent } from './organizations/vault/add-edit.component';\r\nimport { AttachmentsComponent as OrgAttachmentsComponent } from './organizations/vault/attachments.component';\r\nimport { CiphersComponent as OrgCiphersComponent } from './organizations/vault/ciphers.component';\r\nimport { CollectionsComponent as OrgCollectionsComponent } from './organizations/vault/collections.component';\r\nimport { GroupingsComponent as OrgGroupingsComponent } from './organizations/vault/groupings.component';\r\nimport { VaultComponent as OrgVaultComponent } from './organizations/vault/vault.component';\r\n\r\nimport { AccessComponent } from './send/access.component';\r\nimport { AddEditComponent as SendAddEditComponent } from './send/add-edit.component';\r\nimport { SendComponent } from './send/send.component';\r\n\r\nimport { AccountComponent } from './settings/account.component';\r\nimport { AddCreditComponent } from './settings/add-credit.component';\r\nimport { AdjustPaymentComponent } from './settings/adjust-payment.component';\r\nimport { AdjustStorageComponent } from './settings/adjust-storage.component';\r\nimport { ApiKeyComponent } from './settings/api-key.component';\r\nimport { ChangeEmailComponent } from './settings/change-email.component';\r\nimport { ChangeKdfComponent } from './settings/change-kdf.component';\r\nimport { ChangePasswordComponent } from './settings/change-password.component';\r\nimport { CreateOrganizationComponent } from './settings/create-organization.component';\r\nimport { DeauthorizeSessionsComponent } from './settings/deauthorize-sessions.component';\r\nimport { DeleteAccountComponent } from './settings/delete-account.component';\r\nimport { DomainRulesComponent } from './settings/domain-rules.component';\r\nimport { LinkSsoComponent } from './settings/link-sso.component';\r\nimport { OptionsComponent } from './settings/options.component';\r\nimport { OrganizationPlansComponent } from './settings/organization-plans.component';\r\nimport { OrganizationsComponent } from './settings/organizations.component';\r\nimport { PaymentComponent } from './settings/payment.component';\r\nimport { PremiumComponent } from './settings/premium.component';\r\nimport { ProfileComponent } from './settings/profile.component';\r\nimport { PurgeVaultComponent } from './settings/purge-vault.component';\r\nimport { SettingsComponent } from './settings/settings.component';\r\nimport { TaxInfoComponent } from './settings/tax-info.component';\r\nimport { TwoFactorAuthenticatorComponent } from './settings/two-factor-authenticator.component';\r\nimport { TwoFactorDuoComponent } from './settings/two-factor-duo.component';\r\nimport { TwoFactorEmailComponent } from './settings/two-factor-email.component';\r\nimport { TwoFactorRecoveryComponent } from './settings/two-factor-recovery.component';\r\nimport { TwoFactorSetupComponent } from './settings/two-factor-setup.component';\r\nimport { TwoFactorU2fComponent } from './settings/two-factor-u2f.component';\r\nimport { TwoFactorVerifyComponent } from './settings/two-factor-verify.component';\r\nimport { TwoFactorYubiKeyComponent } from './settings/two-factor-yubikey.component';\r\nimport { UpdateKeyComponent } from './settings/update-key.component';\r\nimport { UpdateLicenseComponent } from './settings/update-license.component';\r\nimport { UserBillingComponent } from './settings/user-billing.component';\r\nimport { UserSubscriptionComponent } from './settings/user-subscription.component';\r\nimport { VerifyEmailComponent } from './settings/verify-email.component';\r\n\r\nimport { BreachReportComponent } from './tools/breach-report.component';\r\nimport { ExportComponent } from './tools/export.component';\r\nimport { ExposedPasswordsReportComponent } from './tools/exposed-passwords-report.component';\r\nimport { ImportComponent } from './tools/import.component';\r\nimport { InactiveTwoFactorReportComponent } from './tools/inactive-two-factor-report.component';\r\nimport { PasswordGeneratorHistoryComponent } from './tools/password-generator-history.component';\r\nimport { PasswordGeneratorComponent } from './tools/password-generator.component';\r\nimport { ReusedPasswordsReportComponent } from './tools/reused-passwords-report.component';\r\nimport { ToolsComponent } from './tools/tools.component';\r\nimport { UnsecuredWebsitesReportComponent } from './tools/unsecured-websites-report.component';\r\nimport { WeakPasswordsReportComponent } from './tools/weak-passwords-report.component';\r\n\r\nimport { AddEditComponent } from './vault/add-edit.component';\r\nimport { AttachmentsComponent } from './vault/attachments.component';\r\nimport { BulkActionsComponent } from './vault/bulk-actions.component';\r\nimport { BulkDeleteComponent } from './vault/bulk-delete.component';\r\nimport { BulkMoveComponent } from './vault/bulk-move.component';\r\nimport { BulkRestoreComponent } from './vault/bulk-restore.component';\r\nimport { BulkShareComponent } from './vault/bulk-share.component';\r\nimport { CiphersComponent } from './vault/ciphers.component';\r\nimport { CollectionsComponent } from './vault/collections.component';\r\nimport { FolderAddEditComponent } from './vault/folder-add-edit.component';\r\nimport { GroupingsComponent } from './vault/groupings.component';\r\nimport { ShareComponent } from './vault/share.component';\r\nimport { VaultComponent } from './vault/vault.component';\r\n\r\nimport { CalloutComponent } from 'jslib/angular/components/callout.component';\r\nimport { IconComponent } from 'jslib/angular/components/icon.component';\r\n\r\nimport { A11yTitleDirective } from 'jslib/angular/directives/a11y-title.directive';\r\nimport { ApiActionDirective } from 'jslib/angular/directives/api-action.directive';\r\nimport { AutofocusDirective } from 'jslib/angular/directives/autofocus.directive';\r\nimport { BlurClickDirective } from 'jslib/angular/directives/blur-click.directive';\r\nimport { BoxRowDirective } from 'jslib/angular/directives/box-row.directive';\r\nimport { FallbackSrcDirective } from 'jslib/angular/directives/fallback-src.directive';\r\nimport { InputVerbatimDirective } from 'jslib/angular/directives/input-verbatim.directive';\r\nimport { SelectCopyDirective } from 'jslib/angular/directives/select-copy.directive';\r\nimport { StopClickDirective } from 'jslib/angular/directives/stop-click.directive';\r\nimport { StopPropDirective } from 'jslib/angular/directives/stop-prop.directive';\r\nimport { TrueFalseValueDirective } from 'jslib/angular/directives/true-false-value.directive';\r\n\r\nimport { ColorPasswordPipe } from 'jslib/angular/pipes/color-password.pipe';\r\nimport { I18nPipe } from 'jslib/angular/pipes/i18n.pipe';\r\nimport { SearchCiphersPipe } from 'jslib/angular/pipes/search-ciphers.pipe';\r\nimport { SearchPipe } from 'jslib/angular/pipes/search.pipe';\r\n\r\nimport {\r\n registerLocaleData,\r\n DatePipe,\r\n} from '@angular/common';\r\nimport localeCa from '@angular/common/locales/ca';\r\nimport localeCs from '@angular/common/locales/cs';\r\nimport localeDa from '@angular/common/locales/da';\r\nimport localeDe from '@angular/common/locales/de';\r\nimport localeEl from '@angular/common/locales/el';\r\nimport localeEnGb from '@angular/common/locales/en-GB';\r\nimport localeEs from '@angular/common/locales/es';\r\nimport localeEt from '@angular/common/locales/et';\r\nimport localeFr from '@angular/common/locales/fr';\r\nimport localeHe from '@angular/common/locales/he';\r\nimport localeIt from '@angular/common/locales/it';\r\nimport localeJa from '@angular/common/locales/ja';\r\nimport localeKo from '@angular/common/locales/ko';\r\nimport localeLv from '@angular/common/locales/lv';\r\nimport localeMl from '@angular/common/locales/ml';\r\nimport localeNb from '@angular/common/locales/nb';\r\nimport localeNl from '@angular/common/locales/nl';\r\nimport localePl from '@angular/common/locales/pl';\r\nimport localePtBr from '@angular/common/locales/pt';\r\nimport localePtPt from '@angular/common/locales/pt-PT';\r\nimport localeRu from '@angular/common/locales/ru';\r\nimport localeSk from '@angular/common/locales/sk';\r\nimport localeSv from '@angular/common/locales/sv';\r\nimport localeUk from '@angular/common/locales/uk';\r\nimport localeZhCn from '@angular/common/locales/zh-Hans';\r\nimport localeZhTw from '@angular/common/locales/zh-Hant';\r\n\r\nregisterLocaleData(localeCa, 'ca');\r\nregisterLocaleData(localeCs, 'cs');\r\nregisterLocaleData(localeDa, 'da');\r\nregisterLocaleData(localeDe, 'de');\r\nregisterLocaleData(localeEl, 'el');\r\nregisterLocaleData(localeEnGb, 'en-GB');\r\nregisterLocaleData(localeEs, 'es');\r\nregisterLocaleData(localeEt, 'et');\r\nregisterLocaleData(localeFr, 'fr');\r\nregisterLocaleData(localeHe, 'he');\r\nregisterLocaleData(localeIt, 'it');\r\nregisterLocaleData(localeJa, 'ja');\r\nregisterLocaleData(localeKo, 'ko');\r\nregisterLocaleData(localeLv, 'lv');\r\nregisterLocaleData(localeMl, 'ml');\r\nregisterLocaleData(localeNb, 'nb');\r\nregisterLocaleData(localeNl, 'nl');\r\nregisterLocaleData(localePl, 'pl');\r\nregisterLocaleData(localePtBr, 'pt-BR');\r\nregisterLocaleData(localePtPt, 'pt-PT');\r\nregisterLocaleData(localeRu, 'ru');\r\nregisterLocaleData(localeSk, 'sk');\r\nregisterLocaleData(localeSv, 'sv');\r\nregisterLocaleData(localeUk, 'uk');\r\nregisterLocaleData(localeZhCn, 'zh-CN');\r\nregisterLocaleData(localeZhTw, 'zh-TW');\r\n\r\n@NgModule({\r\n imports: [\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n FormsModule,\r\n AppRoutingModule,\r\n ServicesModule,\r\n Angulartics2Module.forRoot({\r\n pageTracking: {\r\n clearQueryParams: true,\r\n },\r\n }),\r\n ToasterModule.forRoot(),\r\n InfiniteScrollModule,\r\n DragDropModule,\r\n ],\r\n declarations: [\r\n A11yTitleDirective,\r\n AccessComponent,\r\n AcceptOrganizationComponent,\r\n AccountComponent,\r\n SetPasswordComponent,\r\n AddCreditComponent,\r\n AddEditComponent,\r\n AdjustPaymentComponent,\r\n AdjustSeatsComponent,\r\n AdjustStorageComponent,\r\n ApiActionDirective,\r\n ApiKeyComponent,\r\n AppComponent,\r\n AttachmentsComponent,\r\n AutofocusDirective,\r\n AvatarComponent,\r\n BlurClickDirective,\r\n BoxRowDirective,\r\n BreachReportComponent,\r\n BulkActionsComponent,\r\n BulkDeleteComponent,\r\n BulkMoveComponent,\r\n BulkRestoreComponent,\r\n BulkShareComponent,\r\n CalloutComponent,\r\n ChangeEmailComponent,\r\n ChangeKdfComponent,\r\n ChangePasswordComponent,\r\n ChangePlanComponent,\r\n CiphersComponent,\r\n CollectionsComponent,\r\n ColorPasswordPipe,\r\n CreateOrganizationComponent,\r\n DeauthorizeSessionsComponent,\r\n DeleteAccountComponent,\r\n DeleteOrganizationComponent,\r\n DomainRulesComponent,\r\n DownloadLicenseComponent,\r\n ExportComponent,\r\n ExposedPasswordsReportComponent,\r\n FallbackSrcDirective,\r\n FolderAddEditComponent,\r\n FooterComponent,\r\n FrontendLayoutComponent,\r\n GroupingsComponent,\r\n HintComponent,\r\n I18nPipe,\r\n IconComponent,\r\n ImportComponent,\r\n InactiveTwoFactorReportComponent,\r\n InputVerbatimDirective,\r\n LinkSsoComponent,\r\n LockComponent,\r\n LoginComponent,\r\n ModalComponent,\r\n NavbarComponent,\r\n OptionsComponent,\r\n OrgAccountComponent,\r\n OrgAddEditComponent,\r\n OrganizationBillingComponent,\r\n OrganizationPlansComponent,\r\n OrganizationSubscriptionComponent,\r\n OrgAttachmentsComponent,\r\n OrgCiphersComponent,\r\n OrgCollectionAddEditComponent,\r\n OrgCollectionsComponent,\r\n OrgEntityEventsComponent,\r\n OrgEntityUsersComponent,\r\n OrgEventsComponent,\r\n OrgExportComponent,\r\n OrgExposedPasswordsReportComponent,\r\n OrgImportComponent,\r\n OrgInactiveTwoFactorReportComponent,\r\n OrgGroupAddEditComponent,\r\n OrgGroupingsComponent,\r\n OrgGroupsComponent,\r\n OrgManageCollectionsComponent,\r\n OrgManageComponent,\r\n OrgPeopleComponent,\r\n OrgPolicyEditComponent,\r\n OrgPoliciesComponent,\r\n OrgReusedPasswordsReportComponent,\r\n OrgSettingComponent,\r\n OrgToolsComponent,\r\n OrgTwoFactorSetupComponent,\r\n OrgUserAddEditComponent,\r\n OrgUserConfirmComponent,\r\n OrgUserGroupsComponent,\r\n OrganizationsComponent,\r\n OrganizationLayoutComponent,\r\n OrgUnsecuredWebsitesReportComponent,\r\n OrgVaultComponent,\r\n OrgWeakPasswordsReportComponent,\r\n PasswordGeneratorComponent,\r\n PasswordGeneratorHistoryComponent,\r\n PasswordStrengthComponent,\r\n PaymentComponent,\r\n PremiumComponent,\r\n ProfileComponent,\r\n PurgeVaultComponent,\r\n RecoverDeleteComponent,\r\n RecoverTwoFactorComponent,\r\n RegisterComponent,\r\n ReusedPasswordsReportComponent,\r\n SearchCiphersPipe,\r\n SearchPipe,\r\n SelectCopyDirective,\r\n SendAddEditComponent,\r\n SendComponent,\r\n SettingsComponent,\r\n ShareComponent,\r\n SsoComponent,\r\n StopClickDirective,\r\n StopPropDirective,\r\n TaxInfoComponent,\r\n ToolsComponent,\r\n TrueFalseValueDirective,\r\n TwoFactorAuthenticatorComponent,\r\n TwoFactorComponent,\r\n TwoFactorDuoComponent,\r\n TwoFactorEmailComponent,\r\n TwoFactorOptionsComponent,\r\n TwoFactorRecoveryComponent,\r\n TwoFactorSetupComponent,\r\n TwoFactorU2fComponent,\r\n TwoFactorVerifyComponent,\r\n TwoFactorYubiKeyComponent,\r\n UnsecuredWebsitesReportComponent,\r\n UpdateKeyComponent,\r\n UpdateLicenseComponent,\r\n UserBillingComponent,\r\n UserLayoutComponent,\r\n UserSubscriptionComponent,\r\n VaultComponent,\r\n VerifyEmailComponent,\r\n VerifyEmailTokenComponent,\r\n VerifyRecoverDeleteComponent,\r\n WeakPasswordsReportComponent,\r\n ],\r\n entryComponents: [\r\n AddEditComponent,\r\n ApiKeyComponent,\r\n AttachmentsComponent,\r\n BulkActionsComponent,\r\n BulkDeleteComponent,\r\n BulkMoveComponent,\r\n BulkRestoreComponent,\r\n BulkShareComponent,\r\n CollectionsComponent,\r\n DeauthorizeSessionsComponent,\r\n DeleteAccountComponent,\r\n DeleteOrganizationComponent,\r\n FolderAddEditComponent,\r\n ModalComponent,\r\n OrgAddEditComponent,\r\n OrgAttachmentsComponent,\r\n OrgCollectionAddEditComponent,\r\n OrgCollectionsComponent,\r\n OrgEntityEventsComponent,\r\n OrgEntityUsersComponent,\r\n OrgGroupAddEditComponent,\r\n OrgPolicyEditComponent,\r\n OrgUserAddEditComponent,\r\n OrgUserConfirmComponent,\r\n OrgUserGroupsComponent,\r\n PasswordGeneratorHistoryComponent,\r\n PurgeVaultComponent,\r\n SendAddEditComponent,\r\n ShareComponent,\r\n TwoFactorAuthenticatorComponent,\r\n TwoFactorDuoComponent,\r\n TwoFactorEmailComponent,\r\n TwoFactorOptionsComponent,\r\n TwoFactorRecoveryComponent,\r\n TwoFactorU2fComponent,\r\n TwoFactorYubiKeyComponent,\r\n UpdateKeyComponent,\r\n ],\r\n providers: [DatePipe],\r\n bootstrap: [AppComponent],\r\n})\r\nexport class AppModule { }\r\n","import { NgModule } from '@angular/core';\nimport {\n RouterModule,\n Routes,\n} from '@angular/router';\n\nimport { FrontendLayoutComponent } from './layouts/frontend-layout.component';\nimport { OrganizationLayoutComponent } from './layouts/organization-layout.component';\nimport { UserLayoutComponent } from './layouts/user-layout.component';\n\nimport { AcceptOrganizationComponent } from './accounts/accept-organization.component';\nimport { HintComponent } from './accounts/hint.component';\nimport { LockComponent } from './accounts/lock.component';\nimport { LoginComponent } from './accounts/login.component';\nimport { RecoverDeleteComponent } from './accounts/recover-delete.component';\nimport { RecoverTwoFactorComponent } from './accounts/recover-two-factor.component';\nimport { RegisterComponent } from './accounts/register.component';\nimport { SetPasswordComponent } from './accounts/set-password.component';\nimport { SsoComponent } from './accounts/sso.component';\nimport { TwoFactorComponent } from './accounts/two-factor.component';\nimport { VerifyEmailTokenComponent } from './accounts/verify-email-token.component';\nimport { VerifyRecoverDeleteComponent } from './accounts/verify-recover-delete.component';\n\nimport { CollectionsComponent as OrgManageCollectionsComponent } from './organizations/manage/collections.component';\nimport { EventsComponent as OrgEventsComponent } from './organizations/manage/events.component';\nimport { GroupsComponent as OrgGroupsComponent } from './organizations/manage/groups.component';\nimport { ManageComponent as OrgManageComponent } from './organizations/manage/manage.component';\nimport { PeopleComponent as OrgPeopleComponent } from './organizations/manage/people.component';\nimport { PoliciesComponent as OrgPoliciesComponent } from './organizations/manage/policies.component';\n\nimport { AccountComponent as OrgAccountComponent } from './organizations/settings/account.component';\nimport { OrganizationBillingComponent } from './organizations/settings/organization-billing.component';\nimport { OrganizationSubscriptionComponent } from './organizations/settings/organization-subscription.component';\nimport { SettingsComponent as OrgSettingsComponent } from './organizations/settings/settings.component';\nimport {\n TwoFactorSetupComponent as OrgTwoFactorSetupComponent,\n} from './organizations/settings/two-factor-setup.component';\n\nimport { ExportComponent as OrgExportComponent } from './organizations/tools/export.component';\nimport {\n ExposedPasswordsReportComponent as OrgExposedPasswordsReportComponent,\n} from './organizations/tools/exposed-passwords-report.component';\nimport { ImportComponent as OrgImportComponent } from './organizations/tools/import.component';\nimport {\n InactiveTwoFactorReportComponent as OrgInactiveTwoFactorReportComponent,\n} from './organizations/tools/inactive-two-factor-report.component';\nimport {\n ReusedPasswordsReportComponent as OrgReusedPasswordsReportComponent,\n} from './organizations/tools/reused-passwords-report.component';\nimport { ToolsComponent as OrgToolsComponent } from './organizations/tools/tools.component';\nimport {\n UnsecuredWebsitesReportComponent as OrgUnsecuredWebsitesReportComponent,\n} from './organizations/tools/unsecured-websites-report.component';\nimport {\n WeakPasswordsReportComponent as OrgWeakPasswordsReportComponent,\n} from './organizations/tools/weak-passwords-report.component';\n\nimport { VaultComponent as OrgVaultComponent } from './organizations/vault/vault.component';\n\nimport { AccessComponent } from './send/access.component';\nimport { SendComponent } from './send/send.component';\n\nimport { AccountComponent } from './settings/account.component';\nimport { CreateOrganizationComponent } from './settings/create-organization.component';\nimport { DomainRulesComponent } from './settings/domain-rules.component';\nimport { OptionsComponent } from './settings/options.component';\nimport { OrganizationsComponent } from './settings/organizations.component';\nimport { PremiumComponent } from './settings/premium.component';\nimport { SettingsComponent } from './settings/settings.component';\nimport { TwoFactorSetupComponent } from './settings/two-factor-setup.component';\nimport { UserBillingComponent } from './settings/user-billing.component';\nimport { UserSubscriptionComponent } from './settings/user-subscription.component';\n\nimport { BreachReportComponent } from './tools/breach-report.component';\nimport { ExportComponent } from './tools/export.component';\nimport { ExposedPasswordsReportComponent } from './tools/exposed-passwords-report.component';\nimport { ImportComponent } from './tools/import.component';\nimport { InactiveTwoFactorReportComponent } from './tools/inactive-two-factor-report.component';\nimport { PasswordGeneratorComponent } from './tools/password-generator.component';\nimport { ReusedPasswordsReportComponent } from './tools/reused-passwords-report.component';\nimport { ToolsComponent } from './tools/tools.component';\nimport { UnsecuredWebsitesReportComponent } from './tools/unsecured-websites-report.component';\nimport { WeakPasswordsReportComponent } from './tools/weak-passwords-report.component';\n\nimport { VaultComponent } from './vault/vault.component';\n\nimport { OrganizationGuardService } from './services/organization-guard.service';\nimport { OrganizationTypeGuardService } from './services/organization-type-guard.service';\nimport { UnauthGuardService } from './services/unauth-guard.service';\n\nimport { AuthGuardService } from 'jslib/angular/services/auth-guard.service';\n\nimport { OrganizationUserType } from 'jslib/enums/organizationUserType';\n\nconst routes: Routes = [\n {\n path: '',\n component: FrontendLayoutComponent,\n children: [\n { path: '', pathMatch: 'full', component: LoginComponent, canActivate: [UnauthGuardService] },\n { path: '2fa', component: TwoFactorComponent, canActivate: [UnauthGuardService] },\n {\n path: 'register', component: RegisterComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'createAccount' },\n },\n {\n path: 'sso', component: SsoComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'enterpriseSingleSignOn' },\n },\n {\n path: 'set-password', component: SetPasswordComponent,\n data: { titleId: 'setMasterPassword' },\n },\n {\n path: 'hint', component: HintComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'passwordHint' },\n },\n { path: 'lock', component: LockComponent },\n { path: 'verify-email', component: VerifyEmailTokenComponent },\n {\n path: 'accept-organization',\n component: AcceptOrganizationComponent,\n data: { titleId: 'joinOrganization' },\n },\n { path: 'recover', pathMatch: 'full', redirectTo: 'recover-2fa' },\n {\n path: 'recover-2fa',\n component: RecoverTwoFactorComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'recoverAccountTwoStep' },\n },\n {\n path: 'recover-delete',\n component: RecoverDeleteComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'deleteAccount' },\n },\n {\n path: 'verify-recover-delete',\n component: VerifyRecoverDeleteComponent,\n canActivate: [UnauthGuardService],\n data: { titleId: 'deleteAccount' },\n },\n {\n path: 'send/:sendId/:key',\n component: AccessComponent,\n data: { title: 'Bitwarden Send' },\n },\n ],\n },\n {\n path: '',\n component: UserLayoutComponent,\n canActivate: [AuthGuardService],\n children: [\n { path: 'vault', component: VaultComponent, data: { titleId: 'myVault' } },\n // { path: 'sends', component: SendComponent, data: { title: 'Send' } },\n {\n path: 'settings',\n component: SettingsComponent,\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'account' },\n { path: 'account', component: AccountComponent, data: { titleId: 'myAccount' } },\n { path: 'options', component: OptionsComponent, data: { titleId: 'options' } },\n { path: 'domain-rules', component: DomainRulesComponent, data: { titleId: 'domainRules' } },\n { path: 'two-factor', component: TwoFactorSetupComponent, data: { titleId: 'twoStepLogin' } },\n { path: 'premium', component: PremiumComponent, data: { titleId: 'goPremium' } },\n { path: 'billing', component: UserBillingComponent, data: { titleId: 'billing' } },\n {\n path: 'subscription',\n component: UserSubscriptionComponent,\n data: { titleId: 'premiumMembership' },\n },\n { path: 'organizations', component: OrganizationsComponent, data: { titleId: 'organizations' } },\n {\n path: 'create-organization',\n component: CreateOrganizationComponent,\n data: { titleId: 'newOrganization' },\n },\n ],\n },\n {\n path: 'tools',\n component: ToolsComponent,\n canActivate: [AuthGuardService],\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'generator' },\n { path: 'import', component: ImportComponent, data: { titleId: 'importData' } },\n { path: 'export', component: ExportComponent, data: { titleId: 'exportVault' } },\n {\n path: 'generator',\n component: PasswordGeneratorComponent,\n data: { titleId: 'passwordGenerator' },\n },\n { path: 'breach-report', component: BreachReportComponent, data: { titleId: 'dataBreachReport' } },\n {\n path: 'reused-passwords-report',\n component: ReusedPasswordsReportComponent,\n data: { titleId: 'reusedPasswordsReport' },\n },\n {\n path: 'unsecured-websites-report',\n component: UnsecuredWebsitesReportComponent,\n data: { titleId: 'unsecuredWebsitesReport' },\n },\n {\n path: 'weak-passwords-report',\n component: WeakPasswordsReportComponent,\n data: { titleId: 'weakPasswordsReport' },\n },\n {\n path: 'exposed-passwords-report',\n component: ExposedPasswordsReportComponent,\n data: { titleId: 'exposedPasswordsReport' },\n },\n {\n path: 'inactive-two-factor-report',\n component: InactiveTwoFactorReportComponent,\n data: { titleId: 'inactive2faReport' },\n },\n ],\n },\n ],\n },\n {\n path: 'organizations/:organizationId',\n component: OrganizationLayoutComponent,\n canActivate: [AuthGuardService, OrganizationGuardService],\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'vault' },\n { path: 'vault', component: OrgVaultComponent, data: { titleId: 'vault' } },\n {\n path: 'tools',\n component: OrgToolsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: { allowedTypes: [OrganizationUserType.Owner, OrganizationUserType.Admin] },\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'import' },\n { path: 'import', component: OrgImportComponent, data: { titleId: 'importData' } },\n { path: 'export', component: OrgExportComponent, data: { titleId: 'exportVault' } },\n {\n path: 'exposed-passwords-report',\n component: OrgExposedPasswordsReportComponent,\n data: { titleId: 'exposedPasswordsReport' },\n },\n {\n path: 'inactive-two-factor-report',\n component: OrgInactiveTwoFactorReportComponent,\n data: { titleId: 'inactive2faReport' },\n },\n {\n path: 'reused-passwords-report',\n component: OrgReusedPasswordsReportComponent,\n data: { titleId: 'reusedPasswordsReport' },\n },\n {\n path: 'unsecured-websites-report',\n component: OrgUnsecuredWebsitesReportComponent,\n data: { titleId: 'unsecuredWebsitesReport' },\n },\n {\n path: 'weak-passwords-report',\n component: OrgWeakPasswordsReportComponent,\n data: { titleId: 'weakPasswordsReport' },\n },\n ],\n },\n {\n path: 'manage',\n component: OrgManageComponent,\n canActivate: [OrganizationTypeGuardService],\n data: {\n allowedTypes: [\n OrganizationUserType.Owner,\n OrganizationUserType.Admin,\n OrganizationUserType.Manager,\n ],\n },\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'people' },\n { path: 'collections', component: OrgManageCollectionsComponent, data: { titleId: 'collections' } },\n { path: 'events', component: OrgEventsComponent, data: { titleId: 'eventLogs' } },\n { path: 'groups', component: OrgGroupsComponent, data: { titleId: 'groups' } },\n { path: 'people', component: OrgPeopleComponent, data: { titleId: 'people' } },\n { path: 'policies', component: OrgPoliciesComponent, data: { titleId: 'policies' } },\n ],\n },\n {\n path: 'settings',\n component: OrgSettingsComponent,\n canActivate: [OrganizationTypeGuardService],\n data: { allowedTypes: [OrganizationUserType.Owner] },\n children: [\n { path: '', pathMatch: 'full', redirectTo: 'account' },\n { path: 'account', component: OrgAccountComponent, data: { titleId: 'myOrganization' } },\n { path: 'two-factor', component: OrgTwoFactorSetupComponent, data: { titleId: 'twoStepLogin' } },\n {\n path: 'billing',\n component: OrganizationBillingComponent,\n data: { titleId: 'billing' },\n },\n {\n path: 'subscription',\n component: OrganizationSubscriptionComponent,\n data: { titleId: 'subscription' },\n },\n ],\n },\n ],\n },\n { path: '**', redirectTo: '' },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {\n useHash: true,\n /*enableTracing: true,*/\n })],\n exports: [RouterModule],\n})\nexport class AppRoutingModule { }\n","import { BroadcasterService as BroadcasterServiceAbstraction } from '../abstractions/broadcaster.service';\r\n\r\nexport class BroadcasterService implements BroadcasterServiceAbstraction {\r\n subscribers: Map any> = new Map any>();\r\n\r\n send(message: any, id?: string) {\r\n if (id != null) {\r\n if (this.subscribers.has(id)) {\r\n this.subscribers.get(id)(message);\r\n }\r\n return;\r\n }\r\n\r\n this.subscribers.forEach((value) => {\r\n value(message);\r\n });\r\n }\r\n\r\n subscribe(id: string, messageCallback: (message: any) => any) {\r\n this.subscribers.set(id, messageCallback);\r\n }\r\n\r\n unsubscribe(id: string) {\r\n if (this.subscribers.has(id)) {\r\n this.subscribers.delete(id);\r\n }\r\n }\r\n}\r\n","export function getDomain(host: string): string | null {\r\n return null;\r\n}\r\n","export class OrganizationUserAcceptRequest {\r\n token: string;\r\n}\r\n","import { Router } from '@angular/router';\r\n\r\nimport { PasswordHintRequest } from '../../models/request/passwordHintRequest';\r\n\r\nimport { ApiService } from '../../abstractions/api.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nexport class HintComponent {\r\n email: string = '';\r\n formPromise: Promise;\r\n\r\n protected successRoute = 'login';\r\n protected onSuccessfulSubmit: () => void;\r\n\r\n constructor(protected router: Router, protected i18nService: I18nService,\r\n protected apiService: ApiService, protected platformUtilsService: PlatformUtilsService) { }\r\n\r\n async submit() {\r\n if (this.email == null || this.email === '') {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('emailRequired'));\r\n return;\r\n }\r\n if (this.email.indexOf('@') === -1) {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidEmail'));\r\n return;\r\n }\r\n\r\n try {\r\n this.formPromise = this.apiService.postPasswordHint(new PasswordHintRequest(this.email));\r\n await this.formPromise;\r\n this.platformUtilsService.eventTrack('Requested Hint');\r\n this.platformUtilsService.showToast('success', null, this.i18nService.t('masterPassSent'));\r\n if (this.onSuccessfulSubmit != null) {\r\n this.onSuccessfulSubmit();\r\n } else if (this.router != null) {\r\n this.router.navigate([this.successRoute]);\r\n }\r\n } catch { }\r\n }\r\n}\r\n","export class PasswordHintRequest {\r\n email: string;\r\n\r\n constructor(email: string) {\r\n this.email = email;\r\n }\r\n}\r\n","import { OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { ApiService } from '../../abstractions/api.service';\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\nimport { EnvironmentService } from '../../abstractions/environment.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { MessagingService } from '../../abstractions/messaging.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\nimport { StateService } from '../../abstractions/state.service';\r\nimport { StorageService } from '../../abstractions/storage.service';\r\nimport { UserService } from '../../abstractions/user.service';\r\nimport { VaultTimeoutService } from '../../abstractions/vaultTimeout.service';\r\n\r\nimport { ConstantsService } from '../../services/constants.service';\r\n\r\nimport { CipherString } from '../../models/domain/cipherString';\r\nimport { SymmetricCryptoKey } from '../../models/domain/symmetricCryptoKey';\r\n\r\nimport { PasswordVerificationRequest } from '../../models/request/passwordVerificationRequest';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\nexport class LockComponent implements OnInit {\r\n masterPassword: string = '';\r\n pin: string = '';\r\n showPassword: boolean = false;\r\n email: string;\r\n pinLock: boolean = false;\r\n webVaultHostname: string = '';\r\n formPromise: Promise;\r\n supportsBiometric: boolean;\r\n biometricLock: boolean;\r\n biometricText: string;\r\n\r\n protected successRoute: string = 'vault';\r\n protected onSuccessfulSubmit: () => void;\r\n\r\n private invalidPinAttempts = 0;\r\n private pinSet: [boolean, boolean];\r\n\r\n constructor(protected router: Router, protected i18nService: I18nService,\r\n protected platformUtilsService: PlatformUtilsService, protected messagingService: MessagingService,\r\n protected userService: UserService, protected cryptoService: CryptoService,\r\n protected storageService: StorageService, protected vaultTimeoutService: VaultTimeoutService,\r\n protected environmentService: EnvironmentService, protected stateService: StateService,\r\n protected apiService: ApiService) { }\r\n\r\n async ngOnInit() {\r\n this.pinSet = await this.vaultTimeoutService.isPinLockSet();\r\n this.pinLock = (this.pinSet[0] && this.vaultTimeoutService.pinProtectedKey != null) || this.pinSet[1];\r\n this.supportsBiometric = await this.platformUtilsService.supportsBiometric();\r\n this.biometricLock = await this.vaultTimeoutService.isBiometricLockSet() && (await this.cryptoService.hasKey() || !this.platformUtilsService.supportsSecureStorage());\r\n this.biometricText = await this.storageService.get(ConstantsService.biometricText);\r\n this.email = await this.userService.getEmail();\r\n let vaultUrl = this.environmentService.getWebVaultUrl();\r\n if (vaultUrl == null) {\r\n vaultUrl = 'https://bitwarden.com';\r\n }\r\n this.webVaultHostname = Utils.getHostname(vaultUrl);\r\n }\r\n\r\n async submit() {\r\n if (this.pinLock && (this.pin == null || this.pin === '')) {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('pinRequired'));\r\n return;\r\n }\r\n if (!this.pinLock && (this.masterPassword == null || this.masterPassword === '')) {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n\r\n const kdf = await this.userService.getKdf();\r\n const kdfIterations = await this.userService.getKdfIterations();\r\n\r\n if (this.pinLock) {\r\n let failed = true;\r\n try {\r\n if (this.pinSet[0]) {\r\n const key = await this.cryptoService.makeKeyFromPin(this.pin, this.email, kdf, kdfIterations,\r\n this.vaultTimeoutService.pinProtectedKey);\r\n const encKey = await this.cryptoService.getEncKey(key);\r\n const protectedPin = await this.storageService.get(ConstantsService.protectedPin);\r\n const decPin = await this.cryptoService.decryptToUtf8(new CipherString(protectedPin), encKey);\r\n failed = decPin !== this.pin;\r\n if (!failed) {\r\n await this.setKeyAndContinue(key);\r\n }\r\n } else {\r\n const key = await this.cryptoService.makeKeyFromPin(this.pin, this.email, kdf, kdfIterations);\r\n failed = false;\r\n await this.setKeyAndContinue(key);\r\n }\r\n } catch {\r\n failed = true;\r\n }\r\n\r\n if (failed) {\r\n this.invalidPinAttempts++;\r\n if (this.invalidPinAttempts >= 5) {\r\n this.messagingService.send('logout');\r\n return;\r\n }\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidPin'));\r\n }\r\n } else {\r\n const key = await this.cryptoService.makeKey(this.masterPassword, this.email, kdf, kdfIterations);\r\n const keyHash = await this.cryptoService.hashPassword(this.masterPassword, key);\r\n\r\n let passwordValid = false;\r\n\r\n if (keyHash != null) {\r\n const storedKeyHash = await this.cryptoService.getKeyHash();\r\n if (storedKeyHash != null) {\r\n passwordValid = storedKeyHash === keyHash;\r\n } else {\r\n const request = new PasswordVerificationRequest();\r\n request.masterPasswordHash = keyHash;\r\n try {\r\n this.formPromise = this.apiService.postAccountVerifyPassword(request);\r\n await this.formPromise;\r\n passwordValid = true;\r\n await this.cryptoService.setKeyHash(keyHash);\r\n } catch { }\r\n }\r\n }\r\n\r\n if (passwordValid) {\r\n if (this.pinSet[0]) {\r\n const protectedPin = await this.storageService.get(ConstantsService.protectedPin);\r\n const encKey = await this.cryptoService.getEncKey(key);\r\n const decPin = await this.cryptoService.decryptToUtf8(new CipherString(protectedPin), encKey);\r\n const pinKey = await this.cryptoService.makePinKey(decPin, this.email, kdf, kdfIterations);\r\n this.vaultTimeoutService.pinProtectedKey = await this.cryptoService.encrypt(key.key, pinKey);\r\n }\r\n this.setKeyAndContinue(key);\r\n } else {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidMasterPassword'));\r\n }\r\n }\r\n }\r\n\r\n async logOut() {\r\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('logOutConfirmation'),\r\n this.i18nService.t('logOut'), this.i18nService.t('logOut'), this.i18nService.t('cancel'));\r\n if (confirmed) {\r\n this.messagingService.send('logout');\r\n }\r\n }\r\n\r\n async unlockBiometric() {\r\n if (!this.biometricLock) {\r\n return;\r\n }\r\n const success = await this.platformUtilsService.authenticateBiometric();\r\n\r\n if (success) {\r\n await this.doContinue();\r\n }\r\n }\r\n\r\n togglePassword() {\r\n this.platformUtilsService.eventTrack('Toggled Master Password on Unlock');\r\n this.showPassword = !this.showPassword;\r\n document.getElementById(this.pinLock ? 'pin' : 'masterPassword').focus();\r\n }\r\n\r\n private async setKeyAndContinue(key: SymmetricCryptoKey) {\r\n await this.cryptoService.setKey(key);\r\n this.doContinue();\r\n }\r\n\r\n private async doContinue() {\r\n this.vaultTimeoutService.biometricLocked = false;\r\n const disableFavicon = await this.storageService.get(ConstantsService.disableFaviconKey);\r\n await this.stateService.save(ConstantsService.disableFaviconKey, !!disableFavicon);\r\n this.messagingService.send('unlocked');\r\n if (this.onSuccessfulSubmit != null) {\r\n this.onSuccessfulSubmit();\r\n } else if (this.router != null) {\r\n this.router.navigate([this.successRoute]);\r\n }\r\n }\r\n}\r\n","import {\r\n Directive,\r\n Input,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport { Router } from '@angular/router';\r\n\r\nimport { AuthResult } from '../../models/domain/authResult';\r\n\r\nimport { AuthService } from '../../abstractions/auth.service';\r\nimport { CryptoFunctionService } from '../../abstractions/cryptoFunction.service';\r\nimport { EnvironmentService } from '../../abstractions/environment.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\nimport { StateService } from '../../abstractions/state.service';\r\nimport { StorageService } from '../../abstractions/storage.service';\r\n\r\nimport { ConstantsService } from '../../services/constants.service';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\nconst Keys = {\r\n rememberedEmail: 'rememberedEmail',\r\n rememberEmail: 'rememberEmail',\r\n};\r\n\r\n@Directive()\r\nexport class LoginComponent implements OnInit {\r\n @Input() email: string = '';\r\n @Input() rememberEmail = true;\r\n\r\n masterPassword: string = '';\r\n showPassword: boolean = false;\r\n formPromise: Promise;\r\n onSuccessfulLogin: () => Promise;\r\n onSuccessfulLoginNavigate: () => Promise;\r\n onSuccessfulLoginTwoFactorNavigate: () => Promise;\r\n\r\n protected twoFactorRoute = '2fa';\r\n protected successRoute = 'vault';\r\n\r\n constructor(protected authService: AuthService, protected router: Router,\r\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\r\n protected stateService: StateService, protected environmentService: EnvironmentService,\r\n protected passwordGenerationService: PasswordGenerationService,\r\n protected cryptoFunctionService: CryptoFunctionService, private storageService: StorageService) { }\r\n\r\n async ngOnInit() {\r\n if (this.email == null || this.email === '') {\r\n this.email = await this.storageService.get(Keys.rememberedEmail);\r\n if (this.email == null) {\r\n this.email = '';\r\n }\r\n }\r\n this.rememberEmail = await this.storageService.get(Keys.rememberEmail);\r\n if (this.rememberEmail == null) {\r\n this.rememberEmail = true;\r\n }\r\n if (Utils.isBrowser) {\r\n document.getElementById(this.email == null || this.email === '' ? 'email' : 'masterPassword').focus();\r\n }\r\n }\r\n\r\n async submit() {\r\n if (this.email == null || this.email === '') {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('emailRequired'));\r\n return;\r\n }\r\n if (this.email.indexOf('@') === -1) {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidEmail'));\r\n return;\r\n }\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n\r\n try {\r\n this.formPromise = this.authService.logIn(this.email, this.masterPassword);\r\n const response = await this.formPromise;\r\n await this.storageService.save(Keys.rememberEmail, this.rememberEmail);\r\n if (this.rememberEmail) {\r\n await this.storageService.save(Keys.rememberedEmail, this.email);\r\n } else {\r\n await this.storageService.remove(Keys.rememberedEmail);\r\n }\r\n if (response.twoFactor) {\r\n this.platformUtilsService.eventTrack('Logged In To Two-step');\r\n if (this.onSuccessfulLoginTwoFactorNavigate != null) {\r\n this.onSuccessfulLoginTwoFactorNavigate();\r\n } else {\r\n this.router.navigate([this.twoFactorRoute]);\r\n }\r\n } else {\r\n const disableFavicon = await this.storageService.get(ConstantsService.disableFaviconKey);\r\n await this.stateService.save(ConstantsService.disableFaviconKey, !!disableFavicon);\r\n if (this.onSuccessfulLogin != null) {\r\n this.onSuccessfulLogin();\r\n }\r\n this.platformUtilsService.eventTrack('Logged In');\r\n if (this.onSuccessfulLoginNavigate != null) {\r\n this.onSuccessfulLoginNavigate();\r\n } else {\r\n this.router.navigate([this.successRoute]);\r\n }\r\n }\r\n } catch { }\r\n }\r\n\r\n togglePassword() {\r\n this.platformUtilsService.eventTrack('Toggled Master Password on Login');\r\n this.showPassword = !this.showPassword;\r\n document.getElementById('masterPassword').focus();\r\n }\r\n\r\n async launchSsoBrowser(clientId: string, ssoRedirectUri: string) {\r\n // Generate necessary sso params\r\n const passwordOptions: any = {\r\n type: 'password',\r\n length: 64,\r\n uppercase: true,\r\n lowercase: true,\r\n numbers: true,\r\n special: false,\r\n };\r\n const state = await this.passwordGenerationService.generatePassword(passwordOptions);\r\n const ssoCodeVerifier = await this.passwordGenerationService.generatePassword(passwordOptions);\r\n const codeVerifierHash = await this.cryptoFunctionService.hash(ssoCodeVerifier, 'sha256');\r\n const codeChallenge = Utils.fromBufferToUrlB64(codeVerifierHash);\r\n\r\n // Save sso params\r\n await this.storageService.save(ConstantsService.ssoStateKey, state);\r\n await this.storageService.save(ConstantsService.ssoCodeVerifierKey, ssoCodeVerifier);\r\n\r\n // Build URI\r\n const webUrl = this.environmentService.getWebVaultUrl() == null ? 'https://vault.bitwarden.com' :\r\n this.environmentService.getWebVaultUrl();\r\n\r\n // Launch browser\r\n this.platformUtilsService.launchUri(webUrl + '/#/sso?clientId=' + clientId +\r\n '&redirectUri=' + encodeURIComponent(ssoRedirectUri) +\r\n '&state=' + state + '&codeChallenge=' + codeChallenge);\r\n }\r\n}\r\n","export class DeleteRecoverRequest {\r\n email: string;\r\n}\r\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\r\n\r\nexport class TwoFactorRecoveryRequest extends PasswordVerificationRequest {\r\n recoveryCode: string;\r\n email: string;\r\n}\r\n","import { Router } from '@angular/router';\r\n\r\nimport { KeysRequest } from '../../models/request/keysRequest';\r\nimport { ReferenceEventRequest } from '../../models/request/referenceEventRequest';\r\nimport { RegisterRequest } from '../../models/request/registerRequest';\r\n\r\nimport { ApiService } from '../../abstractions/api.service';\r\nimport { AuthService } from '../../abstractions/auth.service';\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\nimport { StateService } from '../../abstractions/state.service';\r\n\r\nimport { KdfType } from '../../enums/kdfType';\r\n\r\nexport class RegisterComponent {\r\n name: string = '';\r\n email: string = '';\r\n masterPassword: string = '';\r\n confirmMasterPassword: string = '';\r\n hint: string = '';\r\n showPassword: boolean = false;\r\n formPromise: Promise;\r\n masterPasswordScore: number;\r\n referenceData: ReferenceEventRequest;\r\n showTerms = true;\r\n acceptPolicies: boolean = false;\r\n\r\n protected successRoute = 'login';\r\n private masterPasswordStrengthTimeout: any;\r\n\r\n constructor(protected authService: AuthService, protected router: Router,\r\n protected i18nService: I18nService, protected cryptoService: CryptoService,\r\n protected apiService: ApiService, protected stateService: StateService,\r\n protected platformUtilsService: PlatformUtilsService,\r\n protected passwordGenerationService: PasswordGenerationService) {\r\n this.showTerms = !platformUtilsService.isSelfHost();\r\n }\r\n\r\n get masterPasswordScoreWidth() {\r\n return this.masterPasswordScore == null ? 0 : (this.masterPasswordScore + 1) * 20;\r\n }\r\n\r\n get masterPasswordScoreColor() {\r\n switch (this.masterPasswordScore) {\r\n case 4:\r\n return 'success';\r\n case 3:\r\n return 'primary';\r\n case 2:\r\n return 'warning';\r\n default:\r\n return 'danger';\r\n }\r\n }\r\n\r\n get masterPasswordScoreText() {\r\n switch (this.masterPasswordScore) {\r\n case 4:\r\n return this.i18nService.t('strong');\r\n case 3:\r\n return this.i18nService.t('good');\r\n case 2:\r\n return this.i18nService.t('weak');\r\n default:\r\n return this.masterPasswordScore != null ? this.i18nService.t('weak') : null;\r\n }\r\n }\r\n\r\n async submit() {\r\n if (!this.acceptPolicies && this.showTerms) {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('acceptPoliciesError'));\r\n return;\r\n }\r\n\r\n if (this.email == null || this.email === '') {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('emailRequired'));\r\n return;\r\n }\r\n if (this.email.indexOf('@') === -1) {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidEmail'));\r\n return;\r\n }\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassRequired'));\r\n return;\r\n }\r\n if (this.masterPassword.length < 8) {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassLength'));\r\n return;\r\n }\r\n if (this.masterPassword !== this.confirmMasterPassword) {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('masterPassDoesntMatch'));\r\n return;\r\n }\r\n\r\n const strengthResult = this.passwordGenerationService.passwordStrength(this.masterPassword,\r\n this.getPasswordStrengthUserInput());\r\n if (strengthResult != null && strengthResult.score < 3) {\r\n const result = await this.platformUtilsService.showDialog(this.i18nService.t('weakMasterPasswordDesc'),\r\n this.i18nService.t('weakMasterPassword'), this.i18nService.t('yes'), this.i18nService.t('no'),\r\n 'warning');\r\n if (!result) {\r\n return;\r\n }\r\n }\r\n\r\n this.name = this.name === '' ? null : this.name;\r\n this.email = this.email.trim().toLowerCase();\r\n const kdf = KdfType.PBKDF2_SHA256;\r\n const useLowerKdf = this.platformUtilsService.isIE();\r\n const kdfIterations = useLowerKdf ? 10000 : 100000;\r\n const key = await this.cryptoService.makeKey(this.masterPassword, this.email, kdf, kdfIterations);\r\n const encKey = await this.cryptoService.makeEncKey(key);\r\n const hashedPassword = await this.cryptoService.hashPassword(this.masterPassword, key);\r\n const keys = await this.cryptoService.makeKeyPair(encKey[0]);\r\n const request = new RegisterRequest(this.email, this.name, hashedPassword,\r\n this.hint, encKey[1].encryptedString, kdf, kdfIterations, this.referenceData);\r\n request.keys = new KeysRequest(keys[0], keys[1].encryptedString);\r\n const orgInvite = await this.stateService.get('orgInvitation');\r\n if (orgInvite != null && orgInvite.token != null && orgInvite.organizationUserId != null) {\r\n request.token = orgInvite.token;\r\n request.organizationUserId = orgInvite.organizationUserId;\r\n }\r\n\r\n try {\r\n this.formPromise = this.apiService.postRegister(request);\r\n await this.formPromise;\r\n this.platformUtilsService.eventTrack('Registered');\r\n this.platformUtilsService.showToast('success', null, this.i18nService.t('newAccountCreated'));\r\n this.router.navigate([this.successRoute], { queryParams: { email: this.email } });\r\n } catch { }\r\n }\r\n\r\n togglePassword(confirmField: boolean) {\r\n this.platformUtilsService.eventTrack('Toggled Master Password on Register');\r\n this.showPassword = !this.showPassword;\r\n document.getElementById(confirmField ? 'masterPasswordRetype' : 'masterPassword').focus();\r\n }\r\n\r\n updatePasswordStrength() {\r\n if (this.masterPasswordStrengthTimeout != null) {\r\n clearTimeout(this.masterPasswordStrengthTimeout);\r\n }\r\n this.masterPasswordStrengthTimeout = setTimeout(() => {\r\n const strengthResult = this.passwordGenerationService.passwordStrength(this.masterPassword,\r\n this.getPasswordStrengthUserInput());\r\n this.masterPasswordScore = strengthResult == null ? null : strengthResult.score;\r\n }, 300);\r\n }\r\n\r\n private getPasswordStrengthUserInput() {\r\n let userInput: string[] = [];\r\n const atPosition = this.email.indexOf('@');\r\n if (atPosition > -1) {\r\n userInput = userInput.concat(this.email.substr(0, atPosition).trim().toLowerCase().split(/[^A-Za-z0-9]/));\r\n }\r\n if (this.name != null && this.name !== '') {\r\n userInput = userInput.concat(this.name.trim().toLowerCase().split(' '));\r\n }\r\n return userInput;\r\n }\r\n}\r\n","import { KeysRequest } from './keysRequest';\r\nimport { ReferenceEventRequest } from './referenceEventRequest';\r\n\r\nimport { KdfType } from '../../enums/kdfType';\r\n\r\nexport class RegisterRequest {\r\n name: string;\r\n email: string;\r\n masterPasswordHash: string;\r\n masterPasswordHint: string;\r\n key: string;\r\n keys: KeysRequest;\r\n token: string;\r\n organizationUserId: string;\r\n kdf: KdfType;\r\n kdfIterations: number;\r\n referenceData: ReferenceEventRequest;\r\n\r\n constructor(email: string, name: string, masterPasswordHash: string, masterPasswordHint: string, key: string,\r\n kdf: KdfType, kdfIterations: number, referenceData: ReferenceEventRequest) {\r\n this.name = name;\r\n this.email = email;\r\n this.masterPasswordHash = masterPasswordHash;\r\n this.masterPasswordHint = masterPasswordHint ? masterPasswordHint : null;\r\n this.key = key;\r\n this.kdf = kdf;\r\n this.kdfIterations = kdfIterations;\r\n this.referenceData = referenceData;\r\n }\r\n}\r\n","export class ReferenceEventRequest {\r\n id: string;\r\n layout: string;\r\n flow: string;\r\n}\r\n","import {\r\n ActivatedRoute,\r\n Router\r\n} from '@angular/router';\r\n\r\nimport { ApiService } from '../../abstractions/api.service';\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { MessagingService } from '../../abstractions/messaging.service';\r\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\nimport { PolicyService } from '../../abstractions/policy.service';\r\nimport { SyncService } from '../../abstractions/sync.service';\r\nimport { UserService } from '../../abstractions/user.service';\r\n\r\nimport { CipherString } from '../../models/domain/cipherString';\r\nimport { SymmetricCryptoKey } from '../../models/domain/symmetricCryptoKey';\r\n\r\nimport { KeysRequest } from '../../models/request/keysRequest';\r\nimport { SetPasswordRequest } from '../../models/request/setPasswordRequest';\r\n\r\nimport { ChangePasswordComponent as BaseChangePasswordComponent } from './change-password.component';\r\n\r\nimport { KdfType } from '../../enums/kdfType';\r\n\r\nexport class SetPasswordComponent extends BaseChangePasswordComponent {\r\n syncLoading: boolean = true;\r\n showPassword: boolean = false;\r\n hint: string = '';\r\n identifier: string = null;\r\n\r\n onSuccessfulChangePassword: () => Promise;\r\n successRoute = 'vault';\r\n\r\n constructor(i18nService: I18nService, cryptoService: CryptoService, messagingService: MessagingService,\r\n userService: UserService, passwordGenerationService: PasswordGenerationService,\r\n platformUtilsService: PlatformUtilsService, policyService: PolicyService, private router: Router,\r\n private apiService: ApiService, private syncService: SyncService, private route: ActivatedRoute) {\r\n super(i18nService, cryptoService, messagingService, userService, passwordGenerationService,\r\n platformUtilsService, policyService);\r\n }\r\n\r\n async ngOnInit() {\r\n await this.syncService.fullSync(true);\r\n this.syncLoading = false;\r\n\r\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\r\n if (qParams.identifier != null) {\r\n this.identifier = qParams.identifier;\r\n }\r\n\r\n if (queryParamsSub != null) {\r\n queryParamsSub.unsubscribe();\r\n }\r\n });\r\n\r\n super.ngOnInit();\r\n }\r\n\r\n async setupSubmitActions() {\r\n this.kdf = KdfType.PBKDF2_SHA256;\r\n const useLowerKdf = this.platformUtilsService.isIE();\r\n this.kdfIterations = useLowerKdf ? 10000 : 100000;\r\n return true;\r\n }\r\n\r\n async performSubmitActions(masterPasswordHash: string, key: SymmetricCryptoKey,\r\n encKey: [SymmetricCryptoKey, CipherString]) {\r\n const request = new SetPasswordRequest();\r\n request.masterPasswordHash = masterPasswordHash;\r\n request.key = encKey[1].encryptedString;\r\n request.masterPasswordHint = this.hint;\r\n request.kdf = this.kdf;\r\n request.kdfIterations = this.kdfIterations;\r\n request.orgIdentifier = this.identifier;\r\n\r\n const keys = await this.cryptoService.makeKeyPair(encKey[0]);\r\n request.keys = new KeysRequest(keys[0], keys[1].encryptedString);\r\n\r\n try {\r\n this.formPromise = this.apiService.setPassword(request);\r\n await this.formPromise;\r\n\r\n await this.userService.setInformation(await this.userService.getUserId(), await this.userService.getEmail(),\r\n this.kdf, this.kdfIterations);\r\n await this.cryptoService.setKey(key);\r\n await this.cryptoService.setKeyHash(masterPasswordHash);\r\n await this.cryptoService.setEncKey(encKey[1].encryptedString);\r\n await this.cryptoService.setEncPrivateKey(keys[1].encryptedString);\r\n\r\n if (this.onSuccessfulChangePassword != null) {\r\n this.onSuccessfulChangePassword();\r\n } else {\r\n this.router.navigate([this.successRoute]);\r\n }\r\n } catch {\r\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\r\n }\r\n }\r\n\r\n togglePassword(confirmField: boolean) {\r\n this.platformUtilsService.eventTrack('Toggled Master Password on Set Password');\r\n this.showPassword = !this.showPassword;\r\n document.getElementById(confirmField ? 'masterPasswordRetype' : 'masterPassword').focus();\r\n }\r\n}\r\n","import { KeysRequest } from './keysRequest';\r\n\r\nimport { KdfType } from '../../enums/kdfType';\r\n\r\nexport class SetPasswordRequest {\r\n masterPasswordHash: string;\r\n key: string;\r\n masterPasswordHint: string;\r\n keys: KeysRequest;\r\n kdf: KdfType;\r\n kdfIterations: number;\r\n orgIdentifier: string;\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nimport { AuthService } from '../../abstractions/auth.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\n@Directive()\r\nexport class TwoFactorOptionsComponent implements OnInit {\r\n @Output() onProviderSelected = new EventEmitter();\r\n @Output() onRecoverSelected = new EventEmitter();\r\n\r\n providers: any[] = [];\r\n\r\n constructor(protected authService: AuthService, protected router: Router,\r\n protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,\r\n protected win: Window) { }\r\n\r\n ngOnInit() {\r\n this.providers = this.authService.getSupportedTwoFactorProviders(this.win);\r\n }\r\n\r\n choose(p: any) {\r\n this.onProviderSelected.emit(p.type);\r\n }\r\n\r\n recover() {\r\n this.platformUtilsService.eventTrack('Selected Recover');\r\n this.platformUtilsService.launchUri('https://help.bitwarden.com/article/lost-two-step-device/');\r\n this.onRecoverSelected.emit();\r\n }\r\n}\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n EventEmitter,\r\n OnDestroy,\r\n Output,\r\n Type,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\nimport { MessagingService } from '../../abstractions/messaging.service';\r\n\r\n@Component({\r\n selector: 'app-modal',\r\n template: ``,\r\n})\r\nexport class ModalComponent implements OnDestroy {\r\n @Output() onClose = new EventEmitter();\r\n @Output() onClosed = new EventEmitter();\r\n @Output() onShow = new EventEmitter();\r\n @Output() onShown = new EventEmitter();\r\n @ViewChild('container', { read: ViewContainerRef, static: true }) container: ViewContainerRef;\r\n parentContainer: ViewContainerRef = null;\r\n fade: boolean = true;\r\n\r\n constructor(protected componentFactoryResolver: ComponentFactoryResolver,\r\n protected messagingService: MessagingService) { }\r\n\r\n ngOnDestroy() {\r\n document.body.classList.remove('modal-open');\r\n document.body.removeChild(document.querySelector('.modal-backdrop'));\r\n }\r\n\r\n show(type: Type, parentContainer: ViewContainerRef, fade: boolean = true,\r\n setComponentParameters: (component: T) => void = null): T {\r\n this.onShow.emit();\r\n this.messagingService.send('modalShow');\r\n this.parentContainer = parentContainer;\r\n this.fade = fade;\r\n\r\n document.body.classList.add('modal-open');\r\n const backdrop = document.createElement('div');\r\n backdrop.className = 'modal-backdrop' + (this.fade ? ' fade' : '');\r\n document.body.appendChild(backdrop);\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(type);\r\n const componentRef = this.container.createComponent(factory);\r\n if (setComponentParameters != null) {\r\n setComponentParameters(componentRef.instance);\r\n }\r\n\r\n document.querySelector('.modal-dialog').addEventListener('click', (e: Event) => {\r\n e.stopPropagation();\r\n });\r\n\r\n const modals = Array.from(document.querySelectorAll('.modal, .modal *[data-dismiss=\"modal\"]'));\r\n for (const closeElement of modals) {\r\n closeElement.addEventListener('click', (event) => {\r\n this.close();\r\n });\r\n }\r\n\r\n this.onShown.emit();\r\n this.messagingService.send('modalShown');\r\n return componentRef.instance;\r\n }\r\n\r\n close() {\r\n this.onClose.emit();\r\n this.messagingService.send('modalClose');\r\n this.onClosed.emit();\r\n this.messagingService.send('modalClosed');\r\n if (this.parentContainer != null) {\r\n this.parentContainer.clear();\r\n }\r\n }\r\n}\r\n","import {\r\n OnDestroy,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\nimport {\r\n ActivatedRoute,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nimport { TwoFactorEmailRequest } from '../../models/request/twoFactorEmailRequest';\r\n\r\nimport { AuthResult } from '../../models/domain';\r\n\r\nimport { ApiService } from '../../abstractions/api.service';\r\nimport { AuthService } from '../../abstractions/auth.service';\r\nimport { EnvironmentService } from '../../abstractions/environment.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\nimport { StateService } from '../../abstractions/state.service';\r\nimport { StorageService } from '../../abstractions/storage.service';\r\n\r\nimport { TwoFactorProviders } from '../../services/auth.service';\r\nimport { ConstantsService } from '../../services/constants.service';\r\n\r\nimport * as DuoWebSDK from 'duo_web_sdk';\r\nimport { U2f } from '../../misc/u2f';\r\n\r\nexport class TwoFactorComponent implements OnInit, OnDestroy {\r\n token: string = '';\r\n remember: boolean = false;\r\n u2fReady: boolean = false;\r\n initU2f: boolean = true;\r\n providers = TwoFactorProviders;\r\n providerType = TwoFactorProviderType;\r\n selectedProviderType: TwoFactorProviderType = TwoFactorProviderType.Authenticator;\r\n u2fSupported: boolean = false;\r\n u2f: U2f = null;\r\n title: string = '';\r\n twoFactorEmail: string = null;\r\n formPromise: Promise;\r\n emailPromise: Promise;\r\n identifier: string = null;\r\n onSuccessfulLogin: () => Promise;\r\n onSuccessfulLoginNavigate: () => Promise;\r\n\r\n protected loginRoute = 'login';\r\n protected successRoute = 'vault';\r\n\r\n constructor(protected authService: AuthService, protected router: Router,\r\n protected i18nService: I18nService, protected apiService: ApiService,\r\n protected platformUtilsService: PlatformUtilsService, protected win: Window,\r\n protected environmentService: EnvironmentService, protected stateService: StateService,\r\n protected storageService: StorageService, protected route: ActivatedRoute) {\r\n this.u2fSupported = this.platformUtilsService.supportsU2f(win);\r\n }\r\n\r\n async ngOnInit() {\r\n if (!this.authing || this.authService.twoFactorProvidersData == null) {\r\n this.router.navigate([this.loginRoute]);\r\n return;\r\n }\r\n\r\n const queryParamsSub = this.route.queryParams.subscribe(async (qParams) => {\r\n if (qParams.identifier != null) {\r\n this.identifier = qParams.identifier;\r\n }\r\n\r\n if (queryParamsSub != null) {\r\n queryParamsSub.unsubscribe();\r\n }\r\n });\r\n\r\n if (this.needsLock) {\r\n this.successRoute = 'lock';\r\n }\r\n\r\n if (this.initU2f && this.win != null && this.u2fSupported) {\r\n let customWebVaultUrl: string = null;\r\n if (this.environmentService.baseUrl != null) {\r\n customWebVaultUrl = this.environmentService.baseUrl;\r\n } else if (this.environmentService.webVaultUrl != null) {\r\n customWebVaultUrl = this.environmentService.webVaultUrl;\r\n }\r\n\r\n this.u2f = new U2f(this.win, customWebVaultUrl, (token: string) => {\r\n this.token = token;\r\n this.submit();\r\n }, (error: string) => {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'), error);\r\n }, (info: string) => {\r\n if (info === 'ready') {\r\n this.u2fReady = true;\r\n }\r\n });\r\n }\r\n\r\n this.selectedProviderType = this.authService.getDefaultTwoFactorProvider(this.u2fSupported);\r\n await this.init();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.cleanupU2f();\r\n this.u2f = null;\r\n }\r\n\r\n async init() {\r\n if (this.selectedProviderType == null) {\r\n this.title = this.i18nService.t('loginUnavailable');\r\n return;\r\n }\r\n\r\n this.cleanupU2f();\r\n this.title = (TwoFactorProviders as any)[this.selectedProviderType].name;\r\n const providerData = this.authService.twoFactorProvidersData.get(this.selectedProviderType);\r\n switch (this.selectedProviderType) {\r\n case TwoFactorProviderType.U2f:\r\n if (!this.u2fSupported || this.u2f == null) {\r\n break;\r\n }\r\n\r\n if (providerData.Challenge != null) {\r\n setTimeout(() => {\r\n this.u2f.init(JSON.parse(providerData.Challenge));\r\n }, 500);\r\n } else {\r\n // TODO: Deprecated. Remove in future version.\r\n const challenges = JSON.parse(providerData.Challenges);\r\n if (challenges != null && challenges.length > 0) {\r\n this.u2f.init({\r\n appId: challenges[0].appId,\r\n challenge: challenges[0].challenge,\r\n keys: challenges.map((c: any) => {\r\n return {\r\n version: c.version,\r\n keyHandle: c.keyHandle,\r\n };\r\n }),\r\n });\r\n }\r\n }\r\n break;\r\n case TwoFactorProviderType.Duo:\r\n case TwoFactorProviderType.OrganizationDuo:\r\n setTimeout(() => {\r\n DuoWebSDK.init({\r\n iframe: undefined,\r\n host: providerData.Host,\r\n sig_request: providerData.Signature,\r\n submit_callback: async (f: HTMLFormElement) => {\r\n const sig = f.querySelector('input[name=\"sig_response\"]') as HTMLInputElement;\r\n if (sig != null) {\r\n this.token = sig.value;\r\n await this.submit();\r\n }\r\n },\r\n });\r\n }, 0);\r\n break;\r\n case TwoFactorProviderType.Email:\r\n this.twoFactorEmail = providerData.Email;\r\n if (this.authService.twoFactorProvidersData.size > 1) {\r\n await this.sendEmail(false);\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n async submit() {\r\n if (this.token == null || this.token === '') {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('verificationCodeRequired'));\r\n return;\r\n }\r\n\r\n if (this.selectedProviderType === TwoFactorProviderType.U2f) {\r\n if (this.u2f != null) {\r\n this.u2f.stop();\r\n } else {\r\n return;\r\n }\r\n } else if (this.selectedProviderType === TwoFactorProviderType.Email ||\r\n this.selectedProviderType === TwoFactorProviderType.Authenticator) {\r\n this.token = this.token.replace(' ', '').trim();\r\n }\r\n\r\n try {\r\n this.formPromise = this.authService.logInTwoFactor(this.selectedProviderType, this.token, this.remember);\r\n const response: AuthResult = await this.formPromise;\r\n const disableFavicon = await this.storageService.get(ConstantsService.disableFaviconKey);\r\n await this.stateService.save(ConstantsService.disableFaviconKey, !!disableFavicon);\r\n if (this.onSuccessfulLogin != null) {\r\n this.onSuccessfulLogin();\r\n }\r\n this.platformUtilsService.eventTrack('Logged In From Two-step');\r\n if (response.resetMasterPassword) {\r\n this.successRoute = 'set-password';\r\n }\r\n if (this.onSuccessfulLoginNavigate != null) {\r\n this.onSuccessfulLoginNavigate();\r\n } else {\r\n this.router.navigate([this.successRoute], {\r\n queryParams: {\r\n identifier: this.identifier,\r\n },\r\n });\r\n }\r\n } catch {\r\n if (this.selectedProviderType === TwoFactorProviderType.U2f && this.u2f != null) {\r\n this.u2f.start();\r\n }\r\n }\r\n }\r\n\r\n async sendEmail(doToast: boolean) {\r\n if (this.selectedProviderType !== TwoFactorProviderType.Email) {\r\n return;\r\n }\r\n\r\n if (this.emailPromise != null) {\r\n return;\r\n }\r\n\r\n try {\r\n const request = new TwoFactorEmailRequest(this.authService.email, this.authService.masterPasswordHash);\r\n this.emailPromise = this.apiService.postTwoFactorEmail(request);\r\n await this.emailPromise;\r\n if (doToast) {\r\n this.platformUtilsService.showToast('success', null,\r\n this.i18nService.t('verificationCodeEmailSent', this.twoFactorEmail));\r\n }\r\n } catch { }\r\n\r\n this.emailPromise = null;\r\n }\r\n\r\n private cleanupU2f() {\r\n if (this.u2f != null) {\r\n this.u2f.stop();\r\n this.u2f.cleanup();\r\n }\r\n }\r\n\r\n get authing(): boolean {\r\n return this.authService.authingWithPassword() || this.authService.authingWithSso() || this.authService.authingWithApiKey()\r\n }\r\n\r\n get needsLock(): boolean {\r\n return this.authService.authingWithSso() || this.authService.authingWithApiKey();\r\n }\r\n}\r\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nexport class AuthResult {\r\n twoFactor: boolean = false;\r\n resetMasterPassword: boolean = false;\r\n twoFactorProviders: Map = null;\r\n}\r\n","import { DeviceType } from '../../enums/deviceType';\r\n\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nexport class DeviceRequest {\r\n type: DeviceType;\r\n name: string;\r\n identifier: string;\r\n pushToken?: string;\r\n\r\n constructor(appId: string, platformUtilsService: PlatformUtilsService) {\r\n this.type = platformUtilsService.getDevice();\r\n this.name = platformUtilsService.getDeviceString();\r\n this.identifier = appId;\r\n this.pushToken = null;\r\n }\r\n}\r\n","export class PreloginRequest {\r\n email: string;\r\n\r\n constructor(email: string) {\r\n this.email = email;\r\n }\r\n}\r\n","import { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nimport { DeviceRequest } from './deviceRequest';\r\n\r\nexport class TokenRequest {\r\n email: string;\r\n masterPasswordHash: string;\r\n code: string;\r\n codeVerifier: string;\r\n redirectUri: string;\r\n clientId: string;\r\n clientSecret: string;\r\n token: string;\r\n provider: TwoFactorProviderType;\r\n remember: boolean;\r\n device?: DeviceRequest;\r\n\r\n constructor(credentials: string[], codes: string[], clientIdClientSecret: string[], provider: TwoFactorProviderType,\r\n token: string, remember: boolean, device?: DeviceRequest) {\r\n if (credentials != null && credentials.length > 1) {\r\n this.email = credentials[0];\r\n this.masterPasswordHash = credentials[1];\r\n } else if (codes != null && codes.length > 2) {\r\n this.code = codes[0];\r\n this.codeVerifier = codes[1];\r\n this.redirectUri = codes[2];\r\n } else if (clientIdClientSecret != null && clientIdClientSecret.length > 1) {\r\n this.clientId = clientIdClientSecret[0]\r\n this.clientSecret = clientIdClientSecret[1]\r\n }\r\n this.token = token;\r\n this.provider = provider;\r\n this.remember = remember;\r\n this.device = device != null ? device : null;\r\n }\r\n\r\n toIdentityToken(clientId: string) {\r\n const obj: any = {\r\n scope: 'api offline_access',\r\n client_id: clientId,\r\n };\r\n\r\n if (this.clientSecret != null) {\r\n obj.scope = 'api';\r\n obj.grant_type = 'client_credentials';\r\n obj.client_secret = this.clientSecret;\r\n } else if (this.masterPasswordHash != null && this.email != null) {\r\n obj.grant_type = 'password';\r\n obj.username = this.email;\r\n obj.password = this.masterPasswordHash;\r\n } else if (this.code != null && this.codeVerifier != null && this.redirectUri != null) {\r\n obj.grant_type = 'authorization_code';\r\n obj.code = this.code;\r\n obj.code_verifier = this.codeVerifier;\r\n obj.redirect_uri = this.redirectUri;\r\n } else {\r\n throw new Error('must provide credentials or codes');\r\n }\r\n\r\n if (this.device) {\r\n obj.deviceType = this.device.type;\r\n obj.deviceIdentifier = this.device.identifier;\r\n obj.deviceName = this.device.name;\r\n // no push tokens for browser apps yet\r\n // obj.devicePushToken = this.device.pushToken;\r\n }\r\n\r\n if (this.token && this.provider != null) {\r\n obj.twoFactorToken = this.token;\r\n obj.twoFactorProvider = this.provider;\r\n obj.twoFactorRemember = this.remember ? '1' : '0';\r\n }\r\n\r\n return obj;\r\n }\r\n}\r\n","export class U2f {\r\n private iframe: HTMLIFrameElement = null;\r\n private connectorLink: HTMLAnchorElement;\r\n private parseFunction = this.parseMessage.bind(this);\r\n\r\n constructor(private win: Window, private webVaultUrl: string, private successCallback: Function,\r\n private errorCallback: Function, private infoCallback: Function) {\r\n this.connectorLink = win.document.createElement('a');\r\n this.webVaultUrl = webVaultUrl != null && webVaultUrl !== '' ? webVaultUrl : 'https://vault.bitwarden.com';\r\n }\r\n\r\n init(data: any): void {\r\n this.connectorLink.href = this.webVaultUrl + '/u2f-connector.html' +\r\n '?data=' + this.base64Encode(JSON.stringify(data)) +\r\n '&parent=' + encodeURIComponent(this.win.document.location.href) +\r\n '&v=1';\r\n\r\n this.iframe = this.win.document.getElementById('u2f_iframe') as HTMLIFrameElement;\r\n this.iframe.src = this.connectorLink.href;\r\n\r\n this.win.addEventListener('message', this.parseFunction, false);\r\n }\r\n\r\n stop() {\r\n this.sendMessage('stop');\r\n }\r\n\r\n start() {\r\n this.sendMessage('start');\r\n }\r\n\r\n sendMessage(message: any) {\r\n if (!this.iframe || !this.iframe.src || !this.iframe.contentWindow) {\r\n return;\r\n }\r\n\r\n this.iframe.contentWindow.postMessage(message, this.iframe.src);\r\n }\r\n\r\n base64Encode(str: string): string {\r\n return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (match, p1) => {\r\n return String.fromCharCode(('0x' + p1) as any);\r\n }));\r\n }\r\n\r\n cleanup() {\r\n this.win.removeEventListener('message', this.parseFunction, false);\r\n }\r\n\r\n private parseMessage(event: MessageEvent) {\r\n if (!this.validMessage(event)) {\r\n return;\r\n }\r\n\r\n const parts: string[] = event.data.split('|');\r\n if (parts[0] === 'success' && this.successCallback) {\r\n this.successCallback(parts[1]);\r\n } else if (parts[0] === 'error' && this.errorCallback) {\r\n this.errorCallback(parts[1]);\r\n } else if (parts[0] === 'info' && this.infoCallback) {\r\n this.infoCallback(parts[1]);\r\n }\r\n }\r\n\r\n private validMessage(event: MessageEvent) {\r\n if (event.origin == null || event.origin === '' || event.origin !== (this.connectorLink as any).origin ||\r\n event.data == null || typeof (event.data) !== 'string') {\r\n return false;\r\n }\r\n\r\n return event.data.indexOf('success|') === 0 || event.data.indexOf('error|') === 0 ||\r\n event.data.indexOf('info|') === 0;\r\n }\r\n}\r\n","export class VerifyEmailRequest {\r\n userId: string;\r\n token: string;\r\n\r\n constructor(userId: string, token: string) {\r\n this.userId = userId;\r\n this.token = token;\r\n }\r\n}\r\n","export class VerifyDeleteRecoverRequest {\r\n userId: string;\r\n token: string;\r\n\r\n constructor(userId: string, token: string) {\r\n this.userId = userId;\r\n this.token = token;\r\n }\r\n}\r\n","import { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\r\n\r\nexport class GroupRequest {\r\n name: string;\r\n accessAll: boolean;\r\n externalId: string;\r\n collections: SelectionReadOnlyRequest[] = [];\r\n}\r\n","import { OrganizationUserType } from '../../enums/organizationUserType';\r\n\r\nimport { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\r\n\r\nexport class OrganizationUserInviteRequest {\r\n emails: string[] = [];\r\n type: OrganizationUserType;\r\n accessAll: boolean;\r\n collections: SelectionReadOnlyRequest[] = [];\r\n}\r\n","import { OrganizationUserType } from '../../enums/organizationUserType';\r\n\r\nimport { SelectionReadOnlyRequest } from './selectionReadOnlyRequest';\r\n\r\nexport class OrganizationUserUpdateRequest {\r\n type: OrganizationUserType;\r\n accessAll: boolean;\r\n collections: SelectionReadOnlyRequest[] = [];\r\n}\r\n","export class OrganizationUserUpdateGroupsRequest {\r\n groupIds: string[] = [];\r\n}\r\n","export abstract class AppIdService {\r\n getAppId: () => Promise;\r\n getAnonymousAppId: () => Promise;\r\n}\r\n","import { LogLevelType } from '../enums/logLevelType';\r\n\r\nexport abstract class LogService {\r\n debug: (message: string) => void;\r\n info: (message: string) => void;\r\n warning: (message: string) => void;\r\n error: (message: string) => void;\r\n write: (level: LogLevelType, message: string) => void;\r\n}\r\n","import { PolicyType } from '../../enums/policyType';\r\n\r\nexport class PolicyRequest {\r\n type: PolicyType;\r\n enabled: boolean;\r\n data: any;\r\n}\r\n","export class OrganizationUpdateRequest {\r\n name: string;\r\n identifier: string;\r\n businessName: string;\r\n billingEmail: string;\r\n}\r\n","export enum TransactionType {\r\n Charge = 0,\r\n Credit = 1,\r\n PromotionalCredit = 2,\r\n ReferralCredit = 3,\r\n Refund = 4,\r\n}\r\n","export class VerifyBankRequest {\r\n amount1: number;\r\n amount2: number;\r\n}\r\n","export class BitPayInvoiceRequest {\r\n userId: string;\r\n organizationId: string;\r\n credit: boolean;\r\n amount: number;\r\n returnUrl: string;\r\n name: string;\r\n email: string;\r\n}\r\n","import { PaymentMethodType } from '../../enums/paymentMethodType';\r\nimport { OrganizationTaxInfoUpdateRequest } from '../request/organizationTaxInfoUpdateRequest';\r\n\r\nexport class PaymentRequest extends OrganizationTaxInfoUpdateRequest {\r\n paymentMethodType: PaymentMethodType;\r\n paymentToken: string;\r\n}\r\n","import { PaymentMethodType } from '../../enums/paymentMethodType';\r\nimport { PlanType } from '../../enums/planType';\r\n\r\nexport class OrganizationCreateRequest {\r\n name: string;\r\n businessName: string;\r\n billingEmail: string;\r\n planType: PlanType;\r\n key: string;\r\n paymentMethodType: PaymentMethodType;\r\n paymentToken: string;\r\n additionalSeats: number;\r\n additionalStorageGb: number;\r\n premiumAccessAddon: boolean;\r\n collectionName: string;\r\n taxIdNumber: string;\r\n billingAddressLine1: string;\r\n billingAddressLine2: string;\r\n billingAddressCity: string;\r\n billingAddressState: string;\r\n billingAddressPostalCode: string;\r\n billingAddressCountry: string;\r\n}\r\n","import { PlanType } from '../../enums/planType';\r\n\r\nexport class OrganizationUpgradeRequest {\r\n businessName: string;\r\n planType: PlanType;\r\n additionalSeats: number;\r\n additionalStorageGb: number;\r\n premiumAccessAddon: boolean;\r\n}\r\n","export class SeatRequest {\r\n seatAdjustment: number;\r\n}\r\n","export class StorageRequest {\r\n storageGbAdjustment: number;\r\n}\r\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\r\n\r\nexport class UpdateTwoFactorDuoRequest extends PasswordVerificationRequest {\r\n integrationKey: string;\r\n secretKey: string;\r\n host: string;\r\n}\r\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\r\n\r\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nexport class TwoFactorProviderRequest extends PasswordVerificationRequest {\r\n type: TwoFactorProviderType;\r\n}\r\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\r\n\r\nexport class UpdateTwoFactorAuthenticatorRequest extends PasswordVerificationRequest {\r\n token: string;\r\n key: string;\r\n}\r\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\r\n\r\nexport class UpdateTwoFactorEmailRequest extends PasswordVerificationRequest {\r\n token: string;\r\n email: string;\r\n}\r\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\r\n\r\nexport class UpdateTwoFactorU2fDeleteRequest extends PasswordVerificationRequest {\r\n id: number;\r\n}\r\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\r\n\r\nexport class UpdateTwoFactorU2fRequest extends PasswordVerificationRequest {\r\n deviceResponse: string;\r\n name: string;\r\n id: number;\r\n}\r\n","import { PasswordVerificationRequest } from './passwordVerificationRequest';\r\n\r\nexport class UpdateTwoFactorYubioOtpRequest extends PasswordVerificationRequest {\r\n key1: string;\r\n key2: string;\r\n key3: string;\r\n key4: string;\r\n key5: string;\r\n nfc: boolean;\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\nimport { EventService } from '../../abstractions/event.service';\r\nimport { ExportService } from '../../abstractions/export.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\nimport { EventType } from '../../enums/eventType';\r\n\r\n@Directive()\r\nexport class ExportComponent {\r\n @Output() onSaved = new EventEmitter();\r\n\r\n formPromise: Promise;\r\n masterPassword: string;\r\n format: 'json' | 'csv' = 'json';\r\n showPassword = false;\r\n\r\n constructor(protected cryptoService: CryptoService, protected i18nService: I18nService,\r\n protected platformUtilsService: PlatformUtilsService, protected exportService: ExportService,\r\n protected eventService: EventService, protected win: Window) { }\r\n\r\n async submit() {\r\n if (this.masterPassword == null || this.masterPassword === '') {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidMasterPassword'));\r\n return;\r\n }\r\n\r\n const keyHash = await this.cryptoService.hashPassword(this.masterPassword, null);\r\n const storedKeyHash = await this.cryptoService.getKeyHash();\r\n if (storedKeyHash != null && keyHash != null && storedKeyHash === keyHash) {\r\n try {\r\n this.formPromise = this.getExportData();\r\n const data = await this.formPromise;\r\n this.platformUtilsService.eventTrack('Exported Data');\r\n this.downloadFile(data);\r\n this.saved();\r\n await this.collectEvent();\r\n } catch { }\r\n } else {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('invalidMasterPassword'));\r\n }\r\n }\r\n\r\n togglePassword() {\r\n this.platformUtilsService.eventTrack('Toggled Master Password on Export');\r\n this.showPassword = !this.showPassword;\r\n document.getElementById('masterPassword').focus();\r\n }\r\n\r\n protected saved() {\r\n this.onSaved.emit();\r\n }\r\n\r\n protected getExportData() {\r\n return this.exportService.getExport(this.format);\r\n }\r\n\r\n protected getFileName(prefix?: string) {\r\n return this.exportService.getFileName(prefix, this.format);\r\n }\r\n\r\n protected async collectEvent(): Promise {\r\n await this.eventService.collect(EventType.User_ClientExportedVault);\r\n }\r\n\r\n private downloadFile(csv: string): void {\r\n const fileName = this.getFileName();\r\n this.platformUtilsService.saveFile(this.win, csv, { type: 'text/plain' }, fileName);\r\n }\r\n}\r\n","export class AttachmentRequest {\r\n fileName: string;\r\n key: string;\r\n}\r\n","import {\r\n CdkDragDrop,\r\n moveItemInArray,\r\n} from '@angular/cdk/drag-drop';\r\nimport {\r\n Directive,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { CipherType } from '../../enums/cipherType';\r\nimport { EventType } from '../../enums/eventType';\r\nimport { FieldType } from '../../enums/fieldType';\r\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\r\nimport { SecureNoteType } from '../../enums/secureNoteType';\r\nimport { UriMatchType } from '../../enums/uriMatchType';\r\n\r\nimport { AuditService } from '../../abstractions/audit.service';\r\nimport { CipherService } from '../../abstractions/cipher.service';\r\nimport { CollectionService } from '../../abstractions/collection.service';\r\nimport { EventService } from '../../abstractions/event.service';\r\nimport { FolderService } from '../../abstractions/folder.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { MessagingService } from '../../abstractions/messaging.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\nimport { StateService } from '../../abstractions/state.service';\r\nimport { UserService } from '../../abstractions/user.service';\r\n\r\nimport { Cipher } from '../../models/domain/cipher';\r\n\r\nimport { CardView } from '../../models/view/cardView';\r\nimport { CipherView } from '../../models/view/cipherView';\r\nimport { CollectionView } from '../../models/view/collectionView';\r\nimport { FieldView } from '../../models/view/fieldView';\r\nimport { FolderView } from '../../models/view/folderView';\r\nimport { IdentityView } from '../../models/view/identityView';\r\nimport { LoginUriView } from '../../models/view/loginUriView';\r\nimport { LoginView } from '../../models/view/loginView';\r\nimport { SecureNoteView } from '../../models/view/secureNoteView';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\n@Directive()\r\nexport class AddEditComponent implements OnInit {\r\n @Input() cloneMode: boolean = false;\r\n @Input() folderId: string = null;\r\n @Input() cipherId: string;\r\n @Input() type: CipherType;\r\n @Input() collectionIds: string[];\r\n @Input() organizationId: string = null;\r\n @Output() onSavedCipher = new EventEmitter();\r\n @Output() onDeletedCipher = new EventEmitter();\r\n @Output() onRestoredCipher = new EventEmitter();\r\n @Output() onCancelled = new EventEmitter();\r\n @Output() onEditAttachments = new EventEmitter();\r\n @Output() onShareCipher = new EventEmitter();\r\n @Output() onEditCollections = new EventEmitter();\r\n @Output() onGeneratePassword = new EventEmitter();\r\n\r\n editMode: boolean = false;\r\n cipher: CipherView;\r\n folders: FolderView[];\r\n collections: CollectionView[] = [];\r\n title: string;\r\n formPromise: Promise;\r\n deletePromise: Promise;\r\n restorePromise: Promise;\r\n checkPasswordPromise: Promise;\r\n showPassword: boolean = false;\r\n showCardCode: boolean = false;\r\n cipherType = CipherType;\r\n fieldType = FieldType;\r\n addFieldType: FieldType = FieldType.Text;\r\n typeOptions: any[];\r\n cardBrandOptions: any[];\r\n cardExpMonthOptions: any[];\r\n identityTitleOptions: any[];\r\n addFieldTypeOptions: any[];\r\n uriMatchOptions: any[];\r\n ownershipOptions: any[] = [];\r\n currentDate = new Date();\r\n\r\n protected writeableCollections: CollectionView[];\r\n private previousCipherId: string;\r\n\r\n constructor(protected cipherService: CipherService, protected folderService: FolderService,\r\n protected i18nService: I18nService, protected platformUtilsService: PlatformUtilsService,\r\n protected auditService: AuditService, protected stateService: StateService,\r\n protected userService: UserService, protected collectionService: CollectionService,\r\n protected messagingService: MessagingService, protected eventService: EventService) {\r\n this.typeOptions = [\r\n { name: i18nService.t('typeLogin'), value: CipherType.Login },\r\n { name: i18nService.t('typeCard'), value: CipherType.Card },\r\n { name: i18nService.t('typeIdentity'), value: CipherType.Identity },\r\n { name: i18nService.t('typeSecureNote'), value: CipherType.SecureNote },\r\n ];\r\n this.cardBrandOptions = [\r\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\r\n { name: 'Visa', value: 'Visa' },\r\n { name: 'Mastercard', value: 'Mastercard' },\r\n { name: 'American Express', value: 'Amex' },\r\n { name: 'Discover', value: 'Discover' },\r\n { name: 'Diners Club', value: 'Diners Club' },\r\n { name: 'JCB', value: 'JCB' },\r\n { name: 'Maestro', value: 'Maestro' },\r\n { name: 'UnionPay', value: 'UnionPay' },\r\n { name: i18nService.t('other'), value: 'Other' },\r\n ];\r\n this.cardExpMonthOptions = [\r\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\r\n { name: '01 - ' + i18nService.t('january'), value: '1' },\r\n { name: '02 - ' + i18nService.t('february'), value: '2' },\r\n { name: '03 - ' + i18nService.t('march'), value: '3' },\r\n { name: '04 - ' + i18nService.t('april'), value: '4' },\r\n { name: '05 - ' + i18nService.t('may'), value: '5' },\r\n { name: '06 - ' + i18nService.t('june'), value: '6' },\r\n { name: '07 - ' + i18nService.t('july'), value: '7' },\r\n { name: '08 - ' + i18nService.t('august'), value: '8' },\r\n { name: '09 - ' + i18nService.t('september'), value: '9' },\r\n { name: '10 - ' + i18nService.t('october'), value: '10' },\r\n { name: '11 - ' + i18nService.t('november'), value: '11' },\r\n { name: '12 - ' + i18nService.t('december'), value: '12' },\r\n ];\r\n this.identityTitleOptions = [\r\n { name: '-- ' + i18nService.t('select') + ' --', value: null },\r\n { name: i18nService.t('mr'), value: i18nService.t('mr') },\r\n { name: i18nService.t('mrs'), value: i18nService.t('mrs') },\r\n { name: i18nService.t('ms'), value: i18nService.t('ms') },\r\n { name: i18nService.t('dr'), value: i18nService.t('dr') },\r\n ];\r\n this.addFieldTypeOptions = [\r\n { name: i18nService.t('cfTypeText'), value: FieldType.Text },\r\n { name: i18nService.t('cfTypeHidden'), value: FieldType.Hidden },\r\n { name: i18nService.t('cfTypeBoolean'), value: FieldType.Boolean },\r\n ];\r\n this.uriMatchOptions = [\r\n { name: i18nService.t('defaultMatchDetection'), value: null },\r\n { name: i18nService.t('baseDomain'), value: UriMatchType.Domain },\r\n { name: i18nService.t('host'), value: UriMatchType.Host },\r\n { name: i18nService.t('startsWith'), value: UriMatchType.StartsWith },\r\n { name: i18nService.t('regEx'), value: UriMatchType.RegularExpression },\r\n { name: i18nService.t('exact'), value: UriMatchType.Exact },\r\n { name: i18nService.t('never'), value: UriMatchType.Never },\r\n ];\r\n }\r\n\r\n async ngOnInit() {\r\n await this.init();\r\n }\r\n\r\n async init() {\r\n const myEmail = await this.userService.getEmail();\r\n this.ownershipOptions.push({ name: myEmail, value: null });\r\n const orgs = await this.userService.getAllOrganizations();\r\n orgs.sort(Utils.getSortFunction(this.i18nService, 'name')).forEach((o) => {\r\n if (o.enabled && o.status === OrganizationUserStatusType.Confirmed) {\r\n this.ownershipOptions.push({ name: o.name, value: o.id });\r\n }\r\n });\r\n this.writeableCollections = await this.loadCollections();\r\n }\r\n\r\n async load() {\r\n this.editMode = this.cipherId != null;\r\n if (this.editMode) {\r\n this.editMode = true;\r\n if (this.cloneMode) {\r\n this.cloneMode = true;\r\n this.title = this.i18nService.t('addItem');\r\n } else {\r\n this.title = this.i18nService.t('editItem');\r\n }\r\n } else {\r\n this.title = this.i18nService.t('addItem');\r\n }\r\n\r\n const addEditCipherInfo: any = await this.stateService.get('addEditCipherInfo');\r\n if (addEditCipherInfo != null) {\r\n this.cipher = addEditCipherInfo.cipher;\r\n this.collectionIds = addEditCipherInfo.collectionIds;\r\n }\r\n await this.stateService.remove('addEditCipherInfo');\r\n\r\n if (this.cipher == null) {\r\n if (this.editMode) {\r\n const cipher = await this.loadCipher();\r\n this.cipher = await cipher.decrypt();\r\n\r\n // Adjust Cipher Name if Cloning\r\n if (this.cloneMode) {\r\n this.cipher.name += ' - ' + this.i18nService.t('clone');\r\n }\r\n } else {\r\n this.cipher = new CipherView();\r\n this.cipher.organizationId = this.organizationId == null ? null : this.organizationId;\r\n this.cipher.folderId = this.folderId;\r\n this.cipher.type = this.type == null ? CipherType.Login : this.type;\r\n this.cipher.login = new LoginView();\r\n this.cipher.login.uris = [new LoginUriView()];\r\n this.cipher.card = new CardView();\r\n this.cipher.identity = new IdentityView();\r\n this.cipher.secureNote = new SecureNoteView();\r\n this.cipher.secureNote.type = SecureNoteType.Generic;\r\n }\r\n }\r\n\r\n if (this.cipher != null && (!this.editMode || addEditCipherInfo != null || this.cloneMode)) {\r\n await this.organizationChanged();\r\n if (this.collectionIds != null && this.collectionIds.length > 0 && this.collections.length > 0) {\r\n this.collections.forEach((c) => {\r\n if (this.collectionIds.indexOf(c.id) > -1) {\r\n (c as any).checked = true;\r\n }\r\n });\r\n }\r\n }\r\n\r\n this.folders = await this.folderService.getAllDecrypted();\r\n\r\n if (this.editMode && this.previousCipherId !== this.cipherId) {\r\n this.eventService.collect(EventType.Cipher_ClientViewed, this.cipherId);\r\n }\r\n this.previousCipherId = this.cipherId;\r\n }\r\n\r\n async submit(): Promise {\r\n if (this.cipher.isDeleted) {\r\n return this.restore();\r\n }\r\n\r\n if (this.cipher.name == null || this.cipher.name === '') {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('nameRequired'));\r\n return false;\r\n }\r\n\r\n if ((!this.editMode || this.cloneMode) && this.cipher.type === CipherType.Login &&\r\n this.cipher.login.uris != null && this.cipher.login.uris.length === 1 &&\r\n (this.cipher.login.uris[0].uri == null || this.cipher.login.uris[0].uri === '')) {\r\n this.cipher.login.uris = null;\r\n }\r\n\r\n // Allows saving of selected collections during \"Add\" and \"Clone\" flows\r\n if ((!this.editMode || this.cloneMode) && this.cipher.organizationId != null) {\r\n this.cipher.collectionIds = this.collections == null ? [] :\r\n this.collections.filter((c) => (c as any).checked).map((c) => c.id);\r\n }\r\n\r\n // Clear current Cipher Id to trigger \"Add\" cipher flow\r\n if (this.cloneMode) {\r\n this.cipher.id = null;\r\n }\r\n\r\n const cipher = await this.encryptCipher();\r\n try {\r\n this.formPromise = this.saveCipher(cipher);\r\n await this.formPromise;\r\n this.cipher.id = cipher.id;\r\n this.platformUtilsService.eventTrack(this.editMode && !this.cloneMode ? 'Edited Cipher' : 'Added Cipher');\r\n this.platformUtilsService.showToast('success', null,\r\n this.i18nService.t(this.editMode && !this.cloneMode ? 'editedItem' : 'addedItem'));\r\n this.onSavedCipher.emit(this.cipher);\r\n this.messagingService.send(this.editMode && !this.cloneMode ? 'editedCipher' : 'addedCipher');\r\n return true;\r\n } catch { }\r\n\r\n return false;\r\n }\r\n\r\n addUri() {\r\n if (this.cipher.type !== CipherType.Login) {\r\n return;\r\n }\r\n\r\n if (this.cipher.login.uris == null) {\r\n this.cipher.login.uris = [];\r\n }\r\n\r\n this.cipher.login.uris.push(new LoginUriView());\r\n }\r\n\r\n removeUri(uri: LoginUriView) {\r\n if (this.cipher.type !== CipherType.Login || this.cipher.login.uris == null) {\r\n return;\r\n }\r\n\r\n const i = this.cipher.login.uris.indexOf(uri);\r\n if (i > -1) {\r\n this.cipher.login.uris.splice(i, 1);\r\n }\r\n }\r\n\r\n addField() {\r\n if (this.cipher.fields == null) {\r\n this.cipher.fields = [];\r\n }\r\n\r\n const f = new FieldView();\r\n f.type = this.addFieldType;\r\n f.newField = true;\r\n this.cipher.fields.push(f);\r\n }\r\n\r\n removeField(field: FieldView) {\r\n const i = this.cipher.fields.indexOf(field);\r\n if (i > -1) {\r\n this.cipher.fields.splice(i, 1);\r\n }\r\n }\r\n\r\n trackByFunction(index: number, item: any) {\r\n return index;\r\n }\r\n\r\n cancel() {\r\n this.onCancelled.emit(this.cipher);\r\n }\r\n\r\n attachments() {\r\n this.onEditAttachments.emit(this.cipher);\r\n }\r\n\r\n share() {\r\n this.onShareCipher.emit(this.cipher);\r\n }\r\n\r\n editCollections() {\r\n this.onEditCollections.emit(this.cipher);\r\n }\r\n\r\n async delete(): Promise {\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t(this.cipher.isDeleted ? 'permanentlyDeleteItemConfirmation' : 'deleteItemConfirmation'),\r\n this.i18nService.t('deleteItem'), this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n this.deletePromise = this.deleteCipher();\r\n await this.deletePromise;\r\n this.platformUtilsService.eventTrack((this.cipher.isDeleted ? 'Permanently ' : '') + 'Deleted Cipher');\r\n this.platformUtilsService.showToast('success', null,\r\n this.i18nService.t(this.cipher.isDeleted ? 'permanentlyDeletedItem' : 'deletedItem'));\r\n this.onDeletedCipher.emit(this.cipher);\r\n this.messagingService.send(this.cipher.isDeleted ? 'permanentlyDeletedCipher' : 'deletedCipher');\r\n } catch { }\r\n\r\n return true;\r\n }\r\n\r\n async restore(): Promise {\r\n if (!this.cipher.isDeleted) {\r\n return false;\r\n }\r\n\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('restoreItemConfirmation'), this.i18nService.t('restoreItem'),\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n this.restorePromise = this.restoreCipher();\r\n await this.restorePromise;\r\n this.platformUtilsService.eventTrack('Restored Cipher');\r\n this.platformUtilsService.showToast('success', null, this.i18nService.t('restoredItem'));\r\n this.onRestoredCipher.emit(this.cipher);\r\n this.messagingService.send('restoredCipher');\r\n } catch { }\r\n\r\n return true;\r\n }\r\n\r\n async generatePassword(): Promise {\r\n if (this.cipher.login != null && this.cipher.login.password != null && this.cipher.login.password.length) {\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('overwritePasswordConfirmation'), this.i18nService.t('overwritePassword'),\r\n this.i18nService.t('yes'), this.i18nService.t('no'));\r\n if (!confirmed) {\r\n return false;\r\n }\r\n }\r\n\r\n this.onGeneratePassword.emit();\r\n return true;\r\n }\r\n\r\n togglePassword() {\r\n this.platformUtilsService.eventTrack('Toggled Password on Edit');\r\n this.showPassword = !this.showPassword;\r\n document.getElementById('loginPassword').focus();\r\n if (this.editMode && this.showPassword) {\r\n this.eventService.collect(EventType.Cipher_ClientToggledPasswordVisible, this.cipherId);\r\n }\r\n }\r\n\r\n toggleCardCode() {\r\n this.platformUtilsService.eventTrack('Toggled CardCode on Edit');\r\n this.showCardCode = !this.showCardCode;\r\n document.getElementById('cardCode').focus();\r\n if (this.editMode && this.showCardCode) {\r\n this.eventService.collect(EventType.Cipher_ClientToggledCardCodeVisible, this.cipherId);\r\n }\r\n }\r\n\r\n toggleFieldValue(field: FieldView) {\r\n const f = (field as any);\r\n f.showValue = !f.showValue;\r\n if (this.editMode && f.showValue) {\r\n this.eventService.collect(EventType.Cipher_ClientToggledHiddenFieldVisible, this.cipherId);\r\n }\r\n }\r\n\r\n toggleUriOptions(uri: LoginUriView) {\r\n const u = (uri as any);\r\n u.showOptions = u.showOptions == null && uri.match != null ? false : !u.showOptions;\r\n }\r\n\r\n loginUriMatchChanged(uri: LoginUriView) {\r\n const u = (uri as any);\r\n u.showOptions = u.showOptions == null ? true : u.showOptions;\r\n }\r\n\r\n drop(event: CdkDragDrop) {\r\n moveItemInArray(this.cipher.fields, event.previousIndex, event.currentIndex);\r\n }\r\n\r\n async organizationChanged() {\r\n if (this.writeableCollections != null) {\r\n this.writeableCollections.forEach((c) => (c as any).checked = false);\r\n }\r\n if (this.cipher.organizationId != null) {\r\n this.collections = this.writeableCollections.filter((c) => c.organizationId === this.cipher.organizationId);\r\n const org = await this.userService.getOrganization(this.cipher.organizationId);\r\n if (org != null) {\r\n this.cipher.organizationUseTotp = org.useTotp;\r\n }\r\n } else {\r\n this.collections = [];\r\n }\r\n }\r\n\r\n async checkPassword() {\r\n if (this.checkPasswordPromise != null) {\r\n return;\r\n }\r\n\r\n if (this.cipher.login == null || this.cipher.login.password == null || this.cipher.login.password === '') {\r\n return;\r\n }\r\n\r\n this.platformUtilsService.eventTrack('Check Password');\r\n this.checkPasswordPromise = this.auditService.passwordLeaked(this.cipher.login.password);\r\n const matches = await this.checkPasswordPromise;\r\n this.checkPasswordPromise = null;\r\n\r\n if (matches > 0) {\r\n this.platformUtilsService.showToast('warning', null,\r\n this.i18nService.t('passwordExposed', matches.toString()));\r\n } else {\r\n this.platformUtilsService.showToast('success', null, this.i18nService.t('passwordSafe'));\r\n }\r\n }\r\n\r\n protected async loadCollections() {\r\n const allCollections = await this.collectionService.getAllDecrypted();\r\n return allCollections.filter((c) => !c.readOnly);\r\n }\r\n\r\n protected loadCipher() {\r\n return this.cipherService.get(this.cipherId);\r\n }\r\n\r\n protected encryptCipher() {\r\n return this.cipherService.encrypt(this.cipher);\r\n }\r\n\r\n protected saveCipher(cipher: Cipher) {\r\n return this.cipherService.saveWithServer(cipher);\r\n }\r\n\r\n protected deleteCipher() {\r\n return this.cipher.isDeleted ? this.cipherService.deleteWithServer(this.cipher.id)\r\n : this.cipherService.softDeleteWithServer(this.cipher.id);\r\n }\r\n\r\n protected restoreCipher() {\r\n return this.cipherService.restoreWithServer(this.cipher.id);\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { CipherService } from '../../abstractions/cipher.service';\r\nimport { CryptoService } from '../../abstractions/crypto.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\nimport { UserService } from '../../abstractions/user.service';\r\n\r\nimport { Cipher } from '../../models/domain/cipher';\r\n\r\nimport { AttachmentView } from '../../models/view/attachmentView';\r\nimport { CipherView } from '../../models/view/cipherView';\r\n\r\n@Directive()\r\nexport class AttachmentsComponent implements OnInit {\r\n @Input() cipherId: string;\r\n @Output() onUploadedAttachment = new EventEmitter();\r\n @Output() onDeletedAttachment = new EventEmitter();\r\n @Output() onReuploadedAttachment = new EventEmitter();\r\n\r\n cipher: CipherView;\r\n cipherDomain: Cipher;\r\n hasUpdatedKey: boolean;\r\n canAccessAttachments: boolean;\r\n formPromise: Promise;\r\n deletePromises: { [id: string]: Promise; } = {};\r\n reuploadPromises: { [id: string]: Promise; } = {};\r\n\r\n constructor(protected cipherService: CipherService, protected i18nService: I18nService,\r\n protected cryptoService: CryptoService, protected userService: UserService,\r\n protected platformUtilsService: PlatformUtilsService, protected win: Window) { }\r\n\r\n async ngOnInit() {\r\n await this.init();\r\n }\r\n\r\n async submit() {\r\n if (!this.hasUpdatedKey) {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('updateKey'));\r\n return;\r\n }\r\n\r\n const fileEl = document.getElementById('file') as HTMLInputElement;\r\n const files = fileEl.files;\r\n if (files == null || files.length === 0) {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('selectFile'));\r\n return;\r\n }\r\n\r\n if (files[0].size > 104857600) { // 100 MB\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('maxFileSize'));\r\n return;\r\n }\r\n\r\n try {\r\n this.formPromise = this.saveCipherAttachment(files[0]);\r\n this.cipherDomain = await this.formPromise;\r\n this.cipher = await this.cipherDomain.decrypt();\r\n this.platformUtilsService.eventTrack('Added Attachment');\r\n this.platformUtilsService.showToast('success', null, this.i18nService.t('attachmentSaved'));\r\n this.onUploadedAttachment.emit();\r\n } catch { }\r\n\r\n // reset file input\r\n // ref: https://stackoverflow.com/a/20552042\r\n fileEl.type = '';\r\n fileEl.type = 'file';\r\n fileEl.value = '';\r\n }\r\n\r\n async delete(attachment: AttachmentView) {\r\n if (this.deletePromises[attachment.id] != null) {\r\n return;\r\n }\r\n\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('deleteAttachmentConfirmation'), this.i18nService.t('deleteAttachment'),\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return;\r\n }\r\n\r\n try {\r\n this.deletePromises[attachment.id] = this.deleteCipherAttachment(attachment.id);\r\n await this.deletePromises[attachment.id];\r\n this.platformUtilsService.eventTrack('Deleted Attachment');\r\n this.platformUtilsService.showToast('success', null, this.i18nService.t('deletedAttachment'));\r\n const i = this.cipher.attachments.indexOf(attachment);\r\n if (i > -1) {\r\n this.cipher.attachments.splice(i, 1);\r\n }\r\n } catch { }\r\n\r\n this.deletePromises[attachment.id] = null;\r\n this.onDeletedAttachment.emit();\r\n }\r\n\r\n async download(attachment: AttachmentView) {\r\n const a = (attachment as any);\r\n if (a.downloading) {\r\n return;\r\n }\r\n\r\n if (!this.canAccessAttachments) {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('premiumRequired'),\r\n this.i18nService.t('premiumRequiredDesc'));\r\n return;\r\n }\r\n\r\n a.downloading = true;\r\n const response = await fetch(new Request(attachment.url, { cache: 'no-store' }));\r\n if (response.status !== 200) {\r\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\r\n a.downloading = false;\r\n return;\r\n }\r\n\r\n try {\r\n const buf = await response.arrayBuffer();\r\n const key = attachment.key != null ? attachment.key :\r\n await this.cryptoService.getOrgKey(this.cipher.organizationId);\r\n const decBuf = await this.cryptoService.decryptFromBytes(buf, key);\r\n this.platformUtilsService.saveFile(this.win, decBuf, null, attachment.fileName);\r\n } catch (e) {\r\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\r\n }\r\n\r\n a.downloading = false;\r\n }\r\n\r\n protected async init() {\r\n this.cipherDomain = await this.loadCipher();\r\n this.cipher = await this.cipherDomain.decrypt();\r\n\r\n this.hasUpdatedKey = await this.cryptoService.hasEncKey();\r\n const canAccessPremium = await this.userService.canAccessPremium();\r\n this.canAccessAttachments = canAccessPremium || this.cipher.organizationId != null;\r\n\r\n if (!this.canAccessAttachments) {\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('premiumRequiredDesc'), this.i18nService.t('premiumRequired'),\r\n this.i18nService.t('learnMore'), this.i18nService.t('cancel'));\r\n if (confirmed) {\r\n this.platformUtilsService.launchUri('https://vault.bitwarden.com/#/?premium=purchase');\r\n }\r\n } else if (!this.hasUpdatedKey) {\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('updateKey'), this.i18nService.t('featureUnavailable'),\r\n this.i18nService.t('learnMore'), this.i18nService.t('cancel'), 'warning');\r\n if (confirmed) {\r\n this.platformUtilsService.launchUri('https://help.bitwarden.com/article/update-encryption-key/');\r\n }\r\n }\r\n }\r\n\r\n protected async reuploadCipherAttachment(attachment: AttachmentView, admin: boolean) {\r\n const a = (attachment as any);\r\n if (attachment.key != null || a.downloading || this.reuploadPromises[attachment.id] != null) {\r\n return;\r\n }\r\n\r\n try {\r\n this.reuploadPromises[attachment.id] = Promise.resolve().then(async () => {\r\n // 1. Download\r\n a.downloading = true;\r\n const response = await fetch(new Request(attachment.url, { cache: 'no-store' }));\r\n if (response.status !== 200) {\r\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\r\n a.downloading = false;\r\n return;\r\n }\r\n\r\n try {\r\n // 2. Resave\r\n const buf = await response.arrayBuffer();\r\n const key = attachment.key != null ? attachment.key :\r\n await this.cryptoService.getOrgKey(this.cipher.organizationId);\r\n const decBuf = await this.cryptoService.decryptFromBytes(buf, key);\r\n this.cipherDomain = await this.cipherService.saveAttachmentRawWithServer(\r\n this.cipherDomain, attachment.fileName, decBuf, admin);\r\n this.cipher = await this.cipherDomain.decrypt();\r\n\r\n // 3. Delete old\r\n this.deletePromises[attachment.id] = this.deleteCipherAttachment(attachment.id);\r\n await this.deletePromises[attachment.id];\r\n const foundAttachment = this.cipher.attachments.filter((a2) => a2.id === attachment.id);\r\n if (foundAttachment.length > 0) {\r\n const i = this.cipher.attachments.indexOf(foundAttachment[0]);\r\n if (i > -1) {\r\n this.cipher.attachments.splice(i, 1);\r\n }\r\n }\r\n\r\n this.platformUtilsService.eventTrack('Reuploaded Attachment');\r\n this.platformUtilsService.showToast('success', null, this.i18nService.t('attachmentSaved'));\r\n this.onReuploadedAttachment.emit();\r\n } catch (e) {\r\n this.platformUtilsService.showToast('error', null, this.i18nService.t('errorOccurred'));\r\n }\r\n\r\n a.downloading = false;\r\n });\r\n await this.reuploadPromises[attachment.id];\r\n } catch { }\r\n }\r\n\r\n protected loadCipher() {\r\n return this.cipherService.get(this.cipherId);\r\n }\r\n\r\n protected saveCipherAttachment(file: File) {\r\n return this.cipherService.saveAttachmentWithServer(this.cipherDomain, file);\r\n }\r\n\r\n protected deleteCipherAttachment(attachmentId: string) {\r\n return this.cipherService.deleteAttachmentWithServer(this.cipher.id, attachmentId);\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { SearchService } from '../../abstractions/search.service';\r\n\r\nimport { CipherView } from '../../models/view/cipherView';\r\n\r\n@Directive()\r\nexport class CiphersComponent {\r\n @Input() activeCipherId: string = null;\r\n @Output() onCipherClicked = new EventEmitter();\r\n @Output() onCipherRightClicked = new EventEmitter();\r\n @Output() onAddCipher = new EventEmitter();\r\n @Output() onAddCipherOptions = new EventEmitter();\r\n\r\n loaded: boolean = false;\r\n ciphers: CipherView[] = [];\r\n pagedCiphers: CipherView[] = [];\r\n searchText: string;\r\n searchPlaceholder: string = null;\r\n filter: (cipher: CipherView) => boolean = null;\r\n deleted: boolean = false;\r\n\r\n protected searchPending = false;\r\n protected didScroll = false;\r\n protected pageSize = 100;\r\n\r\n private searchTimeout: any = null;\r\n private pagedCiphersCount = 0;\r\n private refreshing = false;\r\n\r\n constructor(protected searchService: SearchService) { }\r\n\r\n async load(filter: (cipher: CipherView) => boolean = null, deleted: boolean = false) {\r\n this.deleted = deleted || false;\r\n await this.applyFilter(filter);\r\n this.loaded = true;\r\n }\r\n\r\n loadMore() {\r\n if (this.ciphers.length <= this.pageSize) {\r\n return;\r\n }\r\n const pagedLength = this.pagedCiphers.length;\r\n let pagedSize = this.pageSize;\r\n if (this.refreshing && pagedLength === 0 && this.pagedCiphersCount > this.pageSize) {\r\n pagedSize = this.pagedCiphersCount;\r\n }\r\n if (this.ciphers.length > pagedLength) {\r\n this.pagedCiphers = this.pagedCiphers.concat(this.ciphers.slice(pagedLength, pagedLength + pagedSize));\r\n }\r\n this.pagedCiphersCount = this.pagedCiphers.length;\r\n this.didScroll = this.pagedCiphers.length > this.pageSize;\r\n }\r\n\r\n async reload(filter: (cipher: CipherView) => boolean = null, deleted: boolean = false) {\r\n this.loaded = false;\r\n this.ciphers = [];\r\n await this.load(filter, deleted);\r\n }\r\n\r\n async refresh() {\r\n try {\r\n this.refreshing = true;\r\n await this.reload(this.filter, this.deleted);\r\n } finally {\r\n this.refreshing = false;\r\n }\r\n }\r\n\r\n async applyFilter(filter: (cipher: CipherView) => boolean = null) {\r\n this.filter = filter;\r\n await this.search(null);\r\n }\r\n\r\n async search(timeout: number = null) {\r\n this.searchPending = false;\r\n if (this.searchTimeout != null) {\r\n clearTimeout(this.searchTimeout);\r\n }\r\n const deletedFilter: (cipher: CipherView) => boolean = (c) => c.isDeleted === this.deleted;\r\n if (timeout == null) {\r\n this.ciphers = await this.searchService.searchCiphers(this.searchText, [this.filter, deletedFilter], null);\r\n await this.resetPaging();\r\n return;\r\n }\r\n this.searchPending = true;\r\n this.searchTimeout = setTimeout(async () => {\r\n this.ciphers = await this.searchService.searchCiphers(this.searchText, [this.filter, deletedFilter], null);\r\n await this.resetPaging();\r\n this.searchPending = false;\r\n }, timeout);\r\n }\r\n\r\n selectCipher(cipher: CipherView) {\r\n this.onCipherClicked.emit(cipher);\r\n }\r\n\r\n rightClickCipher(cipher: CipherView) {\r\n this.onCipherRightClicked.emit(cipher);\r\n }\r\n\r\n addCipher() {\r\n this.onAddCipher.emit();\r\n }\r\n\r\n addCipherOptions() {\r\n this.onAddCipherOptions.emit();\r\n }\r\n\r\n isSearching() {\r\n return !this.searchPending && this.searchService.isSearchable(this.searchText);\r\n }\r\n\r\n isPaging() {\r\n const searching = this.isSearching();\r\n if (searching && this.didScroll) {\r\n this.resetPaging();\r\n }\r\n return !searching && this.ciphers.length > this.pageSize;\r\n }\r\n\r\n async resetPaging() {\r\n this.pagedCiphers = [];\r\n this.loadMore();\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { CipherService } from '../../abstractions/cipher.service';\r\nimport { CollectionService } from '../../abstractions/collection.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nimport { CipherView } from '../../models/view/cipherView';\r\nimport { CollectionView } from '../../models/view/collectionView';\r\n\r\nimport { Cipher } from '../../models/domain/cipher';\r\n\r\n@Directive()\r\nexport class CollectionsComponent implements OnInit {\r\n @Input() cipherId: string;\r\n @Input() allowSelectNone = false;\r\n @Output() onSavedCollections = new EventEmitter();\r\n\r\n formPromise: Promise;\r\n cipher: CipherView;\r\n collectionIds: string[];\r\n collections: CollectionView[] = [];\r\n\r\n protected cipherDomain: Cipher;\r\n\r\n constructor(protected collectionService: CollectionService, protected platformUtilsService: PlatformUtilsService,\r\n protected i18nService: I18nService, protected cipherService: CipherService) { }\r\n\r\n async ngOnInit() {\r\n await this.load();\r\n }\r\n\r\n async load() {\r\n this.cipherDomain = await this.loadCipher();\r\n this.collectionIds = this.loadCipherCollections();\r\n this.cipher = await this.cipherDomain.decrypt();\r\n this.collections = await this.loadCollections();\r\n\r\n this.collections.forEach((c) => (c as any).checked = false);\r\n if (this.collectionIds != null) {\r\n this.collections.forEach((c) => {\r\n (c as any).checked = this.collectionIds != null && this.collectionIds.indexOf(c.id) > -1;\r\n });\r\n }\r\n }\r\n\r\n async submit() {\r\n const selectedCollectionIds = this.collections\r\n .filter((c) => !!(c as any).checked)\r\n .map((c) => c.id);\r\n if (!this.allowSelectNone && selectedCollectionIds.length === 0) {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('selectOneCollection'));\r\n return;\r\n }\r\n this.cipherDomain.collectionIds = selectedCollectionIds;\r\n try {\r\n this.formPromise = this.saveCollections();\r\n await this.formPromise;\r\n this.onSavedCollections.emit();\r\n this.platformUtilsService.eventTrack('Edited Cipher Collections');\r\n this.platformUtilsService.showToast('success', null, this.i18nService.t('editedItem'));\r\n } catch { }\r\n }\r\n\r\n protected loadCipher() {\r\n return this.cipherService.get(this.cipherId);\r\n }\r\n\r\n protected loadCipherCollections() {\r\n return this.cipherDomain.collectionIds;\r\n }\r\n\r\n protected async loadCollections() {\r\n const allCollections = await this.collectionService.getAllDecrypted();\r\n return allCollections.filter((c) => !c.readOnly && c.organizationId === this.cipher.organizationId);\r\n }\r\n\r\n protected saveCollections() {\r\n return this.cipherService.saveCollectionsWithServer(this.cipherDomain);\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n Input,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { CipherType } from '../../enums/cipherType';\r\n\r\nimport { CollectionView } from '../../models/view/collectionView';\r\nimport { FolderView } from '../../models/view/folderView';\r\n\r\nimport { TreeNode } from '../../models/domain/treeNode';\r\n\r\nimport { CollectionService } from '../../abstractions/collection.service';\r\nimport { FolderService } from '../../abstractions/folder.service';\r\nimport { StorageService } from '../../abstractions/storage.service';\r\nimport { UserService } from '../../abstractions/user.service';\r\n\r\nimport { ConstantsService } from '../../services/constants.service';\r\n\r\n@Directive()\r\nexport class GroupingsComponent {\r\n @Input() showFolders = true;\r\n @Input() showCollections = true;\r\n @Input() showFavorites = true;\r\n @Input() showTrash = true;\r\n\r\n @Output() onAllClicked = new EventEmitter();\r\n @Output() onFavoritesClicked = new EventEmitter();\r\n @Output() onTrashClicked = new EventEmitter();\r\n @Output() onCipherTypeClicked = new EventEmitter();\r\n @Output() onFolderClicked = new EventEmitter();\r\n @Output() onAddFolder = new EventEmitter();\r\n @Output() onEditFolder = new EventEmitter();\r\n @Output() onCollectionClicked = new EventEmitter();\r\n\r\n folders: FolderView[];\r\n nestedFolders: TreeNode[];\r\n collections: CollectionView[];\r\n nestedCollections: TreeNode[];\r\n loaded: boolean = false;\r\n cipherType = CipherType;\r\n selectedAll: boolean = false;\r\n selectedFavorites: boolean = false;\r\n selectedTrash: boolean = false;\r\n selectedType: CipherType = null;\r\n selectedFolder: boolean = false;\r\n selectedFolderId: string = null;\r\n selectedCollectionId: string = null;\r\n\r\n private collapsedGroupings: Set;\r\n private collapsedGroupingsKey: string;\r\n\r\n constructor(protected collectionService: CollectionService, protected folderService: FolderService,\r\n protected storageService: StorageService, protected userService: UserService) { }\r\n\r\n async load(setLoaded = true) {\r\n const userId = await this.userService.getUserId();\r\n this.collapsedGroupingsKey = ConstantsService.collapsedGroupingsKey + '_' + userId;\r\n const collapsedGroupings = await this.storageService.get(this.collapsedGroupingsKey);\r\n if (collapsedGroupings == null) {\r\n this.collapsedGroupings = new Set();\r\n } else {\r\n this.collapsedGroupings = new Set(collapsedGroupings);\r\n }\r\n\r\n await this.loadFolders();\r\n await this.loadCollections();\r\n\r\n if (setLoaded) {\r\n this.loaded = true;\r\n }\r\n }\r\n\r\n async loadCollections(organizationId?: string) {\r\n if (!this.showCollections) {\r\n return;\r\n }\r\n const collections = await this.collectionService.getAllDecrypted();\r\n if (organizationId != null) {\r\n this.collections = collections.filter((c) => c.organizationId === organizationId);\r\n } else {\r\n this.collections = collections;\r\n }\r\n this.nestedCollections = await this.collectionService.getAllNested(this.collections);\r\n }\r\n\r\n async loadFolders() {\r\n if (!this.showFolders) {\r\n return;\r\n }\r\n this.folders = await this.folderService.getAllDecrypted();\r\n this.nestedFolders = await this.folderService.getAllNested();\r\n }\r\n\r\n selectAll() {\r\n this.clearSelections();\r\n this.selectedAll = true;\r\n this.onAllClicked.emit();\r\n }\r\n\r\n selectFavorites() {\r\n this.clearSelections();\r\n this.selectedFavorites = true;\r\n this.onFavoritesClicked.emit();\r\n }\r\n\r\n selectTrash() {\r\n this.clearSelections();\r\n this.selectedTrash = true;\r\n this.onTrashClicked.emit();\r\n }\r\n\r\n selectType(type: CipherType) {\r\n this.clearSelections();\r\n this.selectedType = type;\r\n this.onCipherTypeClicked.emit(type);\r\n }\r\n\r\n selectFolder(folder: FolderView) {\r\n this.clearSelections();\r\n this.selectedFolder = true;\r\n this.selectedFolderId = folder.id;\r\n this.onFolderClicked.emit(folder);\r\n }\r\n\r\n addFolder() {\r\n this.onAddFolder.emit();\r\n }\r\n\r\n editFolder(folder: FolderView) {\r\n this.onEditFolder.emit(folder);\r\n }\r\n\r\n selectCollection(collection: CollectionView) {\r\n this.clearSelections();\r\n this.selectedCollectionId = collection.id;\r\n this.onCollectionClicked.emit(collection);\r\n }\r\n\r\n clearSelections() {\r\n this.selectedAll = false;\r\n this.selectedFavorites = false;\r\n this.selectedTrash = false;\r\n this.selectedType = null;\r\n this.selectedFolder = false;\r\n this.selectedFolderId = null;\r\n this.selectedCollectionId = null;\r\n }\r\n\r\n collapse(grouping: FolderView | CollectionView, idPrefix = '') {\r\n if (grouping.id == null) {\r\n return;\r\n }\r\n const id = idPrefix + grouping.id;\r\n if (this.isCollapsed(grouping, idPrefix)) {\r\n this.collapsedGroupings.delete(id);\r\n } else {\r\n this.collapsedGroupings.add(id);\r\n }\r\n this.storageService.save(this.collapsedGroupingsKey, this.collapsedGroupings);\r\n }\r\n\r\n isCollapsed(grouping: FolderView | CollectionView, idPrefix = '') {\r\n return this.collapsedGroupings.has(idPrefix + grouping.id);\r\n }\r\n}\r\n","import { SendType } from '../../enums/sendType';\r\n\r\nimport { SendAccessResponse } from '../response/sendAccessResponse';\r\n\r\nimport { SendAccessView } from '../view/sendAccessView';\r\n\r\nimport { CipherString } from './cipherString';\r\nimport Domain from './domainBase';\r\nimport { SendFile } from './sendFile';\r\nimport { SendText } from './sendText';\r\nimport { SymmetricCryptoKey } from './symmetricCryptoKey';\r\n\r\nexport class SendAccess extends Domain {\r\n id: string;\r\n type: SendType;\r\n name: CipherString;\r\n file: SendFile;\r\n text: SendText;\r\n\r\n constructor(obj?: SendAccessResponse, alreadyEncrypted: boolean = false) {\r\n super();\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.buildDomainModel(this, obj, {\r\n id: null,\r\n name: null,\r\n }, alreadyEncrypted, ['id']);\r\n\r\n this.type = obj.type;\r\n\r\n switch (this.type) {\r\n case SendType.Text:\r\n this.text = new SendText(obj.text, alreadyEncrypted);\r\n break;\r\n case SendType.File:\r\n this.file = new SendFile(obj.file, alreadyEncrypted);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n async decrypt(key: SymmetricCryptoKey): Promise {\r\n const model = new SendAccessView(this);\r\n\r\n await this.decryptObj(model, {\r\n name: null,\r\n }, null, key);\r\n\r\n switch (this.type) {\r\n case SendType.File:\r\n model.file = await this.file.decrypt(key);\r\n break;\r\n case SendType.Text:\r\n model.text = await this.text.decrypt(key);\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n return model;\r\n }\r\n}\r\n","import { SendType } from '../../enums/sendType';\r\n\r\nimport { SendAccess } from '../domain/sendAccess';\r\n\r\nimport { SendFileView } from './sendFileView';\r\nimport { SendTextView } from './sendTextView';\r\nimport { View } from './view';\r\n\r\nexport class SendAccessView implements View {\r\n id: string = null;\r\n name: string = null;\r\n type: SendType = null;\r\n text = new SendTextView();\r\n file = new SendFileView();\r\n\r\n constructor(s?: SendAccess) {\r\n if (!s) {\r\n return;\r\n }\r\n\r\n this.id = s.id;\r\n this.type = s.type;\r\n }\r\n}\r\n","export class SendAccessRequest {\r\n password: string;\r\n}\r\n","export class UpdateProfileRequest {\r\n name: string;\r\n masterPasswordHint: string;\r\n culture = 'en-US'; // deprecated\r\n\r\n constructor(name: string, masterPasswordHint: string) {\r\n this.name = name;\r\n this.masterPasswordHint = masterPasswordHint ? masterPasswordHint : null;\r\n }\r\n}\r\n","import { EmailTokenRequest } from './emailTokenRequest';\r\n\r\nexport class EmailRequest extends EmailTokenRequest {\r\n newMasterPasswordHash: string;\r\n token: string;\r\n key: string;\r\n}\r\n","import { PasswordRequest } from './passwordRequest';\r\n\r\nimport { KdfType } from '../../enums/kdfType';\r\n\r\nexport class KdfRequest extends PasswordRequest {\r\n kdf: KdfType;\r\n kdfIterations: number;\r\n}\r\n","export class UpdateDomainsRequest {\r\n equivalentDomains: string[][];\r\n excludedGlobalEquivalentDomains: number[];\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nimport { PasswordGeneratorPolicyOptions } from '../../models/domain/passwordGeneratorPolicyOptions';\r\n\r\n@Directive()\r\nexport class PasswordGeneratorComponent implements OnInit {\r\n @Input() showSelect: boolean = false;\r\n @Output() onSelected = new EventEmitter();\r\n\r\n options: any = {};\r\n password: string = '-';\r\n showOptions = false;\r\n avoidAmbiguous = false;\r\n enforcedPolicyOptions: PasswordGeneratorPolicyOptions;\r\n\r\n constructor(protected passwordGenerationService: PasswordGenerationService,\r\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\r\n private win: Window) { }\r\n\r\n async ngOnInit() {\r\n const optionsResponse = await this.passwordGenerationService.getOptions();\r\n this.options = optionsResponse[0];\r\n this.enforcedPolicyOptions = optionsResponse[1];\r\n this.avoidAmbiguous = !this.options.ambiguous;\r\n this.options.type = this.options.type === 'passphrase' ? 'passphrase' : 'password';\r\n this.password = await this.passwordGenerationService.generatePassword(this.options);\r\n this.platformUtilsService.eventTrack('Generated Password');\r\n await this.passwordGenerationService.addHistory(this.password);\r\n }\r\n\r\n async sliderChanged() {\r\n this.saveOptions(false);\r\n await this.passwordGenerationService.addHistory(this.password);\r\n this.platformUtilsService.eventTrack('Regenerated Password');\r\n }\r\n\r\n async sliderInput() {\r\n this.normalizeOptions();\r\n this.password = await this.passwordGenerationService.generatePassword(this.options);\r\n }\r\n\r\n async saveOptions(regenerate: boolean = true) {\r\n this.normalizeOptions();\r\n await this.passwordGenerationService.saveOptions(this.options);\r\n\r\n if (regenerate) {\r\n await this.regenerate();\r\n }\r\n }\r\n\r\n async regenerate() {\r\n this.password = await this.passwordGenerationService.generatePassword(this.options);\r\n await this.passwordGenerationService.addHistory(this.password);\r\n this.platformUtilsService.eventTrack('Regenerated Password');\r\n }\r\n\r\n copy() {\r\n this.platformUtilsService.eventTrack('Copied Generated Password');\r\n const copyOptions = this.win != null ? { window: this.win } : null;\r\n this.platformUtilsService.copyToClipboard(this.password, copyOptions);\r\n this.platformUtilsService.showToast('info', null,\r\n this.i18nService.t('valueCopied', this.i18nService.t('password')));\r\n }\r\n\r\n select() {\r\n this.platformUtilsService.eventTrack('Selected Generated Password');\r\n this.onSelected.emit(this.password);\r\n }\r\n\r\n toggleOptions() {\r\n this.showOptions = !this.showOptions;\r\n }\r\n\r\n private normalizeOptions() {\r\n // Application level normalize options depedent on class variables\r\n this.options.ambiguous = !this.avoidAmbiguous;\r\n\r\n if (!this.options.uppercase && !this.options.lowercase && !this.options.number && !this.options.special) {\r\n this.options.lowercase = true;\r\n if (this.win != null) {\r\n const lowercase = this.win.document.querySelector('#lowercase') as HTMLInputElement;\r\n if (lowercase) {\r\n lowercase.checked = true;\r\n }\r\n }\r\n }\r\n\r\n this.passwordGenerationService.normalizeOptions(this.options, this.enforcedPolicyOptions);\r\n }\r\n}\r\n","import { OnInit } from '@angular/core';\r\n\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PasswordGenerationService } from '../../abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nimport { GeneratedPasswordHistory } from '../../models/domain/generatedPasswordHistory';\r\n\r\nexport class PasswordGeneratorHistoryComponent implements OnInit {\r\n history: GeneratedPasswordHistory[] = [];\r\n\r\n constructor(protected passwordGenerationService: PasswordGenerationService,\r\n protected platformUtilsService: PlatformUtilsService, protected i18nService: I18nService,\r\n private win: Window) { }\r\n\r\n async ngOnInit() {\r\n this.history = await this.passwordGenerationService.getHistory();\r\n }\r\n\r\n clear() {\r\n this.history = [];\r\n this.passwordGenerationService.clear();\r\n }\r\n\r\n copy(password: string) {\r\n this.platformUtilsService.eventTrack('Copied Historical Password');\r\n const copyOptions = this.win != null ? { window: this.win } : null;\r\n this.platformUtilsService.copyToClipboard(password, copyOptions);\r\n this.platformUtilsService.showToast('info', null,\r\n this.i18nService.t('valueCopied', this.i18nService.t('password')));\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { FolderService } from '../../abstractions/folder.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\n\r\nimport { FolderView } from '../../models/view/folderView';\r\n\r\n@Directive()\r\nexport class FolderAddEditComponent implements OnInit {\r\n @Input() folderId: string;\r\n @Output() onSavedFolder = new EventEmitter();\r\n @Output() onDeletedFolder = new EventEmitter();\r\n\r\n editMode: boolean = false;\r\n folder: FolderView = new FolderView();\r\n title: string;\r\n formPromise: Promise;\r\n deletePromise: Promise;\r\n\r\n constructor(protected folderService: FolderService, protected i18nService: I18nService,\r\n protected platformUtilsService: PlatformUtilsService) { }\r\n\r\n async ngOnInit() {\r\n await this.init();\r\n }\r\n\r\n async submit(): Promise {\r\n if (this.folder.name == null || this.folder.name === '') {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('nameRequired'));\r\n return false;\r\n }\r\n\r\n try {\r\n const folder = await this.folderService.encrypt(this.folder);\r\n this.formPromise = this.folderService.saveWithServer(folder);\r\n await this.formPromise;\r\n this.platformUtilsService.eventTrack(this.editMode ? 'Edited Folder' : 'Added Folder');\r\n this.platformUtilsService.showToast('success', null,\r\n this.i18nService.t(this.editMode ? 'editedFolder' : 'addedFolder'));\r\n this.onSavedFolder.emit(this.folder);\r\n return true;\r\n } catch { }\r\n\r\n return false;\r\n }\r\n\r\n async delete(): Promise {\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('deleteFolderConfirmation'), this.i18nService.t('deleteFolder'),\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n this.deletePromise = this.folderService.deleteWithServer(this.folder.id);\r\n await this.deletePromise;\r\n this.platformUtilsService.eventTrack('Deleted Folder');\r\n this.platformUtilsService.showToast('success', null, this.i18nService.t('deletedFolder'));\r\n this.onDeletedFolder.emit(this.folder);\r\n } catch { }\r\n\r\n return true;\r\n }\r\n\r\n protected async init() {\r\n this.editMode = this.folderId != null;\r\n\r\n if (this.editMode) {\r\n this.editMode = true;\r\n this.title = this.i18nService.t('editFolder');\r\n const folder = await this.folderService.get(this.folderId);\r\n this.folder = await folder.decrypt();\r\n } else {\r\n this.title = this.i18nService.t('addFolder');\r\n }\r\n }\r\n}\r\n","import {\r\n Directive,\r\n EventEmitter,\r\n Input,\r\n OnInit,\r\n Output,\r\n} from '@angular/core';\r\n\r\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\r\n\r\nimport { CipherService } from '../../abstractions/cipher.service';\r\nimport { CollectionService } from '../../abstractions/collection.service';\r\nimport { I18nService } from '../../abstractions/i18n.service';\r\nimport { PlatformUtilsService } from '../../abstractions/platformUtils.service';\r\nimport { UserService } from '../../abstractions/user.service';\r\n\r\nimport { Organization } from '../../models/domain/organization';\r\nimport { CipherView } from '../../models/view/cipherView';\r\nimport { CollectionView } from '../../models/view/collectionView';\r\n\r\nimport { Utils } from '../../misc/utils';\r\n\r\n@Directive()\r\nexport class ShareComponent implements OnInit {\r\n @Input() cipherId: string;\r\n @Input() organizationId: string;\r\n @Output() onSharedCipher = new EventEmitter();\r\n\r\n formPromise: Promise;\r\n cipher: CipherView;\r\n collections: CollectionView[] = [];\r\n organizations: Organization[] = [];\r\n\r\n protected writeableCollections: CollectionView[] = [];\r\n\r\n constructor(protected collectionService: CollectionService, protected platformUtilsService: PlatformUtilsService,\r\n protected i18nService: I18nService, protected userService: UserService,\r\n protected cipherService: CipherService) { }\r\n\r\n async ngOnInit() {\r\n await this.load();\r\n }\r\n\r\n async load() {\r\n const allCollections = await this.collectionService.getAllDecrypted();\r\n this.writeableCollections = allCollections.map((c) => c).filter((c) => !c.readOnly);\r\n const orgs = await this.userService.getAllOrganizations();\r\n this.organizations = orgs.sort(Utils.getSortFunction(this.i18nService, 'name'))\r\n .filter((o) => o.enabled && o.status === OrganizationUserStatusType.Confirmed);\r\n\r\n const cipherDomain = await this.cipherService.get(this.cipherId);\r\n this.cipher = await cipherDomain.decrypt();\r\n if (this.organizationId == null && this.organizations.length > 0) {\r\n this.organizationId = this.organizations[0].id;\r\n }\r\n this.filterCollections();\r\n }\r\n\r\n filterCollections() {\r\n this.writeableCollections.forEach((c) => (c as any).checked = false);\r\n if (this.organizationId == null || this.writeableCollections.length === 0) {\r\n this.collections = [];\r\n } else {\r\n this.collections = this.writeableCollections.filter((c) => c.organizationId === this.organizationId);\r\n }\r\n }\r\n\r\n async submit(): Promise {\r\n const selectedCollectionIds = this.collections\r\n .filter((c) => !!(c as any).checked)\r\n .map((c) => c.id);\r\n if (selectedCollectionIds.length === 0) {\r\n this.platformUtilsService.showToast('error', this.i18nService.t('errorOccurred'),\r\n this.i18nService.t('selectOneCollection'));\r\n return;\r\n }\r\n\r\n const cipherDomain = await this.cipherService.get(this.cipherId);\r\n const cipherView = await cipherDomain.decrypt();\r\n\r\n try {\r\n this.formPromise = this.cipherService.shareWithServer(cipherView, this.organizationId,\r\n selectedCollectionIds).then(async () => {\r\n this.onSharedCipher.emit();\r\n this.platformUtilsService.eventTrack('Shared Cipher');\r\n this.platformUtilsService.showToast('success', null, this.i18nService.t('sharedItem'));\r\n });\r\n await this.formPromise;\r\n return true;\r\n } catch { }\r\n return false;\r\n }\r\n\r\n get canSave() {\r\n if (this.collections != null) {\r\n for (let i = 0; i < this.collections.length; i++) {\r\n if ((this.collections[i] as any).checked) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n}\r\n","import {\r\n APP_INITIALIZER,\r\n LOCALE_ID,\r\n NgModule,\r\n} from '@angular/core';\r\n\r\nimport { ToasterModule } from 'angular2-toaster';\r\n\r\nimport { BroadcasterMessagingService } from '../../services/broadcasterMessaging.service';\r\nimport { HtmlStorageService } from '../../services/htmlStorage.service';\r\nimport { I18nService } from '../../services/i18n.service';\r\nimport { MemoryStorageService } from '../../services/memoryStorage.service';\r\nimport { WebPlatformUtilsService } from '../../services/webPlatformUtils.service';\r\n\r\nimport { EventService } from './event.service';\r\nimport { OrganizationGuardService } from './organization-guard.service';\r\nimport { OrganizationTypeGuardService } from './organization-type-guard.service';\r\nimport { RouterService } from './router.service';\r\nimport { UnauthGuardService } from './unauth-guard.service';\r\n\r\nimport { AuthGuardService } from 'jslib/angular/services/auth-guard.service';\r\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\r\nimport { ValidationService } from 'jslib/angular/services/validation.service';\r\n\r\nimport { Analytics } from 'jslib/misc/analytics';\r\n\r\nimport { ApiService } from 'jslib/services/api.service';\r\nimport { AppIdService } from 'jslib/services/appId.service';\r\nimport { AuditService } from 'jslib/services/audit.service';\r\nimport { AuthService } from 'jslib/services/auth.service';\r\nimport { CipherService } from 'jslib/services/cipher.service';\r\nimport { CollectionService } from 'jslib/services/collection.service';\r\nimport { ConstantsService } from 'jslib/services/constants.service';\r\nimport { ContainerService } from 'jslib/services/container.service';\r\nimport { CryptoService } from 'jslib/services/crypto.service';\r\nimport { EnvironmentService } from 'jslib/services/environment.service';\r\nimport { EventService as EventLoggingService } from 'jslib/services/event.service';\r\nimport { ExportService } from 'jslib/services/export.service';\r\nimport { FolderService } from 'jslib/services/folder.service';\r\nimport { ImportService } from 'jslib/services/import.service';\r\nimport { NotificationsService } from 'jslib/services/notifications.service';\r\nimport { PasswordGenerationService } from 'jslib/services/passwordGeneration.service';\r\nimport { PolicyService } from 'jslib/services/policy.service';\r\nimport { SearchService } from 'jslib/services/search.service';\r\nimport { SendService } from 'jslib/services/send.service';\r\nimport { SettingsService } from 'jslib/services/settings.service';\r\nimport { StateService } from 'jslib/services/state.service';\r\nimport { SyncService } from 'jslib/services/sync.service';\r\nimport { TokenService } from 'jslib/services/token.service';\r\nimport { TotpService } from 'jslib/services/totp.service';\r\nimport { UserService } from 'jslib/services/user.service';\r\nimport { VaultTimeoutService } from 'jslib/services/vaultTimeout.service';\r\nimport { WebCryptoFunctionService } from 'jslib/services/webCryptoFunction.service';\r\n\r\nimport { ApiService as ApiServiceAbstraction } from 'jslib/abstractions/api.service';\r\nimport { AppIdService as AppIdServiceAbstraction } from 'jslib/abstractions/appId.service';\r\nimport { AuditService as AuditServiceAbstraction } from 'jslib/abstractions/audit.service';\r\nimport { AuthService as AuthServiceAbstraction } from 'jslib/abstractions/auth.service';\r\nimport { CipherService as CipherServiceAbstraction } from 'jslib/abstractions/cipher.service';\r\nimport { CollectionService as CollectionServiceAbstraction } from 'jslib/abstractions/collection.service';\r\nimport { CryptoService as CryptoServiceAbstraction } from 'jslib/abstractions/crypto.service';\r\nimport { CryptoFunctionService as CryptoFunctionServiceAbstraction } from 'jslib/abstractions/cryptoFunction.service';\r\nimport { EnvironmentService as EnvironmentServiceAbstraction } from 'jslib/abstractions/environment.service';\r\nimport { EventService as EventLoggingServiceAbstraction } from 'jslib/abstractions/event.service';\r\nimport { ExportService as ExportServiceAbstraction } from 'jslib/abstractions/export.service';\r\nimport { FolderService as FolderServiceAbstraction } from 'jslib/abstractions/folder.service';\r\nimport { I18nService as I18nServiceAbstraction } from 'jslib/abstractions/i18n.service';\r\nimport { ImportService as ImportServiceAbstraction } from 'jslib/abstractions/import.service';\r\nimport { LogService as LogServiceAbstraction } from 'jslib/abstractions/log.service';\r\nimport { MessagingService as MessagingServiceAbstraction } from 'jslib/abstractions/messaging.service';\r\nimport { NotificationsService as NotificationsServiceAbstraction } from 'jslib/abstractions/notifications.service';\r\nimport {\r\n PasswordGenerationService as PasswordGenerationServiceAbstraction,\r\n} from 'jslib/abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService as PlatformUtilsServiceAbstraction } from 'jslib/abstractions/platformUtils.service';\r\nimport { PolicyService as PolicyServiceAbstraction } from 'jslib/abstractions/policy.service';\r\nimport { SearchService as SearchServiceAbstraction } from 'jslib/abstractions/search.service';\r\nimport { SendService as SendServiceAbstraction } from 'jslib/abstractions/send.service';\r\nimport { SettingsService as SettingsServiceAbstraction } from 'jslib/abstractions/settings.service';\r\nimport { StateService as StateServiceAbstraction } from 'jslib/abstractions/state.service';\r\nimport { StorageService as StorageServiceAbstraction } from 'jslib/abstractions/storage.service';\r\nimport { SyncService as SyncServiceAbstraction } from 'jslib/abstractions/sync.service';\r\nimport { TokenService as TokenServiceAbstraction } from 'jslib/abstractions/token.service';\r\nimport { TotpService as TotpServiceAbstraction } from 'jslib/abstractions/totp.service';\r\nimport { UserService as UserServiceAbstraction } from 'jslib/abstractions/user.service';\r\nimport { VaultTimeoutService as VaultTimeoutServiceAbstraction } from 'jslib/abstractions/vaultTimeout.service';\r\n\r\nconst i18nService = new I18nService(window.navigator.language, 'locales');\r\nconst stateService = new StateService();\r\nconst broadcasterService = new BroadcasterService();\r\nconst messagingService = new BroadcasterMessagingService(broadcasterService);\r\nconst platformUtilsService = new WebPlatformUtilsService(i18nService, messagingService);\r\nconst storageService: StorageServiceAbstraction = new HtmlStorageService(platformUtilsService);\r\nconst secureStorageService: StorageServiceAbstraction = new MemoryStorageService();\r\nconst cryptoFunctionService: CryptoFunctionServiceAbstraction = new WebCryptoFunctionService(window,\r\n platformUtilsService);\r\nconst cryptoService = new CryptoService(storageService,\r\n platformUtilsService.isDev() ? storageService : secureStorageService, cryptoFunctionService, platformUtilsService);\r\nconst tokenService = new TokenService(storageService);\r\nconst appIdService = new AppIdService(storageService);\r\nconst apiService = new ApiService(tokenService, platformUtilsService,\r\n async (expired: boolean) => messagingService.send('logout', { expired: expired }));\r\nconst userService = new UserService(tokenService, storageService);\r\nconst settingsService = new SettingsService(userService, storageService);\r\nexport let searchService: SearchService = null;\r\nconst cipherService = new CipherService(cryptoService, userService, settingsService,\r\n apiService, storageService, i18nService, () => searchService);\r\nconst folderService = new FolderService(cryptoService, userService, apiService, storageService,\r\n i18nService, cipherService);\r\nconst collectionService = new CollectionService(cryptoService, userService, storageService, i18nService);\r\nsearchService = new SearchService(cipherService);\r\nconst policyService = new PolicyService(userService, storageService);\r\nconst sendService = new SendService(cryptoService, userService, apiService, storageService,\r\n i18nService, cryptoFunctionService);\r\nconst vaultTimeoutService = new VaultTimeoutService(cipherService, folderService, collectionService,\r\n cryptoService, platformUtilsService, storageService, messagingService, searchService, userService, tokenService,\r\n null, async () => messagingService.send('logout', { expired: false }));\r\nconst syncService = new SyncService(userService, apiService, settingsService,\r\n folderService, cipherService, cryptoService, collectionService, storageService, messagingService, policyService,\r\n sendService, async (expired: boolean) => messagingService.send('logout', { expired: expired }));\r\nconst passwordGenerationService = new PasswordGenerationService(cryptoService, storageService, policyService);\r\nconst totpService = new TotpService(storageService, cryptoFunctionService);\r\nconst containerService = new ContainerService(cryptoService);\r\nconst authService = new AuthService(cryptoService, apiService,\r\n userService, tokenService, appIdService, i18nService, platformUtilsService, messagingService, vaultTimeoutService);\r\nconst exportService = new ExportService(folderService, cipherService, apiService);\r\nconst importService = new ImportService(cipherService, folderService, apiService, i18nService, collectionService);\r\nconst notificationsService = new NotificationsService(userService, syncService, appIdService,\r\n apiService, vaultTimeoutService, async () => messagingService.send('logout', { expired: true }));\r\nconst environmentService = new EnvironmentService(apiService, storageService, notificationsService);\r\nconst auditService = new AuditService(cryptoFunctionService, apiService);\r\nconst eventLoggingService = new EventLoggingService(storageService, apiService, userService, cipherService);\r\n\r\nconst analytics = new Analytics(window, () => platformUtilsService.isDev() || platformUtilsService.isSelfHost(),\r\n platformUtilsService, storageService, appIdService);\r\ncontainerService.attachToWindow(window);\r\n\r\nexport function initFactory(): Function {\r\n return async () => {\r\n await (storageService as HtmlStorageService).init();\r\n const isDev = platformUtilsService.isDev();\r\n if (!isDev && platformUtilsService.isSelfHost()) {\r\n environmentService.baseUrl = window.location.origin;\r\n } else {\r\n environmentService.notificationsUrl = isDev ? 'http://localhost:61840' :\r\n 'https://notifications.bitwarden.com'; // window.location.origin + '/notifications';\r\n environmentService.enterpriseUrl = isDev ? 'http://localhost:52313' :\r\n 'https://portal.bitwarden.com'; // window.location.origin + '/portal';\r\n }\r\n apiService.setUrls({\r\n base: isDev ? null : window.location.origin,\r\n api: isDev ? 'http://localhost:4000' : null,\r\n identity: isDev ? 'http://localhost:33656' : null,\r\n events: isDev ? 'http://localhost:46273' : null,\r\n\r\n // Uncomment these (and comment out the above) if you want to target production\r\n // servers for local development.\r\n\r\n // base: null,\r\n // api: 'https://api.bitwarden.com',\r\n // identity: 'https://identity.bitwarden.com',\r\n // events: 'https://events.bitwarden.com',\r\n });\r\n setTimeout(() => notificationsService.init(environmentService), 3000);\r\n\r\n vaultTimeoutService.init(true);\r\n const locale = await storageService.get(ConstantsService.localeKey);\r\n await i18nService.init(locale);\r\n eventLoggingService.init(true);\r\n authService.init();\r\n const htmlEl = window.document.documentElement;\r\n htmlEl.classList.add('locale_' + i18nService.translationLocale);\r\n let theme = await storageService.get(ConstantsService.themeKey);\r\n if (theme == null) {\r\n theme = 'light';\r\n }\r\n htmlEl.classList.add('theme_' + theme);\r\n stateService.save(ConstantsService.disableFaviconKey,\r\n await storageService.get(ConstantsService.disableFaviconKey));\r\n stateService.save('enableGravatars', await storageService.get('enableGravatars'));\r\n };\r\n}\r\n\r\n@NgModule({\r\n imports: [\r\n ToasterModule,\r\n ],\r\n declarations: [],\r\n providers: [\r\n ValidationService,\r\n AuthGuardService,\r\n OrganizationGuardService,\r\n OrganizationTypeGuardService,\r\n UnauthGuardService,\r\n RouterService,\r\n EventService,\r\n { provide: AuditServiceAbstraction, useValue: auditService },\r\n { provide: AuthServiceAbstraction, useValue: authService },\r\n { provide: CipherServiceAbstraction, useValue: cipherService },\r\n { provide: FolderServiceAbstraction, useValue: folderService },\r\n { provide: CollectionServiceAbstraction, useValue: collectionService },\r\n { provide: EnvironmentServiceAbstraction, useValue: environmentService },\r\n { provide: TotpServiceAbstraction, useValue: totpService },\r\n { provide: TokenServiceAbstraction, useValue: tokenService },\r\n { provide: I18nServiceAbstraction, useValue: i18nService },\r\n { provide: CryptoServiceAbstraction, useValue: cryptoService },\r\n { provide: PlatformUtilsServiceAbstraction, useValue: platformUtilsService },\r\n { provide: PasswordGenerationServiceAbstraction, useValue: passwordGenerationService },\r\n { provide: ApiServiceAbstraction, useValue: apiService },\r\n { provide: SyncServiceAbstraction, useValue: syncService },\r\n { provide: UserServiceAbstraction, useValue: userService },\r\n { provide: MessagingServiceAbstraction, useValue: messagingService },\r\n { provide: BroadcasterService, useValue: broadcasterService },\r\n { provide: SettingsServiceAbstraction, useValue: settingsService },\r\n { provide: VaultTimeoutServiceAbstraction, useValue: vaultTimeoutService },\r\n { provide: StorageServiceAbstraction, useValue: storageService },\r\n { provide: StateServiceAbstraction, useValue: stateService },\r\n { provide: ExportServiceAbstraction, useValue: exportService },\r\n { provide: SearchServiceAbstraction, useValue: searchService },\r\n { provide: ImportServiceAbstraction, useValue: importService },\r\n { provide: NotificationsServiceAbstraction, useValue: notificationsService },\r\n { provide: CryptoFunctionServiceAbstraction, useValue: cryptoFunctionService },\r\n { provide: EventLoggingServiceAbstraction, useValue: eventLoggingService },\r\n { provide: PolicyServiceAbstraction, useValue: policyService },\r\n { provide: SendServiceAbstraction, useValue: sendService },\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: initFactory,\r\n deps: [],\r\n multi: true,\r\n },\r\n {\r\n provide: LOCALE_ID,\r\n useFactory: () => i18nService.translationLocale,\r\n deps: [],\r\n },\r\n ],\r\n})\r\nexport class ServicesModule {\r\n}\r\n","import { MessagingService } from 'jslib/abstractions/messaging.service';\r\n\r\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\r\n\r\nexport class BroadcasterMessagingService implements MessagingService {\r\n constructor(private broadcasterService: BroadcasterService) { }\r\n\r\n send(subscriber: string, arg: any = {}) {\r\n const message = Object.assign({}, { command: subscriber }, arg);\r\n this.broadcasterService.send(message);\r\n }\r\n}\r\n","import { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { StorageService } from 'jslib/abstractions/storage.service';\r\nimport { ConstantsService } from 'jslib/services';\r\n\r\nexport class HtmlStorageService implements StorageService {\r\n private localStorageKeys = new Set(['appId', 'anonymousAppId', 'rememberedEmail', 'passwordGenerationOptions',\r\n ConstantsService.disableFaviconKey, 'rememberEmail', 'enableGravatars', 'enableFullWidth',\r\n ConstantsService.localeKey, ConstantsService.autoConfirmFingerprints,\r\n ConstantsService.vaultTimeoutKey, ConstantsService.vaultTimeoutActionKey, ConstantsService.ssoCodeVerifierKey,\r\n ConstantsService.ssoStateKey, 'ssoOrgIdentifier']);\r\n private localStorageStartsWithKeys = ['twoFactorToken_', ConstantsService.collapsedGroupingsKey + '_'];\r\n private memoryStorageStartsWithKeys = ['ciphers_', 'folders_', 'collections_', 'settings_', 'lastSync_'];\r\n private memoryStorage = new Map()\r\n\r\n constructor(private platformUtilsService: PlatformUtilsService) { }\r\n\r\n async init() {\r\n // LockOption -> VaultTimeout (uses the same legacy string value for backwards compat)\r\n const vaultTimeout = await this.get(ConstantsService.vaultTimeoutKey);\r\n if (vaultTimeout == null && !this.platformUtilsService.isDev()) {\r\n await this.save(ConstantsService.vaultTimeoutKey, 15);\r\n }\r\n\r\n // Default Action to lock\r\n const vaultTimeoutAction = await this.get(ConstantsService.vaultTimeoutActionKey);\r\n if (vaultTimeoutAction == null) {\r\n await this.save(ConstantsService.vaultTimeoutActionKey, 'lock');\r\n }\r\n }\r\n\r\n get(key: string): Promise {\r\n let json: string = null;\r\n if (this.isLocalStorage(key)) {\r\n json = window.localStorage.getItem(key);\r\n } else if (this.isMemoryStorage(key)) {\r\n json = this.memoryStorage.get(key);\r\n } else {\r\n json = window.sessionStorage.getItem(key);\r\n }\r\n if (json != null) {\r\n const obj = JSON.parse(json);\r\n return Promise.resolve(obj as T);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n save(key: string, obj: any): Promise {\r\n if (obj == null) {\r\n return this.remove(key);\r\n }\r\n\r\n const json = JSON.stringify(obj);\r\n if (this.isLocalStorage(key)) {\r\n window.localStorage.setItem(key, json);\r\n } else if (this.isMemoryStorage(key)) {\r\n this.memoryStorage.set(key, json);\r\n } else {\r\n window.sessionStorage.setItem(key, json);\r\n }\r\n return Promise.resolve();\r\n }\r\n\r\n remove(key: string): Promise {\r\n if (this.isLocalStorage(key)) {\r\n window.localStorage.removeItem(key);\r\n } else if (this.isMemoryStorage(key)) {\r\n this.memoryStorage.delete(key);\r\n } else {\r\n window.sessionStorage.removeItem(key);\r\n }\r\n return Promise.resolve();\r\n }\r\n\r\n private isLocalStorage(key: string): boolean {\r\n if (this.localStorageKeys.has(key)) {\r\n return true;\r\n }\r\n for (const swKey of this.localStorageStartsWithKeys) {\r\n if (key.startsWith(swKey)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n private isMemoryStorage(key: string): boolean {\r\n for (const swKey of this.memoryStorageStartsWithKeys) {\r\n if (key.startsWith(swKey)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n}\r\n","export { ApiService } from './api.service';\r\nexport { AppIdService } from './appId.service';\r\nexport { AuditService } from './audit.service';\r\nexport { AuthService } from './auth.service';\r\nexport { CipherService } from './cipher.service';\r\nexport { CollectionService } from './collection.service';\r\nexport { ConstantsService } from './constants.service';\r\nexport { ContainerService } from './container.service';\r\nexport { CryptoService } from './crypto.service';\r\nexport { EnvironmentService } from './environment.service';\r\nexport { FolderService } from './folder.service';\r\nexport { I18nService } from './i18n.service';\r\nexport { PasswordGenerationService } from './passwordGeneration.service';\r\nexport { SettingsService } from './settings.service';\r\nexport { StateService } from './state.service';\r\nexport { SyncService } from './sync.service';\r\nexport { TokenService } from './token.service';\r\nexport { TotpService } from './totp.service';\r\nexport { UserService } from './user.service';\r\nexport { VaultTimeoutService } from './vaultTimeout.service';\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class ApiKeyResponse extends BaseResponse {\r\n apiKey: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.apiKey = this.getResponseProperty('ApiKey');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nimport { PaymentMethodType } from '../../enums/paymentMethodType';\r\nimport { TransactionType } from '../../enums/transactionType';\r\n\r\nexport class BillingResponse extends BaseResponse {\r\n balance: number;\r\n paymentSource: BillingSourceResponse;\r\n invoices: BillingInvoiceResponse[] = [];\r\n transactions: BillingTransactionResponse[] = [];\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.balance = this.getResponseProperty('Balance');\r\n const paymentSource = this.getResponseProperty('PaymentSource');\r\n const transactions = this.getResponseProperty('Transactions');\r\n const invoices = this.getResponseProperty('Invoices');\r\n this.paymentSource = paymentSource == null ? null : new BillingSourceResponse(paymentSource);\r\n if (transactions != null) {\r\n this.transactions = transactions.map((t: any) => new BillingTransactionResponse(t));\r\n }\r\n if (invoices != null) {\r\n this.invoices = invoices.map((i: any) => new BillingInvoiceResponse(i));\r\n }\r\n }\r\n}\r\n\r\nexport class BillingSourceResponse extends BaseResponse {\r\n type: PaymentMethodType;\r\n cardBrand: string;\r\n description: string;\r\n needsVerification: boolean;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.type = this.getResponseProperty('Type');\r\n this.cardBrand = this.getResponseProperty('CardBrand');\r\n this.description = this.getResponseProperty('Description');\r\n this.needsVerification = this.getResponseProperty('NeedsVerification');\r\n }\r\n}\r\n\r\nexport class BillingInvoiceResponse extends BaseResponse {\r\n url: string;\r\n pdfUrl: string;\r\n number: string;\r\n paid: boolean;\r\n date: string;\r\n amount: number;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.url = this.getResponseProperty('Url');\r\n this.pdfUrl = this.getResponseProperty('PdfUrl');\r\n this.number = this.getResponseProperty('Number');\r\n this.paid = this.getResponseProperty('Paid');\r\n this.date = this.getResponseProperty('Date');\r\n this.amount = this.getResponseProperty('Amount');\r\n }\r\n}\r\n\r\nexport class BillingTransactionResponse extends BaseResponse {\r\n createdDate: string;\r\n amount: number;\r\n refunded: boolean;\r\n partiallyRefunded: boolean;\r\n refundedAmount: number;\r\n type: TransactionType;\r\n paymentMethodType: PaymentMethodType;\r\n details: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.createdDate = this.getResponseProperty('CreatedDate');\r\n this.amount = this.getResponseProperty('Amount');\r\n this.refunded = this.getResponseProperty('Refunded');\r\n this.partiallyRefunded = this.getResponseProperty('PartiallyRefunded');\r\n this.refundedAmount = this.getResponseProperty('RefundedAmount');\r\n this.type = this.getResponseProperty('Type');\r\n this.paymentMethodType = this.getResponseProperty('PaymentMethodType');\r\n this.details = this.getResponseProperty('Details');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class BreachAccountResponse extends BaseResponse {\r\n addedDate: string;\r\n breachDate: string;\r\n dataClasses: string[];\r\n description: string;\r\n domain: string;\r\n isActive: boolean;\r\n isVerified: boolean;\r\n logoPath: string;\r\n modifiedDate: string;\r\n name: string;\r\n pwnCount: number;\r\n title: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.addedDate = this.getResponseProperty('AddedDate');\r\n this.breachDate = this.getResponseProperty('BreachDate');\r\n this.dataClasses = this.getResponseProperty('DataClasses');\r\n this.description = this.getResponseProperty('Description');\r\n this.domain = this.getResponseProperty('Domain');\r\n this.isActive = this.getResponseProperty('IsActive');\r\n this.isVerified = this.getResponseProperty('IsVerified');\r\n this.logoPath = this.getResponseProperty('LogoPath');\r\n this.modifiedDate = this.getResponseProperty('ModifiedDate');\r\n this.name = this.getResponseProperty('Name');\r\n this.pwnCount = this.getResponseProperty('PwnCount');\r\n this.title = this.getResponseProperty('Title');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class AttachmentResponse extends BaseResponse {\r\n id: string;\r\n url: string;\r\n fileName: string;\r\n key: string;\r\n size: string;\r\n sizeName: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.url = this.getResponseProperty('Url');\r\n this.fileName = this.getResponseProperty('FileName');\r\n this.key = this.getResponseProperty('Key');\r\n this.size = this.getResponseProperty('Size');\r\n this.sizeName = this.getResponseProperty('SizeName');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class PasswordHistoryResponse extends BaseResponse {\r\n password: string;\r\n lastUsedDate: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.password = this.getResponseProperty('Password');\r\n this.lastUsedDate = this.getResponseProperty('LastUsedDate');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class GlobalDomainResponse extends BaseResponse {\r\n type: number;\r\n domains: string[];\r\n excluded: boolean;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.type = this.getResponseProperty('Type');\r\n this.domains = this.getResponseProperty('Domains');\r\n this.excluded = this.getResponseProperty('Excluded');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nimport { DeviceType } from '../../enums/deviceType';\r\nimport { EventType } from '../../enums/eventType';\r\n\r\nexport class EventResponse extends BaseResponse {\r\n type: EventType;\r\n userId: string;\r\n organizationId: string;\r\n cipherId: string;\r\n collectionId: string;\r\n groupId: string;\r\n organizationUserId: string;\r\n actingUserId: string;\r\n date: string;\r\n deviceType: DeviceType;\r\n ipAddress: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.type = this.getResponseProperty('Type');\r\n this.userId = this.getResponseProperty('UserId');\r\n this.organizationId = this.getResponseProperty('OrganizationId');\r\n this.cipherId = this.getResponseProperty('CipherId');\r\n this.collectionId = this.getResponseProperty('CollectionId');\r\n this.groupId = this.getResponseProperty('GroupId');\r\n this.organizationUserId = this.getResponseProperty('OrganizationUserId');\r\n this.actingUserId = this.getResponseProperty('ActingUserId');\r\n this.date = this.getResponseProperty('Date');\r\n this.deviceType = this.getResponseProperty('DeviceType');\r\n this.ipAddress = this.getResponseProperty('IpAddress');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\nimport { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\r\n\r\nexport class GroupResponse extends BaseResponse {\r\n id: string;\r\n organizationId: string;\r\n name: string;\r\n accessAll: boolean;\r\n externalId: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.organizationId = this.getResponseProperty('OrganizationId');\r\n this.name = this.getResponseProperty('Name');\r\n this.accessAll = this.getResponseProperty('AccessAll');\r\n this.externalId = this.getResponseProperty('ExternalId');\r\n }\r\n}\r\n\r\nexport class GroupDetailsResponse extends GroupResponse {\r\n collections: SelectionReadOnlyResponse[] = [];\r\n\r\n constructor(response: any) {\r\n super(response);\r\n const collections = this.getResponseProperty('Collections');\r\n if (collections != null) {\r\n this.collections = collections.map((c: any) => new SelectionReadOnlyResponse(c));\r\n }\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nimport { KdfType } from '../../enums/kdfType';\r\n\r\nexport class IdentityTokenResponse extends BaseResponse {\r\n accessToken: string;\r\n expiresIn: number;\r\n refreshToken: string;\r\n tokenType: string;\r\n\r\n resetMasterPassword: boolean;\r\n privateKey: string;\r\n key: string;\r\n twoFactorToken: string;\r\n kdf: KdfType;\r\n kdfIterations: number;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.accessToken = response.access_token;\r\n this.expiresIn = response.expires_in;\r\n this.refreshToken = response.refresh_token;\r\n this.tokenType = response.token_type;\r\n\r\n this.resetMasterPassword = this.getResponseProperty('ResetMasterPassword');\r\n this.privateKey = this.getResponseProperty('PrivateKey');\r\n this.key = this.getResponseProperty('Key');\r\n this.twoFactorToken = this.getResponseProperty('TwoFactorToken');\r\n this.kdf = this.getResponseProperty('Kdf');\r\n this.kdfIterations = this.getResponseProperty('KdfIterations');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nexport class IdentityTwoFactorResponse extends BaseResponse {\r\n twoFactorProviders: TwoFactorProviderType[];\r\n twoFactorProviders2 = new Map();\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.twoFactorProviders = this.getResponseProperty('TwoFactorProviders');\r\n const twoFactorProviders2 = this.getResponseProperty('TwoFactorProviders2');\r\n if (twoFactorProviders2 != null) {\r\n for (const prop in twoFactorProviders2) {\r\n if (twoFactorProviders2.hasOwnProperty(prop)) {\r\n this.twoFactorProviders2.set(parseInt(prop, null), twoFactorProviders2[prop]);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class ListResponse extends BaseResponse {\r\n data: T[];\r\n continuationToken: string;\r\n\r\n constructor(response: any, t: new (dataResponse: any) => T) {\r\n super(response);\r\n const data = this.getResponseProperty('Data');\r\n this.data = data == null ? [] : data.map((dr: any) => new t(dr));\r\n this.continuationToken = this.getResponseProperty('ContinuationToken');\r\n }\r\n}\r\n","import { OrganizationResponse } from './organizationResponse';\r\nimport {\r\n BillingSubscriptionResponse,\r\n BillingSubscriptionUpcomingInvoiceResponse,\r\n} from './subscriptionResponse';\r\n\r\nexport class OrganizationSubscriptionResponse extends OrganizationResponse {\r\n storageName: string;\r\n storageGb: number;\r\n subscription: BillingSubscriptionResponse;\r\n upcomingInvoice: BillingSubscriptionUpcomingInvoiceResponse;\r\n expiration: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.storageName = this.getResponseProperty('StorageName');\r\n this.storageGb = this.getResponseProperty('StorageGb');\r\n const subscription = this.getResponseProperty('Subscription');\r\n this.subscription = subscription == null ? null : new BillingSubscriptionResponse(subscription);\r\n const upcomingInvoice = this.getResponseProperty('UpcomingInvoice');\r\n this.upcomingInvoice = upcomingInvoice == null ? null :\r\n new BillingSubscriptionUpcomingInvoiceResponse(upcomingInvoice);\r\n this.expiration = this.getResponseProperty('Expiration');\r\n }\r\n}\r\n","import { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\r\nimport { OrganizationUserType } from '../../enums/organizationUserType';\r\n\r\nimport { BaseResponse } from './baseResponse';\r\nimport { SelectionReadOnlyResponse } from './selectionReadOnlyResponse';\r\n\r\nexport class OrganizationUserResponse extends BaseResponse {\r\n id: string;\r\n userId: string;\r\n type: OrganizationUserType;\r\n status: OrganizationUserStatusType;\r\n accessAll: boolean;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.userId = this.getResponseProperty('UserId');\r\n this.type = this.getResponseProperty('Type');\r\n this.status = this.getResponseProperty('Status');\r\n this.accessAll = this.getResponseProperty('AccessAll');\r\n }\r\n}\r\n\r\nexport class OrganizationUserUserDetailsResponse extends OrganizationUserResponse {\r\n name: string;\r\n email: string;\r\n twoFactorEnabled: boolean;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.name = this.getResponseProperty('Name');\r\n this.email = this.getResponseProperty('Email');\r\n this.twoFactorEnabled = this.getResponseProperty('TwoFactorEnabled');\r\n }\r\n}\r\n\r\nexport class OrganizationUserDetailsResponse extends OrganizationUserResponse {\r\n collections: SelectionReadOnlyResponse[] = [];\r\n\r\n constructor(response: any) {\r\n super(response);\r\n const collections = this.getResponseProperty('Collections');\r\n if (collections != null) {\r\n this.collections = collections.map((c: any) => new SelectionReadOnlyResponse(c));\r\n }\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\nimport { ProfileResponse } from './profileResponse';\r\n\r\nexport class PaymentResponse extends BaseResponse {\r\n userProfile: ProfileResponse;\r\n paymentIntentClientSecret: string;\r\n success: boolean;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n const userProfile = this.getResponseProperty('UserProfile');\r\n if (userProfile != null) {\r\n this.userProfile = new ProfileResponse(userProfile);\r\n }\r\n this.paymentIntentClientSecret = this.getResponseProperty('PaymentIntentClientSecret');\r\n this.success = this.getResponseProperty('Success');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\r\nimport { OrganizationUserType } from '../../enums/organizationUserType';\r\n\r\nexport class ProfileOrganizationResponse extends BaseResponse {\r\n id: string;\r\n name: string;\r\n usePolicies: boolean;\r\n useGroups: boolean;\r\n useDirectory: boolean;\r\n useEvents: boolean;\r\n useTotp: boolean;\r\n use2fa: boolean;\r\n useApi: boolean;\r\n useBusinessPortal: boolean;\r\n useSso: boolean;\r\n selfHost: boolean;\r\n usersGetPremium: boolean;\r\n seats: number;\r\n maxCollections: number;\r\n maxStorageGb?: number;\r\n key: string;\r\n status: OrganizationUserStatusType;\r\n type: OrganizationUserType;\r\n enabled: boolean;\r\n ssoBound: boolean;\r\n identifier: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.name = this.getResponseProperty('Name');\r\n this.usePolicies = this.getResponseProperty('UsePolicies');\r\n this.useGroups = this.getResponseProperty('UseGroups');\r\n this.useDirectory = this.getResponseProperty('UseDirectory');\r\n this.useEvents = this.getResponseProperty('UseEvents');\r\n this.useTotp = this.getResponseProperty('UseTotp');\r\n this.use2fa = this.getResponseProperty('Use2fa');\r\n this.useApi = this.getResponseProperty('UseApi');\r\n this.useBusinessPortal = this.getResponseProperty('UseBusinessPortal');\r\n this.useSso = this.getResponseProperty('UseSso');\r\n this.selfHost = this.getResponseProperty('SelfHost');\r\n this.usersGetPremium = this.getResponseProperty('UsersGetPremium');\r\n this.seats = this.getResponseProperty('Seats');\r\n this.maxCollections = this.getResponseProperty('MaxCollections');\r\n this.maxStorageGb = this.getResponseProperty('MaxStorageGb');\r\n this.key = this.getResponseProperty('Key');\r\n this.status = this.getResponseProperty('Status');\r\n this.type = this.getResponseProperty('Type');\r\n this.enabled = this.getResponseProperty('Enabled');\r\n this.ssoBound = this.getResponseProperty('SsoBound');\r\n this.identifier = this.getResponseProperty('Identifier');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nimport { KdfType } from '../../enums/kdfType';\r\n\r\nexport class PreloginResponse extends BaseResponse {\r\n kdf: KdfType;\r\n kdfIterations: number;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.kdf = this.getResponseProperty('Kdf');\r\n this.kdfIterations = this.getResponseProperty('KdfIterations');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nimport { SendType } from '../../enums/sendType';\r\n\r\nimport { SendFileApi } from '../api/sendFileApi';\r\nimport { SendTextApi } from '../api/sendTextApi';\r\n\r\nexport class SendAccessResponse extends BaseResponse {\r\n id: string;\r\n type: SendType;\r\n name: string;\r\n file: SendFileApi;\r\n text: SendTextApi;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.type = this.getResponseProperty('Type');\r\n this.name = this.getResponseProperty('Name');\r\n\r\n const text = this.getResponseProperty('Text');\r\n if (text != null) {\r\n this.text = new SendTextApi(text);\r\n }\r\n\r\n const file = this.getResponseProperty('File');\r\n if (file != null) {\r\n this.file = new SendFileApi(file);\r\n }\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\nimport { CipherResponse } from './cipherResponse';\r\nimport { CollectionDetailsResponse } from './collectionResponse';\r\nimport { DomainsResponse } from './domainsResponse';\r\nimport { FolderResponse } from './folderResponse';\r\nimport { PolicyResponse } from './policyResponse';\r\nimport { ProfileResponse } from './profileResponse';\r\nimport { SendResponse } from './sendResponse';\r\n\r\nexport class SyncResponse extends BaseResponse {\r\n profile?: ProfileResponse;\r\n folders: FolderResponse[] = [];\r\n collections: CollectionDetailsResponse[] = [];\r\n ciphers: CipherResponse[] = [];\r\n domains?: DomainsResponse;\r\n policies?: PolicyResponse[] = [];\r\n sends: SendResponse[] = [];\r\n\r\n constructor(response: any) {\r\n super(response);\r\n\r\n const profile = this.getResponseProperty('Profile');\r\n if (profile != null) {\r\n this.profile = new ProfileResponse(profile);\r\n }\r\n\r\n const folders = this.getResponseProperty('Folders');\r\n if (folders != null) {\r\n this.folders = folders.map((f: any) => new FolderResponse(f));\r\n }\r\n\r\n const collections = this.getResponseProperty('Collections');\r\n if (collections != null) {\r\n this.collections = collections.map((c: any) => new CollectionDetailsResponse(c));\r\n }\r\n\r\n const ciphers = this.getResponseProperty('Ciphers');\r\n if (ciphers != null) {\r\n this.ciphers = ciphers.map((c: any) => new CipherResponse(c));\r\n }\r\n\r\n const domains = this.getResponseProperty('Domains');\r\n if (domains != null) {\r\n this.domains = new DomainsResponse(domains);\r\n }\r\n\r\n const policies = this.getResponseProperty('Policies');\r\n if (policies != null) {\r\n this.policies = policies.map((p: any) => new PolicyResponse(p));\r\n }\r\n\r\n const sends = this.getResponseProperty('Sends');\r\n if (sends != null) {\r\n this.sends = sends.map((s: any) => new SendResponse(s));\r\n }\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class TaxInfoResponse extends BaseResponse {\r\n taxId: string;\r\n taxIdType: string;\r\n line1: string;\r\n line2: string;\r\n city: string;\r\n state: string;\r\n country: string;\r\n postalCode: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.taxId = this.getResponseProperty('TaxIdNumber');\r\n this.taxIdType = this.getResponseProperty('TaxIdType');\r\n this.line1 = this.getResponseProperty('Line1');\r\n this.line2 = this.getResponseProperty('Line2');\r\n this.city = this.getResponseProperty('City');\r\n this.state = this.getResponseProperty('State');\r\n this.postalCode = this.getResponseProperty('PostalCode');\r\n this.country = this.getResponseProperty('Country');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class TwoFactorAuthenticatorResponse extends BaseResponse {\r\n enabled: boolean;\r\n key: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.enabled = this.getResponseProperty('Enabled');\r\n this.key = this.getResponseProperty('Key');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class TwoFactorDuoResponse extends BaseResponse {\r\n enabled: boolean;\r\n host: string;\r\n secretKey: string;\r\n integrationKey: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.enabled = this.getResponseProperty('Enabled');\r\n this.host = this.getResponseProperty('Host');\r\n this.secretKey = this.getResponseProperty('SecretKey');\r\n this.integrationKey = this.getResponseProperty('IntegrationKey');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class TwoFactorEmailResponse extends BaseResponse {\r\n enabled: boolean;\r\n email: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.enabled = this.getResponseProperty('Enabled');\r\n this.email = this.getResponseProperty('Email');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nimport { TwoFactorProviderType } from '../../enums/twoFactorProviderType';\r\n\r\nexport class TwoFactorProviderResponse extends BaseResponse {\r\n enabled: boolean;\r\n type: TwoFactorProviderType;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.enabled = this.getResponseProperty('Enabled');\r\n this.type = this.getResponseProperty('Type');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class TwoFactorRecoverResponse extends BaseResponse {\r\n code: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.code = this.getResponseProperty('Code');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class TwoFactorU2fResponse extends BaseResponse {\r\n enabled: boolean;\r\n keys: KeyResponse[];\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.enabled = this.getResponseProperty('Enabled');\r\n const keys = this.getResponseProperty('Keys');\r\n this.keys = keys == null ? null : keys.map((k: any) => new KeyResponse(k));\r\n }\r\n}\r\n\r\nexport class KeyResponse extends BaseResponse {\r\n name: string;\r\n id: number;\r\n compromised: boolean;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.name = this.getResponseProperty('Name');\r\n this.id = this.getResponseProperty('Id');\r\n this.compromised = this.getResponseProperty('Compromised');\r\n }\r\n}\r\n\r\nexport class ChallengeResponse extends BaseResponse {\r\n userId: string;\r\n appId: string;\r\n challenge: string;\r\n version: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.userId = this.getResponseProperty('UserId');\r\n this.appId = this.getResponseProperty('AppId');\r\n this.challenge = this.getResponseProperty('Challenge');\r\n this.version = this.getResponseProperty('Version');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class TwoFactorYubiKeyResponse extends BaseResponse {\r\n enabled: boolean;\r\n key1: string;\r\n key2: string;\r\n key3: string;\r\n key4: string;\r\n key5: string;\r\n nfc: boolean;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.enabled = this.getResponseProperty('Enabled');\r\n this.key1 = this.getResponseProperty('Key1');\r\n this.key2 = this.getResponseProperty('Key2');\r\n this.key3 = this.getResponseProperty('Key3');\r\n this.key4 = this.getResponseProperty('Key4');\r\n this.key5 = this.getResponseProperty('Key5');\r\n this.nfc = this.getResponseProperty('Nfc');\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nexport class UserKeyResponse extends BaseResponse {\r\n userId: string;\r\n publicKey: string;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.userId = this.getResponseProperty('UserId');\r\n this.publicKey = this.getResponseProperty('PublicKey');\r\n }\r\n}\r\n","/**\r\n * Use as a Decorator on async functions, it will limit how many times the function can be\r\n * in-flight at a time.\r\n *\r\n * Calls beyond the limit will be queued, and run when one of the active calls finishes\r\n */\r\nexport function throttle(limit: number, throttleKey: (args: any[]) => string) {\r\n return (target: any, propertyKey: string | symbol,\r\n descriptor: TypedPropertyDescriptor<(...args: any[]) => Promise>) => {\r\n const originalMethod: () => Promise = descriptor.value;\r\n const allThrottles = new Map void)[]>>();\r\n\r\n const getThrottles = (obj: any) => {\r\n let throttles = allThrottles.get(obj);\r\n if (throttles != null) {\r\n return throttles;\r\n }\r\n throttles = new Map void)[]>();\r\n allThrottles.set(obj, throttles);\r\n return throttles;\r\n };\r\n\r\n return {\r\n value: function(...args: any[]) {\r\n const throttles = getThrottles(this);\r\n const argsThrottleKey = throttleKey(args);\r\n let queue = throttles.get(argsThrottleKey);\r\n if (queue == null) {\r\n queue = [];\r\n throttles.set(argsThrottleKey, queue);\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n const exec = () => {\r\n const onFinally = () => {\r\n queue.splice(queue.indexOf(exec), 1);\r\n if (queue.length >= limit) {\r\n queue[limit - 1]();\r\n } else if (queue.length === 0) {\r\n throttles.delete(argsThrottleKey);\r\n if (throttles.size === 0) {\r\n allThrottles.delete(this);\r\n }\r\n }\r\n };\r\n originalMethod.apply(this, args).then((val: any) => {\r\n onFinally();\r\n return val;\r\n }).catch((err: any) => {\r\n onFinally();\r\n throw err;\r\n }).then(resolve, reject);\r\n };\r\n queue.push(exec);\r\n if (queue.length <= limit) {\r\n exec();\r\n }\r\n });\r\n },\r\n };\r\n };\r\n}\r\n","export class CipherBulkMoveRequest {\r\n ids: string[];\r\n folderId: string;\r\n\r\n constructor(ids: string[], folderId: string) {\r\n this.ids = ids == null ? [] : ids;\r\n this.folderId = folderId;\r\n }\r\n}\r\n","export class CipherBulkRestoreRequest {\r\n ids: string[];\r\n\r\n constructor(ids: string[]) {\r\n this.ids = ids == null ? [] : ids;\r\n }\r\n}\r\n","import { CipherWithIdRequest } from './cipherWithIdRequest';\r\n\r\nimport { Cipher } from '../domain/cipher';\r\n\r\nexport class CipherBulkShareRequest {\r\n ciphers: CipherWithIdRequest[];\r\n collectionIds: string[];\r\n\r\n constructor(ciphers: Cipher[], collectionIds: string[]) {\r\n if (ciphers != null) {\r\n this.ciphers = [];\r\n ciphers.forEach((c) => {\r\n this.ciphers.push(new CipherWithIdRequest(c));\r\n });\r\n }\r\n this.collectionIds = collectionIds;\r\n }\r\n}\r\n","import { CipherRequest } from './cipherRequest';\r\n\r\nimport { Cipher } from '../domain/cipher';\r\n\r\nexport class CipherShareRequest {\r\n cipher: CipherRequest;\r\n collectionIds: string[];\r\n\r\n constructor(cipher: Cipher) {\r\n this.cipher = new CipherRequest(cipher);\r\n this.collectionIds = cipher.collectionIds;\r\n }\r\n}\r\n","import { CipherView } from '../view';\r\n\r\nconst CacheTTL = 3000;\r\n\r\nexport class SortedCiphersCache {\r\n private readonly sortedCiphersByUrl: Map = new Map();\r\n private readonly timeouts: Map = new Map();\r\n\r\n constructor(private readonly comparator: (a: CipherView, b: CipherView) => number) { }\r\n\r\n isCached(url: string) {\r\n return this.sortedCiphersByUrl.has(url);\r\n }\r\n\r\n addCiphers(url: string, ciphers: CipherView[]) {\r\n ciphers.sort(this.comparator);\r\n this.sortedCiphersByUrl.set(url, new Ciphers(ciphers));\r\n this.resetTimer(url);\r\n }\r\n\r\n getLastUsed(url: string) {\r\n this.resetTimer(url);\r\n return this.isCached(url) ? this.sortedCiphersByUrl.get(url).getLastUsed() : null;\r\n }\r\n\r\n getLastLaunched(url: string) {\r\n return this.isCached(url) ? this.sortedCiphersByUrl.get(url).getLastLaunched() : null;\r\n }\r\n\r\n getNext(url: string) {\r\n this.resetTimer(url);\r\n return this.isCached(url) ? this.sortedCiphersByUrl.get(url).getNext() : null;\r\n }\r\n\r\n updateLastUsedIndex(url: string) {\r\n if (this.isCached(url)) {\r\n this.sortedCiphersByUrl.get(url).updateLastUsedIndex();\r\n }\r\n }\r\n\r\n clear() {\r\n this.sortedCiphersByUrl.clear();\r\n this.timeouts.clear();\r\n }\r\n\r\n private resetTimer(url: string) {\r\n clearTimeout(this.timeouts.get(url));\r\n this.timeouts.set(url, setTimeout(() => {\r\n this.sortedCiphersByUrl.delete(url);\r\n this.timeouts.delete(url);\r\n }, CacheTTL));\r\n }\r\n}\r\n\r\nclass Ciphers {\r\n lastUsedIndex = -1;\r\n\r\n constructor(private readonly ciphers: CipherView[]) { }\r\n\r\n getLastUsed() {\r\n this.lastUsedIndex = Math.max(this.lastUsedIndex, 0);\r\n return this.ciphers[this.lastUsedIndex];\r\n }\r\n\r\n getLastLaunched() {\r\n const usedCiphers = this.ciphers.filter(cipher => cipher.localData?.lastLaunched);\r\n const sortedCiphers = usedCiphers.sort((x, y) => y.localData.lastLaunched.valueOf() - x.localData.lastLaunched.valueOf());\r\n return sortedCiphers[0];\r\n }\r\n\r\n getNextIndex() {\r\n return (this.lastUsedIndex + 1) % this.ciphers.length;\r\n }\r\n\r\n getNext() {\r\n return this.ciphers[this.getNextIndex()];\r\n }\r\n\r\n updateLastUsedIndex() {\r\n this.lastUsedIndex = this.getNextIndex();\r\n }\r\n}\r\n","export class TreeNode {\r\n parent: T;\r\n node: T;\r\n children: TreeNode[] = [];\r\n\r\n constructor(node: T, name: string, parent: T) {\r\n this.parent = parent;\r\n this.node = node;\r\n this.node.name = name;\r\n }\r\n}\r\n\r\nexport interface ITreeNodeObject {\r\n id: string;\r\n name: string;\r\n}\r\n","import { SymmetricCryptoKey } from './symmetricCryptoKey';\r\n\r\nexport class EncryptedObject {\r\n iv: ArrayBuffer;\r\n data: ArrayBuffer;\r\n mac: ArrayBuffer;\r\n key: SymmetricCryptoKey;\r\n}\r\n","export class EnvironmentUrls {\r\n base: string;\r\n api: string;\r\n identity: string;\r\n events: string;\r\n}\r\n","import { FolderData } from '../data/folderData';\r\n\r\nimport { FolderView } from '../view/folderView';\r\n\r\nimport { CipherString } from './cipherString';\r\nimport Domain from './domainBase';\r\n\r\nexport class Folder extends Domain {\r\n id: string;\r\n name: CipherString;\r\n revisionDate: Date;\r\n\r\n constructor(obj?: FolderData, alreadyEncrypted: boolean = false) {\r\n super();\r\n if (obj == null) {\r\n return;\r\n }\r\n\r\n this.buildDomainModel(this, obj, {\r\n id: null,\r\n name: null,\r\n }, alreadyEncrypted, ['id']);\r\n\r\n this.revisionDate = obj.revisionDate != null ? new Date(obj.revisionDate) : null;\r\n }\r\n\r\n decrypt(): Promise {\r\n return this.decryptObj(new FolderView(this), {\r\n name: null,\r\n }, null);\r\n }\r\n}\r\n","export class GeneratedPasswordHistory {\r\n password: string;\r\n date: number;\r\n\r\n constructor(password: string, date: number) {\r\n this.password = password;\r\n this.date = date;\r\n }\r\n}\r\n","import Domain from './domainBase';\r\n\r\nexport class PasswordGeneratorPolicyOptions extends Domain {\r\n defaultType: string = '';\r\n minLength: number = 0;\r\n useUppercase: boolean = false;\r\n useLowercase: boolean = false;\r\n useNumbers: boolean = false;\r\n numberCount: number = 0;\r\n useSpecial: boolean = false;\r\n specialCount: number = 0;\r\n minNumberWords: number = 0;\r\n capitalize: boolean = false;\r\n includeNumber: boolean = false;\r\n\r\n inEffect() {\r\n return this.defaultType !== '' ||\r\n this.minLength > 0 ||\r\n this.numberCount > 0 ||\r\n this.specialCount > 0 ||\r\n this.useUppercase ||\r\n this.useLowercase ||\r\n this.useNumbers ||\r\n this.useSpecial ||\r\n this.minNumberWords > 0 ||\r\n this.capitalize ||\r\n this.includeNumber;\r\n }\r\n}\r\n","import { ProfileOrganizationResponse } from '../response/profileOrganizationResponse';\r\n\r\nimport { OrganizationUserStatusType } from '../../enums/organizationUserStatusType';\r\nimport { OrganizationUserType } from '../../enums/organizationUserType';\r\n\r\nexport class OrganizationData {\r\n id: string;\r\n name: string;\r\n status: OrganizationUserStatusType;\r\n type: OrganizationUserType;\r\n enabled: boolean;\r\n usePolicies: boolean;\r\n useGroups: boolean;\r\n useDirectory: boolean;\r\n useEvents: boolean;\r\n useTotp: boolean;\r\n use2fa: boolean;\r\n useApi: boolean;\r\n useBusinessPortal: boolean;\r\n useSso: boolean;\r\n selfHost: boolean;\r\n usersGetPremium: boolean;\r\n seats: number;\r\n maxCollections: number;\r\n maxStorageGb?: number;\r\n ssoBound: boolean;\r\n identifier: string;\r\n\r\n constructor(response: ProfileOrganizationResponse) {\r\n this.id = response.id;\r\n this.name = response.name;\r\n this.status = response.status;\r\n this.type = response.type;\r\n this.enabled = response.enabled;\r\n this.usePolicies = response.usePolicies;\r\n this.useGroups = response.useGroups;\r\n this.useDirectory = response.useDirectory;\r\n this.useEvents = response.useEvents;\r\n this.useTotp = response.useTotp;\r\n this.use2fa = response.use2fa;\r\n this.useApi = response.useApi;\r\n this.useBusinessPortal = response.useBusinessPortal;\r\n this.useSso = response.useSso;\r\n this.selfHost = response.selfHost;\r\n this.usersGetPremium = response.usersGetPremium;\r\n this.seats = response.seats;\r\n this.maxCollections = response.maxCollections;\r\n this.maxStorageGb = response.maxStorageGb;\r\n this.ssoBound = response.ssoBound;\r\n this.identifier = response.identifier;\r\n }\r\n}\r\n","import { I18nService as BaseI18nService } from 'jslib/services/i18n.service';\r\n\r\nexport class I18nService extends BaseI18nService {\r\n constructor(systemLanguage: string, localesDirectory: string) {\r\n super(systemLanguage || 'en-US', localesDirectory, async (formattedLocale: string) => {\r\n const filePath = this.localesDirectory + '/' + formattedLocale + '/messages.json?cache=' +\r\n process.env.CACHE_TAG;\r\n const localesResult = await fetch(filePath);\r\n const locales = await localesResult.json();\r\n return locales;\r\n });\r\n\r\n this.supportedTranslationLocales = [\r\n 'en', 'ca', 'cs', 'da', 'de', 'el', 'en-GB', 'es', 'et', 'fr', 'he', 'it', 'ja', 'ko', 'lv', 'ml', 'nb',\r\n 'nl', 'pl', 'pt-PT', 'pt-BR', 'ru', 'sk', 'sv', 'uk', 'zh-CN', 'zh-TW',\r\n ];\r\n }\r\n}\r\n","import { StorageService } from 'jslib/abstractions/storage.service';\r\n\r\nexport class MemoryStorageService implements StorageService {\r\n private store = new Map();\r\n\r\n get(key: string): Promise {\r\n if (this.store.has(key)) {\r\n const obj = this.store.get(key);\r\n return Promise.resolve(obj as T);\r\n }\r\n return Promise.resolve(null);\r\n }\r\n\r\n save(key: string, obj: any): Promise {\r\n if (obj == null) {\r\n return this.remove(key);\r\n }\r\n this.store.set(key, obj);\r\n return Promise.resolve();\r\n }\r\n\r\n remove(key: string): Promise {\r\n this.store.delete(key);\r\n return Promise.resolve();\r\n }\r\n}\r\n","import Swal, { SweetAlertIcon } from 'sweetalert2/dist/sweetalert2.js';\r\n\r\nimport { DeviceType } from 'jslib/enums/deviceType';\r\n\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { MessagingService } from 'jslib/abstractions/messaging.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\n\r\nimport { Utils } from 'jslib/misc/utils';\r\n\r\nexport class WebPlatformUtilsService implements PlatformUtilsService {\r\n identityClientId: string = 'web';\r\n\r\n private browserCache: DeviceType = null;\r\n\r\n constructor(private i18nService: I18nService, private messagingService: MessagingService) { }\r\n\r\n getDevice(): DeviceType {\r\n if (this.browserCache != null) {\r\n return this.browserCache;\r\n }\r\n\r\n if (navigator.userAgent.indexOf(' Firefox/') !== -1 || navigator.userAgent.indexOf(' Gecko/') !== -1) {\r\n this.browserCache = DeviceType.FirefoxBrowser;\r\n } else if (navigator.userAgent.indexOf(' OPR/') >= 0) {\r\n this.browserCache = DeviceType.OperaBrowser;\r\n } else if (navigator.userAgent.indexOf(' Edg/') !== -1) {\r\n this.browserCache = DeviceType.EdgeBrowser;\r\n } else if (navigator.userAgent.indexOf(' Vivaldi/') !== -1) {\r\n this.browserCache = DeviceType.VivaldiBrowser;\r\n } else if (navigator.userAgent.indexOf(' Safari/') !== -1 && navigator.userAgent.indexOf('Chrome') === -1) {\r\n this.browserCache = DeviceType.SafariBrowser;\r\n } else if ((window as any).chrome && navigator.userAgent.indexOf(' Chrome/') !== -1) {\r\n this.browserCache = DeviceType.ChromeBrowser;\r\n } else if (navigator.userAgent.indexOf(' Trident/') !== -1) {\r\n this.browserCache = DeviceType.IEBrowser;\r\n } else {\r\n this.browserCache = DeviceType.UnknownBrowser;\r\n }\r\n\r\n return this.browserCache;\r\n }\r\n\r\n getDeviceString(): string {\r\n const device = DeviceType[this.getDevice()].toLowerCase();\r\n return device.replace('browser', '');\r\n }\r\n\r\n isFirefox(): boolean {\r\n return this.getDevice() === DeviceType.FirefoxBrowser;\r\n }\r\n\r\n isChrome(): boolean {\r\n return this.getDevice() === DeviceType.ChromeBrowser;\r\n }\r\n\r\n isEdge(): boolean {\r\n return this.getDevice() === DeviceType.EdgeBrowser;\r\n }\r\n\r\n isOpera(): boolean {\r\n return this.getDevice() === DeviceType.OperaBrowser;\r\n }\r\n\r\n isVivaldi(): boolean {\r\n return this.getDevice() === DeviceType.VivaldiBrowser;\r\n }\r\n\r\n isSafari(): boolean {\r\n return this.getDevice() === DeviceType.SafariBrowser;\r\n }\r\n\r\n isIE(): boolean {\r\n return this.getDevice() === DeviceType.IEBrowser;\r\n }\r\n\r\n isMacAppStore(): boolean {\r\n return false;\r\n }\r\n\r\n analyticsId(): string {\r\n return 'UA-81915606-3';\r\n }\r\n\r\n isViewOpen(): Promise {\r\n return Promise.resolve(false);\r\n }\r\n\r\n lockTimeout(): number {\r\n return null;\r\n }\r\n\r\n launchUri(uri: string, options?: any): void {\r\n const a = document.createElement('a');\r\n a.href = uri;\r\n if (options == null || !options.sameWindow) {\r\n a.target = '_blank';\r\n a.rel = 'noreferrer noopener';\r\n }\r\n a.classList.add('d-none');\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n }\r\n\r\n saveFile(win: Window, blobData: any, blobOptions: any, fileName: string): void {\r\n let blob: Blob = null;\r\n let type: string = null;\r\n const fileNameLower = fileName.toLowerCase();\r\n let doDownload = true;\r\n if (fileNameLower.endsWith('.pdf')) {\r\n type = 'application/pdf';\r\n doDownload = false;\r\n } else if (fileNameLower.endsWith('.xlsx')) {\r\n type = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';\r\n } else if (fileNameLower.endsWith('.docx')) {\r\n type = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';\r\n } else if (fileNameLower.endsWith('.pptx')) {\r\n type = 'application/vnd.openxmlformats-officedocument.presentationml.presentation';\r\n } else if (fileNameLower.endsWith('.csv')) {\r\n type = 'text/csv';\r\n } else if (fileNameLower.endsWith('.png')) {\r\n type = 'image/png';\r\n } else if (fileNameLower.endsWith('.jpg') || fileNameLower.endsWith('.jpeg')) {\r\n type = 'image/jpeg';\r\n } else if (fileNameLower.endsWith('.gif')) {\r\n type = 'image/gif';\r\n }\r\n if (type != null) {\r\n blobOptions = blobOptions || {};\r\n if (blobOptions.type == null) {\r\n blobOptions.type = type;\r\n }\r\n }\r\n if (blobOptions != null && !this.isIE()) {\r\n blob = new Blob([blobData], blobOptions);\r\n } else {\r\n blob = new Blob([blobData]);\r\n }\r\n if (navigator.msSaveOrOpenBlob) {\r\n navigator.msSaveBlob(blob, fileName);\r\n } else {\r\n const a = win.document.createElement('a');\r\n if (doDownload) {\r\n a.download = fileName;\r\n } else {\r\n a.target = '_blank';\r\n }\r\n a.href = URL.createObjectURL(blob);\r\n a.style.position = 'fixed';\r\n win.document.body.appendChild(a);\r\n a.click();\r\n win.document.body.removeChild(a);\r\n }\r\n }\r\n\r\n getApplicationVersion(): string {\r\n return process.env.APPLICATION_VERSION || '-';\r\n }\r\n\r\n supportsU2f(win: Window): boolean {\r\n if (win != null && (win as any).u2f != null) {\r\n return true;\r\n }\r\n return this.isChrome() || ((this.isOpera() || this.isVivaldi()) && !Utils.isMobileBrowser);\r\n }\r\n\r\n supportsDuo(): boolean {\r\n return true;\r\n }\r\n\r\n showToast(type: 'error' | 'success' | 'warning' | 'info', title: string, text: string | string[],\r\n options?: any): void {\r\n this.messagingService.send('showToast', {\r\n text: text,\r\n title: title,\r\n type: type,\r\n options: options,\r\n });\r\n }\r\n\r\n async showDialog(text: string, title?: string, confirmText?: string, cancelText?: string, type?: string) {\r\n let iconClasses: string = null;\r\n if (type != null) {\r\n // If you add custom types to this part, the type to SweetAlertIcon cast below needs to be changed.\r\n switch (type) {\r\n case 'success':\r\n iconClasses = 'fa-check text-success';\r\n break;\r\n case 'warning':\r\n iconClasses = 'fa-warning text-warning';\r\n break;\r\n case 'error':\r\n iconClasses = 'fa-bolt text-danger';\r\n break;\r\n case 'info':\r\n iconClasses = 'fa-info-circle text-info';\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n const iconHtmlStr = iconClasses != null ? `` : undefined;\r\n const confirmed = await Swal.fire({\r\n heightAuto: false,\r\n buttonsStyling: false,\r\n icon: type as SweetAlertIcon, // required to be any of the SweetAlertIcons to output the iconHtml.\r\n iconHtml: iconHtmlStr,\r\n text: text,\r\n title: title,\r\n showCancelButton: (cancelText != null),\r\n cancelButtonText: cancelText,\r\n showConfirmButton: true,\r\n confirmButtonText: confirmText == null ? this.i18nService.t('ok') : confirmText,\r\n });\r\n\r\n return confirmed.value;\r\n }\r\n\r\n eventTrack(action: string, label?: string, options?: any) {\r\n this.messagingService.send('analyticsEventTrack', {\r\n action: action,\r\n label: label,\r\n options: options,\r\n });\r\n }\r\n\r\n isDev(): boolean {\r\n return process.env.ENV === 'development';\r\n }\r\n\r\n isSelfHost(): boolean {\r\n return process.env.SELF_HOST.toString() === 'true';\r\n }\r\n\r\n copyToClipboard(text: string, options?: any): void {\r\n let win = window;\r\n let doc = window.document;\r\n if (options && (options.window || options.win)) {\r\n win = options.window || options.win;\r\n doc = win.document;\r\n } else if (options && options.doc) {\r\n doc = options.doc;\r\n }\r\n if ((win as any).clipboardData && (win as any).clipboardData.setData) {\r\n // IE specific code path to prevent textarea being shown while dialog is visible.\r\n (win as any).clipboardData.setData('Text', text);\r\n } else if (doc.queryCommandSupported && doc.queryCommandSupported('copy')) {\r\n const textarea = doc.createElement('textarea');\r\n textarea.textContent = text;\r\n // Prevent scrolling to bottom of page in MS Edge.\r\n textarea.style.position = 'fixed';\r\n let copyEl = doc.body;\r\n // For some reason copy command won't work when modal is open if appending to body\r\n if (doc.body.classList.contains('modal-open')) {\r\n copyEl = doc.body.querySelector('.modal');\r\n }\r\n copyEl.appendChild(textarea);\r\n textarea.select();\r\n try {\r\n // Security exception may be thrown by some browsers.\r\n doc.execCommand('copy');\r\n } catch (e) {\r\n // tslint:disable-next-line\r\n console.warn('Copy to clipboard failed.', e);\r\n } finally {\r\n copyEl.removeChild(textarea);\r\n }\r\n }\r\n }\r\n\r\n readFromClipboard(options?: any): Promise {\r\n throw new Error('Cannot read from clipboard on web.');\r\n }\r\n\r\n supportsBiometric() {\r\n return Promise.resolve(false);\r\n }\r\n\r\n authenticateBiometric() {\r\n return Promise.resolve(false);\r\n }\r\n\r\n supportsSecureStorage() {\r\n return false;\r\n }\r\n}\r\n","import { AppIdService } from '../abstractions/appId.service';\r\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\n\r\nimport { ConstantsService } from '../services/constants.service';\r\n\r\nimport { DeviceType } from '../enums/deviceType';\r\n\r\nconst GaObj = 'ga';\r\n\r\nexport const AnalyticsIds = {\r\n [DeviceType.ChromeExtension]: 'UA-81915606-6',\r\n [DeviceType.FirefoxExtension]: 'UA-81915606-7',\r\n [DeviceType.OperaExtension]: 'UA-81915606-8',\r\n [DeviceType.EdgeExtension]: 'UA-81915606-9',\r\n [DeviceType.VivaldiExtension]: 'UA-81915606-15',\r\n [DeviceType.SafariExtension]: 'UA-81915606-16',\r\n [DeviceType.WindowsDesktop]: 'UA-81915606-17',\r\n [DeviceType.LinuxDesktop]: 'UA-81915606-19',\r\n [DeviceType.MacOsDesktop]: 'UA-81915606-18',\r\n};\r\n\r\nexport class Analytics {\r\n private gaTrackingId: string = null;\r\n private defaultDisabled = false;\r\n private appVersion: string;\r\n\r\n constructor(win: Window, private gaFilter?: () => boolean,\r\n private platformUtilsService?: PlatformUtilsService, private storageService?: StorageService,\r\n private appIdService?: AppIdService, private dependencyResolver?: () => any) {\r\n if (dependencyResolver != null) {\r\n const deps = dependencyResolver();\r\n if (platformUtilsService == null && deps.platformUtilsService) {\r\n this.platformUtilsService = deps.platformUtilsService as PlatformUtilsService;\r\n }\r\n if (storageService == null && deps.storageService) {\r\n this.storageService = deps.storageService as StorageService;\r\n }\r\n if (appIdService == null && deps.appIdService) {\r\n this.appIdService = deps.appIdService as AppIdService;\r\n }\r\n }\r\n\r\n this.appVersion = this.platformUtilsService.getApplicationVersion();\r\n this.defaultDisabled = this.platformUtilsService.getDevice() === DeviceType.FirefoxExtension ||\r\n this.platformUtilsService.isMacAppStore();\r\n this.gaTrackingId = this.platformUtilsService.analyticsId();\r\n\r\n (win as any).GoogleAnalyticsObject = GaObj;\r\n (win as any)[GaObj] = async (action: string, param1: any, param2?: any) => {\r\n await this.ga(action, param1, param2);\r\n };\r\n }\r\n\r\n async ga(action: string, param1: any, param2?: any) {\r\n return;\r\n\r\n if (this.gaFilter != null && this.gaFilter()) {\r\n return;\r\n }\r\n\r\n const disabled = await this.storageService.get(ConstantsService.disableGaKey);\r\n if ((this.defaultDisabled && disabled == null) || disabled != null && disabled) {\r\n return;\r\n }\r\n\r\n if (action !== 'send' || !param1) {\r\n return;\r\n }\r\n\r\n const gaAnonAppId = await this.appIdService.getAnonymousAppId();\r\n const version = encodeURIComponent(this.appVersion);\r\n let message = 'v=1&tid=' + this.gaTrackingId + '&cid=' + gaAnonAppId + '&cd1=' + version;\r\n\r\n if (param1 === 'pageview' && param2) {\r\n message += this.gaTrackPageView(param2);\r\n } else if (typeof param1 === 'object' && param1.hitType === 'pageview') {\r\n message += this.gaTrackPageView(param1.page);\r\n } else if (param1 === 'event' && param2) {\r\n message += this.gaTrackEvent(param2);\r\n } else if (typeof param1 === 'object' && param1.hitType === 'event') {\r\n message += this.gaTrackEvent(param1);\r\n }\r\n\r\n const request = new XMLHttpRequest();\r\n request.open('POST', 'https://www.google-analytics.com/collect', true);\r\n request.send(message);\r\n }\r\n\r\n private gaTrackEvent(options: any) {\r\n return '&t=event&ec=' + (options.eventCategory ? encodeURIComponent(options.eventCategory) : 'Event') +\r\n '&ea=' + encodeURIComponent(options.eventAction) +\r\n (options.eventLabel ? '&el=' + encodeURIComponent(options.eventLabel) : '') +\r\n (options.eventValue ? '&ev=' + encodeURIComponent(options.eventValue) : '') +\r\n (options.page ? '&dp=' + this.cleanPagePath(options.page) : '');\r\n }\r\n\r\n private gaTrackPageView(pagePath: string) {\r\n return '&t=pageview&dp=' + this.cleanPagePath(pagePath);\r\n }\r\n\r\n private cleanPagePath(pagePath: string) {\r\n const paramIndex = pagePath.indexOf('?');\r\n if (paramIndex > -1) {\r\n pagePath = pagePath.substring(0, paramIndex);\r\n }\r\n if (pagePath.indexOf('!/') === 0 || pagePath.indexOf('#/') === 0) {\r\n pagePath = pagePath.substring(1);\r\n }\r\n const pathParts = pagePath.split('/');\r\n const newPathParts: string[] = [];\r\n pathParts.forEach((p) => {\r\n if (p.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i)) {\r\n newPathParts.push('__guid__');\r\n } else {\r\n newPathParts.push(p);\r\n }\r\n });\r\n return encodeURIComponent(newPathParts.join('/'));\r\n }\r\n}\r\n","import { EventType } from '../enums/eventType';\r\n\r\nimport { EventData } from '../models/data/eventData';\r\n\r\nimport { EventRequest } from '../models/request/eventRequest';\r\n\r\nimport { ApiService } from '../abstractions/api.service';\r\nimport { CipherService } from '../abstractions/cipher.service';\r\nimport { EventService as EventServiceAbstraction } from '../abstractions/event.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\n\r\nimport { ConstantsService } from './constants.service';\r\n\r\nexport class EventService implements EventServiceAbstraction {\r\n private inited = false;\r\n\r\n constructor(private storageService: StorageService, private apiService: ApiService,\r\n private userService: UserService, private cipherService: CipherService) { }\r\n\r\n init(checkOnInterval: boolean) {\r\n if (this.inited) {\r\n return;\r\n }\r\n\r\n this.inited = true;\r\n if (checkOnInterval) {\r\n this.uploadEvents();\r\n setInterval(() => this.uploadEvents(), 60 * 1000); // check every 60 seconds\r\n }\r\n }\r\n\r\n async collect(eventType: EventType, cipherId: string = null, uploadImmediately = false): Promise {\r\n const authed = await this.userService.isAuthenticated();\r\n if (!authed) {\r\n return;\r\n }\r\n const organizations = await this.userService.getAllOrganizations();\r\n if (organizations == null) {\r\n return;\r\n }\r\n const orgIds = new Set(organizations.filter((o) => o.useEvents).map((o) => o.id));\r\n if (orgIds.size === 0) {\r\n return;\r\n }\r\n if (cipherId != null) {\r\n const cipher = await this.cipherService.get(cipherId);\r\n if (cipher == null || cipher.organizationId == null || !orgIds.has(cipher.organizationId)) {\r\n return;\r\n }\r\n }\r\n let eventCollection = await this.storageService.get(ConstantsService.eventCollectionKey);\r\n if (eventCollection == null) {\r\n eventCollection = [];\r\n }\r\n const event = new EventData();\r\n event.type = eventType;\r\n event.cipherId = cipherId;\r\n event.date = new Date().toISOString();\r\n eventCollection.push(event);\r\n await this.storageService.save(ConstantsService.eventCollectionKey, eventCollection);\r\n if (uploadImmediately) {\r\n await this.uploadEvents();\r\n }\r\n }\r\n\r\n async uploadEvents(): Promise {\r\n const authed = await this.userService.isAuthenticated();\r\n if (!authed) {\r\n return;\r\n }\r\n const eventCollection = await this.storageService.get(ConstantsService.eventCollectionKey);\r\n if (eventCollection == null || eventCollection.length === 0) {\r\n return;\r\n }\r\n const request = eventCollection.map((e) => {\r\n const req = new EventRequest();\r\n req.type = e.type;\r\n req.cipherId = e.cipherId;\r\n req.date = e.date;\r\n return req;\r\n });\r\n try {\r\n await this.apiService.postEventsCollect(request);\r\n this.clearEvents();\r\n } catch { }\r\n }\r\n\r\n async clearEvents(): Promise {\r\n await this.storageService.remove(ConstantsService.eventCollectionKey);\r\n }\r\n}\r\n","import { EventType } from '../../enums/eventType';\r\n\r\nexport class EventData {\r\n type: EventType;\r\n cipherId: string;\r\n date: string;\r\n}\r\n","import { EventType } from '../../enums/eventType';\r\n\r\nexport class EventRequest {\r\n type: EventType;\r\n cipherId: string;\r\n date: string;\r\n}\r\n","import * as papa from 'papaparse';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\n\r\nimport { ApiService } from '../abstractions/api.service';\r\nimport { CipherService } from '../abstractions/cipher.service';\r\nimport { ExportService as ExportServiceAbstraction } from '../abstractions/export.service';\r\nimport { FolderService } from '../abstractions/folder.service';\r\n\r\nimport { CipherView } from '../models/view/cipherView';\r\nimport { CollectionView } from '../models/view/collectionView';\r\nimport { FolderView } from '../models/view/folderView';\r\n\r\nimport { Cipher } from '../models/domain/cipher';\r\nimport { Collection } from '../models/domain/collection';\r\n\r\nimport { CipherData } from '../models/data/cipherData';\r\nimport { CollectionData } from '../models/data/collectionData';\r\nimport { CollectionDetailsResponse } from '../models/response/collectionResponse';\r\n\r\nimport { CipherWithIds as CipherExport } from '../models/export/cipherWithIds';\r\nimport { CollectionWithId as CollectionExport } from '../models/export/collectionWithId';\r\nimport { FolderWithId as FolderExport } from '../models/export/folderWithId';\r\n\r\nexport class ExportService implements ExportServiceAbstraction {\r\n constructor(private folderService: FolderService, private cipherService: CipherService,\r\n private apiService: ApiService) { }\r\n\r\n async getExport(format: 'csv' | 'json' = 'csv'): Promise {\r\n let decFolders: FolderView[] = [];\r\n let decCiphers: CipherView[] = [];\r\n const promises = [];\r\n\r\n promises.push(this.folderService.getAllDecrypted().then((folders) => {\r\n decFolders = folders;\r\n }));\r\n\r\n promises.push(this.cipherService.getAllDecrypted().then((ciphers) => {\r\n decCiphers = ciphers;\r\n }));\r\n\r\n await Promise.all(promises);\r\n\r\n if (format === 'csv') {\r\n const foldersMap = new Map();\r\n decFolders.forEach((f) => {\r\n if (f.id != null) {\r\n foldersMap.set(f.id, f);\r\n }\r\n });\r\n\r\n const exportCiphers: any[] = [];\r\n decCiphers.forEach((c) => {\r\n // only export logins and secure notes\r\n if (c.type !== CipherType.Login && c.type !== CipherType.SecureNote) {\r\n return;\r\n }\r\n if (c.organizationId != null) {\r\n return;\r\n }\r\n\r\n const cipher: any = {};\r\n cipher.folder = c.folderId != null && foldersMap.has(c.folderId) ?\r\n foldersMap.get(c.folderId).name : null;\r\n cipher.favorite = c.favorite ? 1 : null;\r\n this.buildCommonCipher(cipher, c);\r\n exportCiphers.push(cipher);\r\n });\r\n\r\n return papa.unparse(exportCiphers);\r\n } else {\r\n const jsonDoc: any = {\r\n folders: [],\r\n items: [],\r\n };\r\n\r\n decFolders.forEach((f) => {\r\n if (f.id == null) {\r\n return;\r\n }\r\n const folder = new FolderExport();\r\n folder.build(f);\r\n jsonDoc.folders.push(folder);\r\n });\r\n\r\n decCiphers.forEach((c) => {\r\n if (c.organizationId != null) {\r\n return;\r\n }\r\n const cipher = new CipherExport();\r\n cipher.build(c);\r\n cipher.collectionIds = null;\r\n jsonDoc.items.push(cipher);\r\n });\r\n\r\n return JSON.stringify(jsonDoc, null, ' ');\r\n }\r\n }\r\n\r\n async getOrganizationExport(organizationId: string, format: 'csv' | 'json' = 'csv'): Promise {\r\n const decCollections: CollectionView[] = [];\r\n const decCiphers: CipherView[] = [];\r\n const promises = [];\r\n\r\n promises.push(this.apiService.getCollections(organizationId).then((collections) => {\r\n const collectionPromises: any = [];\r\n if (collections != null && collections.data != null && collections.data.length > 0) {\r\n collections.data.forEach((c) => {\r\n const collection = new Collection(new CollectionData(c as CollectionDetailsResponse));\r\n collectionPromises.push(collection.decrypt().then((decCol) => {\r\n decCollections.push(decCol);\r\n }));\r\n });\r\n }\r\n return Promise.all(collectionPromises);\r\n }));\r\n\r\n promises.push(this.apiService.getCiphersOrganization(organizationId).then((ciphers) => {\r\n const cipherPromises: any = [];\r\n if (ciphers != null && ciphers.data != null && ciphers.data.length > 0) {\r\n ciphers.data.forEach((c) => {\r\n const cipher = new Cipher(new CipherData(c));\r\n cipherPromises.push(cipher.decrypt().then((decCipher) => {\r\n decCiphers.push(decCipher);\r\n }));\r\n });\r\n }\r\n return Promise.all(cipherPromises);\r\n }));\r\n\r\n await Promise.all(promises);\r\n\r\n if (format === 'csv') {\r\n const collectionsMap = new Map();\r\n decCollections.forEach((c) => {\r\n collectionsMap.set(c.id, c);\r\n });\r\n\r\n const exportCiphers: any[] = [];\r\n decCiphers.forEach((c) => {\r\n // only export logins and secure notes\r\n if (c.type !== CipherType.Login && c.type !== CipherType.SecureNote) {\r\n return;\r\n }\r\n\r\n const cipher: any = {};\r\n cipher.collections = [];\r\n if (c.collectionIds != null) {\r\n cipher.collections = c.collectionIds.filter((id) => collectionsMap.has(id))\r\n .map((id) => collectionsMap.get(id).name);\r\n }\r\n this.buildCommonCipher(cipher, c);\r\n exportCiphers.push(cipher);\r\n });\r\n\r\n return papa.unparse(exportCiphers);\r\n } else {\r\n const jsonDoc: any = {\r\n collections: [],\r\n items: [],\r\n };\r\n\r\n decCollections.forEach((c) => {\r\n const collection = new CollectionExport();\r\n collection.build(c);\r\n jsonDoc.collections.push(collection);\r\n });\r\n\r\n decCiphers.forEach((c) => {\r\n const cipher = new CipherExport();\r\n cipher.build(c);\r\n jsonDoc.items.push(cipher);\r\n });\r\n return JSON.stringify(jsonDoc, null, ' ');\r\n }\r\n }\r\n\r\n getFileName(prefix: string = null, extension: string = 'csv'): string {\r\n const now = new Date();\r\n const dateString =\r\n now.getFullYear() + '' + this.padNumber(now.getMonth() + 1, 2) + '' + this.padNumber(now.getDate(), 2) +\r\n this.padNumber(now.getHours(), 2) + '' + this.padNumber(now.getMinutes(), 2) +\r\n this.padNumber(now.getSeconds(), 2);\r\n\r\n return 'bitwarden' + (prefix ? ('_' + prefix) : '') + '_export_' + dateString + '.' + extension;\r\n }\r\n\r\n private padNumber(num: number, width: number, padCharacter: string = '0'): string {\r\n const numString = num.toString();\r\n return numString.length >= width ? numString :\r\n new Array(width - numString.length + 1).join(padCharacter) + numString;\r\n }\r\n\r\n private buildCommonCipher(cipher: any, c: CipherView) {\r\n cipher.type = null;\r\n cipher.name = c.name;\r\n cipher.notes = c.notes;\r\n cipher.fields = null;\r\n // Login props\r\n cipher.login_uri = null;\r\n cipher.login_username = null;\r\n cipher.login_password = null;\r\n cipher.login_totp = null;\r\n\r\n if (c.fields) {\r\n c.fields.forEach((f: any) => {\r\n if (!cipher.fields) {\r\n cipher.fields = '';\r\n } else {\r\n cipher.fields += '\\n';\r\n }\r\n\r\n cipher.fields += ((f.name || '') + ': ' + f.value);\r\n });\r\n }\r\n\r\n switch (c.type) {\r\n case CipherType.Login:\r\n cipher.type = 'login';\r\n cipher.login_username = c.login.username;\r\n cipher.login_password = c.login.password;\r\n cipher.login_totp = c.login.totp;\r\n\r\n if (c.login.uris) {\r\n cipher.login_uri = [];\r\n c.login.uris.forEach((u) => {\r\n cipher.login_uri.push(u.uri);\r\n });\r\n }\r\n break;\r\n case CipherType.SecureNote:\r\n cipher.type = 'note';\r\n break;\r\n default:\r\n return;\r\n }\r\n\r\n return cipher;\r\n }\r\n}\r\n","import { CipherType } from '../../enums/cipherType';\r\n\r\nimport { CipherView } from '../view/cipherView';\r\n\r\nimport { Card } from './card';\r\nimport { Field } from './field';\r\nimport { Identity } from './identity';\r\nimport { Login } from './login';\r\nimport { SecureNote } from './secureNote';\r\n\r\nexport class Cipher {\r\n static template(): Cipher {\r\n const req = new Cipher();\r\n req.organizationId = null;\r\n req.folderId = null;\r\n req.type = CipherType.Login;\r\n req.name = 'Item name';\r\n req.notes = 'Some notes about this item.';\r\n req.favorite = false;\r\n req.fields = [];\r\n req.login = null;\r\n req.secureNote = null;\r\n req.card = null;\r\n req.identity = null;\r\n return req;\r\n }\r\n\r\n static toView(req: Cipher, view = new CipherView()) {\r\n view.type = req.type;\r\n view.folderId = req.folderId;\r\n if (view.organizationId == null) {\r\n view.organizationId = req.organizationId;\r\n }\r\n view.name = req.name;\r\n view.notes = req.notes;\r\n view.favorite = req.favorite;\r\n\r\n if (req.fields != null) {\r\n view.fields = req.fields.map((f) => Field.toView(f));\r\n }\r\n\r\n switch (req.type) {\r\n case CipherType.Login:\r\n view.login = Login.toView(req.login);\r\n break;\r\n case CipherType.SecureNote:\r\n view.secureNote = SecureNote.toView(req.secureNote);\r\n break;\r\n case CipherType.Card:\r\n view.card = Card.toView(req.card);\r\n break;\r\n case CipherType.Identity:\r\n view.identity = Identity.toView(req.identity);\r\n break;\r\n }\r\n\r\n return view;\r\n }\r\n\r\n type: CipherType;\r\n folderId: string;\r\n organizationId: string;\r\n name: string;\r\n notes: string;\r\n favorite: boolean;\r\n fields: Field[];\r\n login: Login;\r\n secureNote: SecureNote;\r\n card: Card;\r\n identity: Identity;\r\n\r\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\r\n build(o: CipherView) {\r\n this.organizationId = o.organizationId;\r\n this.folderId = o.folderId;\r\n this.type = o.type;\r\n this.name = o.name;\r\n this.notes = o.notes;\r\n this.favorite = o.favorite;\r\n\r\n if (o.fields != null) {\r\n this.fields = o.fields.map((f) => new Field(f));\r\n }\r\n\r\n switch (o.type) {\r\n case CipherType.Login:\r\n this.login = new Login(o.login);\r\n break;\r\n case CipherType.SecureNote:\r\n this.secureNote = new SecureNote(o.secureNote);\r\n break;\r\n case CipherType.Card:\r\n this.card = new Card(o.card);\r\n break;\r\n case CipherType.Identity:\r\n this.identity = new Identity(o.identity);\r\n break;\r\n }\r\n }\r\n}\r\n","import { CardView } from '../view/cardView';\r\n\r\nexport class Card {\r\n static template(): Card {\r\n const req = new Card();\r\n req.cardholderName = 'John Doe';\r\n req.brand = 'visa';\r\n req.number = '4242424242424242';\r\n req.expMonth = '04';\r\n req.expYear = '2023';\r\n req.code = '123';\r\n return req;\r\n }\r\n\r\n static toView(req: Card, view = new CardView()) {\r\n view.cardholderName = req.cardholderName;\r\n view.brand = req.brand;\r\n view.number = req.number;\r\n view.expMonth = req.expMonth;\r\n view.expYear = req.expYear;\r\n view.code = req.code;\r\n return view;\r\n }\r\n\r\n cardholderName: string;\r\n brand: string;\r\n number: string;\r\n expMonth: string;\r\n expYear: string;\r\n code: string;\r\n\r\n constructor(o?: CardView) {\r\n if (o == null) {\r\n return;\r\n }\r\n\r\n this.cardholderName = o.cardholderName;\r\n this.brand = o.brand;\r\n this.number = o.number;\r\n this.expMonth = o.expMonth;\r\n this.expYear = o.expYear;\r\n this.code = o.code;\r\n }\r\n}\r\n","import { FieldType } from '../../enums/fieldType';\r\n\r\nimport { FieldView } from '../view/fieldView';\r\n\r\nexport class Field {\r\n static template(): Field {\r\n const req = new Field();\r\n req.name = 'Field name';\r\n req.value = 'Some value';\r\n req.type = FieldType.Text;\r\n return req;\r\n }\r\n\r\n static toView(req: Field, view = new FieldView()) {\r\n view.type = req.type;\r\n view.value = req.value;\r\n view.name = req.name;\r\n return view;\r\n }\r\n\r\n name: string;\r\n value: string;\r\n type: FieldType;\r\n\r\n constructor(o?: FieldView) {\r\n if (o == null) {\r\n return;\r\n }\r\n\r\n this.name = o.name;\r\n this.value = o.value;\r\n this.type = o.type;\r\n }\r\n}\r\n","import { IdentityView } from '../view/identityView';\r\n\r\nexport class Identity {\r\n static template(): Identity {\r\n const req = new Identity();\r\n req.title = 'Mr';\r\n req.firstName = 'John';\r\n req.middleName = 'William';\r\n req.lastName = 'Doe';\r\n req.address1 = '123 Any St';\r\n req.address2 = 'Apt #123';\r\n req.address3 = null;\r\n req.city = 'New York';\r\n req.state = 'NY';\r\n req.postalCode = '10001';\r\n req.country = 'US';\r\n req.company = 'Acme Inc.';\r\n req.email = 'john@company.com';\r\n req.phone = '5555551234';\r\n req.ssn = '000-123-4567';\r\n req.username = 'jdoe';\r\n req.passportNumber = 'US-123456789';\r\n req.licenseNumber = 'D123-12-123-12333';\r\n return req;\r\n }\r\n\r\n static toView(req: Identity, view = new IdentityView()) {\r\n view.title = req.title;\r\n view.firstName = req.firstName;\r\n view.middleName = req.middleName;\r\n view.lastName = req.lastName;\r\n view.address1 = req.address1;\r\n view.address2 = req.address2;\r\n view.address3 = req.address3;\r\n view.city = req.city;\r\n view.state = req.state;\r\n view.postalCode = req.postalCode;\r\n view.country = req.country;\r\n view.company = req.company;\r\n view.email = req.email;\r\n view.phone = req.phone;\r\n view.ssn = req.ssn;\r\n view.username = req.username;\r\n view.passportNumber = req.passportNumber;\r\n view.licenseNumber = req.licenseNumber;\r\n return view;\r\n }\r\n\r\n title: string;\r\n firstName: string;\r\n middleName: string;\r\n lastName: string;\r\n address1: string;\r\n address2: string;\r\n address3: string;\r\n city: string;\r\n state: string;\r\n postalCode: string;\r\n country: string;\r\n company: string;\r\n email: string;\r\n phone: string;\r\n ssn: string;\r\n username: string;\r\n passportNumber: string;\r\n licenseNumber: string;\r\n\r\n constructor(o?: IdentityView) {\r\n if (o == null) {\r\n return;\r\n }\r\n\r\n this.title = o.title;\r\n this.firstName = o.firstName;\r\n this.middleName = o.middleName;\r\n this.lastName = o.lastName;\r\n this.address1 = o.address1;\r\n this.address2 = o.address2;\r\n this.address3 = o.address3;\r\n this.city = o.city;\r\n this.state = o.state;\r\n this.postalCode = o.postalCode;\r\n this.country = o.country;\r\n this.company = o.company;\r\n this.email = o.email;\r\n this.phone = o.phone;\r\n this.ssn = o.ssn;\r\n this.username = o.username;\r\n this.passportNumber = o.passportNumber;\r\n this.licenseNumber = o.licenseNumber;\r\n }\r\n}\r\n","import { LoginUri } from './loginUri';\r\n\r\nimport { LoginView } from '../view/loginView';\r\n\r\nexport class Login {\r\n static template(): Login {\r\n const req = new Login();\r\n req.uris = [];\r\n req.username = 'jdoe';\r\n req.password = 'myp@ssword123';\r\n req.totp = 'JBSWY3DPEHPK3PXP';\r\n return req;\r\n }\r\n\r\n static toView(req: Login, view = new LoginView()) {\r\n if (req.uris != null) {\r\n view.uris = req.uris.map((u) => LoginUri.toView(u));\r\n }\r\n view.username = req.username;\r\n view.password = req.password;\r\n view.totp = req.totp;\r\n return view;\r\n }\r\n\r\n uris: LoginUri[];\r\n username: string;\r\n password: string;\r\n totp: string;\r\n\r\n constructor(o?: LoginView) {\r\n if (o == null) {\r\n return;\r\n }\r\n\r\n if (o.uris != null) {\r\n this.uris = o.uris.map((u) => new LoginUri(u));\r\n }\r\n\r\n this.username = o.username;\r\n this.password = o.password;\r\n this.totp = o.totp;\r\n }\r\n}\r\n","import { UriMatchType } from '../../enums/uriMatchType';\r\n\r\nimport { LoginUriView } from '../view/loginUriView';\r\n\r\nexport class LoginUri {\r\n static template(): LoginUri {\r\n const req = new LoginUri();\r\n req.uri = 'https://google.com';\r\n req.match = null;\r\n return req;\r\n }\r\n\r\n static toView(req: LoginUri, view = new LoginUriView()) {\r\n view.uri = req.uri;\r\n view.match = req.match;\r\n return view;\r\n }\r\n\r\n uri: string;\r\n match: UriMatchType = null;\r\n\r\n constructor(o?: LoginUriView) {\r\n if (o == null) {\r\n return;\r\n }\r\n\r\n this.uri = o.uri;\r\n this.match = o.match;\r\n }\r\n}\r\n","import { SecureNoteType } from '../../enums/secureNoteType';\r\n\r\nimport { SecureNoteView } from '../view/secureNoteView';\r\n\r\nexport class SecureNote {\r\n static template(): SecureNote {\r\n const req = new SecureNote();\r\n req.type = SecureNoteType.Generic;\r\n return req;\r\n }\r\n\r\n static toView(req: SecureNote, view = new SecureNoteView()) {\r\n view.type = req.type;\r\n return view;\r\n }\r\n\r\n type: SecureNoteType;\r\n\r\n constructor(o?: SecureNoteView) {\r\n if (o == null) {\r\n return;\r\n }\r\n\r\n this.type = o.type;\r\n }\r\n}\r\n","import { CollectionView } from '../view/collectionView';\r\n\r\nexport class Collection {\r\n static template(): Collection {\r\n const req = new Collection();\r\n req.organizationId = '00000000-0000-0000-0000-000000000000';\r\n req.name = 'Collection name';\r\n req.externalId = null;\r\n return req;\r\n }\r\n\r\n static toView(req: Collection, view = new CollectionView()) {\r\n view.name = req.name;\r\n view.externalId = req.externalId;\r\n if (view.organizationId == null) {\r\n view.organizationId = req.organizationId;\r\n }\r\n return view;\r\n }\r\n\r\n organizationId: string;\r\n name: string;\r\n externalId: string;\r\n\r\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\r\n build(o: CollectionView) {\r\n this.organizationId = o.organizationId;\r\n this.name = o.name;\r\n this.externalId = o.externalId;\r\n }\r\n}\r\n","import { FolderView } from '../view/folderView';\r\n\r\nexport class Folder {\r\n static template(): Folder {\r\n const req = new Folder();\r\n req.name = 'Folder name';\r\n return req;\r\n }\r\n\r\n static toView(req: Folder, view = new FolderView()) {\r\n view.name = req.name;\r\n return view;\r\n }\r\n\r\n name: string;\r\n\r\n // Use build method instead of ctor so that we can control order of JSON stringify for pretty print\r\n build(o: FolderView) {\r\n this.name = o.name;\r\n }\r\n}\r\n","import { ApiService } from '../abstractions/api.service';\r\nimport { CipherService } from '../abstractions/cipher.service';\r\nimport { CollectionService } from '../abstractions/collection.service';\r\nimport { FolderService } from '../abstractions/folder.service';\r\nimport { I18nService } from '../abstractions/i18n.service';\r\nimport {\r\n ImportOption,\r\n ImportService as ImportServiceAbstraction,\r\n} from '../abstractions/import.service';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nimport { CipherRequest } from '../models/request/cipherRequest';\r\nimport { CollectionRequest } from '../models/request/collectionRequest';\r\nimport { FolderRequest } from '../models/request/folderRequest';\r\nimport { ImportCiphersRequest } from '../models/request/importCiphersRequest';\r\nimport { ImportOrganizationCiphersRequest } from '../models/request/importOrganizationCiphersRequest';\r\nimport { KvpRequest } from '../models/request/kvpRequest';\r\n\r\nimport { CipherView } from '../models/view/cipherView';\r\n\r\nimport { AscendoCsvImporter } from '../importers/ascendoCsvImporter';\r\nimport { AvastCsvImporter } from '../importers/avastCsvImporter';\r\nimport { AvastJsonImporter } from '../importers/avastJsonImporter';\r\nimport { AviraCsvImporter } from '../importers/aviraCsvImporter';\r\nimport { BitwardenCsvImporter } from '../importers/bitwardenCsvImporter';\r\nimport { BitwardenJsonImporter } from '../importers/bitwardenJsonImporter';\r\nimport { BlackBerryCsvImporter } from '../importers/blackBerryCsvImporter';\r\nimport { BlurCsvImporter } from '../importers/blurCsvImporter';\r\nimport { ButtercupCsvImporter } from '../importers/buttercupCsvImporter';\r\nimport { ChromeCsvImporter } from '../importers/chromeCsvImporter';\r\nimport { ClipperzHtmlImporter } from '../importers/clipperzHtmlImporter';\r\nimport { CodebookCsvImporter } from '../importers/codebookCsvImporter';\r\nimport { DashlaneJsonImporter } from '../importers/dashlaneJsonImporter';\r\nimport { EncryptrCsvImporter } from '../importers/encryptrCsvImporter';\r\nimport { EnpassCsvImporter } from '../importers/enpassCsvImporter';\r\nimport { EnpassJsonImporter } from '../importers/enpassJsonImporter';\r\nimport { FirefoxCsvImporter } from '../importers/firefoxCsvImporter';\r\nimport { FSecureFskImporter } from '../importers/fsecureFskImporter';\r\nimport { GnomeJsonImporter } from '../importers/gnomeJsonImporter';\r\nimport { Importer } from '../importers/importer';\r\nimport { KasperskyTxtImporter } from '../importers/kasperskyTxtImporter';\r\nimport { KeePass2XmlImporter } from '../importers/keepass2XmlImporter';\r\nimport { KeePassXCsvImporter } from '../importers/keepassxCsvImporter';\r\nimport { KeeperCsvImporter } from '../importers/keeperCsvImporter';\r\nimport { LastPassCsvImporter } from '../importers/lastpassCsvImporter';\r\nimport { LogMeOnceCsvImporter } from '../importers/logMeOnceCsvImporter';\r\nimport { MeldiumCsvImporter } from '../importers/meldiumCsvImporter';\r\nimport { MSecureCsvImporter } from '../importers/msecureCsvImporter';\r\nimport { MykiCsvImporter } from '../importers/mykiCsvImporter';\r\nimport { OnePassword1PifImporter } from '../importers/onepassword1PifImporter';\r\nimport { OnePasswordWinCsvImporter } from '../importers/onepasswordWinCsvImporter';\r\nimport { PadlockCsvImporter } from '../importers/padlockCsvImporter';\r\nimport { PassKeepCsvImporter } from '../importers/passkeepCsvImporter';\r\nimport { PassmanJsonImporter } from '../importers/passmanJsonImporter';\r\nimport { PasspackCsvImporter } from '../importers/passpackCsvImporter';\r\nimport { PasswordAgentCsvImporter } from '../importers/passwordAgentCsvImporter';\r\nimport { PasswordBossJsonImporter } from '../importers/passwordBossJsonImporter';\r\nimport { PasswordDragonXmlImporter } from '../importers/passwordDragonXmlImporter';\r\nimport { PasswordSafeXmlImporter } from '../importers/passwordSafeXmlImporter';\r\nimport { PasswordWalletTxtImporter } from '../importers/passwordWalletTxtImporter';\r\nimport { RememBearCsvImporter } from '../importers/rememBearCsvImporter';\r\nimport { RoboFormCsvImporter } from '../importers/roboformCsvImporter';\r\nimport { SafeInCloudXmlImporter } from '../importers/safeInCloudXmlImporter';\r\nimport { SaferPassCsvImporter } from '../importers/saferpassCsvImport';\r\nimport { SecureSafeCsvImporter } from '../importers/secureSafeCsvImporter';\r\nimport { SplashIdCsvImporter } from '../importers/splashIdCsvImporter';\r\nimport { StickyPasswordXmlImporter } from '../importers/stickyPasswordXmlImporter';\r\nimport { TrueKeyCsvImporter } from '../importers/truekeyCsvImporter';\r\nimport { UpmCsvImporter } from '../importers/upmCsvImporter';\r\nimport { YotiCsvImporter } from '../importers/yotiCsvImporter';\r\nimport { ZohoVaultCsvImporter } from '../importers/zohoVaultCsvImporter';\r\n\r\nexport class ImportService implements ImportServiceAbstraction {\r\n featuredImportOptions = [\r\n { id: 'bitwardenjson', name: 'Bitwarden (json)' },\r\n { id: 'bitwardencsv', name: 'Bitwarden (csv)' },\r\n { id: 'lastpasscsv', name: 'LastPass (csv)' },\r\n { id: 'chromecsv', name: 'Chrome (csv)' },\r\n { id: 'firefoxcsv', name: 'Firefox (csv)' },\r\n { id: 'keepass2xml', name: 'KeePass 2 (xml)' },\r\n { id: '1password1pif', name: '1Password (1pif)' },\r\n { id: 'dashlanejson', name: 'Dashlane (json)' },\r\n ];\r\n\r\n regularImportOptions: ImportOption[] = [\r\n { id: 'keepassxcsv', name: 'KeePassX (csv)' },\r\n { id: '1passwordwincsv', name: '1Password 6 and 7 Windows (csv)' },\r\n { id: 'roboformcsv', name: 'RoboForm (csv)' },\r\n { id: 'keepercsv', name: 'Keeper (csv)' },\r\n { id: 'enpasscsv', name: 'Enpass (csv)' },\r\n { id: 'enpassjson', name: 'Enpass (json)' },\r\n { id: 'safeincloudxml', name: 'SafeInCloud (xml)' },\r\n { id: 'pwsafexml', name: 'Password Safe (xml)' },\r\n { id: 'stickypasswordxml', name: 'Sticky Password (xml)' },\r\n { id: 'msecurecsv', name: 'mSecure (csv)' },\r\n { id: 'truekeycsv', name: 'True Key (csv)' },\r\n { id: 'passwordbossjson', name: 'Password Boss (json)' },\r\n { id: 'zohovaultcsv', name: 'Zoho Vault (csv)' },\r\n { id: 'splashidcsv', name: 'SplashID (csv)' },\r\n { id: 'passworddragonxml', name: 'Password Dragon (xml)' },\r\n { id: 'padlockcsv', name: 'Padlock (csv)' },\r\n { id: 'passboltcsv', name: 'Passbolt (csv)' },\r\n { id: 'clipperzhtml', name: 'Clipperz (html)' },\r\n { id: 'aviracsv', name: 'Avira (csv)' },\r\n { id: 'saferpasscsv', name: 'SaferPass (csv)' },\r\n { id: 'upmcsv', name: 'Universal Password Manager (csv)' },\r\n { id: 'ascendocsv', name: 'Ascendo DataVault (csv)' },\r\n { id: 'meldiumcsv', name: 'Meldium (csv)' },\r\n { id: 'passkeepcsv', name: 'PassKeep (csv)' },\r\n { id: 'operacsv', name: 'Opera (csv)' },\r\n { id: 'vivaldicsv', name: 'Vivaldi (csv)' },\r\n { id: 'gnomejson', name: 'GNOME Passwords and Keys/Seahorse (json)' },\r\n { id: 'blurcsv', name: 'Blur (csv)' },\r\n { id: 'passwordagentcsv', name: 'Password Agent (csv)' },\r\n { id: 'passpackcsv', name: 'Passpack (csv)' },\r\n { id: 'passmanjson', name: 'Passman (json)' },\r\n { id: 'avastcsv', name: 'Avast Passwords (csv)' },\r\n { id: 'avastjson', name: 'Avast Passwords (json)' },\r\n { id: 'fsecurefsk', name: 'F-Secure KEY (fsk)' },\r\n { id: 'kasperskytxt', name: 'Kaspersky Password Manager (txt)' },\r\n { id: 'remembearcsv', name: 'RememBear (csv)' },\r\n { id: 'passwordwallettxt', name: 'PasswordWallet (txt)' },\r\n { id: 'mykicsv', name: 'Myki (csv)' },\r\n { id: 'securesafecsv', name: 'SecureSafe (csv)' },\r\n { id: 'logmeoncecsv', name: 'LogMeOnce (csv)' },\r\n { id: 'blackberrycsv', name: 'BlackBerry Password Keeper (csv)' },\r\n { id: 'buttercupcsv', name: 'Buttercup (csv)' },\r\n { id: 'codebookcsv', name: 'Codebook (csv)' },\r\n { id: 'encryptrcsv', name: 'Encryptr (csv)' },\r\n { id: 'yoticsv', name: 'Yoti (csv)' },\r\n ];\r\n\r\n constructor(private cipherService: CipherService, private folderService: FolderService,\r\n private apiService: ApiService, private i18nService: I18nService,\r\n private collectionService: CollectionService) { }\r\n\r\n getImportOptions(): ImportOption[] {\r\n return this.featuredImportOptions.concat(this.regularImportOptions);\r\n }\r\n\r\n async import(importer: Importer, fileContents: string, organizationId: string = null): Promise {\r\n const importResult = await importer.parse(fileContents);\r\n if (importResult.success) {\r\n if (importResult.folders.length === 0 && importResult.ciphers.length === 0) {\r\n return new Error(this.i18nService.t('importNothingError'));\r\n } else if (importResult.ciphers.length > 0) {\r\n const halfway = Math.floor(importResult.ciphers.length / 2);\r\n const last = importResult.ciphers.length - 1;\r\n\r\n if (this.badData(importResult.ciphers[0]) &&\r\n this.badData(importResult.ciphers[halfway]) &&\r\n this.badData(importResult.ciphers[last])) {\r\n return new Error(this.i18nService.t('importFormatError'));\r\n }\r\n }\r\n await this.postImport(importResult, organizationId);\r\n return null;\r\n } else {\r\n return new Error(this.i18nService.t('importFormatError'));\r\n }\r\n }\r\n\r\n getImporter(format: string, organization = false): Importer {\r\n const importer = this.getImporterInstance(format);\r\n if (importer == null) {\r\n return null;\r\n }\r\n importer.organization = organization;\r\n return importer;\r\n }\r\n\r\n private getImporterInstance(format: string) {\r\n if (format == null || format === '') {\r\n return null;\r\n }\r\n\r\n switch (format) {\r\n case 'bitwardencsv':\r\n return new BitwardenCsvImporter();\r\n case 'bitwardenjson':\r\n return new BitwardenJsonImporter();\r\n case 'lastpasscsv':\r\n case 'passboltcsv':\r\n return new LastPassCsvImporter();\r\n case 'keepassxcsv':\r\n return new KeePassXCsvImporter();\r\n case 'aviracsv':\r\n return new AviraCsvImporter();\r\n case 'blurcsv':\r\n return new BlurCsvImporter();\r\n case 'safeincloudxml':\r\n return new SafeInCloudXmlImporter();\r\n case 'padlockcsv':\r\n return new PadlockCsvImporter();\r\n case 'keepass2xml':\r\n return new KeePass2XmlImporter();\r\n case 'chromecsv':\r\n case 'operacsv':\r\n case 'vivaldicsv':\r\n return new ChromeCsvImporter();\r\n case 'firefoxcsv':\r\n return new FirefoxCsvImporter();\r\n case 'upmcsv':\r\n return new UpmCsvImporter();\r\n case 'saferpasscsv':\r\n return new SaferPassCsvImporter();\r\n case 'meldiumcsv':\r\n return new MeldiumCsvImporter();\r\n case '1password1pif':\r\n return new OnePassword1PifImporter();\r\n case '1passwordwincsv':\r\n return new OnePasswordWinCsvImporter();\r\n case 'keepercsv':\r\n return new KeeperCsvImporter();\r\n case 'passworddragonxml':\r\n return new PasswordDragonXmlImporter();\r\n case 'enpasscsv':\r\n return new EnpassCsvImporter();\r\n case 'enpassjson':\r\n return new EnpassJsonImporter();\r\n case 'pwsafexml':\r\n return new PasswordSafeXmlImporter();\r\n case 'dashlanejson':\r\n return new DashlaneJsonImporter();\r\n case 'msecurecsv':\r\n return new MSecureCsvImporter();\r\n case 'stickypasswordxml':\r\n return new StickyPasswordXmlImporter();\r\n case 'truekeycsv':\r\n return new TrueKeyCsvImporter();\r\n case 'clipperzhtml':\r\n return new ClipperzHtmlImporter();\r\n case 'roboformcsv':\r\n return new RoboFormCsvImporter();\r\n case 'ascendocsv':\r\n return new AscendoCsvImporter();\r\n case 'passwordbossjson':\r\n return new PasswordBossJsonImporter();\r\n case 'zohovaultcsv':\r\n return new ZohoVaultCsvImporter();\r\n case 'splashidcsv':\r\n return new SplashIdCsvImporter();\r\n case 'passkeepcsv':\r\n return new PassKeepCsvImporter();\r\n case 'gnomejson':\r\n return new GnomeJsonImporter();\r\n case 'passwordagentcsv':\r\n return new PasswordAgentCsvImporter();\r\n case 'passpackcsv':\r\n return new PasspackCsvImporter();\r\n case 'passmanjson':\r\n return new PassmanJsonImporter();\r\n case 'avastcsv':\r\n return new AvastCsvImporter();\r\n case 'avastjson':\r\n return new AvastJsonImporter();\r\n case 'fsecurefsk':\r\n return new FSecureFskImporter();\r\n case 'kasperskytxt':\r\n return new KasperskyTxtImporter();\r\n case 'remembearcsv':\r\n return new RememBearCsvImporter();\r\n case 'passwordwallettxt':\r\n return new PasswordWalletTxtImporter();\r\n case 'mykicsv':\r\n return new MykiCsvImporter();\r\n case 'securesafecsv':\r\n return new SecureSafeCsvImporter();\r\n case 'logmeoncecsv':\r\n return new LogMeOnceCsvImporter();\r\n case 'blackberrycsv':\r\n return new BlackBerryCsvImporter();\r\n case 'buttercupcsv':\r\n return new ButtercupCsvImporter();\r\n case 'codebookcsv':\r\n return new CodebookCsvImporter();\r\n case 'encryptrcsv':\r\n return new EncryptrCsvImporter();\r\n case 'yoticsv':\r\n return new YotiCsvImporter();\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n private async postImport(importResult: ImportResult, organizationId: string = null) {\r\n if (organizationId == null) {\r\n const request = new ImportCiphersRequest();\r\n for (let i = 0; i < importResult.ciphers.length; i++) {\r\n const c = await this.cipherService.encrypt(importResult.ciphers[i]);\r\n request.ciphers.push(new CipherRequest(c));\r\n }\r\n if (importResult.folders != null) {\r\n for (let i = 0; i < importResult.folders.length; i++) {\r\n const f = await this.folderService.encrypt(importResult.folders[i]);\r\n request.folders.push(new FolderRequest(f));\r\n }\r\n }\r\n if (importResult.folderRelationships != null) {\r\n importResult.folderRelationships.forEach((r) =>\r\n request.folderRelationships.push(new KvpRequest(r[0], r[1])));\r\n }\r\n return await this.apiService.postImportCiphers(request);\r\n } else {\r\n const request = new ImportOrganizationCiphersRequest();\r\n for (let i = 0; i < importResult.ciphers.length; i++) {\r\n importResult.ciphers[i].organizationId = organizationId;\r\n const c = await this.cipherService.encrypt(importResult.ciphers[i]);\r\n request.ciphers.push(new CipherRequest(c));\r\n }\r\n if (importResult.collections != null) {\r\n for (let i = 0; i < importResult.collections.length; i++) {\r\n importResult.collections[i].organizationId = organizationId;\r\n const c = await this.collectionService.encrypt(importResult.collections[i]);\r\n request.collections.push(new CollectionRequest(c));\r\n }\r\n }\r\n if (importResult.collectionRelationships != null) {\r\n importResult.collectionRelationships.forEach((r) =>\r\n request.collectionRelationships.push(new KvpRequest(r[0], r[1])));\r\n }\r\n return await this.apiService.postImportOrganizationCiphers(organizationId, request);\r\n }\r\n }\r\n\r\n private badData(c: CipherView) {\r\n return (c.name == null || c.name === '--') &&\r\n (c.type === CipherType.Login && c.login != null && Utils.isNullOrWhitespace(c.login.password));\r\n }\r\n}\r\n","import { CipherRequest } from './cipherRequest';\r\nimport { FolderRequest } from './folderRequest';\r\nimport { KvpRequest } from './kvpRequest';\r\n\r\nexport class ImportCiphersRequest {\r\n ciphers: CipherRequest[] = [];\r\n folders: FolderRequest[] = [];\r\n folderRelationships: KvpRequest[] = [];\r\n}\r\n","import { CipherRequest } from './cipherRequest';\r\nimport { CollectionRequest } from './collectionRequest';\r\nimport { KvpRequest } from './kvpRequest';\r\n\r\nexport class ImportOrganizationCiphersRequest {\r\n ciphers: CipherRequest[] = [];\r\n collections: CollectionRequest[] = [];\r\n collectionRelationships: KvpRequest[] = [];\r\n}\r\n","export class KvpRequest {\r\n key: TK;\r\n value: TV;\r\n\r\n constructor(key: TK, value: TV) {\r\n this.key = key;\r\n this.value = value;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class AscendoCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, false);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (value.length < 2) {\r\n return;\r\n }\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value[value.length - 1]);\r\n cipher.name = this.getValueOrDefault(value[0], '--');\r\n\r\n if (value.length > 2 && (value.length % 2) === 0) {\r\n for (let i = 0; i < value.length - 2; i += 2) {\r\n const val: string = value[i + 2];\r\n const field: string = value[i + 1];\r\n if (this.isNullOrWhitespace(val) || this.isNullOrWhitespace(field)) {\r\n continue;\r\n }\r\n\r\n const fieldLower = field.toLowerCase();\r\n if (cipher.login.password == null && this.passwordFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.password = this.getValueOrDefault(val);\r\n } else if (cipher.login.username == null &&\r\n this.usernameFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.username = this.getValueOrDefault(val);\r\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\r\n this.uriFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.uris = this.makeUriArray(val);\r\n } else {\r\n this.processKvp(cipher, field, val);\r\n }\r\n }\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class AvastCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value.name);\r\n cipher.login.uris = this.makeUriArray(value.web);\r\n cipher.login.password = this.getValueOrDefault(value.password);\r\n cipher.login.username = this.getValueOrDefault(value.login);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { SecureNoteType } from '../enums/secureNoteType';\r\n\r\nexport class AvastJsonImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = JSON.parse(data);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n if (results.logins != null) {\r\n results.logins.forEach((value: any) => {\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value.custName);\r\n cipher.notes = this.getValueOrDefault(value.note);\r\n cipher.login.uris = this.makeUriArray(value.url);\r\n cipher.login.password = this.getValueOrDefault(value.pwd);\r\n cipher.login.username = this.getValueOrDefault(value.loginName);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n }\r\n\r\n if (results.notes != null) {\r\n results.notes.forEach((value: any) => {\r\n const cipher = this.initLoginCipher();\r\n cipher.type = CipherType.SecureNote;\r\n cipher.secureNote.type = SecureNoteType.Generic;\r\n cipher.name = this.getValueOrDefault(value.label);\r\n cipher.notes = this.getValueOrDefault(value.text);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n }\r\n\r\n if (results.cards != null) {\r\n results.cards.forEach((value: any) => {\r\n const cipher = this.initLoginCipher();\r\n cipher.type = CipherType.Card;\r\n cipher.name = this.getValueOrDefault(value.custName);\r\n cipher.notes = this.getValueOrDefault(value.note);\r\n cipher.card.cardholderName = this.getValueOrDefault(value.holderName);\r\n cipher.card.number = this.getValueOrDefault(value.cardNumber);\r\n cipher.card.code = this.getValueOrDefault(value.cvv);\r\n cipher.card.brand = this.getCardBrand(cipher.card.number);\r\n if (value.expirationDate != null) {\r\n if (value.expirationDate.month != null) {\r\n cipher.card.expMonth = value.expirationDate.month + '';\r\n }\r\n if (value.expirationDate.year != null) {\r\n cipher.card.expYear = value.expirationDate.year + '';\r\n }\r\n }\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class AviraCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value.name,\r\n this.getValueOrDefault(this.nameFromUrl(value.website), '--'));\r\n cipher.login.uris = this.makeUriArray(value.website);\r\n cipher.login.password = this.getValueOrDefault(value.password);\r\n\r\n if (this.isNullOrWhitespace(value.username) && !this.isNullOrWhitespace(value.secondary_username)) {\r\n cipher.login.username = value.secondary_username;\r\n } else {\r\n cipher.login.username = this.getValueOrDefault(value.username);\r\n cipher.notes = this.getValueOrDefault(value.secondary_username);\r\n }\r\n\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CipherView } from '../models/view/cipherView';\r\nimport { CollectionView } from '../models/view/collectionView';\r\nimport { FieldView } from '../models/view/fieldView';\r\nimport { FolderView } from '../models/view/folderView';\r\nimport { LoginView } from '../models/view/loginView';\r\nimport { SecureNoteView } from '../models/view/secureNoteView';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { FieldType } from '../enums/fieldType';\r\nimport { SecureNoteType } from '../enums/secureNoteType';\r\n\r\nexport class BitwardenCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (this.organization && !this.isNullOrWhitespace(value.collections)) {\r\n const collections = (value.collections as string).split(',');\r\n collections.forEach((col) => {\r\n let addCollection = true;\r\n let collectionIndex = result.collections.length;\r\n\r\n for (let i = 0; i < result.collections.length; i++) {\r\n if (result.collections[i].name === col) {\r\n addCollection = false;\r\n collectionIndex = i;\r\n break;\r\n }\r\n }\r\n\r\n if (addCollection) {\r\n const collection = new CollectionView();\r\n collection.name = col;\r\n result.collections.push(collection);\r\n }\r\n\r\n result.collectionRelationships.push([result.ciphers.length, collectionIndex]);\r\n });\r\n } else if (!this.organization) {\r\n this.processFolder(result, value.folder);\r\n }\r\n\r\n const cipher = new CipherView();\r\n cipher.favorite = !this.organization && this.getValueOrDefault(value.favorite, '0') !== '0' ? true : false;\r\n cipher.type = CipherType.Login;\r\n cipher.notes = this.getValueOrDefault(value.notes);\r\n cipher.name = this.getValueOrDefault(value.name, '--');\r\n\r\n if (!this.isNullOrWhitespace(value.fields)) {\r\n const fields = this.splitNewLine(value.fields);\r\n for (let i = 0; i < fields.length; i++) {\r\n if (this.isNullOrWhitespace(fields[i])) {\r\n continue;\r\n }\r\n\r\n const delimPosition = fields[i].lastIndexOf(': ');\r\n if (delimPosition === -1) {\r\n continue;\r\n }\r\n\r\n if (cipher.fields == null) {\r\n cipher.fields = [];\r\n }\r\n\r\n const field = new FieldView();\r\n field.name = fields[i].substr(0, delimPosition);\r\n field.value = null;\r\n field.type = FieldType.Text;\r\n if (fields[i].length > (delimPosition + 2)) {\r\n field.value = fields[i].substr(delimPosition + 2);\r\n }\r\n cipher.fields.push(field);\r\n }\r\n }\r\n\r\n const valueType = value.type != null ? value.type.toLowerCase() : null;\r\n switch (valueType) {\r\n case 'note':\r\n cipher.type = CipherType.SecureNote;\r\n cipher.secureNote = new SecureNoteView();\r\n cipher.secureNote.type = SecureNoteType.Generic;\r\n break;\r\n default:\r\n cipher.type = CipherType.Login;\r\n cipher.login = new LoginView();\r\n cipher.login.totp = this.getValueOrDefault(value.login_totp || value.totp);\r\n cipher.login.username = this.getValueOrDefault(value.login_username || value.username);\r\n cipher.login.password = this.getValueOrDefault(value.login_password || value.password);\r\n const uris = this.parseSingleRowCsv(value.login_uri || value.uri);\r\n cipher.login.uris = this.makeUriArray(uris);\r\n break;\r\n }\r\n\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CipherWithIds } from '../models/export/cipherWithIds';\r\nimport { CollectionWithId } from '../models/export/collectionWithId';\r\nimport { FolderWithId } from '../models/export/folderWithId';\r\n\r\nexport class BitwardenJsonImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = JSON.parse(data);\r\n if (results == null || results.items == null || results.items.length === 0) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const groupingsMap = new Map();\r\n if (this.organization && results.collections != null) {\r\n results.collections.forEach((c: CollectionWithId) => {\r\n const collection = CollectionWithId.toView(c);\r\n if (collection != null) {\r\n collection.id = null;\r\n collection.organizationId = null;\r\n groupingsMap.set(c.id, result.collections.length);\r\n result.collections.push(collection);\r\n }\r\n });\r\n } else if (!this.organization && results.folders != null) {\r\n results.folders.forEach((f: FolderWithId) => {\r\n const folder = FolderWithId.toView(f);\r\n if (folder != null) {\r\n folder.id = null;\r\n groupingsMap.set(f.id, result.folders.length);\r\n result.folders.push(folder);\r\n }\r\n });\r\n }\r\n\r\n results.items.forEach((c: CipherWithIds) => {\r\n const cipher = CipherWithIds.toView(c);\r\n // reset ids incase they were set for some reason\r\n cipher.id = null;\r\n cipher.folderId = null;\r\n cipher.organizationId = null;\r\n cipher.collectionIds = null;\r\n\r\n // make sure password history is limited\r\n if (cipher.passwordHistory != null && cipher.passwordHistory.length > 5) {\r\n cipher.passwordHistory = cipher.passwordHistory.slice(0, 5);\r\n }\r\n\r\n if (!this.organization && c.folderId != null && groupingsMap.has(c.folderId)) {\r\n result.folderRelationships.push([result.ciphers.length, groupingsMap.get(c.folderId)]);\r\n } else if (this.organization && c.collectionIds != null) {\r\n c.collectionIds.forEach((cId) => {\r\n if (groupingsMap.has(cId)) {\r\n result.collectionRelationships.push([result.ciphers.length, groupingsMap.get(cId)]);\r\n }\r\n });\r\n }\r\n\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class BlackBerryCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (value.grouping === 'list') {\r\n return;\r\n }\r\n const cipher = this.initLoginCipher();\r\n cipher.favorite = value.fav === '1';\r\n cipher.name = this.getValueOrDefault(value.name);\r\n cipher.notes = this.getValueOrDefault(value.extra);\r\n if (value.grouping !== 'note') {\r\n cipher.login.uris = this.makeUriArray(value.url);\r\n cipher.login.password = this.getValueOrDefault(value.password);\r\n cipher.login.username = this.getValueOrDefault(value.username);\r\n }\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class BlurCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (value.label === 'null') {\r\n value.label = null;\r\n }\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value.label,\r\n this.getValueOrDefault(this.nameFromUrl(value.domain), '--'));\r\n cipher.login.uris = this.makeUriArray(value.domain);\r\n cipher.login.password = this.getValueOrDefault(value.password);\r\n\r\n if (this.isNullOrWhitespace(value.email) && !this.isNullOrWhitespace(value.username)) {\r\n cipher.login.username = value.username;\r\n } else {\r\n cipher.login.username = this.getValueOrDefault(value.email);\r\n cipher.notes = this.getValueOrDefault(value.username);\r\n }\r\n\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nconst OfficialProps = [\r\n '!group_id', '!group_name', 'title', 'username', 'password', 'URL', 'id',\r\n];\r\n\r\nexport class ButtercupCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n this.processFolder(result, this.getValueOrDefault(value['!group_name']));\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value.title, '--');\r\n cipher.login.username = this.getValueOrDefault(value.username);\r\n cipher.login.password = this.getValueOrDefault(value.password);\r\n cipher.login.uris = this.makeUriArray(value.URL);\r\n\r\n let processingCustomFields = false;\r\n for (const prop in value) {\r\n if (value.hasOwnProperty(prop)) {\r\n if (!processingCustomFields && OfficialProps.indexOf(prop) === -1) {\r\n processingCustomFields = true;\r\n }\r\n if (processingCustomFields) {\r\n this.processKvp(cipher, prop, value[prop]);\r\n }\r\n }\r\n }\r\n\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class ChromeCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value.name, '--');\r\n cipher.login.username = this.getValueOrDefault(value.username);\r\n cipher.login.password = this.getValueOrDefault(value.password);\r\n cipher.login.uris = this.makeUriArray(value.url);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class ClipperzHtmlImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const doc = this.parseXml(data);\r\n if (doc == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const textarea = doc.querySelector('textarea');\r\n if (textarea == null || this.isNullOrWhitespace(textarea.textContent)) {\r\n result.errorMessage = 'Missing textarea.';\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const entries = JSON.parse(textarea.textContent);\r\n entries.forEach((entry: any) => {\r\n const cipher = this.initLoginCipher();\r\n if (!this.isNullOrWhitespace(entry.label)) {\r\n cipher.name = entry.label.split(' ')[0];\r\n }\r\n if (entry.data != null && !this.isNullOrWhitespace(entry.data.notes)) {\r\n cipher.notes = entry.data.notes.split('\\\\n').join('\\n');\r\n }\r\n\r\n if (entry.currentVersion != null && entry.currentVersion.fields != null) {\r\n for (const property in entry.currentVersion.fields) {\r\n if (!entry.currentVersion.fields.hasOwnProperty(property)) {\r\n continue;\r\n }\r\n\r\n const field = entry.currentVersion.fields[property];\r\n const actionType = field.actionType != null ? field.actionType.toLowerCase() : null;\r\n switch (actionType) {\r\n case 'password':\r\n cipher.login.password = this.getValueOrDefault(field.value);\r\n break;\r\n case 'email':\r\n case 'username':\r\n case 'user':\r\n case 'name':\r\n cipher.login.username = this.getValueOrDefault(field.value);\r\n break;\r\n case 'url':\r\n cipher.login.uris = this.makeUriArray(field.value);\r\n break;\r\n default:\r\n const labelLower = field.label != null ? field.label.toLowerCase() : null;\r\n if (cipher.login.password == null && this.passwordFieldNames.indexOf(labelLower) > -1) {\r\n cipher.login.password = this.getValueOrDefault(field.value);\r\n } else if (cipher.login.username == null &&\r\n this.usernameFieldNames.indexOf(labelLower) > -1) {\r\n cipher.login.username = this.getValueOrDefault(field.value);\r\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\r\n this.uriFieldNames.indexOf(labelLower) > -1) {\r\n cipher.login.uris = this.makeUriArray(field.value);\r\n } else {\r\n this.processKvp(cipher, field.label, field.value);\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nexport class CodebookCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n this.processFolder(result, this.getValueOrDefault(value.Category));\n\n const cipher = this.initLoginCipher();\n cipher.favorite = this.getValueOrDefault(value.Favorite) === 'True';\n cipher.name = this.getValueOrDefault(value.Entry, '--');\n cipher.notes = this.getValueOrDefault(value.Note);\n cipher.login.username = this.getValueOrDefault(value.Username, value.Email);\n cipher.login.password = this.getValueOrDefault(value.Password);\n cipher.login.totp = this.getValueOrDefault(value.TOTP);\n cipher.login.uris = this.makeUriArray(value.Website);\n\n if (!this.isNullOrWhitespace(value.Username)) {\n this.processKvp(cipher, 'Email', value.Email);\n }\n this.processKvp(cipher, 'Phone', value.Phone);\n this.processKvp(cipher, 'PIN', value.PIN);\n this.processKvp(cipher, 'Account', value.Account);\n this.processKvp(cipher, 'Date', value.Date);\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n if (this.organization) {\n this.moveFoldersToCollections(result);\n }\n\n result.success = true;\n return result;\n }\n}\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CardView } from '../models/view/cardView';\r\nimport { CipherView } from '../models/view/cipherView';\r\nimport { IdentityView } from '../models/view/identityView';\r\nimport { SecureNoteView } from '../models/view/secureNoteView';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { SecureNoteType } from '../enums/secureNoteType';\r\n\r\nconst HandledResults = new Set(['ADDRESS', 'AUTHENTIFIANT', 'BANKSTATEMENT', 'IDCARD', 'IDENTITY',\r\n 'PAYMENTMEANS_CREDITCARD', 'PAYMENTMEAN_PAYPAL', 'EMAIL']);\r\n\r\nexport class DashlaneJsonImporter extends BaseImporter implements Importer {\r\n private result: ImportResult;\r\n\r\n parse(data: string): ImportResult {\r\n this.result = new ImportResult();\r\n const results = JSON.parse(data);\r\n if (results == null || results.length === 0) {\r\n this.result.success = false;\r\n return this.result;\r\n }\r\n\r\n if (results.ADDRESS != null) {\r\n this.processAddress(results.ADDRESS);\r\n }\r\n if (results.AUTHENTIFIANT != null) {\r\n this.processAuth(results.AUTHENTIFIANT);\r\n }\r\n if (results.BANKSTATEMENT != null) {\r\n this.processNote(results.BANKSTATEMENT, 'BankAccountName');\r\n }\r\n if (results.IDCARD != null) {\r\n this.processNote(results.IDCARD, 'Fullname');\r\n }\r\n if (results.PAYMENTMEANS_CREDITCARD != null) {\r\n this.processCard(results.PAYMENTMEANS_CREDITCARD);\r\n }\r\n if (results.IDENTITY != null) {\r\n this.processIdentity(results.IDENTITY);\r\n }\r\n\r\n for (const key in results) {\r\n if (results.hasOwnProperty(key) && !HandledResults.has(key)) {\r\n this.processNote(results[key], null, 'Generic Note');\r\n }\r\n }\r\n\r\n this.result.success = true;\r\n return this.result;\r\n }\r\n\r\n private processAuth(results: any[]) {\r\n results.forEach((credential: any) => {\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(credential.title);\r\n\r\n cipher.login.username = this.getValueOrDefault(credential.login,\r\n this.getValueOrDefault(credential.secondaryLogin));\r\n if (this.isNullOrWhitespace(cipher.login.username)) {\r\n cipher.login.username = this.getValueOrDefault(credential.email);\r\n } else if (!this.isNullOrWhitespace(credential.email)) {\r\n cipher.notes = ('Email: ' + credential.email + '\\n');\r\n }\r\n\r\n cipher.login.password = this.getValueOrDefault(credential.password);\r\n cipher.login.uris = this.makeUriArray(credential.domain);\r\n cipher.notes += this.getValueOrDefault(credential.note, '');\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n this.result.ciphers.push(cipher);\r\n });\r\n }\r\n\r\n private processIdentity(results: any[]) {\r\n results.forEach((obj: any) => {\r\n const cipher = new CipherView();\r\n cipher.identity = new IdentityView();\r\n cipher.type = CipherType.Identity;\r\n cipher.name = this.getValueOrDefault(obj.fullName, '');\r\n const nameParts = cipher.name.split(' ');\r\n if (nameParts.length > 0) {\r\n cipher.identity.firstName = this.getValueOrDefault(nameParts[0]);\r\n }\r\n if (nameParts.length === 2) {\r\n cipher.identity.lastName = this.getValueOrDefault(nameParts[1]);\r\n } else if (nameParts.length === 3) {\r\n cipher.identity.middleName = this.getValueOrDefault(nameParts[1]);\r\n cipher.identity.lastName = this.getValueOrDefault(nameParts[2]);\r\n }\r\n cipher.identity.username = this.getValueOrDefault(obj.pseudo);\r\n this.cleanupCipher(cipher);\r\n this.result.ciphers.push(cipher);\r\n });\r\n }\r\n\r\n private processAddress(results: any[]) {\r\n results.forEach((obj: any) => {\r\n const cipher = new CipherView();\r\n cipher.identity = new IdentityView();\r\n cipher.type = CipherType.Identity;\r\n cipher.name = this.getValueOrDefault(obj.addressName);\r\n cipher.identity.address1 = this.getValueOrDefault(obj.addressFull);\r\n cipher.identity.city = this.getValueOrDefault(obj.city);\r\n cipher.identity.state = this.getValueOrDefault(obj.state);\r\n cipher.identity.postalCode = this.getValueOrDefault(obj.zipcode);\r\n cipher.identity.country = this.getValueOrDefault(obj.country);\r\n if (cipher.identity.country != null) {\r\n cipher.identity.country = cipher.identity.country.toUpperCase();\r\n }\r\n this.cleanupCipher(cipher);\r\n this.result.ciphers.push(cipher);\r\n });\r\n }\r\n\r\n private processCard(results: any[]) {\r\n results.forEach((obj: any) => {\r\n const cipher = new CipherView();\r\n cipher.card = new CardView();\r\n cipher.type = CipherType.Card;\r\n cipher.name = this.getValueOrDefault(obj.bank);\r\n cipher.card.number = this.getValueOrDefault(obj.cardNumber);\r\n cipher.card.brand = this.getCardBrand(cipher.card.number);\r\n cipher.card.cardholderName = this.getValueOrDefault(obj.owner);\r\n if (!this.isNullOrWhitespace(cipher.card.brand)) {\r\n if (this.isNullOrWhitespace(cipher.name)) {\r\n cipher.name = cipher.card.brand;\r\n } else {\r\n cipher.name += (' - ' + cipher.card.brand);\r\n }\r\n }\r\n this.cleanupCipher(cipher);\r\n this.result.ciphers.push(cipher);\r\n });\r\n }\r\n\r\n private processNote(results: any[], nameProperty: string, name: string = null) {\r\n results.forEach((obj: any) => {\r\n const cipher = new CipherView();\r\n cipher.secureNote = new SecureNoteView();\r\n cipher.type = CipherType.SecureNote;\r\n cipher.secureNote.type = SecureNoteType.Generic;\r\n if (name != null) {\r\n cipher.name = name;\r\n } else {\r\n cipher.name = this.getValueOrDefault(obj[nameProperty]);\r\n }\r\n for (const key in obj) {\r\n if (obj.hasOwnProperty(key) && key !== nameProperty) {\r\n this.processKvp(cipher, key, obj[key].toString());\r\n }\r\n }\r\n this.cleanupCipher(cipher);\r\n this.result.ciphers.push(cipher);\r\n });\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CardView } from '../models/view/cardView';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\n\r\nexport class EncryptrCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value.Label, '--');\r\n cipher.notes = this.getValueOrDefault(value.Notes);\r\n const text = this.getValueOrDefault(value.Text);\r\n if (!this.isNullOrWhitespace(text)) {\r\n if (this.isNullOrWhitespace(cipher.notes)) {\r\n cipher.notes = text;\r\n } else {\r\n cipher.notes += ('\\n\\n' + text);\r\n }\r\n }\r\n\r\n const type = value['Entry Type'];\r\n if (type === 'Password') {\r\n cipher.login.username = this.getValueOrDefault(value.Username);\r\n cipher.login.password = this.getValueOrDefault(value.Password);\r\n cipher.login.uris = this.makeUriArray(value['Site URL']);\r\n } else if (type === 'Credit Card') {\r\n cipher.type = CipherType.Card;\r\n cipher.card = new CardView();\r\n cipher.card.cardholderName = this.getValueOrDefault(value['Name on card']);\r\n cipher.card.number = this.getValueOrDefault(value['Card Number']);\r\n cipher.card.brand = this.getCardBrand(cipher.card.number);\r\n cipher.card.code = this.getValueOrDefault(value.CVV);\r\n const expiry = this.getValueOrDefault(value.Expiry);\r\n if (!this.isNullOrWhitespace(expiry)) {\r\n const expParts = expiry.split('/');\r\n if (expParts.length > 1) {\r\n cipher.card.expMonth = parseInt(expParts[0], null).toString();\r\n cipher.card.expYear = (2000 + parseInt(expParts[1], null)).toString();\r\n }\r\n }\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { SecureNoteType } from '../enums/secureNoteType';\r\n\r\nimport { CardView } from '../models/view/cardView';\r\nimport { SecureNoteView } from '../models/view/secureNoteView';\r\n\r\nexport class EnpassCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, false);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n let firstRow = true;\r\n results.forEach((value) => {\r\n if (value.length < 2 || (firstRow && (value[0] === 'Title' || value[0] === 'title'))) {\r\n firstRow = false;\r\n return;\r\n }\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value[value.length - 1]);\r\n cipher.name = this.getValueOrDefault(value[0], '--');\r\n\r\n if (value.length === 2 || (!this.containsField(value, 'username') &&\r\n !this.containsField(value, 'password') && !this.containsField(value, 'email') &&\r\n !this.containsField(value, 'url'))) {\r\n cipher.type = CipherType.SecureNote;\r\n cipher.secureNote = new SecureNoteView();\r\n cipher.secureNote.type = SecureNoteType.Generic;\r\n }\r\n\r\n if (this.containsField(value, 'cardholder') && this.containsField(value, 'number') &&\r\n this.containsField(value, 'expiry date')) {\r\n cipher.type = CipherType.Card;\r\n cipher.card = new CardView();\r\n }\r\n\r\n if (value.length > 2 && (value.length % 2) === 0) {\r\n for (let i = 0; i < value.length - 2; i += 2) {\r\n const fieldValue: string = value[i + 2];\r\n if (this.isNullOrWhitespace(fieldValue)) {\r\n continue;\r\n }\r\n\r\n const fieldName: string = value[i + 1];\r\n const fieldNameLower = fieldName.toLowerCase();\r\n\r\n if (cipher.type === CipherType.Login) {\r\n if (fieldNameLower === 'url' && (cipher.login.uris == null || cipher.login.uris.length === 0)) {\r\n cipher.login.uris = this.makeUriArray(fieldValue);\r\n continue;\r\n } else if ((fieldNameLower === 'username' || fieldNameLower === 'email') &&\r\n this.isNullOrWhitespace(cipher.login.username)) {\r\n cipher.login.username = fieldValue;\r\n continue;\r\n } else if (fieldNameLower === 'password' && this.isNullOrWhitespace(cipher.login.password)) {\r\n cipher.login.password = fieldValue;\r\n continue;\r\n } else if (fieldNameLower === 'totp' && this.isNullOrWhitespace(cipher.login.totp)) {\r\n cipher.login.totp = fieldValue;\r\n continue;\r\n }\r\n } else if (cipher.type === CipherType.Card) {\r\n if (fieldNameLower === 'cardholder' && this.isNullOrWhitespace(cipher.card.cardholderName)) {\r\n cipher.card.cardholderName = fieldValue;\r\n continue;\r\n } else if (fieldNameLower === 'number' && this.isNullOrWhitespace(cipher.card.number)) {\r\n cipher.card.number = fieldValue;\r\n cipher.card.brand = this.getCardBrand(fieldValue);\r\n continue;\r\n } else if (fieldNameLower === 'cvc' && this.isNullOrWhitespace(cipher.card.code)) {\r\n cipher.card.code = fieldValue;\r\n continue;\r\n } else if (fieldNameLower === 'expiry date' && this.isNullOrWhitespace(cipher.card.expMonth) &&\r\n this.isNullOrWhitespace(cipher.card.expYear)) {\r\n if (this.setCardExpiration(cipher, fieldValue)) {\r\n continue;\r\n }\r\n } else if (fieldNameLower === 'type') {\r\n // Skip since brand was determined from number above\r\n continue;\r\n }\r\n }\r\n\r\n this.processKvp(cipher, fieldName, fieldValue);\r\n }\r\n }\r\n\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n private containsField(fields: any[], name: string) {\r\n if (fields == null || name == null) {\r\n return false;\r\n }\r\n return fields.filter((f) => !this.isNullOrWhitespace(f) &&\r\n f.toLowerCase() === name.toLowerCase()).length > 0;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CardView } from '../models/view/cardView';\r\nimport { CipherView } from '../models/view/cipherView';\r\nimport { FolderView } from '../models/view/folderView';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { FieldType } from '../enums/fieldType';\r\n\r\nexport class EnpassJsonImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = JSON.parse(data);\r\n if (results == null || results.items == null || results.items.length === 0) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const foldersMap = new Map();\r\n const foldersIndexMap = new Map();\r\n const folderTree = this.buildFolderTree(results.folders);\r\n this.flattenFolderTree(null, folderTree, foldersMap);\r\n foldersMap.forEach((val, key) => {\r\n foldersIndexMap.set(key, result.folders.length);\r\n const f = new FolderView();\r\n f.name = val;\r\n result.folders.push(f);\r\n });\r\n\r\n results.items.forEach((item: any) => {\r\n if (item.folders != null && item.folders.length > 0 && foldersIndexMap.has(item.folders[0])) {\r\n result.folderRelationships.push([result.ciphers.length, foldersIndexMap.get(item.folders[0])]);\r\n }\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(item.title);\r\n cipher.favorite = item.favorite > 0;\r\n\r\n if (item.template_type != null && item.fields != null && item.fields.length > 0) {\r\n if (item.template_type.indexOf('login.') === 0 || item.template_type.indexOf('password.') === 0) {\r\n this.processLogin(cipher, item.fields);\r\n } else if (item.template_type.indexOf('creditcard.') === 0) {\r\n this.processCard(cipher, item.fields);\r\n } else if (item.template_type.indexOf('identity.') < 0 &&\r\n item.fields.some((f: any) => f.type === 'password' && !this.isNullOrWhitespace(f.value))) {\r\n this.processLogin(cipher, item.fields);\r\n } else {\r\n this.processNote(cipher, item.fields);\r\n }\r\n }\r\n\r\n cipher.notes += ('\\n' + this.getValueOrDefault(item.note, ''));\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n private processLogin(cipher: CipherView, fields: any[]) {\r\n const urls: string[] = [];\r\n fields.forEach((field: any) => {\r\n if (this.isNullOrWhitespace(field.value) || field.type === 'section') {\r\n return;\r\n }\r\n\r\n if ((field.type === 'username' || field.type === 'email') &&\r\n this.isNullOrWhitespace(cipher.login.username)) {\r\n cipher.login.username = field.value;\r\n } else if (field.type === 'password' && this.isNullOrWhitespace(cipher.login.password)) {\r\n cipher.login.password = field.value;\r\n } else if (field.type === 'totp' && this.isNullOrWhitespace(cipher.login.totp)) {\r\n cipher.login.totp = field.value;\r\n } else if (field.type === 'url') {\r\n urls.push(field.value);\r\n } else {\r\n this.processKvp(cipher, field.label, field.value,\r\n field.sensitive === 1 ? FieldType.Hidden : FieldType.Text);\r\n }\r\n });\r\n cipher.login.uris = this.makeUriArray(urls);\r\n }\r\n\r\n private processCard(cipher: CipherView, fields: any[]) {\r\n cipher.card = new CardView();\r\n cipher.type = CipherType.Card;\r\n fields.forEach((field: any) => {\r\n if (this.isNullOrWhitespace(field.value) || field.type === 'section' || field.type === 'ccType') {\r\n return;\r\n }\r\n\r\n if (field.type === 'ccName' && this.isNullOrWhitespace(cipher.card.cardholderName)) {\r\n cipher.card.cardholderName = field.value;\r\n } else if (field.type === 'ccNumber' && this.isNullOrWhitespace(cipher.card.number)) {\r\n cipher.card.number = field.value;\r\n cipher.card.brand = this.getCardBrand(cipher.card.number);\r\n } else if (field.type === 'ccCvc' && this.isNullOrWhitespace(cipher.card.code)) {\r\n cipher.card.code = field.value;\r\n } else if (field.type === 'ccExpiry' && this.isNullOrWhitespace(cipher.card.expYear)) {\r\n if (!this.setCardExpiration(cipher, field.value)) {\r\n this.processKvp(cipher, field.label, field.value,\r\n field.sensitive === 1 ? FieldType.Hidden : FieldType.Text);\r\n }\r\n } else {\r\n this.processKvp(cipher, field.label, field.value,\r\n field.sensitive === 1 ? FieldType.Hidden : FieldType.Text);\r\n }\r\n });\r\n }\r\n\r\n private processNote(cipher: CipherView, fields: any[]) {\r\n fields.forEach((field: any) => {\r\n if (this.isNullOrWhitespace(field.value) || field.type === 'section') {\r\n return;\r\n }\r\n this.processKvp(cipher, field.label, field.value,\r\n field.sensitive === 1 ? FieldType.Hidden : FieldType.Text);\r\n });\r\n }\r\n\r\n private buildFolderTree(folders: any[]): any[] {\r\n if (folders == null) {\r\n return [];\r\n }\r\n const folderTree: any[] = [];\r\n const map = new Map([]);\r\n folders.forEach((obj: any) => {\r\n map.set(obj.uuid, obj);\r\n obj.children = [];\r\n });\r\n folders.forEach((obj: any) => {\r\n if (obj.parent_uuid != null && obj.parent_uuid !== '' && map.has(obj.parent_uuid)) {\r\n map.get(obj.parent_uuid).children.push(obj);\r\n } else {\r\n folderTree.push(obj);\r\n }\r\n });\r\n return folderTree;\r\n }\r\n\r\n private flattenFolderTree(titlePrefix: string, tree: any[], map: Map) {\r\n if (tree == null) {\r\n return;\r\n }\r\n tree.forEach((f: any) => {\r\n if (f.title != null && f.title.trim() !== '') {\r\n let title = f.title.trim();\r\n if (titlePrefix != null && titlePrefix.trim() !== '') {\r\n title = titlePrefix + '/' + title;\r\n }\r\n map.set(f.uuid, title);\r\n if (f.children != null && f.children.length !== 0) {\r\n this.flattenFolderTree(title, f.children, map);\r\n }\r\n }\r\n });\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class FirefoxCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n const cipher = this.initLoginCipher();\r\n const url = this.getValueOrDefault(value.url, this.getValueOrDefault(value.hostname));\r\n cipher.name = this.getValueOrDefault(this.nameFromUrl(url), '--');\r\n cipher.login.username = this.getValueOrDefault(value.username);\r\n cipher.login.password = this.getValueOrDefault(value.password);\r\n cipher.login.uris = this.makeUriArray(url);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CardView } from '../models/view/cardView';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\n\r\nexport class FSecureFskImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = JSON.parse(data);\r\n if (results == null || results.data == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n for (const key in results.data) {\r\n if (!results.data.hasOwnProperty(key)) {\r\n continue;\r\n }\r\n\r\n const value = results.data[key];\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value.service);\r\n cipher.notes = this.getValueOrDefault(value.notes);\r\n\r\n if (value.style === 'website') {\r\n cipher.login.username = this.getValueOrDefault(value.username);\r\n cipher.login.password = this.getValueOrDefault(value.password);\r\n cipher.login.uris = this.makeUriArray(value.url);\r\n } else if (value.style === 'creditcard') {\r\n cipher.type = CipherType.Card;\r\n cipher.card = new CardView();\r\n cipher.card.cardholderName = this.getValueOrDefault(value.username);\r\n cipher.card.number = this.getValueOrDefault(value.creditNumber);\r\n cipher.card.brand = this.getCardBrand(cipher.card.number);\r\n cipher.card.code = this.getValueOrDefault(value.creditCvv);\r\n if (!this.isNullOrWhitespace(value.creditExpiry)) {\r\n if (!this.setCardExpiration(cipher, value.creditExpiry)) {\r\n this.processKvp(cipher, 'Expiration', value.creditExpiry);\r\n }\r\n }\r\n if (!this.isNullOrWhitespace(value.password)) {\r\n this.processKvp(cipher, 'PIN', value.password);\r\n }\r\n } else {\r\n continue;\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class GnomeJsonImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = JSON.parse(data);\r\n if (results == null || Object.keys(results).length === 0) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n for (const keyRing in results) {\r\n if (!results.hasOwnProperty(keyRing) || this.isNullOrWhitespace(keyRing) ||\r\n results[keyRing].length === 0) {\r\n continue;\r\n }\r\n\r\n results[keyRing].forEach((value: any) => {\r\n if (this.isNullOrWhitespace(value.display_name) || value.display_name.indexOf('http') !== 0) {\r\n return;\r\n }\r\n\r\n this.processFolder(result, keyRing);\r\n const cipher = this.initLoginCipher();\r\n cipher.name = value.display_name.replace('http://', '').replace('https://', '');\r\n if (cipher.name.length > 30) {\r\n cipher.name = cipher.name.substring(0, 30);\r\n }\r\n cipher.login.password = this.getValueOrDefault(value.secret);\r\n cipher.login.uris = this.makeUriArray(value.display_name);\r\n\r\n if (value.attributes != null) {\r\n cipher.login.username = value.attributes != null ?\r\n this.getValueOrDefault(value.attributes.username_value) : null;\r\n for (const attr in value.attributes) {\r\n if (!value.attributes.hasOwnProperty(attr) || attr === 'username_value' ||\r\n attr === 'xdg:schema') {\r\n continue;\r\n }\r\n this.processKvp(cipher, attr, value.attributes[attr]);\r\n }\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n }\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nconst NotesHeader = 'Notes\\n\\n';\r\nconst ApplicationsHeader = 'Applications\\n\\n';\r\nconst WebsitesHeader = 'Websites\\n\\n';\r\nconst Delimiter = '\\n---\\n';\r\n\r\nexport class KasperskyTxtImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n\r\n let notesData: string;\r\n let applicationsData: string;\r\n let websitesData: string;\r\n let workingData = this.splitNewLine(data).join('\\n');\r\n\r\n if (workingData.indexOf(NotesHeader) !== -1) {\r\n const parts = workingData.split(NotesHeader);\r\n if (parts.length > 1) {\r\n workingData = parts[0];\r\n notesData = parts[1];\r\n }\r\n }\r\n if (workingData.indexOf(ApplicationsHeader) !== -1) {\r\n const parts = workingData.split(ApplicationsHeader);\r\n if (parts.length > 1) {\r\n workingData = parts[0];\r\n applicationsData = parts[1];\r\n }\r\n }\r\n if (workingData.indexOf(WebsitesHeader) === 0) {\r\n const parts = workingData.split(WebsitesHeader);\r\n if (parts.length > 1) {\r\n workingData = parts[0];\r\n websitesData = parts[1];\r\n }\r\n }\r\n\r\n const notes = this.parseDataCategory(notesData);\r\n const applications = this.parseDataCategory(applicationsData);\r\n const websites = this.parseDataCategory(websitesData);\r\n\r\n notes.forEach((n) => {\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(n.get('Name'));\r\n cipher.notes = this.getValueOrDefault(n.get('Text'));\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n websites.concat(applications).forEach((w) => {\r\n const cipher = this.initLoginCipher();\r\n const nameKey = w.has('Website name') ? 'Website name' : 'Application';\r\n cipher.name = this.getValueOrDefault(w.get(nameKey), '');\r\n if (!this.isNullOrWhitespace(w.get('Login name'))) {\r\n if (!this.isNullOrWhitespace(cipher.name)) {\r\n cipher.name += ': ';\r\n }\r\n cipher.name += w.get('Login name');\r\n }\r\n cipher.notes = this.getValueOrDefault(w.get('Comment'));\r\n if (w.has('Website URL')) {\r\n cipher.login.uris = this.makeUriArray(w.get('Website URL'));\r\n }\r\n cipher.login.username = this.getValueOrDefault(w.get('Login'));\r\n cipher.login.password = this.getValueOrDefault(w.get('Password'));\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n private parseDataCategory(data: string): Map[] {\r\n if (this.isNullOrWhitespace(data) || data.indexOf(Delimiter) === -1) {\r\n return [];\r\n }\r\n const items: Map[] = [];\r\n data.split(Delimiter).forEach((p) => {\r\n if (p.indexOf('\\n') === -1) {\r\n return;\r\n }\r\n const item = new Map();\r\n let itemComment: string;\r\n let itemCommentKey: string;\r\n p.split('\\n').forEach((l) => {\r\n if (itemComment != null) {\r\n itemComment += ('\\n' + l);\r\n return;\r\n }\r\n const colonIndex = l.indexOf(':');\r\n let key: string;\r\n let val: string;\r\n if (colonIndex === -1) {\r\n return;\r\n } else {\r\n key = l.substring(0, colonIndex);\r\n if (l.length > colonIndex + 1) {\r\n val = l.substring(colonIndex + 2);\r\n }\r\n }\r\n if (key != null) {\r\n item.set(key, val);\r\n }\r\n if (key === 'Comment' || key === 'Text') {\r\n itemComment = val;\r\n itemCommentKey = key;\r\n }\r\n });\r\n if (itemComment != null && itemCommentKey != null) {\r\n item.set(itemCommentKey, itemComment);\r\n }\r\n if (item.size === 0) {\r\n return;\r\n }\r\n items.push(item);\r\n });\r\n return items;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { FieldType } from '../enums/fieldType';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { FolderView } from '../models/view/folderView';\r\n\r\nexport class KeePass2XmlImporter extends BaseImporter implements Importer {\r\n result = new ImportResult();\r\n\r\n parse(data: string): ImportResult {\r\n const doc = this.parseXml(data);\r\n if (doc == null) {\r\n this.result.success = false;\r\n return this.result;\r\n }\r\n\r\n const rootGroup = doc.querySelector('KeePassFile > Root > Group');\r\n if (rootGroup == null) {\r\n this.result.errorMessage = 'Missing `KeePassFile > Root > Group` node.';\r\n this.result.success = false;\r\n return this.result;\r\n }\r\n\r\n this.traverse(rootGroup, true, '');\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(this.result);\r\n }\r\n\r\n this.result.success = true;\r\n return this.result;\r\n }\r\n\r\n traverse(node: Element, isRootNode: boolean, groupPrefixName: string) {\r\n const folderIndex = this.result.folders.length;\r\n let groupName = groupPrefixName;\r\n\r\n if (!isRootNode) {\r\n if (groupName !== '') {\r\n groupName += '/';\r\n }\r\n const nameEl = this.querySelectorDirectChild(node, 'Name');\r\n groupName += nameEl == null ? '-' : nameEl.textContent;\r\n const folder = new FolderView();\r\n folder.name = groupName;\r\n this.result.folders.push(folder);\r\n }\r\n\r\n this.querySelectorAllDirectChild(node, 'Entry').forEach((entry) => {\r\n const cipherIndex = this.result.ciphers.length;\r\n\r\n const cipher = this.initLoginCipher();\r\n this.querySelectorAllDirectChild(entry, 'String').forEach((entryString) => {\r\n const valueEl = this.querySelectorDirectChild(entryString, 'Value');\r\n const value = valueEl != null ? valueEl.textContent : null;\r\n if (this.isNullOrWhitespace(value)) {\r\n return;\r\n }\r\n const keyEl = this.querySelectorDirectChild(entryString, 'Key');\r\n const key = keyEl != null ? keyEl.textContent : null;\r\n\r\n if (key === 'URL') {\r\n cipher.login.uris = this.makeUriArray(value);\r\n } else if (key === 'UserName') {\r\n cipher.login.username = value;\r\n } else if (key === 'Password') {\r\n cipher.login.password = value;\r\n } else if (key === 'otp') {\r\n cipher.login.totp = value.replace('key=', '');\r\n } else if (key === 'Title') {\r\n cipher.name = value;\r\n } else if (key === 'Notes') {\r\n cipher.notes += (value + '\\n');\r\n } else {\r\n let type = FieldType.Text;\r\n const attrs = (valueEl.attributes as any);\r\n if (attrs.length > 0 && attrs.ProtectInMemory != null &&\r\n attrs.ProtectInMemory.value === 'True') {\r\n type = FieldType.Hidden;\r\n }\r\n this.processKvp(cipher, key, value, type);\r\n }\r\n });\r\n\r\n this.cleanupCipher(cipher);\r\n this.result.ciphers.push(cipher);\r\n\r\n if (!isRootNode) {\r\n this.result.folderRelationships.push([cipherIndex, folderIndex]);\r\n }\r\n });\r\n\r\n this.querySelectorAllDirectChild(node, 'Group').forEach((group) => {\r\n this.traverse(group, false, groupName);\r\n });\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class KeePassXCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (this.isNullOrWhitespace(value.Title)) {\r\n return;\r\n }\r\n\r\n value.Group = !this.isNullOrWhitespace(value.Group) && value.Group.startsWith('Root/') ?\r\n value.Group.replace('Root/', '') : value.Group;\r\n const groupName = !this.isNullOrWhitespace(value.Group) ? value.Group : null;\r\n this.processFolder(result, groupName);\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value.Notes);\r\n cipher.name = this.getValueOrDefault(value.Title, '--');\r\n cipher.login.username = this.getValueOrDefault(value.Username);\r\n cipher.login.password = this.getValueOrDefault(value.Password);\r\n cipher.login.uris = this.makeUriArray(value.URL);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { FolderView } from '../models/view/folderView';\r\n\r\nexport class KeeperCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, false);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (value.length < 6) {\r\n return;\r\n }\r\n\r\n this.processFolder(result, value[0]);\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value[5]) + '\\n';\r\n cipher.name = this.getValueOrDefault(value[1], '--');\r\n cipher.login.username = this.getValueOrDefault(value[2]);\r\n cipher.login.password = this.getValueOrDefault(value[3]);\r\n cipher.login.uris = this.makeUriArray(value[4]);\r\n\r\n if (value.length > 7) {\r\n // we have some custom fields.\r\n for (let i = 7; i < value.length; i = i + 2) {\r\n this.processKvp(cipher, value[i], value[i + 1]);\r\n }\r\n }\r\n\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CardView } from '../models/view/cardView';\r\nimport { CipherView } from '../models/view/cipherView';\r\nimport { FolderView } from '../models/view/folderView';\r\nimport { IdentityView } from '../models/view/identityView';\r\nimport { LoginView } from '../models/view/loginView';\r\nimport { SecureNoteView } from '../models/view/secureNoteView';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { SecureNoteType } from '../enums/secureNoteType';\r\n\r\nexport class LastPassCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value, index) => {\r\n const cipherIndex = result.ciphers.length;\r\n let folderIndex = result.folders.length;\r\n let grouping = value.grouping;\r\n if (grouping != null) {\r\n grouping = grouping.replace(/\\\\/g, '/').replace(/[\\x00-\\x1F\\x7F-\\x9F]/g, '');\r\n }\r\n const hasFolder = this.getValueOrDefault(grouping, '(none)') !== '(none)';\r\n let addFolder = hasFolder;\r\n\r\n if (hasFolder) {\r\n for (let i = 0; i < result.folders.length; i++) {\r\n if (result.folders[i].name === grouping) {\r\n addFolder = false;\r\n folderIndex = i;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n const cipher = this.buildBaseCipher(value);\r\n if (cipher.type === CipherType.Login) {\r\n cipher.notes = this.getValueOrDefault(value.extra);\r\n cipher.login = new LoginView();\r\n cipher.login.uris = this.makeUriArray(value.url);\r\n cipher.login.username = this.getValueOrDefault(value.username);\r\n cipher.login.password = this.getValueOrDefault(value.password);\r\n } else if (cipher.type === CipherType.SecureNote) {\r\n this.parseSecureNote(value, cipher);\r\n } else if (cipher.type === CipherType.Card) {\r\n cipher.card = this.parseCard(value);\r\n cipher.notes = this.getValueOrDefault(value.notes);\r\n } else if (cipher.type === CipherType.Identity) {\r\n cipher.identity = this.parseIdentity(value);\r\n cipher.notes = this.getValueOrDefault(value.notes);\r\n if (!this.isNullOrWhitespace(value.ccnum)) {\r\n // there is a card on this identity too\r\n const cardCipher = this.buildBaseCipher(value);\r\n cardCipher.identity = null;\r\n cardCipher.type = CipherType.Card;\r\n cardCipher.card = this.parseCard(value);\r\n result.ciphers.push(cardCipher);\r\n }\r\n }\r\n\r\n result.ciphers.push(cipher);\r\n\r\n if (addFolder) {\r\n const f = new FolderView();\r\n f.name = grouping;\r\n result.folders.push(f);\r\n }\r\n if (hasFolder) {\r\n result.folderRelationships.push([cipherIndex, folderIndex]);\r\n }\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n private buildBaseCipher(value: any) {\r\n const cipher = new CipherView();\r\n if (value.hasOwnProperty('profilename') && value.hasOwnProperty('profilelanguage')) {\r\n // form fill\r\n cipher.favorite = false;\r\n cipher.name = this.getValueOrDefault(value.profilename, '--');\r\n cipher.type = CipherType.Card;\r\n\r\n if (!this.isNullOrWhitespace(value.title) || !this.isNullOrWhitespace(value.firstname) ||\r\n !this.isNullOrWhitespace(value.lastname) || !this.isNullOrWhitespace(value.address1) ||\r\n !this.isNullOrWhitespace(value.phone) || !this.isNullOrWhitespace(value.username) ||\r\n !this.isNullOrWhitespace(value.email)) {\r\n cipher.type = CipherType.Identity;\r\n }\r\n } else {\r\n // site or secure note\r\n cipher.favorite = !this.organization && this.getValueOrDefault(value.fav, '0') === '1';\r\n cipher.name = this.getValueOrDefault(value.name, '--');\r\n cipher.type = value.url === 'http://sn' ? CipherType.SecureNote : CipherType.Login;\r\n }\r\n return cipher;\r\n }\r\n\r\n private parseCard(value: any): CardView {\r\n const card = new CardView();\r\n card.cardholderName = this.getValueOrDefault(value.ccname);\r\n card.number = this.getValueOrDefault(value.ccnum);\r\n card.code = this.getValueOrDefault(value.cccsc);\r\n card.brand = this.getCardBrand(value.ccnum);\r\n\r\n if (!this.isNullOrWhitespace(value.ccexp) && value.ccexp.indexOf('-') > -1) {\r\n const ccexpParts = (value.ccexp as string).split('-');\r\n if (ccexpParts.length > 1) {\r\n card.expYear = ccexpParts[0];\r\n card.expMonth = ccexpParts[1];\r\n if (card.expMonth.length === 2 && card.expMonth[0] === '0') {\r\n card.expMonth = card.expMonth[1];\r\n }\r\n }\r\n }\r\n\r\n return card;\r\n }\r\n\r\n private parseIdentity(value: any): IdentityView {\r\n const identity = new IdentityView();\r\n identity.title = this.getValueOrDefault(value.title);\r\n identity.firstName = this.getValueOrDefault(value.firstname);\r\n identity.middleName = this.getValueOrDefault(value.middlename);\r\n identity.lastName = this.getValueOrDefault(value.lastname);\r\n identity.username = this.getValueOrDefault(value.username);\r\n identity.company = this.getValueOrDefault(value.company);\r\n identity.ssn = this.getValueOrDefault(value.ssn);\r\n identity.address1 = this.getValueOrDefault(value.address1);\r\n identity.address2 = this.getValueOrDefault(value.address2);\r\n identity.address3 = this.getValueOrDefault(value.address3);\r\n identity.city = this.getValueOrDefault(value.city);\r\n identity.state = this.getValueOrDefault(value.state);\r\n identity.postalCode = this.getValueOrDefault(value.zip);\r\n identity.country = this.getValueOrDefault(value.country);\r\n identity.email = this.getValueOrDefault(value.email);\r\n identity.phone = this.getValueOrDefault(value.phone);\r\n\r\n if (!this.isNullOrWhitespace(identity.title)) {\r\n identity.title = identity.title.charAt(0).toUpperCase() + identity.title.slice(1);\r\n }\r\n\r\n return identity;\r\n }\r\n\r\n private parseSecureNote(value: any, cipher: CipherView) {\r\n const extraParts = this.splitNewLine(value.extra);\r\n let processedNote = false;\r\n\r\n if (extraParts.length) {\r\n const typeParts = extraParts[0].split(':');\r\n if (typeParts.length > 1 && typeParts[0] === 'NoteType' &&\r\n (typeParts[1] === 'Credit Card' || typeParts[1] === 'Address')) {\r\n if (typeParts[1] === 'Credit Card') {\r\n const mappedData = this.parseSecureNoteMapping(cipher, extraParts, {\r\n 'Number': 'number',\r\n 'Name on Card': 'cardholderName',\r\n 'Security Code': 'code',\r\n // LP provides date in a format like 'June,2020'\r\n // Store in expMonth, then parse and modify\r\n 'Expiration Date': 'expMonth',\r\n });\r\n\r\n if (this.isNullOrWhitespace(mappedData.expMonth) || mappedData.expMonth === ',') {\r\n // No expiration data\r\n mappedData.expMonth = undefined;\r\n } else {\r\n const [monthString, year] = mappedData.expMonth.split(',');\r\n // Parse month name into number\r\n if (!this.isNullOrWhitespace(monthString)) {\r\n const month = new Date(Date.parse(monthString.trim() + ' 1, 2012')).getMonth() + 1;\r\n if (isNaN(month)) {\r\n mappedData.expMonth = undefined;\r\n } else {\r\n mappedData.expMonth = month.toString();\r\n }\r\n } else {\r\n mappedData.expMonth = undefined;\r\n }\r\n if (!this.isNullOrWhitespace(year)) {\r\n mappedData.expYear = year;\r\n }\r\n }\r\n\r\n cipher.type = CipherType.Card;\r\n cipher.card = mappedData;\r\n } else if (typeParts[1] === 'Address') {\r\n const mappedData = this.parseSecureNoteMapping(cipher, extraParts, {\r\n 'Title': 'title',\r\n 'First Name': 'firstName',\r\n 'Last Name': 'lastName',\r\n 'Middle Name': 'middleName',\r\n 'Company': 'company',\r\n 'Address 1': 'address1',\r\n 'Address 2': 'address2',\r\n 'Address 3': 'address3',\r\n 'City / Town': 'city',\r\n 'State': 'state',\r\n 'Zip / Postal Code': 'postalCode',\r\n 'Country': 'country',\r\n 'Email Address': 'email',\r\n 'Username': 'username',\r\n });\r\n cipher.type = CipherType.Identity;\r\n cipher.identity = mappedData;\r\n }\r\n processedNote = true;\r\n }\r\n }\r\n\r\n if (!processedNote) {\r\n cipher.secureNote = new SecureNoteView();\r\n cipher.secureNote.type = SecureNoteType.Generic;\r\n cipher.notes = this.getValueOrDefault(value.extra);\r\n }\r\n }\r\n\r\n private parseSecureNoteMapping(cipher: CipherView, extraParts: string[], map: any): T {\r\n const dataObj: any = {};\r\n\r\n let processingNotes = false;\r\n extraParts.forEach((extraPart) => {\r\n let key: string = null;\r\n let val: string = null;\r\n if (!processingNotes) {\r\n if (this.isNullOrWhitespace(extraPart)) {\r\n return;\r\n }\r\n const colonIndex = extraPart.indexOf(':');\r\n if (colonIndex === -1) {\r\n key = extraPart;\r\n } else {\r\n key = extraPart.substring(0, colonIndex);\r\n if (extraPart.length > colonIndex) {\r\n val = extraPart.substring(colonIndex + 1);\r\n }\r\n }\r\n if (this.isNullOrWhitespace(key) || this.isNullOrWhitespace(val) || key === 'NoteType') {\r\n return;\r\n }\r\n }\r\n\r\n if (processingNotes) {\r\n cipher.notes += ('\\n' + extraPart);\r\n } else if (key === 'Notes') {\r\n if (!this.isNullOrWhitespace(cipher.notes)) {\r\n cipher.notes += ('\\n' + val);\r\n } else {\r\n cipher.notes = val;\r\n }\r\n processingNotes = true;\r\n } else if (map.hasOwnProperty(key)) {\r\n dataObj[map[key]] = val;\r\n } else {\r\n this.processKvp(cipher, key, val);\r\n }\r\n });\r\n\r\n return dataObj;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class LogMeOnceCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, false);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (value.length < 4) {\r\n return;\r\n }\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value[0], '--');\r\n cipher.login.username = this.getValueOrDefault(value[2]);\r\n cipher.login.password = this.getValueOrDefault(value[3]);\r\n cipher.login.uris = this.makeUriArray(value[1]);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class MeldiumCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value.DisplayName, '--');\r\n cipher.notes = this.getValueOrDefault(value.Notes);\r\n cipher.login.username = this.getValueOrDefault(value.UserName);\r\n cipher.login.password = this.getValueOrDefault(value.Password);\r\n cipher.login.uris = this.makeUriArray(value.Url);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { SecureNoteType } from '../enums/secureNoteType';\r\n\r\nimport { SecureNoteView } from '../models/view/secureNoteView';\r\n\r\nexport class MSecureCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, false);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (value.length < 3) {\r\n return;\r\n }\r\n\r\n const folderName = this.getValueOrDefault(value[0], 'Unassigned') !== 'Unassigned' ? value[0] : null;\r\n this.processFolder(result, folderName);\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value[2], '--');\r\n\r\n if (value[1] === 'Web Logins' || value[1] === 'Login') {\r\n cipher.login.uris = this.makeUriArray(value[4]);\r\n cipher.login.username = this.getValueOrDefault(value[5]);\r\n cipher.login.password = this.getValueOrDefault(value[6]);\r\n cipher.notes = !this.isNullOrWhitespace(value[3]) ? value[3].split('\\\\n').join('\\n') : null;\r\n } else if (value.length > 3) {\r\n cipher.type = CipherType.SecureNote;\r\n cipher.secureNote = new SecureNoteView();\r\n cipher.secureNote.type = SecureNoteType.Generic;\r\n for (let i = 3; i < value.length; i++) {\r\n if (!this.isNullOrWhitespace(value[i])) {\r\n cipher.notes += (value[i] + '\\n');\r\n }\r\n }\r\n }\r\n\r\n if (!this.isNullOrWhitespace(value[1]) && cipher.type !== CipherType.Login) {\r\n cipher.name = value[1] + ': ' + cipher.name;\r\n }\r\n\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { SecureNoteType } from '../enums/secureNoteType';\r\n\r\nimport { CardView } from '../models/view/cardView';\r\nimport { IdentityView } from '../models/view/identityView';\r\nimport { SecureNoteView } from '../models/view/secureNoteView';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class MykiCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value.nickname, '--');\r\n cipher.notes = this.getValueOrDefault(value.additionalInfo);\r\n\r\n if (value.url !== undefined) {\r\n // Accounts\r\n cipher.login.uris = this.makeUriArray(value.url);\r\n cipher.login.username = this.getValueOrDefault(value.username);\r\n cipher.login.password = this.getValueOrDefault(value.password);\r\n cipher.login.totp = this.getValueOrDefault(value.twoFactAuthToken);\r\n } else if (value.cardNumber !== undefined) {\r\n // Cards\r\n cipher.card = new CardView();\r\n cipher.type = CipherType.Card;\r\n cipher.card.cardholderName = this.getValueOrDefault(value.cardName);\r\n cipher.card.number = this.getValueOrDefault(value.cardNumber);\r\n cipher.card.brand = this.getCardBrand(cipher.card.number);\r\n cipher.card.expMonth = this.getValueOrDefault(value.exp_month);\r\n cipher.card.expYear = this.getValueOrDefault(value.exp_year);\r\n cipher.card.code = this.getValueOrDefault(value.cvv);\r\n } else if (value.firstName !== undefined) {\r\n // Identities\r\n cipher.identity = new IdentityView();\r\n cipher.type = CipherType.Identity;\r\n cipher.identity.title = this.getValueOrDefault(value.title);\r\n cipher.identity.firstName = this.getValueOrDefault(value.firstName);\r\n cipher.identity.middleName = this.getValueOrDefault(value.middleName);\r\n cipher.identity.lastName = this.getValueOrDefault(value.lastName);\r\n cipher.identity.phone = this.getValueOrDefault(value.number);\r\n cipher.identity.email = this.getValueOrDefault(value.email);\r\n cipher.identity.address1 = this.getValueOrDefault(value.firstAddressLine);\r\n cipher.identity.address2 = this.getValueOrDefault(value.secondAddressLine);\r\n cipher.identity.city = this.getValueOrDefault(value.city);\r\n cipher.identity.country = this.getValueOrDefault(value.country);\r\n cipher.identity.postalCode = this.getValueOrDefault(value.zipCode);\r\n } else if (value.content !== undefined) {\r\n // Notes\r\n cipher.secureNote = new SecureNoteView();\r\n cipher.type = CipherType.SecureNote;\r\n cipher.secureNote.type = SecureNoteType.Generic;\r\n cipher.name = this.getValueOrDefault(value.title, '--');\r\n cipher.notes = this.getValueOrDefault(value.content);\r\n } else {\r\n return;\r\n }\r\n\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CardView } from '../models/view/cardView';\r\nimport { CipherView } from '../models/view/cipherView';\r\nimport { IdentityView } from '../models/view/identityView';\r\nimport { PasswordHistoryView } from '../models/view/passwordHistoryView';\r\nimport { SecureNoteView } from '../models/view/secureNoteView';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { FieldType } from '../enums/fieldType';\r\nimport { SecureNoteType } from '../enums/secureNoteType';\r\n\r\nexport class OnePassword1PifImporter extends BaseImporter implements Importer {\r\n result = new ImportResult();\r\n\r\n parse(data: string): ImportResult {\r\n data.split(this.newLineRegex).forEach((line) => {\r\n if (this.isNullOrWhitespace(line) || line[0] !== '{') {\r\n return;\r\n }\r\n const item = JSON.parse(line);\r\n if (item.trashed === true) {\r\n return;\r\n }\r\n const cipher = this.initLoginCipher();\r\n\r\n if (this.isNullOrWhitespace(item.hmac)) {\r\n this.processStandardItem(item, cipher);\r\n } else {\r\n this.processWinOpVaultItem(item, cipher);\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n this.result.ciphers.push(cipher);\r\n });\r\n\r\n this.result.success = true;\r\n return this.result;\r\n }\r\n\r\n private processWinOpVaultItem(item: any, cipher: CipherView) {\r\n if (item.overview != null) {\r\n cipher.name = this.getValueOrDefault(item.overview.title);\r\n if (item.overview.URLs != null) {\r\n const urls: string[] = [];\r\n item.overview.URLs.forEach((url: any) => {\r\n if (!this.isNullOrWhitespace(url.u)) {\r\n urls.push(url.u);\r\n }\r\n });\r\n cipher.login.uris = this.makeUriArray(urls);\r\n }\r\n }\r\n\r\n if (item.details != null) {\r\n if (item.details.passwordHistory != null) {\r\n this.parsePasswordHistory(item.details.passwordHistory, cipher);\r\n }\r\n if (!this.isNullOrWhitespace(item.details.ccnum) || !this.isNullOrWhitespace(item.details.cvv)) {\r\n cipher.type = CipherType.Card;\r\n cipher.card = new CardView();\r\n } else if (!this.isNullOrWhitespace(item.details.firstname) ||\r\n !this.isNullOrWhitespace(item.details.address1)) {\r\n cipher.type = CipherType.Identity;\r\n cipher.identity = new IdentityView();\r\n }\r\n if (cipher.type === CipherType.Login && !this.isNullOrWhitespace(item.details.password)) {\r\n cipher.login.password = item.details.password;\r\n }\r\n if (!this.isNullOrWhitespace(item.details.notesPlain)) {\r\n cipher.notes = item.details.notesPlain.split(this.newLineRegex).join('\\n') + '\\n';\r\n }\r\n if (item.details.fields != null) {\r\n this.parseFields(item.details.fields, cipher, 'designation', 'value', 'name');\r\n }\r\n if (item.details.sections != null) {\r\n item.details.sections.forEach((section: any) => {\r\n if (section.fields != null) {\r\n this.parseFields(section.fields, cipher, 'n', 'v', 't');\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n private processStandardItem(item: any, cipher: CipherView) {\r\n cipher.favorite = item.openContents && item.openContents.faveIndex ? true : false;\r\n cipher.name = this.getValueOrDefault(item.title);\r\n\r\n if (item.typeName === 'securenotes.SecureNote') {\r\n cipher.type = CipherType.SecureNote;\r\n cipher.secureNote = new SecureNoteView();\r\n cipher.secureNote.type = SecureNoteType.Generic;\r\n } else if (item.typeName === 'wallet.financial.CreditCard') {\r\n cipher.type = CipherType.Card;\r\n cipher.card = new CardView();\r\n } else if (item.typeName === 'identities.Identity') {\r\n cipher.type = CipherType.Identity;\r\n cipher.identity = new IdentityView();\r\n } else {\r\n cipher.login.uris = this.makeUriArray(item.location);\r\n }\r\n\r\n if (item.secureContents != null) {\r\n if (item.secureContents.passwordHistory != null) {\r\n this.parsePasswordHistory(item.secureContents.passwordHistory, cipher);\r\n }\r\n if (!this.isNullOrWhitespace(item.secureContents.notesPlain)) {\r\n cipher.notes = item.secureContents.notesPlain.split(this.newLineRegex).join('\\n') + '\\n';\r\n }\r\n if (cipher.type === CipherType.Login) {\r\n if (!this.isNullOrWhitespace(item.secureContents.password)) {\r\n cipher.login.password = item.secureContents.password;\r\n }\r\n if (item.secureContents.URLs != null) {\r\n const urls: string[] = [];\r\n item.secureContents.URLs.forEach((u: any) => {\r\n if (!this.isNullOrWhitespace(u.url)) {\r\n urls.push(u.url);\r\n }\r\n });\r\n if (urls.length > 0) {\r\n cipher.login.uris = this.makeUriArray(urls);\r\n }\r\n }\r\n }\r\n if (item.secureContents.fields != null) {\r\n this.parseFields(item.secureContents.fields, cipher, 'designation', 'value', 'name');\r\n }\r\n if (item.secureContents.sections != null) {\r\n item.secureContents.sections.forEach((section: any) => {\r\n if (section.fields != null) {\r\n this.parseFields(section.fields, cipher, 'n', 'v', 't');\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n private parsePasswordHistory(items: any[], cipher: CipherView) {\r\n const maxSize = items.length > 5 ? 5 : items.length;\r\n cipher.passwordHistory = items\r\n .filter((h: any) => !this.isNullOrWhitespace(h.value) && h.time != null)\r\n .sort((a, b) => b.time - a.time)\r\n .slice(0, maxSize)\r\n .map((h: any) => {\r\n const ph = new PasswordHistoryView();\r\n ph.password = h.value;\r\n ph.lastUsedDate = new Date(('' + h.time).length >= 13 ? h.time : h.time * 1000);\r\n return ph;\r\n });\r\n }\r\n\r\n private parseFields(fields: any[], cipher: CipherView, designationKey: string, valueKey: string, nameKey: string) {\r\n fields.forEach((field: any) => {\r\n if (field[valueKey] == null || field[valueKey].toString().trim() === '') {\r\n return;\r\n }\r\n\r\n const fieldValue = field[valueKey].toString();\r\n const fieldDesignation = field[designationKey] != null ? field[designationKey].toString() : null;\r\n\r\n if (cipher.type === CipherType.Login) {\r\n if (this.isNullOrWhitespace(cipher.login.username) && fieldDesignation === 'username') {\r\n cipher.login.username = fieldValue;\r\n return;\r\n } else if (this.isNullOrWhitespace(cipher.login.password) && fieldDesignation === 'password') {\r\n cipher.login.password = fieldValue;\r\n return;\r\n } else if (this.isNullOrWhitespace(cipher.login.totp) && fieldDesignation != null &&\r\n fieldDesignation.startsWith('TOTP_')) {\r\n cipher.login.totp = fieldValue;\r\n return;\r\n }\r\n } else if (cipher.type === CipherType.Card) {\r\n if (this.isNullOrWhitespace(cipher.card.number) && fieldDesignation === 'ccnum') {\r\n cipher.card.number = fieldValue;\r\n cipher.card.brand = this.getCardBrand(fieldValue);\r\n return;\r\n } else if (this.isNullOrWhitespace(cipher.card.code) && fieldDesignation === 'cvv') {\r\n cipher.card.code = fieldValue;\r\n return;\r\n } else if (this.isNullOrWhitespace(cipher.card.cardholderName) && fieldDesignation === 'cardholder') {\r\n cipher.card.cardholderName = fieldValue;\r\n return;\r\n } else if (this.isNullOrWhitespace(cipher.card.expiration) && fieldDesignation === 'expiry' &&\r\n fieldValue.length === 6) {\r\n cipher.card.expMonth = (fieldValue as string).substr(4, 2);\r\n if (cipher.card.expMonth[0] === '0') {\r\n cipher.card.expMonth = cipher.card.expMonth.substr(1, 1);\r\n }\r\n cipher.card.expYear = (fieldValue as string).substr(0, 4);\r\n return;\r\n } else if (fieldDesignation === 'type') {\r\n // Skip since brand was determined from number above\r\n return;\r\n }\r\n } else if (cipher.type === CipherType.Identity) {\r\n const identity = cipher.identity;\r\n if (this.isNullOrWhitespace(identity.firstName) && fieldDesignation === 'firstname') {\r\n identity.firstName = fieldValue;\r\n return;\r\n } else if (this.isNullOrWhitespace(identity.lastName) && fieldDesignation === 'lastname') {\r\n identity.lastName = fieldValue;\r\n return;\r\n } else if (this.isNullOrWhitespace(identity.middleName) && fieldDesignation === 'initial') {\r\n identity.middleName = fieldValue;\r\n return;\r\n } else if (this.isNullOrWhitespace(identity.phone) && fieldDesignation === 'defphone') {\r\n identity.phone = fieldValue;\r\n return;\r\n } else if (this.isNullOrWhitespace(identity.company) && fieldDesignation === 'company') {\r\n identity.company = fieldValue;\r\n return;\r\n } else if (this.isNullOrWhitespace(identity.email) && fieldDesignation === 'email') {\r\n identity.email = fieldValue;\r\n return;\r\n } else if (this.isNullOrWhitespace(identity.username) && fieldDesignation === 'username') {\r\n identity.username = fieldValue;\r\n return;\r\n } else if (fieldDesignation === 'address') {\r\n // fieldValue is an object casted into a string, so access the plain value instead\r\n const { street, city, country, zip } = field[valueKey];\r\n identity.address1 = this.getValueOrDefault(street);\r\n identity.city = this.getValueOrDefault(city);\r\n if (!this.isNullOrWhitespace(country)) {\r\n identity.country = country.toUpperCase();\r\n }\r\n identity.postalCode = this.getValueOrDefault(zip);\r\n return;\r\n }\r\n }\r\n\r\n const fieldName = this.isNullOrWhitespace(field[nameKey]) ? 'no_name' : field[nameKey];\r\n if (fieldName === 'password' && cipher.passwordHistory != null &&\r\n cipher.passwordHistory.some((h) => h.password === fieldValue)) {\r\n return;\r\n }\r\n\r\n const fieldType = field.k === 'concealed' ? FieldType.Hidden : FieldType.Text;\r\n this.processKvp(cipher, fieldName, fieldValue, fieldType);\r\n });\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\nimport { Importer } from './importer';\n\nimport { ImportResult } from '../models/domain/importResult';\n\nimport { CipherType } from '../enums/cipherType';\nimport { CardView } from '../models/view';\n\nconst IgnoredProperties = ['ainfo', 'autosubmit', 'notesplain', 'ps', 'scope', 'tags', 'title', 'uuid'];\n\nexport class OnePasswordWinCsvImporter extends BaseImporter implements Importer {\n parse(data: string): ImportResult {\n const result = new ImportResult();\n const results = this.parseCsv(data, true);\n if (results == null) {\n result.success = false;\n return result;\n }\n\n results.forEach((value) => {\n if (this.isNullOrWhitespace(this.getProp(value, 'title'))) {\n return;\n }\n\n const cipher = this.initLoginCipher();\n cipher.name = this.getValueOrDefault(this.getProp(value, 'title'), '--');\n cipher.notes = this.getValueOrDefault(this.getProp(value, 'notesPlain'), '') + '\\n';\n\n if (!this.isNullOrWhitespace(this.getProp(value, 'number')) &&\n !this.isNullOrWhitespace(this.getProp(value, 'expiry date'))) {\n cipher.type = CipherType.Card;\n cipher.card = new CardView();\n }\n\n let altUsername: string = null;\n for (const property in value) {\n if (!value.hasOwnProperty(property) || this.isNullOrWhitespace(value[property])) {\n continue;\n }\n\n const lowerProp = property.toLowerCase();\n if (cipher.type === CipherType.Login) {\n if (this.isNullOrWhitespace(cipher.login.password) && lowerProp === 'password') {\n cipher.login.password = value[property];\n continue;\n } else if (this.isNullOrWhitespace(cipher.login.username) && lowerProp === 'username') {\n cipher.login.username = value[property];\n continue;\n } else if ((cipher.login.uris == null || cipher.login.uri.length === 0) && lowerProp === 'urls') {\n const urls = value[property].split(this.newLineRegex);\n cipher.login.uris = this.makeUriArray(urls);\n continue;\n }\n } else if (cipher.type === CipherType.Card) {\n if (this.isNullOrWhitespace(cipher.card.number) && lowerProp === 'number') {\n cipher.card.number = value[property];\n cipher.card.brand = this.getCardBrand(this.getProp(value, 'number'));\n continue;\n } else if (this.isNullOrWhitespace(cipher.card.code) && lowerProp === 'verification number') {\n cipher.card.code = value[property];\n continue;\n } else if (this.isNullOrWhitespace(cipher.card.cardholderName) && lowerProp === 'cardholder name') {\n cipher.card.cardholderName = value[property];\n continue;\n } else if (this.isNullOrWhitespace(cipher.card.expiration) && lowerProp === 'expiry date' &&\n value[property].length === 6) {\n cipher.card.expMonth = (value[property] as string).substr(4, 2);\n if (cipher.card.expMonth[0] === '0') {\n cipher.card.expMonth = cipher.card.expMonth.substr(1, 1);\n }\n cipher.card.expYear = (value[property] as string).substr(0, 4);\n continue;\n } else if (lowerProp === 'type') {\n // Skip since brand was determined from number above\n continue;\n }\n }\n\n if (IgnoredProperties.indexOf(lowerProp) === -1 && !lowerProp.startsWith('section:') &&\n !lowerProp.startsWith('section ')) {\n if (altUsername == null && lowerProp === 'email') {\n altUsername = value[property];\n }\n this.processKvp(cipher, property, value[property]);\n }\n }\n\n if (cipher.type === CipherType.Login && !this.isNullOrWhitespace(altUsername) &&\n this.isNullOrWhitespace(cipher.login.username) && altUsername.indexOf('://') === -1) {\n cipher.login.username = altUsername;\n }\n\n this.convertToNoteIfNeeded(cipher);\n this.cleanupCipher(cipher);\n result.ciphers.push(cipher);\n });\n\n result.success = true;\n return result;\n }\n\n private getProp(obj: any, name: string): any {\n return obj[name] || obj[name.toUpperCase()];\n }\n}\n","export { AttachmentView } from './attachmentView';\r\nexport { CardView } from './cardView';\r\nexport { CipherView } from './cipherView';\r\nexport { FieldView } from './fieldView';\r\nexport { IdentityView } from './identityView';\r\nexport { LoginUriView } from './loginUriView';\r\nexport { LoginView } from './loginView';\r\nexport { SecureNoteView } from './secureNoteView';\r\nexport { View } from './view';\r\n","export class View {\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CollectionView } from '../models/view/collectionView';\r\nimport { FolderView } from '../models/view/folderView';\r\n\r\nexport class PadlockCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, false);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n let headers: string[] = null;\r\n results.forEach((value) => {\r\n if (headers == null) {\r\n headers = value.map((v: string) => v);\r\n return;\r\n }\r\n\r\n if (value.length < 2 || value.length !== headers.length) {\r\n return;\r\n }\r\n\r\n if (!this.isNullOrWhitespace(value[1])) {\r\n if (this.organization) {\r\n const tags = (value[1] as string).split(',');\r\n tags.forEach((tag) => {\r\n tag = tag.trim();\r\n let addCollection = true;\r\n let collectionIndex = result.collections.length;\r\n\r\n for (let i = 0; i < result.collections.length; i++) {\r\n if (result.collections[i].name === tag) {\r\n addCollection = false;\r\n collectionIndex = i;\r\n break;\r\n }\r\n }\r\n\r\n if (addCollection) {\r\n const collection = new CollectionView();\r\n collection.name = tag;\r\n result.collections.push(collection);\r\n }\r\n\r\n result.collectionRelationships.push([result.ciphers.length, collectionIndex]);\r\n });\r\n } else {\r\n const tags = (value[1] as string).split(',');\r\n const tag = tags.length > 0 ? tags[0].trim() : null;\r\n this.processFolder(result, tag);\r\n }\r\n }\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value[0], '--');\r\n\r\n for (let i = 2; i < value.length; i++) {\r\n const header = headers[i].trim().toLowerCase();\r\n if (this.isNullOrWhitespace(value[i]) || this.isNullOrWhitespace(header)) {\r\n continue;\r\n }\r\n\r\n if (this.usernameFieldNames.indexOf(header) > -1) {\r\n cipher.login.username = value[i];\r\n } else if (this.passwordFieldNames.indexOf(header) > -1) {\r\n cipher.login.password = value[i];\r\n } else if (this.uriFieldNames.indexOf(header) > -1) {\r\n cipher.login.uris = this.makeUriArray(value[i]);\r\n } else {\r\n this.processKvp(cipher, headers[i], value[i]);\r\n }\r\n }\r\n\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class PassKeepCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n this.processFolder(result, this.getValue('category', value));\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValue('description', value);\r\n cipher.name = this.getValueOrDefault(this.getValue('title', value), '--');\r\n cipher.login.username = this.getValue('username', value);\r\n cipher.login.password = this.getValue('password', value);\r\n cipher.login.uris = this.makeUriArray(this.getValue('site', value));\r\n this.processKvp(cipher, 'Password 2', this.getValue('password2', value));\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n private getValue(key: string, value: any) {\r\n return this.getValueOrDefault(value[key], this.getValueOrDefault(value[(' ' + key)]));\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class PassmanJsonImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = JSON.parse(data);\r\n if (results == null || results.length === 0) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((credential: any) => {\r\n if (credential.tags != null && credential.tags.length > 0) {\r\n const folderName = credential.tags[0].text;\r\n this.processFolder(result, folderName);\r\n }\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.name = credential.label;\r\n\r\n cipher.login.username = this.getValueOrDefault(credential.username);\r\n if (this.isNullOrWhitespace(cipher.login.username)) {\r\n cipher.login.username = this.getValueOrDefault(credential.email);\r\n } else if (!this.isNullOrWhitespace(credential.email)) {\r\n cipher.notes = ('Email: ' + credential.email + '\\n');\r\n }\r\n\r\n cipher.login.password = this.getValueOrDefault(credential.password);\r\n cipher.login.uris = this.makeUriArray(credential.url);\r\n cipher.notes += this.getValueOrDefault(credential.description, '');\r\n if (credential.otp != null) {\r\n cipher.login.totp = this.getValueOrDefault(credential.otp.secret);\r\n }\r\n\r\n if (credential.custom_fields != null) {\r\n credential.custom_fields.forEach((customField: any) => {\r\n switch (customField.field_type) {\r\n case 'text':\r\n case 'password':\r\n this.processKvp(cipher, customField.label, customField.value);\r\n break;\r\n }\r\n });\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CollectionView } from '../models/view/collectionView';\r\n\r\nexport class PasspackCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n const tagsJson = !this.isNullOrWhitespace(value.Tags) ? JSON.parse(value.Tags) : null;\r\n const tags: string[] = tagsJson != null && tagsJson.tags != null && tagsJson.tags.length > 0 ?\r\n tagsJson.tags.map((tagJson: string) => {\r\n try {\r\n const t = JSON.parse(tagJson);\r\n return this.getValueOrDefault(t.tag);\r\n } catch { }\r\n return null;\r\n }).filter((t: string) => !this.isNullOrWhitespace(t)) : null;\r\n\r\n if (this.organization && tags != null && tags.length > 0) {\r\n tags.forEach((tag) => {\r\n let addCollection = true;\r\n let collectionIndex = result.collections.length;\r\n\r\n for (let i = 0; i < result.collections.length; i++) {\r\n if (result.collections[i].name === tag) {\r\n addCollection = false;\r\n collectionIndex = i;\r\n break;\r\n }\r\n }\r\n\r\n if (addCollection) {\r\n const collection = new CollectionView();\r\n collection.name = tag;\r\n result.collections.push(collection);\r\n }\r\n\r\n result.collectionRelationships.push([result.ciphers.length, collectionIndex]);\r\n });\r\n } else if (!this.organization && tags != null && tags.length > 0) {\r\n this.processFolder(result, tags[0]);\r\n }\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value.Notes, '');\r\n cipher.notes += ('\\n\\n' + this.getValueOrDefault(value['Shared Notes'], '') + '\\n');\r\n cipher.name = this.getValueOrDefault(value['Entry Name'], '--');\r\n cipher.login.username = this.getValueOrDefault(value['User ID']);\r\n cipher.login.password = this.getValueOrDefault(value.Password);\r\n cipher.login.uris = this.makeUriArray(value.URL);\r\n\r\n if (value.__parsed_extra != null && value.__parsed_extra.length > 0) {\r\n value.__parsed_extra.forEach((extra: string) => {\r\n if (!this.isNullOrWhitespace(extra)) {\r\n cipher.notes += ('\\n' + extra);\r\n }\r\n });\r\n }\r\n\r\n const fieldsJson = !this.isNullOrWhitespace(value['Extra Fields']) ?\r\n JSON.parse(value['Extra Fields']) : null;\r\n const fields = fieldsJson != null && fieldsJson.extraFields != null &&\r\n fieldsJson.extraFields.length > 0 ? fieldsJson.extraFields.map((fieldJson: string) => {\r\n try {\r\n return JSON.parse(fieldJson);\r\n } catch { }\r\n return null;\r\n }) : null;\r\n if (fields != null) {\r\n fields.forEach((f: any) => {\r\n if (f != null) {\r\n this.processKvp(cipher, f.name, f.data);\r\n }\r\n });\r\n }\r\n\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class PasswordAgentCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, false);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n let newVersion = true;\r\n results.forEach((value) => {\r\n if (value.length !== 5 && value.length < 9) {\r\n return;\r\n }\r\n const altFormat = value.length === 10 && value[0] === '0';\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value[altFormat ? 1 : 0], '--');\r\n cipher.login.username = this.getValueOrDefault(value[altFormat ? 2 : 1]);\r\n cipher.login.password = this.getValueOrDefault(value[altFormat ? 3 : 2]);\r\n if (value.length === 5) {\r\n newVersion = false;\r\n cipher.notes = this.getValueOrDefault(value[4]);\r\n cipher.login.uris = this.makeUriArray(value[3]);\r\n } else {\r\n const folder = this.getValueOrDefault(value[altFormat ? 9 : 8], '(None)');\r\n let folderName = folder !== '(None)' ? folder.split('\\\\').join('/') : null;\r\n if (folderName != null) {\r\n folderName = folder.split(' > ').join('/');\r\n folderName = folder.split('>').join('/');\r\n }\r\n this.processFolder(result, folderName);\r\n cipher.notes = this.getValueOrDefault(value[altFormat ? 5 : 3]);\r\n cipher.login.uris = this.makeUriArray(value[4]);\r\n }\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (newVersion && this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CardView } from '../models/view/cardView';\r\nimport { FolderView } from '../models/view/folderView';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\n\r\nexport class PasswordBossJsonImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = JSON.parse(data);\r\n if (results == null || results.items == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const foldersMap = new Map();\r\n results.folders.forEach((value: any) => {\r\n foldersMap.set(value.id, value.name);\r\n });\r\n const foldersIndexMap = new Map();\r\n foldersMap.forEach((val, key) => {\r\n foldersIndexMap.set(key, result.folders.length);\r\n const f = new FolderView();\r\n f.name = val;\r\n result.folders.push(f);\r\n });\r\n\r\n results.items.forEach((value: any) => {\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value.name, '--');\r\n cipher.login.uris = this.makeUriArray(value.login_url);\r\n\r\n if (value.folder != null && foldersIndexMap.has(value.folder)) {\r\n result.folderRelationships.push([result.ciphers.length, foldersIndexMap.get(value.folder)]);\r\n }\r\n\r\n if (value.identifiers == null) {\r\n return;\r\n }\r\n\r\n if (!this.isNullOrWhitespace(value.identifiers.notes)) {\r\n cipher.notes = value.identifiers.notes.split('\\\\r\\\\n').join('\\n').split('\\\\n').join('\\n');\r\n }\r\n\r\n if (value.type === 'CreditCard') {\r\n cipher.card = new CardView();\r\n cipher.type = CipherType.Card;\r\n }\r\n\r\n for (const property in value.identifiers) {\r\n if (!value.identifiers.hasOwnProperty(property)) {\r\n continue;\r\n }\r\n const valObj = value.identifiers[property];\r\n const val = valObj != null ? valObj.toString() : null;\r\n if (this.isNullOrWhitespace(val) || property === 'notes' || property === 'ignoreItemInSecurityScore') {\r\n continue;\r\n }\r\n\r\n if (property === 'custom_fields') {\r\n valObj.forEach((cf: any) => {\r\n this.processKvp(cipher, cf.name, cf.value);\r\n });\r\n continue;\r\n }\r\n\r\n if (cipher.type === CipherType.Card) {\r\n if (property === 'cardNumber') {\r\n cipher.card.number = val;\r\n cipher.card.brand = this.getCardBrand(val);\r\n continue;\r\n } else if (property === 'nameOnCard') {\r\n cipher.card.cardholderName = val;\r\n continue;\r\n } else if (property === 'security_code') {\r\n cipher.card.code = val;\r\n continue;\r\n } else if (property === 'expires') {\r\n try {\r\n const expDate = new Date(val);\r\n cipher.card.expYear = expDate.getFullYear().toString();\r\n cipher.card.expMonth = (expDate.getMonth() + 1).toString();\r\n } catch { }\r\n continue;\r\n } else if (property === 'cardType') {\r\n continue;\r\n }\r\n } else {\r\n if ((property === 'username' || property === 'email') &&\r\n this.isNullOrWhitespace(cipher.login.username)) {\r\n cipher.login.username = val;\r\n continue;\r\n } else if (property === 'password') {\r\n cipher.login.password = val;\r\n continue;\r\n } else if (property === 'totp') {\r\n cipher.login.totp = val;\r\n continue;\r\n } else if ((cipher.login.uris == null || cipher.login.uris.length === 0) &&\r\n this.uriFieldNames.indexOf(property) > -1) {\r\n cipher.login.uris = this.makeUriArray(val);\r\n continue;\r\n }\r\n }\r\n\r\n this.processKvp(cipher, property, val);\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class PasswordDragonXmlImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const doc = this.parseXml(data);\r\n if (doc == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const records = doc.querySelectorAll('PasswordManager > record');\r\n Array.from(records).forEach((record) => {\r\n const category = this.querySelectorDirectChild(record, 'Category');\r\n const categoryText = category != null && !this.isNullOrWhitespace(category.textContent) &&\r\n category.textContent !== 'Unfiled' ? category.textContent : null;\r\n this.processFolder(result, categoryText);\r\n\r\n const accountName = this.querySelectorDirectChild(record, 'Account-Name');\r\n const userId = this.querySelectorDirectChild(record, 'User-Id');\r\n const password = this.querySelectorDirectChild(record, 'Password');\r\n const url = this.querySelectorDirectChild(record, 'URL');\r\n const notes = this.querySelectorDirectChild(record, 'Notes');\r\n const cipher = this.initLoginCipher();\r\n cipher.name = accountName != null ? this.getValueOrDefault(accountName.textContent, '--') : '--';\r\n cipher.notes = notes != null ? this.getValueOrDefault(notes.textContent) : '';\r\n cipher.login.username = userId != null ? this.getValueOrDefault(userId.textContent) : null;\r\n cipher.login.password = password != null ? this.getValueOrDefault(password.textContent) : null;\r\n cipher.login.uris = url != null ? this.makeUriArray(url.textContent) : null;\r\n\r\n const attributes: string[] = [];\r\n for (let i = 1; i <= 10; i++) {\r\n attributes.push('Attribute-' + i);\r\n }\r\n\r\n this.querySelectorAllDirectChild(record, attributes.join(',')).forEach((attr) => {\r\n if (this.isNullOrWhitespace(attr.textContent) || attr.textContent === 'null') {\r\n return;\r\n }\r\n this.processKvp(cipher, attr.tagName, attr.textContent);\r\n });\r\n\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class PasswordSafeXmlImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const doc = this.parseXml(data);\r\n if (doc == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const passwordSafe = doc.querySelector('passwordsafe');\r\n if (passwordSafe == null) {\r\n result.errorMessage = 'Missing `passwordsafe` node.';\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const notesDelimiter = passwordSafe.getAttribute('delimiter');\r\n const entries = doc.querySelectorAll('passwordsafe > entry');\r\n Array.from(entries).forEach((entry) => {\r\n const group = this.querySelectorDirectChild(entry, 'group');\r\n const groupText = group != null && !this.isNullOrWhitespace(group.textContent) ?\r\n group.textContent.split('.').join('/') : null;\r\n this.processFolder(result, groupText);\r\n\r\n const title = this.querySelectorDirectChild(entry, 'title');\r\n const username = this.querySelectorDirectChild(entry, 'username');\r\n const email = this.querySelectorDirectChild(entry, 'email');\r\n const password = this.querySelectorDirectChild(entry, 'password');\r\n const url = this.querySelectorDirectChild(entry, 'url');\r\n const notes = this.querySelectorDirectChild(entry, 'notes');\r\n const cipher = this.initLoginCipher();\r\n cipher.name = title != null ? this.getValueOrDefault(title.textContent, '--') : '--';\r\n cipher.notes = notes != null ?\r\n this.getValueOrDefault(notes.textContent, '').split(notesDelimiter).join('\\n') : null;\r\n cipher.login.username = username != null ? this.getValueOrDefault(username.textContent) : null;\r\n cipher.login.password = password != null ? this.getValueOrDefault(password.textContent) : null;\r\n cipher.login.uris = url != null ? this.makeUriArray(url.textContent) : null;\r\n\r\n if (this.isNullOrWhitespace(cipher.login.username) && email != null) {\r\n cipher.login.username = this.getValueOrDefault(email.textContent);\r\n } else if (email != null && !this.isNullOrWhitespace(email.textContent)) {\r\n cipher.notes = this.isNullOrWhitespace(cipher.notes) ? 'Email: ' + email.textContent\r\n : (cipher.notes + '\\n' + 'Email: ' + email.textContent);\r\n }\r\n\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class PasswordWalletTxtImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, false);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (value.length < 1) {\r\n return;\r\n }\r\n if (value.length > 5) {\r\n this.processFolder(result, value[5]);\r\n }\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value[0], '--');\r\n if (value.length > 4) {\r\n cipher.notes = this.getValueOrDefault(value[4], '').split('¬').join('\\n');\r\n }\r\n if (value.length > 2) {\r\n cipher.login.username = this.getValueOrDefault(value[2]);\r\n }\r\n if (value.length > 3) {\r\n cipher.login.password = this.getValueOrDefault(value[3]);\r\n }\r\n if (value.length > 1) {\r\n cipher.login.uris = this.makeUriArray(value[1]);\r\n }\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CardView } from '../models/view/cardView';\r\n\r\nexport class RememBearCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (value.trash === 'true') {\r\n return;\r\n }\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value.name);\r\n cipher.notes = this.getValueOrDefault(value.notes);\r\n if (value.type === 'LoginItem') {\r\n cipher.login.uris = this.makeUriArray(value.website);\r\n cipher.login.password = this.getValueOrDefault(value.password);\r\n cipher.login.username = this.getValueOrDefault(value.username);\r\n } else if (value.type === 'CreditCardItem') {\r\n cipher.type = CipherType.Card;\r\n cipher.card = new CardView();\r\n cipher.card.cardholderName = this.getValueOrDefault(value.cardholder);\r\n cipher.card.number = this.getValueOrDefault(value.number);\r\n cipher.card.brand = this.getCardBrand(cipher.card.number);\r\n cipher.card.code = this.getValueOrDefault(value.verification);\r\n\r\n try {\r\n const expMonth = this.getValueOrDefault(value.expiryMonth);\r\n if (expMonth != null) {\r\n const expMonthNumber = parseInt(expMonth, null);\r\n if (expMonthNumber != null && expMonthNumber >= 1 && expMonthNumber <= 12) {\r\n cipher.card.expMonth = expMonthNumber.toString();\r\n }\r\n }\r\n } catch { }\r\n try {\r\n const expYear = this.getValueOrDefault(value.expiryYear);\r\n if (expYear != null) {\r\n const expYearNumber = parseInt(expYear, null);\r\n if (expYearNumber != null) {\r\n cipher.card.expYear = expYearNumber.toString();\r\n }\r\n }\r\n } catch { }\r\n\r\n const pin = this.getValueOrDefault(value.pin);\r\n if (pin != null) {\r\n this.processKvp(cipher, 'PIN', pin);\r\n }\r\n const zip = this.getValueOrDefault(value.zipCode);\r\n if (zip != null) {\r\n this.processKvp(cipher, 'Zip Code', zip);\r\n }\r\n }\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class RoboFormCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n let i = 1;\r\n results.forEach((value) => {\r\n const folder = !this.isNullOrWhitespace(value.Folder) && value.Folder.startsWith('/') ?\r\n value.Folder.replace('/', '') : value.Folder;\r\n const folderName = !this.isNullOrWhitespace(folder) ? folder : null;\r\n this.processFolder(result, folderName);\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value.Note);\r\n cipher.name = this.getValueOrDefault(value.Name, '--');\r\n cipher.login.username = this.getValueOrDefault(value.Login);\r\n cipher.login.password = this.getValueOrDefault(value.Pwd);\r\n cipher.login.uris = this.makeUriArray(value.Url);\r\n\r\n if (!this.isNullOrWhitespace(value.Rf_fields)) {\r\n let fields: string[] = [value.Rf_fields];\r\n if (value.__parsed_extra != null && value.__parsed_extra.length > 0) {\r\n fields = fields.concat(value.__parsed_extra);\r\n }\r\n fields.forEach((field: string) => {\r\n const parts = field.split(':');\r\n if (parts.length < 3) {\r\n return;\r\n }\r\n const key = parts[0] === '-no-name-' ? null : parts[0];\r\n const val = parts.length === 4 && parts[2] === 'rck' ? parts[1] : parts[2];\r\n this.processKvp(cipher, key, val);\r\n });\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n\r\n if (i === results.length && cipher.name === '--' && this.isNullOrWhitespace(cipher.login.password)) {\r\n return;\r\n }\r\n\r\n result.ciphers.push(cipher);\r\n i++;\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { FolderView } from '../models/view/folderView';\r\nimport { SecureNoteView } from '../models/view/secureNoteView';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { SecureNoteType } from '../enums/secureNoteType';\r\n\r\nexport class SafeInCloudXmlImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const doc = this.parseXml(data);\r\n if (doc == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const db = doc.querySelector('database');\r\n if (db == null) {\r\n result.errorMessage = 'Missing `database` node.';\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const foldersMap = new Map();\r\n\r\n Array.from(doc.querySelectorAll('database > label')).forEach((labelEl) => {\r\n const name = labelEl.getAttribute('name');\r\n const id = labelEl.getAttribute('id');\r\n if (!this.isNullOrWhitespace(name) && !this.isNullOrWhitespace(id)) {\r\n foldersMap.set(id, result.folders.length);\r\n const folder = new FolderView();\r\n folder.name = name;\r\n result.folders.push(folder);\r\n }\r\n });\r\n\r\n Array.from(doc.querySelectorAll('database > card')).forEach((cardEl) => {\r\n if (cardEl.getAttribute('template') === 'true') {\r\n return;\r\n }\r\n\r\n const labelIdEl = this.querySelectorDirectChild(cardEl, 'label_id');\r\n if (labelIdEl != null) {\r\n const labelId = labelIdEl.textContent;\r\n if (!this.isNullOrWhitespace(labelId) && foldersMap.has(labelId)) {\r\n result.folderRelationships.push([result.ciphers.length, foldersMap.get(labelId)]);\r\n }\r\n }\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(cardEl.getAttribute('title'), '--');\r\n\r\n const cardType = cardEl.getAttribute('type');\r\n if (cardType === 'note') {\r\n cipher.type = CipherType.SecureNote;\r\n cipher.secureNote = new SecureNoteView();\r\n cipher.secureNote.type = SecureNoteType.Generic;\r\n } else {\r\n Array.from(this.querySelectorAllDirectChild(cardEl, 'field')).forEach((fieldEl) => {\r\n const text = fieldEl.textContent;\r\n if (this.isNullOrWhitespace(text)) {\r\n return;\r\n }\r\n const name = fieldEl.getAttribute('name');\r\n const fieldType = this.getValueOrDefault(fieldEl.getAttribute('type'), '').toLowerCase();\r\n if (fieldType === 'login') {\r\n cipher.login.username = text;\r\n } else if (fieldType === 'password') {\r\n cipher.login.password = text;\r\n } else if (fieldType === 'one_time_password') {\r\n cipher.login.totp = text;\r\n } else if (fieldType === 'notes') {\r\n cipher.notes += (text + '\\n');\r\n } else if (fieldType === 'weblogin' || fieldType === 'website') {\r\n cipher.login.uris = this.makeUriArray(text);\r\n } else {\r\n this.processKvp(cipher, name, text);\r\n }\r\n });\r\n }\r\n\r\n Array.from(this.querySelectorAllDirectChild(cardEl, 'notes')).forEach((notesEl) => {\r\n cipher.notes += (notesEl.textContent + '\\n');\r\n });\r\n\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class SaferPassCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(this.nameFromUrl(value.url), '--');\r\n cipher.notes = this.getValueOrDefault(value.notes);\r\n cipher.login.username = this.getValueOrDefault(value.username);\r\n cipher.login.password = this.getValueOrDefault(value.password);\r\n cipher.login.uris = this.makeUriArray(value.url);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class SecureSafeCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value.Title);\r\n cipher.notes = this.getValueOrDefault(value.Comment);\r\n cipher.login.uris = this.makeUriArray(value.Url);\r\n cipher.login.password = this.getValueOrDefault(value.Password);\r\n cipher.login.username = this.getValueOrDefault(value.Username);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\nimport { CipherView } from '../models/view/cipherView';\r\n\r\nexport class SplashIdCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, false);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (value.length < 3) {\r\n return;\r\n }\r\n\r\n this.processFolder(result, this.getValueOrDefault(value[value.length - 1]));\r\n const cipher = this.initLoginCipher();\r\n cipher.notes = this.getValueOrDefault(value[value.length - 2], '');\r\n cipher.name = this.getValueOrDefault(value[1], '--');\r\n\r\n if (value[0] === 'Web Logins' || value[0] === 'Servers' || value[0] === 'Email Accounts') {\r\n cipher.login.username = this.getValueOrDefault(value[2]);\r\n cipher.login.password = this.getValueOrDefault(value[3]);\r\n cipher.login.uris = this.makeUriArray(value[4]);\r\n this.parseFieldsToNotes(cipher, 5, value);\r\n } else {\r\n this.parseFieldsToNotes(cipher, 2, value);\r\n }\r\n\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n private parseFieldsToNotes(cipher: CipherView, startIndex: number, value: any) {\r\n // last 3 rows do not get parsed\r\n for (let i = startIndex; i < value.length - 3; i++) {\r\n if (this.isNullOrWhitespace(value[i])) {\r\n continue;\r\n }\r\n cipher.notes += (value[i] + '\\n');\r\n }\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class StickyPasswordXmlImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const doc = this.parseXml(data);\r\n if (doc == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n const loginNodes = doc.querySelectorAll('root > Database > Logins > Login');\r\n Array.from(loginNodes).forEach((loginNode) => {\r\n const accountId = loginNode.getAttribute('ID');\r\n if (this.isNullOrWhitespace(accountId)) {\r\n return;\r\n }\r\n\r\n const usernameText = loginNode.getAttribute('Name');\r\n const passwordText = loginNode.getAttribute('Password');\r\n let titleText: string = null;\r\n let linkText: string = null;\r\n let notesText: string = null;\r\n let groupId: string = null;\r\n let groupText: string = null;\r\n\r\n const accountLogin = doc.querySelector('root > Database > Accounts > Account > ' +\r\n 'LoginLinks > Login[SourceLoginID=\"' + accountId + '\"]');\r\n if (accountLogin != null) {\r\n const account = accountLogin.parentElement.parentElement;\r\n if (account != null) {\r\n titleText = account.getAttribute('Name');\r\n linkText = account.getAttribute('Link');\r\n groupId = account.getAttribute('ParentID');\r\n notesText = account.getAttribute('Comments');\r\n if (!this.isNullOrWhitespace(notesText)) {\r\n notesText = notesText.split('/n').join('\\n');\r\n }\r\n }\r\n }\r\n\r\n if (!this.isNullOrWhitespace(groupId)) {\r\n groupText = this.buildGroupText(doc, groupId, '');\r\n this.processFolder(result, groupText);\r\n }\r\n\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(titleText, '--');\r\n cipher.notes = this.getValueOrDefault(notesText);\r\n cipher.login.username = this.getValueOrDefault(usernameText);\r\n cipher.login.password = this.getValueOrDefault(passwordText);\r\n cipher.login.uris = this.makeUriArray(linkText);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n buildGroupText(doc: Document, groupId: string, groupText: string): string {\r\n const group = doc.querySelector('root > Database > Groups > Group[ID=\"' + groupId + '\"]');\r\n if (group == null) {\r\n return groupText;\r\n }\r\n if (!this.isNullOrWhitespace(groupText)) {\r\n groupText = '/' + groupText;\r\n }\r\n groupText = group.getAttribute('Name') + groupText;\r\n return this.buildGroupText(doc, group.getAttribute('ParentID'), groupText);\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nimport { CardView } from '../models/view/cardView';\r\nimport { SecureNoteView } from '../models/view/secureNoteView';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { SecureNoteType } from '../enums/secureNoteType';\r\n\r\nconst PropertiesToIgnore = ['kind', 'autologin', 'favorite', 'hexcolor', 'protectedwithpassword', 'subdomainonly',\r\n 'type', 'tk_export_version', 'note', 'title', 'document_content',\r\n];\r\n\r\nexport class TrueKeyCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n const cipher = this.initLoginCipher();\r\n cipher.favorite = this.getValueOrDefault(value.favorite, '').toLowerCase() === 'true';\r\n cipher.name = this.getValueOrDefault(value.name, '--');\r\n cipher.notes = this.getValueOrDefault(value.memo, '');\r\n cipher.login.username = this.getValueOrDefault(value.login);\r\n cipher.login.password = this.getValueOrDefault(value.password);\r\n cipher.login.uris = this.makeUriArray(value.url);\r\n\r\n if (value.kind !== 'login') {\r\n cipher.name = this.getValueOrDefault(value.title, '--');\r\n cipher.notes = this.getValueOrDefault(value.note, '');\r\n }\r\n\r\n if (value.kind === 'cc') {\r\n cipher.type = CipherType.Card;\r\n cipher.card = new CardView();\r\n cipher.card.cardholderName = this.getValueOrDefault(value.cardholder);\r\n cipher.card.number = this.getValueOrDefault(value.number);\r\n cipher.card.brand = this.getCardBrand(cipher.card.number);\r\n if (!this.isNullOrWhitespace(value.expiryDate)) {\r\n try {\r\n const expDate = new Date(value.expiryDate);\r\n cipher.card.expYear = expDate.getFullYear().toString();\r\n cipher.card.expMonth = (expDate.getMonth() + 1).toString();\r\n } catch { }\r\n }\r\n } else if (value.kind !== 'login') {\r\n cipher.type = CipherType.SecureNote;\r\n cipher.secureNote = new SecureNoteView();\r\n cipher.secureNote.type = SecureNoteType.Generic;\r\n if (!this.isNullOrWhitespace(cipher.notes)) {\r\n cipher.notes = this.getValueOrDefault(value.document_content, '');\r\n }\r\n for (const property in value) {\r\n if (value.hasOwnProperty(property) && PropertiesToIgnore.indexOf(property.toLowerCase()) < 0 &&\r\n !this.isNullOrWhitespace(value[property])) {\r\n this.processKvp(cipher, property, value[property]);\r\n }\r\n }\r\n }\r\n\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class UpmCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, false);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (value.length !== 5) {\r\n return;\r\n }\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value[0], '--');\r\n cipher.notes = this.getValueOrDefault(value[4]);\r\n cipher.login.username = this.getValueOrDefault(value[1]);\r\n cipher.login.password = this.getValueOrDefault(value[2]);\r\n cipher.login.uris = this.makeUriArray(value[3]);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\n\r\nexport class YotiCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n const cipher = this.initLoginCipher();\r\n cipher.name = this.getValueOrDefault(value.Name, '--');\r\n cipher.login.username = this.getValueOrDefault(value['User name']);\r\n cipher.login.password = this.getValueOrDefault(value.Password);\r\n cipher.login.uris = this.makeUriArray(value.URL);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n}\r\n","import { BaseImporter } from './baseImporter';\r\nimport { Importer } from './importer';\r\n\r\nimport { ImportResult } from '../models/domain/importResult';\r\nimport { CipherView } from '../models/view';\r\n\r\nexport class ZohoVaultCsvImporter extends BaseImporter implements Importer {\r\n parse(data: string): ImportResult {\r\n const result = new ImportResult();\r\n const results = this.parseCsv(data, true);\r\n if (results == null) {\r\n result.success = false;\r\n return result;\r\n }\r\n\r\n results.forEach((value) => {\r\n if (this.isNullOrWhitespace(value['Password Name']) && this.isNullOrWhitespace(value['Secret Name'])) {\r\n return;\r\n }\r\n this.processFolder(result, this.getValueOrDefault(value.ChamberName));\r\n const cipher = this.initLoginCipher();\r\n cipher.favorite = this.getValueOrDefault(value.Favorite, '0') === '1';\r\n cipher.notes = this.getValueOrDefault(value.Notes);\r\n cipher.name = this.getValueOrDefault(\r\n value['Password Name'], this.getValueOrDefault(value['Secret Name'], '--'));\r\n cipher.login.uris = this.makeUriArray(\r\n this.getValueOrDefault(value['Password URL'], this.getValueOrDefault(value['Secret URL'])));\r\n this.parseData(cipher, value.SecretData);\r\n this.parseData(cipher, value.CustomData);\r\n this.convertToNoteIfNeeded(cipher);\r\n this.cleanupCipher(cipher);\r\n result.ciphers.push(cipher);\r\n });\r\n\r\n if (this.organization) {\r\n this.moveFoldersToCollections(result);\r\n }\r\n\r\n result.success = true;\r\n return result;\r\n }\r\n\r\n private parseData(cipher: CipherView, data: string) {\r\n if (this.isNullOrWhitespace(data)) {\r\n return;\r\n }\r\n const dataLines = this.splitNewLine(data);\r\n dataLines.forEach((line) => {\r\n const delimPosition = line.indexOf(':');\r\n if (delimPosition < 0) {\r\n return;\r\n }\r\n const field = line.substring(0, delimPosition);\r\n const value = line.length > delimPosition ? line.substring(delimPosition + 1) : null;\r\n if (this.isNullOrWhitespace(field) || this.isNullOrWhitespace(value) || field === 'SecretType') {\r\n return;\r\n }\r\n const fieldLower = field.toLowerCase();\r\n if (cipher.login.username == null && this.usernameFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.username = value;\r\n } else if (cipher.login.password == null && this.passwordFieldNames.indexOf(fieldLower) > -1) {\r\n cipher.login.password = value;\r\n } else {\r\n this.processKvp(cipher, field, value);\r\n }\r\n });\r\n }\r\n}\r\n","import * as signalR from '@microsoft/signalr';\r\nimport * as signalRMsgPack from '@microsoft/signalr-protocol-msgpack';\r\n\r\nimport { NotificationType } from '../enums/notificationType';\r\n\r\nimport { ApiService } from '../abstractions/api.service';\r\nimport { AppIdService } from '../abstractions/appId.service';\r\nimport { EnvironmentService } from '../abstractions/environment.service';\r\nimport { NotificationsService as NotificationsServiceAbstraction } from '../abstractions/notifications.service';\r\nimport { SyncService } from '../abstractions/sync.service';\r\nimport { UserService } from '../abstractions/user.service';\r\nimport { VaultTimeoutService } from '../abstractions/vaultTimeout.service';\r\n\r\nimport {\r\n NotificationResponse,\r\n SyncCipherNotification,\r\n SyncFolderNotification,\r\n} from '../models/response/notificationResponse';\r\n\r\nexport class NotificationsService implements NotificationsServiceAbstraction {\r\n private signalrConnection: signalR.HubConnection;\r\n private url: string;\r\n private connected = false;\r\n private inited = false;\r\n private inactive = false;\r\n private reconnectTimer: any = null;\r\n\r\n constructor(private userService: UserService, private syncService: SyncService,\r\n private appIdService: AppIdService, private apiService: ApiService,\r\n private vaultTimeoutService: VaultTimeoutService, private logoutCallback: () => Promise) { }\r\n\r\n async init(environmentService: EnvironmentService): Promise {\r\n this.inited = false;\r\n this.url = 'https://notifications.bitwarden.com';\r\n if (environmentService.notificationsUrl != null) {\r\n this.url = environmentService.notificationsUrl;\r\n } else if (environmentService.baseUrl != null) {\r\n this.url = environmentService.baseUrl + '/notifications';\r\n }\r\n\r\n // Set notifications server URL to `https://-` to effectively disable communication\r\n // with the notifications server from the client app\r\n if (this.url === 'https://-') {\r\n return;\r\n }\r\n\r\n if (this.signalrConnection != null) {\r\n this.signalrConnection.off('ReceiveMessage');\r\n this.signalrConnection.off('Heartbeat');\r\n await this.signalrConnection.stop();\r\n this.connected = false;\r\n this.signalrConnection = null;\r\n }\r\n\r\n this.signalrConnection = new signalR.HubConnectionBuilder()\r\n .withUrl(this.url + '/hub', {\r\n accessTokenFactory: () => this.apiService.getActiveBearerToken(),\r\n skipNegotiation: true,\r\n transport: signalR.HttpTransportType.WebSockets,\r\n })\r\n .withHubProtocol(new signalRMsgPack.MessagePackHubProtocol())\r\n // .configureLogging(signalR.LogLevel.Trace)\r\n .build();\r\n\r\n this.signalrConnection.on('ReceiveMessage',\r\n (data: any) => this.processNotification(new NotificationResponse(data)));\r\n this.signalrConnection.on('Heartbeat',\r\n (data: any) => { /*console.log('Heartbeat!');*/ });\r\n this.signalrConnection.onclose(() => {\r\n this.connected = false;\r\n this.reconnect(true);\r\n });\r\n this.inited = true;\r\n if (await this.isAuthedAndUnlocked()) {\r\n await this.reconnect(false);\r\n }\r\n }\r\n\r\n async updateConnection(sync = false): Promise {\r\n if (!this.inited) {\r\n return;\r\n }\r\n try {\r\n if (await this.isAuthedAndUnlocked()) {\r\n await this.reconnect(sync);\r\n } else {\r\n await this.signalrConnection.stop();\r\n }\r\n } catch (e) {\r\n // tslint:disable-next-line\r\n console.error(e.toString());\r\n }\r\n }\r\n\r\n async reconnectFromActivity(): Promise {\r\n this.inactive = false;\r\n if (this.inited && !this.connected) {\r\n await this.reconnect(true);\r\n }\r\n }\r\n\r\n async disconnectFromInactivity(): Promise {\r\n this.inactive = true;\r\n if (this.inited && this.connected) {\r\n await this.signalrConnection.stop();\r\n }\r\n }\r\n\r\n private async processNotification(notification: NotificationResponse) {\r\n const appId = await this.appIdService.getAppId();\r\n if (notification == null || notification.contextId === appId) {\r\n return;\r\n }\r\n\r\n const isAuthenticated = await this.userService.isAuthenticated();\r\n const payloadUserId = notification.payload.userId || notification.payload.UserId;\r\n const myUserId = await this.userService.getUserId();\r\n if (isAuthenticated && payloadUserId != null && payloadUserId !== myUserId) {\r\n return;\r\n }\r\n\r\n switch (notification.type) {\r\n case NotificationType.SyncCipherCreate:\r\n case NotificationType.SyncCipherUpdate:\r\n await this.syncService.syncUpsertCipher(notification.payload as SyncCipherNotification,\r\n notification.type === NotificationType.SyncCipherUpdate);\r\n break;\r\n case NotificationType.SyncCipherDelete:\r\n case NotificationType.SyncLoginDelete:\r\n await this.syncService.syncDeleteCipher(notification.payload as SyncCipherNotification);\r\n break;\r\n case NotificationType.SyncFolderCreate:\r\n case NotificationType.SyncFolderUpdate:\r\n await this.syncService.syncUpsertFolder(notification.payload as SyncFolderNotification,\r\n notification.type === NotificationType.SyncFolderUpdate);\r\n break;\r\n case NotificationType.SyncFolderDelete:\r\n await this.syncService.syncDeleteFolder(notification.payload as SyncFolderNotification);\r\n break;\r\n case NotificationType.SyncVault:\r\n case NotificationType.SyncCiphers:\r\n case NotificationType.SyncSettings:\r\n if (isAuthenticated) {\r\n await this.syncService.fullSync(false);\r\n }\r\n break;\r\n case NotificationType.SyncOrgKeys:\r\n if (isAuthenticated) {\r\n await this.apiService.refreshIdentityToken();\r\n await this.syncService.fullSync(true);\r\n // Stop so a reconnect can be made\r\n await this.signalrConnection.stop();\r\n }\r\n break;\r\n case NotificationType.LogOut:\r\n if (isAuthenticated) {\r\n this.logoutCallback();\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n private async reconnect(sync: boolean) {\r\n if (this.reconnectTimer != null) {\r\n clearTimeout(this.reconnectTimer);\r\n this.reconnectTimer = null;\r\n }\r\n if (this.connected || !this.inited || this.inactive) {\r\n return;\r\n }\r\n const authedAndUnlocked = await this.isAuthedAndUnlocked();\r\n if (!authedAndUnlocked) {\r\n return;\r\n }\r\n\r\n try {\r\n await this.signalrConnection.start();\r\n this.connected = true;\r\n if (sync) {\r\n await this.syncService.fullSync(false);\r\n }\r\n } catch { }\r\n\r\n if (!this.connected) {\r\n this.reconnectTimer = setTimeout(() => this.reconnect(sync), this.random(120000, 300000));\r\n }\r\n }\r\n\r\n private async isAuthedAndUnlocked() {\r\n if (await this.userService.isAuthenticated()) {\r\n const locked = await this.vaultTimeoutService.isLocked();\r\n return !locked;\r\n }\r\n return false;\r\n }\r\n\r\n private random(min: number, max: number) {\r\n min = Math.ceil(min);\r\n max = Math.floor(max);\r\n return Math.floor(Math.random() * (max - min + 1)) + min;\r\n }\r\n}\r\n","import { BaseResponse } from './baseResponse';\r\n\r\nimport { NotificationType } from '../../enums/notificationType';\r\n\r\nexport class NotificationResponse extends BaseResponse {\r\n contextId: string;\r\n type: NotificationType;\r\n payload: any;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.contextId = this.getResponseProperty('ContextId');\r\n this.type = this.getResponseProperty('Type');\r\n\r\n const payload = this.getResponseProperty('Payload');\r\n switch (this.type) {\r\n case NotificationType.SyncCipherCreate:\r\n case NotificationType.SyncCipherDelete:\r\n case NotificationType.SyncCipherUpdate:\r\n case NotificationType.SyncLoginDelete:\r\n this.payload = new SyncCipherNotification(payload);\r\n break;\r\n case NotificationType.SyncFolderCreate:\r\n case NotificationType.SyncFolderDelete:\r\n case NotificationType.SyncFolderUpdate:\r\n this.payload = new SyncFolderNotification(payload);\r\n break;\r\n case NotificationType.SyncVault:\r\n case NotificationType.SyncCiphers:\r\n case NotificationType.SyncOrgKeys:\r\n case NotificationType.SyncSettings:\r\n case NotificationType.LogOut:\r\n this.payload = new UserNotification(payload);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n}\r\n\r\nexport class SyncCipherNotification extends BaseResponse {\r\n id: string;\r\n userId: string;\r\n organizationId: string;\r\n collectionIds: string[];\r\n revisionDate: Date;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.userId = this.getResponseProperty('UserId');\r\n this.organizationId = this.getResponseProperty('OrganizationId');\r\n this.collectionIds = this.getResponseProperty('CollectionIds');\r\n this.revisionDate = new Date(this.getResponseProperty('RevisionDate'));\r\n }\r\n}\r\n\r\nexport class SyncFolderNotification extends BaseResponse {\r\n id: string;\r\n userId: string;\r\n revisionDate: Date;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.id = this.getResponseProperty('Id');\r\n this.userId = this.getResponseProperty('UserId');\r\n this.revisionDate = new Date(this.getResponseProperty('RevisionDate'));\r\n }\r\n}\r\n\r\nexport class UserNotification extends BaseResponse {\r\n userId: string;\r\n date: Date;\r\n\r\n constructor(response: any) {\r\n super(response);\r\n this.userId = this.getResponseProperty('UserId');\r\n this.date = new Date(this.getResponseProperty('Date'));\r\n }\r\n}\r\n","import { PolicyService as PolicyServiceAbstraction } from '../abstractions/policy.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\n\r\nimport { PolicyData } from '../models/data/policyData';\r\n\r\nimport { MasterPasswordPolicyOptions } from '../models/domain/masterPasswordPolicyOptions';\r\nimport { Policy } from '../models/domain/policy';\r\n\r\nimport { PolicyType } from '../enums/policyType';\r\n\r\nconst Keys = {\r\n policiesPrefix: 'policies_',\r\n};\r\n\r\nexport class PolicyService implements PolicyServiceAbstraction {\r\n policyCache: Policy[];\r\n\r\n constructor(private userService: UserService, private storageService: StorageService) {\r\n }\r\n\r\n clearCache(): void {\r\n this.policyCache = null;\r\n }\r\n\r\n async getAll(type?: PolicyType): Promise {\r\n if (this.policyCache == null) {\r\n const userId = await this.userService.getUserId();\r\n const policies = await this.storageService.get<{ [id: string]: PolicyData; }>(\r\n Keys.policiesPrefix + userId);\r\n const response: Policy[] = [];\r\n for (const id in policies) {\r\n if (policies.hasOwnProperty(id)) {\r\n response.push(new Policy(policies[id]));\r\n }\r\n }\r\n this.policyCache = response;\r\n }\r\n if (type != null) {\r\n return this.policyCache.filter((p) => p.type === type);\r\n } else {\r\n return this.policyCache;\r\n }\r\n }\r\n\r\n async replace(policies: { [id: string]: PolicyData; }): Promise {\r\n const userId = await this.userService.getUserId();\r\n await this.storageService.save(Keys.policiesPrefix + userId, policies);\r\n this.policyCache = null;\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.policiesPrefix + userId);\r\n this.policyCache = null;\r\n }\r\n\r\n async getMasterPasswordPolicyOptions(policies?: Policy[]): Promise {\r\n let enforcedOptions: MasterPasswordPolicyOptions = null;\r\n\r\n if (policies == null) {\r\n policies = await this.getAll(PolicyType.MasterPassword);\r\n } else {\r\n policies = policies.filter((p) => p.type === PolicyType.MasterPassword);\r\n }\r\n\r\n if (policies == null || policies.length === 0) {\r\n return enforcedOptions;\r\n }\r\n\r\n policies.forEach((currentPolicy) => {\r\n if (!currentPolicy.enabled || currentPolicy.data == null) {\r\n return;\r\n }\r\n\r\n if (enforcedOptions == null) {\r\n enforcedOptions = new MasterPasswordPolicyOptions();\r\n }\r\n\r\n if (currentPolicy.data.minComplexity != null\r\n && currentPolicy.data.minComplexity > enforcedOptions.minComplexity) {\r\n enforcedOptions.minComplexity = currentPolicy.data.minComplexity;\r\n }\r\n\r\n if (currentPolicy.data.minLength != null\r\n && currentPolicy.data.minLength > enforcedOptions.minLength) {\r\n enforcedOptions.minLength = currentPolicy.data.minLength;\r\n }\r\n\r\n if (currentPolicy.data.requireUpper) {\r\n enforcedOptions.requireUpper = true;\r\n }\r\n\r\n if (currentPolicy.data.requireLower) {\r\n enforcedOptions.requireLower = true;\r\n }\r\n\r\n if (currentPolicy.data.requireNumbers) {\r\n enforcedOptions.requireNumbers = true;\r\n }\r\n\r\n if (currentPolicy.data.requireSpecial) {\r\n enforcedOptions.requireSpecial = true;\r\n }\r\n });\r\n\r\n return enforcedOptions;\r\n }\r\n\r\n evaluateMasterPassword(passwordStrength: number, newPassword: string,\r\n enforcedPolicyOptions: MasterPasswordPolicyOptions): boolean {\r\n if (enforcedPolicyOptions == null) {\r\n return true;\r\n }\r\n\r\n if (enforcedPolicyOptions.minComplexity > 0 && enforcedPolicyOptions.minComplexity > passwordStrength) {\r\n return false;\r\n }\r\n\r\n if (enforcedPolicyOptions.minLength > 0 && enforcedPolicyOptions.minLength > newPassword.length) {\r\n return false;\r\n }\r\n\r\n if (enforcedPolicyOptions.requireUpper && newPassword.toLocaleLowerCase() === newPassword) {\r\n return false;\r\n }\r\n\r\n if (enforcedPolicyOptions.requireLower && newPassword.toLocaleUpperCase() === newPassword) {\r\n return false;\r\n }\r\n\r\n if (enforcedPolicyOptions.requireNumbers && !(/[0-9]/.test(newPassword))) {\r\n return false;\r\n }\r\n\r\n if (enforcedPolicyOptions.requireSpecial && !(/[!@#$%\\^&*]/g.test(newPassword))) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","import Domain from './domainBase';\r\n\r\nexport class MasterPasswordPolicyOptions extends Domain {\r\n minComplexity: number = 0;\r\n minLength: number = 0;\r\n requireUpper: boolean = false;\r\n requireLower: boolean = false;\r\n requireNumbers: boolean = false;\r\n requireSpecial: boolean = false;\r\n}\r\n","import * as lunr from 'lunr';\r\n\r\nimport { CipherView } from '../models/view/cipherView';\r\n\r\nimport { CipherService } from '../abstractions/cipher.service';\r\nimport { SearchService as SearchServiceAbstraction } from '../abstractions/search.service';\r\n\r\nimport { CipherType } from '../enums/cipherType';\r\nimport { FieldType } from '../enums/fieldType';\r\nimport { UriMatchType } from '../enums/uriMatchType';\r\n\r\nexport class SearchService implements SearchServiceAbstraction {\r\n private indexing = false;\r\n private index: lunr.Index = null;\r\n\r\n constructor(private cipherService: CipherService) {\r\n }\r\n\r\n clearIndex(): void {\r\n this.index = null;\r\n }\r\n\r\n isSearchable(query: string): boolean {\r\n const notSearchable = query == null || (this.index == null && query.length < 2) ||\r\n (this.index != null && query.length < 2 && query.indexOf('>') !== 0);\r\n return !notSearchable;\r\n }\r\n\r\n async indexCiphers(): Promise {\r\n if (this.indexing) {\r\n return;\r\n }\r\n // tslint:disable-next-line\r\n console.time('search indexing');\r\n this.indexing = true;\r\n this.index = null;\r\n const builder = new lunr.Builder();\r\n builder.ref('id');\r\n builder.field('shortid', { boost: 100, extractor: (c: CipherView) => c.id.substr(0, 8) });\r\n builder.field('name', { boost: 10 });\r\n builder.field('subtitle', {\r\n boost: 5,\r\n extractor: (c: CipherView) => {\r\n if (c.subTitle != null && c.type === CipherType.Card) {\r\n return c.subTitle.replace(/\\*/g, '');\r\n }\r\n return c.subTitle;\r\n },\r\n });\r\n builder.field('notes');\r\n builder.field('login.username', {\r\n extractor: (c: CipherView) => c.type === CipherType.Login && c.login != null ? c.login.username : null,\r\n });\r\n builder.field('login.uris', { boost: 2, extractor: (c: CipherView) => this.uriExtractor(c) });\r\n builder.field('fields', { extractor: (c: CipherView) => this.fieldExtractor(c, false) });\r\n builder.field('fields_joined', { extractor: (c: CipherView) => this.fieldExtractor(c, true) });\r\n builder.field('attachments', { extractor: (c: CipherView) => this.attachmentExtractor(c, false) });\r\n builder.field('attachments_joined',\r\n { extractor: (c: CipherView) => this.attachmentExtractor(c, true) });\r\n builder.field('organizationid', { extractor: (c: CipherView) => c.organizationId });\r\n const ciphers = await this.cipherService.getAllDecrypted();\r\n ciphers.forEach((c) => builder.add(c));\r\n this.index = builder.build();\r\n this.indexing = false;\r\n // tslint:disable-next-line\r\n console.timeEnd('search indexing');\r\n }\r\n\r\n async searchCiphers(query: string,\r\n filter: (((cipher: CipherView) => boolean) | (((cipher: CipherView) => boolean)[])) = null,\r\n ciphers: CipherView[] = null):\r\n Promise {\r\n const results: CipherView[] = [];\r\n if (query != null) {\r\n query = query.trim().toLowerCase();\r\n }\r\n if (query === '') {\r\n query = null;\r\n }\r\n\r\n if (ciphers == null) {\r\n ciphers = await this.cipherService.getAllDecrypted();\r\n }\r\n\r\n if (filter != null && Array.isArray(filter) && filter.length > 0) {\r\n ciphers = ciphers.filter((c) => filter.every((f) => f == null || f(c)));\r\n } else if (filter != null) {\r\n ciphers = ciphers.filter(filter as (cipher: CipherView) => boolean);\r\n }\r\n\r\n if (!this.isSearchable(query)) {\r\n return ciphers;\r\n }\r\n\r\n if (this.indexing) {\r\n await new Promise((r) => setTimeout(r, 250));\r\n if (this.indexing) {\r\n await new Promise((r) => setTimeout(r, 500));\r\n }\r\n }\r\n\r\n const index = this.getIndexForSearch();\r\n if (index == null) {\r\n // Fall back to basic search if index is not available\r\n return this.searchCiphersBasic(ciphers, query);\r\n }\r\n\r\n const ciphersMap = new Map();\r\n ciphers.forEach((c) => ciphersMap.set(c.id, c));\r\n\r\n let searchResults: lunr.Index.Result[] = null;\r\n const isQueryString = query != null && query.length > 1 && query.indexOf('>') === 0;\r\n if (isQueryString) {\r\n try {\r\n searchResults = index.search(query.substr(1).trim());\r\n } catch { }\r\n } else {\r\n // tslint:disable-next-line\r\n const soWild = lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING;\r\n searchResults = index.query((q) => {\r\n lunr.tokenizer(query).forEach((token) => {\r\n const t = token.toString();\r\n q.term(t, { fields: ['name'], wildcard: soWild });\r\n q.term(t, { fields: ['subtitle'], wildcard: soWild });\r\n q.term(t, { fields: ['login.uris'], wildcard: soWild });\r\n q.term(t, {});\r\n });\r\n });\r\n }\r\n\r\n if (searchResults != null) {\r\n searchResults.forEach((r) => {\r\n if (ciphersMap.has(r.ref)) {\r\n results.push(ciphersMap.get(r.ref));\r\n }\r\n });\r\n }\r\n return results;\r\n }\r\n\r\n searchCiphersBasic(ciphers: CipherView[], query: string, deleted: boolean = false) {\r\n query = query.trim().toLowerCase();\r\n return ciphers.filter((c) => {\r\n if (deleted !== c.isDeleted) {\r\n return false;\r\n }\r\n if (c.name != null && c.name.toLowerCase().indexOf(query) > -1) {\r\n return true;\r\n }\r\n if (query.length >= 8 && c.id.startsWith(query)) {\r\n return true;\r\n }\r\n if (c.subTitle != null && c.subTitle.toLowerCase().indexOf(query) > -1) {\r\n return true;\r\n }\r\n if (c.login && c.login.uri != null && c.login.uri.toLowerCase().indexOf(query) > -1) {\r\n return true;\r\n }\r\n return false;\r\n });\r\n }\r\n\r\n getIndexForSearch(): lunr.Index {\r\n return this.index;\r\n }\r\n\r\n private fieldExtractor(c: CipherView, joined: boolean) {\r\n if (!c.hasFields) {\r\n return null;\r\n }\r\n let fields: string[] = [];\r\n c.fields.forEach((f) => {\r\n if (f.name != null) {\r\n fields.push(f.name);\r\n }\r\n if (f.type === FieldType.Text && f.value != null) {\r\n fields.push(f.value);\r\n }\r\n });\r\n fields = fields.filter((f) => f.trim() !== '');\r\n if (fields.length === 0) {\r\n return null;\r\n }\r\n return joined ? fields.join(' ') : fields;\r\n }\r\n\r\n private attachmentExtractor(c: CipherView, joined: boolean) {\r\n if (!c.hasAttachments) {\r\n return null;\r\n }\r\n let attachments: string[] = [];\r\n c.attachments.forEach((a) => {\r\n if (a != null && a.fileName != null) {\r\n if (joined && a.fileName.indexOf('.') > -1) {\r\n attachments.push(a.fileName.substr(0, a.fileName.lastIndexOf('.')));\r\n } else {\r\n attachments.push(a.fileName);\r\n }\r\n }\r\n });\r\n attachments = attachments.filter((f) => f.trim() !== '');\r\n if (attachments.length === 0) {\r\n return null;\r\n }\r\n return joined ? attachments.join(' ') : attachments;\r\n }\r\n\r\n private uriExtractor(c: CipherView) {\r\n if (c.type !== CipherType.Login || c.login == null || !c.login.hasUris) {\r\n return null;\r\n }\r\n const uris: string[] = [];\r\n c.login.uris.forEach((u) => {\r\n if (u.uri == null || u.uri === '') {\r\n return;\r\n }\r\n if (u.hostname != null) {\r\n uris.push(u.hostname);\r\n return;\r\n }\r\n let uri = u.uri;\r\n if (u.match !== UriMatchType.RegularExpression) {\r\n const protocolIndex = uri.indexOf('://');\r\n if (protocolIndex > -1) {\r\n uri = uri.substr(protocolIndex + 3);\r\n }\r\n const queryIndex = uri.search(/\\?|&|#/);\r\n if (queryIndex > -1) {\r\n uri = uri.substring(0, queryIndex);\r\n }\r\n }\r\n uris.push(uri);\r\n });\r\n return uris.length > 0 ? uris : null;\r\n }\r\n}\r\n","import { SendData } from '../models/data/sendData';\r\n\r\nimport { SendRequest } from '../models/request/sendRequest';\r\n\r\nimport { SendResponse } from '../models/response/sendResponse';\r\n\r\nimport { Send } from '../models/domain/send';\r\nimport { SendFile } from '../models/domain/sendFile';\r\nimport { SendText } from '../models/domain/sendText';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\n\r\nimport { SendType } from '../enums/sendType';\r\n\r\nimport { SendView } from '../models/view/sendView';\r\n\r\nimport { ApiService } from '../abstractions/api.service';\r\nimport { CryptoService } from '../abstractions/crypto.service';\r\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\r\nimport { I18nService } from '../abstractions/i18n.service';\r\nimport { SendService as SendServiceAbstraction } from '../abstractions/send.service';\r\nimport { StorageService } from '../abstractions/storage.service';\r\nimport { UserService } from '../abstractions/user.service';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nconst Keys = {\r\n sendsPrefix: 'sends_',\r\n};\r\n\r\nexport class SendService implements SendServiceAbstraction {\r\n decryptedSendCache: SendView[];\r\n\r\n constructor(private cryptoService: CryptoService, private userService: UserService,\r\n private apiService: ApiService, private storageService: StorageService,\r\n private i18nService: I18nService, private cryptoFunctionService: CryptoFunctionService) { }\r\n\r\n clearCache(): void {\r\n this.decryptedSendCache = null;\r\n }\r\n\r\n async encrypt(model: SendView, file: File, password: string,\r\n key?: SymmetricCryptoKey): Promise<[Send, ArrayBuffer]> {\r\n let fileData: ArrayBuffer = null;\r\n const send = new Send();\r\n send.id = model.id;\r\n send.type = model.type;\r\n send.disabled = model.disabled;\r\n send.maxAccessCount = model.maxAccessCount;\r\n if (model.key == null) {\r\n model.key = await this.cryptoFunctionService.randomBytes(16);\r\n model.cryptoKey = await this.cryptoService.makeSendKey(model.key);\r\n }\r\n if (password != null) {\r\n const passwordHash = await this.cryptoFunctionService.pbkdf2(password, model.key, 'sha256', 100000);\r\n send.password = Utils.fromBufferToB64(passwordHash);\r\n }\r\n send.key = await this.cryptoService.encrypt(model.key, key);\r\n send.name = await this.cryptoService.encrypt(model.name, model.cryptoKey);\r\n send.notes = await this.cryptoService.encrypt(model.notes, model.cryptoKey);\r\n if (send.type === SendType.Text) {\r\n send.text = new SendText();\r\n send.text.text = await this.cryptoService.encrypt(model.text.text, model.cryptoKey);\r\n send.text.hidden = model.text.hidden;\r\n } else if (send.type === SendType.File) {\r\n send.file = new SendFile();\r\n if (file != null) {\r\n fileData = await this.parseFile(send, file, model.cryptoKey);\r\n }\r\n }\r\n\r\n return [send, fileData];\r\n }\r\n\r\n async get(id: string): Promise {\r\n const userId = await this.userService.getUserId();\r\n const sends = await this.storageService.get<{ [id: string]: SendData; }>(\r\n Keys.sendsPrefix + userId);\r\n if (sends == null || !sends.hasOwnProperty(id)) {\r\n return null;\r\n }\r\n\r\n return new Send(sends[id]);\r\n }\r\n\r\n async getAll(): Promise {\r\n const userId = await this.userService.getUserId();\r\n const sends = await this.storageService.get<{ [id: string]: SendData; }>(\r\n Keys.sendsPrefix + userId);\r\n const response: Send[] = [];\r\n for (const id in sends) {\r\n if (sends.hasOwnProperty(id)) {\r\n response.push(new Send(sends[id]));\r\n }\r\n }\r\n return response;\r\n }\r\n\r\n async getAllDecrypted(): Promise {\r\n if (this.decryptedSendCache != null) {\r\n return this.decryptedSendCache;\r\n }\r\n\r\n const hasKey = await this.cryptoService.hasKey();\r\n if (!hasKey) {\r\n throw new Error('No key.');\r\n }\r\n\r\n const decSends: SendView[] = [];\r\n const promises: Promise[] = [];\r\n const sends = await this.getAll();\r\n sends.forEach((send) => {\r\n promises.push(send.decrypt().then((f) => decSends.push(f)));\r\n });\r\n\r\n await Promise.all(promises);\r\n decSends.sort(Utils.getSortFunction(this.i18nService, 'name'));\r\n\r\n this.decryptedSendCache = decSends;\r\n return this.decryptedSendCache;\r\n }\r\n\r\n async saveWithServer(sendData: [Send, ArrayBuffer]): Promise {\r\n const request = new SendRequest(sendData[0]);\r\n let response: SendResponse;\r\n if (sendData[0].id == null) {\r\n if (sendData[0].type === SendType.Text) {\r\n response = await this.apiService.postSend(request);\r\n } else {\r\n const fd = new FormData();\r\n try {\r\n const blob = new Blob([sendData[1]], { type: 'application/octet-stream' });\r\n fd.append('model', JSON.stringify(request));\r\n fd.append('data', blob, sendData[0].file.fileName.encryptedString);\r\n } catch (e) {\r\n if (Utils.isNode && !Utils.isBrowser) {\r\n fd.append('model', JSON.stringify(request));\r\n fd.append('data', Buffer.from(sendData[1]) as any, {\r\n filepath: sendData[0].file.fileName.encryptedString,\r\n contentType: 'application/octet-stream',\r\n } as any);\r\n } else {\r\n throw e;\r\n }\r\n }\r\n response = await this.apiService.postSendFile(fd);\r\n }\r\n sendData[0].id = response.id;\r\n } else {\r\n response = await this.apiService.putSend(sendData[0].id, request);\r\n }\r\n\r\n const userId = await this.userService.getUserId();\r\n const data = new SendData(response, userId);\r\n await this.upsert(data);\r\n\r\n }\r\n\r\n async upsert(send: SendData | SendData[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n let sends = await this.storageService.get<{ [id: string]: SendData; }>(\r\n Keys.sendsPrefix + userId);\r\n if (sends == null) {\r\n sends = {};\r\n }\r\n\r\n if (send instanceof SendData) {\r\n const s = send as SendData;\r\n sends[s.id] = s;\r\n } else {\r\n (send as SendData[]).forEach((s) => {\r\n sends[s.id] = s;\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.sendsPrefix + userId, sends);\r\n this.decryptedSendCache = null;\r\n }\r\n\r\n async replace(sends: { [id: string]: SendData; }): Promise {\r\n const userId = await this.userService.getUserId();\r\n await this.storageService.save(Keys.sendsPrefix + userId, sends);\r\n this.decryptedSendCache = null;\r\n }\r\n\r\n async clear(userId: string): Promise {\r\n await this.storageService.remove(Keys.sendsPrefix + userId);\r\n this.decryptedSendCache = null;\r\n }\r\n\r\n async delete(id: string | string[]): Promise {\r\n const userId = await this.userService.getUserId();\r\n const sends = await this.storageService.get<{ [id: string]: SendData; }>(\r\n Keys.sendsPrefix + userId);\r\n if (sends == null) {\r\n return;\r\n }\r\n\r\n if (typeof id === 'string') {\r\n if (sends[id] == null) {\r\n return;\r\n }\r\n delete sends[id];\r\n } else {\r\n (id as string[]).forEach((i) => {\r\n delete sends[i];\r\n });\r\n }\r\n\r\n await this.storageService.save(Keys.sendsPrefix + userId, sends);\r\n this.decryptedSendCache = null;\r\n }\r\n\r\n async deleteWithServer(id: string): Promise {\r\n await this.apiService.deleteSend(id);\r\n await this.delete(id);\r\n }\r\n\r\n private parseFile(send: Send, file: File, key: SymmetricCryptoKey): Promise {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsArrayBuffer(file);\r\n reader.onload = async (evt) => {\r\n try {\r\n send.file.fileName = await this.cryptoService.encrypt(file.name, key);\r\n const fileData = await this.cryptoService.encryptToBytes(evt.target.result as ArrayBuffer, key);\r\n resolve(fileData);\r\n } catch (e) {\r\n reject(e);\r\n }\r\n };\r\n reader.onerror = (evt) => {\r\n reject('Error reading file.');\r\n };\r\n });\r\n }\r\n}\r\n","import { SendType } from '../../enums/sendType';\r\n\r\nimport { SendFileApi } from '../api/sendFileApi'\r\nimport { SendTextApi } from '../api/sendTextApi';\r\n\r\nimport { Send } from '../domain/send';\r\n\r\nexport class SendRequest {\r\n type: SendType;\r\n name: string;\r\n notes: string;\r\n key: string;\r\n maxAccessCount?: number;\r\n expirationDate: string;\r\n deletionDate: string;\r\n text: SendTextApi;\r\n file: SendFileApi;\r\n password: string;\r\n disabled: boolean;\r\n\r\n constructor(send: Send) {\r\n this.type = send.type;\r\n this.name = send.name ? send.name.encryptedString : null;\r\n this.notes = send.notes ? send.notes.encryptedString : null;\r\n this.maxAccessCount = send.maxAccessCount;\r\n this.expirationDate = send.expirationDate != null ? send.expirationDate.toISOString() : null;\r\n this.deletionDate = send.deletionDate != null ? send.deletionDate.toISOString() : null;\r\n this.key = send.key != null ? send.key.encryptedString : null;\r\n this.password = send.password;\r\n this.disabled = send.disabled;\r\n\r\n switch (this.type) {\r\n case SendType.Text:\r\n this.text = new SendTextApi();\r\n this.text.text = send.text.text != null ? send.text.text.encryptedString : null;\r\n this.text.hidden = send.text.hidden;\r\n break;\r\n case SendType.File:\r\n this.file = new SendFileApi();\r\n this.file.fileName = send.file.fileName != null ? send.file.fileName.encryptedString : null;\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n}\r\n","import * as forge from 'node-forge';\r\n\r\nimport { CryptoFunctionService } from '../abstractions/cryptoFunction.service';\r\nimport { PlatformUtilsService } from '../abstractions/platformUtils.service';\r\n\r\nimport { Utils } from '../misc/utils';\r\n\r\nimport { DecryptParameters } from '../models/domain/decryptParameters';\r\nimport { SymmetricCryptoKey } from '../models/domain/symmetricCryptoKey';\r\n\r\nexport class WebCryptoFunctionService implements CryptoFunctionService {\r\n private crypto: Crypto;\r\n private subtle: SubtleCrypto;\r\n private isIE: boolean;\r\n private isOldSafari: boolean;\r\n\r\n constructor(private win: Window, private platformUtilsService: PlatformUtilsService) {\r\n this.crypto = typeof win.crypto !== 'undefined' ? win.crypto : null;\r\n this.subtle = (!!this.crypto && typeof win.crypto.subtle !== 'undefined') ? win.crypto.subtle : null;\r\n this.isIE = platformUtilsService.isIE();\r\n const ua = win.navigator.userAgent;\r\n this.isOldSafari = platformUtilsService.isSafari() &&\r\n (ua.indexOf(' Version/10.') > -1 || ua.indexOf(' Version/9.') > -1);\r\n }\r\n\r\n async pbkdf2(password: string | ArrayBuffer, salt: string | ArrayBuffer, algorithm: 'sha256' | 'sha512',\r\n iterations: number): Promise {\r\n if (this.isIE || this.isOldSafari) {\r\n const forgeLen = algorithm === 'sha256' ? 32 : 64;\r\n const passwordBytes = this.toByteString(password);\r\n const saltBytes = this.toByteString(salt);\r\n const derivedKeyBytes = (forge as any).pbkdf2(passwordBytes, saltBytes, iterations, forgeLen, algorithm);\r\n return Utils.fromByteStringToArray(derivedKeyBytes).buffer;\r\n }\r\n\r\n const wcLen = algorithm === 'sha256' ? 256 : 512;\r\n const passwordBuf = this.toBuf(password);\r\n const saltBuf = this.toBuf(salt);\r\n\r\n const pbkdf2Params: Pbkdf2Params = {\r\n name: 'PBKDF2',\r\n salt: saltBuf,\r\n iterations: iterations,\r\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\r\n };\r\n\r\n const impKey = await this.subtle.importKey('raw', passwordBuf, { name: 'PBKDF2' } as any,\r\n false, ['deriveBits']);\r\n return await this.subtle.deriveBits(pbkdf2Params, impKey, wcLen);\r\n }\r\n\r\n async hkdf(ikm: ArrayBuffer, salt: string | ArrayBuffer, info: string | ArrayBuffer,\r\n outputByteSize: number, algorithm: 'sha256' | 'sha512'): Promise {\r\n const saltBuf = this.toBuf(salt);\r\n const infoBuf = this.toBuf(info);\r\n\r\n const hkdfParams: HkdfParams = {\r\n name: 'HKDF',\r\n salt: saltBuf,\r\n info: infoBuf,\r\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\r\n };\r\n\r\n const impKey = await this.subtle.importKey('raw', ikm, { name: 'HKDF' } as any,\r\n false, ['deriveBits']);\r\n return await this.subtle.deriveBits(hkdfParams as any, impKey, outputByteSize * 8);\r\n }\r\n\r\n // ref: https://tools.ietf.org/html/rfc5869\r\n async hkdfExpand(prk: ArrayBuffer, info: string | ArrayBuffer, outputByteSize: number,\r\n algorithm: 'sha256' | 'sha512'): Promise {\r\n const hashLen = algorithm === 'sha256' ? 32 : 64;\r\n if (outputByteSize > 255 * hashLen) {\r\n throw new Error('outputByteSize is too large.');\r\n }\r\n const prkArr = new Uint8Array(prk);\r\n if (prkArr.length < hashLen) {\r\n throw new Error('prk is too small.');\r\n }\r\n const infoBuf = this.toBuf(info);\r\n const infoArr = new Uint8Array(infoBuf);\r\n let runningOkmLength = 0;\r\n let previousT = new Uint8Array(0);\r\n const n = Math.ceil(outputByteSize / hashLen);\r\n const okm = new Uint8Array(n * hashLen);\r\n for (let i = 0; i < n; i++) {\r\n const t = new Uint8Array(previousT.length + infoArr.length + 1);\r\n t.set(previousT);\r\n t.set(infoArr, previousT.length);\r\n t.set([i + 1], t.length - 1);\r\n previousT = new Uint8Array(await this.hmac(t.buffer, prk, algorithm));\r\n okm.set(previousT, runningOkmLength);\r\n runningOkmLength += previousT.length;\r\n if (runningOkmLength >= outputByteSize) {\r\n break;\r\n }\r\n }\r\n return okm.slice(0, outputByteSize).buffer;\r\n }\r\n\r\n async hash(value: string | ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512' | 'md5'): Promise {\r\n if ((this.isIE && algorithm === 'sha1') || algorithm === 'md5') {\r\n const md = algorithm === 'md5' ? forge.md.md5.create() : forge.md.sha1.create();\r\n const valueBytes = this.toByteString(value);\r\n md.update(valueBytes, 'raw');\r\n return Utils.fromByteStringToArray(md.digest().data).buffer;\r\n }\r\n\r\n const valueBuf = this.toBuf(value);\r\n return await this.subtle.digest({ name: this.toWebCryptoAlgorithm(algorithm) }, valueBuf);\r\n }\r\n\r\n async hmac(value: ArrayBuffer, key: ArrayBuffer, algorithm: 'sha1' | 'sha256' | 'sha512'): Promise {\r\n if (this.isIE && algorithm === 'sha512') {\r\n const hmac = (forge as any).hmac.create();\r\n const keyBytes = this.toByteString(key);\r\n const valueBytes = this.toByteString(value);\r\n hmac.start(algorithm, keyBytes);\r\n hmac.update(valueBytes, 'raw');\r\n return Utils.fromByteStringToArray(hmac.digest().data).buffer;\r\n }\r\n\r\n const signingAlgorithm = {\r\n name: 'HMAC',\r\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\r\n };\r\n\r\n const impKey = await this.subtle.importKey('raw', key, signingAlgorithm, false, ['sign']);\r\n return await this.subtle.sign(signingAlgorithm, impKey, value);\r\n }\r\n\r\n // Safely compare two values in a way that protects against timing attacks (Double HMAC Verification).\r\n // ref: https://www.nccgroup.trust/us/about-us/newsroom-and-events/blog/2011/february/double-hmac-verification/\r\n // ref: https://paragonie.com/blog/2015/11/preventing-timing-attacks-on-string-comparison-with-double-hmac-strategy\r\n async compare(a: ArrayBuffer, b: ArrayBuffer): Promise {\r\n const macKey = await this.randomBytes(32);\r\n const signingAlgorithm = {\r\n name: 'HMAC',\r\n hash: { name: 'SHA-256' },\r\n };\r\n const impKey = await this.subtle.importKey('raw', macKey, signingAlgorithm, false, ['sign']);\r\n const mac1 = await this.subtle.sign(signingAlgorithm, impKey, a);\r\n const mac2 = await this.subtle.sign(signingAlgorithm, impKey, b);\r\n\r\n if (mac1.byteLength !== mac2.byteLength) {\r\n return false;\r\n }\r\n\r\n const arr1 = new Uint8Array(mac1);\r\n const arr2 = new Uint8Array(mac2);\r\n for (let i = 0; i < arr2.length; i++) {\r\n if (arr1[i] !== arr2[i]) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n hmacFast(value: string, key: string, algorithm: 'sha1' | 'sha256' | 'sha512'): Promise {\r\n const hmac = (forge as any).hmac.create();\r\n hmac.start(algorithm, key);\r\n hmac.update(value);\r\n const bytes = hmac.digest().getBytes();\r\n return Promise.resolve(bytes);\r\n }\r\n\r\n async compareFast(a: string, b: string): Promise {\r\n const rand = await this.randomBytes(32);\r\n const bytes = new Uint32Array(rand);\r\n const buffer = forge.util.createBuffer();\r\n for (let i = 0; i < bytes.length; i++) {\r\n buffer.putInt32(bytes[i]);\r\n }\r\n const macKey = buffer.getBytes();\r\n\r\n const hmac = (forge as any).hmac.create();\r\n hmac.start('sha256', macKey);\r\n hmac.update(a);\r\n const mac1 = hmac.digest().getBytes();\r\n\r\n hmac.start(null, null);\r\n hmac.update(b);\r\n const mac2 = hmac.digest().getBytes();\r\n\r\n const equals = mac1 === mac2;\r\n return equals;\r\n }\r\n\r\n async aesEncrypt(data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer): Promise {\r\n const impKey = await this.subtle.importKey('raw', key, { name: 'AES-CBC' } as any, false, ['encrypt']);\r\n return await this.subtle.encrypt({ name: 'AES-CBC', iv: iv }, impKey, data);\r\n }\r\n\r\n aesDecryptFastParameters(data: string, iv: string, mac: string, key: SymmetricCryptoKey):\r\n DecryptParameters {\r\n const p = new DecryptParameters();\r\n if (key.meta != null) {\r\n p.encKey = key.meta.encKeyByteString;\r\n p.macKey = key.meta.macKeyByteString;\r\n }\r\n\r\n if (p.encKey == null) {\r\n p.encKey = forge.util.decode64(key.encKeyB64);\r\n }\r\n p.data = forge.util.decode64(data);\r\n p.iv = forge.util.decode64(iv);\r\n p.macData = p.iv + p.data;\r\n if (p.macKey == null && key.macKeyB64 != null) {\r\n p.macKey = forge.util.decode64(key.macKeyB64);\r\n }\r\n if (mac != null) {\r\n p.mac = forge.util.decode64(mac);\r\n }\r\n\r\n // cache byte string keys for later\r\n if (key.meta == null) {\r\n key.meta = {};\r\n }\r\n if (key.meta.encKeyByteString == null) {\r\n key.meta.encKeyByteString = p.encKey;\r\n }\r\n if (p.macKey != null && key.meta.macKeyByteString == null) {\r\n key.meta.macKeyByteString = p.macKey;\r\n }\r\n\r\n return p;\r\n }\r\n\r\n aesDecryptFast(parameters: DecryptParameters): Promise {\r\n const dataBuffer = (forge as any).util.createBuffer(parameters.data);\r\n const decipher = (forge as any).cipher.createDecipher('AES-CBC', parameters.encKey);\r\n decipher.start({ iv: parameters.iv });\r\n decipher.update(dataBuffer);\r\n decipher.finish();\r\n const val = decipher.output.toString('utf8');\r\n return Promise.resolve(val);\r\n }\r\n\r\n async aesDecrypt(data: ArrayBuffer, iv: ArrayBuffer, key: ArrayBuffer): Promise {\r\n const impKey = await this.subtle.importKey('raw', key, { name: 'AES-CBC' } as any, false, ['decrypt']);\r\n return await this.subtle.decrypt({ name: 'AES-CBC', iv: iv }, impKey, data);\r\n }\r\n\r\n async rsaEncrypt(data: ArrayBuffer, publicKey: ArrayBuffer, algorithm: 'sha1' | 'sha256'): Promise {\r\n // Note: Edge browser requires that we specify name and hash for both key import and decrypt.\r\n // We cannot use the proper types here.\r\n const rsaParams = {\r\n name: 'RSA-OAEP',\r\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\r\n };\r\n const impKey = await this.subtle.importKey('spki', publicKey, rsaParams, false, ['encrypt']);\r\n return await this.subtle.encrypt(rsaParams, impKey, data);\r\n }\r\n\r\n async rsaDecrypt(data: ArrayBuffer, privateKey: ArrayBuffer, algorithm: 'sha1' | 'sha256'): Promise {\r\n // Note: Edge browser requires that we specify name and hash for both key import and decrypt.\r\n // We cannot use the proper types here.\r\n const rsaParams = {\r\n name: 'RSA-OAEP',\r\n hash: { name: this.toWebCryptoAlgorithm(algorithm) },\r\n };\r\n const impKey = await this.subtle.importKey('pkcs8', privateKey, rsaParams, false, ['decrypt']);\r\n return await this.subtle.decrypt(rsaParams, impKey, data);\r\n }\r\n\r\n async rsaExtractPublicKey(privateKey: ArrayBuffer): Promise {\r\n const rsaParams = {\r\n name: 'RSA-OAEP',\r\n // Have to specify some algorithm\r\n hash: { name: this.toWebCryptoAlgorithm('sha1') },\r\n };\r\n const impPrivateKey = await this.subtle.importKey('pkcs8', privateKey, rsaParams, true, ['decrypt']);\r\n const jwkPrivateKey = await this.subtle.exportKey('jwk', impPrivateKey);\r\n const jwkPublicKeyParams = {\r\n kty: 'RSA',\r\n e: jwkPrivateKey.e,\r\n n: jwkPrivateKey.n,\r\n alg: 'RSA-OAEP',\r\n ext: true,\r\n };\r\n const impPublicKey = await this.subtle.importKey('jwk', jwkPublicKeyParams, rsaParams, true, ['encrypt']);\r\n return await this.subtle.exportKey('spki', impPublicKey);\r\n }\r\n\r\n async rsaGenerateKeyPair(length: 1024 | 2048 | 4096): Promise<[ArrayBuffer, ArrayBuffer]> {\r\n const rsaParams = {\r\n name: 'RSA-OAEP',\r\n modulusLength: length,\r\n publicExponent: new Uint8Array([0x01, 0x00, 0x01]), // 65537\r\n // Have to specify some algorithm\r\n hash: { name: this.toWebCryptoAlgorithm('sha1') },\r\n };\r\n const keyPair = await this.subtle.generateKey(rsaParams, true, ['encrypt', 'decrypt']);\r\n const publicKey = await this.subtle.exportKey('spki', keyPair.publicKey);\r\n const privateKey = await this.subtle.exportKey('pkcs8', keyPair.privateKey);\r\n return [publicKey, privateKey];\r\n }\r\n\r\n randomBytes(length: number): Promise {\r\n const arr = new Uint8Array(length);\r\n this.crypto.getRandomValues(arr);\r\n return Promise.resolve(arr.buffer);\r\n }\r\n\r\n private toBuf(value: string | ArrayBuffer): ArrayBuffer {\r\n let buf: ArrayBuffer;\r\n if (typeof (value) === 'string') {\r\n buf = Utils.fromUtf8ToArray(value).buffer;\r\n } else {\r\n buf = value;\r\n }\r\n return buf;\r\n }\r\n\r\n private toByteString(value: string | ArrayBuffer): string {\r\n let bytes: string;\r\n if (typeof (value) === 'string') {\r\n bytes = forge.util.encodeUtf8(value);\r\n } else {\r\n bytes = Utils.fromBufferToByteString(value);\r\n }\r\n return bytes;\r\n }\r\n\r\n private toWebCryptoAlgorithm(algorithm: 'sha1' | 'sha256' | 'sha512' | 'md5'): string {\r\n if (algorithm === 'md5') {\r\n throw new Error('MD5 is not supported in WebCrypto.');\r\n }\r\n return algorithm === 'sha1' ? 'SHA-1' : algorithm === 'sha256' ? 'SHA-256' : 'SHA-512';\r\n }\r\n}\r\n","export class DecryptParameters {\r\n encKey: T;\r\n data: T;\r\n iv: T;\r\n macKey: T;\r\n mac: T;\r\n macData: T;\r\n}\r\n","import * as jq from 'jquery';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\n\r\nimport {\r\n BodyOutputType,\r\n Toast,\r\n ToasterConfig,\r\n ToasterContainerComponent,\r\n ToasterService,\r\n} from 'angular2-toaster';\r\nimport { Angulartics2 } from 'angulartics2';\r\nimport { Angulartics2GoogleAnalytics } from 'angulartics2/ga';\r\n\r\nimport {\r\n Component,\r\n NgZone,\r\n OnDestroy,\r\n OnInit,\r\n SecurityContext,\r\n} from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport {\r\n NavigationEnd,\r\n Router,\r\n} from '@angular/router';\r\n\r\nimport { BroadcasterService } from 'jslib/angular/services/broadcaster.service';\r\n\r\nimport { StorageService } from 'jslib/abstractions/storage.service';\r\n\r\nimport { AuthService } from 'jslib/abstractions/auth.service';\r\nimport { CipherService } from 'jslib/abstractions/cipher.service';\r\nimport { CollectionService } from 'jslib/abstractions/collection.service';\r\nimport { CryptoService } from 'jslib/abstractions/crypto.service';\r\nimport { EventService } from 'jslib/abstractions/event.service';\r\nimport { FolderService } from 'jslib/abstractions/folder.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { NotificationsService } from 'jslib/abstractions/notifications.service';\r\nimport { PasswordGenerationService } from 'jslib/abstractions/passwordGeneration.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { PolicyService } from 'jslib/abstractions/policy.service';\r\nimport { SearchService } from 'jslib/abstractions/search.service';\r\nimport { SettingsService } from 'jslib/abstractions/settings.service';\r\nimport { StateService } from 'jslib/abstractions/state.service';\r\nimport { SyncService } from 'jslib/abstractions/sync.service';\r\nimport { TokenService } from 'jslib/abstractions/token.service';\r\nimport { UserService } from 'jslib/abstractions/user.service';\r\nimport { VaultTimeoutService } from 'jslib/abstractions/vaultTimeout.service';\r\n\r\nimport { ConstantsService } from 'jslib/services/constants.service';\r\n\r\nimport { RouterService } from './services/router.service';\r\n\r\nconst BroadcasterSubscriptionId = 'AppComponent';\r\nconst IdleTimeout = 60000 * 10; // 10 minutes\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: 'app.component.html',\r\n})\r\nexport class AppComponent implements OnDestroy, OnInit {\r\n toasterConfig: ToasterConfig = new ToasterConfig({\r\n showCloseButton: true,\r\n mouseoverTimerStop: true,\r\n animation: 'flyRight',\r\n limit: 5,\r\n });\r\n\r\n private lastActivity: number = null;\r\n private idleTimer: number = null;\r\n private isIdle = false;\r\n\r\n constructor(private angulartics2GoogleAnalytics: Angulartics2GoogleAnalytics,\r\n private broadcasterService: BroadcasterService, private userService: UserService,\r\n private tokenService: TokenService, private folderService: FolderService,\r\n private settingsService: SettingsService, private syncService: SyncService,\r\n private passwordGenerationService: PasswordGenerationService, private cipherService: CipherService,\r\n private authService: AuthService, private router: Router, private analytics: Angulartics2,\r\n private toasterService: ToasterService, private i18nService: I18nService,\r\n private platformUtilsService: PlatformUtilsService, private ngZone: NgZone,\r\n private vaultTimeoutService: VaultTimeoutService, private storageService: StorageService,\r\n private cryptoService: CryptoService, private collectionService: CollectionService,\r\n private sanitizer: DomSanitizer, private searchService: SearchService,\r\n private notificationsService: NotificationsService, private routerService: RouterService,\r\n private stateService: StateService, private eventService: EventService,\r\n private policyService: PolicyService) { }\r\n\r\n ngOnInit() {\r\n this.ngZone.runOutsideAngular(() => {\r\n window.onmousemove = () => this.recordActivity();\r\n window.onmousedown = () => this.recordActivity();\r\n window.ontouchstart = () => this.recordActivity();\r\n window.onclick = () => this.recordActivity();\r\n window.onscroll = () => this.recordActivity();\r\n window.onkeypress = () => this.recordActivity();\r\n });\r\n\r\n this.broadcasterService.subscribe(BroadcasterSubscriptionId, async (message: any) => {\r\n this.ngZone.run(async () => {\r\n switch (message.command) {\r\n case 'loggedIn':\r\n case 'loggedOut':\r\n case 'unlocked':\r\n this.notificationsService.updateConnection(false);\r\n break;\r\n case 'authBlocked':\r\n this.router.navigate(['/']);\r\n break;\r\n case 'logout':\r\n this.logOut(!!message.expired);\r\n break;\r\n case 'lockVault':\r\n await this.vaultTimeoutService.lock();\r\n break;\r\n case 'locked':\r\n this.notificationsService.updateConnection(false);\r\n this.router.navigate(['lock']);\r\n break;\r\n case 'lockedUrl':\r\n window.setTimeout(() => this.routerService.setPreviousUrl(message.url), 500);\r\n break;\r\n case 'syncStarted':\r\n break;\r\n case 'syncCompleted':\r\n break;\r\n case 'upgradeOrganization':\r\n const upgradeConfirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('upgradeOrganizationDesc'), this.i18nService.t('upgradeOrganization'),\r\n this.i18nService.t('upgradeOrganization'), this.i18nService.t('cancel'));\r\n if (upgradeConfirmed) {\r\n this.router.navigate(['organizations', message.organizationId, 'settings', 'billing']);\r\n }\r\n break;\r\n case 'premiumRequired':\r\n const premiumConfirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('premiumRequiredDesc'), this.i18nService.t('premiumRequired'),\r\n this.i18nService.t('learnMore'), this.i18nService.t('cancel'));\r\n if (premiumConfirmed) {\r\n this.router.navigate(['settings/premium']);\r\n }\r\n break;\r\n case 'showToast':\r\n this.showToast(message);\r\n break;\r\n case 'analyticsEventTrack':\r\n this.analytics.eventTrack.next({\r\n action: message.action,\r\n properties: { label: message.label },\r\n });\r\n break;\r\n case 'setFullWidth':\r\n this.setFullWidth();\r\n break;\r\n default:\r\n break;\r\n }\r\n });\r\n });\r\n\r\n this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n const modals = Array.from(document.querySelectorAll('.modal'));\r\n for (const modal of modals) {\r\n (jq(modal) as any).modal('hide');\r\n }\r\n\r\n if (document.querySelector('.swal-modal') != null) {\r\n Swal.close(undefined);\r\n }\r\n }\r\n });\r\n\r\n this.setFullWidth();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.broadcasterService.unsubscribe(BroadcasterSubscriptionId);\r\n }\r\n\r\n private async logOut(expired: boolean) {\r\n await this.eventService.uploadEvents();\r\n const userId = await this.userService.getUserId();\r\n\r\n await Promise.all([\r\n this.eventService.clearEvents(),\r\n this.syncService.setLastSync(new Date(0)),\r\n this.tokenService.clearToken(),\r\n this.cryptoService.clearKeys(),\r\n this.userService.clear(),\r\n this.settingsService.clear(userId),\r\n this.cipherService.clear(userId),\r\n this.folderService.clear(userId),\r\n this.collectionService.clear(userId),\r\n this.policyService.clear(userId),\r\n this.passwordGenerationService.clear(),\r\n this.stateService.purge(),\r\n ]);\r\n\r\n this.searchService.clearIndex();\r\n this.authService.logOut(async () => {\r\n this.analytics.eventTrack.next({ action: 'Logged Out' });\r\n if (expired) {\r\n this.toasterService.popAsync('warning', this.i18nService.t('loggedOut'),\r\n this.i18nService.t('loginExpired'));\r\n }\r\n\r\n Swal.close();\r\n this.router.navigate(['/']);\r\n });\r\n }\r\n\r\n private async recordActivity() {\r\n const now = (new Date()).getTime();\r\n if (this.lastActivity != null && now - this.lastActivity < 250) {\r\n return;\r\n }\r\n\r\n this.lastActivity = now;\r\n this.storageService.save(ConstantsService.lastActiveKey, now);\r\n\r\n // Idle states\r\n if (this.isIdle) {\r\n this.isIdle = false;\r\n this.idleStateChanged();\r\n }\r\n if (this.idleTimer != null) {\r\n window.clearTimeout(this.idleTimer);\r\n this.idleTimer = null;\r\n }\r\n this.idleTimer = window.setTimeout(() => {\r\n if (!this.isIdle) {\r\n this.isIdle = true;\r\n this.idleStateChanged();\r\n }\r\n }, IdleTimeout);\r\n }\r\n\r\n private showToast(msg: any) {\r\n const toast: Toast = {\r\n type: msg.type,\r\n title: msg.title,\r\n };\r\n if (typeof (msg.text) === 'string') {\r\n toast.body = msg.text;\r\n } else if (msg.text.length === 1) {\r\n toast.body = msg.text[0];\r\n } else {\r\n let message = '';\r\n msg.text.forEach((t: string) =>\r\n message += ('

' + this.sanitizer.sanitize(SecurityContext.HTML, t) + '

'));\r\n toast.body = message;\r\n toast.bodyOutputType = BodyOutputType.TrustedHtml;\r\n }\r\n if (msg.options != null) {\r\n if (msg.options.trustedHtml === true) {\r\n toast.bodyOutputType = BodyOutputType.TrustedHtml;\r\n }\r\n if (msg.options.timeout != null && msg.options.timeout > 0) {\r\n toast.timeout = msg.options.timeout;\r\n }\r\n }\r\n this.toasterService.popAsync(toast);\r\n }\r\n\r\n private idleStateChanged() {\r\n if (this.isIdle) {\r\n this.notificationsService.disconnectFromInactivity();\r\n } else {\r\n this.notificationsService.reconnectFromActivity();\r\n }\r\n }\r\n\r\n private async setFullWidth() {\r\n const enableFullWidth = await this.storageService.get('enableFullWidth');\r\n if (enableFullWidth) {\r\n document.body.classList.add('full-width');\r\n } else {\r\n document.body.classList.remove('full-width');\r\n }\r\n }\r\n}\r\n","\r\n\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n OnInit,\r\n ViewChild,\r\n ViewContainerRef,\r\n} from '@angular/core';\r\n\r\nimport { SendType } from 'jslib/enums/sendType';\r\n\r\nimport { SendView } from 'jslib/models/view/sendView';\r\n\r\nimport { AddEditComponent } from './add-edit.component';\r\n\r\nimport { ModalComponent } from '../modal.component';\r\n\r\nimport { ApiService } from 'jslib/abstractions/api.service';\r\nimport { EnvironmentService } from 'jslib/abstractions/environment.service';\r\nimport { I18nService } from 'jslib/abstractions/i18n.service';\r\nimport { PlatformUtilsService } from 'jslib/abstractions/platformUtils.service';\r\nimport { SendService } from 'jslib/abstractions/send.service';\r\n\r\n@Component({\r\n selector: 'app-send',\r\n templateUrl: 'send.component.html',\r\n})\r\nexport class SendComponent implements OnInit {\r\n @ViewChild('sendAddEdit', { read: ViewContainerRef, static: true }) sendAddEditModalRef: ViewContainerRef;\r\n\r\n sendType = SendType;\r\n loaded = false;\r\n loading = true;\r\n refreshing = false;\r\n expired: boolean = false;\r\n type: SendType = null;\r\n sends: SendView[] = [];\r\n filteredSends: SendView[] = [];\r\n searchText: string;\r\n selectedType: SendType;\r\n selectedAll: boolean;\r\n searchPlaceholder: string;\r\n filter: (cipher: SendView) => boolean;\r\n searchPending = false;\r\n\r\n modal: ModalComponent = null;\r\n actionPromise: any;\r\n\r\n private searchTimeout: any;\r\n\r\n constructor(private apiService: ApiService, private sendService: SendService,\r\n private i18nService: I18nService, private componentFactoryResolver: ComponentFactoryResolver,\r\n private platformUtilsService: PlatformUtilsService, private environmentService: EnvironmentService) { }\r\n\r\n async ngOnInit() {\r\n await this.load();\r\n }\r\n async load(filter: (send: SendView) => boolean = null) {\r\n this.loading = true;\r\n const sends = await this.sendService.getAllDecrypted();\r\n this.sends = sends;\r\n this.selectAll();\r\n this.loading = false;\r\n this.loaded = true;\r\n }\r\n\r\n async reload(filter: (send: SendView) => boolean = null) {\r\n this.loaded = false;\r\n this.sends = [];\r\n await this.load(filter);\r\n }\r\n\r\n async refresh() {\r\n try {\r\n this.refreshing = true;\r\n await this.reload(this.filter);\r\n } finally {\r\n this.refreshing = false;\r\n }\r\n }\r\n\r\n async applyFilter(filter: (send: SendView) => boolean = null) {\r\n this.filter = filter;\r\n await this.search(null);\r\n }\r\n\r\n async search(timeout: number = null) {\r\n this.searchPending = false;\r\n if (this.searchTimeout != null) {\r\n clearTimeout(this.searchTimeout);\r\n }\r\n if (timeout == null) {\r\n this.filteredSends = this.sends.filter((s) => this.filter == null || this.filter(s));\r\n return;\r\n }\r\n this.searchPending = true;\r\n this.searchTimeout = setTimeout(async () => {\r\n this.filteredSends = this.sends.filter((s) => this.filter == null || this.filter(s));\r\n this.searchPending = false;\r\n }, timeout);\r\n }\r\n\r\n addSend() {\r\n const component = this.editSend(null);\r\n component.type = this.type;\r\n }\r\n\r\n editSend(send: SendView) {\r\n if (this.modal != null) {\r\n this.modal.close();\r\n }\r\n\r\n const factory = this.componentFactoryResolver.resolveComponentFactory(ModalComponent);\r\n this.modal = this.sendAddEditModalRef.createComponent(factory).instance;\r\n const childComponent = this.modal.show(\r\n AddEditComponent, this.sendAddEditModalRef);\r\n\r\n childComponent.sendId = send == null ? null : send.id;\r\n childComponent.onSavedSend.subscribe(async (s: SendView) => {\r\n this.modal.close();\r\n await this.load();\r\n });\r\n childComponent.onDeletedSend.subscribe(async (s: SendView) => {\r\n this.modal.close();\r\n await this.load();\r\n });\r\n\r\n this.modal.onClosed.subscribe(() => {\r\n this.modal = null;\r\n });\r\n\r\n return childComponent;\r\n }\r\n\r\n async removePassword(s: SendView): Promise {\r\n if (this.actionPromise != null || s.password == null) {\r\n return;\r\n }\r\n const confirmed = await this.platformUtilsService.showDialog(this.i18nService.t('removePasswordConfirmation'),\r\n this.i18nService.t('removePassword'),\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n this.actionPromise = this.apiService.putSendRemovePassword(s.id);\r\n await this.actionPromise;\r\n this.platformUtilsService.showToast('success', null, this.i18nService.t('removedPassword'));\r\n await this.load();\r\n } catch { }\r\n this.actionPromise = null;\r\n }\r\n\r\n async delete(s: SendView): Promise {\r\n if (this.actionPromise != null) {\r\n return false;\r\n }\r\n const confirmed = await this.platformUtilsService.showDialog(\r\n this.i18nService.t('deleteSendConfirmation'),\r\n this.i18nService.t('deleteSend'),\r\n this.i18nService.t('yes'), this.i18nService.t('no'), 'warning');\r\n if (!confirmed) {\r\n return false;\r\n }\r\n\r\n try {\r\n this.actionPromise = this.apiService.deleteSend(s.id);\r\n await this.actionPromise;\r\n this.platformUtilsService.showToast('success', null, this.i18nService.t('deletedSend'));\r\n await this.load();\r\n } catch { }\r\n this.actionPromise = null;\r\n return true;\r\n }\r\n\r\n copy(s: SendView) {\r\n let webVaultUrl = this.environmentService.getWebVaultUrl();\r\n if (webVaultUrl == null) {\r\n webVaultUrl = 'https://vault.bitwarden.com';\r\n }\r\n const link = webVaultUrl + '/#/send/' + s.accessId + '/' + s.urlB64Key;\r\n this.platformUtilsService.copyToClipboard(link);\r\n this.platformUtilsService.showToast('success', null,\r\n this.i18nService.t('valueCopied', this.i18nService.t('sendLink')));\r\n }\r\n\r\n searchTextChanged() {\r\n this.search(200);\r\n }\r\n\r\n selectAll() {\r\n this.clearSelections();\r\n this.selectedAll = true;\r\n this.applyFilter(null);\r\n }\r\n\r\n selectType(type: SendType) {\r\n this.clearSelections();\r\n this.selectedType = type;\r\n this.applyFilter((s) => s.type === type);\r\n }\r\n\r\n clearSelections() {\r\n this.selectedAll = false;\r\n this.selectedType = null;\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n {{'filters' | i18n}}\r\n
\r\n
\r\n \r\n \r\n

{{'types' | i18n}}

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Send\r\n \r\n \r\n \r\n {{'loading' | i18n}}\r\n \r\n \r\n

\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {{s.name}}\r\n \r\n \r\n {{'password' | i18n}}\r\n \r\n
\r\n {{s.deletionDate | date:'medium'}}\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n {{'loading' | i18n}}\r\n \r\n \r\n

{{'noSendsInList' | i18n}}

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n","import {\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appBlurClick]',\r\n})\r\nexport class BlurClickDirective {\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n @HostListener('click') onClick() {\r\n this.el.nativeElement.blur();\r\n }\r\n}\r\n","import {\r\n Directive,\r\n ElementRef,\r\n HostListener,\r\n OnInit,\r\n} from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appBoxRow]',\r\n})\r\nexport class BoxRowDirective implements OnInit {\r\n el: HTMLElement = null;\r\n formEls: Element[];\r\n\r\n constructor(private elRef: ElementRef) {\r\n this.el = elRef.nativeElement;\r\n }\r\n\r\n ngOnInit(): void {\r\n this.formEls = Array.from(this.el.querySelectorAll('input:not([type=\"hidden\"]), select, textarea'));\r\n this.formEls.forEach((formEl) => {\r\n formEl.addEventListener('focus', (event: Event) => {\r\n this.el.classList.add('active');\r\n }, false);\r\n\r\n formEl.addEventListener('blur', (event: Event) => {\r\n this.el.classList.remove('active');\r\n }, false);\r\n });\r\n }\r\n\r\n @HostListener('click', ['$event']) onClick(event: Event) {\r\n const target = event.target as HTMLElement;\r\n if (target !== this.el && !target.classList.contains('progress') &&\r\n !target.classList.contains('progress-bar')) {\r\n return;\r\n }\r\n\r\n if (this.formEls.length > 0) {\r\n const formEl = (this.formEls[0] as HTMLElement);\r\n if (formEl.tagName.toLowerCase() === 'input') {\r\n const inputEl = (formEl as HTMLInputElement);\r\n if (inputEl.type != null && inputEl.type.toLowerCase() === 'checkbox') {\r\n inputEl.click();\r\n return;\r\n }\r\n }\r\n formEl.focus();\r\n }\r\n }\r\n}\r\n","import {\r\n Pipe,\r\n PipeTransform,\r\n} from '@angular/core';\r\n\r\nimport { CipherView } from '../../models/view/cipherView';\r\n\r\n@Pipe({\r\n name: 'searchCiphers',\r\n})\r\nexport class SearchCiphersPipe implements PipeTransform {\r\n transform(ciphers: CipherView[], searchText: string, deleted: boolean = false): CipherView[] {\r\n if (ciphers == null || ciphers.length === 0) {\r\n return [];\r\n }\r\n\r\n if (searchText == null || searchText.length < 2) {\r\n return ciphers.filter((c) => {\r\n return deleted !== c.isDeleted;\r\n });\r\n }\r\n\r\n searchText = searchText.trim().toLowerCase();\r\n return ciphers.filter((c) => {\r\n if (deleted !== c.isDeleted) {\r\n return false;\r\n }\r\n if (c.name != null && c.name.toLowerCase().indexOf(searchText) > -1) {\r\n return true;\r\n }\r\n if (searchText.length >= 8 && c.id.startsWith(searchText)) {\r\n return true;\r\n }\r\n if (c.subTitle != null && c.subTitle.toLowerCase().indexOf(searchText) > -1) {\r\n return true;\r\n }\r\n if (c.login && c.login.uri != null && c.login.uri.toLowerCase().indexOf(searchText) > -1) {\r\n return true;\r\n }\r\n\r\n return false;\r\n });\r\n }\r\n}\r\n"],"sourceRoot":""} \ No newline at end of file diff --git a/app/polyfills.9f15875cff59b5963eea.js b/app/polyfills.9f15875cff59b5963eea.js new file mode 100644 index 00000000..134587a6 --- /dev/null +++ b/app/polyfills.9f15875cff59b5963eea.js @@ -0,0 +1,152 @@ +!function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=733)}([,,function(t,e,n){var r=n(21),o=n(55),i=n(56),a=n(52),u=n(64),c=function(t,e,n){var s,f,l,h,p=t&c.F,v=t&c.G,d=t&c.S,y=t&c.P,g=t&c.B,b=v?r:d?r[e]||(r[e]={}):(r[e]||{}).prototype,m=v?o:o[e]||(o[e]={}),_=m.prototype||(m.prototype={});for(s in v&&(n=e),n)l=((f=!p&&b&&void 0!==b[s])?b:n)[s],h=g&&f?u(l,r):y&&"function"==typeof l?u(Function.call,l):l,b&&a(b,s,l,t&c.U),m[s]!=l&&i(m,s,h),y&&_[s]!=l&&(_[s]=l)};r.core=o,c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,t.exports=c},,,,,,,,,,,,,,function(t,e,n){var r=n(23);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},,,,,function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},,,,,function(t,e,n){var r=n(132)("wks"),o=n(90),i=n(21).Symbol,a="function"==typeof i;(t.exports=function(t){return r[t]||(r[t]=a&&i[t]||(a?i:o)("Symbol."+t))}).store=r},,,function(t,e,n){var r=n(65),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},,function(t,e,n){var r=n(16),o=n(218),i=n(76),a=Object.defineProperty;e.f=n(35)?Object.defineProperty:function(t,e,n){if(r(t),e=i(e,!0),r(n),o)try{return a(t,e,n)}catch(u){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},,function(t,e,n){t.exports=!n(22)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},,,,,,,,function(t,e,n){var r=n(77);t.exports=function(t){return Object(r(t))}},,,,function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},,function(t,e,n){var r=n(2),o=n(22),i=n(77),a=/"/g,u=function(t,e,n,r){var o=String(i(t)),u="<"+e;return""!==n&&(u+=" "+n+'="'+String(r).replace(a,""")+'"'),u+">"+o+""};t.exports=function(t,e){var n={};n[t]=e(u),r(r.P+r.F*o(function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3}),"String",n)}},,function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(21),o=n(56),i=n(51),a=n(90)("src"),u=Function.toString,c=(""+u).split("toString");n(55).inspectSource=function(t){return u.call(t)},(t.exports=function(t,e,n,u){var s="function"==typeof n;s&&(i(n,"name")||o(n,"name",e)),t[e]!==n&&(s&&(i(n,a)||o(n,a,t[e]?""+t[e]:c.join(String(e)))),t===r?t[e]=n:u?t[e]?t[e]=n:o(t,e,n):(delete t[e],o(t,e,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[a]||u.call(this)})},function(t,e,n){var r=n(115),o=n(77);t.exports=function(t){return r(o(t))}},,function(t,e){var n=t.exports={version:"2.6.2"};"number"==typeof __e&&(__e=n)},function(t,e,n){var r=n(33),o=n(85);t.exports=n(35)?function(t,e,n){return r.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},,function(t,e,n){var r=n(51),o=n(43),i=n(173)("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=o(t),r(t,i)?t[i]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},,function(t,e,n){var r=n(124),o=n(85),i=n(53),a=n(76),u=n(51),c=n(218),s=Object.getOwnPropertyDescriptor;e.f=n(35)?s:function(t,e){if(t=i(t),e=a(e,!0),c)try{return s(t,e)}catch(n){}if(u(t,e))return o(!r.f.call(t,e),t[e])}},function(t,e,n){"use strict";var r=n(22);t.exports=function(t,e){return!!t&&r(function(){e?t.call(null,function(){},1):t.call(null)})}},,,function(t,e,n){var r=n(47);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},,,function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var r=n(2),o=n(55),i=n(22);t.exports=function(t,e){var n=(o.Object||{})[t]||Object[t],a={};a[t]=e(n),r(r.S+r.F*i(function(){n(1)}),"Object",a)}},function(t,e,n){var r=n(64),o=n(115),i=n(43),a=n(31),u=n(232);t.exports=function(t,e){var n=1==t,c=2==t,s=3==t,f=4==t,l=6==t,h=5==t||l,p=e||u;return function(e,u,v){for(var d,y,g=i(e),b=o(g),m=r(u,v,3),_=a(b.length),w=0,S=n?p(e,_):c?p(e,0):void 0;_>w;w++)if((h||w in b)&&(y=m(d=b[w],w,g),t))if(n)S[w]=y;else if(y)switch(t){case 3:return!0;case 5:return d;case 6:return w;case 2:S.push(d)}else if(f)return!1;return l?-1:s||f?f:S}}},,,,,,function(t,e,n){var r=n(23);t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){"use strict";if(n(35)){var r=n(86),o=n(21),i=n(22),a=n(2),u=n(139),c=n(188),s=n(64),f=n(98),l=n(85),h=n(56),p=n(100),v=n(65),d=n(31),y=n(243),g=n(92),b=n(76),m=n(51),_=n(95),w=n(23),S=n(43),k=n(184),E=n(83),x=n(58),T=n(93).f,O=n(134),P=n(90),A=n(28),j=n(70),M=n(151),I=n(126),C=n(204),R=n(109),D=n(135),F=n(97),N=n(185),Z=n(234),L=n(33),B=n(60),U=L.f,z=B.f,H=o.RangeError,W=o.TypeError,K=o.Uint8Array,G=Array.prototype,q=c.ArrayBuffer,V=c.DataView,X=j(0),Y=j(2),J=j(3),$=j(4),Q=j(5),tt=j(6),et=M(!0),nt=M(!1),rt=C.values,ot=C.keys,it=C.entries,at=G.lastIndexOf,ut=G.reduce,ct=G.reduceRight,st=G.join,ft=G.sort,lt=G.slice,ht=G.toString,pt=G.toLocaleString,vt=A("iterator"),dt=A("toStringTag"),yt=P("typed_constructor"),gt=P("def_constructor"),bt=u.CONSTR,mt=u.TYPED,_t=u.VIEW,wt=j(1,function(t,e){return Tt(I(t,t[gt]),e)}),St=i(function(){return 1===new K(new Uint16Array([1]).buffer)[0]}),kt=!!K&&!!K.prototype.set&&i(function(){new K(1).set({})}),Et=function(t,e){var n=v(t);if(n<0||n%e)throw H("Wrong offset!");return n},xt=function(t){if(w(t)&&mt in t)return t;throw W(t+" is not a typed array!")},Tt=function(t,e){if(!(w(t)&&yt in t))throw W("It is not a typed array constructor!");return new t(e)},Ot=function(t,e){return Pt(I(t,t[gt]),e)},Pt=function(t,e){for(var n=0,r=e.length,o=Tt(t,r);r>n;)o[n]=e[n++];return o},At=function(t,e,n){U(t,e,{get:function(){return this._d[n]}})},jt=function(t){var e,n,r,o,i,a,u=S(t),c=arguments.length,f=c>1?arguments[1]:void 0,l=void 0!==f,h=O(u);if(null!=h&&!k(h)){for(a=h.call(u),r=[],e=0;!(i=a.next()).done;e++)r.push(i.value);u=r}for(l&&c>2&&(f=s(f,arguments[2],2)),e=0,n=d(u.length),o=Tt(this,n);n>e;e++)o[e]=l?f(u[e],e):u[e];return o},Mt=function(){for(var t=0,e=arguments.length,n=Tt(this,e);e>t;)n[t]=arguments[t++];return n},It=!!K&&i(function(){pt.call(new K(1))}),Ct=function(){return pt.apply(It?lt.call(xt(this)):xt(this),arguments)},Rt={copyWithin:function(t,e){return Z.call(xt(this),t,e,arguments.length>2?arguments[2]:void 0)},every:function(t){return $(xt(this),t,arguments.length>1?arguments[1]:void 0)},fill:function(t){return N.apply(xt(this),arguments)},filter:function(t){return Ot(this,Y(xt(this),t,arguments.length>1?arguments[1]:void 0))},find:function(t){return Q(xt(this),t,arguments.length>1?arguments[1]:void 0)},findIndex:function(t){return tt(xt(this),t,arguments.length>1?arguments[1]:void 0)},forEach:function(t){X(xt(this),t,arguments.length>1?arguments[1]:void 0)},indexOf:function(t){return nt(xt(this),t,arguments.length>1?arguments[1]:void 0)},includes:function(t){return et(xt(this),t,arguments.length>1?arguments[1]:void 0)},join:function(t){return st.apply(xt(this),arguments)},lastIndexOf:function(t){return at.apply(xt(this),arguments)},map:function(t){return wt(xt(this),t,arguments.length>1?arguments[1]:void 0)},reduce:function(t){return ut.apply(xt(this),arguments)},reduceRight:function(t){return ct.apply(xt(this),arguments)},reverse:function(){for(var t,e=xt(this).length,n=Math.floor(e/2),r=0;r1?arguments[1]:void 0)},sort:function(t){return ft.call(xt(this),t)},subarray:function(t,e){var n=xt(this),r=n.length,o=g(t,r);return new(I(n,n[gt]))(n.buffer,n.byteOffset+o*n.BYTES_PER_ELEMENT,d((void 0===e?r:g(e,r))-o))}},Dt=function(t,e){return Ot(this,lt.call(xt(this),t,e))},Ft=function(t){xt(this);var e=Et(arguments[1],1),n=this.length,r=S(t),o=d(r.length),i=0;if(o+e>n)throw H("Wrong length!");for(;i255?255:255&r),o.v[p](n*e+o.o,r,St)}(this,n,t)},enumerable:!0})};m?(v=n(function(t,n,r,o){f(t,v,s,"_d");var i,a,u,c,l=0,p=0;if(w(n)){if(!(n instanceof q||"ArrayBuffer"==(c=_(n))||"SharedArrayBuffer"==c))return mt in n?Pt(v,n):jt.call(v,n);i=n,p=Et(r,e);var g=n.byteLength;if(void 0===o){if(g%e)throw H("Wrong length!");if((a=g-p)<0)throw H("Wrong length!")}else if((a=d(o)*e)+p>g)throw H("Wrong length!");u=a/e}else u=y(n),i=new q(a=u*e);for(h(t,"_d",{b:i,o:p,l:a,e:u,v:new V(i)});ldocument.F=Object<\/script>"),t.close(),c=t.F;r--;)delete c.prototype[i[r]];return c()};t.exports=Object.create||function(t,e){var n;return null!==t?(u.prototype=r(t),n=new u,u.prototype=null,n[a]=t):n=c(),void 0===e?n:o(n,e)}},,function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){t.exports=!1},,,,function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e,n){var r=n(221),o=n(174);t.exports=Object.keys||function(t){return r(t,o)}},function(t,e,n){var r=n(65),o=Math.max,i=Math.min;t.exports=function(t,e){return(t=r(t))<0?o(t+e,0):i(t,e)}},function(t,e,n){var r=n(221),o=n(174).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},,function(t,e,n){var r=n(68),o=n(28)("toStringTag"),i="Arguments"==r(function(){return arguments}());t.exports=function(t){var e,n,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(n){}}(e=Object(t),o))?n:i?r(e):"Object"==(a=r(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,n){var r=n(28)("unscopables"),o=Array.prototype;null==o[r]&&n(56)(o,r,{}),t.exports=function(t){o[r][t]=!0}},function(t,e,n){"use strict";var r=n(21),o=n(33),i=n(35),a=n(28)("species");t.exports=function(t){var e=r[t];i&&e&&!e[a]&&o.f(e,a,{configurable:!0,get:function(){return this}})}},function(t,e){t.exports=function(t,e,n,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(n+": incorrect invocation!");return t}},function(t,e,n){var r=n(64),o=n(231),i=n(184),a=n(16),u=n(31),c=n(134),s={},f={};(e=t.exports=function(t,e,n,l,h){var p,v,d,y,g=h?function(){return t}:c(t),b=r(n,l,e?2:1),m=0;if("function"!=typeof g)throw TypeError(t+" is not iterable!");if(i(g)){for(p=u(t.length);p>m;m++)if((y=e?b(a(v=t[m])[0],v[1]):b(t[m]))===s||y===f)return y}else for(d=g.call(t);!(v=d.next()).done;)if((y=o(d,b,v.value,e))===s||y===f)return y}).BREAK=s,e.RETURN=f},function(t,e,n){var r=n(52);t.exports=function(t,e,n){for(var o in e)r(t,o,e[o],n);return t}},function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"==typeof window&&(n=window)}t.exports=n},,,,,,,function(t,e,n){var r=n(33).f,o=n(51),i=n(28)("toStringTag");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,i)&&r(t,i,{configurable:!0,value:e})}},function(t,e){t.exports={}},function(t,e,n){var r=n(23);t.exports=function(t,e){if(!r(t)||t._t!==e)throw TypeError("Incompatible receiver, "+e+" required!");return t}},,,,,function(t,e,n){var r=n(68);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e,n){var r=n(2),o=n(77),i=n(22),a=n(177),u="["+a+"]",c=RegExp("^"+u+u+"*"),s=RegExp(u+u+"*$"),f=function(t,e,n){var o={},u=i(function(){return!!a[t]()||"​…"!="​…"[t]()}),c=o[t]=u?e(l):a[t];n&&(o[n]=c),r(r.P+r.F*u,"String",o)},l=f.trim=function(t,e){return t=String(o(t)),1&e&&(t=t.replace(c,"")),2&e&&(t=t.replace(s,"")),t};t.exports=f},,,,,,,,function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){"use strict";var r=n(16);t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},function(t,e,n){var r=n(16),o=n(47),i=n(28)("species");t.exports=function(t,e){var n,a=r(t).constructor;return void 0===a||null==(n=r(a)[i])?e:o(n)}},,,,,,function(t,e,n){var r=n(55),o=n(21),i=o["__core-js_shared__"]||(o["__core-js_shared__"]={});(t.exports=function(t,e){return i[t]||(i[t]=void 0!==e?e:{})})("versions",[]).push({version:r.version,mode:n(86)?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var r=n(95),o=n(28)("iterator"),i=n(109);t.exports=n(55).getIteratorMethod=function(t){if(null!=t)return t[o]||t["@@iterator"]||i[r(t)]}},function(t,e,n){var r=n(28)("iterator"),o=!1;try{var i=[7][r]();i.return=function(){o=!0},Array.from(i,function(){throw 2})}catch(a){}t.exports=function(t,e){if(!e&&!o)return!1;var n=!1;try{var i=[7],u=i[r]();u.next=function(){return{done:n=!0}},i[r]=function(){return u},t(i)}catch(a){}return n}},function(t,e,n){"use strict";var r=n(95),o=RegExp.prototype.exec;t.exports=function(t,e){var n=t.exec;if("function"==typeof n){var i=n.call(t,e);if("object"!=typeof i)throw new TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==r(t))throw new TypeError("RegExp#exec called on incompatible receiver");return o.call(t,e)}},function(t,e,n){"use strict";n(235);var r=n(52),o=n(56),i=n(22),a=n(77),u=n(28),c=n(186),s=u("species"),f=!i(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")}),l=function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();t.exports=function(t,e,n){var h=u(t),p=!i(function(){var e={};return e[h]=function(){return 7},7!=""[t](e)}),v=p?!i(function(){var e=!1,n=/a/;return n.exec=function(){return e=!0,null},"split"===t&&(n.constructor={},n.constructor[s]=function(){return n}),n[h](""),!e}):void 0;if(!p||!v||"replace"===t&&!f||"split"===t&&!l){var d=/./[h],y=n(a,h,""[t],function(t,e,n,r,o){return e.exec===c?p&&!o?{done:!0,value:d.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}}),g=y[0],b=y[1];r(String.prototype,t,g),o(RegExp.prototype,h,2==e?function(t,e){return b.call(t,this,e)}:function(t){return b.call(t,this)})}}},function(t,e,n){"use strict";var r=n(21),o=n(2),i=n(52),a=n(100),u=n(82),c=n(99),s=n(98),f=n(23),l=n(22),h=n(135),p=n(108),v=n(178);t.exports=function(t,e,n,d,y,g){var b=r[t],m=b,_=y?"set":"add",w=m&&m.prototype,S={},k=function(t){var e=w[t];i(w,t,"delete"==t?function(t){return!(g&&!f(t))&&e.call(this,0===t?0:t)}:"has"==t?function(t){return!(g&&!f(t))&&e.call(this,0===t?0:t)}:"get"==t?function(t){return g&&!f(t)?void 0:e.call(this,0===t?0:t)}:"add"==t?function(t){return e.call(this,0===t?0:t),this}:function(t,n){return e.call(this,0===t?0:t,n),this})};if("function"==typeof m&&(g||w.forEach&&!l(function(){(new m).entries().next()}))){var E=new m,x=E[_](g?{}:-0,1)!=E,T=l(function(){E.has(1)}),O=h(function(t){new m(t)}),P=!g&&l(function(){for(var t=new m,e=5;e--;)t[_](e,e);return!t.has(-0)});O||((m=e(function(e,n){s(e,m,t);var r=v(new b,e,m);return null!=n&&c(n,y,r[_],r),r})).prototype=w,w.constructor=m),(T||P)&&(k("delete"),k("has"),y&&k("get")),(P||x)&&k(_),g&&w.clear&&delete w.clear}else m=d.getConstructor(e,t,y,_),a(m.prototype,n),u.NEED=!0;return p(m,t),S[t]=m,o(o.G+o.W+o.F*(m!=b),S),g||d.setStrong(m,t,y),m}},function(t,e,n){for(var r,o=n(21),i=n(56),a=n(90),u=a("typed_array"),c=a("view"),s=!(!o.ArrayBuffer||!o.DataView),f=s,l=0,h="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");l<9;)(r=o[h[l++]])?(i(r.prototype,u,!0),i(r.prototype,c,!0)):f=!1;t.exports={ABV:s,CONSTR:f,TYPED:u,VIEW:c}},,,,,,,,,,,,function(t,e,n){var r=n(53),o=n(31),i=n(92);t.exports=function(t){return function(e,n,a){var u,c=r(e),s=o(c.length),f=i(a,s);if(t&&n!=n){for(;s>f;)if((u=c[f++])!=u)return!0}else for(;s>f;f++)if((t||f in c)&&c[f]===n)return t||f||0;return!t&&-1}}},function(t,e,n){var r=n(68);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){var r=n(65),o=n(77);t.exports=function(t){return function(e,n){var i,a,u=String(o(e)),c=r(n),s=u.length;return c<0||c>=s?t?"":void 0:(i=u.charCodeAt(c))<55296||i>56319||c+1===s||(a=u.charCodeAt(c+1))<56320||a>57343?t?u.charAt(c):i:t?u.slice(c,c+2):a-56320+(i-55296<<10)+65536}}},function(t,e,n){"use strict";var r=n(86),o=n(2),i=n(52),a=n(56),u=n(109),c=n(181),s=n(108),f=n(58),l=n(28)("iterator"),h=!([].keys&&"next"in[].keys()),p=function(){return this};t.exports=function(t,e,n,v,d,y,g){c(n,e,v);var b,m,_,w=function(t){if(!h&&t in x)return x[t];switch(t){case"keys":case"values":return function(){return new n(this,t)}}return function(){return new n(this,t)}},S=e+" Iterator",k="values"==d,E=!1,x=t.prototype,T=x[l]||x["@@iterator"]||d&&x[d],O=T||w(d),P=d?k?w("entries"):O:void 0,A="Array"==e&&x.entries||T;if(A&&(_=f(A.call(new t)))!==Object.prototype&&_.next&&(s(_,S,!0),r||"function"==typeof _[l]||a(_,l,p)),k&&T&&"values"!==T.name&&(E=!0,O=function(){return T.call(this)}),r&&!g||!h&&!E&&x[l]||a(x,l,O),u[e]=O,u[S]=p,d)if(b={values:k?O:w("values"),keys:y?O:w("keys"),entries:P},g)for(m in b)m in x||i(x,m,b[m]);else o(o.P+o.F*(h||E),e,b);return b}},function(t,e,n){var r=n(23),o=n(68),i=n(28)("match");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[i])?!!e:"RegExp"==o(t))}},,,,,,,,,,,,,,,,,function(t,e,n){var r=n(23),o=n(21).document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},function(t,e,n){var r=n(132)("keys"),o=n(90);t.exports=function(t){return r[t]||(r[t]=o(t))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){var r=n(21).document;t.exports=r&&r.documentElement},function(t,e,n){var r=n(23),o=n(16),i=function(t,e){if(o(t),!r(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,r){try{(r=n(64)(Function.call,n(60).f(Object.prototype,"__proto__").set,2))(t,[]),e=!(t instanceof Array)}catch(o){e=!0}return function(t,n){return i(t,n),e?t.__proto__=n:r(t,n),t}}({},!1):void 0),check:i}},function(t,e){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"},function(t,e,n){var r=n(23),o=n(176).set;t.exports=function(t,e,n){var i,a=e.constructor;return a!==n&&"function"==typeof a&&(i=a.prototype)!==n.prototype&&r(i)&&o&&o(t,i),t}},function(t,e){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,e){var n=Math.expm1;t.exports=!n||n(10)>22025.465794806718||n(10)<22025.465794806718||-2e-17!=n(-2e-17)?function(t){return 0==(t=+t)?t:t>-1e-6&&t<1e-6?t+t*t/2:Math.exp(t)-1}:n},function(t,e,n){"use strict";var r=n(83),o=n(85),i=n(108),a={};n(56)(a,n(28)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(a,{next:o(1,n)}),i(t,e+" Iterator")}},function(t,e,n){var r=n(155),o=n(77);t.exports=function(t,e,n){if(r(e))throw TypeError("String#"+n+" doesn't accept regex!");return String(o(t))}},function(t,e,n){var r=n(28)("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[r]=!1,!"/./"[t](e)}catch(o){}}return!0}},function(t,e,n){var r=n(109),o=n(28)("iterator"),i=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||i[o]===t)}},function(t,e,n){"use strict";var r=n(43),o=n(92),i=n(31);t.exports=function(t){for(var e=r(this),n=i(e.length),a=arguments.length,u=o(a>1?arguments[1]:void 0,n),c=a>2?arguments[2]:void 0,s=void 0===c?n:o(c,n);s>u;)e[u++]=t;return e}},function(t,e,n){"use strict";var r,o,i=n(125),a=RegExp.prototype.exec,u=String.prototype.replace,c=a,s=(r=/a/,o=/b*/g,a.call(r,"a"),a.call(o,"a"),0!==r.lastIndex||0!==o.lastIndex),f=void 0!==/()??/.exec("")[1];(s||f)&&(c=function(t){var e,n,r,o,c=this;return f&&(n=new RegExp("^"+c.source+"$(?!\\s)",i.call(c))),s&&(e=c.lastIndex),r=a.call(c,t),s&&r&&(c.lastIndex=c.global?r.index+r[0].length:e),f&&r&&r.length>1&&u.call(r[0],n,function(){for(o=1;o>1,f=23===e?O(2,-24)-O(2,-77):0,l=0,h=t<0||0===t&&1/t<0?1:0;for((t=T(t))!=t||t===E?(o=t!=t?1:0,r=c):(r=P(A(t)/j),t*(i=O(2,-r))<1&&(r--,i*=2),(t+=r+s>=1?f/i:f*O(2,1-s))*i>=2&&(r++,i/=2),r+s>=c?(o=0,r=c):r+s>=1?(o=(t*i-1)*O(2,e),r+=s):(o=t*O(2,s-1)*O(2,e),r=0));e>=8;a[l++]=255&o,o/=256,e-=8);for(r=r<0;a[l++]=255&r,r/=256,u-=8);return a[--l]|=128*h,a}function D(t,e,n){var r,o=8*n-e-1,i=(1<>1,u=o-7,c=n-1,s=t[c--],f=127&s;for(s>>=7;u>0;f=256*f+t[c],c--,u-=8);for(r=f&(1<<-u)-1,f>>=-u,u+=e;u>0;r=256*r+t[c],c--,u-=8);if(0===f)f=1-a;else{if(f===i)return r?NaN:s?-E:E;r+=O(2,e),f-=a}return(s?-1:1)*r*O(2,f-e)}function F(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]}function N(t){return[255&t]}function Z(t){return[255&t,t>>8&255]}function L(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]}function B(t){return R(t,52,8)}function U(t){return R(t,23,4)}function z(t,e,n){d(t[b],e,{get:function(){return this[n]}})}function H(t,e,n,r){var o=p(+n);if(o+e>t[I])throw k(m);var i=t[M]._b,a=o+t[C],u=i.slice(a,a+e);return r?u:u.reverse()}function W(t,e,n,r,o,i){var a=p(+n);if(a+e>t[I])throw k(m);for(var u=t[M]._b,c=a+t[C],s=r(+o),f=0;fV;)(K=q[V++])in _||u(_,K,x[K]);i||(G.constructor=_)}var X=new w(new _(2)),Y=w[b].setInt8;X.setInt8(0,2147483648),X.setInt8(1,2147483649),!X.getInt8(0)&&X.getInt8(1)||c(w[b],{setInt8:function(t,e){Y.call(this,t,e<<24>>24)},setUint8:function(t,e){Y.call(this,t,e<<24>>24)}},!0)}else _=function(t){f(this,_,"ArrayBuffer");var e=p(t);this._b=y.call(new Array(e),0),this[I]=e},w=function(t,e,n){f(this,w,"DataView"),f(t,_,"DataView");var r=t[I],o=l(e);if(o<0||o>r)throw k("Wrong offset!");if(o+(n=void 0===n?r-o:h(n))>r)throw k("Wrong length!");this[M]=t,this[C]=o,this[I]=n},o&&(z(_,"byteLength","_l"),z(w,"buffer","_b"),z(w,"byteLength","_l"),z(w,"byteOffset","_o")),c(w[b],{getInt8:function(t){return H(this,1,t)[0]<<24>>24},getUint8:function(t){return H(this,1,t)[0]},getInt16:function(t){var e=H(this,2,t,arguments[1]);return(e[1]<<8|e[0])<<16>>16},getUint16:function(t){var e=H(this,2,t,arguments[1]);return e[1]<<8|e[0]},getInt32:function(t){return F(H(this,4,t,arguments[1]))},getUint32:function(t){return F(H(this,4,t,arguments[1]))>>>0},getFloat32:function(t){return D(H(this,4,t,arguments[1]),23,4)},getFloat64:function(t){return D(H(this,8,t,arguments[1]),52,8)},setInt8:function(t,e){W(this,1,t,N,e)},setUint8:function(t,e){W(this,1,t,N,e)},setInt16:function(t,e){W(this,2,t,Z,e,arguments[2])},setUint16:function(t,e){W(this,2,t,Z,e,arguments[2])},setInt32:function(t,e){W(this,4,t,L,e,arguments[2])},setUint32:function(t,e){W(this,4,t,L,e,arguments[2])},setFloat32:function(t,e){W(this,4,t,U,e,arguments[2])},setFloat64:function(t,e){W(this,8,t,B,e,arguments[2])}});g(_,"ArrayBuffer"),g(w,"DataView"),u(w[b],a.VIEW,!0),e.ArrayBuffer=_,e.DataView=w},,,,,,,,,,,,function(t,e,n){"use strict";var r=n(91),o=n(133),i=n(124),a=n(43),u=n(115),c=Object.assign;t.exports=!c||n(22)(function(){var t={},e={},n=Symbol(),r="abcdefghijklmnopqrst";return t[n]=7,r.split("").forEach(function(t){e[t]=t}),7!=c({},t)[n]||Object.keys(c({},e)).join("")!=r})?function(t,e){for(var n=a(t),c=arguments.length,s=1,f=o.f,l=i.f;c>s;)for(var h,p=u(arguments[s++]),v=f?r(p).concat(f(p)):r(p),d=v.length,y=0;d>y;)l.call(p,h=v[y++])&&(n[h]=p[h]);return n}:c},function(t,e){t.exports=function(t,e,n){var r=void 0===n;switch(e.length){case 0:return r?t():t.call(n);case 1:return r?t(e[0]):t.call(n,e[0]);case 2:return r?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return r?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return r?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},function(t,e,n){"use strict";var r=n(65),o=n(77);t.exports=function(t){var e=String(o(this)),n="",i=r(t);if(i<0||i==1/0)throw RangeError("Count can't be negative");for(;i>0;(i>>>=1)&&(e+=e))1&i&&(n+=e);return n}},function(t,e,n){"use strict";var r=n(33),o=n(85);t.exports=function(t,e,n){e in t?r.f(t,e,o(0,n)):t[e]=n}},function(t,e,n){"use strict";var r=n(96),o=n(205),i=n(109),a=n(53);t.exports=n(154)(Array,"Array",function(t,e){this._t=a(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,o(1)):o(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])},"values"),i.Arguments=i.Array,r("keys"),r("values"),r("entries")},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var r,o,i,a=n(64),u=n(201),c=n(175),s=n(172),f=n(21),l=f.process,h=f.setImmediate,p=f.clearImmediate,v=f.MessageChannel,d=f.Dispatch,y=0,g={},b=function(){var t=+this;if(g.hasOwnProperty(t)){var e=g[t];delete g[t],e()}},m=function(t){b.call(t.data)};h&&p||(h=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return g[++y]=function(){u("function"==typeof t?t:Function(t),e)},r(y),y},p=function(t){delete g[t]},"process"==n(68)(l)?r=function(t){l.nextTick(a(b,t,1))}:d&&d.now?r=function(t){d.now(a(b,t,1))}:v?(i=(o=new v).port2,o.port1.onmessage=m,r=a(i.postMessage,i,1)):f.addEventListener&&"function"==typeof postMessage&&!f.importScripts?(r=function(t){f.postMessage(t+"","*")},f.addEventListener("message",m,!1)):r="onreadystatechange"in s("script")?function(t){c.appendChild(s("script")).onreadystatechange=function(){c.removeChild(this),b.call(t)}}:function(t){setTimeout(a(b,t,1),0)}),t.exports={set:h,clear:p}},function(t,e,n){"use strict";var r=n(47);function o(t){var e,n;this.promise=new t(function(t,r){if(void 0!==e||void 0!==n)throw TypeError("Bad Promise constructor");e=t,n=r}),this.resolve=r(e),this.reject=r(n)}t.exports.f=function(t){return new o(t)}},function(t,e,n){var r=n(21).navigator;t.exports=r&&r.userAgent||""},,,,,,,,,,function(t,e,n){t.exports=!n(35)&&!n(22)(function(){return 7!=Object.defineProperty(n(172)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){e.f=n(28)},function(t,e,n){var r=n(21),o=n(55),i=n(86),a=n(219),u=n(33).f;t.exports=function(t){var e=o.Symbol||(o.Symbol=i?{}:r.Symbol||{});"_"==t.charAt(0)||t in e||u(e,t,{value:a.f(t)})}},function(t,e,n){var r=n(51),o=n(53),i=n(151)(!1),a=n(173)("IE_PROTO");t.exports=function(t,e){var n,u=o(t),c=0,s=[];for(n in u)n!=a&&r(u,n)&&s.push(n);for(;e.length>c;)r(u,n=e[c++])&&(~i(s,n)||s.push(n));return s}},function(t,e,n){var r=n(33),o=n(16),i=n(91);t.exports=n(35)?Object.defineProperties:function(t,e){o(t);for(var n,a=i(e),u=a.length,c=0;u>c;)r.f(t,n=a[c++],e[n]);return t}},function(t,e,n){var r=n(53),o=n(93).f,i={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return a&&"[object Window]"==i.call(t)?function(t){try{return o(t)}catch(e){return a.slice()}}(t):o(r(t))}},function(t,e){t.exports=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}},function(t,e,n){"use strict";var r=n(47),o=n(23),i=n(201),a=[].slice,u={};t.exports=Function.bind||function(t){var e=r(this),n=a.call(arguments,1),c=function(){var r=n.concat(a.call(arguments));return this instanceof c?function(t,e,n){if(!(e in u)){for(var r=[],o=0;o>>0||(a.test(n)?16:10))}:r},function(t,e,n){var r=n(21).parseFloat,o=n(116).trim;t.exports=1/r(n(177)+"-0")!=-1/0?function(t){var e=o(String(t),3),n=r(e);return 0===n&&"-"==e.charAt(0)?-0:n}:r},function(t,e,n){var r=n(68);t.exports=function(t,e){if("number"!=typeof t&&"Number"!=r(t))throw TypeError(e);return+t}},function(t,e,n){var r=n(23),o=Math.floor;t.exports=function(t){return!r(t)&&isFinite(t)&&o(t)===t}},function(t,e){t.exports=Math.log1p||function(t){return(t=+t)>-1e-8&&t<1e-8?t-t*t/2:Math.log(1+t)}},function(t,e,n){var r=n(16);t.exports=function(t,e,n,o){try{return o?e(r(n)[0],n[1]):e(n)}catch(a){var i=t.return;throw void 0!==i&&r(i.call(t)),a}}},function(t,e,n){var r=n(399);t.exports=function(t,e){return new(r(t))(e)}},function(t,e,n){var r=n(47),o=n(43),i=n(115),a=n(31);t.exports=function(t,e,n,u,c){r(e);var s=o(t),f=i(s),l=a(s.length),h=c?l-1:0,p=c?-1:1;if(n<2)for(;;){if(h in f){u=f[h],h+=p;break}if(h+=p,c?h<0:l<=h)throw TypeError("Reduce of empty array with no initial value")}for(;c?h>=0:l>h;h+=p)h in f&&(u=e(u,f[h],h,s));return u}},function(t,e,n){"use strict";var r=n(43),o=n(92),i=n(31);t.exports=[].copyWithin||function(t,e){var n=r(this),a=i(n.length),u=o(t,a),c=o(e,a),s=arguments.length>2?arguments[2]:void 0,f=Math.min((void 0===s?a:o(s,a))-c,a-u),l=1;for(c0;)c in n?n[u]=n[c]:delete n[u],u+=l,c+=l;return n}},function(t,e,n){"use strict";var r=n(186);n(2)({target:"RegExp",proto:!0,forced:r!==/./.exec},{exec:r})},function(t,e,n){n(35)&&"g"!=/./g.flags&&n(33).f(RegExp.prototype,"flags",{configurable:!0,get:n(125)})},function(t,e,n){var r=n(21),o=n(206).set,i=r.MutationObserver||r.WebKitMutationObserver,a=r.process,u=r.Promise,c="process"==n(68)(a);t.exports=function(){var t,e,n,s=function(){var r,o;for(c&&(r=a.domain)&&r.exit();t;){o=t.fn,t=t.next;try{o()}catch(i){throw t?n():e=void 0,i}}e=void 0,r&&r.enter()};if(c)n=function(){a.nextTick(s)};else if(!i||r.navigator&&r.navigator.standalone)if(u&&u.resolve){var f=u.resolve(void 0);n=function(){f.then(s)}}else n=function(){o.call(r,s)};else{var l=!0,h=document.createTextNode("");new i(s).observe(h,{characterData:!0}),n=function(){h.data=l=!l}}return function(r){var o={fn:r,next:void 0};e&&(e.next=o),t||(t=o,n()),e=o}}},function(t,e,n){"use strict";var r=n(239),o=n(110);t.exports=n(138)("Map",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{get:function(t){var e=r.getEntry(o(this,"Map"),t);return e&&e.v},set:function(t,e){return r.def(o(this,"Map"),0===t?0:t,e)}},r,!0)},function(t,e,n){"use strict";var r=n(33).f,o=n(83),i=n(100),a=n(64),u=n(98),c=n(99),s=n(154),f=n(205),l=n(97),h=n(35),p=n(82).fastKey,v=n(110),d=h?"_s":"size",y=function(t,e){var n,r=p(e);if("F"!==r)return t._i[r];for(n=t._f;n;n=n.n)if(n.k==e)return n};t.exports={getConstructor:function(t,e,n,s){var f=t(function(t,r){u(t,f,e,"_i"),t._t=e,t._i=o(null),t._f=void 0,t._l=void 0,t[d]=0,null!=r&&c(r,n,t[s],t)});return i(f.prototype,{clear:function(){for(var t=v(this,e),n=t._i,r=t._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];t._f=t._l=void 0,t[d]=0},delete:function(t){var n=v(this,e),r=y(n,t);if(r){var o=r.n,i=r.p;delete n._i[r.i],r.r=!0,i&&(i.n=o),o&&(o.p=i),n._f==r&&(n._f=o),n._l==r&&(n._l=i),n[d]--}return!!r},forEach:function(t){v(this,e);for(var n,r=a(t,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(t){return!!y(v(this,e),t)}}),h&&r(f.prototype,"size",{get:function(){return v(this,e)[d]}}),f},def:function(t,e,n){var r,o,i=y(t,e);return i?i.v=n:(t._l=i={i:o=p(e,!0),k:e,v:n,p:r=t._l,n:void 0,r:!1},t._f||(t._f=i),r&&(r.n=i),t[d]++,"F"!==o&&(t._i[o]=i)),t},getEntry:y,setStrong:function(t,e,n){s(t,e,function(t,n){this._t=v(t,e),this._k=n,this._l=void 0},function(){for(var t=this._k,e=this._l;e&&e.r;)e=e.p;return this._t&&(this._l=e=e?e.n:this._t._f)?f(0,"keys"==t?e.k:"values"==t?e.v:[e.k,e.v]):(this._t=void 0,f(1))},n?"entries":"values",!n,!0),l(e)}}},function(t,e,n){"use strict";var r=n(239),o=n(110);t.exports=n(138)("Set",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function(t){return r.def(o(this,"Set"),t=0===t?0:t,t)}},r)},function(t,e,n){"use strict";var r,o=n(70)(0),i=n(52),a=n(82),u=n(200),c=n(242),s=n(23),f=n(22),l=n(110),h=a.getWeak,p=Object.isExtensible,v=c.ufstore,d={},y=function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},g={get:function(t){if(s(t)){var e=h(t);return!0===e?v(l(this,"WeakMap")).get(t):e?e[this._i]:void 0}},set:function(t,e){return c.def(l(this,"WeakMap"),t,e)}},b=t.exports=n(138)("WeakMap",y,g,c,!0,!0);f(function(){return 7!=(new b).set((Object.freeze||Object)(d),7).get(d)})&&(u((r=c.getConstructor(y,"WeakMap")).prototype,g),a.NEED=!0,o(["delete","has","get","set"],function(t){var e=b.prototype,n=e[t];i(e,t,function(e,o){if(s(e)&&!p(e)){this._f||(this._f=new r);var i=this._f[t](e,o);return"set"==t?this:i}return n.call(this,e,o)})}))},function(t,e,n){"use strict";var r=n(100),o=n(82).getWeak,i=n(16),a=n(23),u=n(98),c=n(99),s=n(70),f=n(51),l=n(110),h=s(5),p=s(6),v=0,d=function(t){return t._l||(t._l=new y)},y=function(){this.a=[]},g=function(t,e){return h(t.a,function(t){return t[0]===e})};y.prototype={get:function(t){var e=g(this,t);if(e)return e[1]},has:function(t){return!!g(this,t)},set:function(t,e){var n=g(this,t);n?n[1]=e:this.a.push([t,e])},delete:function(t){var e=p(this.a,function(e){return e[0]===t});return~e&&this.a.splice(e,1),!!~e}},t.exports={getConstructor:function(t,e,n,i){var s=t(function(t,r){u(t,s,e,"_i"),t._t=e,t._i=v++,t._l=void 0,null!=r&&c(r,n,t[i],t)});return r(s.prototype,{delete:function(t){if(!a(t))return!1;var n=o(t);return!0===n?d(l(this,e)).delete(t):n&&f(n,this._i)&&delete n[this._i]},has:function(t){if(!a(t))return!1;var n=o(t);return!0===n?d(l(this,e)).has(t):n&&f(n,this._i)}}),s},def:function(t,e,n){var r=o(i(e),!0);return!0===r?d(t).set(e,n):r[t._i]=n,t},ufstore:d}},function(t,e,n){var r=n(65),o=n(31);t.exports=function(t){if(void 0===t)return 0;var e=r(t),n=o(e);if(e!==n)throw RangeError("Wrong length!");return n}},function(t,e,n){var r=n(93),o=n(133),i=n(16),a=n(21).Reflect;t.exports=a&&a.ownKeys||function(t){var e=r.f(i(t)),n=o.f;return n?e.concat(n(t)):e}},,,,,,,,,,,,,,,,,,,,,,function(t,e,n){var r=n(179),o=Math.pow,i=o(2,-52),a=o(2,-23),u=o(2,127)*(2-a),c=o(2,-126);t.exports=Math.fround||function(t){var e,n,o=Math.abs(t),s=r(t);return ou||n!=n?s*(1/0):s*n}},function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(e){return{e:!0,v:e}}}},function(t,e,n){var r=n(16),o=n(23),i=n(207);t.exports=function(t,e){if(r(t),o(e)&&e.constructor===t)return e;var n=i.f(t);return(0,n.resolve)(e),n.promise}},function(t,e,n){var r=n(99);t.exports=function(t,e){var n=[];return r(t,!1,n.push,n,e),n}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,n){"use strict";var r=n(21),o=n(51),i=n(35),a=n(2),u=n(52),c=n(82).KEY,s=n(22),f=n(132),l=n(108),h=n(90),p=n(28),v=n(219),d=n(220),y=n(311),g=n(152),b=n(16),m=n(23),_=n(53),w=n(76),S=n(85),k=n(83),E=n(223),x=n(60),T=n(33),O=n(91),P=x.f,A=T.f,j=E.f,M=r.Symbol,I=r.JSON,C=I&&I.stringify,R=p("_hidden"),D=p("toPrimitive"),F={}.propertyIsEnumerable,N=f("symbol-registry"),Z=f("symbols"),L=f("op-symbols"),B=Object.prototype,U="function"==typeof M,z=r.QObject,H=!z||!z.prototype||!z.prototype.findChild,W=i&&s(function(){return 7!=k(A({},"a",{get:function(){return A(this,"a",{value:7}).a}})).a})?function(t,e,n){var r=P(B,e);r&&delete B[e],A(t,e,n),r&&t!==B&&A(B,e,r)}:A,K=function(t){var e=Z[t]=k(M.prototype);return e._k=t,e},G=U&&"symbol"==typeof M.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof M},q=function(t,e,n){return t===B&&q(L,e,n),b(t),e=w(e,!0),b(n),o(Z,e)?(n.enumerable?(o(t,R)&&t[R][e]&&(t[R][e]=!1),n=k(n,{enumerable:S(0,!1)})):(o(t,R)||A(t,R,S(1,{})),t[R][e]=!0),W(t,e,n)):A(t,e,n)},V=function(t,e){b(t);for(var n,r=y(e=_(e)),o=0,i=r.length;i>o;)q(t,n=r[o++],e[n]);return t},X=function(t){var e=F.call(this,t=w(t,!0));return!(this===B&&o(Z,t)&&!o(L,t))&&(!(e||!o(this,t)||!o(Z,t)||o(this,R)&&this[R][t])||e)},Y=function(t,e){if(t=_(t),e=w(e,!0),t!==B||!o(Z,e)||o(L,e)){var n=P(t,e);return!n||!o(Z,e)||o(t,R)&&t[R][e]||(n.enumerable=!0),n}},J=function(t){for(var e,n=j(_(t)),r=[],i=0;n.length>i;)o(Z,e=n[i++])||e==R||e==c||r.push(e);return r},$=function(t){for(var e,n=t===B,r=j(n?L:_(t)),i=[],a=0;r.length>a;)!o(Z,e=r[a++])||n&&!o(B,e)||i.push(Z[e]);return i};U||(u((M=function(){if(this instanceof M)throw TypeError("Symbol is not a constructor!");var t=h(arguments.length>0?arguments[0]:void 0),e=function(n){this===B&&e.call(L,n),o(this,R)&&o(this[R],t)&&(this[R][t]=!1),W(this,t,S(1,n))};return i&&H&&W(B,t,{configurable:!0,set:e}),K(t)}).prototype,"toString",function(){return this._k}),x.f=Y,T.f=q,n(93).f=E.f=J,n(124).f=X,n(133).f=$,i&&!n(86)&&u(B,"propertyIsEnumerable",X,!0),v.f=function(t){return K(p(t))}),a(a.G+a.W+a.F*!U,{Symbol:M});for(var Q="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),tt=0;Q.length>tt;)p(Q[tt++]);for(var et=O(p.store),nt=0;et.length>nt;)d(et[nt++]);a(a.S+a.F*!U,"Symbol",{for:function(t){return o(N,t+="")?N[t]:N[t]=M(t)},keyFor:function(t){if(!G(t))throw TypeError(t+" is not a symbol!");for(var e in N)if(N[e]===t)return e},useSetter:function(){H=!0},useSimple:function(){H=!1}}),a(a.S+a.F*!U,"Object",{create:function(t,e){return void 0===e?k(t):V(k(t),e)},defineProperty:q,defineProperties:V,getOwnPropertyDescriptor:Y,getOwnPropertyNames:J,getOwnPropertySymbols:$}),I&&a(a.S+a.F*(!U||s(function(){var t=M();return"[null]"!=C([t])||"{}"!=C({a:t})||"{}"!=C(Object(t))})),"JSON",{stringify:function(t){for(var e,n,r=[t],o=1;arguments.length>o;)r.push(arguments[o++]);if(n=e=r[1],(m(e)||void 0!==t)&&!G(t))return g(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!G(e))return e}),r[1]=e,C.apply(I,r)}}),M.prototype[D]||n(56)(M.prototype,D,M.prototype.valueOf),l(M,"Symbol"),l(Math,"Math",!0),l(r.JSON,"JSON",!0)},function(t,e,n){var r=n(91),o=n(133),i=n(124);t.exports=function(t){var e=r(t),n=o.f;if(n)for(var a,u=n(t),c=i.f,s=0;u.length>s;)c.call(t,a=u[s++])&&e.push(a);return e}},function(t,e,n){var r=n(2);r(r.S,"Object",{create:n(83)})},function(t,e,n){var r=n(2);r(r.S+r.F*!n(35),"Object",{defineProperty:n(33).f})},function(t,e,n){var r=n(2);r(r.S+r.F*!n(35),"Object",{defineProperties:n(222)})},function(t,e,n){var r=n(53),o=n(60).f;n(69)("getOwnPropertyDescriptor",function(){return function(t,e){return o(r(t),e)}})},function(t,e,n){var r=n(43),o=n(58);n(69)("getPrototypeOf",function(){return function(t){return o(r(t))}})},function(t,e,n){var r=n(43),o=n(91);n(69)("keys",function(){return function(t){return o(r(t))}})},function(t,e,n){n(69)("getOwnPropertyNames",function(){return n(223).f})},function(t,e,n){var r=n(23),o=n(82).onFreeze;n(69)("freeze",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){var r=n(23),o=n(82).onFreeze;n(69)("seal",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){var r=n(23),o=n(82).onFreeze;n(69)("preventExtensions",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){var r=n(23);n(69)("isFrozen",function(t){return function(e){return!r(e)||!!t&&t(e)}})},function(t,e,n){var r=n(23);n(69)("isSealed",function(t){return function(e){return!r(e)||!!t&&t(e)}})},function(t,e,n){var r=n(23);n(69)("isExtensible",function(t){return function(e){return!!r(e)&&(!t||t(e))}})},function(t,e,n){var r=n(2);r(r.S+r.F,"Object",{assign:n(200)})},function(t,e,n){var r=n(2);r(r.S,"Object",{is:n(224)})},function(t,e,n){var r=n(2);r(r.S,"Object",{setPrototypeOf:n(176).set})},function(t,e,n){"use strict";var r=n(95),o={};o[n(28)("toStringTag")]="z",o+""!="[object z]"&&n(52)(Object.prototype,"toString",function(){return"[object "+r(this)+"]"},!0)},function(t,e,n){var r=n(2);r(r.P,"Function",{bind:n(225)})},function(t,e,n){var r=n(33).f,o=Function.prototype,i=/^\s*function ([^ (]*)/;"name"in o||n(35)&&r(o,"name",{configurable:!0,get:function(){try{return(""+this).match(i)[1]}catch(t){return""}}})},function(t,e,n){"use strict";var r=n(23),o=n(58),i=n(28)("hasInstance"),a=Function.prototype;i in a||n(33).f(a,i,{value:function(t){if("function"!=typeof this||!r(t))return!1;if(!r(this.prototype))return t instanceof this;for(;t=o(t);)if(this.prototype===t)return!0;return!1}})},function(t,e,n){var r=n(2),o=n(226);r(r.G+r.F*(parseInt!=o),{parseInt:o})},function(t,e,n){var r=n(2),o=n(227);r(r.G+r.F*(parseFloat!=o),{parseFloat:o})},function(t,e,n){"use strict";var r=n(21),o=n(51),i=n(68),a=n(178),u=n(76),c=n(22),s=n(93).f,f=n(60).f,l=n(33).f,h=n(116).trim,p=r.Number,v=p,d=p.prototype,y="Number"==i(n(83)(d)),g="trim"in String.prototype,b=function(t){var e=u(t,!1);if("string"==typeof e&&e.length>2){var n,r,o,i=(e=g?e.trim():h(e,3)).charCodeAt(0);if(43===i||45===i){if(88===(n=e.charCodeAt(2))||120===n)return NaN}else if(48===i){switch(e.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+e}for(var a,c=e.slice(2),s=0,f=c.length;so)return NaN;return parseInt(c,r)}}return+e};if(!p(" 0o1")||!p("0b1")||p("+0x1")){p=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof p&&(y?c(function(){d.valueOf.call(n)}):"Number"!=i(n))?a(new v(b(e)),n,p):b(e)};for(var m,_=n(35)?s(v):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),w=0;_.length>w;w++)o(v,m=_[w])&&!o(p,m)&&l(p,m,f(v,m));p.prototype=d,d.constructor=p,n(52)(r,"Number",p)}},function(t,e,n){"use strict";var r=n(2),o=n(65),i=n(228),a=n(202),u=1..toFixed,c=Math.floor,s=[0,0,0,0,0,0],f="Number.toFixed: incorrect invocation!",l=function(t,e){for(var n=-1,r=e;++n<6;)r+=t*s[n],s[n]=r%1e7,r=c(r/1e7)},h=function(t){for(var e=6,n=0;--e>=0;)n+=s[e],s[e]=c(n/t),n=n%t*1e7},p=function(){for(var t=6,e="";--t>=0;)if(""!==e||0===t||0!==s[t]){var n=String(s[t]);e=""===e?n:e+a.call("0",7-n.length)+n}return e},v=function(t,e,n){return 0===e?n:e%2==1?v(t,e-1,n*t):v(t*t,e/2,n)};r(r.P+r.F*(!!u&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!n(22)(function(){u.call({})})),"Number",{toFixed:function(t){var e,n,r,u,c=i(this,f),s=o(t),d="",y="0";if(s<0||s>20)throw RangeError(f);if(c!=c)return"NaN";if(c<=-1e21||c>=1e21)return String(c);if(c<0&&(d="-",c=-c),c>1e-21)if(n=(e=function(t){for(var e=0,n=t;n>=4096;)e+=12,n/=4096;for(;n>=2;)e+=1,n/=2;return e}(c*v(2,69,1))-69)<0?c*v(2,-e,1):c/v(2,e,1),n*=4503599627370496,(e=52-e)>0){for(l(0,n),r=s;r>=7;)l(1e7,0),r-=7;for(l(v(10,r,1),0),r=e-1;r>=23;)h(1<<23),r-=23;h(1<0?d+((u=y.length)<=s?"0."+a.call("0",s-u)+y:y.slice(0,u-s)+"."+y.slice(u-s)):d+y}})},function(t,e,n){"use strict";var r=n(2),o=n(22),i=n(228),a=1..toPrecision;r(r.P+r.F*(o(function(){return"1"!==a.call(1,void 0)})||!o(function(){a.call({})})),"Number",{toPrecision:function(t){var e=i(this,"Number#toPrecision: incorrect invocation!");return void 0===t?a.call(e):a.call(e,t)}})},function(t,e,n){var r=n(2);r(r.S,"Number",{EPSILON:Math.pow(2,-52)})},function(t,e,n){var r=n(2),o=n(21).isFinite;r(r.S,"Number",{isFinite:function(t){return"number"==typeof t&&o(t)}})},function(t,e,n){var r=n(2);r(r.S,"Number",{isInteger:n(229)})},function(t,e,n){var r=n(2);r(r.S,"Number",{isNaN:function(t){return t!=t}})},function(t,e,n){var r=n(2),o=n(229),i=Math.abs;r(r.S,"Number",{isSafeInteger:function(t){return o(t)&&i(t)<=9007199254740991}})},function(t,e,n){var r=n(2);r(r.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},function(t,e,n){var r=n(2);r(r.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},function(t,e,n){var r=n(2),o=n(227);r(r.S+r.F*(Number.parseFloat!=o),"Number",{parseFloat:o})},function(t,e,n){var r=n(2),o=n(226);r(r.S+r.F*(Number.parseInt!=o),"Number",{parseInt:o})},function(t,e,n){var r=n(2),o=n(230),i=Math.sqrt,a=Math.acosh;r(r.S+r.F*!(a&&710==Math.floor(a(Number.MAX_VALUE))&&a(1/0)==1/0),"Math",{acosh:function(t){return(t=+t)<1?NaN:t>94906265.62425156?Math.log(t)+Math.LN2:o(t-1+i(t-1)*i(t+1))}})},function(t,e,n){var r=n(2),o=Math.asinh;r(r.S+r.F*!(o&&1/o(0)>0),"Math",{asinh:function t(e){return isFinite(e=+e)&&0!=e?e<0?-t(-e):Math.log(e+Math.sqrt(e*e+1)):e}})},function(t,e,n){var r=n(2),o=Math.atanh;r(r.S+r.F*!(o&&1/o(-0)<0),"Math",{atanh:function(t){return 0==(t=+t)?t:Math.log((1+t)/(1-t))/2}})},function(t,e,n){var r=n(2),o=n(179);r(r.S,"Math",{cbrt:function(t){return o(t=+t)*Math.pow(Math.abs(t),1/3)}})},function(t,e,n){var r=n(2);r(r.S,"Math",{clz32:function(t){return(t>>>=0)?31-Math.floor(Math.log(t+.5)*Math.LOG2E):32}})},function(t,e,n){var r=n(2),o=Math.exp;r(r.S,"Math",{cosh:function(t){return(o(t=+t)+o(-t))/2}})},function(t,e,n){var r=n(2),o=n(180);r(r.S+r.F*(o!=Math.expm1),"Math",{expm1:o})},function(t,e,n){var r=n(2);r(r.S,"Math",{fround:n(266)})},function(t,e,n){var r=n(2),o=Math.abs;r(r.S,"Math",{hypot:function(t,e){for(var n,r,i=0,a=0,u=arguments.length,c=0;a0?(r=n/c)*r:n;return c===1/0?1/0:c*Math.sqrt(i)}})},function(t,e,n){var r=n(2),o=Math.imul;r(r.S+r.F*n(22)(function(){return-5!=o(4294967295,5)||2!=o.length}),"Math",{imul:function(t,e){var n=+t,r=+e,o=65535&n,i=65535&r;return 0|o*i+((65535&n>>>16)*i+o*(65535&r>>>16)<<16>>>0)}})},function(t,e,n){var r=n(2);r(r.S,"Math",{log10:function(t){return Math.log(t)*Math.LOG10E}})},function(t,e,n){var r=n(2);r(r.S,"Math",{log1p:n(230)})},function(t,e,n){var r=n(2);r(r.S,"Math",{log2:function(t){return Math.log(t)/Math.LN2}})},function(t,e,n){var r=n(2);r(r.S,"Math",{sign:n(179)})},function(t,e,n){var r=n(2),o=n(180),i=Math.exp;r(r.S+r.F*n(22)(function(){return-2e-17!=!Math.sinh(-2e-17)}),"Math",{sinh:function(t){return Math.abs(t=+t)<1?(o(t)-o(-t))/2:(i(t-1)-i(-t-1))*(Math.E/2)}})},function(t,e,n){var r=n(2),o=n(180),i=Math.exp;r(r.S,"Math",{tanh:function(t){var e=o(t=+t),n=o(-t);return e==1/0?1:n==1/0?-1:(e-n)/(i(t)+i(-t))}})},function(t,e,n){var r=n(2);r(r.S,"Math",{trunc:function(t){return(t>0?Math.floor:Math.ceil)(t)}})},function(t,e,n){var r=n(2),o=n(92),i=String.fromCharCode,a=String.fromCodePoint;r(r.S+r.F*(!!a&&1!=a.length),"String",{fromCodePoint:function(t){for(var e,n=[],r=arguments.length,a=0;r>a;){if(e=+arguments[a++],o(e,1114111)!==e)throw RangeError(e+" is not a valid code point");n.push(e<65536?i(e):i(55296+((e-=65536)>>10),e%1024+56320))}return n.join("")}})},function(t,e,n){var r=n(2),o=n(53),i=n(31);r(r.S,"String",{raw:function(t){for(var e=o(t.raw),n=i(e.length),r=arguments.length,a=[],u=0;n>u;)a.push(String(e[u++])),u=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){"use strict";var r=n(2),o=n(153)(!1);r(r.P,"String",{codePointAt:function(t){return o(this,t)}})},function(t,e,n){"use strict";var r=n(2),o=n(31),i=n(182),a="".endsWith;r(r.P+r.F*n(183)("endsWith"),"String",{endsWith:function(t){var e=i(this,t,"endsWith"),n=arguments.length>1?arguments[1]:void 0,r=o(e.length),u=void 0===n?r:Math.min(o(n),r),c=String(t);return a?a.call(e,c,u):e.slice(u-c.length,u)===c}})},function(t,e,n){"use strict";var r=n(2),o=n(182);r(r.P+r.F*n(183)("includes"),"String",{includes:function(t){return!!~o(this,t,"includes").indexOf(t,arguments.length>1?arguments[1]:void 0)}})},function(t,e,n){var r=n(2);r(r.P,"String",{repeat:n(202)})},function(t,e,n){"use strict";var r=n(2),o=n(31),i=n(182),a="".startsWith;r(r.P+r.F*n(183)("startsWith"),"String",{startsWith:function(t){var e=i(this,t,"startsWith"),n=o(Math.min(arguments.length>1?arguments[1]:void 0,e.length)),r=String(t);return a?a.call(e,r,n):e.slice(n,n+r.length)===r}})},function(t,e,n){"use strict";n(49)("anchor",function(t){return function(e){return t(this,"a","name",e)}})},function(t,e,n){"use strict";n(49)("big",function(t){return function(){return t(this,"big","","")}})},function(t,e,n){"use strict";n(49)("blink",function(t){return function(){return t(this,"blink","","")}})},function(t,e,n){"use strict";n(49)("bold",function(t){return function(){return t(this,"b","","")}})},function(t,e,n){"use strict";n(49)("fixed",function(t){return function(){return t(this,"tt","","")}})},function(t,e,n){"use strict";n(49)("fontcolor",function(t){return function(e){return t(this,"font","color",e)}})},function(t,e,n){"use strict";n(49)("fontsize",function(t){return function(e){return t(this,"font","size",e)}})},function(t,e,n){"use strict";n(49)("italics",function(t){return function(){return t(this,"i","","")}})},function(t,e,n){"use strict";n(49)("link",function(t){return function(e){return t(this,"a","href",e)}})},function(t,e,n){"use strict";n(49)("small",function(t){return function(){return t(this,"small","","")}})},function(t,e,n){"use strict";n(49)("strike",function(t){return function(){return t(this,"strike","","")}})},function(t,e,n){"use strict";n(49)("sub",function(t){return function(){return t(this,"sub","","")}})},function(t,e,n){"use strict";n(49)("sup",function(t){return function(){return t(this,"sup","","")}})},function(t,e,n){var r=n(2);r(r.S,"Date",{now:function(){return(new Date).getTime()}})},function(t,e,n){"use strict";var r=n(2),o=n(43),i=n(76);r(r.P+r.F*n(22)(function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}),"Date",{toJSON:function(t){var e=o(this),n=i(e);return"number"!=typeof n||isFinite(n)?e.toISOString():null}})},function(t,e,n){var r=n(2),o=n(388);r(r.P+r.F*(Date.prototype.toISOString!==o),"Date",{toISOString:o})},function(t,e,n){"use strict";var r=n(22),o=Date.prototype.getTime,i=Date.prototype.toISOString,a=function(t){return t>9?t:"0"+t};t.exports=r(function(){return"0385-07-25T07:06:39.999Z"!=i.call(new Date(-5e13-1))})||!r(function(){i.call(new Date(NaN))})?function(){if(!isFinite(o.call(this)))throw RangeError("Invalid time value");var t=this,e=t.getUTCFullYear(),n=t.getUTCMilliseconds(),r=e<0?"-":e>9999?"+":"";return r+("00000"+Math.abs(e)).slice(r?-6:-4)+"-"+a(t.getUTCMonth()+1)+"-"+a(t.getUTCDate())+"T"+a(t.getUTCHours())+":"+a(t.getUTCMinutes())+":"+a(t.getUTCSeconds())+"."+(n>99?n:"0"+a(n))+"Z"}:i},function(t,e,n){var r=Date.prototype,o=r.toString,i=r.getTime;new Date(NaN)+""!="Invalid Date"&&n(52)(r,"toString",function(){var t=i.call(this);return t==t?o.call(this):"Invalid Date"})},function(t,e,n){var r=n(28)("toPrimitive"),o=Date.prototype;r in o||n(56)(o,r,n(391))},function(t,e,n){"use strict";var r=n(16),o=n(76);t.exports=function(t){if("string"!==t&&"number"!==t&&"default"!==t)throw TypeError("Incorrect hint");return o(r(this),"number"!=t)}},function(t,e,n){var r=n(2);r(r.S,"Array",{isArray:n(152)})},function(t,e,n){"use strict";var r=n(64),o=n(2),i=n(43),a=n(231),u=n(184),c=n(31),s=n(203),f=n(134);o(o.S+o.F*!n(135)(function(t){Array.from(t)}),"Array",{from:function(t){var e,n,o,l,h=i(t),p="function"==typeof this?this:Array,v=arguments.length,d=v>1?arguments[1]:void 0,y=void 0!==d,g=0,b=f(h);if(y&&(d=r(d,v>2?arguments[2]:void 0,2)),null==b||p==Array&&u(b))for(n=new p(e=c(h.length));e>g;g++)s(n,g,y?d(h[g],g):h[g]);else for(l=b.call(h),n=new p;!(o=l.next()).done;g++)s(n,g,y?a(l,d,[o.value,g],!0):o.value);return n.length=g,n}})},function(t,e,n){"use strict";var r=n(2),o=n(203);r(r.S+r.F*n(22)(function(){function t(){}return!(Array.of.call(t)instanceof t)}),"Array",{of:function(){for(var t=0,e=arguments.length,n=new("function"==typeof this?this:Array)(e);e>t;)o(n,t,arguments[t++]);return n.length=e,n}})},function(t,e,n){"use strict";var r=n(2),o=n(53),i=[].join;r(r.P+r.F*(n(115)!=Object||!n(61)(i)),"Array",{join:function(t){return i.call(o(this),void 0===t?",":t)}})},function(t,e,n){"use strict";var r=n(2),o=n(175),i=n(68),a=n(92),u=n(31),c=[].slice;r(r.P+r.F*n(22)(function(){o&&c.call(o)}),"Array",{slice:function(t,e){var n=u(this.length),r=i(this);if(e=void 0===e?n:e,"Array"==r)return c.call(this,t,e);for(var o=a(t,n),s=a(e,n),f=u(s-o),l=new Array(f),h=0;h1&&(r=Math.min(r,i(arguments[1]))),r<0&&(r=n+r);r>=0;r--)if(r in e&&e[r]===t)return r||0;return-1}})},function(t,e,n){var r=n(2);r(r.P,"Array",{copyWithin:n(234)}),n(96)("copyWithin")},function(t,e,n){var r=n(2);r(r.P,"Array",{fill:n(185)}),n(96)("fill")},function(t,e,n){"use strict";var r=n(2),o=n(70)(5),i=!0;"find"in[]&&Array(1).find(function(){i=!1}),r(r.P+r.F*i,"Array",{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),n(96)("find")},function(t,e,n){"use strict";var r=n(2),o=n(70)(6),i="findIndex",a=!0;i in[]&&Array(1)[i](function(){a=!1}),r(r.P+r.F*a,"Array",{findIndex:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),n(96)(i)},function(t,e,n){n(97)("Array")},function(t,e,n){var r=n(21),o=n(178),i=n(33).f,a=n(93).f,u=n(155),c=n(125),s=r.RegExp,f=s,l=s.prototype,h=/a/g,p=/a/g,v=new s(h)!==h;if(n(35)&&(!v||n(22)(function(){return p[n(28)("match")]=!1,s(h)!=h||s(p)==p||"/a/i"!=s(h,"i")}))){s=function(t,e){var n=this instanceof s,r=u(t),i=void 0===e;return!n&&r&&t.constructor===s&&i?t:o(v?new f(r&&!i?t.source:t,e):f((r=t instanceof s)?t.source:t,r&&i?c.call(t):e),n?this:l,s)};for(var d=function(t){t in s||i(s,t,{configurable:!0,get:function(){return f[t]},set:function(e){f[t]=e}})},y=a(f),g=0;y.length>g;)d(y[g++]);l.constructor=s,s.prototype=l,n(52)(r,"RegExp",s)}n(97)("RegExp")},function(t,e,n){"use strict";n(236);var r=n(16),o=n(125),i=n(35),a=/./.toString,u=function(t){n(52)(RegExp.prototype,"toString",t,!0)};n(22)(function(){return"/a/b"!=a.call({source:"a",flags:"b"})})?u(function(){var t=r(this);return"/".concat(t.source,"/","flags"in t?t.flags:!i&&t instanceof RegExp?o.call(t):void 0)}):"toString"!=a.name&&u(function(){return a.call(this)})},function(t,e,n){"use strict";var r=n(16),o=n(31),i=n(187),a=n(136);n(137)("match",1,function(t,e,n,u){return[function(n){var r=t(this),o=null==n?void 0:n[e];return void 0!==o?o.call(n,r):new RegExp(n)[e](String(r))},function(t){var e=u(n,t,this);if(e.done)return e.value;var c=r(t),s=String(this);if(!c.global)return a(c,s);var f=c.unicode;c.lastIndex=0;for(var l,h=[],p=0;null!==(l=a(c,s));){var v=String(l[0]);h[p]=v,""===v&&(c.lastIndex=i(s,o(c.lastIndex),f)),p++}return 0===p?null:h}]})},function(t,e,n){"use strict";var r=n(16),o=n(43),i=n(31),a=n(65),u=n(187),c=n(136),s=Math.max,f=Math.min,l=Math.floor,h=/\$([$&`']|\d\d?|<[^>]*>)/g,p=/\$([$&`']|\d\d?)/g;n(137)("replace",2,function(t,e,n,v){return[function(r,o){var i=t(this),a=null==r?void 0:r[e];return void 0!==a?a.call(r,i,o):n.call(String(i),r,o)},function(t,e){var o=v(n,t,this,e);if(o.done)return o.value;var l=r(t),h=String(this),p="function"==typeof e;p||(e=String(e));var y=l.global;if(y){var g=l.unicode;l.lastIndex=0}for(var b=[];;){var m=c(l,h);if(null===m)break;if(b.push(m),!y)break;""===String(m[0])&&(l.lastIndex=u(h,i(l.lastIndex),g))}for(var _,w="",S=0,k=0;k=S&&(w+=h.slice(S,x)+j,S=x+E.length)}return w+h.slice(S)}];function d(t,e,r,i,a,u){var c=r+t.length,s=i.length,f=p;return void 0!==a&&(a=o(a),f=h),n.call(u,f,function(n,o){var u;switch(o.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(c);case"<":u=a[o.slice(1,-1)];break;default:var f=+o;if(0===f)return n;if(f>s){var h=l(f/10);return 0===h?n:h<=s?void 0===i[h-1]?o.charAt(1):i[h-1]+o.charAt(1):n}u=i[f-1]}return void 0===u?"":u})}})},function(t,e,n){"use strict";var r=n(16),o=n(224),i=n(136);n(137)("search",1,function(t,e,n,a){return[function(n){var r=t(this),o=null==n?void 0:n[e];return void 0!==o?o.call(n,r):new RegExp(n)[e](String(r))},function(t){var e=a(n,t,this);if(e.done)return e.value;var u=r(t),c=String(this),s=u.lastIndex;o(s,0)||(u.lastIndex=0);var f=i(u,c);return o(u.lastIndex,s)||(u.lastIndex=s),null===f?-1:f.index}]})},function(t,e,n){"use strict";var r=n(155),o=n(16),i=n(126),a=n(187),u=n(31),c=n(136),s=n(186),f=Math.min,l=[].push,h=!!function(){try{return new RegExp("x","y")}catch(t){}}();n(137)("split",2,function(t,e,n,p){var v;return v="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,e){var o=String(this);if(void 0===t&&0===e)return[];if(!r(t))return n.call(o,t,e);for(var i,a,u,c=[],f=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),h=0,p=void 0===e?4294967295:e>>>0,v=new RegExp(t.source,f+"g");(i=s.call(v,o))&&!((a=v.lastIndex)>h&&(c.push(o.slice(h,i.index)),i.length>1&&i.index=p));)v.lastIndex===i.index&&v.lastIndex++;return h===o.length?!u&&v.test("")||c.push(""):c.push(o.slice(h)),c.length>p?c.slice(0,p):c}:"0".split(void 0,0).length?function(t,e){return void 0===t&&0===e?[]:n.call(this,t,e)}:n,[function(n,r){var o=t(this),i=null==n?void 0:n[e];return void 0!==i?i.call(n,o,r):v.call(String(o),n,r)},function(t,e){var r=p(v,t,this,e,v!==n);if(r.done)return r.value;var s=o(t),l=String(this),d=i(s,RegExp),y=s.unicode,g=(s.ignoreCase?"i":"")+(s.multiline?"m":"")+(s.unicode?"u":"")+(h?"y":"g"),b=new d(h?s:"^(?:"+s.source+")",g),m=void 0===e?4294967295:e>>>0;if(0===m)return[];if(0===l.length)return null===c(b,l)?[l]:[];for(var _=0,w=0,S=[];wi;)a(n[i++]);t._c=[],t._n=!1,e&&!t._h&&R(t)})}},R=function(t){g.call(c,function(){var e,n,r,o=t._v,i=D(t);if(i&&(e=_(function(){P?E.emit("unhandledRejection",o,t):(n=c.onunhandledrejection)?n({promise:t,reason:o}):(r=c.console)&&r.error&&r.error("Unhandled promise rejection",o)}),t._h=P||D(t)?2:1),t._a=void 0,i&&e.e)throw e.v})},D=function(t){return 1!==t._h&&0===(t._a||t._c).length},F=function(t){g.call(c,function(){var e;P?E.emit("rejectionHandled",t):(e=c.onrejectionhandled)&&e({promise:t,reason:t._v})})},N=function(t){var e=this;e._d||(e._d=!0,(e=e._w||e)._v=t,e._s=2,e._a||(e._a=e._c.slice()),C(e,!0))},Z=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw k("Promise can't be resolved itself");(e=I(t))?b(function(){var r={_w:n,_d:!1};try{e.call(t,s(Z,r,1),s(N,r,1))}catch(o){N.call(r,o)}}):(n._v=t,n._s=1,C(n,!1))}catch(r){N.call({_w:n,_d:!1},r)}}};M||(O=function(t){v(this,O,"Promise","_h"),p(t),r.call(this);try{t(s(Z,this,1),s(N,this,1))}catch(e){N.call(this,e)}},(r=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=n(100)(O.prototype,{then:function(t,e){var n=j(y(this,O));return n.ok="function"!=typeof t||t,n.fail="function"==typeof e&&e,n.domain=P?E.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&C(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),i=function(){var t=new r;this.promise=t,this.resolve=s(Z,t,1),this.reject=s(N,t,1)},m.f=j=function(t){return t===O||t===a?new i(t):o(t)}),l(l.G+l.W+l.F*!M,{Promise:O}),n(108)(O,"Promise"),n(97)("Promise"),a=n(55).Promise,l(l.S+l.F*!M,"Promise",{reject:function(t){var e=j(this);return(0,e.reject)(t),e.promise}}),l(l.S+l.F*(u||!M),"Promise",{resolve:function(t){return S(u&&this===a?O:this,t)}}),l(l.S+l.F*!(M&&n(135)(function(t){O.all(t).catch(A)})),"Promise",{all:function(t){var e=this,n=j(e),r=n.resolve,o=n.reject,i=_(function(){var n=[],i=0,a=1;d(t,!1,function(t){var u=i++,c=!1;n.push(void 0),a++,e.resolve(t).then(function(t){c||(c=!0,n[u]=t,--a||r(n))},o)}),--a||r(n)});return i.e&&o(i.v),n.promise},race:function(t){var e=this,n=j(e),r=n.reject,o=_(function(){d(t,!1,function(t){e.resolve(t).then(n.resolve,r)})});return o.e&&r(o.v),n.promise}})},function(t,e,n){"use strict";var r=n(242),o=n(110);n(138)("WeakSet",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function(t){return r.def(o(this,"WeakSet"),t,!0)}},r,!1,!0)},function(t,e,n){"use strict";var r=n(2),o=n(139),i=n(188),a=n(16),u=n(92),c=n(31),s=n(23),f=n(21).ArrayBuffer,l=n(126),h=i.ArrayBuffer,p=i.DataView,v=o.ABV&&f.isView,d=h.prototype.slice,y=o.VIEW;r(r.G+r.W+r.F*(f!==h),{ArrayBuffer:h}),r(r.S+r.F*!o.CONSTR,"ArrayBuffer",{isView:function(t){return v&&v(t)||s(t)&&y in t}}),r(r.P+r.U+r.F*n(22)(function(){return!new h(2).slice(1,void 0).byteLength}),"ArrayBuffer",{slice:function(t,e){if(void 0!==d&&void 0===e)return d.call(a(this),t);for(var n=a(this).byteLength,r=u(t,n),o=u(void 0===e?n:e,n),i=new(l(this,h))(c(o-r)),s=new p(this),f=new p(i),v=0;r=e.length)return{value:void 0,done:!0}}while(!((t=e[this._i++])in this._t));return{value:t,done:!1}}),r(r.S,"Reflect",{enumerate:function(t){return new i(t)}})},function(t,e,n){var r=n(60),o=n(58),i=n(51),a=n(2),u=n(23),c=n(16);a(a.S,"Reflect",{get:function t(e,n){var a,s,f=arguments.length<3?e:arguments[2];return c(e)===f?e[n]:(a=r.f(e,n))?i(a,"value")?a.value:void 0!==a.get?a.get.call(f):void 0:u(s=o(e))?t(s,n,f):void 0}})},function(t,e,n){var r=n(60),o=n(2),i=n(16);o(o.S,"Reflect",{getOwnPropertyDescriptor:function(t,e){return r.f(i(t),e)}})},function(t,e,n){var r=n(2),o=n(58),i=n(16);r(r.S,"Reflect",{getPrototypeOf:function(t){return o(i(t))}})},function(t,e,n){var r=n(2);r(r.S,"Reflect",{has:function(t,e){return e in t}})},function(t,e,n){var r=n(2),o=n(16),i=Object.isExtensible;r(r.S,"Reflect",{isExtensible:function(t){return o(t),!i||i(t)}})},function(t,e,n){var r=n(2);r(r.S,"Reflect",{ownKeys:n(244)})},function(t,e,n){var r=n(2),o=n(16),i=Object.preventExtensions;r(r.S,"Reflect",{preventExtensions:function(t){o(t);try{return i&&i(t),!0}catch(e){return!1}}})},function(t,e,n){var r=n(33),o=n(60),i=n(58),a=n(51),u=n(2),c=n(85),s=n(16),f=n(23);u(u.S,"Reflect",{set:function t(e,n,u){var l,h,p=arguments.length<4?e:arguments[3],v=o.f(s(e),n);if(!v){if(f(h=i(e)))return t(h,n,u,p);v=c(0)}if(a(v,"value")){if(!1===v.writable||!f(p))return!1;if(l=o.f(p,n)){if(l.get||l.set||!1===l.writable)return!1;l.value=u,r.f(p,n,l)}else r.f(p,n,c(0,u));return!0}return void 0!==v.set&&(v.set.call(p,u),!0)}})},function(t,e,n){var r=n(2),o=n(176);o&&r(r.S,"Reflect",{setPrototypeOf:function(t,e){o.check(t,e);try{return o.set(t,e),!0}catch(n){return!1}}})},function(t,e,n){var r=n(79),o=n(16),i=r.key,a=r.set;r.exp({defineMetadata:function(t,e,n,r){a(t,e,o(n),i(r))}})},function(t,e,n){var r=n(79),o=n(16),i=r.key,a=r.map,u=r.store;r.exp({deleteMetadata:function(t,e){var n=arguments.length<3?void 0:i(arguments[2]),r=a(o(e),n,!1);if(void 0===r||!r.delete(t))return!1;if(r.size)return!0;var c=u.get(e);return c.delete(n),!!c.size||u.delete(e)}})},function(t,e,n){var r=n(79),o=n(16),i=n(58),a=r.has,u=r.get,c=r.key,s=function(t,e,n){if(a(t,e,n))return u(t,e,n);var r=i(e);return null!==r?s(t,r,n):void 0};r.exp({getMetadata:function(t,e){return s(t,o(e),arguments.length<3?void 0:c(arguments[2]))}})},function(t,e,n){var r=n(240),o=n(269),i=n(79),a=n(16),u=n(58),c=i.keys,s=i.key,f=function(t,e){var n=c(t,e),i=u(t);if(null===i)return n;var a=f(i,e);return a.length?n.length?o(new r(n.concat(a))):a:n};i.exp({getMetadataKeys:function(t){return f(a(t),arguments.length<2?void 0:s(arguments[1]))}})},function(t,e,n){var r=n(79),o=n(16),i=r.get,a=r.key;r.exp({getOwnMetadata:function(t,e){return i(t,o(e),arguments.length<3?void 0:a(arguments[2]))}})},function(t,e,n){var r=n(79),o=n(16),i=r.keys,a=r.key;r.exp({getOwnMetadataKeys:function(t){return i(o(t),arguments.length<2?void 0:a(arguments[1]))}})},function(t,e,n){var r=n(79),o=n(16),i=n(58),a=r.has,u=r.key,c=function(t,e,n){if(a(t,e,n))return!0;var r=i(e);return null!==r&&c(t,r,n)};r.exp({hasMetadata:function(t,e){return c(t,o(e),arguments.length<3?void 0:u(arguments[2]))}})},function(t,e,n){var r=n(79),o=n(16),i=r.has,a=r.key;r.exp({hasOwnMetadata:function(t,e){return i(t,o(e),arguments.length<3?void 0:a(arguments[2]))}})},function(t,e,n){var r=n(79),o=n(16),i=n(47),a=r.key,u=r.set;r.exp({metadata:function(t,e){return function(n,r){u(t,e,(void 0!==r?o:i)(n),a(r))}}})},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),n(734),n(735),n(736),!Element.prototype.matches&&Element.prototype.msMatchesSelector&&(Element.prototype.matches=Element.prototype.msMatchesSelector),n(737),n(738)},function(t,e,n){n(310),n(312),n(313),n(314),n(315),n(316),n(317),n(318),n(319),n(320),n(321),n(322),n(323),n(324),n(325),n(326),n(327),n(328),n(329),n(330),n(331),n(332),n(333),n(334),n(335),n(336),n(337),n(338),n(339),n(340),n(341),n(342),n(343),n(344),n(345),n(346),n(347),n(348),n(349),n(350),n(351),n(352),n(353),n(354),n(355),n(356),n(357),n(358),n(359),n(360),n(361),n(362),n(363),n(364),n(365),n(366),n(367),n(368),n(369),n(370),n(371),n(372),n(373),n(374),n(375),n(376),n(377),n(378),n(379),n(380),n(381),n(382),n(383),n(384),n(385),n(386),n(387),n(389),n(390),n(392),n(393),n(394),n(395),n(396),n(397),n(398),n(400),n(401),n(402),n(403),n(404),n(405),n(406),n(407),n(408),n(409),n(410),n(411),n(412),n(204),n(413),n(235),n(414),n(236),n(415),n(416),n(417),n(418),n(419),n(238),n(240),n(241),n(420),n(421),n(422),n(423),n(424),n(425),n(426),n(427),n(428),n(429),n(430),n(431),n(432),n(433),n(434),n(435),n(436),n(437),n(438),n(439),n(440),n(441),n(442),n(443),n(444),n(445),t.exports=n(55)},function(t,e,n){n(446),n(447),n(448),n(449),n(450),n(451),n(452),n(453),n(454),t.exports=n(55).Reflect},function(t,e,n){(function(r){var o,i; +/** +* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes +* (c) 2010-2020 Google LLC. https://angular.io/ +* License: MIT +*/void 0===(i="function"==typeof(o=function(){"use strict"; +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */!function(t){var e=t.performance;function n(t){e&&e.mark&&e.mark(t)}function r(t,n){e&&e.measure&&e.measure(t,n)}n("Zone");var o=t.__Zone_symbol_prefix||"__zone_symbol__";function i(t){return o+t}var a=!0===t[i("forceDuplicateZoneCheck")];if(t.Zone){if(a||"function"!=typeof t.Zone.__symbol__)throw new Error("Zone already loaded.");return t.Zone}var u=function(){function e(t,e){this._parent=t,this._name=e?e.name||"unnamed":"",this._properties=e&&e.properties||{},this._zoneDelegate=new f(this,this._parent&&this._parent._zoneDelegate,e)}return e.assertZonePatched=function(){if(t.Promise!==A.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")},Object.defineProperty(e,"root",{get:function(){for(var t=e.current;t.parent;)t=t.parent;return t},enumerable:!0,configurable:!0}),Object.defineProperty(e,"current",{get:function(){return M.zone},enumerable:!0,configurable:!0}),Object.defineProperty(e,"currentTask",{get:function(){return I},enumerable:!0,configurable:!0}),e.__load_patch=function(o,i){if(A.hasOwnProperty(o)){if(a)throw Error("Already loaded patch: "+o)}else if(!t["__Zone_disable_"+o]){var u="Zone:"+o;n(u),A[o]=i(t,e,j),r(u,u)}},Object.defineProperty(e.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return this._name},enumerable:!0,configurable:!0}),e.prototype.get=function(t){var e=this.getZoneWith(t);if(e)return e._properties[t]},e.prototype.getZoneWith=function(t){for(var e=this;e;){if(e._properties.hasOwnProperty(t))return e;e=e._parent}return null},e.prototype.fork=function(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)},e.prototype.wrap=function(t,e){if("function"!=typeof t)throw new Error("Expecting function got: "+t);var n=this._zoneDelegate.intercept(this,t,e),r=this;return function(){return r.runGuarded(n,this,arguments,e)}},e.prototype.run=function(t,e,n,r){M={parent:M,zone:this};try{return this._zoneDelegate.invoke(this,t,e,n,r)}finally{M=M.parent}},e.prototype.runGuarded=function(t,e,n,r){void 0===e&&(e=null),M={parent:M,zone:this};try{try{return this._zoneDelegate.invoke(this,t,e,n,r)}catch(o){if(this._zoneDelegate.handleError(this,o))throw o}}finally{M=M.parent}},e.prototype.runTask=function(t,e,n){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||m).name+"; Execution: "+this.name+")");if(t.state!==_||t.type!==P&&t.type!==O){var r=t.state!=k;r&&t._transitionTo(k,S),t.runCount++;var o=I;I=t,M={parent:M,zone:this};try{t.type==O&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,e,n)}catch(i){if(this._zoneDelegate.handleError(this,i))throw i}}finally{t.state!==_&&t.state!==x&&(t.type==P||t.data&&t.data.isPeriodic?r&&t._transitionTo(S,k):(t.runCount=0,this._updateTaskCount(t,-1),r&&t._transitionTo(_,k,_))),M=M.parent,I=o}}},e.prototype.scheduleTask=function(t){if(t.zone&&t.zone!==this)for(var e=this;e;){if(e===t.zone)throw Error("can not reschedule task to "+this.name+" which is descendants of the original zone "+t.zone.name);e=e.parent}t._transitionTo(w,_);var n=[];t._zoneDelegates=n,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(r){throw t._transitionTo(x,w,_),this._zoneDelegate.handleError(this,r),r}return t._zoneDelegates===n&&this._updateTaskCount(t,1),t.state==w&&t._transitionTo(S,w),t},e.prototype.scheduleMicroTask=function(t,e,n,r){return this.scheduleTask(new l(T,t,e,n,r,void 0))},e.prototype.scheduleMacroTask=function(t,e,n,r,o){return this.scheduleTask(new l(O,t,e,n,r,o))},e.prototype.scheduleEventTask=function(t,e,n,r,o){return this.scheduleTask(new l(P,t,e,n,r,o))},e.prototype.cancelTask=function(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||m).name+"; Execution: "+this.name+")");t._transitionTo(E,S,k);try{this._zoneDelegate.cancelTask(this,t)}catch(e){throw t._transitionTo(x,E),this._zoneDelegate.handleError(this,e),e}return this._updateTaskCount(t,-1),t._transitionTo(_,E),t.runCount=0,t},e.prototype._updateTaskCount=function(t,e){var n=t._zoneDelegates;-1==e&&(t._zoneDelegates=null);for(var r=0;r0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:t};this.hasTask(this.zone,i)}},t}(),l=function(){function e(n,r,o,i,a,u){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=n,this.source=r,this.data=i,this.scheduleFn=a,this.cancelFn=u,!o)throw new Error("callback is not defined");this.callback=o;var c=this;n===P&&i&&i.useG?this.invoke=e.invokeTask:this.invoke=function(){return e.invokeTask.call(t,c,this,arguments)}}return e.invokeTask=function(t,e,n){t||(t=this),C++;try{return t.runCount++,t.zone.runTask(t,e,n)}finally{1==C&&b(),C--}},Object.defineProperty(e.prototype,"zone",{get:function(){return this._zone},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"state",{get:function(){return this._state},enumerable:!0,configurable:!0}),e.prototype.cancelScheduleRequest=function(){this._transitionTo(_,w)},e.prototype._transitionTo=function(t,e,n){if(this._state!==e&&this._state!==n)throw new Error(this.type+" '"+this.source+"': can not transition to '"+t+"', expecting state '"+e+"'"+(n?" or '"+n+"'":"")+", was '"+this._state+"'.");this._state=t,t==_&&(this._zoneDelegates=null)},e.prototype.toString=function(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)},e.prototype.toJSON=function(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}},e}(),h=i("setTimeout"),p=i("Promise"),v=i("then"),d=[],y=!1;function g(e){if(0===C&&0===d.length)if(c||t[p]&&(c=t[p].resolve(0)),c){var n=c[v];n||(n=c.then),n.call(c,b)}else t[h](b,0);e&&d.push(e)}function b(){if(!y){for(y=!0;d.length;){var t=d;d=[];for(var e=0;e=0;n--)"function"==typeof t[n]&&(t[n]=p(t[n],e+"_"+n));return t}function S(t){return!t||!1!==t.writable&&!("function"==typeof t.get&&void 0===t.set)}var k="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,E=!("nw"in b)&&void 0!==b.process&&"[object process]"==={}.toString.call(b.process),x=!E&&!k&&!(!y||!g.HTMLElement),T=void 0!==b.process&&"[object process]"==={}.toString.call(b.process)&&!k&&!(!y||!g.HTMLElement),O={},P=function(t){if(t=t||b.event){var e=O[t.type];e||(e=O[t.type]=d("ON_PROPERTY"+t.type));var n,r=this||t.target||b,o=r[e];if(x&&r===g&&"error"===t.type){var i=t;!0===(n=o&&o.call(this,i.message,i.filename,i.lineno,i.colno,i.error))&&t.preventDefault()}else null==(n=o&&o.apply(this,arguments))||n||t.preventDefault();return n}};function A(n,r,o){var i=t(n,r);if(!i&&o){var a=t(o,r);a&&(i={enumerable:!0,configurable:!0})}if(i&&i.configurable){var u=d("on"+r+"patched");if(!n.hasOwnProperty(u)||!n[u]){delete i.writable,delete i.value;var c=i.get,s=i.set,f=r.substr(2),l=O[f];l||(l=O[f]=d("ON_PROPERTY"+f)),i.set=function(t){var e=this;if(e||n!==b||(e=b),e){var r=e[l];r&&e.removeEventListener(f,P),s&&s.apply(e,_),"function"==typeof t?(e[l]=t,e.addEventListener(f,P,!1)):e[l]=null}},i.get=function(){var t=this;if(t||n!==b||(t=b),!t)return null;var e=t[l];if(e)return e;if(c){var o=c&&c.call(this);if(o)return i.set.call(this,o),"function"==typeof t[m]&&t.removeAttribute(r),o}return null},e(n,r,i),n[u]=!0}}}function j(t,e,n){if(e)for(var r=0;r=0&&"function"==typeof r[i.cbIdx]?v(i.name,r[i.cbIdx],i,o):t.apply(e,r)}})}function F(t,e){t[d("OriginalDelegate")]=e}var N=!1,Z=!1;function L(){if(N)return Z;N=!0;try{var t=g.navigator.userAgent;-1===t.indexOf("MSIE ")&&-1===t.indexOf("Trident/")&&-1===t.indexOf("Edge/")||(Z=!0)}catch(e){}return Z} +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */Zone.__load_patch("toString",function(t){var e=Function.prototype.toString,n=d("OriginalDelegate"),r=d("Promise"),o=d("Error"),i=function(){if("function"==typeof this){var i=this[n];if(i)return"function"==typeof i?e.call(i):Object.prototype.toString.call(i);if(this===Promise){var a=t[r];if(a)return e.call(a)}if(this===Error){var u=t[o];if(u)return e.call(u)}}return e.call(this)};i[n]=e,Function.prototype.toString=i;var a=Object.prototype.toString;Object.prototype.toString=function(){return this instanceof Promise?"[object Promise]":a.call(this)}}); +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var B=!1;if("undefined"!=typeof window)try{var U=Object.defineProperty({},"passive",{get:function(){B=!0}});window.addEventListener("test",U,U),window.removeEventListener("test",U,U)}catch(Tt){B=!1}var z={useG:!0},H={},W={},K=new RegExp("^"+h+"(\\w+)(true|false)$"),G=d("propagationStopped");function q(t,e){var n=(e?e(t):t)+l,r=(e?e(t):t)+f,o=h+n,i=h+r;H[t]={},H[t][l]=o,H[t][f]=i}function V(t,e,r){var o=r&&r.add||a,i=r&&r.rm||u,c=r&&r.listeners||"eventListeners",s=r&&r.rmAll||"removeAllListeners",p=d(o),v="."+o+":",y="prependListener",g="."+y+":",b=function(t,e,n){if(!t.isRemoved){var r=t.callback;"object"==typeof r&&r.handleEvent&&(t.callback=function(t){return r.handleEvent(t)},t.originalDelegate=r),t.invoke(t,e,[n]);var o=t.options;if(o&&"object"==typeof o&&o.once){var a=t.originalDelegate?t.originalDelegate:t.callback;e[i].call(e,n.type,a,o)}}},m=function(e){if(e=e||t.event){var n=this||e.target||t,r=n[H[e.type][l]];if(r)if(1===r.length)b(r[0],n,e);else for(var o=r.slice(),i=0;i1?new i(e,n):new i(e),s=t.ObjectGetOwnPropertyDescriptor(c,"onmessage");return s&&!1===s.configurable?(a=t.ObjectCreate(c),u=c,[r,o,"send","close"].forEach(function(e){a[e]=function(){var n=t.ArraySlice.call(arguments);if(e===r||e===o){var i=n.length>0?n[0]:void 0;if(i){var u=Zone.__symbol__("ON_PROPERTY"+i);c[u]=a[u]}}return c[e].apply(c,n)}})):a=c,t.patchOnProperties(a,["close","error","message","open"],u),a};var a=e.WebSocket;for(var u in i)a[u]=i[u]}(t,e),Zone[t.symbol("patchEvents")]=!0}}Zone.__load_patch("util",function(n,r,c){c.patchOnProperties=j,c.patchMethod=R,c.bindArguments=w,c.patchMacroTask=D;var s=r.__symbol__("BLACK_LISTED_EVENTS"),v=r.__symbol__("UNPATCHED_EVENTS");n[v]&&(n[s]=n[v]),n[s]&&(r[s]=r[v]=n[s]),c.patchEventPrototype=Y,c.patchEventTarget=V,c.isIEOrEdge=L,c.ObjectDefineProperty=e,c.ObjectGetOwnPropertyDescriptor=t,c.ObjectCreate=o,c.ArraySlice=i,c.patchClass=I,c.wrapWithCurrentZone=p,c.filterProperties=pt,c.attachOriginToPatched=F,c._redefineProperty=Object.defineProperty,c.patchCallbacks=J,c.getGlobalObjects=function(){return{globalSources:W,zoneSymbolEventNames:H,eventNames:ht,isBrowser:x,isMix:T,isNode:E,TRUE_STR:f,FALSE_STR:l,ZONE_SYMBOL_PREFIX:h,ADD_EVENT_LISTENER_STR:a,REMOVE_EVENT_LISTENER_STR:u}}}), +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +function(t){var e,n=t.__Zone_symbol_prefix||"__zone_symbol__";t[(e="legacyPatch",n+e)]=function(){var e=t.Zone;e.__load_patch("defineProperty",function(t,e,n){n._redefineProperty=gt,yt()}),e.__load_patch("registerElement",function(t,e,n){!function(t,e){var n=e.getGlobalObjects(),r=n.isBrowser,o=n.isMix;(r||o)&&"registerElement"in t.document&&e.patchCallbacks(e,document,"Document","registerElement",["createdCallback","attachedCallback","detachedCallback","attributeChangedCallback"])} +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */(t,n)}),e.__load_patch("EventTargetLegacy",function(t,e,n){wt(t,n),St(n,t)})}}("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:{}); +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +var kt=d("zoneTask");function Et(t,e,n,r){var o=null,i=null;n+=r;var a={};function u(e){var n=e.data;return n.args[0]=function(){try{e.invoke.apply(this,arguments)}finally{e.data&&e.data.isPeriodic||("number"==typeof n.handleId?delete a[n.handleId]:n.handleId&&(n.handleId[kt]=null))}},n.handleId=o.apply(t,n.args),e}function c(t){return i(t.data.handleId)}o=R(t,e+=r,function(n){return function(o,i){if("function"==typeof i[0]){var s={isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?i[1]||0:void 0,args:i},f=v(e,i[0],s,u,c);if(!f)return f;var l=f.data.handleId;return"number"==typeof l?a[l]=f:l&&(l[kt]=f),l&&l.ref&&l.unref&&"function"==typeof l.ref&&"function"==typeof l.unref&&(f.ref=l.ref.bind(l),f.unref=l.unref.bind(l)),"number"==typeof l||l?l:f}return n.apply(t,i)}}),i=R(t,n,function(e){return function(n,r){var o,i=r[0];"number"==typeof i?o=a[i]:(o=i&&i[kt])||(o=i),o&&"string"==typeof o.type?"notScheduled"!==o.state&&(o.cancelFn&&o.data.isPeriodic||0===o.runCount)&&("number"==typeof i?delete a[i]:i&&(i[kt]=null),o.zone.cancelTask(o)):e.apply(t,r)}})} +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +function xt(t,e){if(!Zone[e.symbol("patchEventTarget")]){for(var n=e.getGlobalObjects(),r=n.eventNames,o=n.zoneSymbolEventNames,i=n.TRUE_STR,a=n.FALSE_STR,u=n.ZONE_SYMBOL_PREFIX,c=0;c0){var o=t.invoke;t.invoke=function(){for(var n=a[e.__symbol__("loadfalse")],i=0;i-1};function a(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function u(t){return"string"!=typeof t&&(t=String(t)),t}function c(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return r.iterable&&(e[Symbol.iterator]=function(){return e}),e}function s(t){this.map={},t instanceof s?t.forEach(function(t,e){this.append(e,t)},this):Array.isArray(t)?t.forEach(function(t){this.append(t[0],t[1])},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function f(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function l(t){return new Promise(function(e,n){t.onload=function(){e(t.result)},t.onerror=function(){n(t.error)}})}function h(t){var e=new FileReader,n=l(e);return e.readAsArrayBuffer(t),n}function p(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function v(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:r.blob&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:r.formData&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:r.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():r.arrayBuffer&&r.blob&&((e=t)&&DataView.prototype.isPrototypeOf(e))?(this._bodyArrayBuffer=p(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):r.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(t)||i(t))?this._bodyArrayBuffer=p(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):r.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},r.blob&&(this.blob=function(){var t=f(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?f(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(h)}),this.text=function(){var t,e,n,r=f(this);if(r)return r;if(this._bodyBlob)return t=this._bodyBlob,e=new FileReader,n=l(e),e.readAsText(t),n;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),n=new Array(e.length),r=0;r-1?r:n),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function g(t){var e=new FormData;return t.trim().split("&").forEach(function(t){if(t){var n=t.split("="),r=n.shift().replace(/\+/g," "),o=n.join("=").replace(/\+/g," ");e.append(decodeURIComponent(r),decodeURIComponent(o))}}),e}function b(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new s(e.headers),this.url=e.url||"",this._initBody(t)}y.prototype.clone=function(){return new y(this,{body:this._bodyInit})},v.call(y.prototype),v.call(b.prototype),b.prototype.clone=function(){return new b(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new s(this.headers),url:this.url})},b.error=function(){var t=new b(null,{status:0,statusText:""});return t.type="error",t};var m=[301,302,303,307,308];b.redirect=function(t,e){if(-1===m.indexOf(e))throw new RangeError("Invalid status code");return new b(null,{status:e,headers:{location:t}})};var _=self.DOMException;try{new _}catch(S){(_=function(t,e){this.message=t,this.name=e;var n=Error(t);this.stack=n.stack}).prototype=Object.create(Error.prototype),_.prototype.constructor=_}function w(t,e){return new Promise(function(n,o){var i=new y(t,e);if(i.signal&&i.signal.aborted)return o(new _("Aborted","AbortError"));var a=new XMLHttpRequest;function u(){a.abort()}a.onload=function(){var t,e,r={status:a.status,statusText:a.statusText,headers:(t=a.getAllResponseHeaders()||"",e=new s,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach(function(t){var n=t.split(":"),r=n.shift().trim();if(r){var o=n.join(":").trim();e.append(r,o)}}),e)};r.url="responseURL"in a?a.responseURL:r.headers.get("X-Request-URL");var o="response"in a?a.response:a.responseText;n(new b(o,r))},a.onerror=function(){o(new TypeError("Network request failed"))},a.ontimeout=function(){o(new TypeError("Network request failed"))},a.onabort=function(){o(new _("Aborted","AbortError"))},a.open(i.method,i.url,!0),"include"===i.credentials?a.withCredentials=!0:"omit"===i.credentials&&(a.withCredentials=!1),"responseType"in a&&r.blob&&(a.responseType="blob"),i.headers.forEach(function(t,e){a.setRequestHeader(e,t)}),i.signal&&(i.signal.addEventListener("abort",u),a.onreadystatechange=function(){4===a.readyState&&i.signal.removeEventListener("abort",u)}),a.send(void 0===i._bodyInit?null:i._bodyInit)})}w.polyfill=!0,self.fetch||(self.fetch=w,self.Headers=s,self.Request=y,self.Response=b)},function(t,e,n){var r,o; +/** + * @file Web Cryptography API shim + * @author Artem S Vybornov + * @license MIT + */ +/** + * @file Web Cryptography API shim + * @author Artem S Vybornov + * @license MIT + */ +o="undefined"!=typeof self?self:this,void 0===(r=function(){return function(t){"use strict";if("function"!=typeof Promise)throw"Promise support required";var e=t.crypto||t.msCrypto;if(e){var n=e.subtle||e.webkitSubtle;if(n){var r=t.Crypto||e.constructor||Object,o=t.SubtleCrypto||n.constructor||Object,i=(t.CryptoKey||t.Key||Object,t.navigator.userAgent.indexOf("Edge/")>-1),a=!!t.msCrypto&&!i,u=!e.subtle&&!!e.webkitSubtle;if(a||u){var c={KoZIhvcNAQEB:"1.2.840.113549.1.1.1"},s={"1.2.840.113549.1.1.1":"KoZIhvcNAQEB"};if(["generateKey","importKey","unwrapKey"].forEach(function(t){var r=n[t];n[t]=function(o,i,c){var s,f,m,k,E,x=[].slice.call(arguments);switch(t){case"generateKey":s=d(o),f=i,m=c;break;case"importKey":s=d(c),f=x[3],m=x[4],"jwk"===o&&((i=g(i)).alg||(i.alg=y(s)),i.key_ops||(i.key_ops="oct"!==i.kty?"d"in i?m.filter(S):m.filter(w):m.slice()),x[1]=(E=g(i),a&&(E.extractable=E.ext,delete E.ext),p(unescape(encodeURIComponent(JSON.stringify(E)))).buffer));break;case"unwrapKey":s=x[4],f=x[5],m=x[6],x[2]=c._key}if("generateKey"===t&&"HMAC"===s.name&&s.hash)return s.length=s.length||{"SHA-1":512,"SHA-256":512,"SHA-384":1024,"SHA-512":1024}[s.hash.name],n.importKey("raw",e.getRandomValues(new Uint8Array(s.length+7>>3)),s,f,m);if(u&&"generateKey"===t&&"RSASSA-PKCS1-v1_5"===s.name&&(!s.modulusLength||s.modulusLength>=2048))return(o=d(o)).name="RSAES-PKCS1-v1_5",delete o.hash,n.generateKey(o,!0,["encrypt","decrypt"]).then(function(t){return Promise.all([n.exportKey("jwk",t.publicKey),n.exportKey("jwk",t.privateKey)])}).then(function(t){return t[0].alg=t[1].alg=y(s),t[0].key_ops=m.filter(w),t[1].key_ops=m.filter(S),Promise.all([n.importKey("jwk",t[0],s,!0,t[0].key_ops),n.importKey("jwk",t[1],s,f,t[1].key_ops)])}).then(function(t){return{publicKey:t[0],privateKey:t[1]}});if((u||a&&"SHA-1"===(s.hash||{}).name)&&"importKey"===t&&"jwk"===o&&"HMAC"===s.name&&"oct"===i.kty)return n.importKey("raw",p(h(i.k)),c,x[3],x[4]);if(u&&"importKey"===t&&("spki"===o||"pkcs8"===o))return n.importKey("jwk",function(t){var e=b(t),n=!1;e.length>2&&(n=!0,e.shift());var r={ext:!0};switch(e[0][0]){case"1.2.840.113549.1.1.1":var o=["n","e","d","p","q","dp","dq","qi"],i=b(e[1]);n&&i.shift();for(var a=0;a2&&(r=!0,i.unshift(new Uint8Array([0]))),n[0][0]="1.2.840.113549.1.1.1",e=i;break;default:throw new TypeError("Unsupported key type")}return n.push(new Uint8Array(m(e)).buffer),r?n.unshift(new Uint8Array([0])):n[1]={tag:3,value:n[1]},new Uint8Array(m(n)).buffer}(g(t))})),c}}),["encrypt","decrypt","sign","verify"].forEach(function(t){var e=n[t];n[t]=function(r,o,i,u){if(a&&(!i.byteLength||u&&!u.byteLength))throw new Error("Empy input is not allowed");var c,s=[].slice.call(arguments),f=d(r);if(a&&"decrypt"===t&&"AES-GCM"===f.name){var l=r.tagLength>>3;s[2]=(i.buffer||i).slice(0,i.byteLength-l),r.tag=(i.buffer||i).slice(i.byteLength-l)}s[1]=o._key;try{c=e.apply(n,s)}catch(h){return Promise.reject(h)}return a&&(c=new Promise(function(e,n){c.onabort=c.onerror=function(t){n(t)},c.oncomplete=function(n){if(n=n.target.result,"encrypt"===t&&n instanceof AesGcmEncryptResult){var r=n.ciphertext,o=n.tag;(n=new Uint8Array(r.byteLength+o.byteLength)).set(new Uint8Array(r),0),n.set(new Uint8Array(o),r.byteLength),n=n.buffer}e(n)}})),c}}),a){var f=n.digest;n.digest=function(t,e){if(!e.byteLength)throw new Error("Empy input is not allowed");var r;try{r=f.call(n,t,e)}catch(o){return Promise.reject(o)}return r=new Promise(function(t,e){r.onabort=r.onerror=function(t){e(t)},r.oncomplete=function(e){t(e.target.result)}})},t.crypto=Object.create(e,{getRandomValues:{value:function(t){return e.getRandomValues(t)}},subtle:{value:n}}),t.CryptoKey=_}u&&(e.subtle=n,t.Crypto=r,t.SubtleCrypto=o,t.CryptoKey=_)}}}function l(t){return btoa(t).replace(/\=+$/,"").replace(/\+/g,"-").replace(/\//g,"_")}function h(t){return t=(t+="===").slice(0,-t.length%4),atob(t.replace(/-/g,"+").replace(/_/g,"/"))}function p(t){for(var e=new Uint8Array(t.length),n=0;nt.length)throw new RangeError("Malformed DER");var n,r=t[e.pos++],o=t[e.pos++];if(o>=128){if(o&=127,e.end-e.pos=128){var u=r,r=4;for(e.splice(o,0,u>>24&255,u>>16&255,u>>8&255,255&u);r>1&&!(u>>24);)u<<=8,r--;r<4&&e.splice(o,4-r),r|=128}return e.splice(o-2,2,n,r),e}function _(t,e,n,r){Object.defineProperties(this,{_key:{value:t},type:{value:t.type,enumerable:!0},extractable:{value:void 0===n?t.extractable:n,enumerable:!0},algorithm:{value:void 0===e?t.algorithm:e,enumerable:!0},usages:{value:void 0===r?t.usages:r,enumerable:!0}})}function w(t){return"verify"===t||"encrypt"===t||"wrapKey"===t}function S(t){return"sign"===t||"decrypt"===t||"unwrapKey"===t}}(o)}.apply(e,[]))||(t.exports=r)}]); +//# sourceMappingURL=polyfills.9f15875cff59b5963eea.js.map \ No newline at end of file diff --git a/app/polyfills.9f15875cff59b5963eea.js.map b/app/polyfills.9f15875cff59b5963eea.js.map new file mode 100644 index 00000000..76e33395 --- /dev/null +++ b/app/polyfills.9f15875cff59b5963eea.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/core-js/modules/_export.js","webpack:///./node_modules/core-js/modules/_an-object.js","webpack:///./node_modules/core-js/modules/_global.js","webpack:///./node_modules/core-js/modules/_fails.js","webpack:///./node_modules/core-js/modules/_is-object.js","webpack:///./node_modules/core-js/modules/_wks.js","webpack:///./node_modules/core-js/modules/_to-length.js","webpack:///./node_modules/core-js/modules/_object-dp.js","webpack:///./node_modules/core-js/modules/_descriptors.js","webpack:///./node_modules/core-js/modules/_to-object.js","webpack:///./node_modules/core-js/modules/_a-function.js","webpack:///./node_modules/core-js/modules/_string-html.js","webpack:///./node_modules/core-js/modules/_has.js","webpack:///./node_modules/core-js/modules/_redefine.js","webpack:///./node_modules/core-js/modules/_to-iobject.js","webpack:///./node_modules/core-js/modules/_core.js","webpack:///./node_modules/core-js/modules/_hide.js","webpack:///./node_modules/core-js/modules/_object-gpo.js","webpack:///./node_modules/core-js/modules/_object-gopd.js","webpack:///./node_modules/core-js/modules/_strict-method.js","webpack:///./node_modules/core-js/modules/_ctx.js","webpack:///./node_modules/core-js/modules/_to-integer.js","webpack:///./node_modules/core-js/modules/_cof.js","webpack:///./node_modules/core-js/modules/_object-sap.js","webpack:///./node_modules/core-js/modules/_array-methods.js","webpack:///./node_modules/core-js/modules/_to-primitive.js","webpack:///./node_modules/core-js/modules/_defined.js","webpack:///./node_modules/core-js/modules/_typed-array.js","webpack:///./node_modules/core-js/modules/_metadata.js","webpack:///./node_modules/core-js/modules/_meta.js","webpack:///./node_modules/core-js/modules/_object-create.js","webpack:///./node_modules/core-js/modules/_property-desc.js","webpack:///./node_modules/core-js/modules/_library.js","webpack:///./node_modules/core-js/modules/_uid.js","webpack:///./node_modules/core-js/modules/_object-keys.js","webpack:///./node_modules/core-js/modules/_to-absolute-index.js","webpack:///./node_modules/core-js/modules/_object-gopn.js","webpack:///./node_modules/core-js/modules/_classof.js","webpack:///./node_modules/core-js/modules/_add-to-unscopables.js","webpack:///./node_modules/core-js/modules/_set-species.js","webpack:///./node_modules/core-js/modules/_an-instance.js","webpack:///./node_modules/core-js/modules/_for-of.js","webpack:///./node_modules/core-js/modules/_redefine-all.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/modules/_set-to-string-tag.js","webpack:///./node_modules/core-js/modules/_iterators.js","webpack:///./node_modules/core-js/modules/_validate-collection.js","webpack:///./node_modules/core-js/modules/_iobject.js","webpack:///./node_modules/core-js/modules/_string-trim.js","webpack:///./node_modules/core-js/modules/_object-pie.js","webpack:///./node_modules/core-js/modules/_flags.js","webpack:///./node_modules/core-js/modules/_species-constructor.js","webpack:///./node_modules/core-js/modules/_shared.js","webpack:///./node_modules/core-js/modules/_object-gops.js","webpack:///./node_modules/core-js/modules/core.get-iterator-method.js","webpack:///./node_modules/core-js/modules/_iter-detect.js","webpack:///./node_modules/core-js/modules/_regexp-exec-abstract.js","webpack:///./node_modules/core-js/modules/_fix-re-wks.js","webpack:///./node_modules/core-js/modules/_collection.js","webpack:///./node_modules/core-js/modules/_typed.js","webpack:///./node_modules/core-js/modules/_array-includes.js","webpack:///./node_modules/core-js/modules/_is-array.js","webpack:///./node_modules/core-js/modules/_string-at.js","webpack:///./node_modules/core-js/modules/_iter-define.js","webpack:///./node_modules/core-js/modules/_is-regexp.js","webpack:///./node_modules/core-js/modules/_dom-create.js","webpack:///./node_modules/core-js/modules/_shared-key.js","webpack:///./node_modules/core-js/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/modules/_html.js","webpack:///./node_modules/core-js/modules/_set-proto.js","webpack:///./node_modules/core-js/modules/_string-ws.js","webpack:///./node_modules/core-js/modules/_inherit-if-required.js","webpack:///./node_modules/core-js/modules/_math-sign.js","webpack:///./node_modules/core-js/modules/_math-expm1.js","webpack:///./node_modules/core-js/modules/_iter-create.js","webpack:///./node_modules/core-js/modules/_string-context.js","webpack:///./node_modules/core-js/modules/_fails-is-regexp.js","webpack:///./node_modules/core-js/modules/_is-array-iter.js","webpack:///./node_modules/core-js/modules/_array-fill.js","webpack:///./node_modules/core-js/modules/_regexp-exec.js","webpack:///./node_modules/core-js/modules/_advance-string-index.js","webpack:///./node_modules/core-js/modules/_typed-buffer.js","webpack:///./node_modules/core-js/modules/_object-assign.js","webpack:///./node_modules/core-js/modules/_invoke.js","webpack:///./node_modules/core-js/modules/_string-repeat.js","webpack:///./node_modules/core-js/modules/_create-property.js","webpack:///./node_modules/core-js/modules/es6.array.iterator.js","webpack:///./node_modules/core-js/modules/_iter-step.js","webpack:///./node_modules/core-js/modules/_task.js","webpack:///./node_modules/core-js/modules/_new-promise-capability.js","webpack:///./node_modules/core-js/modules/_user-agent.js","webpack:///./node_modules/core-js/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/modules/_wks-ext.js","webpack:///./node_modules/core-js/modules/_wks-define.js","webpack:///./node_modules/core-js/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/modules/_object-dps.js","webpack:///./node_modules/core-js/modules/_object-gopn-ext.js","webpack:///./node_modules/core-js/modules/_same-value.js","webpack:///./node_modules/core-js/modules/_bind.js","webpack:///./node_modules/core-js/modules/_parse-int.js","webpack:///./node_modules/core-js/modules/_parse-float.js","webpack:///./node_modules/core-js/modules/_a-number-value.js","webpack:///./node_modules/core-js/modules/_is-integer.js","webpack:///./node_modules/core-js/modules/_math-log1p.js","webpack:///./node_modules/core-js/modules/_iter-call.js","webpack:///./node_modules/core-js/modules/_array-species-create.js","webpack:///./node_modules/core-js/modules/_array-reduce.js","webpack:///./node_modules/core-js/modules/_array-copy-within.js","webpack:///./node_modules/core-js/modules/es6.regexp.exec.js","webpack:///./node_modules/core-js/modules/es6.regexp.flags.js","webpack:///./node_modules/core-js/modules/_microtask.js","webpack:///./node_modules/core-js/modules/es6.map.js","webpack:///./node_modules/core-js/modules/_collection-strong.js","webpack:///./node_modules/core-js/modules/es6.set.js","webpack:///./node_modules/core-js/modules/es6.weak-map.js","webpack:///./node_modules/core-js/modules/_collection-weak.js","webpack:///./node_modules/core-js/modules/_to-index.js","webpack:///./node_modules/core-js/modules/_own-keys.js","webpack:///./node_modules/core-js/modules/_math-fround.js","webpack:///./node_modules/core-js/modules/_perform.js","webpack:///./node_modules/core-js/modules/_promise-resolve.js","webpack:///./node_modules/core-js/modules/_array-from-iterable.js","webpack:///./node_modules/core-js/modules/es6.symbol.js","webpack:///./node_modules/core-js/modules/_enum-keys.js","webpack:///./node_modules/core-js/modules/es6.object.create.js","webpack:///./node_modules/core-js/modules/es6.object.define-property.js","webpack:///./node_modules/core-js/modules/es6.object.define-properties.js","webpack:///./node_modules/core-js/modules/es6.object.get-own-property-descriptor.js","webpack:///./node_modules/core-js/modules/es6.object.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.object.keys.js","webpack:///./node_modules/core-js/modules/es6.object.get-own-property-names.js","webpack:///./node_modules/core-js/modules/es6.object.freeze.js","webpack:///./node_modules/core-js/modules/es6.object.seal.js","webpack:///./node_modules/core-js/modules/es6.object.prevent-extensions.js","webpack:///./node_modules/core-js/modules/es6.object.is-frozen.js","webpack:///./node_modules/core-js/modules/es6.object.is-sealed.js","webpack:///./node_modules/core-js/modules/es6.object.is-extensible.js","webpack:///./node_modules/core-js/modules/es6.object.assign.js","webpack:///./node_modules/core-js/modules/es6.object.is.js","webpack:///./node_modules/core-js/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.object.to-string.js","webpack:///./node_modules/core-js/modules/es6.function.bind.js","webpack:///./node_modules/core-js/modules/es6.function.name.js","webpack:///./node_modules/core-js/modules/es6.function.has-instance.js","webpack:///./node_modules/core-js/modules/es6.parse-int.js","webpack:///./node_modules/core-js/modules/es6.parse-float.js","webpack:///./node_modules/core-js/modules/es6.number.constructor.js","webpack:///./node_modules/core-js/modules/es6.number.to-fixed.js","webpack:///./node_modules/core-js/modules/es6.number.to-precision.js","webpack:///./node_modules/core-js/modules/es6.number.epsilon.js","webpack:///./node_modules/core-js/modules/es6.number.is-finite.js","webpack:///./node_modules/core-js/modules/es6.number.is-integer.js","webpack:///./node_modules/core-js/modules/es6.number.is-nan.js","webpack:///./node_modules/core-js/modules/es6.number.is-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.max-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.min-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.parse-float.js","webpack:///./node_modules/core-js/modules/es6.number.parse-int.js","webpack:///./node_modules/core-js/modules/es6.math.acosh.js","webpack:///./node_modules/core-js/modules/es6.math.asinh.js","webpack:///./node_modules/core-js/modules/es6.math.atanh.js","webpack:///./node_modules/core-js/modules/es6.math.cbrt.js","webpack:///./node_modules/core-js/modules/es6.math.clz32.js","webpack:///./node_modules/core-js/modules/es6.math.cosh.js","webpack:///./node_modules/core-js/modules/es6.math.expm1.js","webpack:///./node_modules/core-js/modules/es6.math.fround.js","webpack:///./node_modules/core-js/modules/es6.math.hypot.js","webpack:///./node_modules/core-js/modules/es6.math.imul.js","webpack:///./node_modules/core-js/modules/es6.math.log10.js","webpack:///./node_modules/core-js/modules/es6.math.log1p.js","webpack:///./node_modules/core-js/modules/es6.math.log2.js","webpack:///./node_modules/core-js/modules/es6.math.sign.js","webpack:///./node_modules/core-js/modules/es6.math.sinh.js","webpack:///./node_modules/core-js/modules/es6.math.tanh.js","webpack:///./node_modules/core-js/modules/es6.math.trunc.js","webpack:///./node_modules/core-js/modules/es6.string.from-code-point.js","webpack:///./node_modules/core-js/modules/es6.string.raw.js","webpack:///./node_modules/core-js/modules/es6.string.trim.js","webpack:///./node_modules/core-js/modules/es6.string.iterator.js","webpack:///./node_modules/core-js/modules/es6.string.code-point-at.js","webpack:///./node_modules/core-js/modules/es6.string.ends-with.js","webpack:///./node_modules/core-js/modules/es6.string.includes.js","webpack:///./node_modules/core-js/modules/es6.string.repeat.js","webpack:///./node_modules/core-js/modules/es6.string.starts-with.js","webpack:///./node_modules/core-js/modules/es6.string.anchor.js","webpack:///./node_modules/core-js/modules/es6.string.big.js","webpack:///./node_modules/core-js/modules/es6.string.blink.js","webpack:///./node_modules/core-js/modules/es6.string.bold.js","webpack:///./node_modules/core-js/modules/es6.string.fixed.js","webpack:///./node_modules/core-js/modules/es6.string.fontcolor.js","webpack:///./node_modules/core-js/modules/es6.string.fontsize.js","webpack:///./node_modules/core-js/modules/es6.string.italics.js","webpack:///./node_modules/core-js/modules/es6.string.link.js","webpack:///./node_modules/core-js/modules/es6.string.small.js","webpack:///./node_modules/core-js/modules/es6.string.strike.js","webpack:///./node_modules/core-js/modules/es6.string.sub.js","webpack:///./node_modules/core-js/modules/es6.string.sup.js","webpack:///./node_modules/core-js/modules/es6.date.now.js","webpack:///./node_modules/core-js/modules/es6.date.to-json.js","webpack:///./node_modules/core-js/modules/es6.date.to-iso-string.js","webpack:///./node_modules/core-js/modules/_date-to-iso-string.js","webpack:///./node_modules/core-js/modules/es6.date.to-string.js","webpack:///./node_modules/core-js/modules/es6.date.to-primitive.js","webpack:///./node_modules/core-js/modules/_date-to-primitive.js","webpack:///./node_modules/core-js/modules/es6.array.is-array.js","webpack:///./node_modules/core-js/modules/es6.array.from.js","webpack:///./node_modules/core-js/modules/es6.array.of.js","webpack:///./node_modules/core-js/modules/es6.array.join.js","webpack:///./node_modules/core-js/modules/es6.array.slice.js","webpack:///./node_modules/core-js/modules/es6.array.sort.js","webpack:///./node_modules/core-js/modules/es6.array.for-each.js","webpack:///./node_modules/core-js/modules/_array-species-constructor.js","webpack:///./node_modules/core-js/modules/es6.array.map.js","webpack:///./node_modules/core-js/modules/es6.array.filter.js","webpack:///./node_modules/core-js/modules/es6.array.some.js","webpack:///./node_modules/core-js/modules/es6.array.every.js","webpack:///./node_modules/core-js/modules/es6.array.reduce.js","webpack:///./node_modules/core-js/modules/es6.array.reduce-right.js","webpack:///./node_modules/core-js/modules/es6.array.index-of.js","webpack:///./node_modules/core-js/modules/es6.array.last-index-of.js","webpack:///./node_modules/core-js/modules/es6.array.copy-within.js","webpack:///./node_modules/core-js/modules/es6.array.fill.js","webpack:///./node_modules/core-js/modules/es6.array.find.js","webpack:///./node_modules/core-js/modules/es6.array.find-index.js","webpack:///./node_modules/core-js/modules/es6.array.species.js","webpack:///./node_modules/core-js/modules/es6.regexp.constructor.js","webpack:///./node_modules/core-js/modules/es6.regexp.to-string.js","webpack:///./node_modules/core-js/modules/es6.regexp.match.js","webpack:///./node_modules/core-js/modules/es6.regexp.replace.js","webpack:///./node_modules/core-js/modules/es6.regexp.search.js","webpack:///./node_modules/core-js/modules/es6.regexp.split.js","webpack:///./node_modules/core-js/modules/es6.promise.js","webpack:///./node_modules/core-js/modules/es6.weak-set.js","webpack:///./node_modules/core-js/modules/es6.typed.array-buffer.js","webpack:///./node_modules/core-js/modules/es6.typed.data-view.js","webpack:///./node_modules/core-js/modules/es6.typed.int8-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint8-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint8-clamped-array.js","webpack:///./node_modules/core-js/modules/es6.typed.int16-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint16-array.js","webpack:///./node_modules/core-js/modules/es6.typed.int32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.float32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.float64-array.js","webpack:///./node_modules/core-js/modules/es6.reflect.apply.js","webpack:///./node_modules/core-js/modules/es6.reflect.construct.js","webpack:///./node_modules/core-js/modules/es6.reflect.define-property.js","webpack:///./node_modules/core-js/modules/es6.reflect.delete-property.js","webpack:///./node_modules/core-js/modules/es6.reflect.enumerate.js","webpack:///./node_modules/core-js/modules/es6.reflect.get.js","webpack:///./node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js","webpack:///./node_modules/core-js/modules/es6.reflect.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.reflect.has.js","webpack:///./node_modules/core-js/modules/es6.reflect.is-extensible.js","webpack:///./node_modules/core-js/modules/es6.reflect.own-keys.js","webpack:///./node_modules/core-js/modules/es6.reflect.prevent-extensions.js","webpack:///./node_modules/core-js/modules/es6.reflect.set.js","webpack:///./node_modules/core-js/modules/es6.reflect.set-prototype-of.js","webpack:///./node_modules/core-js/modules/es7.reflect.define-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.delete-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-metadata-keys.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-own-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js","webpack:///./node_modules/core-js/modules/es7.reflect.has-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.has-own-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.metadata.js","webpack:///./src/app/polyfills.ts","webpack:///./node_modules/core-js/es6/index.js","webpack:///./node_modules/core-js/es7/reflect.js","webpack:///./node_modules/zone.js/dist/zone.js","webpack:///./node_modules/whatwg-fetch/fetch.js","webpack:///./node_modules/webcrypto-shim/webcrypto-shim.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","global","core","hide","redefine","ctx","$export","type","source","own","out","exp","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","target","expProto","undefined","Function","U","W","R","isObject","it","TypeError","window","Math","self","__g","exec","e","store","uid","USE_SYMBOL","toInteger","min","anObject","IE8_DOM_DEFINE","toPrimitive","dP","f","O","Attributes","a","defined","fails","quot","createHTML","string","tag","attribute","String","p1","replace","NAME","test","toLowerCase","split","length","has","SRC","$toString","TPL","inspectSource","val","safe","isFunction","join","this","IObject","version","__e","createDesc","toObject","IE_PROTO","ObjectProto","getPrototypeOf","constructor","pIE","toIObject","gOPD","getOwnPropertyDescriptor","method","arg","aFunction","fn","that","b","apply","arguments","ceil","floor","isNaN","toString","slice","KEY","toLength","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","$this","callbackfn","res","index","result","push","valueOf","LIBRARY","$typed","$buffer","anInstance","propertyDesc","redefineAll","toIndex","toAbsoluteIndex","classof","isArrayIter","gOPN","getIterFn","wks","createArrayMethod","createArrayIncludes","speciesConstructor","ArrayIterators","Iterators","$iterDetect","setSpecies","arrayFill","arrayCopyWithin","$DP","$GOPD","RangeError","Uint8Array","ArrayProto","Array","$ArrayBuffer","ArrayBuffer","$DataView","DataView","arrayForEach","arrayFilter","arraySome","arrayEvery","arrayFind","arrayFindIndex","arrayIncludes","arrayIndexOf","arrayValues","values","arrayKeys","keys","arrayEntries","entries","arrayLastIndexOf","lastIndexOf","arrayReduce","reduce","arrayReduceRight","reduceRight","arrayJoin","arraySort","sort","arraySlice","arrayToString","arrayToLocaleString","toLocaleString","ITERATOR","TAG","TYPED_CONSTRUCTOR","DEF_CONSTRUCTOR","ALL_CONSTRUCTORS","CONSTR","TYPED_ARRAY","TYPED","VIEW","$map","allocate","LITTLE_ENDIAN","Uint16Array","buffer","FORCED_SET","set","toOffset","BYTES","offset","validate","C","speciesFromList","list","fromList","addGetter","internal","_d","$from","step","iterator","aLen","mapfn","mapping","iterFn","next","done","$of","TO_LOCALE_BUG","$toLocaleString","proto","copyWithin","start","every","fill","filter","find","predicate","findIndex","forEach","indexOf","searchElement","includes","separator","map","reverse","middle","some","comparefn","subarray","begin","end","$begin","byteOffset","BYTES_PER_ELEMENT","$slice","$set","arrayLike","src","len","$iterators","isTAIndex","$getDesc","$setDesc","desc","configurable","writable","$TypedArrayPrototype$","wrapper","CLAMPED","GETTER","SETTER","TypedArray","Base","TAC","FORCED","ABV","TypedArrayPrototype","addElement","data","v","round","setter","$offset","$length","byteLength","klass","$len","iter","concat","$nativeIterator","CORRECT_ITER_NAME","$iterator","of","from","Map","shared","getOrCreateMetadataMap","targetKey","targetMetadata","keyMetadata","MetadataKey","metadataMap","MetadataValue","_","META","setDesc","id","isExtensible","FREEZE","preventExtensions","setMeta","w","meta","NEED","fastKey","getWeak","onFreeze","dPs","enumBugKeys","Empty","createDict","iframeDocument","iframe","style","display","appendChild","contentWindow","document","open","write","lt","close","Properties","bitmap","px","random","$keys","max","hiddenKeys","getOwnPropertyNames","cof","ARG","T","tryGet","callee","UNSCOPABLES","DESCRIPTORS","SPECIES","Constructor","forbiddenField","BREAK","RETURN","iterable","g","def","stat","_t","propertyIsEnumerable","spaces","space","ltrim","RegExp","rtrim","exporter","ALIAS","FORCE","trim","ignoreCase","multiline","unicode","sticky","D","copyright","getOwnPropertySymbols","getIteratorMethod","SAFE_CLOSING","riter","skipClosing","arr","builtinExec","regexpExec","REPLACE_SUPPORTS_NAMED_GROUPS","re","groups","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","fns","nativeMethod","regexp","str","arg2","forceStringMethod","strfn","rxfn","forOf","setToStringTag","inheritIfRequired","methods","common","IS_WEAK","ADDER","fixMethod","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","clear","getConstructor","setStrong","Typed","TypedArrayConstructors","IS_INCLUDES","el","fromIndex","isArray","TO_STRING","pos","charCodeAt","charAt","$iterCreate","BUGGY","returnThis","DEFAULT","IS_SET","IteratorPrototype","getMethod","kind","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","MATCH","isRegExp","is","createElement","documentElement","check","setPrototypeOf","buggy","__proto__","sign","x","$expm1","expm1","descriptor","searchString","endPos","re1","re2","regexpFlags","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","NPCG_INCLUDED","lastIndex","reCopy","match","at","PROTOTYPE","WRONG_INDEX","Infinity","BaseBuffer","abs","pow","log","LN2","$BUFFER","$LENGTH","$OFFSET","packIEEE754","mLen","nBytes","eLen","eMax","eBias","rt","unpackIEEE754","nBits","NaN","unpackI32","bytes","packI8","packI16","packI32","packF64","packF32","view","isLittleEndian","intIndex","_b","pack","conversion","ArrayBufferProto","j","$setInt8","setInt8","getInt8","setUint8","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","getKeys","gOPS","$assign","assign","A","K","k","getSymbols","isEnum","args","un","count","$defineProperty","addToUnscopables","iterated","_i","_k","Arguments","defer","channel","port","invoke","html","cel","process","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","queue","run","listener","event","nextTick","now","port2","port1","onmessage","postMessage","addEventListener","importScripts","removeChild","setTimeout","PromiseCapability","resolve","reject","promise","$$resolve","$$reject","navigator","userAgent","wksExt","$Symbol","names","defineProperties","windowNames","getWindowNames","y","factories","partArgs","bound","construct","$parseInt","parseInt","$trim","ws","hex","radix","$parseFloat","parseFloat","msg","isFinite","log1p","ret","original","memo","isRight","to","inc","forced","flags","macrotask","Observer","MutationObserver","WebKitMutationObserver","Promise","isNode","head","last","notify","flush","parent","domain","exit","enter","standalone","then","toggle","node","createTextNode","observe","characterData","task","strong","entry","getEntry","$iterDefine","SIZE","_f","_l","delete","prev","add","InternalMap","each","weak","uncaughtFrozenStore","ufstore","tmp","$WeakMap","freeze","$has","UncaughtFrozenStore","findUncaughtFrozen","splice","number","Reflect","ownKeys","EPSILON","EPSILON32","MAX32","MIN32","fround","$abs","$sign","newPromiseCapability","promiseCapability","$fails","wksDefine","enumKeys","_create","gOPNExt","$JSON","JSON","_stringify","stringify","HIDDEN","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","USE_NATIVE","QObject","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","$defineProperties","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","es6Symbols","wellKnownSymbols","for","keyFor","useSetter","useSimple","replacer","$replacer","symbols","$getPrototypeOf","$freeze","$seal","$preventExtensions","$isFrozen","$isSealed","$isExtensible","FProto","nameRE","HAS_INSTANCE","FunctionProto","$Number","BROKEN_COF","TRIM","toNumber","argument","third","maxCode","first","code","digits","aNumberValue","repeat","$toFixed","toFixed","ERROR","multiply","c2","divide","numToString","acc","fractionDigits","z","x2","$toPrecision","toPrecision","precision","_isFinite","isInteger","isSafeInteger","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","Number","sqrt","$acosh","acosh","MAX_VALUE","$asinh","asinh","$atanh","atanh","cbrt","clz32","LOG2E","cosh","hypot","value1","value2","div","sum","larg","$imul","imul","xn","yn","xl","yl","log10","LOG10E","log2","sinh","tanh","trunc","fromCharCode","$fromCodePoint","fromCodePoint","raw","callSite","tpl","$at","point","codePointAt","context","$endsWith","endsWith","endPosition","search","$startsWith","startsWith","color","size","url","Date","getTime","toJSON","toISOString","pv","$toISOString","lz","num","getUTCFullYear","getUTCMilliseconds","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","DateProto","hint","createProperty","upTo","cloned","$sort","$forEach","STRICT","$filter","$some","$every","$reduce","$indexOf","NEGATIVE_ZERO","$find","$flags","$RegExp","CORRECT_NEW","tiRE","piRE","fiU","proxy","define","advanceStringIndex","regExpExec","$match","maybeCallNative","rx","fullUnicode","matchStr","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","REPLACE","$replace","searchValue","replaceValue","functionalReplace","results","accumulatedResult","nextSourcePosition","matched","position","captures","namedCaptures","replacerArgs","replacement","getSubstitution","tailPos","ch","capture","sameValue","SEARCH","$search","previousLastIndex","callRegExpExec","$min","$push","SUPPORTS_Y","SPLIT","$split","internalSplit","limit","lastLength","output","lastLastIndex","splitLimit","separatorCopy","splitter","unicodeMatching","lim","q","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","microtask","newPromiseCapabilityModule","perform","promiseResolve","versions","v8","$Promise","empty","FakePromise","PromiseRejectionEvent","isThenable","isReject","_n","chain","_c","_v","ok","_s","reaction","exited","handler","fail","_h","onHandleUnhandled","onUnhandled","console","unhandled","isUnhandled","emit","onunhandledrejection","reason","error","_a","onrejectionhandled","$reject","_w","$resolve","executor","err","onFulfilled","onRejected","catch","capability","all","remaining","$index","alreadyCalled","race","$isView","isView","fin","viewS","viewT","init","rApply","fApply","thisArgument","argumentsList","L","rConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","propertyKey","attributes","deleteProperty","Enumerate","enumerate","receiver","getProto","V","existingDescriptor","ownDesc","setProto","metadata","toMetaKey","ordinaryDefineOwnMetadata","defineMetadata","metadataKey","metadataValue","deleteMetadata","ordinaryHasOwnMetadata","ordinaryGetOwnMetadata","ordinaryGetMetadata","getMetadata","Set","ordinaryOwnMetadataKeys","ordinaryMetadataKeys","oKeys","pKeys","getMetadataKeys","getOwnMetadata","getOwnMetadataKeys","ordinaryHasMetadata","hasMetadata","hasOwnMetadata","$metadata","Element","matches","msMatchesSelector","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","performance","mark","performanceMeasure","label","symbolPrefix","__symbol__","checkDuplicate","Error","Zone","zoneSpec","_parent","_name","_properties","properties","_zoneDelegate","ZoneDelegate","assertZonePatched","patches","zone","current","_currentZoneFrame","_currentTask","__load_patch","perfName","_api","getZoneWith","fork","callback","_callback","intercept","runGuarded","applyThis","applyArgs","handleError","runTask","NO_ZONE","state","notScheduled","eventTask","macroTask","reEntryGuard","running","_transitionTo","scheduled","runCount","previousTask","isPeriodic","cancelFn","invokeTask","unknown","_updateTaskCount","scheduleTask","newZone","scheduling","zoneDelegates","_zoneDelegates","_zone","scheduleMicroTask","customSchedule","ZoneTask","microTask","scheduleMacroTask","customCancel","scheduleEventTask","cancelTask","canceling","nativeMicroTaskQueuePromise","DELEGATE_ZS","onHasTask","delegate","hasTaskState","hasTask","onScheduleTask","onInvokeTask","onCancelTask","parentDelegate","_taskCounts","_parentDelegate","_forkZS","onFork","_forkDlgt","_forkCurrZone","_interceptZS","onIntercept","_interceptDlgt","_interceptCurrZone","_invokeZS","onInvoke","_invokeDlgt","_invokeCurrZone","_handleErrorZS","onHandleError","_handleErrorDlgt","_handleErrorCurrZone","_scheduleTaskZS","_scheduleTaskDlgt","_scheduleTaskCurrZone","_invokeTaskZS","_invokeTaskDlgt","_invokeTaskCurrZone","_cancelTaskZS","_cancelTaskDlgt","_cancelTaskCurrZone","_hasTaskZS","_hasTaskDlgt","_hasTaskDlgtOwner","_hasTaskCurrZone","zoneSpecHasTask","parentHasTask","targetZone","returnTask","scheduleFn","isEmpty","counts","change","options","_state","useG","_numberOfNestedTaskFrames","drainMicroTaskQueue","cancelScheduleRequest","toState","fromState1","fromState2","handleId","symbolSetTimeout","symbolPromise","symbolThen","_microTaskQueue","_isDrainingMicrotaskQueue","nativeThen","onUnhandledError","microtaskDrainDone","symbol","currentZoneFrame","noop","showUncaughtError","patchEventTarget","patchOnProperties","patchMethod","bindArguments","patchThen","patchMacroTask","setNativePromise","NativePromise","patchEventPrototype","isIEOrEdge","getGlobalObjects","ObjectDefineProperty","ObjectGetOwnPropertyDescriptor","ObjectCreate","ArraySlice","patchClass","wrapWithCurrentZone","filterProperties","attachOriginToPatched","_redefineProperty","patchCallbacks","api","_uncaughtPromiseErrors","isDisableWrappingUncaughtPromiseRejection","creationTrace","rejection","message","stack","_loop_1","uncaughtPromiseError","shift","UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL","handleUnhandledRejection","forwardResolution","forwardRejection","ZoneAwarePromise","symbolState","symbolValue","symbolFinally","symbolParentPromiseValue","symbolParentPromiseState","UNRESOLVED","RESOLVED","REJECTED","REJECTED_NO_CATCH","makeResolver","resolvePromise","once","wasCalled","wrappedFunction","TYPE_ERROR","CURRENT_TASK_TRACE_SYMBOL","onceWrapper","clearRejectedNoCatch","trace","currentTask","scheduleResolveOrReject","obj","className","readableObjectToString","REJECTION_HANDLED_HANDLER","chainPromise","promiseState","parentPromiseValue","isFinallyPromise","rej","onResolve","onReject","values_1","allWithCallback","allSettled","thenCallback","status","errorCallback","unresolvedCount","valueIndex","resolvedValues","_loop_2","this_1","curValueIndex","thenErr","values_2","species","finally","onFinally","ZONE_AWARE_PROMISE","NewNativePromise","symbolThenPatched","Ctor","prop","originalThen","_this","wrapped","fetch_1","resultPromise","ctor","ObjectGetPrototypeOf","ADD_EVENT_LISTENER_STR","REMOVE_EVENT_LISTENER_STR","ZONE_SYMBOL_ADD_EVENT_LISTENER","ZONE_SYMBOL_REMOVE_EVENT_LISTENER","TRUE_STR","FALSE_STR","ZONE_SYMBOL_PREFIX","scheduleMacroTaskWithCurrentZone","zoneSymbol","isWindowExists","internalWindow","_global","REMOVE_ATTRIBUTE","NULL_ON_PROP_VALUE","isPropertyWritable","isWebWorker","WorkerGlobalScope","isBrowser","isMix","zoneSymbolEventNames","wrapFn","eventNameSymbol","errorEvent","filename","lineno","colno","preventDefault","patchProperty","prototypeDesc","onPropPatchedSymbol","originalDescGet","originalDescSet","eventName","substr","newValue","previousValue","removeEventListener","removeAttribute","onProperties","originalInstanceKey","OriginalClass","shouldCopySymbolProperties","patchFn","dest","delegateName","patchDelegate_1","funcName","metaCreator","setNative","cbIdx","patched","isDetectedIEOrEdge","ieOrEdge","ua","originalFunctionToString","ORIGINAL_DELEGATE_SYMBOL","PROMISE_SYMBOL","ERROR_SYMBOL","newFunctionToString","originalDelegate","nativePromise","nativeError","originalObjectToString","passiveSupported","OPTIMIZED_ZONE_EVENT_TASK_DATA","zoneSymbolEventNames$1","globalSources","EVENT_NAME_SYMBOL_REGX","IMMEDIATE_PROPAGATION_SYMBOL","prepareEventNames","eventNameToString","falseEventName","trueEventName","symbolCapture","apis","patchOptions","ADD_EVENT_LISTENER","REMOVE_EVENT_LISTENER","rm","LISTENERS_EVENT_LISTENER","listeners","REMOVE_ALL_LISTENERS_EVENT_LISTENER","rmAll","zoneSymbolAddEventListener","ADD_EVENT_LISTENER_SOURCE","PREPEND_EVENT_LISTENER","PREPEND_EVENT_LISTENER_SOURCE","isRemoved","handleEvent","delegate_1","globalZoneAwareCallback","tasks","copyTasks","globalZoneAwareCaptureCallback","patchEventTargetMethods","useGlobalCallback","validateHandler","vh","chkDup","returnTarget","nativePrependEventListener","taskData","nativeAddEventListener","nativeRemoveEventListener","nativeListeners","nativeRemoveAllListeners","prepend","isExisting","symbolEventNames","symbolEventName","existingTasks","existingTask","allRemoved","compare","diff","typeOfDelegate","blackListedEvents","passiveEvents","makeAddListener","nativeListener","addSource","customScheduleFn","customCancelFn","transferEventName","isHandleEvent","passive","buildEventListenerOptions","constructorName","targetSource","unshift","onPropertySymbol","findEventTasks","symbolCaptureEventName","captureTasks","removeTasks","evtName","foundTasks","captureFalseTasks","captureTrueTasks","Event","targetName","callbacks","nativeDelegate","opts","zoneSymbol$1","_defineProperty","_getOwnPropertyDescriptor","unconfigurablesKey","windowEventNames","mediaElementEventNames","frameEventNames","frameSetEventNames","marqueeEventNames","XMLHttpRequestEventNames","IDBIndexEventNames","websocketEventNames","workerEventNames","eventNames","ignoreProperties","tip","ip","targetIgnoreProperties","op","patchFilteredProperties","filteredProperties","propertyDescriptorPatch","supportsWebSocket","WebSocket","internalWindow_1","ignoreErrorProperties","Document","HTMLElement","HTMLMediaElement","HTMLFrameSetElement","HTMLBodyElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement_1","Worker_1","XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","propertyPatch","isUnconfigurable","originalConfigurableFlag","rewriteDescriptor","_tryDefineProperty","props","isFrozen","descJson","eventTargetLegacyPatch","NO_EVENT_TARGET","isWtf","WTF_ISSUE_555_ARRAY","isDisableIECheck","isEnableCrossContextCheck","BROWSER_TOOLS","pointerEventsMap","MSPointerCancel","MSPointerDown","MSPointerEnter","MSPointerHover","MSPointerLeave","MSPointerMove","MSPointerOut","MSPointerOver","MSPointerUp","targets","apiTypes","testString","pointerEventName","propertyDescriptorLegacyPatch","onclick","XMLHttpRequestPrototype","xhrDesc","req","onreadystatechange","SYMBOL_FAKE_ONREADYSTATECHANGE_1","detectFunc","canPatchViaPropertyDescriptor","unboundKey","_loop_4","onproperty","elt","parentElement","patchViaCapturingAllTheEvents","WS","EventTarget","proxySocket","proxySocketProto","socket","onmessageDesc","propName","propertySymbol","globalWebSocket","SYMBOL_BLACK_LISTED_EVENTS","SYMBOL_UNPATCHED_EVENTS","registerElementPatch","taskSymbol","patchTimer","setName","cancelName","nameSuffix","clearNative","tasksByHandleId","delay","handle","ref","unref","eventTargetPatch","EVENT_TARGET","legacyPatch","blockingMethods","name_2","patchEvent","customElements","patchCustomElements","oriAddListener","oriRemoveListener","XMLHttpRequestEventTarget_1","XMLHttpRequestEventTargetPrototype","READY_STATE_CHANGE","SCHEDULED","openNative","XHR_SYNC","XHR_URL","fetchTaskAborting","fetchTaskScheduling","sendNative","aborted","placeholderCallback","XHR_ERROR_BEFORE_SCHEDULED","abortNative","XHR_TASK","XHR_SCHEDULED","XHR_LISTENER","newListener","readyState","DONE","loadTasks","oriInvoke_1","storedTask","patchXHR","geolocation","fnNames","_loop_3","name_1","patchPrototype","findPromiseRejectionHandler","eventTasks","evt","__webpack_exports__","Headers","Request","Response","DOMException","fetch","support","searchParams","blob","Blob","formData","arrayBuffer","viewClasses","isArrayBufferView","normalizeName","normalizeValue","iteratorFor","items","headers","append","header","consumed","body","bodyUsed","fileReaderReady","reader","onload","onerror","readBlobAsArrayBuffer","FileReader","readAsArrayBuffer","bufferClone","buf","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","_bodyArrayBuffer","rejected","text","readAsText","chars","readArrayBufferAsText","decode","json","parse","oldValue","thisArg","input","upcased","credentials","signal","toUpperCase","referrer","form","decodeURIComponent","bodyInit","statusText","clone","response","redirectStatuses","redirect","location","request","xhr","abortXhr","abort","rawHeaders","getAllResponseHeaders","line","parts","responseURL","responseText","ontimeout","onabort","withCredentials","responseType","setRequestHeader","send","polyfill","_crypto","crypto","msCrypto","_subtle","subtle","webkitSubtle","_Crypto","Crypto","_SubtleCrypto","SubtleCrypto","isEdge","CryptoKey","Key","isIE","isWebkit","oid2str","KoZIhvcNAQEB","str2oid","1.2.840.113549.1.1.1","_fn","ka","kx","ku","jwk","alg","b2jwk","jwkAlg","key_ops","kty","isPrvKeyUse","isPubKeyUse","ext","s2b","unescape","encodeURIComponent","_key","hash","SHA-1","SHA-256","SHA-384","SHA-512","importKey","getRandomValues","modulusLength","generateKey","exportKey","publicKey","privateKey","a2s","info","b2der","prv","rsaComp","rsaKey","s2a","b2s","pkcs2jwk","decrypt","oncomplete","algorithm","publicExponent","encrypt","usages","der2b","jwk2pkcs","tl","tagLength","AesGcmEncryptResult","ciphertext","_digest","digest","btoa","atob","SyntaxError","HMAC","RSASSA-PKCS1-v1_5","RSAES-PKCS1-v1_5","","RSA-OAEP","AES-KW","128","192","256","AES-GCM","AES-CBC","escape","extractable","rv","xlen","oid","use","u","factory"],"mappings":"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ACA,QACA,OACA,YACA,aACA,iBACA,qBACA,YACA,aACA,aACA,YACA,WACA,YACA,UACA,aACA,oBACA,QACA,OACA,UACA,gBACA,cACA,eACA,eACA,oBACA,uBACA,4BACA,mBACA,sBACA,yBACA,cACA,WACA,cACA,YACA,WACA,aACA,QACA,SACA,SACA,SACA,UACA,SACA,kBACA,cACA,OACA,OACA,UACA,SACA,UACA,aACA,eACA,cACA,YACA,aACA,WACA,mBACA,gBACA,UACA,SAoHAjkC,OAbA,wEACA,qCACA,WAvGA,CACA,0FACA,sFACA,oFACA,6BA8GAwjC,GA5EA,CACA,kFACA,iFACA,yEAGA,CACA,WACA,cACA,cACA,iBACA,mBACA,kBACA,eACA,aACA,gBACA,gBACA,iBACA,kBACA,cACA,eACA,iBACA,cACA,OACA,UACA,YACA,iBACA,YACA,cACA,WACA,UACA,aACA,eACA,UACA,0BACA,aACA,OACA,gBACA,6BACA,kBACA,qBACA,eACA,gBACA,iBACA,eACA,sBACA,iBACA,uBACA,kBACA,gBACA,iBACA,iBACA,iBACA,gBACA,eACA,gBACA,cACA,aACA,gCACA,mBACA,OACA,kBAgBA,SAAApO,GAAAnlC,EAAAysC,EAAAwH,GACA,IAAAA,GAAA,IAAAA,EAAAtxC,OACA,OAAA8pC,EAEA,IAAAyH,EAAAD,EAAAxnC,OAAA,SAAA0nC,GAAyD,OAAAA,EAAAn0C,aACzD,IAAAk0C,GAAA,IAAAA,EAAAvxC,OACA,OAAA8pC,EAEA,IAAA2H,EAAAF,EAAA,GAAAD,iBACA,OAAAxH,EAAAhgC,OAAA,SAAA4nC,GAAkD,WAAAD,EAAAtnC,QAAAunC,KAElD,SAAAC,GAAAt0C,EAAAysC,EAAAwH,EAAA11C,GAGA,GAAAyB,EAAA,CAGA,IAAAu0C,EAAApP,GAAAnlC,EAAAysC,EAAAwH,GACA9P,EAAAnkC,EAAAu0C,EAAAh2C,IAEA,SAAAi2C,GAAAjP,EAAAuF,GACA,KAAA5mB,GAAAmnB,KAGApP,KAAAsJ,EAAAzB,OAAA,iBAIA,IAAA2Q,EAAA,oBAA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","file":"app/polyfills.9f15875cff59b5963eea.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 733);\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var $export = require('./_export');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function (string, tag, attribute, value) {\n var S = String(defined(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\nmodule.exports = function (NAME, exec) {\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function () {\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar TO_STRING = 'toString';\nvar $toString = Function[TO_STRING];\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","var core = module.exports = { version: '2.6.2' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","'use strict';\nvar fails = require('./_fails');\n\nmodule.exports = function (method, arg) {\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call\n arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);\n });\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nif (require('./_descriptors')) {\n var LIBRARY = require('./_library');\n var global = require('./_global');\n var fails = require('./_fails');\n var $export = require('./_export');\n var $typed = require('./_typed');\n var $buffer = require('./_typed-buffer');\n var ctx = require('./_ctx');\n var anInstance = require('./_an-instance');\n var propertyDesc = require('./_property-desc');\n var hide = require('./_hide');\n var redefineAll = require('./_redefine-all');\n var toInteger = require('./_to-integer');\n var toLength = require('./_to-length');\n var toIndex = require('./_to-index');\n var toAbsoluteIndex = require('./_to-absolute-index');\n var toPrimitive = require('./_to-primitive');\n var has = require('./_has');\n var classof = require('./_classof');\n var isObject = require('./_is-object');\n var toObject = require('./_to-object');\n var isArrayIter = require('./_is-array-iter');\n var create = require('./_object-create');\n var getPrototypeOf = require('./_object-gpo');\n var gOPN = require('./_object-gopn').f;\n var getIterFn = require('./core.get-iterator-method');\n var uid = require('./_uid');\n var wks = require('./_wks');\n var createArrayMethod = require('./_array-methods');\n var createArrayIncludes = require('./_array-includes');\n var speciesConstructor = require('./_species-constructor');\n var ArrayIterators = require('./es6.array.iterator');\n var Iterators = require('./_iterators');\n var $iterDetect = require('./_iter-detect');\n var setSpecies = require('./_set-species');\n var arrayFill = require('./_array-fill');\n var arrayCopyWithin = require('./_array-copy-within');\n var $DP = require('./_object-dp');\n var $GOPD = require('./_object-gopd');\n var dP = $DP.f;\n var gOPD = $GOPD.f;\n var RangeError = global.RangeError;\n var TypeError = global.TypeError;\n var Uint8Array = global.Uint8Array;\n var ARRAY_BUFFER = 'ArrayBuffer';\n var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;\n var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\n var PROTOTYPE = 'prototype';\n var ArrayProto = Array[PROTOTYPE];\n var $ArrayBuffer = $buffer.ArrayBuffer;\n var $DataView = $buffer.DataView;\n var arrayForEach = createArrayMethod(0);\n var arrayFilter = createArrayMethod(2);\n var arraySome = createArrayMethod(3);\n var arrayEvery = createArrayMethod(4);\n var arrayFind = createArrayMethod(5);\n var arrayFindIndex = createArrayMethod(6);\n var arrayIncludes = createArrayIncludes(true);\n var arrayIndexOf = createArrayIncludes(false);\n var arrayValues = ArrayIterators.values;\n var arrayKeys = ArrayIterators.keys;\n var arrayEntries = ArrayIterators.entries;\n var arrayLastIndexOf = ArrayProto.lastIndexOf;\n var arrayReduce = ArrayProto.reduce;\n var arrayReduceRight = ArrayProto.reduceRight;\n var arrayJoin = ArrayProto.join;\n var arraySort = ArrayProto.sort;\n var arraySlice = ArrayProto.slice;\n var arrayToString = ArrayProto.toString;\n var arrayToLocaleString = ArrayProto.toLocaleString;\n var ITERATOR = wks('iterator');\n var TAG = wks('toStringTag');\n var TYPED_CONSTRUCTOR = uid('typed_constructor');\n var DEF_CONSTRUCTOR = uid('def_constructor');\n var ALL_CONSTRUCTORS = $typed.CONSTR;\n var TYPED_ARRAY = $typed.TYPED;\n var VIEW = $typed.VIEW;\n var WRONG_LENGTH = 'Wrong length!';\n\n var $map = createArrayMethod(1, function (O, length) {\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n\n var LITTLE_ENDIAN = fails(function () {\n // eslint-disable-next-line no-undef\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {\n new Uint8Array(1).set({});\n });\n\n var toOffset = function (it, BYTES) {\n var offset = toInteger(it);\n if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');\n return offset;\n };\n\n var validate = function (it) {\n if (isObject(it) && TYPED_ARRAY in it) return it;\n throw TypeError(it + ' is not a typed array!');\n };\n\n var allocate = function (C, length) {\n if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {\n throw TypeError('It is not a typed array constructor!');\n } return new C(length);\n };\n\n var speciesFromList = function (O, list) {\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n\n var fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = allocate(C, length);\n while (length > index) result[index] = list[index++];\n return result;\n };\n\n var addGetter = function (it, key, internal) {\n dP(it, key, { get: function () { return this._d[internal]; } });\n };\n\n var $from = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iterFn = getIterFn(O);\n var i, length, values, result, step, iterator;\n if (iterFn != undefined && !isArrayIter(iterFn)) {\n for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {\n values.push(step.value);\n } O = values;\n }\n if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);\n for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n\n var $of = function of(/* ...items */) {\n var index = 0;\n var length = arguments.length;\n var result = allocate(this, length);\n while (length > index) result[index] = arguments[index++];\n return result;\n };\n\n // iOS Safari 6.x fails here\n var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); });\n\n var $toLocaleString = function toLocaleString() {\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n\n var proto = {\n copyWithin: function copyWithin(target, start /* , end */) {\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn /* , thisArg */) {\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn /* , thisArg */) {\n return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate /* , thisArg */) {\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate /* , thisArg */) {\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn /* , thisArg */) {\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement /* , fromIndex */) {\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement /* , fromIndex */) {\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator) { // eslint-disable-line no-unused-vars\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn /* , thisArg */) {\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse() {\n var that = this;\n var length = validate(that).length;\n var middle = Math.floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n },\n some: function some(callbackfn /* , thisArg */) {\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn) {\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end) {\n var O = validate(this);\n var length = O.length;\n var $begin = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n O.buffer,\n O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin)\n );\n }\n };\n\n var $slice = function slice(start, end) {\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n\n var $set = function set(arrayLike /* , offset */) {\n validate(this);\n var offset = toOffset(arguments[1], 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError(WRONG_LENGTH);\n while (index < len) this[offset + index] = src[index++];\n };\n\n var $iterators = {\n entries: function entries() {\n return arrayEntries.call(validate(this));\n },\n keys: function keys() {\n return arrayKeys.call(validate(this));\n },\n values: function values() {\n return arrayValues.call(validate(this));\n }\n };\n\n var isTAIndex = function (target, key) {\n return isObject(target)\n && target[TYPED_ARRAY]\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key) {\n return isTAIndex(target, key = toPrimitive(key, true))\n ? propertyDesc(2, target[key])\n : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc) {\n if (isTAIndex(target, key = toPrimitive(key, true))\n && isObject(desc)\n && has(desc, 'value')\n && !has(desc, 'get')\n && !has(desc, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !desc.configurable\n && (!has(desc, 'writable') || desc.writable)\n && (!has(desc, 'enumerable') || desc.enumerable)\n ) {\n target[key] = desc.value;\n return target;\n } return dP(target, key, desc);\n };\n\n if (!ALL_CONSTRUCTORS) {\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n\n if (fails(function () { arrayToString.call({}); })) {\n arrayToString = arrayToLocaleString = function toString() {\n return arrayJoin.call(this);\n };\n }\n\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function () { /* noop */ },\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function () { return this[TYPED_ARRAY]; }\n });\n\n // eslint-disable-next-line max-statements\n module.exports = function (KEY, BYTES, wrapper, CLAMPED) {\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + KEY;\n var SETTER = 'set' + KEY;\n var TypedArray = global[NAME];\n var Base = TypedArray || {};\n var TAC = TypedArray && getPrototypeOf(TypedArray);\n var FORCED = !TypedArray || !$typed.ABV;\n var O = {};\n var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function (that, index) {\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function (that, index, value) {\n var data = that._d;\n if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function (that, index) {\n dP(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if (FORCED) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0;\n var offset = 0;\n var buffer, byteLength, length, klass;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (TYPED_ARRAY in data) {\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if (!fails(function () {\n TypedArray(1);\n }) || !fails(function () {\n new TypedArray(-1); // eslint-disable-line no-new\n }) || !$iterDetect(function (iter) {\n new TypedArray(); // eslint-disable-line no-new\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(1.5); // eslint-disable-line no-new\n new TypedArray(iter); // eslint-disable-line no-new\n }, true)) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME);\n var klass;\n // `ws` module bug, temporarily remove validation length for Uint8Array\n // https://github.com/websockets/ws/pull/645\n if (!isObject(data)) return new Base(toIndex(data));\n if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n return $length !== undefined\n ? new Base(data, toOffset($offset, BYTES), $length)\n : $offset !== undefined\n ? new Base(data, toOffset($offset, BYTES))\n : new Base(data);\n }\n if (TYPED_ARRAY in data) return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {\n if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR];\n var CORRECT_ITER_NAME = !!$nativeIterator\n && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);\n var $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {\n dP(TypedArrayPrototype, TAG, {\n get: function () { return NAME; }\n });\n }\n\n O[NAME] = TypedArray;\n\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n $export($export.S, NAME, {\n BYTES_PER_ELEMENT: BYTES\n });\n\n $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {\n from: $from,\n of: $of\n });\n\n if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n $export($export.P, NAME, proto);\n\n setSpecies(NAME);\n\n $export($export.P + $export.F * FORCED_SET, NAME, { set: $set });\n\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;\n\n $export($export.P + $export.F * fails(function () {\n new TypedArray(1).slice();\n }), NAME, { slice: $slice });\n\n $export($export.P + $export.F * (fails(function () {\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();\n }) || !fails(function () {\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, { toLocaleString: $toLocaleString });\n\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n} else module.exports = function () { /* empty */ };\n","var Map = require('./es6.map');\nvar $export = require('./_export');\nvar shared = require('./_shared')('metadata');\nvar store = shared.store || (shared.store = new (require('./es6.weak-map'))());\n\nvar getOrCreateMetadataMap = function (target, targetKey, create) {\n var targetMetadata = store.get(target);\n if (!targetMetadata) {\n if (!create) return undefined;\n store.set(target, targetMetadata = new Map());\n }\n var keyMetadata = targetMetadata.get(targetKey);\n if (!keyMetadata) {\n if (!create) return undefined;\n targetMetadata.set(targetKey, keyMetadata = new Map());\n } return keyMetadata;\n};\nvar ordinaryHasOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\nvar ordinaryGetOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\nvar ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) {\n getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\nvar ordinaryOwnMetadataKeys = function (target, targetKey) {\n var metadataMap = getOrCreateMetadataMap(target, targetKey, false);\n var keys = [];\n if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); });\n return keys;\n};\nvar toMetaKey = function (it) {\n return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\nvar exp = function (O) {\n $export($export.S, 'Reflect', O);\n};\n\nmodule.exports = {\n store: store,\n map: getOrCreateMetadataMap,\n has: ordinaryHasOwnMetadata,\n get: ordinaryGetOwnMetadata,\n set: ordinaryDefineOwnMetadata,\n keys: ordinaryOwnMetadataKeys,\n key: toMetaKey,\n exp: exp\n};\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","module.exports = false;\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","module.exports = {};\n","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","var $export = require('./_export');\nvar defined = require('./_defined');\nvar fails = require('./_fails');\nvar spaces = require('./_string-ws');\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n var exp = {};\n var FORCE = fails(function () {\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if (ALIAS) exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n string = String(defined(string));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n","exports.f = {}.propertyIsEnumerable;\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","exports.f = Object.getOwnPropertySymbols;\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","'use strict';\n\nvar classof = require('./_classof');\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n","'use strict';\nrequire('./es6.regexp.exec');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\nvar regexpExec = require('./_regexp-exec');\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar redefineAll = require('./_redefine-all');\nvar meta = require('./_meta');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar $iterDetect = require('./_iter-detect');\nvar setToStringTag = require('./_set-to-string-tag');\nvar inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function (KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n // weak collections should not contains .clear method\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar uid = require('./_uid');\nvar TYPED = uid('typed_array');\nvar VIEW = uid('view');\nvar ABV = !!(global.ArrayBuffer && global.DataView);\nvar CONSTR = ABV;\nvar i = 0;\nvar l = 9;\nvar Typed;\n\nvar TypedArrayConstructors = (\n 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile (i < l) {\n if (Typed = global[TypedArrayConstructors[i++]]) {\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n}\n\nmodule.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object');\nvar cof = require('./_cof');\nvar MATCH = require('./_wks')('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n","// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n // Old FF bug\n || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n // Tor Browser bug\n || $expm1(-2e-17) != -2e-17\n) ? function expm1(x) {\n return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n","var MATCH = require('./_wks')('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) { /* empty */ }\n } return true;\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var aLen = arguments.length;\n var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n var end = aLen > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'use strict';\n\nvar regexpFlags = require('./_flags');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","'use strict';\nvar global = require('./_global');\nvar DESCRIPTORS = require('./_descriptors');\nvar LIBRARY = require('./_library');\nvar $typed = require('./_typed');\nvar hide = require('./_hide');\nvar redefineAll = require('./_redefine-all');\nvar fails = require('./_fails');\nvar anInstance = require('./_an-instance');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar toIndex = require('./_to-index');\nvar gOPN = require('./_object-gopn').f;\nvar dP = require('./_object-dp').f;\nvar arrayFill = require('./_array-fill');\nvar setToStringTag = require('./_set-to-string-tag');\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length!';\nvar WRONG_INDEX = 'Wrong index!';\nvar $ArrayBuffer = global[ARRAY_BUFFER];\nvar $DataView = global[DATA_VIEW];\nvar Math = global.Math;\nvar RangeError = global.RangeError;\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = global.Infinity;\nvar BaseBuffer = $ArrayBuffer;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\nvar BUFFER = 'buffer';\nvar BYTE_LENGTH = 'byteLength';\nvar BYTE_OFFSET = 'byteOffset';\nvar $BUFFER = DESCRIPTORS ? '_b' : BUFFER;\nvar $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;\nvar $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nfunction packIEEE754(value, mLen, nBytes) {\n var buffer = new Array(nBytes);\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var i = 0;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n var e, m, c;\n value = abs(value);\n // eslint-disable-next-line no-self-compare\n if (value != value || value === Infinity) {\n // eslint-disable-next-line no-self-compare\n m = value != value ? 1 : 0;\n e = eMax;\n } else {\n e = floor(log(value) / LN2);\n if (value * (c = pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * pow(2, eBias - 1) * pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n buffer[--i] |= s * 128;\n return buffer;\n}\nfunction unpackIEEE754(buffer, mLen, nBytes) {\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = eLen - 7;\n var i = nBytes - 1;\n var s = buffer[i--];\n var e = s & 127;\n var m;\n s >>= 7;\n for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : s ? -Infinity : Infinity;\n } else {\n m = m + pow(2, mLen);\n e = e - eBias;\n } return (s ? -1 : 1) * m * pow(2, e - mLen);\n}\n\nfunction unpackI32(bytes) {\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n}\nfunction packI8(it) {\n return [it & 0xff];\n}\nfunction packI16(it) {\n return [it & 0xff, it >> 8 & 0xff];\n}\nfunction packI32(it) {\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n}\nfunction packF64(it) {\n return packIEEE754(it, 52, 8);\n}\nfunction packF32(it) {\n return packIEEE754(it, 23, 4);\n}\n\nfunction addGetter(C, key, internal) {\n dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } });\n}\n\nfunction get(view, bytes, index, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n}\nfunction set(view, bytes, index, conversion, value, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = conversion(+value);\n for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n}\n\nif (!$typed.ABV) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n this._b = arrayFill.call(new Array(byteLength), 0);\n this[$LENGTH] = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = buffer[$LENGTH];\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n this[$BUFFER] = buffer;\n this[$OFFSET] = offset;\n this[$LENGTH] = byteLength;\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n addGetter($DataView, BUFFER, '_b');\n addGetter($DataView, BYTE_LENGTH, '_l');\n addGetter($DataView, BYTE_OFFSET, '_o');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1]));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packF32, value, arguments[2]);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packF64, value, arguments[2]);\n }\n });\n} else {\n if (!fails(function () {\n $ArrayBuffer(1);\n }) || !fails(function () {\n new $ArrayBuffer(-1); // eslint-disable-line no-new\n }) || fails(function () {\n new $ArrayBuffer(); // eslint-disable-line no-new\n new $ArrayBuffer(1.5); // eslint-disable-line no-new\n new $ArrayBuffer(NaN); // eslint-disable-line no-new\n return $ArrayBuffer.name != ARRAY_BUFFER;\n })) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new BaseBuffer(toIndex(length));\n };\n var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);\n }\n if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;\n }\n // iOS Safari 7.x bug\n var view = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = $DataView[PROTOTYPE].setInt8;\n view.setInt8(0, 2147483648);\n view.setInt8(1, 2147483649);\n if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n","'use strict';\nvar toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n\nmodule.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;\n return res;\n};\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","exports.f = require('./_wks');\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","'use strict';\nvar aFunction = require('./_a-function');\nvar isObject = require('./_is-object');\nvar invoke = require('./_invoke');\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n if (!(len in factories)) {\n for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = arraySlice.call(arguments, 1);\n var bound = function (/* args... */) {\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n return bound;\n};\n","var $parseInt = require('./_global').parseInt;\nvar $trim = require('./_string-trim').trim;\nvar ws = require('./_string-ws');\nvar hex = /^[-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {\n var string = $trim(String(str), 3);\n return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;\n","var $parseFloat = require('./_global').parseFloat;\nvar $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str) {\n var string = $trim(String(str), 3);\n var result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n","var cof = require('./_cof');\nmodule.exports = function (it, msg) {\n if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);\n return +it;\n};\n","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object');\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x) {\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n","var aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar toLength = require('./_to-length');\n\nmodule.exports = function (that, callbackfn, aLen, memo, isRight) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IObject(O);\n var length = toLength(O.length);\n var index = isRight ? length - 1 : 0;\n var i = isRight ? -1 : 1;\n if (aLen < 2) for (;;) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (isRight ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;isRight ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n};\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","'use strict';\nvar regexpExec = require('./_regexp-exec');\nrequire('./_export')({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\n});\n","// 21.2.5.3 get RegExp.prototype.flags()\nif (require('./_descriptors') && /./g.flags != 'g') require('./_object-dp').f(RegExp.prototype, 'flags', {\n configurable: true,\n get: require('./_flags')\n});\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n","'use strict';\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar validate = require('./_validate-collection');\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar tmp = {};\nvar InternalMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (fails(function () { return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7; })) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n // store frozen objects on internal weakmap shim\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function (key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n","// https://tc39.github.io/ecma262/#sec-toindex\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length!');\n return length;\n};\n","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn');\nvar gOPS = require('./_object-gops');\nvar anObject = require('./_an-object');\nvar Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = gOPN.f(anObject(it));\n var getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n","// 20.2.2.16 Math.fround(x)\nvar sign = require('./_math-sign');\nvar pow = Math.pow;\nvar EPSILON = pow(2, -52);\nvar EPSILON32 = pow(2, -23);\nvar MAX32 = pow(2, 127) * (2 - EPSILON32);\nvar MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function (n) {\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\nmodule.exports = Math.fround || function fround(x) {\n var $abs = Math.abs(x);\n var $sign = sign(x);\n var a, result;\n if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n // eslint-disable-next-line no-self-compare\n if (result > MAX32 || result != result) return $sign * Infinity;\n return $sign * result;\n};\n","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","var forOf = require('./_for-of');\n\nmodule.exports = function (iter, ITERATOR) {\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","var $export = require('./_export');\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperties: require('./_object-dps') });\n","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject');\nvar $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function () {\n return function getOwnPropertyDescriptor(it, key) {\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function () {\n return require('./_object-gopn-ext').f;\n});\n","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function ($freeze) {\n return function freeze(it) {\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n","// 19.1.2.17 Object.seal(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('seal', function ($seal) {\n return function seal(it) {\n return $seal && isObject(it) ? $seal(meta(it)) : it;\n };\n});\n","// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('preventExtensions', function ($preventExtensions) {\n return function preventExtensions(it) {\n return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n };\n});\n","// 19.1.2.12 Object.isFrozen(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isFrozen', function ($isFrozen) {\n return function isFrozen(it) {\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n };\n});\n","// 19.1.2.13 Object.isSealed(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isSealed', function ($isSealed) {\n return function isSealed(it) {\n return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n };\n});\n","// 19.1.2.11 Object.isExtensible(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isExtensible', function ($isExtensible) {\n return function isExtensible(it) {\n return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n };\n});\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', { is: require('./_same-value') });\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof');\nvar test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n require('./_redefine')(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n","// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = require('./_export');\n\n$export($export.P, 'Function', { bind: require('./_bind') });\n","var dP = require('./_object-dp').f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function () {\n try {\n return ('' + this).match(nameRE)[1];\n } catch (e) {\n return '';\n }\n }\n});\n","'use strict';\nvar isObject = require('./_is-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar HAS_INSTANCE = require('./_wks')('hasInstance');\nvar FunctionProto = Function.prototype;\n// 19.2.3.6 Function.prototype[@@hasInstance](V)\nif (!(HAS_INSTANCE in FunctionProto)) require('./_object-dp').f(FunctionProto, HAS_INSTANCE, { value: function (O) {\n if (typeof this != 'function' || !isObject(O)) return false;\n if (!isObject(this.prototype)) return O instanceof this;\n // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n while (O = getPrototypeOf(O)) if (this.prototype === O) return true;\n return false;\n} });\n","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n","'use strict';\nvar $export = require('./_export');\nvar toInteger = require('./_to-integer');\nvar aNumberValue = require('./_a-number-value');\nvar repeat = require('./_string-repeat');\nvar $toFixed = 1.0.toFixed;\nvar floor = Math.floor;\nvar data = [0, 0, 0, 0, 0, 0];\nvar ERROR = 'Number.toFixed: incorrect invocation!';\nvar ZERO = '0';\n\nvar multiply = function (n, c) {\n var i = -1;\n var c2 = c;\n while (++i < 6) {\n c2 += n * data[i];\n data[i] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n};\nvar divide = function (n) {\n var i = 6;\n var c = 0;\n while (--i >= 0) {\n c += data[i];\n data[i] = floor(c / n);\n c = (c % n) * 1e7;\n }\n};\nvar numToString = function () {\n var i = 6;\n var s = '';\n while (--i >= 0) {\n if (s !== '' || i === 0 || data[i] !== 0) {\n var t = String(data[i]);\n s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n }\n } return s;\n};\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\n$export($export.P + $export.F * (!!$toFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !require('./_fails')(function () {\n // V8 ~ Android 4.3-\n $toFixed.call({});\n})), 'Number', {\n toFixed: function toFixed(fractionDigits) {\n var x = aNumberValue(this, ERROR);\n var f = toInteger(fractionDigits);\n var s = '';\n var m = ZERO;\n var e, z, j, k;\n if (f < 0 || f > 20) throw RangeError(ERROR);\n // eslint-disable-next-line no-self-compare\n if (x != x) return 'NaN';\n if (x <= -1e21 || x >= 1e21) return String(x);\n if (x < 0) {\n s = '-';\n x = -x;\n }\n if (x > 1e-21) {\n e = log(x * pow(2, 69, 1)) - 69;\n z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if (e > 0) {\n multiply(0, z);\n j = f;\n while (j >= 7) {\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while (j >= 23) {\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n m = numToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n m = numToString() + repeat.call(ZERO, f);\n }\n }\n if (f > 0) {\n k = m.length;\n m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n } else {\n m = s + m;\n } return m;\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $fails = require('./_fails');\nvar aNumberValue = require('./_a-number-value');\nvar $toPrecision = 1.0.toPrecision;\n\n$export($export.P + $export.F * ($fails(function () {\n // IE7-\n return $toPrecision.call(1, undefined) !== '1';\n}) || !$fails(function () {\n // V8 ~ Android 4.3-\n $toPrecision.call({});\n})), 'Number', {\n toPrecision: function toPrecision(precision) {\n var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision);\n }\n});\n","// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });\n","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { isInteger: require('./_is-integer') });\n","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n","// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = require('./_export');\nvar isInteger = require('./_is-integer');\nvar abs = Math.abs;\n\n$export($export.S, 'Number', {\n isSafeInteger: function isSafeInteger(number) {\n return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n }\n});\n","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat });\n","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt });\n","// 20.2.2.3 Math.acosh(x)\nvar $export = require('./_export');\nvar log1p = require('./_math-log1p');\nvar sqrt = Math.sqrt;\nvar $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n && Math.floor($acosh(Number.MAX_VALUE)) == 710\n // Tor Browser bug: Math.acosh(Infinity) -> NaN\n && $acosh(Infinity) == Infinity\n), 'Math', {\n acosh: function acosh(x) {\n return (x = +x) < 1 ? NaN : x > 94906265.62425156\n ? Math.log(x) + Math.LN2\n : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n }\n});\n","// 20.2.2.5 Math.asinh(x)\nvar $export = require('./_export');\nvar $asinh = Math.asinh;\n\nfunction asinh(x) {\n return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0\n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh });\n","// 20.2.2.7 Math.atanh(x)\nvar $export = require('./_export');\nvar $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0\n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n atanh: function atanh(x) {\n return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n }\n});\n","// 20.2.2.9 Math.cbrt(x)\nvar $export = require('./_export');\nvar sign = require('./_math-sign');\n\n$export($export.S, 'Math', {\n cbrt: function cbrt(x) {\n return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n }\n});\n","// 20.2.2.11 Math.clz32(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n clz32: function clz32(x) {\n return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n }\n});\n","// 20.2.2.12 Math.cosh(x)\nvar $export = require('./_export');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n cosh: function cosh(x) {\n return (exp(x = +x) + exp(-x)) / 2;\n }\n});\n","// 20.2.2.14 Math.expm1(x)\nvar $export = require('./_export');\nvar $expm1 = require('./_math-expm1');\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });\n","// 20.2.2.16 Math.fround(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { fround: require('./_math-fround') });\n","// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = require('./_export');\nvar abs = Math.abs;\n\n$export($export.S, 'Math', {\n hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars\n var sum = 0;\n var i = 0;\n var aLen = arguments.length;\n var larg = 0;\n var arg, div;\n while (i < aLen) {\n arg = abs(arguments[i++]);\n if (larg < arg) {\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if (arg > 0) {\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n }\n});\n","// 20.2.2.18 Math.imul(x, y)\nvar $export = require('./_export');\nvar $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * require('./_fails')(function () {\n return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n imul: function imul(x, y) {\n var UINT16 = 0xffff;\n var xn = +x;\n var yn = +y;\n var xl = UINT16 & xn;\n var yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});\n","// 20.2.2.21 Math.log10(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log10: function log10(x) {\n return Math.log(x) * Math.LOG10E;\n }\n});\n","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { log1p: require('./_math-log1p') });\n","// 20.2.2.22 Math.log2(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log2: function log2(x) {\n return Math.log(x) / Math.LN2;\n }\n});\n","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { sign: require('./_math-sign') });\n","// 20.2.2.30 Math.sinh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * require('./_fails')(function () {\n return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n sinh: function sinh(x) {\n return Math.abs(x = +x) < 1\n ? (expm1(x) - expm1(-x)) / 2\n : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n }\n});\n","// 20.2.2.33 Math.tanh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n tanh: function tanh(x) {\n var a = expm1(x = +x);\n var b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\n});\n","// 20.2.2.34 Math.trunc(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n trunc: function trunc(it) {\n return (it > 0 ? Math.floor : Math.ceil)(it);\n }\n});\n","var $export = require('./_export');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n // 21.1.2.2 String.fromCodePoint(...codePoints)\n fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n var res = [];\n var aLen = arguments.length;\n var i = 0;\n var code;\n while (aLen > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n );\n } return res.join('');\n }\n});\n","var $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\n\n$export($export.S, 'String', {\n // 21.1.2.4 String.raw(callSite, ...substitutions)\n raw: function raw(callSite) {\n var tpl = toIObject(callSite.raw);\n var len = toLength(tpl.length);\n var aLen = arguments.length;\n var res = [];\n var i = 0;\n while (len > i) {\n res.push(String(tpl[i++]));\n if (i < aLen) res.push(String(arguments[i]));\n } return res.join('');\n }\n});\n","'use strict';\n// 21.1.3.25 String.prototype.trim()\nrequire('./_string-trim')('trim', function ($trim) {\n return function trim() {\n return $trim(this, 3);\n };\n});\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","'use strict';\nvar $export = require('./_export');\nvar $at = require('./_string-at')(false);\n$export($export.P, 'String', {\n // 21.1.3.3 String.prototype.codePointAt(pos)\n codePointAt: function codePointAt(pos) {\n return $at(this, pos);\n }\n});\n","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = context(this, searchString, ENDS_WITH);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export');\nvar context = require('./_string-context');\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var $export = require('./_export');\n\n$export($export.P, 'String', {\n // 21.1.3.13 String.prototype.repeat(count)\n repeat: require('./_string-repeat')\n});\n","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","'use strict';\n// B.2.3.2 String.prototype.anchor(name)\nrequire('./_string-html')('anchor', function (createHTML) {\n return function anchor(name) {\n return createHTML(this, 'a', 'name', name);\n };\n});\n","'use strict';\n// B.2.3.3 String.prototype.big()\nrequire('./_string-html')('big', function (createHTML) {\n return function big() {\n return createHTML(this, 'big', '', '');\n };\n});\n","'use strict';\n// B.2.3.4 String.prototype.blink()\nrequire('./_string-html')('blink', function (createHTML) {\n return function blink() {\n return createHTML(this, 'blink', '', '');\n };\n});\n","'use strict';\n// B.2.3.5 String.prototype.bold()\nrequire('./_string-html')('bold', function (createHTML) {\n return function bold() {\n return createHTML(this, 'b', '', '');\n };\n});\n","'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function (createHTML) {\n return function fixed() {\n return createHTML(this, 'tt', '', '');\n };\n});\n","'use strict';\n// B.2.3.7 String.prototype.fontcolor(color)\nrequire('./_string-html')('fontcolor', function (createHTML) {\n return function fontcolor(color) {\n return createHTML(this, 'font', 'color', color);\n };\n});\n","'use strict';\n// B.2.3.8 String.prototype.fontsize(size)\nrequire('./_string-html')('fontsize', function (createHTML) {\n return function fontsize(size) {\n return createHTML(this, 'font', 'size', size);\n };\n});\n","'use strict';\n// B.2.3.9 String.prototype.italics()\nrequire('./_string-html')('italics', function (createHTML) {\n return function italics() {\n return createHTML(this, 'i', '', '');\n };\n});\n","'use strict';\n// B.2.3.10 String.prototype.link(url)\nrequire('./_string-html')('link', function (createHTML) {\n return function link(url) {\n return createHTML(this, 'a', 'href', url);\n };\n});\n","'use strict';\n// B.2.3.11 String.prototype.small()\nrequire('./_string-html')('small', function (createHTML) {\n return function small() {\n return createHTML(this, 'small', '', '');\n };\n});\n","'use strict';\n// B.2.3.12 String.prototype.strike()\nrequire('./_string-html')('strike', function (createHTML) {\n return function strike() {\n return createHTML(this, 'strike', '', '');\n };\n});\n","'use strict';\n// B.2.3.13 String.prototype.sub()\nrequire('./_string-html')('sub', function (createHTML) {\n return function sub() {\n return createHTML(this, 'sub', '', '');\n };\n});\n","'use strict';\n// B.2.3.14 String.prototype.sup()\nrequire('./_string-html')('sup', function (createHTML) {\n return function sup() {\n return createHTML(this, 'sup', '', '');\n };\n});\n","// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });\n","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar toPrimitive = require('./_to-primitive');\n\n$export($export.P + $export.F * require('./_fails')(function () {\n return new Date(NaN).toJSON() !== null\n || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;\n}), 'Date', {\n // eslint-disable-next-line no-unused-vars\n toJSON: function toJSON(key) {\n var O = toObject(this);\n var pv = toPrimitive(O);\n return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n }\n});\n","// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = require('./_export');\nvar toISOString = require('./_date-to-iso-string');\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', {\n toISOString: toISOString\n});\n","'use strict';\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar fails = require('./_fails');\nvar getTime = Date.prototype.getTime;\nvar $toISOString = Date.prototype.toISOString;\n\nvar lz = function (num) {\n return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\nmodule.exports = (fails(function () {\n return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n}) || !fails(function () {\n $toISOString.call(new Date(NaN));\n})) ? function toISOString() {\n if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');\n var d = this;\n var y = d.getUTCFullYear();\n var m = d.getUTCMilliseconds();\n var s = y < 0 ? '-' : y > 9999 ? '+' : '';\n return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n} : $toISOString;\n","var DateProto = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar $toString = DateProto[TO_STRING];\nvar getTime = DateProto.getTime;\nif (new Date(NaN) + '' != INVALID_DATE) {\n require('./_redefine')(DateProto, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare\n return value === value ? $toString.call(this) : INVALID_DATE;\n });\n}\n","var TO_PRIMITIVE = require('./_wks')('toPrimitive');\nvar proto = Date.prototype;\n\nif (!(TO_PRIMITIVE in proto)) require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive'));\n","'use strict';\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\nvar NUMBER = 'number';\n\nmodule.exports = function (hint) {\n if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint');\n return toPrimitive(anObject(this), hint != NUMBER);\n};\n","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', { isArray: require('./_is-array') });\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar createProperty = require('./_create-property');\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * require('./_fails')(function () {\n function F() { /* empty */ }\n return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n // 22.1.2.3 Array.of( ...items)\n of: function of(/* ...args */) {\n var index = 0;\n var aLen = arguments.length;\n var result = new (typeof this == 'function' ? this : Array)(aLen);\n while (aLen > index) createProperty(result, index, arguments[index++]);\n result.length = aLen;\n return result;\n }\n});\n","'use strict';\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar arrayJoin = [].join;\n\n// fallback for not array-like strings\n$export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', {\n join: function join(separator) {\n return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar html = require('./_html');\nvar cof = require('./_cof');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar arraySlice = [].slice;\n\n// fallback for not array-like ES3 strings and DOM objects\n$export($export.P + $export.F * require('./_fails')(function () {\n if (html) arraySlice.call(html);\n}), 'Array', {\n slice: function slice(begin, end) {\n var len = toLength(this.length);\n var klass = cof(this);\n end = end === undefined ? len : end;\n if (klass == 'Array') return arraySlice.call(this, begin, end);\n var start = toAbsoluteIndex(begin, len);\n var upTo = toAbsoluteIndex(end, len);\n var size = toLength(upTo - start);\n var cloned = new Array(size);\n var i = 0;\n for (; i < size; i++) cloned[i] = klass == 'String'\n ? this.charAt(start + i)\n : this[start + i];\n return cloned;\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar fails = require('./_fails');\nvar $sort = [].sort;\nvar test = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function () {\n // IE8-\n test.sort(undefined);\n}) || !fails(function () {\n // V8 bug\n test.sort(null);\n // Old WebKit\n}) || !require('./_strict-method')($sort)), 'Array', {\n // 22.1.3.25 Array.prototype.sort(comparefn)\n sort: function sort(comparefn) {\n return comparefn === undefined\n ? $sort.call(toObject(this))\n : $sort.call(toObject(this), aFunction(comparefn));\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $forEach = require('./_array-methods')(0);\nvar STRICT = require('./_strict-method')([].forEach, true);\n\n$export($export.P + $export.F * !STRICT, 'Array', {\n // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n forEach: function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments[1]);\n }\n});\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","'use strict';\nvar $export = require('./_export');\nvar $map = require('./_array-methods')(1);\n\n$export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', {\n // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $filter = require('./_array-methods')(2);\n\n$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {\n // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $some = require('./_array-methods')(3);\n\n$export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', {\n // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n some: function some(callbackfn /* , thisArg */) {\n return $some(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $every = require('./_array-methods')(4);\n\n$export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', {\n // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n every: function every(callbackfn /* , thisArg */) {\n return $every(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', {\n // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduceRight, true), 'Array', {\n // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n reduceRight: function reduceRight(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $indexOf = require('./_array-includes')(false);\nvar $native = [].indexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? $native.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar $native = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;\n var O = toIObject(this);\n var length = toLength(O.length);\n var index = length - 1;\n if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0;\n return -1;\n }\n});\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { copyWithin: require('./_array-copy-within') });\n\nrequire('./_add-to-unscopables')('copyWithin');\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { fill: require('./_array-fill') });\n\nrequire('./_add-to-unscopables')('fill');\n","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(5);\nvar KEY = 'find';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(6);\nvar KEY = 'findIndex';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","require('./_set-species')('Array');\n","var global = require('./_global');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar dP = require('./_object-dp').f;\nvar gOPN = require('./_object-gopn').f;\nvar isRegExp = require('./_is-regexp');\nvar $flags = require('./_flags');\nvar $RegExp = global.RegExp;\nvar Base = $RegExp;\nvar proto = $RegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n// \"new\" creates a new object, old webkit buggy here\nvar CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif (require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function () {\n re2[require('./_wks')('match')] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))) {\n $RegExp = function RegExp(p, f) {\n var tiRE = this instanceof $RegExp;\n var piRE = isRegExp(p);\n var fiU = f === undefined;\n return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n : inheritIfRequired(CORRECT_NEW\n ? new Base(piRE && !fiU ? p.source : p, f)\n : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n , tiRE ? this : proto, $RegExp);\n };\n var proxy = function (key) {\n key in $RegExp || dP($RegExp, key, {\n configurable: true,\n get: function () { return Base[key]; },\n set: function (it) { Base[key] = it; }\n });\n };\n for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);\n proto.constructor = $RegExp;\n $RegExp.prototype = proto;\n require('./_redefine')(global, 'RegExp', $RegExp);\n}\n\nrequire('./_set-species')('RegExp');\n","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object');\nvar $flags = require('./_flags');\nvar DESCRIPTORS = require('./_descriptors');\nvar TO_STRING = 'toString';\nvar $toString = /./[TO_STRING];\n\nvar define = function (fn) {\n require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif (require('./_fails')(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {\n define(function toString() {\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if ($toString.name != TO_STRING) {\n define(function toString() {\n return $toString.call(this);\n });\n}\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar toInteger = require('./_to-integer');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n var res = maybeCallNative($replace, regexp, this, replaceValue);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n results.push(result);\n if (!global) break;\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return $replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar sameValue = require('./_same-value');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@search logic\nrequire('./_fix-re-wks')('search', 1, function (defined, SEARCH, $search, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative($search, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","'use strict';\n\nvar isRegExp = require('./_is-regexp');\nvar anObject = require('./_an-object');\nvar speciesConstructor = require('./_species-constructor');\nvar advanceStringIndex = require('./_advance-string-index');\nvar toLength = require('./_to-length');\nvar callRegExpExec = require('./_regexp-exec-abstract');\nvar regexpExec = require('./_regexp-exec');\nvar $min = Math.min;\nvar $push = [].push;\nvar $SPLIT = 'split';\nvar LENGTH = 'length';\nvar LAST_INDEX = 'lastIndex';\n\n// eslint-disable-next-line no-empty\nvar SUPPORTS_Y = !!(function () { try { return new RegExp('x', 'y'); } catch (e) {} })();\n\n// @@split logic\nrequire('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(this);\n if (separator === undefined && limit === 0) return [];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) return $split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? 4294967295 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy[LAST_INDEX];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if (output[LENGTH] >= splitLimit) break;\n }\n if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if (lastLastIndex === string[LENGTH]) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n };\n } else {\n internalSplit = $split;\n }\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = defined(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? 0xffffffff : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n});\n","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n","'use strict';\nvar weak = require('./_collection-weak');\nvar validate = require('./_validate-collection');\nvar WEAK_SET = 'WeakSet';\n\n// 23.4 WeakSet Objects\nrequire('./_collection')(WEAK_SET, function (get) {\n return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value) {\n return weak.def(validate(this, WEAK_SET), value, true);\n }\n}, weak, false, true);\n","'use strict';\nvar $export = require('./_export');\nvar $typed = require('./_typed');\nvar buffer = require('./_typed-buffer');\nvar anObject = require('./_an-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar isObject = require('./_is-object');\nvar ArrayBuffer = require('./_global').ArrayBuffer;\nvar speciesConstructor = require('./_species-constructor');\nvar $ArrayBuffer = buffer.ArrayBuffer;\nvar $DataView = buffer.DataView;\nvar $isView = $typed.ABV && ArrayBuffer.isView;\nvar $slice = $ArrayBuffer.prototype.slice;\nvar VIEW = $typed.VIEW;\nvar ARRAY_BUFFER = 'ArrayBuffer';\n\n$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer });\n\n$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n // 24.1.3.1 ArrayBuffer.isView(arg)\n isView: function isView(it) {\n return $isView && $isView(it) || isObject(it) && VIEW in it;\n }\n});\n\n$export($export.P + $export.U + $export.F * require('./_fails')(function () {\n return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n}), ARRAY_BUFFER, {\n // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n slice: function slice(start, end) {\n if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix\n var len = anObject(this).byteLength;\n var first = toAbsoluteIndex(start, len);\n var fin = toAbsoluteIndex(end === undefined ? len : end, len);\n var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first));\n var viewS = new $DataView(this);\n var viewT = new $DataView(result);\n var index = 0;\n while (first < fin) {\n viewT.setUint8(index++, viewS.getUint8(first++));\n } return result;\n }\n});\n\nrequire('./_set-species')(ARRAY_BUFFER);\n","var $export = require('./_export');\n$export($export.G + $export.W + $export.F * !require('./_typed').ABV, {\n DataView: require('./_typed-buffer').DataView\n});\n","require('./_typed-array')('Int8', 1, function (init) {\n return function Int8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8ClampedArray(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n}, true);\n","require('./_typed-array')('Int16', 2, function (init) {\n return function Int16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint16', 2, function (init) {\n return function Uint16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Int32', 4, function (init) {\n return function Int32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint32', 4, function (init) {\n return function Uint32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Float32', 4, function (init) {\n return function Float32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Float64', 8, function (init) {\n return function Float64Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar rApply = (require('./_global').Reflect || {}).apply;\nvar fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function () {\n rApply(function () { /* empty */ });\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList) {\n var T = aFunction(target);\n var L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});\n","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export');\nvar create = require('./_object-create');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar bind = require('./_bind');\nvar rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n rConstruct(function () { /* empty */ });\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * require('./_fails')(function () {\n // eslint-disable-next-line no-undef\n Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });\n}), 'Reflect', {\n defineProperty: function defineProperty(target, propertyKey, attributes) {\n anObject(target);\n propertyKey = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n dP.f(target, propertyKey, attributes);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export');\nvar gOPD = require('./_object-gopd').f;\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n deleteProperty: function deleteProperty(target, propertyKey) {\n var desc = gOPD(anObject(target), propertyKey);\n return desc && !desc.configurable ? false : delete target[propertyKey];\n }\n});\n","'use strict';\n// 26.1.5 Reflect.enumerate(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar Enumerate = function (iterated) {\n this._t = anObject(iterated); // target\n this._i = 0; // next index\n var keys = this._k = []; // keys\n var key;\n for (key in iterated) keys.push(key);\n};\nrequire('./_iter-create')(Enumerate, 'Object', function () {\n var that = this;\n var keys = that._k;\n var key;\n do {\n if (that._i >= keys.length) return { value: undefined, done: true };\n } while (!((key = keys[that._i++]) in that._t));\n return { value: key, done: false };\n});\n\n$export($export.S, 'Reflect', {\n enumerate: function enumerate(target) {\n return new Enumerate(target);\n }\n});\n","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\n\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var desc, proto;\n if (anObject(target) === receiver) return target[propertyKey];\n if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', { get: get });\n","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n return gOPD.f(anObject(target), propertyKey);\n }\n});\n","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = require('./_export');\nvar getProto = require('./_object-gpo');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getPrototypeOf: function getPrototypeOf(target) {\n return getProto(anObject(target));\n }\n});\n","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n has: function has(target, propertyKey) {\n return propertyKey in target;\n }\n});\n","// 26.1.10 Reflect.isExtensible(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n isExtensible: function isExtensible(target) {\n anObject(target);\n return $isExtensible ? $isExtensible(target) : true;\n }\n});\n","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', { ownKeys: require('./_own-keys') });\n","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n preventExtensions: function preventExtensions(target) {\n anObject(target);\n try {\n if ($preventExtensions) $preventExtensions(target);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp');\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar createDesc = require('./_property-desc');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V /* , receiver */) {\n var receiver = arguments.length < 4 ? target : arguments[3];\n var ownDesc = gOPD.f(anObject(target), propertyKey);\n var existingDescriptor, proto;\n if (!ownDesc) {\n if (isObject(proto = getPrototypeOf(target))) {\n return set(proto, propertyKey, V, receiver);\n }\n ownDesc = createDesc(0);\n }\n if (has(ownDesc, 'value')) {\n if (ownDesc.writable === false || !isObject(receiver)) return false;\n if (existingDescriptor = gOPD.f(receiver, propertyKey)) {\n if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n existingDescriptor.value = V;\n dP.f(receiver, propertyKey, existingDescriptor);\n } else dP.f(receiver, propertyKey, createDesc(0, V));\n return true;\n }\n return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', { set: set });\n","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export');\nvar setProto = require('./_set-proto');\n\nif (setProto) $export($export.S, 'Reflect', {\n setPrototypeOf: function setPrototypeOf(target, proto) {\n setProto.check(target, proto);\n try {\n setProto.set(target, proto);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar toMetaKey = metadata.key;\nvar ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) {\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar toMetaKey = metadata.key;\nvar getOrCreateMetadataMap = metadata.map;\nvar store = metadata.store;\n\nmetadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) {\n var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]);\n var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false;\n if (metadataMap.size) return true;\n var targetMetadata = store.get(target);\n targetMetadata['delete'](targetKey);\n return !!targetMetadata.size || store['delete'](target);\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nvar ordinaryGetMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n};\n\nmetadata.exp({ getMetadata: function getMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var Set = require('./es6.set');\nvar from = require('./_array-from-iterable');\nvar metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nvar ordinaryMetadataKeys = function (O, P) {\n var oKeys = ordinaryOwnMetadataKeys(O, P);\n var parent = getPrototypeOf(O);\n if (parent === null) return oKeys;\n var pKeys = ordinaryMetadataKeys(parent, P);\n return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n};\n\nmetadata.exp({ getMetadataKeys: function getMetadataKeys(target /* , targetKey */) {\n return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) {\n return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nvar ordinaryHasMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return true;\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n};\n\nmetadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var $metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar toMetaKey = $metadata.key;\nvar ordinaryDefineOwnMetadata = $metadata.set;\n\n$metadata.exp({ metadata: function metadata(metadataKey, metadataValue) {\n return function decorator(target, targetKey) {\n ordinaryDefineOwnMetadata(\n metadataKey, metadataValue,\n (targetKey !== undefined ? anObject : aFunction)(target),\n toMetaKey(targetKey)\n );\n };\n} });\n","/* tslint:disable */\nimport 'core-js/es6';\nimport 'core-js/es7/reflect';\nrequire('zone.js/dist/zone');\n\n// IE11 fix, ref: https://github.com/angular/angular/issues/24769\nif (!Element.prototype.matches && (Element.prototype as any).msMatchesSelector) {\n Element.prototype.matches = (Element.prototype as any).msMatchesSelector;\n}\n\nif (process.env.ENV === 'production') {\n // Production\n} else {\n // Development and test\n Error['stackTraceLimit'] = Infinity;\n require('zone.js/dist/long-stack-trace-zone');\n}\n\n// Other polyfills\nrequire('whatwg-fetch');\nrequire('webcrypto-shim');\n/* tslint:enable */\n","require('../modules/es6.symbol');\nrequire('../modules/es6.object.create');\nrequire('../modules/es6.object.define-property');\nrequire('../modules/es6.object.define-properties');\nrequire('../modules/es6.object.get-own-property-descriptor');\nrequire('../modules/es6.object.get-prototype-of');\nrequire('../modules/es6.object.keys');\nrequire('../modules/es6.object.get-own-property-names');\nrequire('../modules/es6.object.freeze');\nrequire('../modules/es6.object.seal');\nrequire('../modules/es6.object.prevent-extensions');\nrequire('../modules/es6.object.is-frozen');\nrequire('../modules/es6.object.is-sealed');\nrequire('../modules/es6.object.is-extensible');\nrequire('../modules/es6.object.assign');\nrequire('../modules/es6.object.is');\nrequire('../modules/es6.object.set-prototype-of');\nrequire('../modules/es6.object.to-string');\nrequire('../modules/es6.function.bind');\nrequire('../modules/es6.function.name');\nrequire('../modules/es6.function.has-instance');\nrequire('../modules/es6.parse-int');\nrequire('../modules/es6.parse-float');\nrequire('../modules/es6.number.constructor');\nrequire('../modules/es6.number.to-fixed');\nrequire('../modules/es6.number.to-precision');\nrequire('../modules/es6.number.epsilon');\nrequire('../modules/es6.number.is-finite');\nrequire('../modules/es6.number.is-integer');\nrequire('../modules/es6.number.is-nan');\nrequire('../modules/es6.number.is-safe-integer');\nrequire('../modules/es6.number.max-safe-integer');\nrequire('../modules/es6.number.min-safe-integer');\nrequire('../modules/es6.number.parse-float');\nrequire('../modules/es6.number.parse-int');\nrequire('../modules/es6.math.acosh');\nrequire('../modules/es6.math.asinh');\nrequire('../modules/es6.math.atanh');\nrequire('../modules/es6.math.cbrt');\nrequire('../modules/es6.math.clz32');\nrequire('../modules/es6.math.cosh');\nrequire('../modules/es6.math.expm1');\nrequire('../modules/es6.math.fround');\nrequire('../modules/es6.math.hypot');\nrequire('../modules/es6.math.imul');\nrequire('../modules/es6.math.log10');\nrequire('../modules/es6.math.log1p');\nrequire('../modules/es6.math.log2');\nrequire('../modules/es6.math.sign');\nrequire('../modules/es6.math.sinh');\nrequire('../modules/es6.math.tanh');\nrequire('../modules/es6.math.trunc');\nrequire('../modules/es6.string.from-code-point');\nrequire('../modules/es6.string.raw');\nrequire('../modules/es6.string.trim');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/es6.string.code-point-at');\nrequire('../modules/es6.string.ends-with');\nrequire('../modules/es6.string.includes');\nrequire('../modules/es6.string.repeat');\nrequire('../modules/es6.string.starts-with');\nrequire('../modules/es6.string.anchor');\nrequire('../modules/es6.string.big');\nrequire('../modules/es6.string.blink');\nrequire('../modules/es6.string.bold');\nrequire('../modules/es6.string.fixed');\nrequire('../modules/es6.string.fontcolor');\nrequire('../modules/es6.string.fontsize');\nrequire('../modules/es6.string.italics');\nrequire('../modules/es6.string.link');\nrequire('../modules/es6.string.small');\nrequire('../modules/es6.string.strike');\nrequire('../modules/es6.string.sub');\nrequire('../modules/es6.string.sup');\nrequire('../modules/es6.date.now');\nrequire('../modules/es6.date.to-json');\nrequire('../modules/es6.date.to-iso-string');\nrequire('../modules/es6.date.to-string');\nrequire('../modules/es6.date.to-primitive');\nrequire('../modules/es6.array.is-array');\nrequire('../modules/es6.array.from');\nrequire('../modules/es6.array.of');\nrequire('../modules/es6.array.join');\nrequire('../modules/es6.array.slice');\nrequire('../modules/es6.array.sort');\nrequire('../modules/es6.array.for-each');\nrequire('../modules/es6.array.map');\nrequire('../modules/es6.array.filter');\nrequire('../modules/es6.array.some');\nrequire('../modules/es6.array.every');\nrequire('../modules/es6.array.reduce');\nrequire('../modules/es6.array.reduce-right');\nrequire('../modules/es6.array.index-of');\nrequire('../modules/es6.array.last-index-of');\nrequire('../modules/es6.array.copy-within');\nrequire('../modules/es6.array.fill');\nrequire('../modules/es6.array.find');\nrequire('../modules/es6.array.find-index');\nrequire('../modules/es6.array.species');\nrequire('../modules/es6.array.iterator');\nrequire('../modules/es6.regexp.constructor');\nrequire('../modules/es6.regexp.exec');\nrequire('../modules/es6.regexp.to-string');\nrequire('../modules/es6.regexp.flags');\nrequire('../modules/es6.regexp.match');\nrequire('../modules/es6.regexp.replace');\nrequire('../modules/es6.regexp.search');\nrequire('../modules/es6.regexp.split');\nrequire('../modules/es6.promise');\nrequire('../modules/es6.map');\nrequire('../modules/es6.set');\nrequire('../modules/es6.weak-map');\nrequire('../modules/es6.weak-set');\nrequire('../modules/es6.typed.array-buffer');\nrequire('../modules/es6.typed.data-view');\nrequire('../modules/es6.typed.int8-array');\nrequire('../modules/es6.typed.uint8-array');\nrequire('../modules/es6.typed.uint8-clamped-array');\nrequire('../modules/es6.typed.int16-array');\nrequire('../modules/es6.typed.uint16-array');\nrequire('../modules/es6.typed.int32-array');\nrequire('../modules/es6.typed.uint32-array');\nrequire('../modules/es6.typed.float32-array');\nrequire('../modules/es6.typed.float64-array');\nrequire('../modules/es6.reflect.apply');\nrequire('../modules/es6.reflect.construct');\nrequire('../modules/es6.reflect.define-property');\nrequire('../modules/es6.reflect.delete-property');\nrequire('../modules/es6.reflect.enumerate');\nrequire('../modules/es6.reflect.get');\nrequire('../modules/es6.reflect.get-own-property-descriptor');\nrequire('../modules/es6.reflect.get-prototype-of');\nrequire('../modules/es6.reflect.has');\nrequire('../modules/es6.reflect.is-extensible');\nrequire('../modules/es6.reflect.own-keys');\nrequire('../modules/es6.reflect.prevent-extensions');\nrequire('../modules/es6.reflect.set');\nrequire('../modules/es6.reflect.set-prototype-of');\nmodule.exports = require('../modules/_core');\n","require('../modules/es7.reflect.define-metadata');\nrequire('../modules/es7.reflect.delete-metadata');\nrequire('../modules/es7.reflect.get-metadata');\nrequire('../modules/es7.reflect.get-metadata-keys');\nrequire('../modules/es7.reflect.get-own-metadata');\nrequire('../modules/es7.reflect.get-own-metadata-keys');\nrequire('../modules/es7.reflect.has-metadata');\nrequire('../modules/es7.reflect.has-own-metadata');\nrequire('../modules/es7.reflect.metadata');\nmodule.exports = require('../modules/_core').Reflect;\n","/**\n* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes\n* (c) 2010-2020 Google LLC. https://angular.io/\n* License: MIT\n*/\n(function (factory) {\n typeof define === 'function' && define.amd ? define(factory) :\n factory();\n}((function () {\n 'use strict';\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var Zone$1 = (function (global) {\n var performance = global['performance'];\n function mark(name) { performance && performance['mark'] && performance['mark'](name); }\n function performanceMeasure(name, label) {\n performance && performance['measure'] && performance['measure'](name, label);\n }\n mark('Zone');\n // Initialize before it's accessed below.\n // __Zone_symbol_prefix global can be used to override the default zone\n // symbol prefix with a custom one if needed.\n var symbolPrefix = global['__Zone_symbol_prefix'] || '__zone_symbol__';\n function __symbol__(name) { return symbolPrefix + name; }\n var checkDuplicate = global[__symbol__('forceDuplicateZoneCheck')] === true;\n if (global['Zone']) {\n // if global['Zone'] already exists (maybe zone.js was already loaded or\n // some other lib also registered a global object named Zone), we may need\n // to throw an error, but sometimes user may not want this error.\n // For example,\n // we have two web pages, page1 includes zone.js, page2 doesn't.\n // and the 1st time user load page1 and page2, everything work fine,\n // but when user load page2 again, error occurs because global['Zone'] already exists.\n // so we add a flag to let user choose whether to throw this error or not.\n // By default, if existing Zone is from zone.js, we will not throw the error.\n if (checkDuplicate || typeof global['Zone'].__symbol__ !== 'function') {\n throw new Error('Zone already loaded.');\n }\n else {\n return global['Zone'];\n }\n }\n var Zone = /** @class */ (function () {\n function Zone(parent, zoneSpec) {\n this._parent = parent;\n this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';\n this._properties = zoneSpec && zoneSpec.properties || {};\n this._zoneDelegate =\n new ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n }\n Zone.assertZonePatched = function () {\n if (global['Promise'] !== patches['ZoneAwarePromise']) {\n throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' +\n 'has been overwritten.\\n' +\n 'Most likely cause is that a Promise polyfill has been loaded ' +\n 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' +\n 'If you must load one, do so before loading zone.js.)');\n }\n };\n Object.defineProperty(Zone, \"root\", {\n get: function () {\n var zone = Zone.current;\n while (zone.parent) {\n zone = zone.parent;\n }\n return zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"current\", {\n get: function () { return _currentZoneFrame.zone; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"currentTask\", {\n get: function () { return _currentTask; },\n enumerable: true,\n configurable: true\n });\n // tslint:disable-next-line:require-internal-with-underscore\n Zone.__load_patch = function (name, fn) {\n if (patches.hasOwnProperty(name)) {\n if (checkDuplicate) {\n throw Error('Already loaded patch: ' + name);\n }\n }\n else if (!global['__Zone_disable_' + name]) {\n var perfName = 'Zone:' + name;\n mark(perfName);\n patches[name] = fn(global, Zone, _api);\n performanceMeasure(perfName, perfName);\n }\n };\n Object.defineProperty(Zone.prototype, \"parent\", {\n get: function () { return this._parent; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone.prototype, \"name\", {\n get: function () { return this._name; },\n enumerable: true,\n configurable: true\n });\n Zone.prototype.get = function (key) {\n var zone = this.getZoneWith(key);\n if (zone)\n return zone._properties[key];\n };\n Zone.prototype.getZoneWith = function (key) {\n var current = this;\n while (current) {\n if (current._properties.hasOwnProperty(key)) {\n return current;\n }\n current = current._parent;\n }\n return null;\n };\n Zone.prototype.fork = function (zoneSpec) {\n if (!zoneSpec)\n throw new Error('ZoneSpec required!');\n return this._zoneDelegate.fork(this, zoneSpec);\n };\n Zone.prototype.wrap = function (callback, source) {\n if (typeof callback !== 'function') {\n throw new Error('Expecting function got: ' + callback);\n }\n var _callback = this._zoneDelegate.intercept(this, callback, source);\n var zone = this;\n return function () {\n return zone.runGuarded(_callback, this, arguments, source);\n };\n };\n Zone.prototype.run = function (callback, applyThis, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runGuarded = function (callback, applyThis, applyArgs, source) {\n if (applyThis === void 0) { applyThis = null; }\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runTask = function (task, applyThis, applyArgs) {\n if (task.zone != this) {\n throw new Error('A task can only be run in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n }\n // https://github.com/angular/zone.js/issues/778, sometimes eventTask\n // will run in notScheduled(canceled) state, we should not try to\n // run such kind of task but just return\n if (task.state === notScheduled && (task.type === eventTask || task.type === macroTask)) {\n return;\n }\n var reEntryGuard = task.state != running;\n reEntryGuard && task._transitionTo(running, scheduled);\n task.runCount++;\n var previousTask = _currentTask;\n _currentTask = task;\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n if (task.type == macroTask && task.data && !task.data.isPeriodic) {\n task.cancelFn = undefined;\n }\n try {\n return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n // if the task's state is notScheduled or unknown, then it has already been cancelled\n // we should not reset the state to scheduled\n if (task.state !== notScheduled && task.state !== unknown) {\n if (task.type == eventTask || (task.data && task.data.isPeriodic)) {\n reEntryGuard && task._transitionTo(scheduled, running);\n }\n else {\n task.runCount = 0;\n this._updateTaskCount(task, -1);\n reEntryGuard &&\n task._transitionTo(notScheduled, running, notScheduled);\n }\n }\n _currentZoneFrame = _currentZoneFrame.parent;\n _currentTask = previousTask;\n }\n };\n Zone.prototype.scheduleTask = function (task) {\n if (task.zone && task.zone !== this) {\n // check if the task was rescheduled, the newZone\n // should not be the children of the original zone\n var newZone = this;\n while (newZone) {\n if (newZone === task.zone) {\n throw Error(\"can not reschedule task to \" + this.name + \" which is descendants of the original zone \" + task.zone.name);\n }\n newZone = newZone.parent;\n }\n }\n task._transitionTo(scheduling, notScheduled);\n var zoneDelegates = [];\n task._zoneDelegates = zoneDelegates;\n task._zone = this;\n try {\n task = this._zoneDelegate.scheduleTask(this, task);\n }\n catch (err) {\n // should set task's state to unknown when scheduleTask throw error\n // because the err may from reschedule, so the fromState maybe notScheduled\n task._transitionTo(unknown, scheduling, notScheduled);\n // TODO: @JiaLiPassion, should we check the result from handleError?\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n if (task._zoneDelegates === zoneDelegates) {\n // we have to check because internally the delegate can reschedule the task.\n this._updateTaskCount(task, 1);\n }\n if (task.state == scheduling) {\n task._transitionTo(scheduled, scheduling);\n }\n return task;\n };\n Zone.prototype.scheduleMicroTask = function (source, callback, data, customSchedule) {\n return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, undefined));\n };\n Zone.prototype.scheduleMacroTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.scheduleEventTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.cancelTask = function (task) {\n if (task.zone != this)\n throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n task._transitionTo(canceling, scheduled, running);\n try {\n this._zoneDelegate.cancelTask(this, task);\n }\n catch (err) {\n // if error occurs when cancelTask, transit the state to unknown\n task._transitionTo(unknown, canceling);\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n this._updateTaskCount(task, -1);\n task._transitionTo(notScheduled, canceling);\n task.runCount = 0;\n return task;\n };\n Zone.prototype._updateTaskCount = function (task, count) {\n var zoneDelegates = task._zoneDelegates;\n if (count == -1) {\n task._zoneDelegates = null;\n }\n for (var i = 0; i < zoneDelegates.length; i++) {\n zoneDelegates[i]._updateTaskCount(task.type, count);\n }\n };\n return Zone;\n }());\n // tslint:disable-next-line:require-internal-with-underscore\n Zone.__symbol__ = __symbol__;\n var DELEGATE_ZS = {\n name: '',\n onHasTask: function (delegate, _, target, hasTaskState) { return delegate.hasTask(target, hasTaskState); },\n onScheduleTask: function (delegate, _, target, task) { return delegate.scheduleTask(target, task); },\n onInvokeTask: function (delegate, _, target, task, applyThis, applyArgs) { return delegate.invokeTask(target, task, applyThis, applyArgs); },\n onCancelTask: function (delegate, _, target, task) { return delegate.cancelTask(target, task); }\n };\n var ZoneDelegate = /** @class */ (function () {\n function ZoneDelegate(zone, parentDelegate, zoneSpec) {\n this._taskCounts = { 'microTask': 0, 'macroTask': 0, 'eventTask': 0 };\n this.zone = zone;\n this._parentDelegate = parentDelegate;\n this._forkZS =\n zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._forkCurrZone =\n zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate._forkCurrZone);\n this._interceptZS =\n zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n this._interceptDlgt =\n zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n this._interceptCurrZone =\n zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate._interceptCurrZone);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt =\n zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._invokeCurrZone =\n zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate._invokeCurrZone);\n this._handleErrorZS =\n zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt = zoneSpec &&\n (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._handleErrorCurrZone =\n zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate._handleErrorCurrZone);\n this._scheduleTaskZS =\n zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt = zoneSpec &&\n (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._scheduleTaskCurrZone = zoneSpec &&\n (zoneSpec.onScheduleTask ? this.zone : parentDelegate._scheduleTaskCurrZone);\n this._invokeTaskZS =\n zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n this._invokeTaskDlgt =\n zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n this._invokeTaskCurrZone =\n zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate._invokeTaskCurrZone);\n this._cancelTaskZS =\n zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n this._cancelTaskDlgt =\n zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n this._cancelTaskCurrZone =\n zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate._cancelTaskCurrZone);\n this._hasTaskZS = null;\n this._hasTaskDlgt = null;\n this._hasTaskDlgtOwner = null;\n this._hasTaskCurrZone = null;\n var zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;\n var parentHasTask = parentDelegate && parentDelegate._hasTaskZS;\n if (zoneSpecHasTask || parentHasTask) {\n // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such\n // a case all task related interceptors must go through this ZD. We can't short circuit it.\n this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS;\n this._hasTaskDlgt = parentDelegate;\n this._hasTaskDlgtOwner = this;\n this._hasTaskCurrZone = zone;\n if (!zoneSpec.onScheduleTask) {\n this._scheduleTaskZS = DELEGATE_ZS;\n this._scheduleTaskDlgt = parentDelegate;\n this._scheduleTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onInvokeTask) {\n this._invokeTaskZS = DELEGATE_ZS;\n this._invokeTaskDlgt = parentDelegate;\n this._invokeTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onCancelTask) {\n this._cancelTaskZS = DELEGATE_ZS;\n this._cancelTaskDlgt = parentDelegate;\n this._cancelTaskCurrZone = this.zone;\n }\n }\n }\n ZoneDelegate.prototype.fork = function (targetZone, zoneSpec) {\n return this._forkZS ?\n this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) :\n new Zone(targetZone, zoneSpec);\n };\n ZoneDelegate.prototype.intercept = function (targetZone, callback, source) {\n return this._interceptZS ?\n this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) :\n callback;\n };\n ZoneDelegate.prototype.invoke = function (targetZone, callback, applyThis, applyArgs, source) {\n return this._invokeZS ?\n this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) :\n callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.handleError = function (targetZone, error) {\n return this._handleErrorZS ?\n this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) :\n true;\n };\n ZoneDelegate.prototype.scheduleTask = function (targetZone, task) {\n var returnTask = task;\n if (this._scheduleTaskZS) {\n if (this._hasTaskZS) {\n returnTask._zoneDelegates.push(this._hasTaskDlgtOwner);\n }\n // clang-format off\n returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n // clang-format on\n if (!returnTask)\n returnTask = task;\n }\n else {\n if (task.scheduleFn) {\n task.scheduleFn(task);\n }\n else if (task.type == microTask) {\n scheduleMicroTask(task);\n }\n else {\n throw new Error('Task is missing scheduleFn.');\n }\n }\n return returnTask;\n };\n ZoneDelegate.prototype.invokeTask = function (targetZone, task, applyThis, applyArgs) {\n return this._invokeTaskZS ?\n this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) :\n task.callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.cancelTask = function (targetZone, task) {\n var value;\n if (this._cancelTaskZS) {\n value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);\n }\n else {\n if (!task.cancelFn) {\n throw Error('Task is not cancelable');\n }\n value = task.cancelFn(task);\n }\n return value;\n };\n ZoneDelegate.prototype.hasTask = function (targetZone, isEmpty) {\n // hasTask should not throw error so other ZoneDelegate\n // can still trigger hasTask callback\n try {\n this._hasTaskZS &&\n this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n }\n catch (err) {\n this.handleError(targetZone, err);\n }\n };\n // tslint:disable-next-line:require-internal-with-underscore\n ZoneDelegate.prototype._updateTaskCount = function (type, count) {\n var counts = this._taskCounts;\n var prev = counts[type];\n var next = counts[type] = prev + count;\n if (next < 0) {\n throw new Error('More tasks executed then were scheduled.');\n }\n if (prev == 0 || next == 0) {\n var isEmpty = {\n microTask: counts['microTask'] > 0,\n macroTask: counts['macroTask'] > 0,\n eventTask: counts['eventTask'] > 0,\n change: type\n };\n this.hasTask(this.zone, isEmpty);\n }\n };\n return ZoneDelegate;\n }());\n var ZoneTask = /** @class */ (function () {\n function ZoneTask(type, source, callback, options, scheduleFn, cancelFn) {\n // tslint:disable-next-line:require-internal-with-underscore\n this._zone = null;\n this.runCount = 0;\n // tslint:disable-next-line:require-internal-with-underscore\n this._zoneDelegates = null;\n // tslint:disable-next-line:require-internal-with-underscore\n this._state = 'notScheduled';\n this.type = type;\n this.source = source;\n this.data = options;\n this.scheduleFn = scheduleFn;\n this.cancelFn = cancelFn;\n if (!callback) {\n throw new Error('callback is not defined');\n }\n this.callback = callback;\n var self = this;\n // TODO: @JiaLiPassion options should have interface\n if (type === eventTask && options && options.useG) {\n this.invoke = ZoneTask.invokeTask;\n }\n else {\n this.invoke = function () {\n return ZoneTask.invokeTask.call(global, self, this, arguments);\n };\n }\n }\n ZoneTask.invokeTask = function (task, target, args) {\n if (!task) {\n task = this;\n }\n _numberOfNestedTaskFrames++;\n try {\n task.runCount++;\n return task.zone.runTask(task, target, args);\n }\n finally {\n if (_numberOfNestedTaskFrames == 1) {\n drainMicroTaskQueue();\n }\n _numberOfNestedTaskFrames--;\n }\n };\n Object.defineProperty(ZoneTask.prototype, \"zone\", {\n get: function () { return this._zone; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ZoneTask.prototype, \"state\", {\n get: function () { return this._state; },\n enumerable: true,\n configurable: true\n });\n ZoneTask.prototype.cancelScheduleRequest = function () { this._transitionTo(notScheduled, scheduling); };\n // tslint:disable-next-line:require-internal-with-underscore\n ZoneTask.prototype._transitionTo = function (toState, fromState1, fromState2) {\n if (this._state === fromState1 || this._state === fromState2) {\n this._state = toState;\n if (toState == notScheduled) {\n this._zoneDelegates = null;\n }\n }\n else {\n throw new Error(this.type + \" '\" + this.source + \"': can not transition to '\" + toState + \"', expecting state '\" + fromState1 + \"'\" + (fromState2 ? ' or \\'' + fromState2 + '\\'' : '') + \", was '\" + this._state + \"'.\");\n }\n };\n ZoneTask.prototype.toString = function () {\n if (this.data && typeof this.data.handleId !== 'undefined') {\n return this.data.handleId.toString();\n }\n else {\n return Object.prototype.toString.call(this);\n }\n };\n // add toJSON method to prevent cyclic error when\n // call JSON.stringify(zoneTask)\n ZoneTask.prototype.toJSON = function () {\n return {\n type: this.type,\n state: this.state,\n source: this.source,\n zone: this.zone.name,\n runCount: this.runCount\n };\n };\n return ZoneTask;\n }());\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// MICROTASK QUEUE\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var symbolSetTimeout = __symbol__('setTimeout');\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var _microTaskQueue = [];\n var _isDrainingMicrotaskQueue = false;\n var nativeMicroTaskQueuePromise;\n function scheduleMicroTask(task) {\n // if we are not running in any task, and there has not been anything scheduled\n // we must bootstrap the initial task creation by manually scheduling the drain\n if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) {\n // We are not running in Task, so we need to kickstart the microtask queue.\n if (!nativeMicroTaskQueuePromise) {\n if (global[symbolPromise]) {\n nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);\n }\n }\n if (nativeMicroTaskQueuePromise) {\n var nativeThen = nativeMicroTaskQueuePromise[symbolThen];\n if (!nativeThen) {\n // native Promise is not patchable, we need to use `then` directly\n // issue 1078\n nativeThen = nativeMicroTaskQueuePromise['then'];\n }\n nativeThen.call(nativeMicroTaskQueuePromise, drainMicroTaskQueue);\n }\n else {\n global[symbolSetTimeout](drainMicroTaskQueue, 0);\n }\n }\n task && _microTaskQueue.push(task);\n }\n function drainMicroTaskQueue() {\n if (!_isDrainingMicrotaskQueue) {\n _isDrainingMicrotaskQueue = true;\n while (_microTaskQueue.length) {\n var queue = _microTaskQueue;\n _microTaskQueue = [];\n for (var i = 0; i < queue.length; i++) {\n var task = queue[i];\n try {\n task.zone.runTask(task, null, null);\n }\n catch (error) {\n _api.onUnhandledError(error);\n }\n }\n }\n _api.microtaskDrainDone();\n _isDrainingMicrotaskQueue = false;\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// BOOTSTRAP\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var NO_ZONE = { name: 'NO ZONE' };\n var notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown';\n var microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask';\n var patches = {};\n var _api = {\n symbol: __symbol__,\n currentZoneFrame: function () { return _currentZoneFrame; },\n onUnhandledError: noop,\n microtaskDrainDone: noop,\n scheduleMicroTask: scheduleMicroTask,\n showUncaughtError: function () { return !Zone[__symbol__('ignoreConsoleErrorUncaughtError')]; },\n patchEventTarget: function () { return []; },\n patchOnProperties: noop,\n patchMethod: function () { return noop; },\n bindArguments: function () { return []; },\n patchThen: function () { return noop; },\n patchMacroTask: function () { return noop; },\n setNativePromise: function (NativePromise) {\n // sometimes NativePromise.resolve static function\n // is not ready yet, (such as core-js/es6.promise)\n // so we need to check here.\n if (NativePromise && typeof NativePromise.resolve === 'function') {\n nativeMicroTaskQueuePromise = NativePromise.resolve(0);\n }\n },\n patchEventPrototype: function () { return noop; },\n isIEOrEdge: function () { return false; },\n getGlobalObjects: function () { return undefined; },\n ObjectDefineProperty: function () { return noop; },\n ObjectGetOwnPropertyDescriptor: function () { return undefined; },\n ObjectCreate: function () { return undefined; },\n ArraySlice: function () { return []; },\n patchClass: function () { return noop; },\n wrapWithCurrentZone: function () { return noop; },\n filterProperties: function () { return []; },\n attachOriginToPatched: function () { return noop; },\n _redefineProperty: function () { return noop; },\n patchCallbacks: function () { return noop; }\n };\n var _currentZoneFrame = { parent: null, zone: new Zone(null, null) };\n var _currentTask = null;\n var _numberOfNestedTaskFrames = 0;\n function noop() { }\n performanceMeasure('Zone', 'Zone');\n return global['Zone'] = Zone;\n })(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n Zone.__load_patch('ZoneAwarePromise', function (global, Zone, api) {\n var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n var ObjectDefineProperty = Object.defineProperty;\n function readableObjectToString(obj) {\n if (obj && obj.toString === Object.prototype.toString) {\n var className = obj.constructor && obj.constructor.name;\n return (className ? className : '') + ': ' + JSON.stringify(obj);\n }\n return obj ? obj.toString() : Object.prototype.toString.call(obj);\n }\n var __symbol__ = api.symbol;\n var _uncaughtPromiseErrors = [];\n var isDisableWrappingUncaughtPromiseRejection = global[__symbol__('DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION')] === true;\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var creationTrace = '__creationTrace__';\n api.onUnhandledError = function (e) {\n if (api.showUncaughtError()) {\n var rejection = e && e.rejection;\n if (rejection) {\n console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);\n }\n else {\n console.error(e);\n }\n }\n };\n api.microtaskDrainDone = function () {\n var _loop_1 = function () {\n var uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(function () { throw uncaughtPromiseError; });\n }\n catch (error) {\n handleUnhandledRejection(error);\n }\n };\n while (_uncaughtPromiseErrors.length) {\n _loop_1();\n }\n };\n var UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler');\n function handleUnhandledRejection(e) {\n api.onUnhandledError(e);\n try {\n var handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL];\n if (typeof handler === 'function') {\n handler.call(this, e);\n }\n }\n catch (err) {\n }\n }\n function isThenable(value) { return value && value.then; }\n function forwardResolution(value) { return value; }\n function forwardRejection(rejection) { return ZoneAwarePromise.reject(rejection); }\n var symbolState = __symbol__('state');\n var symbolValue = __symbol__('value');\n var symbolFinally = __symbol__('finally');\n var symbolParentPromiseValue = __symbol__('parentPromiseValue');\n var symbolParentPromiseState = __symbol__('parentPromiseState');\n var source = 'Promise.then';\n var UNRESOLVED = null;\n var RESOLVED = true;\n var REJECTED = false;\n var REJECTED_NO_CATCH = 0;\n function makeResolver(promise, state) {\n return function (v) {\n try {\n resolvePromise(promise, state, v);\n }\n catch (err) {\n resolvePromise(promise, false, err);\n }\n // Do not return value or you will break the Promise spec.\n };\n }\n var once = function () {\n var wasCalled = false;\n return function wrapper(wrappedFunction) {\n return function () {\n if (wasCalled) {\n return;\n }\n wasCalled = true;\n wrappedFunction.apply(null, arguments);\n };\n };\n };\n var TYPE_ERROR = 'Promise resolved with itself';\n var CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace');\n // Promise Resolution\n function resolvePromise(promise, state, value) {\n var onceWrapper = once();\n if (promise === value) {\n throw new TypeError(TYPE_ERROR);\n }\n if (promise[symbolState] === UNRESOLVED) {\n // should only get value.then once based on promise spec.\n var then = null;\n try {\n if (typeof value === 'object' || typeof value === 'function') {\n then = value && value.then;\n }\n }\n catch (err) {\n onceWrapper(function () { resolvePromise(promise, false, err); })();\n return promise;\n }\n // if (value instanceof ZoneAwarePromise) {\n if (state !== REJECTED && value instanceof ZoneAwarePromise &&\n value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) &&\n value[symbolState] !== UNRESOLVED) {\n clearRejectedNoCatch(value);\n resolvePromise(promise, value[symbolState], value[symbolValue]);\n }\n else if (state !== REJECTED && typeof then === 'function') {\n try {\n then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)));\n }\n catch (err) {\n onceWrapper(function () { resolvePromise(promise, false, err); })();\n }\n }\n else {\n promise[symbolState] = state;\n var queue = promise[symbolValue];\n promise[symbolValue] = value;\n if (promise[symbolFinally] === symbolFinally) {\n // the promise is generated by Promise.prototype.finally\n if (state === RESOLVED) {\n // the state is resolved, should ignore the value\n // and use parent promise value\n promise[symbolState] = promise[symbolParentPromiseState];\n promise[symbolValue] = promise[symbolParentPromiseValue];\n }\n }\n // record task information in value when error occurs, so we can\n // do some additional work such as render longStackTrace\n if (state === REJECTED && value instanceof Error) {\n // check if longStackTraceZone is here\n var trace = Zone.currentTask && Zone.currentTask.data &&\n Zone.currentTask.data[creationTrace];\n if (trace) {\n // only keep the long stack trace into error when in longStackTraceZone\n ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, { configurable: true, enumerable: false, writable: true, value: trace });\n }\n }\n for (var i = 0; i < queue.length;) {\n scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n }\n if (queue.length == 0 && state == REJECTED) {\n promise[symbolState] = REJECTED_NO_CATCH;\n var uncaughtPromiseError = value;\n if (!isDisableWrappingUncaughtPromiseRejection) {\n // If disable wrapping uncaught promise reject\n // and the rejected value is an Error object,\n // use the value instead of wrapping it.\n try {\n // Here we throws a new Error to print more readable error log\n // and if the value is not an error, zone.js builds an `Error`\n // Object here to attach the stack information.\n throw new Error('Uncaught (in promise): ' + readableObjectToString(value) +\n (value && value.stack ? '\\n' + value.stack : ''));\n }\n catch (err) {\n uncaughtPromiseError = err;\n }\n }\n uncaughtPromiseError.rejection = value;\n uncaughtPromiseError.promise = promise;\n uncaughtPromiseError.zone = Zone.current;\n uncaughtPromiseError.task = Zone.currentTask;\n _uncaughtPromiseErrors.push(uncaughtPromiseError);\n api.scheduleMicroTask(); // to make sure that it is running\n }\n }\n }\n // Resolving an already resolved promise is a noop.\n return promise;\n }\n var REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler');\n function clearRejectedNoCatch(promise) {\n if (promise[symbolState] === REJECTED_NO_CATCH) {\n // if the promise is rejected no catch status\n // and queue.length > 0, means there is a error handler\n // here to handle the rejected promise, we should trigger\n // windows.rejectionhandled eventHandler or nodejs rejectionHandled\n // eventHandler\n try {\n var handler = Zone[REJECTION_HANDLED_HANDLER];\n if (handler && typeof handler === 'function') {\n handler.call(this, { rejection: promise[symbolValue], promise: promise });\n }\n }\n catch (err) {\n }\n promise[symbolState] = REJECTED;\n for (var i = 0; i < _uncaughtPromiseErrors.length; i++) {\n if (promise === _uncaughtPromiseErrors[i].promise) {\n _uncaughtPromiseErrors.splice(i, 1);\n }\n }\n }\n }\n function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n clearRejectedNoCatch(promise);\n var promiseState = promise[symbolState];\n var delegate = promiseState ?\n (typeof onFulfilled === 'function') ? onFulfilled : forwardResolution :\n (typeof onRejected === 'function') ? onRejected : forwardRejection;\n zone.scheduleMicroTask(source, function () {\n try {\n var parentPromiseValue = promise[symbolValue];\n var isFinallyPromise = !!chainPromise && symbolFinally === chainPromise[symbolFinally];\n if (isFinallyPromise) {\n // if the promise is generated from finally call, keep parent promise's state and value\n chainPromise[symbolParentPromiseValue] = parentPromiseValue;\n chainPromise[symbolParentPromiseState] = promiseState;\n }\n // should not pass value to finally callback\n var value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ?\n [] :\n [parentPromiseValue]);\n resolvePromise(chainPromise, true, value);\n }\n catch (error) {\n // if error occurs, should always return this error\n resolvePromise(chainPromise, false, error);\n }\n }, chainPromise);\n }\n var ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';\n var noop = function () { };\n var ZoneAwarePromise = /** @class */ (function () {\n function ZoneAwarePromise(executor) {\n var promise = this;\n if (!(promise instanceof ZoneAwarePromise)) {\n throw new Error('Must be an instanceof Promise.');\n }\n promise[symbolState] = UNRESOLVED;\n promise[symbolValue] = []; // queue;\n try {\n executor && executor(makeResolver(promise, RESOLVED), makeResolver(promise, REJECTED));\n }\n catch (error) {\n resolvePromise(promise, false, error);\n }\n }\n ZoneAwarePromise.toString = function () { return ZONE_AWARE_PROMISE_TO_STRING; };\n ZoneAwarePromise.resolve = function (value) {\n return resolvePromise(new this(null), RESOLVED, value);\n };\n ZoneAwarePromise.reject = function (error) {\n return resolvePromise(new this(null), REJECTED, error);\n };\n ZoneAwarePromise.race = function (values) {\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n function onResolve(value) { resolve(value); }\n function onReject(error) { reject(error); }\n for (var _i = 0, values_1 = values; _i < values_1.length; _i++) {\n var value = values_1[_i];\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n return promise;\n };\n ZoneAwarePromise.all = function (values) { return ZoneAwarePromise.allWithCallback(values); };\n ZoneAwarePromise.allSettled = function (values) {\n var P = this && this.prototype instanceof ZoneAwarePromise ? this : ZoneAwarePromise;\n return P.allWithCallback(values, {\n thenCallback: function (value) { return ({ status: 'fulfilled', value: value }); },\n errorCallback: function (err) { return ({ status: 'rejected', reason: err }); }\n });\n };\n ZoneAwarePromise.allWithCallback = function (values, callback) {\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n // Start at 2 to prevent prematurely resolving if .then is called immediately.\n var unresolvedCount = 2;\n var valueIndex = 0;\n var resolvedValues = [];\n var _loop_2 = function (value) {\n if (!isThenable(value)) {\n value = this_1.resolve(value);\n }\n var curValueIndex = valueIndex;\n try {\n value.then(function (value) {\n resolvedValues[curValueIndex] = callback ? callback.thenCallback(value) : value;\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }, function (err) {\n if (!callback) {\n reject(err);\n }\n else {\n resolvedValues[curValueIndex] = callback.errorCallback(err);\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }\n });\n }\n catch (thenErr) {\n reject(thenErr);\n }\n unresolvedCount++;\n valueIndex++;\n };\n var this_1 = this;\n for (var _i = 0, values_2 = values; _i < values_2.length; _i++) {\n var value = values_2[_i];\n _loop_2(value);\n }\n // Make the unresolvedCount zero-based again.\n unresolvedCount -= 2;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n return promise;\n };\n Object.defineProperty(ZoneAwarePromise.prototype, Symbol.toStringTag, {\n get: function () { return 'Promise'; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ZoneAwarePromise.prototype, Symbol.species, {\n get: function () { return ZoneAwarePromise; },\n enumerable: true,\n configurable: true\n });\n ZoneAwarePromise.prototype.then = function (onFulfilled, onRejected) {\n var C = this.constructor[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = this.constructor || ZoneAwarePromise;\n }\n var chainPromise = new C(noop);\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n }\n return chainPromise;\n };\n ZoneAwarePromise.prototype.catch = function (onRejected) {\n return this.then(null, onRejected);\n };\n ZoneAwarePromise.prototype.finally = function (onFinally) {\n var C = this.constructor[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = ZoneAwarePromise;\n }\n var chainPromise = new C(noop);\n chainPromise[symbolFinally] = symbolFinally;\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFinally, onFinally);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally);\n }\n return chainPromise;\n };\n return ZoneAwarePromise;\n }());\n // Protect against aggressive optimizers dropping seemingly unused properties.\n // E.g. Closure Compiler in advanced mode.\n ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;\n ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;\n ZoneAwarePromise['race'] = ZoneAwarePromise.race;\n ZoneAwarePromise['all'] = ZoneAwarePromise.all;\n var NativePromise = global[symbolPromise] = global['Promise'];\n var ZONE_AWARE_PROMISE = Zone.__symbol__('ZoneAwarePromise');\n var desc = ObjectGetOwnPropertyDescriptor(global, 'Promise');\n if (!desc || desc.configurable) {\n desc && delete desc.writable;\n desc && delete desc.value;\n if (!desc) {\n desc = { configurable: true, enumerable: true };\n }\n desc.get = function () {\n // if we already set ZoneAwarePromise, use patched one\n // otherwise return native one.\n return global[ZONE_AWARE_PROMISE] ? global[ZONE_AWARE_PROMISE] : global[symbolPromise];\n };\n desc.set = function (NewNativePromise) {\n if (NewNativePromise === ZoneAwarePromise) {\n // if the NewNativePromise is ZoneAwarePromise\n // save to global\n global[ZONE_AWARE_PROMISE] = NewNativePromise;\n }\n else {\n // if the NewNativePromise is not ZoneAwarePromise\n // for example: after load zone.js, some library just\n // set es6-promise to global, if we set it to global\n // directly, assertZonePatched will fail and angular\n // will not loaded, so we just set the NewNativePromise\n // to global[symbolPromise], so the result is just like\n // we load ES6 Promise before zone.js\n global[symbolPromise] = NewNativePromise;\n if (!NewNativePromise.prototype[symbolThen]) {\n patchThen(NewNativePromise);\n }\n api.setNativePromise(NewNativePromise);\n }\n };\n ObjectDefineProperty(global, 'Promise', desc);\n }\n global['Promise'] = ZoneAwarePromise;\n var symbolThenPatched = __symbol__('thenPatched');\n function patchThen(Ctor) {\n var proto = Ctor.prototype;\n var prop = ObjectGetOwnPropertyDescriptor(proto, 'then');\n if (prop && (prop.writable === false || !prop.configurable)) {\n // check Ctor.prototype.then propertyDescriptor is writable or not\n // in meteor env, writable is false, we should ignore such case\n return;\n }\n var originalThen = proto.then;\n // Keep a reference to the original method.\n proto[symbolThen] = originalThen;\n Ctor.prototype.then = function (onResolve, onReject) {\n var _this = this;\n var wrapped = new ZoneAwarePromise(function (resolve, reject) { originalThen.call(_this, resolve, reject); });\n return wrapped.then(onResolve, onReject);\n };\n Ctor[symbolThenPatched] = true;\n }\n api.patchThen = patchThen;\n function zoneify(fn) {\n return function () {\n var resultPromise = fn.apply(this, arguments);\n if (resultPromise instanceof ZoneAwarePromise) {\n return resultPromise;\n }\n var ctor = resultPromise.constructor;\n if (!ctor[symbolThenPatched]) {\n patchThen(ctor);\n }\n return resultPromise;\n };\n }\n if (NativePromise) {\n patchThen(NativePromise);\n var fetch_1 = global['fetch'];\n if (typeof fetch_1 == 'function') {\n global[api.symbol('fetch')] = fetch_1;\n global['fetch'] = zoneify(fetch_1);\n }\n }\n // This is not part of public API, but it is useful for tests, so we expose it.\n Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;\n return ZoneAwarePromise;\n });\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n /**\n * Suppress closure compiler errors about unknown 'Zone' variable\n * @fileoverview\n * @suppress {undefinedVars,globalThis,missingRequire}\n */\n /// \n // issue #989, to reduce bundle size, use short name\n /** Object.getOwnPropertyDescriptor */\n var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n /** Object.defineProperty */\n var ObjectDefineProperty = Object.defineProperty;\n /** Object.getPrototypeOf */\n var ObjectGetPrototypeOf = Object.getPrototypeOf;\n /** Object.create */\n var ObjectCreate = Object.create;\n /** Array.prototype.slice */\n var ArraySlice = Array.prototype.slice;\n /** addEventListener string const */\n var ADD_EVENT_LISTENER_STR = 'addEventListener';\n /** removeEventListener string const */\n var REMOVE_EVENT_LISTENER_STR = 'removeEventListener';\n /** zoneSymbol addEventListener */\n var ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR);\n /** zoneSymbol removeEventListener */\n var ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR);\n /** true string const */\n var TRUE_STR = 'true';\n /** false string const */\n var FALSE_STR = 'false';\n /** Zone symbol prefix string const. */\n var ZONE_SYMBOL_PREFIX = Zone.__symbol__('');\n function wrapWithCurrentZone(callback, source) {\n return Zone.current.wrap(callback, source);\n }\n function scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {\n return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);\n }\n var zoneSymbol = Zone.__symbol__;\n var isWindowExists = typeof window !== 'undefined';\n var internalWindow = isWindowExists ? window : undefined;\n var _global = isWindowExists && internalWindow || typeof self === 'object' && self || global;\n var REMOVE_ATTRIBUTE = 'removeAttribute';\n var NULL_ON_PROP_VALUE = [null];\n function bindArguments(args, source) {\n for (var i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'function') {\n args[i] = wrapWithCurrentZone(args[i], source + '_' + i);\n }\n }\n return args;\n }\n function patchPrototype(prototype, fnNames) {\n var source = prototype.constructor['name'];\n var _loop_3 = function (i) {\n var name_1 = fnNames[i];\n var delegate = prototype[name_1];\n if (delegate) {\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name_1);\n if (!isPropertyWritable(prototypeDesc)) {\n return \"continue\";\n }\n prototype[name_1] = (function (delegate) {\n var patched = function () {\n return delegate.apply(this, bindArguments(arguments, source + '.' + name_1));\n };\n attachOriginToPatched(patched, delegate);\n return patched;\n })(delegate);\n }\n };\n for (var i = 0; i < fnNames.length; i++) {\n _loop_3(i);\n }\n }\n function isPropertyWritable(propertyDesc) {\n if (!propertyDesc) {\n return true;\n }\n if (propertyDesc.writable === false) {\n return false;\n }\n return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined');\n }\n var isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\n // Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n // this code.\n var isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]');\n var isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']);\n // we are in electron of nw, so we are both browser and nodejs\n // Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n // this code.\n var isMix = typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]' && !isWebWorker &&\n !!(isWindowExists && internalWindow['HTMLElement']);\n var zoneSymbolEventNames = {};\n var wrapFn = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n var eventNameSymbol = zoneSymbolEventNames[event.type];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[event.type] = zoneSymbol('ON_PROPERTY' + event.type);\n }\n var target = this || event.target || _global;\n var listener = target[eventNameSymbol];\n var result;\n if (isBrowser && target === internalWindow && event.type === 'error') {\n // window.onerror have different signiture\n // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror#window.onerror\n // and onerror callback will prevent default when callback return true\n var errorEvent = event;\n result = listener &&\n listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error);\n if (result === true) {\n event.preventDefault();\n }\n }\n else {\n result = listener && listener.apply(this, arguments);\n if (result != undefined && !result) {\n event.preventDefault();\n }\n }\n return result;\n };\n function patchProperty(obj, prop, prototype) {\n var desc = ObjectGetOwnPropertyDescriptor(obj, prop);\n if (!desc && prototype) {\n // when patch window object, use prototype to check prop exist or not\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop);\n if (prototypeDesc) {\n desc = { enumerable: true, configurable: true };\n }\n }\n // if the descriptor not exists or is not configurable\n // just return\n if (!desc || !desc.configurable) {\n return;\n }\n var onPropPatchedSymbol = zoneSymbol('on' + prop + 'patched');\n if (obj.hasOwnProperty(onPropPatchedSymbol) && obj[onPropPatchedSymbol]) {\n return;\n }\n // A property descriptor cannot have getter/setter and be writable\n // deleting the writable and value properties avoids this error:\n //\n // TypeError: property descriptors must not specify a value or be writable when a\n // getter or setter has been specified\n delete desc.writable;\n delete desc.value;\n var originalDescGet = desc.get;\n var originalDescSet = desc.set;\n // substr(2) cuz 'onclick' -> 'click', etc\n var eventName = prop.substr(2);\n var eventNameSymbol = zoneSymbolEventNames[eventName];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[eventName] = zoneSymbol('ON_PROPERTY' + eventName);\n }\n desc.set = function (newValue) {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return;\n }\n var previousValue = target[eventNameSymbol];\n if (previousValue) {\n target.removeEventListener(eventName, wrapFn);\n }\n // issue #978, when onload handler was added before loading zone.js\n // we should remove it with originalDescSet\n if (originalDescSet) {\n originalDescSet.apply(target, NULL_ON_PROP_VALUE);\n }\n if (typeof newValue === 'function') {\n target[eventNameSymbol] = newValue;\n target.addEventListener(eventName, wrapFn, false);\n }\n else {\n target[eventNameSymbol] = null;\n }\n };\n // The getter would return undefined for unassigned properties but the default value of an\n // unassigned property is null\n desc.get = function () {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return null;\n }\n var listener = target[eventNameSymbol];\n if (listener) {\n return listener;\n }\n else if (originalDescGet) {\n // result will be null when use inline event attribute,\n // such as \n // because the onclick function is internal raw uncompiled handler\n // the onclick will be evaluated when first time event was triggered or\n // the property is accessed, https://github.com/angular/zone.js/issues/525\n // so we should use original native get to retrieve the handler\n var value = originalDescGet && originalDescGet.call(this);\n if (value) {\n desc.set.call(this, value);\n if (typeof target[REMOVE_ATTRIBUTE] === 'function') {\n target.removeAttribute(prop);\n }\n return value;\n }\n }\n return null;\n };\n ObjectDefineProperty(obj, prop, desc);\n obj[onPropPatchedSymbol] = true;\n }\n function patchOnProperties(obj, properties, prototype) {\n if (properties) {\n for (var i = 0; i < properties.length; i++) {\n patchProperty(obj, 'on' + properties[i], prototype);\n }\n }\n else {\n var onProperties = [];\n for (var prop in obj) {\n if (prop.substr(0, 2) == 'on') {\n onProperties.push(prop);\n }\n }\n for (var j = 0; j < onProperties.length; j++) {\n patchProperty(obj, onProperties[j], prototype);\n }\n }\n }\n var originalInstanceKey = zoneSymbol('originalInstance');\n // wrap some native API on `window`\n function patchClass(className) {\n var OriginalClass = _global[className];\n if (!OriginalClass)\n return;\n // keep original class in global\n _global[zoneSymbol(className)] = OriginalClass;\n _global[className] = function () {\n var a = bindArguments(arguments, className);\n switch (a.length) {\n case 0:\n this[originalInstanceKey] = new OriginalClass();\n break;\n case 1:\n this[originalInstanceKey] = new OriginalClass(a[0]);\n break;\n case 2:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n break;\n case 3:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n break;\n case 4:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n break;\n default:\n throw new Error('Arg list too long.');\n }\n };\n // attach original delegate to patched function\n attachOriginToPatched(_global[className], OriginalClass);\n var instance = new OriginalClass(function () { });\n var prop;\n for (prop in instance) {\n // https://bugs.webkit.org/show_bug.cgi?id=44721\n if (className === 'XMLHttpRequest' && prop === 'responseBlob')\n continue;\n (function (prop) {\n if (typeof instance[prop] === 'function') {\n _global[className].prototype[prop] = function () {\n return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);\n };\n }\n else {\n ObjectDefineProperty(_global[className].prototype, prop, {\n set: function (fn) {\n if (typeof fn === 'function') {\n this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop);\n // keep callback in wrapped function so we can\n // use it in Function.prototype.toString to return\n // the native one.\n attachOriginToPatched(this[originalInstanceKey][prop], fn);\n }\n else {\n this[originalInstanceKey][prop] = fn;\n }\n },\n get: function () { return this[originalInstanceKey][prop]; }\n });\n }\n }(prop));\n }\n for (prop in OriginalClass) {\n if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {\n _global[className][prop] = OriginalClass[prop];\n }\n }\n }\n function copySymbolProperties(src, dest) {\n if (typeof Object.getOwnPropertySymbols !== 'function') {\n return;\n }\n var symbols = Object.getOwnPropertySymbols(src);\n symbols.forEach(function (symbol) {\n var desc = Object.getOwnPropertyDescriptor(src, symbol);\n Object.defineProperty(dest, symbol, {\n get: function () { return src[symbol]; },\n set: function (value) {\n if (desc && (!desc.writable || typeof desc.set !== 'function')) {\n // if src[symbol] is not writable or not have a setter, just return\n return;\n }\n src[symbol] = value;\n },\n enumerable: desc ? desc.enumerable : true,\n configurable: desc ? desc.configurable : true\n });\n });\n }\n var shouldCopySymbolProperties = false;\n function patchMethod(target, name, patchFn) {\n var proto = target;\n while (proto && !proto.hasOwnProperty(name)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && target[name]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = target;\n }\n var delegateName = zoneSymbol(name);\n var delegate = null;\n if (proto && !(delegate = proto[delegateName])) {\n delegate = proto[delegateName] = proto[name];\n // check whether proto[name] is writable\n // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob\n var desc = proto && ObjectGetOwnPropertyDescriptor(proto, name);\n if (isPropertyWritable(desc)) {\n var patchDelegate_1 = patchFn(delegate, delegateName, name);\n proto[name] = function () { return patchDelegate_1(this, arguments); };\n attachOriginToPatched(proto[name], delegate);\n if (shouldCopySymbolProperties) {\n copySymbolProperties(delegate, proto[name]);\n }\n }\n }\n return delegate;\n }\n // TODO: @JiaLiPassion, support cancel task later if necessary\n function patchMacroTask(obj, funcName, metaCreator) {\n var setNative = null;\n function scheduleTask(task) {\n var data = task.data;\n data.args[data.cbIdx] = function () { task.invoke.apply(this, arguments); };\n setNative.apply(data.target, data.args);\n return task;\n }\n setNative = patchMethod(obj, funcName, function (delegate) { return function (self, args) {\n var meta = metaCreator(self, args);\n if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') {\n return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask);\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(self, args);\n }\n }; });\n }\n function attachOriginToPatched(patched, original) {\n patched[zoneSymbol('OriginalDelegate')] = original;\n }\n var isDetectedIEOrEdge = false;\n var ieOrEdge = false;\n function isIE() {\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) {\n return true;\n }\n }\n catch (error) {\n }\n return false;\n }\n function isIEOrEdge() {\n if (isDetectedIEOrEdge) {\n return ieOrEdge;\n }\n isDetectedIEOrEdge = true;\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {\n ieOrEdge = true;\n }\n }\n catch (error) {\n }\n return ieOrEdge;\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n // override Function.prototype.toString to make zone.js patched function\n // look like native function\n Zone.__load_patch('toString', function (global) {\n // patch Func.prototype.toString to let them look like native\n var originalFunctionToString = Function.prototype.toString;\n var ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate');\n var PROMISE_SYMBOL = zoneSymbol('Promise');\n var ERROR_SYMBOL = zoneSymbol('Error');\n var newFunctionToString = function toString() {\n if (typeof this === 'function') {\n var originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];\n if (originalDelegate) {\n if (typeof originalDelegate === 'function') {\n return originalFunctionToString.call(originalDelegate);\n }\n else {\n return Object.prototype.toString.call(originalDelegate);\n }\n }\n if (this === Promise) {\n var nativePromise = global[PROMISE_SYMBOL];\n if (nativePromise) {\n return originalFunctionToString.call(nativePromise);\n }\n }\n if (this === Error) {\n var nativeError = global[ERROR_SYMBOL];\n if (nativeError) {\n return originalFunctionToString.call(nativeError);\n }\n }\n }\n return originalFunctionToString.call(this);\n };\n newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString;\n Function.prototype.toString = newFunctionToString;\n // patch Object.prototype.toString to let them look like native\n var originalObjectToString = Object.prototype.toString;\n var PROMISE_OBJECT_TO_STRING = '[object Promise]';\n Object.prototype.toString = function () {\n if (this instanceof Promise) {\n return PROMISE_OBJECT_TO_STRING;\n }\n return originalObjectToString.call(this);\n };\n });\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var passiveSupported = false;\n if (typeof window !== 'undefined') {\n try {\n var options = Object.defineProperty({}, 'passive', { get: function () { passiveSupported = true; } });\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n }\n // an identifier to tell ZoneTask do not create a new invoke closure\n var OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n useG: true\n };\n var zoneSymbolEventNames$1 = {};\n var globalSources = {};\n var EVENT_NAME_SYMBOL_REGX = new RegExp('^' + ZONE_SYMBOL_PREFIX + '(\\\\w+)(true|false)$');\n var IMMEDIATE_PROPAGATION_SYMBOL = zoneSymbol('propagationStopped');\n function prepareEventNames(eventName, eventNameToString) {\n var falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR;\n var trueEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames$1[eventName] = {};\n zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;\n }\n function patchEventTarget(_global, apis, patchOptions) {\n var ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR;\n var REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR;\n var LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners';\n var REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || 'removeAllListeners';\n var zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER);\n var ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':';\n var PREPEND_EVENT_LISTENER = 'prependListener';\n var PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':';\n var invokeTask = function (task, target, event) {\n // for better performance, check isRemoved which is set\n // by removeEventListener\n if (task.isRemoved) {\n return;\n }\n var delegate = task.callback;\n if (typeof delegate === 'object' && delegate.handleEvent) {\n // create the bind version of handleEvent when invoke\n task.callback = function (event) { return delegate.handleEvent(event); };\n task.originalDelegate = delegate;\n }\n // invoke static task.invoke\n task.invoke(task, target, [event]);\n var options = task.options;\n if (options && typeof options === 'object' && options.once) {\n // if options.once is true, after invoke once remove listener here\n // only browser need to do this, nodejs eventEmitter will cal removeListener\n // inside EventEmitter.once\n var delegate_1 = task.originalDelegate ? task.originalDelegate : task.callback;\n target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate_1, options);\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = false\n var globalZoneAwareCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = this || event.target || _global;\n var tasks = target[zoneSymbolEventNames$1[event.type][FALSE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = true\n var globalZoneAwareCaptureCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = this || event.target || _global;\n var tasks = target[zoneSymbolEventNames$1[event.type][TRUE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n function patchEventTargetMethods(obj, patchOptions) {\n if (!obj) {\n return false;\n }\n var useGlobalCallback = true;\n if (patchOptions && patchOptions.useG !== undefined) {\n useGlobalCallback = patchOptions.useG;\n }\n var validateHandler = patchOptions && patchOptions.vh;\n var checkDuplicate = true;\n if (patchOptions && patchOptions.chkDup !== undefined) {\n checkDuplicate = patchOptions.chkDup;\n }\n var returnTarget = false;\n if (patchOptions && patchOptions.rt !== undefined) {\n returnTarget = patchOptions.rt;\n }\n var proto = obj;\n while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && obj[ADD_EVENT_LISTENER]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = obj;\n }\n if (!proto) {\n return false;\n }\n if (proto[zoneSymbolAddEventListener]) {\n return false;\n }\n var eventNameToString = patchOptions && patchOptions.eventNameToString;\n // a shared global taskData to pass data for scheduleEventTask\n // so we do not need to create a new object just for pass some data\n var taskData = {};\n var nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER];\n var nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] =\n proto[REMOVE_EVENT_LISTENER];\n var nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] =\n proto[LISTENERS_EVENT_LISTENER];\n var nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] =\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER];\n var nativePrependEventListener;\n if (patchOptions && patchOptions.prepend) {\n nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] =\n proto[patchOptions.prepend];\n }\n /**\n * This util function will build an option object with passive option\n * to handle all possible input from the user.\n */\n function buildEventListenerOptions(options, passive) {\n if (!passiveSupported && typeof options === 'object' && options) {\n // doesn't support passive but user want to pass an object as options.\n // this will not work on some old browser, so we just pass a boolean\n // as useCapture parameter\n return !!options.capture;\n }\n if (!passiveSupported || !passive) {\n return options;\n }\n if (typeof options === 'boolean') {\n return { capture: options, passive: true };\n }\n if (!options) {\n return { passive: true };\n }\n if (typeof options === 'object' && options.passive !== false) {\n return Object.assign(Object.assign({}, options), { passive: true });\n }\n return options;\n }\n var customScheduleGlobal = function (task) {\n // if there is already a task for the eventName + capture,\n // just return, because we use the shared globalZoneAwareCallback here.\n if (taskData.isExisting) {\n return;\n }\n return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options);\n };\n var customCancelGlobal = function (task) {\n // if task is not marked as isRemoved, this call is directly\n // from Zone.prototype.cancelTask, we should remove the task\n // from tasksList of target first\n if (!task.isRemoved) {\n var symbolEventNames = zoneSymbolEventNames$1[task.eventName];\n var symbolEventName = void 0;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && task.target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (existingTask === task) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n task.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n task.allRemoved = true;\n task.target[symbolEventName] = null;\n }\n break;\n }\n }\n }\n }\n // if all tasks for the eventName + capture have gone,\n // we will really remove the global event callback,\n // if not, return\n if (!task.allRemoved) {\n return;\n }\n return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options);\n };\n var customScheduleNonGlobal = function (task) {\n return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customSchedulePrepend = function (task) {\n return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customCancelNonGlobal = function (task) {\n return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options);\n };\n var customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;\n var customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;\n var compareTaskCallbackVsDelegate = function (task, delegate) {\n var typeOfDelegate = typeof delegate;\n return (typeOfDelegate === 'function' && task.callback === delegate) ||\n (typeOfDelegate === 'object' && task.originalDelegate === delegate);\n };\n var compare = (patchOptions && patchOptions.diff) ? patchOptions.diff : compareTaskCallbackVsDelegate;\n var blackListedEvents = Zone[zoneSymbol('BLACK_LISTED_EVENTS')];\n var passiveEvents = _global[zoneSymbol('PASSIVE_EVENTS')];\n var makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget, prepend) {\n if (returnTarget === void 0) { returnTarget = false; }\n if (prepend === void 0) { prepend = false; }\n return function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var delegate = arguments[1];\n if (!delegate) {\n return nativeListener.apply(this, arguments);\n }\n if (isNode && eventName === 'uncaughtException') {\n // don't patch uncaughtException of nodejs to prevent endless loop\n return nativeListener.apply(this, arguments);\n }\n // don't create the bind delegate function for handleEvent\n // case here to improve addEventListener performance\n // we will create the bind delegate when invoke\n var isHandleEvent = false;\n if (typeof delegate !== 'function') {\n if (!delegate.handleEvent) {\n return nativeListener.apply(this, arguments);\n }\n isHandleEvent = true;\n }\n if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) {\n return;\n }\n var passive = passiveSupported && !!passiveEvents && passiveEvents.indexOf(eventName) !== -1;\n var options = buildEventListenerOptions(arguments[2], passive);\n if (blackListedEvents) {\n // check black list\n for (var i = 0; i < blackListedEvents.length; i++) {\n if (eventName === blackListedEvents[i]) {\n if (passive) {\n return nativeListener.call(target, eventName, delegate, options);\n }\n else {\n return nativeListener.apply(this, arguments);\n }\n }\n }\n }\n var capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n var once = options && typeof options === 'object' ? options.once : false;\n var zone = Zone.current;\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n if (!symbolEventNames) {\n prepareEventNames(eventName, eventNameToString);\n symbolEventNames = zoneSymbolEventNames$1[eventName];\n }\n var symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n var existingTasks = target[symbolEventName];\n var isExisting = false;\n if (existingTasks) {\n // already have task registered\n isExisting = true;\n if (checkDuplicate) {\n for (var i = 0; i < existingTasks.length; i++) {\n if (compare(existingTasks[i], delegate)) {\n // same callback, same capture, same event name, just return\n return;\n }\n }\n }\n }\n else {\n existingTasks = target[symbolEventName] = [];\n }\n var source;\n var constructorName = target.constructor['name'];\n var targetSource = globalSources[constructorName];\n if (targetSource) {\n source = targetSource[eventName];\n }\n if (!source) {\n source = constructorName + addSource +\n (eventNameToString ? eventNameToString(eventName) : eventName);\n }\n // do not create a new object as task.data to pass those things\n // just use the global shared one\n taskData.options = options;\n if (once) {\n // if addEventListener with once options, we don't pass it to\n // native addEventListener, instead we keep the once setting\n // and handle ourselves.\n taskData.options.once = false;\n }\n taskData.target = target;\n taskData.capture = capture;\n taskData.eventName = eventName;\n taskData.isExisting = isExisting;\n var data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : undefined;\n // keep taskData into data to allow onScheduleEventTask to access the task information\n if (data) {\n data.taskData = taskData;\n }\n var task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn);\n // should clear taskData.target to avoid memory leak\n // issue, https://github.com/angular/angular/issues/20442\n taskData.target = null;\n // need to clear up taskData because it is a global object\n if (data) {\n data.taskData = null;\n }\n // have to save those information to task in case\n // application may call task.zone.cancelTask() directly\n if (once) {\n options.once = true;\n }\n if (!(!passiveSupported && typeof task.options === 'boolean')) {\n // if not support passive, and we pass an option object\n // to addEventListener, we should save the options to task\n task.options = options;\n }\n task.target = target;\n task.capture = capture;\n task.eventName = eventName;\n if (isHandleEvent) {\n // save original delegate for compare to check duplicate\n task.originalDelegate = delegate;\n }\n if (!prepend) {\n existingTasks.push(task);\n }\n else {\n existingTasks.unshift(task);\n }\n if (returnTarget) {\n return target;\n }\n };\n };\n proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget);\n if (nativePrependEventListener) {\n proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true);\n }\n proto[REMOVE_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var options = arguments[2];\n var capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n var delegate = arguments[1];\n if (!delegate) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n if (validateHandler &&\n !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) {\n return;\n }\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n var symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (compare(existingTask, delegate)) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n existingTask.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n existingTask.allRemoved = true;\n target[symbolEventName] = null;\n // in the target, we have an event listener which is added by on_property\n // such as target.onclick = function() {}, so we need to clear this internal\n // property too if all delegates all removed\n if (typeof eventName === 'string') {\n var onPropertySymbol = ZONE_SYMBOL_PREFIX + 'ON_PROPERTY' + eventName;\n target[onPropertySymbol] = null;\n }\n }\n existingTask.zone.cancelTask(existingTask);\n if (returnTarget) {\n return target;\n }\n return;\n }\n }\n }\n // issue 930, didn't find the event name or callback\n // from zone kept existingTasks, the callback maybe\n // added outside of zone, we need to call native removeEventListener\n // to try to remove it.\n return nativeRemoveEventListener.apply(this, arguments);\n };\n proto[LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var listeners = [];\n var tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : eventName);\n for (var i = 0; i < tasks.length; i++) {\n var task = tasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n listeners.push(delegate);\n }\n return listeners;\n };\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (!eventName) {\n var keys = Object.keys(target);\n for (var i = 0; i < keys.length; i++) {\n var prop = keys[i];\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n // in nodejs EventEmitter, removeListener event is\n // used for monitoring the removeListener call,\n // so just keep removeListener eventListener until\n // all other eventListeners are removed\n if (evtName && evtName !== 'removeListener') {\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName);\n }\n }\n // remove removeListener listener finally\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener');\n }\n else {\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n if (symbolEventNames) {\n var symbolEventName = symbolEventNames[FALSE_STR];\n var symbolCaptureEventName = symbolEventNames[TRUE_STR];\n var tasks = target[symbolEventName];\n var captureTasks = target[symbolCaptureEventName];\n if (tasks) {\n var removeTasks = tasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n if (captureTasks) {\n var removeTasks = captureTasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n }\n }\n if (returnTarget) {\n return this;\n }\n };\n // for native toString patch\n attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener);\n attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener);\n if (nativeRemoveAllListeners) {\n attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners);\n }\n if (nativeListeners) {\n attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners);\n }\n return true;\n }\n var results = [];\n for (var i = 0; i < apis.length; i++) {\n results[i] = patchEventTargetMethods(apis[i], patchOptions);\n }\n return results;\n }\n function findEventTasks(target, eventName) {\n if (!eventName) {\n var foundTasks = [];\n for (var prop in target) {\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n if (evtName && (!eventName || evtName === eventName)) {\n var tasks = target[prop];\n if (tasks) {\n for (var i = 0; i < tasks.length; i++) {\n foundTasks.push(tasks[i]);\n }\n }\n }\n }\n return foundTasks;\n }\n var symbolEventName = zoneSymbolEventNames$1[eventName];\n if (!symbolEventName) {\n prepareEventNames(eventName);\n symbolEventName = zoneSymbolEventNames$1[eventName];\n }\n var captureFalseTasks = target[symbolEventName[FALSE_STR]];\n var captureTrueTasks = target[symbolEventName[TRUE_STR]];\n if (!captureFalseTasks) {\n return captureTrueTasks ? captureTrueTasks.slice() : [];\n }\n else {\n return captureTrueTasks ? captureFalseTasks.concat(captureTrueTasks) :\n captureFalseTasks.slice();\n }\n }\n function patchEventPrototype(global, api) {\n var Event = global['Event'];\n if (Event && Event.prototype) {\n api.patchMethod(Event.prototype, 'stopImmediatePropagation', function (delegate) { return function (self, args) {\n self[IMMEDIATE_PROPAGATION_SYMBOL] = true;\n // we need to call the native stopImmediatePropagation\n // in case in some hybrid application, some part of\n // application will be controlled by zone, some are not\n delegate && delegate.apply(self, args);\n }; });\n }\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function patchCallbacks(api, target, targetName, method, callbacks) {\n var symbol = Zone.__symbol__(method);\n if (target[symbol]) {\n return;\n }\n var nativeDelegate = target[symbol] = target[method];\n target[method] = function (name, opts, options) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n var source = targetName + \".\" + method + \"::\" + callback;\n var prototype = opts.prototype;\n if (prototype.hasOwnProperty(callback)) {\n var descriptor = api.ObjectGetOwnPropertyDescriptor(prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = api.wrapWithCurrentZone(descriptor.value, source);\n api._redefineProperty(opts.prototype, callback, descriptor);\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n });\n }\n return nativeDelegate.call(target, name, opts, options);\n };\n api.attachOriginToPatched(target[method], nativeDelegate);\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var globalEventHandlersEventNames = [\n 'abort',\n 'animationcancel',\n 'animationend',\n 'animationiteration',\n 'auxclick',\n 'beforeinput',\n 'blur',\n 'cancel',\n 'canplay',\n 'canplaythrough',\n 'change',\n 'compositionstart',\n 'compositionupdate',\n 'compositionend',\n 'cuechange',\n 'click',\n 'close',\n 'contextmenu',\n 'curechange',\n 'dblclick',\n 'drag',\n 'dragend',\n 'dragenter',\n 'dragexit',\n 'dragleave',\n 'dragover',\n 'drop',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'focus',\n 'focusin',\n 'focusout',\n 'gotpointercapture',\n 'input',\n 'invalid',\n 'keydown',\n 'keypress',\n 'keyup',\n 'load',\n 'loadstart',\n 'loadeddata',\n 'loadedmetadata',\n 'lostpointercapture',\n 'mousedown',\n 'mouseenter',\n 'mouseleave',\n 'mousemove',\n 'mouseout',\n 'mouseover',\n 'mouseup',\n 'mousewheel',\n 'orientationchange',\n 'pause',\n 'play',\n 'playing',\n 'pointercancel',\n 'pointerdown',\n 'pointerenter',\n 'pointerleave',\n 'pointerlockchange',\n 'mozpointerlockchange',\n 'webkitpointerlockerchange',\n 'pointerlockerror',\n 'mozpointerlockerror',\n 'webkitpointerlockerror',\n 'pointermove',\n 'pointout',\n 'pointerover',\n 'pointerup',\n 'progress',\n 'ratechange',\n 'reset',\n 'resize',\n 'scroll',\n 'seeked',\n 'seeking',\n 'select',\n 'selectionchange',\n 'selectstart',\n 'show',\n 'sort',\n 'stalled',\n 'submit',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'touchcancel',\n 'touchmove',\n 'touchstart',\n 'touchend',\n 'transitioncancel',\n 'transitionend',\n 'waiting',\n 'wheel'\n ];\n var documentEventNames = [\n 'afterscriptexecute', 'beforescriptexecute', 'DOMContentLoaded', 'freeze', 'fullscreenchange',\n 'mozfullscreenchange', 'webkitfullscreenchange', 'msfullscreenchange', 'fullscreenerror',\n 'mozfullscreenerror', 'webkitfullscreenerror', 'msfullscreenerror', 'readystatechange',\n 'visibilitychange', 'resume'\n ];\n var windowEventNames = [\n 'absolutedeviceorientation',\n 'afterinput',\n 'afterprint',\n 'appinstalled',\n 'beforeinstallprompt',\n 'beforeprint',\n 'beforeunload',\n 'devicelight',\n 'devicemotion',\n 'deviceorientation',\n 'deviceorientationabsolute',\n 'deviceproximity',\n 'hashchange',\n 'languagechange',\n 'message',\n 'mozbeforepaint',\n 'offline',\n 'online',\n 'paint',\n 'pageshow',\n 'pagehide',\n 'popstate',\n 'rejectionhandled',\n 'storage',\n 'unhandledrejection',\n 'unload',\n 'userproximity',\n 'vrdisplayconnected',\n 'vrdisplaydisconnected',\n 'vrdisplaypresentchange'\n ];\n var htmlElementEventNames = [\n 'beforecopy', 'beforecut', 'beforepaste', 'copy', 'cut', 'paste', 'dragstart', 'loadend',\n 'animationstart', 'search', 'transitionrun', 'transitionstart', 'webkitanimationend',\n 'webkitanimationiteration', 'webkitanimationstart', 'webkittransitionend'\n ];\n var mediaElementEventNames = ['encrypted', 'waitingforkey', 'msneedkey', 'mozinterruptbegin', 'mozinterruptend'];\n var ieElementEventNames = [\n 'activate',\n 'afterupdate',\n 'ariarequest',\n 'beforeactivate',\n 'beforedeactivate',\n 'beforeeditfocus',\n 'beforeupdate',\n 'cellchange',\n 'controlselect',\n 'dataavailable',\n 'datasetchanged',\n 'datasetcomplete',\n 'errorupdate',\n 'filterchange',\n 'layoutcomplete',\n 'losecapture',\n 'move',\n 'moveend',\n 'movestart',\n 'propertychange',\n 'resizeend',\n 'resizestart',\n 'rowenter',\n 'rowexit',\n 'rowsdelete',\n 'rowsinserted',\n 'command',\n 'compassneedscalibration',\n 'deactivate',\n 'help',\n 'mscontentzoom',\n 'msmanipulationstatechanged',\n 'msgesturechange',\n 'msgesturedoubletap',\n 'msgestureend',\n 'msgesturehold',\n 'msgesturestart',\n 'msgesturetap',\n 'msgotpointercapture',\n 'msinertiastart',\n 'mslostpointercapture',\n 'mspointercancel',\n 'mspointerdown',\n 'mspointerenter',\n 'mspointerhover',\n 'mspointerleave',\n 'mspointermove',\n 'mspointerout',\n 'mspointerover',\n 'mspointerup',\n 'pointerout',\n 'mssitemodejumplistitemremoved',\n 'msthumbnailclick',\n 'stop',\n 'storagecommit'\n ];\n var webglEventNames = ['webglcontextrestored', 'webglcontextlost', 'webglcontextcreationerror'];\n var formEventNames = ['autocomplete', 'autocompleteerror'];\n var detailEventNames = ['toggle'];\n var frameEventNames = ['load'];\n var frameSetEventNames = ['blur', 'error', 'focus', 'load', 'resize', 'scroll', 'messageerror'];\n var marqueeEventNames = ['bounce', 'finish', 'start'];\n var XMLHttpRequestEventNames = [\n 'loadstart', 'progress', 'abort', 'error', 'load', 'progress', 'timeout', 'loadend',\n 'readystatechange'\n ];\n var IDBIndexEventNames = ['upgradeneeded', 'complete', 'abort', 'success', 'error', 'blocked', 'versionchange', 'close'];\n var websocketEventNames = ['close', 'error', 'open', 'message'];\n var workerEventNames = ['error', 'message'];\n var eventNames = globalEventHandlersEventNames.concat(webglEventNames, formEventNames, detailEventNames, documentEventNames, windowEventNames, htmlElementEventNames, ieElementEventNames);\n function filterProperties(target, onProperties, ignoreProperties) {\n if (!ignoreProperties || ignoreProperties.length === 0) {\n return onProperties;\n }\n var tip = ignoreProperties.filter(function (ip) { return ip.target === target; });\n if (!tip || tip.length === 0) {\n return onProperties;\n }\n var targetIgnoreProperties = tip[0].ignoreProperties;\n return onProperties.filter(function (op) { return targetIgnoreProperties.indexOf(op) === -1; });\n }\n function patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {\n // check whether target is available, sometimes target will be undefined\n // because different browser or some 3rd party plugin.\n if (!target) {\n return;\n }\n var filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n patchOnProperties(target, filteredProperties, prototype);\n }\n function propertyDescriptorPatch(api, _global) {\n if (isNode && !isMix) {\n return;\n }\n if (Zone[api.symbol('patchEvents')]) {\n // events are already been patched by legacy patch.\n return;\n }\n var supportsWebSocket = typeof WebSocket !== 'undefined';\n var ignoreProperties = _global['__Zone_ignore_on_properties'];\n // for browsers that we can patch the descriptor: Chrome & Firefox\n if (isBrowser) {\n var internalWindow_1 = window;\n var ignoreErrorProperties = isIE ? [{ target: internalWindow_1, ignoreProperties: ['error'] }] : [];\n // in IE/Edge, onProp not exist in window object, but in WindowPrototype\n // so we need to pass WindowPrototype to check onProp exist or not\n patchFilteredProperties(internalWindow_1, eventNames.concat(['messageerror']), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(internalWindow_1));\n patchFilteredProperties(Document.prototype, eventNames, ignoreProperties);\n if (typeof internalWindow_1['SVGElement'] !== 'undefined') {\n patchFilteredProperties(internalWindow_1['SVGElement'].prototype, eventNames, ignoreProperties);\n }\n patchFilteredProperties(Element.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLElement.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLMediaElement.prototype, mediaElementEventNames, ignoreProperties);\n patchFilteredProperties(HTMLFrameSetElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLBodyElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLFrameElement.prototype, frameEventNames, ignoreProperties);\n patchFilteredProperties(HTMLIFrameElement.prototype, frameEventNames, ignoreProperties);\n var HTMLMarqueeElement_1 = internalWindow_1['HTMLMarqueeElement'];\n if (HTMLMarqueeElement_1) {\n patchFilteredProperties(HTMLMarqueeElement_1.prototype, marqueeEventNames, ignoreProperties);\n }\n var Worker_1 = internalWindow_1['Worker'];\n if (Worker_1) {\n patchFilteredProperties(Worker_1.prototype, workerEventNames, ignoreProperties);\n }\n }\n var XMLHttpRequest = _global['XMLHttpRequest'];\n if (XMLHttpRequest) {\n // XMLHttpRequest is not available in ServiceWorker, so we need to check here\n patchFilteredProperties(XMLHttpRequest.prototype, XMLHttpRequestEventNames, ignoreProperties);\n }\n var XMLHttpRequestEventTarget = _global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget) {\n patchFilteredProperties(XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype, XMLHttpRequestEventNames, ignoreProperties);\n }\n if (typeof IDBIndex !== 'undefined') {\n patchFilteredProperties(IDBIndex.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBOpenDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBDatabase.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBTransaction.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBCursor.prototype, IDBIndexEventNames, ignoreProperties);\n }\n if (supportsWebSocket) {\n patchFilteredProperties(WebSocket.prototype, websocketEventNames, ignoreProperties);\n }\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n Zone.__load_patch('util', function (global, Zone, api) {\n api.patchOnProperties = patchOnProperties;\n api.patchMethod = patchMethod;\n api.bindArguments = bindArguments;\n api.patchMacroTask = patchMacroTask;\n // In earlier version of zone.js (<0.9.0), we use env name `__zone_symbol__BLACK_LISTED_EVENTS` to\n // define which events will not be patched by `Zone.js`.\n // In newer version (>=0.9.0), we change the env name to `__zone_symbol__UNPATCHED_EVENTS` to keep\n // the name consistent with angular repo.\n // The `__zone_symbol__BLACK_LISTED_EVENTS` is deprecated, but it is still be supported for\n // backwards compatibility.\n var SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');\n var SYMBOL_UNPATCHED_EVENTS = Zone.__symbol__('UNPATCHED_EVENTS');\n if (global[SYMBOL_UNPATCHED_EVENTS]) {\n global[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_UNPATCHED_EVENTS];\n }\n if (global[SYMBOL_BLACK_LISTED_EVENTS]) {\n Zone[SYMBOL_BLACK_LISTED_EVENTS] = Zone[SYMBOL_UNPATCHED_EVENTS] =\n global[SYMBOL_BLACK_LISTED_EVENTS];\n }\n api.patchEventPrototype = patchEventPrototype;\n api.patchEventTarget = patchEventTarget;\n api.isIEOrEdge = isIEOrEdge;\n api.ObjectDefineProperty = ObjectDefineProperty;\n api.ObjectGetOwnPropertyDescriptor = ObjectGetOwnPropertyDescriptor;\n api.ObjectCreate = ObjectCreate;\n api.ArraySlice = ArraySlice;\n api.patchClass = patchClass;\n api.wrapWithCurrentZone = wrapWithCurrentZone;\n api.filterProperties = filterProperties;\n api.attachOriginToPatched = attachOriginToPatched;\n api._redefineProperty = Object.defineProperty;\n api.patchCallbacks = patchCallbacks;\n api.getGlobalObjects = function () { return ({ globalSources: globalSources, zoneSymbolEventNames: zoneSymbolEventNames$1, eventNames: eventNames, isBrowser: isBrowser, isMix: isMix, isNode: isNode, TRUE_STR: TRUE_STR,\n FALSE_STR: FALSE_STR, ZONE_SYMBOL_PREFIX: ZONE_SYMBOL_PREFIX, ADD_EVENT_LISTENER_STR: ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR: REMOVE_EVENT_LISTENER_STR }); };\n });\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n /*\n * This is necessary for Chrome and Chrome mobile, to enable\n * things like redefining `createdCallback` on an element.\n */\n var zoneSymbol$1;\n var _defineProperty;\n var _getOwnPropertyDescriptor;\n var _create;\n var unconfigurablesKey;\n function propertyPatch() {\n zoneSymbol$1 = Zone.__symbol__;\n _defineProperty = Object[zoneSymbol$1('defineProperty')] = Object.defineProperty;\n _getOwnPropertyDescriptor = Object[zoneSymbol$1('getOwnPropertyDescriptor')] =\n Object.getOwnPropertyDescriptor;\n _create = Object.create;\n unconfigurablesKey = zoneSymbol$1('unconfigurables');\n Object.defineProperty = function (obj, prop, desc) {\n if (isUnconfigurable(obj, prop)) {\n throw new TypeError('Cannot assign to read only property \\'' + prop + '\\' of ' + obj);\n }\n var originalConfigurableFlag = desc.configurable;\n if (prop !== 'prototype') {\n desc = rewriteDescriptor(obj, prop, desc);\n }\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n };\n Object.defineProperties = function (obj, props) {\n Object.keys(props).forEach(function (prop) { Object.defineProperty(obj, prop, props[prop]); });\n return obj;\n };\n Object.create = function (obj, proto) {\n if (typeof proto === 'object' && !Object.isFrozen(proto)) {\n Object.keys(proto).forEach(function (prop) {\n proto[prop] = rewriteDescriptor(obj, prop, proto[prop]);\n });\n }\n return _create(obj, proto);\n };\n Object.getOwnPropertyDescriptor = function (obj, prop) {\n var desc = _getOwnPropertyDescriptor(obj, prop);\n if (desc && isUnconfigurable(obj, prop)) {\n desc.configurable = false;\n }\n return desc;\n };\n }\n function _redefineProperty(obj, prop, desc) {\n var originalConfigurableFlag = desc.configurable;\n desc = rewriteDescriptor(obj, prop, desc);\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n }\n function isUnconfigurable(obj, prop) {\n return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop];\n }\n function rewriteDescriptor(obj, prop, desc) {\n // issue-927, if the desc is frozen, don't try to change the desc\n if (!Object.isFrozen(desc)) {\n desc.configurable = true;\n }\n if (!desc.configurable) {\n // issue-927, if the obj is frozen, don't try to set the desc to obj\n if (!obj[unconfigurablesKey] && !Object.isFrozen(obj)) {\n _defineProperty(obj, unconfigurablesKey, { writable: true, value: {} });\n }\n if (obj[unconfigurablesKey]) {\n obj[unconfigurablesKey][prop] = true;\n }\n }\n return desc;\n }\n function _tryDefineProperty(obj, prop, desc, originalConfigurableFlag) {\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n if (desc.configurable) {\n // In case of errors, when the configurable flag was likely set by rewriteDescriptor(), let's\n // retry with the original flag value\n if (typeof originalConfigurableFlag == 'undefined') {\n delete desc.configurable;\n }\n else {\n desc.configurable = originalConfigurableFlag;\n }\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n var descJson = null;\n try {\n descJson = JSON.stringify(desc);\n }\n catch (error) {\n descJson = desc.toString();\n }\n console.log(\"Attempting to configure '\" + prop + \"' with descriptor '\" + descJson + \"' on object '\" + obj + \"' and got error, giving up: \" + error);\n }\n }\n else {\n throw error;\n }\n }\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function eventTargetLegacyPatch(_global, api) {\n var _a = api.getGlobalObjects(), eventNames = _a.eventNames, globalSources = _a.globalSources, zoneSymbolEventNames = _a.zoneSymbolEventNames, TRUE_STR = _a.TRUE_STR, FALSE_STR = _a.FALSE_STR, ZONE_SYMBOL_PREFIX = _a.ZONE_SYMBOL_PREFIX;\n var WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video';\n var NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket'\n .split(',');\n var EVENT_TARGET = 'EventTarget';\n var apis = [];\n var isWtf = _global['wtf'];\n var WTF_ISSUE_555_ARRAY = WTF_ISSUE_555.split(',');\n if (isWtf) {\n // Workaround for: https://github.com/google/tracing-framework/issues/555\n apis = WTF_ISSUE_555_ARRAY.map(function (v) { return 'HTML' + v + 'Element'; }).concat(NO_EVENT_TARGET);\n }\n else if (_global[EVENT_TARGET]) {\n apis.push(EVENT_TARGET);\n }\n else {\n // Note: EventTarget is not available in all browsers,\n // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget\n apis = NO_EVENT_TARGET;\n }\n var isDisableIECheck = _global['__Zone_disable_IE_check'] || false;\n var isEnableCrossContextCheck = _global['__Zone_enable_cross_context_check'] || false;\n var ieOrEdge = api.isIEOrEdge();\n var ADD_EVENT_LISTENER_SOURCE = '.addEventListener:';\n var FUNCTION_WRAPPER = '[object FunctionWrapper]';\n var BROWSER_TOOLS = 'function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }';\n var pointerEventsMap = {\n 'MSPointerCancel': 'pointercancel',\n 'MSPointerDown': 'pointerdown',\n 'MSPointerEnter': 'pointerenter',\n 'MSPointerHover': 'pointerhover',\n 'MSPointerLeave': 'pointerleave',\n 'MSPointerMove': 'pointermove',\n 'MSPointerOut': 'pointerout',\n 'MSPointerOver': 'pointerover',\n 'MSPointerUp': 'pointerup'\n };\n // predefine all __zone_symbol__ + eventName + true/false string\n for (var i = 0; i < eventNames.length; i++) {\n var eventName = eventNames[i];\n var falseEventName = eventName + FALSE_STR;\n var trueEventName = eventName + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n // predefine all task.source string\n for (var i = 0; i < WTF_ISSUE_555_ARRAY.length; i++) {\n var target = WTF_ISSUE_555_ARRAY[i];\n var targets = globalSources[target] = {};\n for (var j = 0; j < eventNames.length; j++) {\n var eventName = eventNames[j];\n targets[eventName] = target + ADD_EVENT_LISTENER_SOURCE + eventName;\n }\n }\n var checkIEAndCrossContext = function (nativeDelegate, delegate, target, args) {\n if (!isDisableIECheck && ieOrEdge) {\n if (isEnableCrossContextCheck) {\n try {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n else {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n }\n else if (isEnableCrossContextCheck) {\n try {\n delegate.toString();\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n return true;\n };\n var apiTypes = [];\n for (var i = 0; i < apis.length; i++) {\n var type = _global[apis[i]];\n apiTypes.push(type && type.prototype);\n }\n // vh is validateHandler to check event handler\n // is valid or not(for security check)\n api.patchEventTarget(_global, apiTypes, {\n vh: checkIEAndCrossContext,\n transferEventName: function (eventName) {\n var pointerEventName = pointerEventsMap[eventName];\n return pointerEventName || eventName;\n }\n });\n Zone[api.symbol('patchEventTarget')] = !!_global[EVENT_TARGET];\n return true;\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n // we have to patch the instance since the proto is non-configurable\n function apply(api, _global) {\n var _a = api.getGlobalObjects(), ADD_EVENT_LISTENER_STR = _a.ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR = _a.REMOVE_EVENT_LISTENER_STR;\n var WS = _global.WebSocket;\n // On Safari window.EventTarget doesn't exist so need to patch WS add/removeEventListener\n // On older Chrome, no need since EventTarget was already patched\n if (!_global.EventTarget) {\n api.patchEventTarget(_global, [WS.prototype]);\n }\n _global.WebSocket = function (x, y) {\n var socket = arguments.length > 1 ? new WS(x, y) : new WS(x);\n var proxySocket;\n var proxySocketProto;\n // Safari 7.0 has non-configurable own 'onmessage' and friends properties on the socket instance\n var onmessageDesc = api.ObjectGetOwnPropertyDescriptor(socket, 'onmessage');\n if (onmessageDesc && onmessageDesc.configurable === false) {\n proxySocket = api.ObjectCreate(socket);\n // socket have own property descriptor 'onopen', 'onmessage', 'onclose', 'onerror'\n // but proxySocket not, so we will keep socket as prototype and pass it to\n // patchOnProperties method\n proxySocketProto = socket;\n [ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR, 'send', 'close'].forEach(function (propName) {\n proxySocket[propName] = function () {\n var args = api.ArraySlice.call(arguments);\n if (propName === ADD_EVENT_LISTENER_STR || propName === REMOVE_EVENT_LISTENER_STR) {\n var eventName = args.length > 0 ? args[0] : undefined;\n if (eventName) {\n var propertySymbol = Zone.__symbol__('ON_PROPERTY' + eventName);\n socket[propertySymbol] = proxySocket[propertySymbol];\n }\n }\n return socket[propName].apply(socket, args);\n };\n });\n }\n else {\n // we can patch the real socket\n proxySocket = socket;\n }\n api.patchOnProperties(proxySocket, ['close', 'error', 'message', 'open'], proxySocketProto);\n return proxySocket;\n };\n var globalWebSocket = _global['WebSocket'];\n for (var prop in WS) {\n globalWebSocket[prop] = WS[prop];\n }\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function propertyDescriptorLegacyPatch(api, _global) {\n var _a = api.getGlobalObjects(), isNode = _a.isNode, isMix = _a.isMix;\n if (isNode && !isMix) {\n return;\n }\n if (!canPatchViaPropertyDescriptor(api, _global)) {\n var supportsWebSocket = typeof WebSocket !== 'undefined';\n // Safari, Android browsers (Jelly Bean)\n patchViaCapturingAllTheEvents(api);\n api.patchClass('XMLHttpRequest');\n if (supportsWebSocket) {\n apply(api, _global);\n }\n Zone[api.symbol('patchEvents')] = true;\n }\n }\n function canPatchViaPropertyDescriptor(api, _global) {\n var _a = api.getGlobalObjects(), isBrowser = _a.isBrowser, isMix = _a.isMix;\n if ((isBrowser || isMix) &&\n !api.ObjectGetOwnPropertyDescriptor(HTMLElement.prototype, 'onclick') &&\n typeof Element !== 'undefined') {\n // WebKit https://bugs.webkit.org/show_bug.cgi?id=134364\n // IDL interface attributes are not configurable\n var desc = api.ObjectGetOwnPropertyDescriptor(Element.prototype, 'onclick');\n if (desc && !desc.configurable)\n return false;\n // try to use onclick to detect whether we can patch via propertyDescriptor\n // because XMLHttpRequest is not available in service worker\n if (desc) {\n api.ObjectDefineProperty(Element.prototype, 'onclick', { enumerable: true, configurable: true, get: function () { return true; } });\n var div = document.createElement('div');\n var result = !!div.onclick;\n api.ObjectDefineProperty(Element.prototype, 'onclick', desc);\n return result;\n }\n }\n var XMLHttpRequest = _global['XMLHttpRequest'];\n if (!XMLHttpRequest) {\n // XMLHttpRequest is not available in service worker\n return false;\n }\n var ON_READY_STATE_CHANGE = 'onreadystatechange';\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n var xhrDesc = api.ObjectGetOwnPropertyDescriptor(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE);\n // add enumerable and configurable here because in opera\n // by default XMLHttpRequest.prototype.onreadystatechange is undefined\n // without adding enumerable and configurable will cause onreadystatechange\n // non-configurable\n // and if XMLHttpRequest.prototype.onreadystatechange is undefined,\n // we should set a real desc instead a fake one\n if (xhrDesc) {\n api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, { enumerable: true, configurable: true, get: function () { return true; } });\n var req = new XMLHttpRequest();\n var result = !!req.onreadystatechange;\n // restore original desc\n api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, xhrDesc || {});\n return result;\n }\n else {\n var SYMBOL_FAKE_ONREADYSTATECHANGE_1 = api.symbol('fake');\n api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {\n enumerable: true,\n configurable: true,\n get: function () { return this[SYMBOL_FAKE_ONREADYSTATECHANGE_1]; },\n set: function (value) { this[SYMBOL_FAKE_ONREADYSTATECHANGE_1] = value; }\n });\n var req = new XMLHttpRequest();\n var detectFunc = function () { };\n req.onreadystatechange = detectFunc;\n var result = req[SYMBOL_FAKE_ONREADYSTATECHANGE_1] === detectFunc;\n req.onreadystatechange = null;\n return result;\n }\n }\n // Whenever any eventListener fires, we check the eventListener target and all parents\n // for `onwhatever` properties and replace them with zone-bound functions\n // - Chrome (for now)\n function patchViaCapturingAllTheEvents(api) {\n var eventNames = api.getGlobalObjects().eventNames;\n var unboundKey = api.symbol('unbound');\n var _loop_4 = function (i) {\n var property = eventNames[i];\n var onproperty = 'on' + property;\n self.addEventListener(property, function (event) {\n var elt = event.target, bound, source;\n if (elt) {\n source = elt.constructor['name'] + '.' + onproperty;\n }\n else {\n source = 'unknown.' + onproperty;\n }\n while (elt) {\n if (elt[onproperty] && !elt[onproperty][unboundKey]) {\n bound = api.wrapWithCurrentZone(elt[onproperty], source);\n bound[unboundKey] = elt[onproperty];\n elt[onproperty] = bound;\n }\n elt = elt.parentElement;\n }\n }, true);\n };\n for (var i = 0; i < eventNames.length; i++) {\n _loop_4(i);\n }\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function registerElementPatch(_global, api) {\n var _a = api.getGlobalObjects(), isBrowser = _a.isBrowser, isMix = _a.isMix;\n if ((!isBrowser && !isMix) || !('registerElement' in _global.document)) {\n return;\n }\n var callbacks = ['createdCallback', 'attachedCallback', 'detachedCallback', 'attributeChangedCallback'];\n api.patchCallbacks(api, document, 'Document', 'registerElement', callbacks);\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n (function (_global) {\n var symbolPrefix = _global['__Zone_symbol_prefix'] || '__zone_symbol__';\n function __symbol__(name) { return symbolPrefix + name; }\n _global[__symbol__('legacyPatch')] = function () {\n var Zone = _global['Zone'];\n Zone.__load_patch('defineProperty', function (global, Zone, api) {\n api._redefineProperty = _redefineProperty;\n propertyPatch();\n });\n Zone.__load_patch('registerElement', function (global, Zone, api) {\n registerElementPatch(global, api);\n });\n Zone.__load_patch('EventTargetLegacy', function (global, Zone, api) {\n eventTargetLegacyPatch(global, api);\n propertyDescriptorLegacyPatch(api, global);\n });\n };\n })(typeof window !== 'undefined' ?\n window :\n typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {});\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var taskSymbol = zoneSymbol('zoneTask');\n function patchTimer(window, setName, cancelName, nameSuffix) {\n var setNative = null;\n var clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n var tasksByHandleId = {};\n function scheduleTask(task) {\n var data = task.data;\n function timer() {\n try {\n task.invoke.apply(this, arguments);\n }\n finally {\n // issue-934, task will be cancelled\n // even it is a periodic task such as\n // setInterval\n if (!(task.data && task.data.isPeriodic)) {\n if (typeof data.handleId === 'number') {\n // in non-nodejs env, we remove timerId\n // from local cache\n delete tasksByHandleId[data.handleId];\n }\n else if (data.handleId) {\n // Node returns complex objects as handleIds\n // we remove task reference from timer object\n data.handleId[taskSymbol] = null;\n }\n }\n }\n }\n data.args[0] = timer;\n data.handleId = setNative.apply(window, data.args);\n return task;\n }\n function clearTask(task) { return clearNative(task.data.handleId); }\n setNative =\n patchMethod(window, setName, function (delegate) { return function (self, args) {\n if (typeof args[0] === 'function') {\n var options = {\n isPeriodic: nameSuffix === 'Interval',\n delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 :\n undefined,\n args: args\n };\n var task = scheduleMacroTaskWithCurrentZone(setName, args[0], options, scheduleTask, clearTask);\n if (!task) {\n return task;\n }\n // Node.js must additionally support the ref and unref functions.\n var handle = task.data.handleId;\n if (typeof handle === 'number') {\n // for non nodejs env, we save handleId: task\n // mapping in local cache for clearTimeout\n tasksByHandleId[handle] = task;\n }\n else if (handle) {\n // for nodejs env, we save task\n // reference in timerId Object for clearTimeout\n handle[taskSymbol] = task;\n }\n // check whether handle is null, because some polyfill or browser\n // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame\n if (handle && handle.ref && handle.unref && typeof handle.ref === 'function' &&\n typeof handle.unref === 'function') {\n task.ref = handle.ref.bind(handle);\n task.unref = handle.unref.bind(handle);\n }\n if (typeof handle === 'number' || handle) {\n return handle;\n }\n return task;\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(window, args);\n }\n }; });\n clearNative =\n patchMethod(window, cancelName, function (delegate) { return function (self, args) {\n var id = args[0];\n var task;\n if (typeof id === 'number') {\n // non nodejs env.\n task = tasksByHandleId[id];\n }\n else {\n // nodejs env.\n task = id && id[taskSymbol];\n // other environments.\n if (!task) {\n task = id;\n }\n }\n if (task && typeof task.type === 'string') {\n if (task.state !== 'notScheduled' &&\n (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) {\n if (typeof id === 'number') {\n delete tasksByHandleId[id];\n }\n else if (id) {\n id[taskSymbol] = null;\n }\n // Do not cancel already canceled functions\n task.zone.cancelTask(task);\n }\n }\n else {\n // cause an error by calling it directly.\n delegate.apply(window, args);\n }\n }; });\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function patchCustomElements(_global, api) {\n var _a = api.getGlobalObjects(), isBrowser = _a.isBrowser, isMix = _a.isMix;\n if ((!isBrowser && !isMix) || !_global['customElements'] || !('customElements' in _global)) {\n return;\n }\n var callbacks = ['connectedCallback', 'disconnectedCallback', 'adoptedCallback', 'attributeChangedCallback'];\n api.patchCallbacks(api, _global.customElements, 'customElements', 'define', callbacks);\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function eventTargetPatch(_global, api) {\n if (Zone[api.symbol('patchEventTarget')]) {\n // EventTarget is already patched.\n return;\n }\n var _a = api.getGlobalObjects(), eventNames = _a.eventNames, zoneSymbolEventNames = _a.zoneSymbolEventNames, TRUE_STR = _a.TRUE_STR, FALSE_STR = _a.FALSE_STR, ZONE_SYMBOL_PREFIX = _a.ZONE_SYMBOL_PREFIX;\n // predefine all __zone_symbol__ + eventName + true/false string\n for (var i = 0; i < eventNames.length; i++) {\n var eventName = eventNames[i];\n var falseEventName = eventName + FALSE_STR;\n var trueEventName = eventName + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n var EVENT_TARGET = _global['EventTarget'];\n if (!EVENT_TARGET || !EVENT_TARGET.prototype) {\n return;\n }\n api.patchEventTarget(_global, [EVENT_TARGET && EVENT_TARGET.prototype]);\n return true;\n }\n function patchEvent(global, api) {\n api.patchEventPrototype(global, api);\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n Zone.__load_patch('legacy', function (global) {\n var legacyPatch = global[Zone.__symbol__('legacyPatch')];\n if (legacyPatch) {\n legacyPatch();\n }\n });\n Zone.__load_patch('timers', function (global) {\n var set = 'set';\n var clear = 'clear';\n patchTimer(global, set, clear, 'Timeout');\n patchTimer(global, set, clear, 'Interval');\n patchTimer(global, set, clear, 'Immediate');\n });\n Zone.__load_patch('requestAnimationFrame', function (global) {\n patchTimer(global, 'request', 'cancel', 'AnimationFrame');\n patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');\n patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\n });\n Zone.__load_patch('blocking', function (global, Zone) {\n var blockingMethods = ['alert', 'prompt', 'confirm'];\n for (var i = 0; i < blockingMethods.length; i++) {\n var name_2 = blockingMethods[i];\n patchMethod(global, name_2, function (delegate, symbol, name) {\n return function (s, args) {\n return Zone.current.run(delegate, global, args, name);\n };\n });\n }\n });\n Zone.__load_patch('EventTarget', function (global, Zone, api) {\n patchEvent(global, api);\n eventTargetPatch(global, api);\n // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener\n var XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {\n api.patchEventTarget(global, [XMLHttpRequestEventTarget.prototype]);\n }\n patchClass('MutationObserver');\n patchClass('WebKitMutationObserver');\n patchClass('IntersectionObserver');\n patchClass('FileReader');\n });\n Zone.__load_patch('on_property', function (global, Zone, api) {\n propertyDescriptorPatch(api, global);\n });\n Zone.__load_patch('customElements', function (global, Zone, api) {\n patchCustomElements(global, api);\n });\n Zone.__load_patch('XHR', function (global, Zone) {\n // Treat XMLHttpRequest as a macrotask.\n patchXHR(global);\n var XHR_TASK = zoneSymbol('xhrTask');\n var XHR_SYNC = zoneSymbol('xhrSync');\n var XHR_LISTENER = zoneSymbol('xhrListener');\n var XHR_SCHEDULED = zoneSymbol('xhrScheduled');\n var XHR_URL = zoneSymbol('xhrURL');\n var XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol('xhrErrorBeforeScheduled');\n function patchXHR(window) {\n var XMLHttpRequest = window['XMLHttpRequest'];\n if (!XMLHttpRequest) {\n // XMLHttpRequest is not available in service worker\n return;\n }\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n function findPendingTask(target) { return target[XHR_TASK]; }\n var oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n var oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n if (!oriAddListener) {\n var XMLHttpRequestEventTarget_1 = window['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget_1) {\n var XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget_1.prototype;\n oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n }\n var READY_STATE_CHANGE = 'readystatechange';\n var SCHEDULED = 'scheduled';\n function scheduleTask(task) {\n var data = task.data;\n var target = data.target;\n target[XHR_SCHEDULED] = false;\n target[XHR_ERROR_BEFORE_SCHEDULED] = false;\n // remove existing event listener\n var listener = target[XHR_LISTENER];\n if (!oriAddListener) {\n oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n if (listener) {\n oriRemoveListener.call(target, READY_STATE_CHANGE, listener);\n }\n var newListener = target[XHR_LISTENER] = function () {\n if (target.readyState === target.DONE) {\n // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with\n // readyState=4 multiple times, so we need to check task state here\n if (!data.aborted && target[XHR_SCHEDULED] && task.state === SCHEDULED) {\n // check whether the xhr has registered onload listener\n // if that is the case, the task should invoke after all\n // onload listeners finish.\n var loadTasks = target[Zone.__symbol__('loadfalse')];\n if (loadTasks && loadTasks.length > 0) {\n var oriInvoke_1 = task.invoke;\n task.invoke = function () {\n // need to load the tasks again, because in other\n // load listener, they may remove themselves\n var loadTasks = target[Zone.__symbol__('loadfalse')];\n for (var i = 0; i < loadTasks.length; i++) {\n if (loadTasks[i] === task) {\n loadTasks.splice(i, 1);\n }\n }\n if (!data.aborted && task.state === SCHEDULED) {\n oriInvoke_1.call(task);\n }\n };\n loadTasks.push(task);\n }\n else {\n task.invoke();\n }\n }\n else if (!data.aborted && target[XHR_SCHEDULED] === false) {\n // error occurs when xhr.send()\n target[XHR_ERROR_BEFORE_SCHEDULED] = true;\n }\n }\n };\n oriAddListener.call(target, READY_STATE_CHANGE, newListener);\n var storedTask = target[XHR_TASK];\n if (!storedTask) {\n target[XHR_TASK] = task;\n }\n sendNative.apply(target, data.args);\n target[XHR_SCHEDULED] = true;\n return task;\n }\n function placeholderCallback() { }\n function clearTask(task) {\n var data = task.data;\n // Note - ideally, we would call data.target.removeEventListener here, but it's too late\n // to prevent it from firing. So instead, we store info for the event listener.\n data.aborted = true;\n return abortNative.apply(data.target, data.args);\n }\n var openNative = patchMethod(XMLHttpRequestPrototype, 'open', function () { return function (self, args) {\n self[XHR_SYNC] = args[2] == false;\n self[XHR_URL] = args[1];\n return openNative.apply(self, args);\n }; });\n var XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send';\n var fetchTaskAborting = zoneSymbol('fetchTaskAborting');\n var fetchTaskScheduling = zoneSymbol('fetchTaskScheduling');\n var sendNative = patchMethod(XMLHttpRequestPrototype, 'send', function () { return function (self, args) {\n if (Zone.current[fetchTaskScheduling] === true) {\n // a fetch is scheduling, so we are using xhr to polyfill fetch\n // and because we already schedule macroTask for fetch, we should\n // not schedule a macroTask for xhr again\n return sendNative.apply(self, args);\n }\n if (self[XHR_SYNC]) {\n // if the XHR is sync there is no task to schedule, just execute the code.\n return sendNative.apply(self, args);\n }\n else {\n var options = { target: self, url: self[XHR_URL], isPeriodic: false, args: args, aborted: false };\n var task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);\n if (self && self[XHR_ERROR_BEFORE_SCHEDULED] === true && !options.aborted &&\n task.state === SCHEDULED) {\n // xhr request throw error when send\n // we should invoke task instead of leaving a scheduled\n // pending macroTask\n task.invoke();\n }\n }\n }; });\n var abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', function () { return function (self, args) {\n var task = findPendingTask(self);\n if (task && typeof task.type == 'string') {\n // If the XHR has already completed, do nothing.\n // If the XHR has already been aborted, do nothing.\n // Fix #569, call abort multiple times before done will cause\n // macroTask task count be negative number\n if (task.cancelFn == null || (task.data && task.data.aborted)) {\n return;\n }\n task.zone.cancelTask(task);\n }\n else if (Zone.current[fetchTaskAborting] === true) {\n // the abort is called from fetch polyfill, we need to call native abort of XHR.\n return abortNative.apply(self, args);\n }\n // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no\n // task\n // to cancel. Do nothing.\n }; });\n }\n });\n Zone.__load_patch('geolocation', function (global) {\n /// GEO_LOCATION\n if (global['navigator'] && global['navigator'].geolocation) {\n patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n }\n });\n Zone.__load_patch('PromiseRejectionEvent', function (global, Zone) {\n // handle unhandled promise rejection\n function findPromiseRejectionHandler(evtName) {\n return function (e) {\n var eventTasks = findEventTasks(global, evtName);\n eventTasks.forEach(function (eventTask) {\n // windows has added unhandledrejection event listener\n // trigger the event listener\n var PromiseRejectionEvent = global['PromiseRejectionEvent'];\n if (PromiseRejectionEvent) {\n var evt = new PromiseRejectionEvent(evtName, { promise: e.promise, reason: e.rejection });\n eventTask.invoke(evt);\n }\n });\n };\n }\n if (global['PromiseRejectionEvent']) {\n Zone[zoneSymbol('unhandledPromiseRejectionHandler')] =\n findPromiseRejectionHandler('unhandledrejection');\n Zone[zoneSymbol('rejectionHandledHandler')] =\n findPromiseRejectionHandler('rejectionhandled');\n }\n });\n})));\n","var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob()\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n}\n\nfunction isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nif (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n}\n\nfunction normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n}\n\nfunction normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n}\n\n// Build a destructive iterator for the value list\nfunction iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n}\n\nexport function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n}\n\nHeaders.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue + ', ' + value : value\n}\n\nHeaders.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n}\n\nHeaders.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n}\n\nHeaders.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n}\n\nHeaders.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n}\n\nHeaders.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n}\n\nHeaders.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push(name)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.values = function() {\n var items = []\n this.forEach(function(value) {\n items.push(value)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push([name, value])\n })\n return iteratorFor(items)\n}\n\nif (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n}\n\nfunction consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n}\n\nfunction fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n}\n\nfunction readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nfunction readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nfunction readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n}\n\nfunction bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n}\n\nfunction Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n this._bodyText = body = Object.prototype.toString.call(body)\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n}\n\n// HTTP methods whose capitalization should be normalized\nvar methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\nfunction normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return methods.indexOf(upcased) > -1 ? upcased : method\n}\n\nexport function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n this.signal = input.signal\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.signal = options.signal || this.signal\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n}\n\nRequest.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n}\n\nfunction decode(body) {\n var form = new FormData()\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nfunction parseHeaders(rawHeaders) {\n var headers = new Headers()\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n}\n\nBody.call(Request.prototype)\n\nexport function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = options.status === undefined ? 200 : options.status\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n}\n\nBody.call(Response.prototype)\n\nResponse.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n}\n\nResponse.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n}\n\nvar redirectStatuses = [301, 302, 303, 307, 308]\n\nResponse.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n}\n\nexport var DOMException = self.DOMException\ntry {\n new DOMException()\n} catch (err) {\n DOMException = function(message, name) {\n this.message = message\n this.name = name\n var error = Error(message)\n this.stack = error.stack\n }\n DOMException.prototype = Object.create(Error.prototype)\n DOMException.prototype.constructor = DOMException\n}\n\nexport function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n\n if (request.signal && request.signal.aborted) {\n return reject(new DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest()\n\n function abortXhr() {\n xhr.abort()\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.onabort = function() {\n reject(new DOMException('Aborted', 'AbortError'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr)\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr)\n }\n }\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n}\n\nfetch.polyfill = true\n\nif (!self.fetch) {\n self.fetch = fetch\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n}\n","/**\n * @file Web Cryptography API shim\n * @author Artem S Vybornov \n * @license MIT\n */\n(function (global, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define([], function () {\n return factory(global);\n });\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports\n module.exports = factory(global);\n } else {\n factory(global);\n }\n}(typeof self !== 'undefined' ? self : this, function (global) {\n 'use strict';\n\n if ( typeof Promise !== 'function' )\n throw \"Promise support required\";\n\n var _crypto = global.crypto || global.msCrypto;\n if ( !_crypto ) return;\n\n var _subtle = _crypto.subtle || _crypto.webkitSubtle;\n if ( !_subtle ) return;\n\n var _Crypto = global.Crypto || _crypto.constructor || Object,\n _SubtleCrypto = global.SubtleCrypto || _subtle.constructor || Object,\n _CryptoKey = global.CryptoKey || global.Key || Object;\n\n var isEdge = global.navigator.userAgent.indexOf('Edge/') > -1;\n var isIE = !!global.msCrypto && !isEdge;\n var isWebkit = !_crypto.subtle && !!_crypto.webkitSubtle;\n if ( !isIE && !isWebkit ) return;\n\n function s2a ( s ) {\n return btoa(s).replace(/\\=+$/, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n }\n\n function a2s ( s ) {\n s += '===', s = s.slice( 0, -s.length % 4 );\n return atob( s.replace(/-/g, '+').replace(/_/g, '/') );\n }\n\n function s2b ( s ) {\n var b = new Uint8Array(s.length);\n for ( var i = 0; i < s.length; i++ ) b[i] = s.charCodeAt(i);\n return b;\n }\n\n function b2s ( b ) {\n if ( b instanceof ArrayBuffer ) b = new Uint8Array(b);\n return String.fromCharCode.apply( String, b );\n }\n\n function alg ( a ) {\n var r = { 'name': (a.name || a || '').toUpperCase().replace('V','v') };\n switch ( r.name ) {\n case 'SHA-1':\n case 'SHA-256':\n case 'SHA-384':\n case 'SHA-512':\n break;\n case 'AES-CBC':\n case 'AES-GCM':\n case 'AES-KW':\n if ( a.length ) r['length'] = a.length;\n break;\n case 'HMAC':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.length ) r['length'] = a.length;\n break;\n case 'RSAES-PKCS1-v1_5':\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n case 'RSASSA-PKCS1-v1_5':\n case 'RSA-OAEP':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n default:\n throw new SyntaxError(\"Bad algorithm name\");\n }\n return r;\n };\n\n function jwkAlg ( a ) {\n return {\n 'HMAC': {\n 'SHA-1': 'HS1',\n 'SHA-256': 'HS256',\n 'SHA-384': 'HS384',\n 'SHA-512': 'HS512',\n },\n 'RSASSA-PKCS1-v1_5': {\n 'SHA-1': 'RS1',\n 'SHA-256': 'RS256',\n 'SHA-384': 'RS384',\n 'SHA-512': 'RS512',\n },\n 'RSAES-PKCS1-v1_5': {\n '': 'RSA1_5',\n },\n 'RSA-OAEP': {\n 'SHA-1': 'RSA-OAEP',\n 'SHA-256': 'RSA-OAEP-256',\n },\n 'AES-KW': {\n '128': 'A128KW',\n '192': 'A192KW',\n '256': 'A256KW',\n },\n 'AES-GCM': {\n '128': 'A128GCM',\n '192': 'A192GCM',\n '256': 'A256GCM',\n },\n 'AES-CBC': {\n '128': 'A128CBC',\n '192': 'A192CBC',\n '256': 'A256CBC',\n },\n }[a.name][ ( a.hash || {} ).name || a.length || '' ];\n }\n\n function b2jwk ( k ) {\n if ( k instanceof ArrayBuffer || k instanceof Uint8Array ) k = JSON.parse( decodeURIComponent( escape( b2s(k) ) ) );\n var jwk = { 'kty': k.kty, 'alg': k.alg, 'ext': k.ext || k.extractable };\n switch ( jwk.kty ) {\n case 'oct':\n jwk.k = k.k;\n case 'RSA':\n [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi', 'oth' ].forEach( function ( x ) { if ( x in k ) jwk[x] = k[x] } );\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2b ( k ) {\n var jwk = b2jwk(k);\n if ( isIE ) jwk['extractable'] = jwk.ext, delete jwk.ext;\n return s2b( unescape( encodeURIComponent( JSON.stringify(jwk) ) ) ).buffer;\n }\n\n function pkcs2jwk ( k ) {\n var info = b2der(k), prv = false;\n if ( info.length > 2 ) prv = true, info.shift(); // remove version from PKCS#8 PrivateKeyInfo structure\n var jwk = { 'ext': true };\n switch ( info[0][0] ) {\n case '1.2.840.113549.1.1.1':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = b2der( info[1] );\n if ( prv ) rsaKey.shift(); // remove version from PKCS#1 RSAPrivateKey structure\n for ( var i = 0; i < rsaKey.length; i++ ) {\n if ( !rsaKey[i][0] ) rsaKey[i] = rsaKey[i].subarray(1);\n jwk[ rsaComp[i] ] = s2a( b2s( rsaKey[i] ) );\n }\n jwk['kty'] = 'RSA';\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2pkcs ( k ) {\n var key, info = [ [ '', null ] ], prv = false;\n switch ( k.kty ) {\n case 'RSA':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = [];\n for ( var i = 0; i < rsaComp.length; i++ ) {\n if ( !( rsaComp[i] in k ) ) break;\n var b = rsaKey[i] = s2b( a2s( k[ rsaComp[i] ] ) );\n if ( b[0] & 0x80 ) rsaKey[i] = new Uint8Array(b.length + 1), rsaKey[i].set( b, 1 );\n }\n if ( rsaKey.length > 2 ) prv = true, rsaKey.unshift( new Uint8Array([0]) ); // add version to PKCS#1 RSAPrivateKey structure\n info[0][0] = '1.2.840.113549.1.1.1';\n key = rsaKey;\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n info.push( new Uint8Array( der2b(key) ).buffer );\n if ( !prv ) info[1] = { 'tag': 0x03, 'value': info[1] };\n else info.unshift( new Uint8Array([0]) ); // add version to PKCS#8 PrivateKeyInfo structure\n return new Uint8Array( der2b(info) ).buffer;\n }\n\n var oid2str = { 'KoZIhvcNAQEB': '1.2.840.113549.1.1.1' },\n str2oid = { '1.2.840.113549.1.1.1': 'KoZIhvcNAQEB' };\n\n function b2der ( buf, ctx ) {\n if ( buf instanceof ArrayBuffer ) buf = new Uint8Array(buf);\n if ( !ctx ) ctx = { pos: 0, end: buf.length };\n\n if ( ctx.end - ctx.pos < 2 || ctx.end > buf.length ) throw new RangeError(\"Malformed DER\");\n\n var tag = buf[ctx.pos++],\n len = buf[ctx.pos++];\n\n if ( len >= 0x80 ) {\n len &= 0x7f;\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n for ( var xlen = 0; len--; ) xlen <<= 8, xlen |= buf[ctx.pos++];\n len = xlen;\n }\n\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n\n var rv;\n\n switch ( tag ) {\n case 0x02: // Universal Primitive INTEGER\n rv = buf.subarray( ctx.pos, ctx.pos += len );\n break;\n case 0x03: // Universal Primitive BIT STRING\n if ( buf[ctx.pos++] ) throw new Error( \"Unsupported bit string\" );\n len--;\n case 0x04: // Universal Primitive OCTET STRING\n rv = new Uint8Array( buf.subarray( ctx.pos, ctx.pos += len ) ).buffer;\n break;\n case 0x05: // Universal Primitive NULL\n rv = null;\n break;\n case 0x06: // Universal Primitive OBJECT IDENTIFIER\n var oid = btoa( b2s( buf.subarray( ctx.pos, ctx.pos += len ) ) );\n if ( !( oid in oid2str ) ) throw new Error( \"Unsupported OBJECT ID \" + oid );\n rv = oid2str[oid];\n break;\n case 0x30: // Universal Constructed SEQUENCE\n rv = [];\n for ( var end = ctx.pos + len; ctx.pos < end; ) rv.push( b2der( buf, ctx ) );\n break;\n default:\n throw new Error( \"Unsupported DER tag 0x\" + tag.toString(16) );\n }\n\n return rv;\n }\n\n function der2b ( val, buf ) {\n if ( !buf ) buf = [];\n\n var tag = 0, len = 0,\n pos = buf.length + 2;\n\n buf.push( 0, 0 ); // placeholder\n\n if ( val instanceof Uint8Array ) { // Universal Primitive INTEGER\n tag = 0x02, len = val.length;\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val instanceof ArrayBuffer ) { // Universal Primitive OCTET STRING\n tag = 0x04, len = val.byteLength, val = new Uint8Array(val);\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val === null ) { // Universal Primitive NULL\n tag = 0x05, len = 0;\n }\n else if ( typeof val === 'string' && val in str2oid ) { // Universal Primitive OBJECT IDENTIFIER\n var oid = s2b( atob( str2oid[val] ) );\n tag = 0x06, len = oid.length;\n for ( var i = 0; i < len; i++ ) buf.push( oid[i] );\n }\n else if ( val instanceof Array ) { // Universal Constructed SEQUENCE\n for ( var i = 0; i < val.length; i++ ) der2b( val[i], buf );\n tag = 0x30, len = buf.length - pos;\n }\n else if ( typeof val === 'object' && val.tag === 0x03 && val.value instanceof ArrayBuffer ) { // Tag hint\n val = new Uint8Array(val.value), tag = 0x03, len = val.byteLength;\n buf.push(0); for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n len++;\n }\n else {\n throw new Error( \"Unsupported DER value \" + val );\n }\n\n if ( len >= 0x80 ) {\n var xlen = len, len = 4;\n buf.splice( pos, 0, (xlen >> 24) & 0xff, (xlen >> 16) & 0xff, (xlen >> 8) & 0xff, xlen & 0xff );\n while ( len > 1 && !(xlen >> 24) ) xlen <<= 8, len--;\n if ( len < 4 ) buf.splice( pos, 4 - len );\n len |= 0x80;\n }\n\n buf.splice( pos - 2, 2, tag, len );\n\n return buf;\n }\n\n function CryptoKey ( key, alg, ext, use ) {\n Object.defineProperties( this, {\n _key: {\n value: key\n },\n type: {\n value: key.type,\n enumerable: true,\n },\n extractable: {\n value: (ext === undefined) ? key.extractable : ext,\n enumerable: true,\n },\n algorithm: {\n value: (alg === undefined) ? key.algorithm : alg,\n enumerable: true,\n },\n usages: {\n value: (use === undefined) ? key.usages : use,\n enumerable: true,\n },\n });\n }\n\n function isPubKeyUse ( u ) {\n return u === 'verify' || u === 'encrypt' || u === 'wrapKey';\n }\n\n function isPrvKeyUse ( u ) {\n return u === 'sign' || u === 'decrypt' || u === 'unwrapKey';\n }\n\n [ 'generateKey', 'importKey', 'unwrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments),\n ka, kx, ku;\n\n switch ( m ) {\n case 'generateKey':\n ka = alg(a), kx = b, ku = c;\n break;\n case 'importKey':\n ka = alg(c), kx = args[3], ku = args[4];\n if ( a === 'jwk' ) {\n b = b2jwk(b);\n if ( !b.alg ) b.alg = jwkAlg(ka);\n if ( !b.key_ops ) b.key_ops = ( b.kty !== 'oct' ) ? ( 'd' in b ) ? ku.filter(isPrvKeyUse) : ku.filter(isPubKeyUse) : ku.slice();\n args[1] = jwk2b(b);\n }\n break;\n case 'unwrapKey':\n ka = args[4], kx = args[5], ku = args[6];\n args[2] = c._key;\n break;\n }\n\n if ( m === 'generateKey' && ka.name === 'HMAC' && ka.hash ) {\n ka.length = ka.length || { 'SHA-1': 512, 'SHA-256': 512, 'SHA-384': 1024, 'SHA-512': 1024 }[ka.hash.name];\n return _subtle.importKey( 'raw', _crypto.getRandomValues( new Uint8Array( (ka.length+7)>>3 ) ), ka, kx, ku );\n }\n\n if ( isWebkit && m === 'generateKey' && ka.name === 'RSASSA-PKCS1-v1_5' && ( !ka.modulusLength || ka.modulusLength >= 2048 ) ) {\n a = alg(a), a.name = 'RSAES-PKCS1-v1_5', delete a.hash;\n return _subtle.generateKey( a, true, [ 'encrypt', 'decrypt' ] )\n .then( function ( k ) {\n return Promise.all([\n _subtle.exportKey( 'jwk', k.publicKey ),\n _subtle.exportKey( 'jwk', k.privateKey ),\n ]);\n })\n .then( function ( keys ) {\n keys[0].alg = keys[1].alg = jwkAlg(ka);\n keys[0].key_ops = ku.filter(isPubKeyUse), keys[1].key_ops = ku.filter(isPrvKeyUse);\n return Promise.all([\n _subtle.importKey( 'jwk', keys[0], ka, true, keys[0].key_ops ),\n _subtle.importKey( 'jwk', keys[1], ka, kx, keys[1].key_ops ),\n ]);\n })\n .then( function ( keys ) {\n return {\n publicKey: keys[0],\n privateKey: keys[1],\n };\n });\n }\n\n if ( ( isWebkit || ( isIE && ( ka.hash || {} ).name === 'SHA-1' ) )\n && m === 'importKey' && a === 'jwk' && ka.name === 'HMAC' && b.kty === 'oct' ) {\n return _subtle.importKey( 'raw', s2b( a2s(b.k) ), c, args[3], args[4] );\n }\n\n if ( isWebkit && m === 'importKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n return _subtle.importKey( 'jwk', pkcs2jwk(b), c, args[3], args[4] );\n }\n\n if ( isIE && m === 'unwrapKey' ) {\n return _subtle.decrypt( args[3], c, b )\n .then( function ( k ) {\n return _subtle.importKey( a, k, args[4], args[5], args[6] );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n op = op.then( function ( k ) {\n if ( ka.name === 'HMAC' ) {\n if ( !ka.length ) ka.length = 8 * k.algorithm.length;\n }\n if ( ka.name.search('RSA') == 0 ) {\n if ( !ka.modulusLength ) ka.modulusLength = (k.publicKey || k).algorithm.modulusLength;\n if ( !ka.publicExponent ) ka.publicExponent = (k.publicKey || k).algorithm.publicExponent;\n }\n if ( k.publicKey && k.privateKey ) {\n k = {\n publicKey: new CryptoKey( k.publicKey, ka, kx, ku.filter(isPubKeyUse) ),\n privateKey: new CryptoKey( k.privateKey, ka, kx, ku.filter(isPrvKeyUse) ),\n };\n }\n else {\n k = new CryptoKey( k, ka, kx, ku );\n }\n return k;\n });\n\n return op;\n }\n });\n\n [ 'exportKey', 'wrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments);\n\n switch ( m ) {\n case 'exportKey':\n args[1] = b._key;\n break;\n case 'wrapKey':\n args[1] = b._key, args[2] = c._key;\n break;\n }\n\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && m === 'exportKey' && a === 'jwk' && b.algorithm.name === 'HMAC' ) {\n args[0] = 'raw';\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n args[0] = 'jwk';\n }\n\n if ( isIE && m === 'wrapKey' ) {\n return _subtle.exportKey( a, b )\n .then( function ( k ) {\n if ( a === 'jwk' ) k = s2b( unescape( encodeURIComponent( JSON.stringify( b2jwk(k) ) ) ) );\n return _subtle.encrypt( args[3], c, k );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n if ( m === 'exportKey' && a === 'jwk' ) {\n op = op.then( function ( k ) {\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && b.algorithm.name === 'HMAC') {\n return { 'kty': 'oct', 'alg': jwkAlg(b.algorithm), 'key_ops': b.usages.slice(), 'ext': true, 'k': s2a( b2s(k) ) };\n }\n k = b2jwk(k);\n if ( !k.alg ) k['alg'] = jwkAlg(b.algorithm);\n if ( !k.key_ops ) k['key_ops'] = ( b.type === 'public' ) ? b.usages.filter(isPubKeyUse) : ( b.type === 'private' ) ? b.usages.filter(isPrvKeyUse) : b.usages.slice();\n return k;\n });\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n op = op.then( function ( k ) {\n k = jwk2pkcs( b2jwk(k) );\n return k;\n });\n }\n\n return op;\n }\n });\n\n [ 'encrypt', 'decrypt', 'sign', 'verify' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c, d ) {\n if ( isIE && ( !c.byteLength || ( d && !d.byteLength ) ) )\n throw new Error(\"Empy input is not allowed\");\n\n var args = [].slice.call(arguments),\n ka = alg(a);\n\n if ( isIE && m === 'decrypt' && ka.name === 'AES-GCM' ) {\n var tl = a.tagLength >> 3;\n args[2] = (c.buffer || c).slice( 0, c.byteLength - tl ),\n a.tag = (c.buffer || c).slice( c.byteLength - tl );\n }\n\n args[1] = b._key;\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) {\n rej(e);\n };\n\n op.oncomplete = function ( r ) {\n var r = r.target.result;\n\n if ( m === 'encrypt' && r instanceof AesGcmEncryptResult ) {\n var c = r.ciphertext, t = r.tag;\n r = new Uint8Array( c.byteLength + t.byteLength );\n r.set( new Uint8Array(c), 0 );\n r.set( new Uint8Array(t), c.byteLength );\n r = r.buffer;\n }\n\n res(r);\n };\n });\n }\n\n return op;\n }\n });\n\n if ( isIE ) {\n var _digest = _subtle.digest;\n\n _subtle['digest'] = function ( a, b ) {\n if ( !b.byteLength )\n throw new Error(\"Empy input is not allowed\");\n\n var op;\n try {\n op = _digest.call( _subtle, a, b );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n\n return op;\n };\n\n global.crypto = Object.create( _crypto, {\n getRandomValues: { value: function ( a ) { return _crypto.getRandomValues(a) } },\n subtle: { value: _subtle },\n });\n\n global.CryptoKey = CryptoKey;\n }\n\n if ( isWebkit ) {\n _crypto.subtle = _subtle;\n\n global.Crypto = _Crypto;\n global.SubtleCrypto = _SubtleCrypto;\n global.CryptoKey = CryptoKey;\n }\n}));\n"],"sourceRoot":""} \ No newline at end of file diff --git a/app/polyfills.c95e488578c8d271f566.js b/app/polyfills.c95e488578c8d271f566.js deleted file mode 100644 index 770286db..00000000 --- a/app/polyfills.c95e488578c8d271f566.js +++ /dev/null @@ -1,152 +0,0 @@ -!function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=715)}([,,function(t,e,n){var r=n(19),o=n(54),i=n(55),a=n(50),u=n(62),c=function(t,e,n){var s,f,l,h,p=t&c.F,v=t&c.G,d=t&c.S,y=t&c.P,g=t&c.B,b=v?r:d?r[e]||(r[e]={}):(r[e]||{}).prototype,m=v?o:o[e]||(o[e]={}),_=m.prototype||(m.prototype={});for(s in v&&(n=e),n)l=((f=!p&&b&&void 0!==b[s])?b:n)[s],h=g&&f?u(l,r):y&&"function"==typeof l?u(Function.call,l):l,b&&a(b,s,l,t&c.U),m[s]!=l&&i(m,s,h),y&&_[s]!=l&&(_[s]=l)};r.core=o,c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,t.exports=c},,,,,,,,,,,,function(t,e,n){var r=n(21);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},,,,,function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},,,,,,function(t,e,n){var r=n(128)("wks"),o=n(88),i=n(19).Symbol,a="function"==typeof i;(t.exports=function(t){return r[t]||(r[t]=a&&i[t]||(a?i:o)("Symbol."+t))}).store=r},,,,function(t,e,n){var r=n(63),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},,function(t,e,n){var r=n(14),o=n(216),i=n(74),a=Object.defineProperty;e.f=n(34)?Object.defineProperty:function(t,e,n){if(r(t),e=i(e,!0),r(n),o)try{return a(t,e,n)}catch(u){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){t.exports=!n(20)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},,,,,,,,function(t,e,n){var r=n(75);t.exports=function(t){return Object(r(t))}},,,,,function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,n){var r=n(2),o=n(20),i=n(75),a=/"/g,u=function(t,e,n,r){var o=String(i(t)),u="<"+e;return""!==n&&(u+=" "+n+'="'+String(r).replace(a,""")+'"'),u+">"+o+""};t.exports=function(t,e){var n={};n[t]=e(u),r(r.P+r.F*o(function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3}),"String",n)}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(19),o=n(55),i=n(49),a=n(88)("src"),u=Function.toString,c=(""+u).split("toString");n(54).inspectSource=function(t){return u.call(t)},(t.exports=function(t,e,n,u){var s="function"==typeof n;s&&(i(n,"name")||o(n,"name",e)),t[e]!==n&&(s&&(i(n,a)||o(n,a,t[e]?""+t[e]:c.join(String(e)))),t===r?t[e]=n:u?t[e]?t[e]=n:o(t,e,n):(delete t[e],o(t,e,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[a]||u.call(this)})},function(t,e,n){var r=n(113),o=n(75);t.exports=function(t){return r(o(t))}},,,function(t,e){var n=t.exports={version:"2.6.2"};"number"==typeof __e&&(__e=n)},function(t,e,n){var r=n(33),o=n(84);t.exports=n(34)?function(t,e,n){return r.f(t,e,o(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var r=n(49),o=n(42),i=n(168)("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=o(t),r(t,i)?t[i]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},,,function(t,e,n){var r=n(122),o=n(84),i=n(51),a=n(74),u=n(49),c=n(216),s=Object.getOwnPropertyDescriptor;e.f=n(34)?s:function(t,e){if(t=i(t),e=a(e,!0),c)try{return s(t,e)}catch(n){}if(u(t,e))return o(!r.f.call(t,e),t[e])}},function(t,e,n){"use strict";var r=n(20);t.exports=function(t,e){return!!t&&r(function(){e?t.call(null,function(){},1):t.call(null)})}},,function(t,e,n){var r=n(47);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},,,function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,n){var r=n(2),o=n(54),i=n(20);t.exports=function(t,e){var n=(o.Object||{})[t]||Object[t],a={};a[t]=e(n),r(r.S+r.F*i(function(){n(1)}),"Object",a)}},function(t,e,n){var r=n(62),o=n(113),i=n(42),a=n(31),u=n(230);t.exports=function(t,e){var n=1==t,c=2==t,s=3==t,f=4==t,l=6==t,h=5==t||l,p=e||u;return function(e,u,v){for(var d,y,g=i(e),b=o(g),m=r(u,v,3),_=a(b.length),w=0,S=n?p(e,_):c?p(e,0):void 0;_>w;w++)if((h||w in b)&&(y=m(d=b[w],w,g),t))if(n)S[w]=y;else if(y)switch(t){case 3:return!0;case 5:return d;case 6:return w;case 2:S.push(d)}else if(f)return!1;return l?-1:s||f?f:S}}},,,,,,function(t,e,n){var r=n(21);t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){"use strict";if(n(34)){var r=n(85),o=n(19),i=n(20),a=n(2),u=n(135),c=n(183),s=n(62),f=n(97),l=n(84),h=n(55),p=n(99),v=n(63),d=n(31),y=n(241),g=n(90),b=n(74),m=n(49),_=n(94),w=n(21),S=n(42),k=n(179),E=n(82),x=n(56),T=n(91).f,O=n(130),P=n(88),A=n(27),j=n(68),M=n(147),I=n(124),C=n(200),R=n(106),D=n(131),F=n(96),N=n(180),Z=n(232),L=n(33),B=n(59),U=L.f,z=B.f,H=o.RangeError,W=o.TypeError,K=o.Uint8Array,G=Array.prototype,q=c.ArrayBuffer,V=c.DataView,X=j(0),Y=j(2),J=j(3),$=j(4),Q=j(5),tt=j(6),et=M(!0),nt=M(!1),rt=C.values,ot=C.keys,it=C.entries,at=G.lastIndexOf,ut=G.reduce,ct=G.reduceRight,st=G.join,ft=G.sort,lt=G.slice,ht=G.toString,pt=G.toLocaleString,vt=A("iterator"),dt=A("toStringTag"),yt=P("typed_constructor"),gt=P("def_constructor"),bt=u.CONSTR,mt=u.TYPED,_t=u.VIEW,wt=j(1,function(t,e){return Tt(I(t,t[gt]),e)}),St=i(function(){return 1===new K(new Uint16Array([1]).buffer)[0]}),kt=!!K&&!!K.prototype.set&&i(function(){new K(1).set({})}),Et=function(t,e){var n=v(t);if(n<0||n%e)throw H("Wrong offset!");return n},xt=function(t){if(w(t)&&mt in t)return t;throw W(t+" is not a typed array!")},Tt=function(t,e){if(!(w(t)&&yt in t))throw W("It is not a typed array constructor!");return new t(e)},Ot=function(t,e){return Pt(I(t,t[gt]),e)},Pt=function(t,e){for(var n=0,r=e.length,o=Tt(t,r);r>n;)o[n]=e[n++];return o},At=function(t,e,n){U(t,e,{get:function(){return this._d[n]}})},jt=function(t){var e,n,r,o,i,a,u=S(t),c=arguments.length,f=c>1?arguments[1]:void 0,l=void 0!==f,h=O(u);if(null!=h&&!k(h)){for(a=h.call(u),r=[],e=0;!(i=a.next()).done;e++)r.push(i.value);u=r}for(l&&c>2&&(f=s(f,arguments[2],2)),e=0,n=d(u.length),o=Tt(this,n);n>e;e++)o[e]=l?f(u[e],e):u[e];return o},Mt=function(){for(var t=0,e=arguments.length,n=Tt(this,e);e>t;)n[t]=arguments[t++];return n},It=!!K&&i(function(){pt.call(new K(1))}),Ct=function(){return pt.apply(It?lt.call(xt(this)):xt(this),arguments)},Rt={copyWithin:function(t,e){return Z.call(xt(this),t,e,arguments.length>2?arguments[2]:void 0)},every:function(t){return $(xt(this),t,arguments.length>1?arguments[1]:void 0)},fill:function(t){return N.apply(xt(this),arguments)},filter:function(t){return Ot(this,Y(xt(this),t,arguments.length>1?arguments[1]:void 0))},find:function(t){return Q(xt(this),t,arguments.length>1?arguments[1]:void 0)},findIndex:function(t){return tt(xt(this),t,arguments.length>1?arguments[1]:void 0)},forEach:function(t){X(xt(this),t,arguments.length>1?arguments[1]:void 0)},indexOf:function(t){return nt(xt(this),t,arguments.length>1?arguments[1]:void 0)},includes:function(t){return et(xt(this),t,arguments.length>1?arguments[1]:void 0)},join:function(t){return st.apply(xt(this),arguments)},lastIndexOf:function(t){return at.apply(xt(this),arguments)},map:function(t){return wt(xt(this),t,arguments.length>1?arguments[1]:void 0)},reduce:function(t){return ut.apply(xt(this),arguments)},reduceRight:function(t){return ct.apply(xt(this),arguments)},reverse:function(){for(var t,e=xt(this).length,n=Math.floor(e/2),r=0;r1?arguments[1]:void 0)},sort:function(t){return ft.call(xt(this),t)},subarray:function(t,e){var n=xt(this),r=n.length,o=g(t,r);return new(I(n,n[gt]))(n.buffer,n.byteOffset+o*n.BYTES_PER_ELEMENT,d((void 0===e?r:g(e,r))-o))}},Dt=function(t,e){return Ot(this,lt.call(xt(this),t,e))},Ft=function(t){xt(this);var e=Et(arguments[1],1),n=this.length,r=S(t),o=d(r.length),i=0;if(o+e>n)throw H("Wrong length!");for(;i255?255:255&r),o.v[p](n*e+o.o,r,St)}(this,n,t)},enumerable:!0})};m?(v=n(function(t,n,r,o){f(t,v,s,"_d");var i,a,u,c,l=0,p=0;if(w(n)){if(!(n instanceof q||"ArrayBuffer"==(c=_(n))||"SharedArrayBuffer"==c))return mt in n?Pt(v,n):jt.call(v,n);i=n,p=Et(r,e);var g=n.byteLength;if(void 0===o){if(g%e)throw H("Wrong length!");if((a=g-p)<0)throw H("Wrong length!")}else if((a=d(o)*e)+p>g)throw H("Wrong length!");u=a/e}else u=y(n),i=new q(a=u*e);for(h(t,"_d",{b:i,o:p,l:a,e:u,v:new V(i)});ldocument.F=Object<\/script>"),t.close(),c=t.F;r--;)delete c.prototype[i[r]];return c()};t.exports=Object.create||function(t,e){var n;return null!==t?(u.prototype=r(t),n=new u,u.prototype=null,n[a]=t):n=c(),void 0===e?n:o(n,e)}},,function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){t.exports=!1},,,function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e,n){var r=n(219),o=n(169);t.exports=Object.keys||function(t){return r(t,o)}},function(t,e,n){var r=n(63),o=Math.max,i=Math.min;t.exports=function(t,e){return(t=r(t))<0?o(t+e,0):i(t,e)}},function(t,e,n){var r=n(219),o=n(169).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},,,function(t,e,n){var r=n(66),o=n(27)("toStringTag"),i="Arguments"==r(function(){return arguments}());t.exports=function(t){var e,n,a;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(n){}}(e=Object(t),o))?n:i?r(e):"Object"==(a=r(e))&&"function"==typeof e.callee?"Arguments":a}},function(t,e,n){var r=n(27)("unscopables"),o=Array.prototype;null==o[r]&&n(55)(o,r,{}),t.exports=function(t){o[r][t]=!0}},function(t,e,n){"use strict";var r=n(19),o=n(33),i=n(34),a=n(27)("species");t.exports=function(t){var e=r[t];i&&e&&!e[a]&&o.f(e,a,{configurable:!0,get:function(){return this}})}},function(t,e){t.exports=function(t,e,n,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(n+": incorrect invocation!");return t}},function(t,e,n){var r=n(62),o=n(229),i=n(179),a=n(14),u=n(31),c=n(130),s={},f={};(e=t.exports=function(t,e,n,l,h){var p,v,d,y,g=h?function(){return t}:c(t),b=r(n,l,e?2:1),m=0;if("function"!=typeof g)throw TypeError(t+" is not iterable!");if(i(g)){for(p=u(t.length);p>m;m++)if((y=e?b(a(v=t[m])[0],v[1]):b(t[m]))===s||y===f)return y}else for(d=g.call(t);!(v=d.next()).done;)if((y=o(d,b,v.value,e))===s||y===f)return y}).BREAK=s,e.RETURN=f},function(t,e,n){var r=n(50);t.exports=function(t,e,n){for(var o in e)r(t,o,e[o],n);return t}},,,,,,function(t,e,n){var r=n(33).f,o=n(49),i=n(27)("toStringTag");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,i)&&r(t,i,{configurable:!0,value:e})}},function(t,e){t.exports={}},function(t,e,n){var r=n(21);t.exports=function(t,e){if(!r(t)||t._t!==e)throw TypeError("Incompatible receiver, "+e+" required!");return t}},function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"==typeof window&&(n=window)}t.exports=n},,,,,function(t,e,n){var r=n(66);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e,n){var r=n(2),o=n(75),i=n(20),a=n(172),u="["+a+"]",c=RegExp("^"+u+u+"*"),s=RegExp(u+u+"*$"),f=function(t,e,n){var o={},u=i(function(){return!!a[t]()||"​…"!="​…"[t]()}),c=o[t]=u?e(l):a[t];n&&(o[n]=c),r(r.P+r.F*u,"String",o)},l=f.trim=function(t,e){return t=String(o(t)),1&e&&(t=t.replace(c,"")),2&e&&(t=t.replace(s,"")),t};t.exports=f},,,,,,,,function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){"use strict";var r=n(14);t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},function(t,e,n){var r=n(14),o=n(47),i=n(27)("species");t.exports=function(t,e){var n,a=r(t).constructor;return void 0===a||null==(n=r(a)[i])?e:o(n)}},,,,function(t,e,n){var r=n(54),o=n(19),i=o["__core-js_shared__"]||(o["__core-js_shared__"]={});(t.exports=function(t,e){return i[t]||(i[t]=void 0!==e?e:{})})("versions",[]).push({version:r.version,mode:n(85)?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,n){var r=n(94),o=n(27)("iterator"),i=n(106);t.exports=n(54).getIteratorMethod=function(t){if(null!=t)return t[o]||t["@@iterator"]||i[r(t)]}},function(t,e,n){var r=n(27)("iterator"),o=!1;try{var i=[7][r]();i.return=function(){o=!0},Array.from(i,function(){throw 2})}catch(a){}t.exports=function(t,e){if(!e&&!o)return!1;var n=!1;try{var i=[7],u=i[r]();u.next=function(){return{done:n=!0}},i[r]=function(){return u},t(i)}catch(a){}return n}},function(t,e,n){"use strict";var r=n(94),o=RegExp.prototype.exec;t.exports=function(t,e){var n=t.exec;if("function"==typeof n){var i=n.call(t,e);if("object"!=typeof i)throw new TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==r(t))throw new TypeError("RegExp#exec called on incompatible receiver");return o.call(t,e)}},function(t,e,n){"use strict";n(233);var r=n(50),o=n(55),i=n(20),a=n(75),u=n(27),c=n(181),s=u("species"),f=!i(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")}),l=function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var n="ab".split(t);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();t.exports=function(t,e,n){var h=u(t),p=!i(function(){var e={};return e[h]=function(){return 7},7!=""[t](e)}),v=p?!i(function(){var e=!1,n=/a/;return n.exec=function(){return e=!0,null},"split"===t&&(n.constructor={},n.constructor[s]=function(){return n}),n[h](""),!e}):void 0;if(!p||!v||"replace"===t&&!f||"split"===t&&!l){var d=/./[h],y=n(a,h,""[t],function(t,e,n,r,o){return e.exec===c?p&&!o?{done:!0,value:d.call(e,n,r)}:{done:!0,value:t.call(n,e,r)}:{done:!1}}),g=y[0],b=y[1];r(String.prototype,t,g),o(RegExp.prototype,h,2==e?function(t,e){return b.call(t,this,e)}:function(t){return b.call(t,this)})}}},function(t,e,n){"use strict";var r=n(19),o=n(2),i=n(50),a=n(99),u=n(81),c=n(98),s=n(97),f=n(21),l=n(20),h=n(131),p=n(105),v=n(173);t.exports=function(t,e,n,d,y,g){var b=r[t],m=b,_=y?"set":"add",w=m&&m.prototype,S={},k=function(t){var e=w[t];i(w,t,"delete"==t?function(t){return!(g&&!f(t))&&e.call(this,0===t?0:t)}:"has"==t?function(t){return!(g&&!f(t))&&e.call(this,0===t?0:t)}:"get"==t?function(t){return g&&!f(t)?void 0:e.call(this,0===t?0:t)}:"add"==t?function(t){return e.call(this,0===t?0:t),this}:function(t,n){return e.call(this,0===t?0:t,n),this})};if("function"==typeof m&&(g||w.forEach&&!l(function(){(new m).entries().next()}))){var E=new m,x=E[_](g?{}:-0,1)!=E,T=l(function(){E.has(1)}),O=h(function(t){new m(t)}),P=!g&&l(function(){for(var t=new m,e=5;e--;)t[_](e,e);return!t.has(-0)});O||((m=e(function(e,n){s(e,m,t);var r=v(new b,e,m);return null!=n&&c(n,y,r[_],r),r})).prototype=w,w.constructor=m),(T||P)&&(k("delete"),k("has"),y&&k("get")),(P||x)&&k(_),g&&w.clear&&delete w.clear}else m=d.getConstructor(e,t,y,_),a(m.prototype,n),u.NEED=!0;return p(m,t),S[t]=m,o(o.G+o.W+o.F*(m!=b),S),g||d.setStrong(m,t,y),m}},function(t,e,n){for(var r,o=n(19),i=n(55),a=n(88),u=a("typed_array"),c=a("view"),s=!(!o.ArrayBuffer||!o.DataView),f=s,l=0,h="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");l<9;)(r=o[h[l++]])?(i(r.prototype,u,!0),i(r.prototype,c,!0)):f=!1;t.exports={ABV:s,CONSTR:f,TYPED:u,VIEW:c}},,,,,,,,,,,,function(t,e,n){var r=n(51),o=n(31),i=n(90);t.exports=function(t){return function(e,n,a){var u,c=r(e),s=o(c.length),f=i(a,s);if(t&&n!=n){for(;s>f;)if((u=c[f++])!=u)return!0}else for(;s>f;f++)if((t||f in c)&&c[f]===n)return t||f||0;return!t&&-1}}},function(t,e,n){var r=n(66);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){var r=n(63),o=n(75);t.exports=function(t){return function(e,n){var i,a,u=String(o(e)),c=r(n),s=u.length;return c<0||c>=s?t?"":void 0:(i=u.charCodeAt(c))<55296||i>56319||c+1===s||(a=u.charCodeAt(c+1))<56320||a>57343?t?u.charAt(c):i:t?u.slice(c,c+2):a-56320+(i-55296<<10)+65536}}},function(t,e,n){"use strict";var r=n(85),o=n(2),i=n(50),a=n(55),u=n(106),c=n(176),s=n(105),f=n(56),l=n(27)("iterator"),h=!([].keys&&"next"in[].keys()),p=function(){return this};t.exports=function(t,e,n,v,d,y,g){c(n,e,v);var b,m,_,w=function(t){if(!h&&t in x)return x[t];switch(t){case"keys":case"values":return function(){return new n(this,t)}}return function(){return new n(this,t)}},S=e+" Iterator",k="values"==d,E=!1,x=t.prototype,T=x[l]||x["@@iterator"]||d&&x[d],O=T||w(d),P=d?k?w("entries"):O:void 0,A="Array"==e&&x.entries||T;if(A&&(_=f(A.call(new t)))!==Object.prototype&&_.next&&(s(_,S,!0),r||"function"==typeof _[l]||a(_,l,p)),k&&T&&"values"!==T.name&&(E=!0,O=function(){return T.call(this)}),r&&!g||!h&&!E&&x[l]||a(x,l,O),u[e]=O,u[S]=p,d)if(b={values:k?O:w("values"),keys:y?O:w("keys"),entries:P},g)for(m in b)m in x||i(x,m,b[m]);else o(o.P+o.F*(h||E),e,b);return b}},function(t,e,n){var r=n(21),o=n(66),i=n(27)("match");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[i])?!!e:"RegExp"==o(t))}},,,,,,,,,,,,,,,,function(t,e,n){var r=n(21),o=n(19).document,i=r(o)&&r(o.createElement);t.exports=function(t){return i?o.createElement(t):{}}},function(t,e,n){var r=n(128)("keys"),o=n(88);t.exports=function(t){return r[t]||(r[t]=o(t))}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){var r=n(19).document;t.exports=r&&r.documentElement},function(t,e,n){var r=n(21),o=n(14),i=function(t,e){if(o(t),!r(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,r){try{(r=n(62)(Function.call,n(59).f(Object.prototype,"__proto__").set,2))(t,[]),e=!(t instanceof Array)}catch(o){e=!0}return function(t,n){return i(t,n),e?t.__proto__=n:r(t,n),t}}({},!1):void 0),check:i}},function(t,e){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"},function(t,e,n){var r=n(21),o=n(171).set;t.exports=function(t,e,n){var i,a=e.constructor;return a!==n&&"function"==typeof a&&(i=a.prototype)!==n.prototype&&r(i)&&o&&o(t,i),t}},function(t,e){t.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:t<0?-1:1}},function(t,e){var n=Math.expm1;t.exports=!n||n(10)>22025.465794806718||n(10)<22025.465794806718||-2e-17!=n(-2e-17)?function(t){return 0==(t=+t)?t:t>-1e-6&&t<1e-6?t+t*t/2:Math.exp(t)-1}:n},function(t,e,n){"use strict";var r=n(82),o=n(84),i=n(105),a={};n(55)(a,n(27)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(a,{next:o(1,n)}),i(t,e+" Iterator")}},function(t,e,n){var r=n(151),o=n(75);t.exports=function(t,e,n){if(r(e))throw TypeError("String#"+n+" doesn't accept regex!");return String(o(t))}},function(t,e,n){var r=n(27)("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[r]=!1,!"/./"[t](e)}catch(o){}}return!0}},function(t,e,n){var r=n(106),o=n(27)("iterator"),i=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||i[o]===t)}},function(t,e,n){"use strict";var r=n(42),o=n(90),i=n(31);t.exports=function(t){for(var e=r(this),n=i(e.length),a=arguments.length,u=o(a>1?arguments[1]:void 0,n),c=a>2?arguments[2]:void 0,s=void 0===c?n:o(c,n);s>u;)e[u++]=t;return e}},function(t,e,n){"use strict";var r,o,i=n(123),a=RegExp.prototype.exec,u=String.prototype.replace,c=a,s=(r=/a/,o=/b*/g,a.call(r,"a"),a.call(o,"a"),0!==r.lastIndex||0!==o.lastIndex),f=void 0!==/()??/.exec("")[1];(s||f)&&(c=function(t){var e,n,r,o,c=this;return f&&(n=new RegExp("^"+c.source+"$(?!\\s)",i.call(c))),s&&(e=c.lastIndex),r=a.call(c,t),s&&r&&(c.lastIndex=c.global?r.index+r[0].length:e),f&&r&&r.length>1&&u.call(r[0],n,function(){for(o=1;o>1,f=23===e?O(2,-24)-O(2,-77):0,l=0,h=t<0||0===t&&1/t<0?1:0;for((t=T(t))!=t||t===E?(o=t!=t?1:0,r=c):(r=P(A(t)/j),t*(i=O(2,-r))<1&&(r--,i*=2),(t+=r+s>=1?f/i:f*O(2,1-s))*i>=2&&(r++,i/=2),r+s>=c?(o=0,r=c):r+s>=1?(o=(t*i-1)*O(2,e),r+=s):(o=t*O(2,s-1)*O(2,e),r=0));e>=8;a[l++]=255&o,o/=256,e-=8);for(r=r<0;a[l++]=255&r,r/=256,u-=8);return a[--l]|=128*h,a}function D(t,e,n){var r,o=8*n-e-1,i=(1<>1,u=o-7,c=n-1,s=t[c--],f=127&s;for(s>>=7;u>0;f=256*f+t[c],c--,u-=8);for(r=f&(1<<-u)-1,f>>=-u,u+=e;u>0;r=256*r+t[c],c--,u-=8);if(0===f)f=1-a;else{if(f===i)return r?NaN:s?-E:E;r+=O(2,e),f-=a}return(s?-1:1)*r*O(2,f-e)}function F(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]}function N(t){return[255&t]}function Z(t){return[255&t,t>>8&255]}function L(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]}function B(t){return R(t,52,8)}function U(t){return R(t,23,4)}function z(t,e,n){d(t[b],e,{get:function(){return this[n]}})}function H(t,e,n,r){var o=p(+n);if(o+e>t[I])throw k(m);var i=t[M]._b,a=o+t[C],u=i.slice(a,a+e);return r?u:u.reverse()}function W(t,e,n,r,o,i){var a=p(+n);if(a+e>t[I])throw k(m);for(var u=t[M]._b,c=a+t[C],s=r(+o),f=0;fV;)(K=q[V++])in _||u(_,K,x[K]);i||(G.constructor=_)}var X=new w(new _(2)),Y=w[b].setInt8;X.setInt8(0,2147483648),X.setInt8(1,2147483649),!X.getInt8(0)&&X.getInt8(1)||c(w[b],{setInt8:function(t,e){Y.call(this,t,e<<24>>24)},setUint8:function(t,e){Y.call(this,t,e<<24>>24)}},!0)}else _=function(t){f(this,_,"ArrayBuffer");var e=p(t);this._b=y.call(new Array(e),0),this[I]=e},w=function(t,e,n){f(this,w,"DataView"),f(t,_,"DataView");var r=t[I],o=l(e);if(o<0||o>r)throw k("Wrong offset!");if(o+(n=void 0===n?r-o:h(n))>r)throw k("Wrong length!");this[M]=t,this[C]=o,this[I]=n},o&&(z(_,"byteLength","_l"),z(w,"buffer","_b"),z(w,"byteLength","_l"),z(w,"byteOffset","_o")),c(w[b],{getInt8:function(t){return H(this,1,t)[0]<<24>>24},getUint8:function(t){return H(this,1,t)[0]},getInt16:function(t){var e=H(this,2,t,arguments[1]);return(e[1]<<8|e[0])<<16>>16},getUint16:function(t){var e=H(this,2,t,arguments[1]);return e[1]<<8|e[0]},getInt32:function(t){return F(H(this,4,t,arguments[1]))},getUint32:function(t){return F(H(this,4,t,arguments[1]))>>>0},getFloat32:function(t){return D(H(this,4,t,arguments[1]),23,4)},getFloat64:function(t){return D(H(this,8,t,arguments[1]),52,8)},setInt8:function(t,e){W(this,1,t,N,e)},setUint8:function(t,e){W(this,1,t,N,e)},setInt16:function(t,e){W(this,2,t,Z,e,arguments[2])},setUint16:function(t,e){W(this,2,t,Z,e,arguments[2])},setInt32:function(t,e){W(this,4,t,L,e,arguments[2])},setUint32:function(t,e){W(this,4,t,L,e,arguments[2])},setFloat32:function(t,e){W(this,4,t,U,e,arguments[2])},setFloat64:function(t,e){W(this,8,t,B,e,arguments[2])}});g(_,"ArrayBuffer"),g(w,"DataView"),u(w[b],a.VIEW,!0),e.ArrayBuffer=_,e.DataView=w},,,,,,,,,,,,,function(t,e,n){"use strict";var r=n(89),o=n(129),i=n(122),a=n(42),u=n(113),c=Object.assign;t.exports=!c||n(20)(function(){var t={},e={},n=Symbol(),r="abcdefghijklmnopqrst";return t[n]=7,r.split("").forEach(function(t){e[t]=t}),7!=c({},t)[n]||Object.keys(c({},e)).join("")!=r})?function(t,e){for(var n=a(t),c=arguments.length,s=1,f=o.f,l=i.f;c>s;)for(var h,p=u(arguments[s++]),v=f?r(p).concat(f(p)):r(p),d=v.length,y=0;d>y;)l.call(p,h=v[y++])&&(n[h]=p[h]);return n}:c},function(t,e){t.exports=function(t,e,n){var r=void 0===n;switch(e.length){case 0:return r?t():t.call(n);case 1:return r?t(e[0]):t.call(n,e[0]);case 2:return r?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return r?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return r?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},function(t,e,n){"use strict";var r=n(63),o=n(75);t.exports=function(t){var e=String(o(this)),n="",i=r(t);if(i<0||i==1/0)throw RangeError("Count can't be negative");for(;i>0;(i>>>=1)&&(e+=e))1&i&&(n+=e);return n}},function(t,e,n){"use strict";var r=n(33),o=n(84);t.exports=function(t,e,n){e in t?r.f(t,e,o(0,n)):t[e]=n}},function(t,e,n){"use strict";var r=n(95),o=n(201),i=n(106),a=n(51);t.exports=n(150)(Array,"Array",function(t,e){this._t=a(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,o(1)):o(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])},"values"),i.Arguments=i.Array,r("keys"),r("values"),r("entries")},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){var r,o,i,a=n(62),u=n(197),c=n(170),s=n(167),f=n(19),l=f.process,h=f.setImmediate,p=f.clearImmediate,v=f.MessageChannel,d=f.Dispatch,y=0,g={},b=function(){var t=+this;if(g.hasOwnProperty(t)){var e=g[t];delete g[t],e()}},m=function(t){b.call(t.data)};h&&p||(h=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return g[++y]=function(){u("function"==typeof t?t:Function(t),e)},r(y),y},p=function(t){delete g[t]},"process"==n(66)(l)?r=function(t){l.nextTick(a(b,t,1))}:d&&d.now?r=function(t){d.now(a(b,t,1))}:v?(i=(o=new v).port2,o.port1.onmessage=m,r=a(i.postMessage,i,1)):f.addEventListener&&"function"==typeof postMessage&&!f.importScripts?(r=function(t){f.postMessage(t+"","*")},f.addEventListener("message",m,!1)):r="onreadystatechange"in s("script")?function(t){c.appendChild(s("script")).onreadystatechange=function(){c.removeChild(this),b.call(t)}}:function(t){setTimeout(a(b,t,1),0)}),t.exports={set:h,clear:p}},function(t,e,n){"use strict";var r=n(47);function o(t){var e,n;this.promise=new t(function(t,r){if(void 0!==e||void 0!==n)throw TypeError("Bad Promise constructor");e=t,n=r}),this.resolve=r(e),this.reject=r(n)}t.exports.f=function(t){return new o(t)}},function(t,e,n){var r=n(19).navigator;t.exports=r&&r.userAgent||""},,,,,,,,,,,,function(t,e,n){t.exports=!n(34)&&!n(20)(function(){return 7!=Object.defineProperty(n(167)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){e.f=n(27)},function(t,e,n){var r=n(19),o=n(54),i=n(85),a=n(217),u=n(33).f;t.exports=function(t){var e=o.Symbol||(o.Symbol=i?{}:r.Symbol||{});"_"==t.charAt(0)||t in e||u(e,t,{value:a.f(t)})}},function(t,e,n){var r=n(49),o=n(51),i=n(147)(!1),a=n(168)("IE_PROTO");t.exports=function(t,e){var n,u=o(t),c=0,s=[];for(n in u)n!=a&&r(u,n)&&s.push(n);for(;e.length>c;)r(u,n=e[c++])&&(~i(s,n)||s.push(n));return s}},function(t,e,n){var r=n(33),o=n(14),i=n(89);t.exports=n(34)?Object.defineProperties:function(t,e){o(t);for(var n,a=i(e),u=a.length,c=0;u>c;)r.f(t,n=a[c++],e[n]);return t}},function(t,e,n){var r=n(51),o=n(91).f,i={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return a&&"[object Window]"==i.call(t)?function(t){try{return o(t)}catch(e){return a.slice()}}(t):o(r(t))}},function(t,e){t.exports=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}},function(t,e,n){"use strict";var r=n(47),o=n(21),i=n(197),a=[].slice,u={};t.exports=Function.bind||function(t){var e=r(this),n=a.call(arguments,1),c=function(){var r=n.concat(a.call(arguments));return this instanceof c?function(t,e,n){if(!(e in u)){for(var r=[],o=0;o>>0||(a.test(n)?16:10))}:r},function(t,e,n){var r=n(19).parseFloat,o=n(114).trim;t.exports=1/r(n(172)+"-0")!=-1/0?function(t){var e=o(String(t),3),n=r(e);return 0===n&&"-"==e.charAt(0)?-0:n}:r},function(t,e,n){var r=n(66);t.exports=function(t,e){if("number"!=typeof t&&"Number"!=r(t))throw TypeError(e);return+t}},function(t,e,n){var r=n(21),o=Math.floor;t.exports=function(t){return!r(t)&&isFinite(t)&&o(t)===t}},function(t,e){t.exports=Math.log1p||function(t){return(t=+t)>-1e-8&&t<1e-8?t-t*t/2:Math.log(1+t)}},function(t,e,n){var r=n(14);t.exports=function(t,e,n,o){try{return o?e(r(n)[0],n[1]):e(n)}catch(a){var i=t.return;throw void 0!==i&&r(i.call(t)),a}}},function(t,e,n){var r=n(391);t.exports=function(t,e){return new(r(t))(e)}},function(t,e,n){var r=n(47),o=n(42),i=n(113),a=n(31);t.exports=function(t,e,n,u,c){r(e);var s=o(t),f=i(s),l=a(s.length),h=c?l-1:0,p=c?-1:1;if(n<2)for(;;){if(h in f){u=f[h],h+=p;break}if(h+=p,c?h<0:l<=h)throw TypeError("Reduce of empty array with no initial value")}for(;c?h>=0:l>h;h+=p)h in f&&(u=e(u,f[h],h,s));return u}},function(t,e,n){"use strict";var r=n(42),o=n(90),i=n(31);t.exports=[].copyWithin||function(t,e){var n=r(this),a=i(n.length),u=o(t,a),c=o(e,a),s=arguments.length>2?arguments[2]:void 0,f=Math.min((void 0===s?a:o(s,a))-c,a-u),l=1;for(c0;)c in n?n[u]=n[c]:delete n[u],u+=l,c+=l;return n}},function(t,e,n){"use strict";var r=n(181);n(2)({target:"RegExp",proto:!0,forced:r!==/./.exec},{exec:r})},function(t,e,n){n(34)&&"g"!=/./g.flags&&n(33).f(RegExp.prototype,"flags",{configurable:!0,get:n(123)})},function(t,e,n){var r=n(19),o=n(202).set,i=r.MutationObserver||r.WebKitMutationObserver,a=r.process,u=r.Promise,c="process"==n(66)(a);t.exports=function(){var t,e,n,s=function(){var r,o;for(c&&(r=a.domain)&&r.exit();t;){o=t.fn,t=t.next;try{o()}catch(i){throw t?n():e=void 0,i}}e=void 0,r&&r.enter()};if(c)n=function(){a.nextTick(s)};else if(!i||r.navigator&&r.navigator.standalone)if(u&&u.resolve){var f=u.resolve(void 0);n=function(){f.then(s)}}else n=function(){o.call(r,s)};else{var l=!0,h=document.createTextNode("");new i(s).observe(h,{characterData:!0}),n=function(){h.data=l=!l}}return function(r){var o={fn:r,next:void 0};e&&(e.next=o),t||(t=o,n()),e=o}}},function(t,e,n){"use strict";var r=n(237),o=n(107);t.exports=n(134)("Map",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{get:function(t){var e=r.getEntry(o(this,"Map"),t);return e&&e.v},set:function(t,e){return r.def(o(this,"Map"),0===t?0:t,e)}},r,!0)},function(t,e,n){"use strict";var r=n(33).f,o=n(82),i=n(99),a=n(62),u=n(97),c=n(98),s=n(150),f=n(201),l=n(96),h=n(34),p=n(81).fastKey,v=n(107),d=h?"_s":"size",y=function(t,e){var n,r=p(e);if("F"!==r)return t._i[r];for(n=t._f;n;n=n.n)if(n.k==e)return n};t.exports={getConstructor:function(t,e,n,s){var f=t(function(t,r){u(t,f,e,"_i"),t._t=e,t._i=o(null),t._f=void 0,t._l=void 0,t[d]=0,null!=r&&c(r,n,t[s],t)});return i(f.prototype,{clear:function(){for(var t=v(this,e),n=t._i,r=t._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];t._f=t._l=void 0,t[d]=0},delete:function(t){var n=v(this,e),r=y(n,t);if(r){var o=r.n,i=r.p;delete n._i[r.i],r.r=!0,i&&(i.n=o),o&&(o.p=i),n._f==r&&(n._f=o),n._l==r&&(n._l=i),n[d]--}return!!r},forEach:function(t){v(this,e);for(var n,r=a(t,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(t){return!!y(v(this,e),t)}}),h&&r(f.prototype,"size",{get:function(){return v(this,e)[d]}}),f},def:function(t,e,n){var r,o,i=y(t,e);return i?i.v=n:(t._l=i={i:o=p(e,!0),k:e,v:n,p:r=t._l,n:void 0,r:!1},t._f||(t._f=i),r&&(r.n=i),t[d]++,"F"!==o&&(t._i[o]=i)),t},getEntry:y,setStrong:function(t,e,n){s(t,e,function(t,n){this._t=v(t,e),this._k=n,this._l=void 0},function(){for(var t=this._k,e=this._l;e&&e.r;)e=e.p;return this._t&&(this._l=e=e?e.n:this._t._f)?f(0,"keys"==t?e.k:"values"==t?e.v:[e.k,e.v]):(this._t=void 0,f(1))},n?"entries":"values",!n,!0),l(e)}}},function(t,e,n){"use strict";var r=n(237),o=n(107);t.exports=n(134)("Set",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function(t){return r.def(o(this,"Set"),t=0===t?0:t,t)}},r)},function(t,e,n){"use strict";var r,o=n(68)(0),i=n(50),a=n(81),u=n(196),c=n(240),s=n(21),f=n(20),l=n(107),h=a.getWeak,p=Object.isExtensible,v=c.ufstore,d={},y=function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},g={get:function(t){if(s(t)){var e=h(t);return!0===e?v(l(this,"WeakMap")).get(t):e?e[this._i]:void 0}},set:function(t,e){return c.def(l(this,"WeakMap"),t,e)}},b=t.exports=n(134)("WeakMap",y,g,c,!0,!0);f(function(){return 7!=(new b).set((Object.freeze||Object)(d),7).get(d)})&&(u((r=c.getConstructor(y,"WeakMap")).prototype,g),a.NEED=!0,o(["delete","has","get","set"],function(t){var e=b.prototype,n=e[t];i(e,t,function(e,o){if(s(e)&&!p(e)){this._f||(this._f=new r);var i=this._f[t](e,o);return"set"==t?this:i}return n.call(this,e,o)})}))},function(t,e,n){"use strict";var r=n(99),o=n(81).getWeak,i=n(14),a=n(21),u=n(97),c=n(98),s=n(68),f=n(49),l=n(107),h=s(5),p=s(6),v=0,d=function(t){return t._l||(t._l=new y)},y=function(){this.a=[]},g=function(t,e){return h(t.a,function(t){return t[0]===e})};y.prototype={get:function(t){var e=g(this,t);if(e)return e[1]},has:function(t){return!!g(this,t)},set:function(t,e){var n=g(this,t);n?n[1]=e:this.a.push([t,e])},delete:function(t){var e=p(this.a,function(e){return e[0]===t});return~e&&this.a.splice(e,1),!!~e}},t.exports={getConstructor:function(t,e,n,i){var s=t(function(t,r){u(t,s,e,"_i"),t._t=e,t._i=v++,t._l=void 0,null!=r&&c(r,n,t[i],t)});return r(s.prototype,{delete:function(t){if(!a(t))return!1;var n=o(t);return!0===n?d(l(this,e)).delete(t):n&&f(n,this._i)&&delete n[this._i]},has:function(t){if(!a(t))return!1;var n=o(t);return!0===n?d(l(this,e)).has(t):n&&f(n,this._i)}}),s},def:function(t,e,n){var r=o(i(e),!0);return!0===r?d(t).set(e,n):r[t._i]=n,t},ufstore:d}},function(t,e,n){var r=n(63),o=n(31);t.exports=function(t){if(void 0===t)return 0;var e=r(t),n=o(e);if(e!==n)throw RangeError("Wrong length!");return n}},function(t,e,n){var r=n(91),o=n(129),i=n(14),a=n(19).Reflect;t.exports=a&&a.ownKeys||function(t){var e=r.f(i(t)),n=o.f;return n?e.concat(n(t)):e}},,,,,,,,,,,,,,,,,,,,,function(t,e,n){var r=n(174),o=Math.pow,i=o(2,-52),a=o(2,-23),u=o(2,127)*(2-a),c=o(2,-126);t.exports=Math.fround||function(t){var e,n,o=Math.abs(t),s=r(t);return ou||n!=n?s*(1/0):s*n}},function(t,e){t.exports=function(t){try{return{e:!1,v:t()}}catch(e){return{e:!0,v:e}}}},function(t,e,n){var r=n(14),o=n(21),i=n(203);t.exports=function(t,e){if(r(t),o(e)&&e.constructor===t)return e;var n=i.f(t);return(0,n.resolve)(e),n.promise}},function(t,e,n){var r=n(98);t.exports=function(t,e){var n=[];return r(t,!1,n.push,n,e),n}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,n){"use strict";var r=n(19),o=n(49),i=n(34),a=n(2),u=n(50),c=n(81).KEY,s=n(20),f=n(128),l=n(105),h=n(88),p=n(27),v=n(217),d=n(218),y=n(303),g=n(148),b=n(14),m=n(21),_=n(51),w=n(74),S=n(84),k=n(82),E=n(221),x=n(59),T=n(33),O=n(89),P=x.f,A=T.f,j=E.f,M=r.Symbol,I=r.JSON,C=I&&I.stringify,R=p("_hidden"),D=p("toPrimitive"),F={}.propertyIsEnumerable,N=f("symbol-registry"),Z=f("symbols"),L=f("op-symbols"),B=Object.prototype,U="function"==typeof M,z=r.QObject,H=!z||!z.prototype||!z.prototype.findChild,W=i&&s(function(){return 7!=k(A({},"a",{get:function(){return A(this,"a",{value:7}).a}})).a})?function(t,e,n){var r=P(B,e);r&&delete B[e],A(t,e,n),r&&t!==B&&A(B,e,r)}:A,K=function(t){var e=Z[t]=k(M.prototype);return e._k=t,e},G=U&&"symbol"==typeof M.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof M},q=function(t,e,n){return t===B&&q(L,e,n),b(t),e=w(e,!0),b(n),o(Z,e)?(n.enumerable?(o(t,R)&&t[R][e]&&(t[R][e]=!1),n=k(n,{enumerable:S(0,!1)})):(o(t,R)||A(t,R,S(1,{})),t[R][e]=!0),W(t,e,n)):A(t,e,n)},V=function(t,e){b(t);for(var n,r=y(e=_(e)),o=0,i=r.length;i>o;)q(t,n=r[o++],e[n]);return t},X=function(t){var e=F.call(this,t=w(t,!0));return!(this===B&&o(Z,t)&&!o(L,t))&&(!(e||!o(this,t)||!o(Z,t)||o(this,R)&&this[R][t])||e)},Y=function(t,e){if(t=_(t),e=w(e,!0),t!==B||!o(Z,e)||o(L,e)){var n=P(t,e);return!n||!o(Z,e)||o(t,R)&&t[R][e]||(n.enumerable=!0),n}},J=function(t){for(var e,n=j(_(t)),r=[],i=0;n.length>i;)o(Z,e=n[i++])||e==R||e==c||r.push(e);return r},$=function(t){for(var e,n=t===B,r=j(n?L:_(t)),i=[],a=0;r.length>a;)!o(Z,e=r[a++])||n&&!o(B,e)||i.push(Z[e]);return i};U||(u((M=function(){if(this instanceof M)throw TypeError("Symbol is not a constructor!");var t=h(arguments.length>0?arguments[0]:void 0),e=function(n){this===B&&e.call(L,n),o(this,R)&&o(this[R],t)&&(this[R][t]=!1),W(this,t,S(1,n))};return i&&H&&W(B,t,{configurable:!0,set:e}),K(t)}).prototype,"toString",function(){return this._k}),x.f=Y,T.f=q,n(91).f=E.f=J,n(122).f=X,n(129).f=$,i&&!n(85)&&u(B,"propertyIsEnumerable",X,!0),v.f=function(t){return K(p(t))}),a(a.G+a.W+a.F*!U,{Symbol:M});for(var Q="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),tt=0;Q.length>tt;)p(Q[tt++]);for(var et=O(p.store),nt=0;et.length>nt;)d(et[nt++]);a(a.S+a.F*!U,"Symbol",{for:function(t){return o(N,t+="")?N[t]:N[t]=M(t)},keyFor:function(t){if(!G(t))throw TypeError(t+" is not a symbol!");for(var e in N)if(N[e]===t)return e},useSetter:function(){H=!0},useSimple:function(){H=!1}}),a(a.S+a.F*!U,"Object",{create:function(t,e){return void 0===e?k(t):V(k(t),e)},defineProperty:q,defineProperties:V,getOwnPropertyDescriptor:Y,getOwnPropertyNames:J,getOwnPropertySymbols:$}),I&&a(a.S+a.F*(!U||s(function(){var t=M();return"[null]"!=C([t])||"{}"!=C({a:t})||"{}"!=C(Object(t))})),"JSON",{stringify:function(t){for(var e,n,r=[t],o=1;arguments.length>o;)r.push(arguments[o++]);if(n=e=r[1],(m(e)||void 0!==t)&&!G(t))return g(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!G(e))return e}),r[1]=e,C.apply(I,r)}}),M.prototype[D]||n(55)(M.prototype,D,M.prototype.valueOf),l(M,"Symbol"),l(Math,"Math",!0),l(r.JSON,"JSON",!0)},function(t,e,n){var r=n(89),o=n(129),i=n(122);t.exports=function(t){var e=r(t),n=o.f;if(n)for(var a,u=n(t),c=i.f,s=0;u.length>s;)c.call(t,a=u[s++])&&e.push(a);return e}},function(t,e,n){var r=n(2);r(r.S,"Object",{create:n(82)})},function(t,e,n){var r=n(2);r(r.S+r.F*!n(34),"Object",{defineProperty:n(33).f})},function(t,e,n){var r=n(2);r(r.S+r.F*!n(34),"Object",{defineProperties:n(220)})},function(t,e,n){var r=n(51),o=n(59).f;n(67)("getOwnPropertyDescriptor",function(){return function(t,e){return o(r(t),e)}})},function(t,e,n){var r=n(42),o=n(56);n(67)("getPrototypeOf",function(){return function(t){return o(r(t))}})},function(t,e,n){var r=n(42),o=n(89);n(67)("keys",function(){return function(t){return o(r(t))}})},function(t,e,n){n(67)("getOwnPropertyNames",function(){return n(221).f})},function(t,e,n){var r=n(21),o=n(81).onFreeze;n(67)("freeze",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){var r=n(21),o=n(81).onFreeze;n(67)("seal",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){var r=n(21),o=n(81).onFreeze;n(67)("preventExtensions",function(t){return function(e){return t&&r(e)?t(o(e)):e}})},function(t,e,n){var r=n(21);n(67)("isFrozen",function(t){return function(e){return!r(e)||!!t&&t(e)}})},function(t,e,n){var r=n(21);n(67)("isSealed",function(t){return function(e){return!r(e)||!!t&&t(e)}})},function(t,e,n){var r=n(21);n(67)("isExtensible",function(t){return function(e){return!!r(e)&&(!t||t(e))}})},function(t,e,n){var r=n(2);r(r.S+r.F,"Object",{assign:n(196)})},function(t,e,n){var r=n(2);r(r.S,"Object",{is:n(222)})},function(t,e,n){var r=n(2);r(r.S,"Object",{setPrototypeOf:n(171).set})},function(t,e,n){"use strict";var r=n(94),o={};o[n(27)("toStringTag")]="z",o+""!="[object z]"&&n(50)(Object.prototype,"toString",function(){return"[object "+r(this)+"]"},!0)},function(t,e,n){var r=n(2);r(r.P,"Function",{bind:n(223)})},function(t,e,n){var r=n(33).f,o=Function.prototype,i=/^\s*function ([^ (]*)/;"name"in o||n(34)&&r(o,"name",{configurable:!0,get:function(){try{return(""+this).match(i)[1]}catch(t){return""}}})},function(t,e,n){"use strict";var r=n(21),o=n(56),i=n(27)("hasInstance"),a=Function.prototype;i in a||n(33).f(a,i,{value:function(t){if("function"!=typeof this||!r(t))return!1;if(!r(this.prototype))return t instanceof this;for(;t=o(t);)if(this.prototype===t)return!0;return!1}})},function(t,e,n){var r=n(2),o=n(224);r(r.G+r.F*(parseInt!=o),{parseInt:o})},function(t,e,n){var r=n(2),o=n(225);r(r.G+r.F*(parseFloat!=o),{parseFloat:o})},function(t,e,n){"use strict";var r=n(19),o=n(49),i=n(66),a=n(173),u=n(74),c=n(20),s=n(91).f,f=n(59).f,l=n(33).f,h=n(114).trim,p=r.Number,v=p,d=p.prototype,y="Number"==i(n(82)(d)),g="trim"in String.prototype,b=function(t){var e=u(t,!1);if("string"==typeof e&&e.length>2){var n,r,o,i=(e=g?e.trim():h(e,3)).charCodeAt(0);if(43===i||45===i){if(88===(n=e.charCodeAt(2))||120===n)return NaN}else if(48===i){switch(e.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+e}for(var a,c=e.slice(2),s=0,f=c.length;so)return NaN;return parseInt(c,r)}}return+e};if(!p(" 0o1")||!p("0b1")||p("+0x1")){p=function(t){var e=arguments.length<1?0:t,n=this;return n instanceof p&&(y?c(function(){d.valueOf.call(n)}):"Number"!=i(n))?a(new v(b(e)),n,p):b(e)};for(var m,_=n(34)?s(v):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),w=0;_.length>w;w++)o(v,m=_[w])&&!o(p,m)&&l(p,m,f(v,m));p.prototype=d,d.constructor=p,n(50)(r,"Number",p)}},function(t,e,n){"use strict";var r=n(2),o=n(63),i=n(226),a=n(198),u=1..toFixed,c=Math.floor,s=[0,0,0,0,0,0],f="Number.toFixed: incorrect invocation!",l=function(t,e){for(var n=-1,r=e;++n<6;)r+=t*s[n],s[n]=r%1e7,r=c(r/1e7)},h=function(t){for(var e=6,n=0;--e>=0;)n+=s[e],s[e]=c(n/t),n=n%t*1e7},p=function(){for(var t=6,e="";--t>=0;)if(""!==e||0===t||0!==s[t]){var n=String(s[t]);e=""===e?n:e+a.call("0",7-n.length)+n}return e},v=function(t,e,n){return 0===e?n:e%2==1?v(t,e-1,n*t):v(t*t,e/2,n)};r(r.P+r.F*(!!u&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!n(20)(function(){u.call({})})),"Number",{toFixed:function(t){var e,n,r,u,c=i(this,f),s=o(t),d="",y="0";if(s<0||s>20)throw RangeError(f);if(c!=c)return"NaN";if(c<=-1e21||c>=1e21)return String(c);if(c<0&&(d="-",c=-c),c>1e-21)if(n=(e=function(t){for(var e=0,n=t;n>=4096;)e+=12,n/=4096;for(;n>=2;)e+=1,n/=2;return e}(c*v(2,69,1))-69)<0?c*v(2,-e,1):c/v(2,e,1),n*=4503599627370496,(e=52-e)>0){for(l(0,n),r=s;r>=7;)l(1e7,0),r-=7;for(l(v(10,r,1),0),r=e-1;r>=23;)h(1<<23),r-=23;h(1<0?d+((u=y.length)<=s?"0."+a.call("0",s-u)+y:y.slice(0,u-s)+"."+y.slice(u-s)):d+y}})},function(t,e,n){"use strict";var r=n(2),o=n(20),i=n(226),a=1..toPrecision;r(r.P+r.F*(o(function(){return"1"!==a.call(1,void 0)})||!o(function(){a.call({})})),"Number",{toPrecision:function(t){var e=i(this,"Number#toPrecision: incorrect invocation!");return void 0===t?a.call(e):a.call(e,t)}})},function(t,e,n){var r=n(2);r(r.S,"Number",{EPSILON:Math.pow(2,-52)})},function(t,e,n){var r=n(2),o=n(19).isFinite;r(r.S,"Number",{isFinite:function(t){return"number"==typeof t&&o(t)}})},function(t,e,n){var r=n(2);r(r.S,"Number",{isInteger:n(227)})},function(t,e,n){var r=n(2);r(r.S,"Number",{isNaN:function(t){return t!=t}})},function(t,e,n){var r=n(2),o=n(227),i=Math.abs;r(r.S,"Number",{isSafeInteger:function(t){return o(t)&&i(t)<=9007199254740991}})},function(t,e,n){var r=n(2);r(r.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},function(t,e,n){var r=n(2);r(r.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},function(t,e,n){var r=n(2),o=n(225);r(r.S+r.F*(Number.parseFloat!=o),"Number",{parseFloat:o})},function(t,e,n){var r=n(2),o=n(224);r(r.S+r.F*(Number.parseInt!=o),"Number",{parseInt:o})},function(t,e,n){var r=n(2),o=n(228),i=Math.sqrt,a=Math.acosh;r(r.S+r.F*!(a&&710==Math.floor(a(Number.MAX_VALUE))&&a(1/0)==1/0),"Math",{acosh:function(t){return(t=+t)<1?NaN:t>94906265.62425156?Math.log(t)+Math.LN2:o(t-1+i(t-1)*i(t+1))}})},function(t,e,n){var r=n(2),o=Math.asinh;r(r.S+r.F*!(o&&1/o(0)>0),"Math",{asinh:function t(e){return isFinite(e=+e)&&0!=e?e<0?-t(-e):Math.log(e+Math.sqrt(e*e+1)):e}})},function(t,e,n){var r=n(2),o=Math.atanh;r(r.S+r.F*!(o&&1/o(-0)<0),"Math",{atanh:function(t){return 0==(t=+t)?t:Math.log((1+t)/(1-t))/2}})},function(t,e,n){var r=n(2),o=n(174);r(r.S,"Math",{cbrt:function(t){return o(t=+t)*Math.pow(Math.abs(t),1/3)}})},function(t,e,n){var r=n(2);r(r.S,"Math",{clz32:function(t){return(t>>>=0)?31-Math.floor(Math.log(t+.5)*Math.LOG2E):32}})},function(t,e,n){var r=n(2),o=Math.exp;r(r.S,"Math",{cosh:function(t){return(o(t=+t)+o(-t))/2}})},function(t,e,n){var r=n(2),o=n(175);r(r.S+r.F*(o!=Math.expm1),"Math",{expm1:o})},function(t,e,n){var r=n(2);r(r.S,"Math",{fround:n(263)})},function(t,e,n){var r=n(2),o=Math.abs;r(r.S,"Math",{hypot:function(t,e){for(var n,r,i=0,a=0,u=arguments.length,c=0;a0?(r=n/c)*r:n;return c===1/0?1/0:c*Math.sqrt(i)}})},function(t,e,n){var r=n(2),o=Math.imul;r(r.S+r.F*n(20)(function(){return-5!=o(4294967295,5)||2!=o.length}),"Math",{imul:function(t,e){var n=+t,r=+e,o=65535&n,i=65535&r;return 0|o*i+((65535&n>>>16)*i+o*(65535&r>>>16)<<16>>>0)}})},function(t,e,n){var r=n(2);r(r.S,"Math",{log10:function(t){return Math.log(t)*Math.LOG10E}})},function(t,e,n){var r=n(2);r(r.S,"Math",{log1p:n(228)})},function(t,e,n){var r=n(2);r(r.S,"Math",{log2:function(t){return Math.log(t)/Math.LN2}})},function(t,e,n){var r=n(2);r(r.S,"Math",{sign:n(174)})},function(t,e,n){var r=n(2),o=n(175),i=Math.exp;r(r.S+r.F*n(20)(function(){return-2e-17!=!Math.sinh(-2e-17)}),"Math",{sinh:function(t){return Math.abs(t=+t)<1?(o(t)-o(-t))/2:(i(t-1)-i(-t-1))*(Math.E/2)}})},function(t,e,n){var r=n(2),o=n(175),i=Math.exp;r(r.S,"Math",{tanh:function(t){var e=o(t=+t),n=o(-t);return e==1/0?1:n==1/0?-1:(e-n)/(i(t)+i(-t))}})},function(t,e,n){var r=n(2);r(r.S,"Math",{trunc:function(t){return(t>0?Math.floor:Math.ceil)(t)}})},function(t,e,n){var r=n(2),o=n(90),i=String.fromCharCode,a=String.fromCodePoint;r(r.S+r.F*(!!a&&1!=a.length),"String",{fromCodePoint:function(t){for(var e,n=[],r=arguments.length,a=0;r>a;){if(e=+arguments[a++],o(e,1114111)!==e)throw RangeError(e+" is not a valid code point");n.push(e<65536?i(e):i(55296+((e-=65536)>>10),e%1024+56320))}return n.join("")}})},function(t,e,n){var r=n(2),o=n(51),i=n(31);r(r.S,"String",{raw:function(t){for(var e=o(t.raw),n=i(e.length),r=arguments.length,a=[],u=0;n>u;)a.push(String(e[u++])),u=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){"use strict";var r=n(2),o=n(149)(!1);r(r.P,"String",{codePointAt:function(t){return o(this,t)}})},function(t,e,n){"use strict";var r=n(2),o=n(31),i=n(177),a="".endsWith;r(r.P+r.F*n(178)("endsWith"),"String",{endsWith:function(t){var e=i(this,t,"endsWith"),n=arguments.length>1?arguments[1]:void 0,r=o(e.length),u=void 0===n?r:Math.min(o(n),r),c=String(t);return a?a.call(e,c,u):e.slice(u-c.length,u)===c}})},function(t,e,n){"use strict";var r=n(2),o=n(177);r(r.P+r.F*n(178)("includes"),"String",{includes:function(t){return!!~o(this,t,"includes").indexOf(t,arguments.length>1?arguments[1]:void 0)}})},function(t,e,n){var r=n(2);r(r.P,"String",{repeat:n(198)})},function(t,e,n){"use strict";var r=n(2),o=n(31),i=n(177),a="".startsWith;r(r.P+r.F*n(178)("startsWith"),"String",{startsWith:function(t){var e=i(this,t,"startsWith"),n=o(Math.min(arguments.length>1?arguments[1]:void 0,e.length)),r=String(t);return a?a.call(e,r,n):e.slice(n,n+r.length)===r}})},function(t,e,n){"use strict";n(48)("anchor",function(t){return function(e){return t(this,"a","name",e)}})},function(t,e,n){"use strict";n(48)("big",function(t){return function(){return t(this,"big","","")}})},function(t,e,n){"use strict";n(48)("blink",function(t){return function(){return t(this,"blink","","")}})},function(t,e,n){"use strict";n(48)("bold",function(t){return function(){return t(this,"b","","")}})},function(t,e,n){"use strict";n(48)("fixed",function(t){return function(){return t(this,"tt","","")}})},function(t,e,n){"use strict";n(48)("fontcolor",function(t){return function(e){return t(this,"font","color",e)}})},function(t,e,n){"use strict";n(48)("fontsize",function(t){return function(e){return t(this,"font","size",e)}})},function(t,e,n){"use strict";n(48)("italics",function(t){return function(){return t(this,"i","","")}})},function(t,e,n){"use strict";n(48)("link",function(t){return function(e){return t(this,"a","href",e)}})},function(t,e,n){"use strict";n(48)("small",function(t){return function(){return t(this,"small","","")}})},function(t,e,n){"use strict";n(48)("strike",function(t){return function(){return t(this,"strike","","")}})},function(t,e,n){"use strict";n(48)("sub",function(t){return function(){return t(this,"sub","","")}})},function(t,e,n){"use strict";n(48)("sup",function(t){return function(){return t(this,"sup","","")}})},function(t,e,n){var r=n(2);r(r.S,"Date",{now:function(){return(new Date).getTime()}})},function(t,e,n){"use strict";var r=n(2),o=n(42),i=n(74);r(r.P+r.F*n(20)(function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}),"Date",{toJSON:function(t){var e=o(this),n=i(e);return"number"!=typeof n||isFinite(n)?e.toISOString():null}})},function(t,e,n){var r=n(2),o=n(380);r(r.P+r.F*(Date.prototype.toISOString!==o),"Date",{toISOString:o})},function(t,e,n){"use strict";var r=n(20),o=Date.prototype.getTime,i=Date.prototype.toISOString,a=function(t){return t>9?t:"0"+t};t.exports=r(function(){return"0385-07-25T07:06:39.999Z"!=i.call(new Date(-5e13-1))})||!r(function(){i.call(new Date(NaN))})?function(){if(!isFinite(o.call(this)))throw RangeError("Invalid time value");var t=this,e=t.getUTCFullYear(),n=t.getUTCMilliseconds(),r=e<0?"-":e>9999?"+":"";return r+("00000"+Math.abs(e)).slice(r?-6:-4)+"-"+a(t.getUTCMonth()+1)+"-"+a(t.getUTCDate())+"T"+a(t.getUTCHours())+":"+a(t.getUTCMinutes())+":"+a(t.getUTCSeconds())+"."+(n>99?n:"0"+a(n))+"Z"}:i},function(t,e,n){var r=Date.prototype,o=r.toString,i=r.getTime;new Date(NaN)+""!="Invalid Date"&&n(50)(r,"toString",function(){var t=i.call(this);return t==t?o.call(this):"Invalid Date"})},function(t,e,n){var r=n(27)("toPrimitive"),o=Date.prototype;r in o||n(55)(o,r,n(383))},function(t,e,n){"use strict";var r=n(14),o=n(74);t.exports=function(t){if("string"!==t&&"number"!==t&&"default"!==t)throw TypeError("Incorrect hint");return o(r(this),"number"!=t)}},function(t,e,n){var r=n(2);r(r.S,"Array",{isArray:n(148)})},function(t,e,n){"use strict";var r=n(62),o=n(2),i=n(42),a=n(229),u=n(179),c=n(31),s=n(199),f=n(130);o(o.S+o.F*!n(131)(function(t){Array.from(t)}),"Array",{from:function(t){var e,n,o,l,h=i(t),p="function"==typeof this?this:Array,v=arguments.length,d=v>1?arguments[1]:void 0,y=void 0!==d,g=0,b=f(h);if(y&&(d=r(d,v>2?arguments[2]:void 0,2)),null==b||p==Array&&u(b))for(n=new p(e=c(h.length));e>g;g++)s(n,g,y?d(h[g],g):h[g]);else for(l=b.call(h),n=new p;!(o=l.next()).done;g++)s(n,g,y?a(l,d,[o.value,g],!0):o.value);return n.length=g,n}})},function(t,e,n){"use strict";var r=n(2),o=n(199);r(r.S+r.F*n(20)(function(){function t(){}return!(Array.of.call(t)instanceof t)}),"Array",{of:function(){for(var t=0,e=arguments.length,n=new("function"==typeof this?this:Array)(e);e>t;)o(n,t,arguments[t++]);return n.length=e,n}})},function(t,e,n){"use strict";var r=n(2),o=n(51),i=[].join;r(r.P+r.F*(n(113)!=Object||!n(60)(i)),"Array",{join:function(t){return i.call(o(this),void 0===t?",":t)}})},function(t,e,n){"use strict";var r=n(2),o=n(170),i=n(66),a=n(90),u=n(31),c=[].slice;r(r.P+r.F*n(20)(function(){o&&c.call(o)}),"Array",{slice:function(t,e){var n=u(this.length),r=i(this);if(e=void 0===e?n:e,"Array"==r)return c.call(this,t,e);for(var o=a(t,n),s=a(e,n),f=u(s-o),l=new Array(f),h=0;h1&&(r=Math.min(r,i(arguments[1]))),r<0&&(r=n+r);r>=0;r--)if(r in e&&e[r]===t)return r||0;return-1}})},function(t,e,n){var r=n(2);r(r.P,"Array",{copyWithin:n(232)}),n(95)("copyWithin")},function(t,e,n){var r=n(2);r(r.P,"Array",{fill:n(180)}),n(95)("fill")},function(t,e,n){"use strict";var r=n(2),o=n(68)(5),i=!0;"find"in[]&&Array(1).find(function(){i=!1}),r(r.P+r.F*i,"Array",{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),n(95)("find")},function(t,e,n){"use strict";var r=n(2),o=n(68)(6),i="findIndex",a=!0;i in[]&&Array(1)[i](function(){a=!1}),r(r.P+r.F*a,"Array",{findIndex:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),n(95)(i)},function(t,e,n){n(96)("Array")},function(t,e,n){var r=n(19),o=n(173),i=n(33).f,a=n(91).f,u=n(151),c=n(123),s=r.RegExp,f=s,l=s.prototype,h=/a/g,p=/a/g,v=new s(h)!==h;if(n(34)&&(!v||n(20)(function(){return p[n(27)("match")]=!1,s(h)!=h||s(p)==p||"/a/i"!=s(h,"i")}))){s=function(t,e){var n=this instanceof s,r=u(t),i=void 0===e;return!n&&r&&t.constructor===s&&i?t:o(v?new f(r&&!i?t.source:t,e):f((r=t instanceof s)?t.source:t,r&&i?c.call(t):e),n?this:l,s)};for(var d=function(t){t in s||i(s,t,{configurable:!0,get:function(){return f[t]},set:function(e){f[t]=e}})},y=a(f),g=0;y.length>g;)d(y[g++]);l.constructor=s,s.prototype=l,n(50)(r,"RegExp",s)}n(96)("RegExp")},function(t,e,n){"use strict";n(234);var r=n(14),o=n(123),i=n(34),a=/./.toString,u=function(t){n(50)(RegExp.prototype,"toString",t,!0)};n(20)(function(){return"/a/b"!=a.call({source:"a",flags:"b"})})?u(function(){var t=r(this);return"/".concat(t.source,"/","flags"in t?t.flags:!i&&t instanceof RegExp?o.call(t):void 0)}):"toString"!=a.name&&u(function(){return a.call(this)})},function(t,e,n){"use strict";var r=n(14),o=n(31),i=n(182),a=n(132);n(133)("match",1,function(t,e,n,u){return[function(n){var r=t(this),o=null==n?void 0:n[e];return void 0!==o?o.call(n,r):new RegExp(n)[e](String(r))},function(t){var e=u(n,t,this);if(e.done)return e.value;var c=r(t),s=String(this);if(!c.global)return a(c,s);var f=c.unicode;c.lastIndex=0;for(var l,h=[],p=0;null!==(l=a(c,s));){var v=String(l[0]);h[p]=v,""===v&&(c.lastIndex=i(s,o(c.lastIndex),f)),p++}return 0===p?null:h}]})},function(t,e,n){"use strict";var r=n(14),o=n(42),i=n(31),a=n(63),u=n(182),c=n(132),s=Math.max,f=Math.min,l=Math.floor,h=/\$([$&`']|\d\d?|<[^>]*>)/g,p=/\$([$&`']|\d\d?)/g;n(133)("replace",2,function(t,e,n,v){return[function(r,o){var i=t(this),a=null==r?void 0:r[e];return void 0!==a?a.call(r,i,o):n.call(String(i),r,o)},function(t,e){var o=v(n,t,this,e);if(o.done)return o.value;var l=r(t),h=String(this),p="function"==typeof e;p||(e=String(e));var y=l.global;if(y){var g=l.unicode;l.lastIndex=0}for(var b=[];;){var m=c(l,h);if(null===m)break;if(b.push(m),!y)break;""===String(m[0])&&(l.lastIndex=u(h,i(l.lastIndex),g))}for(var _,w="",S=0,k=0;k=S&&(w+=h.slice(S,x)+j,S=x+E.length)}return w+h.slice(S)}];function d(t,e,r,i,a,u){var c=r+t.length,s=i.length,f=p;return void 0!==a&&(a=o(a),f=h),n.call(u,f,function(n,o){var u;switch(o.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(c);case"<":u=a[o.slice(1,-1)];break;default:var f=+o;if(0===f)return n;if(f>s){var h=l(f/10);return 0===h?n:h<=s?void 0===i[h-1]?o.charAt(1):i[h-1]+o.charAt(1):n}u=i[f-1]}return void 0===u?"":u})}})},function(t,e,n){"use strict";var r=n(14),o=n(222),i=n(132);n(133)("search",1,function(t,e,n,a){return[function(n){var r=t(this),o=null==n?void 0:n[e];return void 0!==o?o.call(n,r):new RegExp(n)[e](String(r))},function(t){var e=a(n,t,this);if(e.done)return e.value;var u=r(t),c=String(this),s=u.lastIndex;o(s,0)||(u.lastIndex=0);var f=i(u,c);return o(u.lastIndex,s)||(u.lastIndex=s),null===f?-1:f.index}]})},function(t,e,n){"use strict";var r=n(151),o=n(14),i=n(124),a=n(182),u=n(31),c=n(132),s=n(181),f=Math.min,l=[].push,h=!!function(){try{return new RegExp("x","y")}catch(t){}}();n(133)("split",2,function(t,e,n,p){var v;return v="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,e){var o=String(this);if(void 0===t&&0===e)return[];if(!r(t))return n.call(o,t,e);for(var i,a,u,c=[],f=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),h=0,p=void 0===e?4294967295:e>>>0,v=new RegExp(t.source,f+"g");(i=s.call(v,o))&&!((a=v.lastIndex)>h&&(c.push(o.slice(h,i.index)),i.length>1&&i.index=p));)v.lastIndex===i.index&&v.lastIndex++;return h===o.length?!u&&v.test("")||c.push(""):c.push(o.slice(h)),c.length>p?c.slice(0,p):c}:"0".split(void 0,0).length?function(t,e){return void 0===t&&0===e?[]:n.call(this,t,e)}:n,[function(n,r){var o=t(this),i=null==n?void 0:n[e];return void 0!==i?i.call(n,o,r):v.call(String(o),n,r)},function(t,e){var r=p(v,t,this,e,v!==n);if(r.done)return r.value;var s=o(t),l=String(this),d=i(s,RegExp),y=s.unicode,g=(s.ignoreCase?"i":"")+(s.multiline?"m":"")+(s.unicode?"u":"")+(h?"y":"g"),b=new d(h?s:"^(?:"+s.source+")",g),m=void 0===e?4294967295:e>>>0;if(0===m)return[];if(0===l.length)return null===c(b,l)?[l]:[];for(var _=0,w=0,S=[];wi;)a(n[i++]);t._c=[],t._n=!1,e&&!t._h&&R(t)})}},R=function(t){g.call(c,function(){var e,n,r,o=t._v,i=D(t);if(i&&(e=_(function(){P?E.emit("unhandledRejection",o,t):(n=c.onunhandledrejection)?n({promise:t,reason:o}):(r=c.console)&&r.error&&r.error("Unhandled promise rejection",o)}),t._h=P||D(t)?2:1),t._a=void 0,i&&e.e)throw e.v})},D=function(t){return 1!==t._h&&0===(t._a||t._c).length},F=function(t){g.call(c,function(){var e;P?E.emit("rejectionHandled",t):(e=c.onrejectionhandled)&&e({promise:t,reason:t._v})})},N=function(t){var e=this;e._d||(e._d=!0,(e=e._w||e)._v=t,e._s=2,e._a||(e._a=e._c.slice()),C(e,!0))},Z=function(t){var e,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===t)throw k("Promise can't be resolved itself");(e=I(t))?b(function(){var r={_w:n,_d:!1};try{e.call(t,s(Z,r,1),s(N,r,1))}catch(o){N.call(r,o)}}):(n._v=t,n._s=1,C(n,!1))}catch(r){N.call({_w:n,_d:!1},r)}}};M||(O=function(t){v(this,O,"Promise","_h"),p(t),r.call(this);try{t(s(Z,this,1),s(N,this,1))}catch(e){N.call(this,e)}},(r=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=n(99)(O.prototype,{then:function(t,e){var n=j(y(this,O));return n.ok="function"!=typeof t||t,n.fail="function"==typeof e&&e,n.domain=P?E.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&C(this,!1),n.promise},catch:function(t){return this.then(void 0,t)}}),i=function(){var t=new r;this.promise=t,this.resolve=s(Z,t,1),this.reject=s(N,t,1)},m.f=j=function(t){return t===O||t===a?new i(t):o(t)}),l(l.G+l.W+l.F*!M,{Promise:O}),n(105)(O,"Promise"),n(96)("Promise"),a=n(54).Promise,l(l.S+l.F*!M,"Promise",{reject:function(t){var e=j(this);return(0,e.reject)(t),e.promise}}),l(l.S+l.F*(u||!M),"Promise",{resolve:function(t){return S(u&&this===a?O:this,t)}}),l(l.S+l.F*!(M&&n(131)(function(t){O.all(t).catch(A)})),"Promise",{all:function(t){var e=this,n=j(e),r=n.resolve,o=n.reject,i=_(function(){var n=[],i=0,a=1;d(t,!1,function(t){var u=i++,c=!1;n.push(void 0),a++,e.resolve(t).then(function(t){c||(c=!0,n[u]=t,--a||r(n))},o)}),--a||r(n)});return i.e&&o(i.v),n.promise},race:function(t){var e=this,n=j(e),r=n.reject,o=_(function(){d(t,!1,function(t){e.resolve(t).then(n.resolve,r)})});return o.e&&r(o.v),n.promise}})},function(t,e,n){"use strict";var r=n(240),o=n(107);n(134)("WeakSet",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function(t){return r.def(o(this,"WeakSet"),t,!0)}},r,!1,!0)},function(t,e,n){"use strict";var r=n(2),o=n(135),i=n(183),a=n(14),u=n(90),c=n(31),s=n(21),f=n(19).ArrayBuffer,l=n(124),h=i.ArrayBuffer,p=i.DataView,v=o.ABV&&f.isView,d=h.prototype.slice,y=o.VIEW;r(r.G+r.W+r.F*(f!==h),{ArrayBuffer:h}),r(r.S+r.F*!o.CONSTR,"ArrayBuffer",{isView:function(t){return v&&v(t)||s(t)&&y in t}}),r(r.P+r.U+r.F*n(20)(function(){return!new h(2).slice(1,void 0).byteLength}),"ArrayBuffer",{slice:function(t,e){if(void 0!==d&&void 0===e)return d.call(a(this),t);for(var n=a(this).byteLength,r=u(t,n),o=u(void 0===e?n:e,n),i=new(l(this,h))(c(o-r)),s=new p(this),f=new p(i),v=0;r=e.length)return{value:void 0,done:!0}}while(!((t=e[this._i++])in this._t));return{value:t,done:!1}}),r(r.S,"Reflect",{enumerate:function(t){return new i(t)}})},function(t,e,n){var r=n(59),o=n(56),i=n(49),a=n(2),u=n(21),c=n(14);a(a.S,"Reflect",{get:function t(e,n){var a,s,f=arguments.length<3?e:arguments[2];return c(e)===f?e[n]:(a=r.f(e,n))?i(a,"value")?a.value:void 0!==a.get?a.get.call(f):void 0:u(s=o(e))?t(s,n,f):void 0}})},function(t,e,n){var r=n(59),o=n(2),i=n(14);o(o.S,"Reflect",{getOwnPropertyDescriptor:function(t,e){return r.f(i(t),e)}})},function(t,e,n){var r=n(2),o=n(56),i=n(14);r(r.S,"Reflect",{getPrototypeOf:function(t){return o(i(t))}})},function(t,e,n){var r=n(2);r(r.S,"Reflect",{has:function(t,e){return e in t}})},function(t,e,n){var r=n(2),o=n(14),i=Object.isExtensible;r(r.S,"Reflect",{isExtensible:function(t){return o(t),!i||i(t)}})},function(t,e,n){var r=n(2);r(r.S,"Reflect",{ownKeys:n(242)})},function(t,e,n){var r=n(2),o=n(14),i=Object.preventExtensions;r(r.S,"Reflect",{preventExtensions:function(t){o(t);try{return i&&i(t),!0}catch(e){return!1}}})},function(t,e,n){var r=n(33),o=n(59),i=n(56),a=n(49),u=n(2),c=n(84),s=n(14),f=n(21);u(u.S,"Reflect",{set:function t(e,n,u){var l,h,p=arguments.length<4?e:arguments[3],v=o.f(s(e),n);if(!v){if(f(h=i(e)))return t(h,n,u,p);v=c(0)}if(a(v,"value")){if(!1===v.writable||!f(p))return!1;if(l=o.f(p,n)){if(l.get||l.set||!1===l.writable)return!1;l.value=u,r.f(p,n,l)}else r.f(p,n,c(0,u));return!0}return void 0!==v.set&&(v.set.call(p,u),!0)}})},function(t,e,n){var r=n(2),o=n(171);o&&r(r.S,"Reflect",{setPrototypeOf:function(t,e){o.check(t,e);try{return o.set(t,e),!0}catch(n){return!1}}})},function(t,e,n){var r=n(77),o=n(14),i=r.key,a=r.set;r.exp({defineMetadata:function(t,e,n,r){a(t,e,o(n),i(r))}})},function(t,e,n){var r=n(77),o=n(14),i=r.key,a=r.map,u=r.store;r.exp({deleteMetadata:function(t,e){var n=arguments.length<3?void 0:i(arguments[2]),r=a(o(e),n,!1);if(void 0===r||!r.delete(t))return!1;if(r.size)return!0;var c=u.get(e);return c.delete(n),!!c.size||u.delete(e)}})},function(t,e,n){var r=n(77),o=n(14),i=n(56),a=r.has,u=r.get,c=r.key,s=function(t,e,n){if(a(t,e,n))return u(t,e,n);var r=i(e);return null!==r?s(t,r,n):void 0};r.exp({getMetadata:function(t,e){return s(t,o(e),arguments.length<3?void 0:c(arguments[2]))}})},function(t,e,n){var r=n(238),o=n(266),i=n(77),a=n(14),u=n(56),c=i.keys,s=i.key,f=function(t,e){var n=c(t,e),i=u(t);if(null===i)return n;var a=f(i,e);return a.length?n.length?o(new r(n.concat(a))):a:n};i.exp({getMetadataKeys:function(t){return f(a(t),arguments.length<2?void 0:s(arguments[1]))}})},function(t,e,n){var r=n(77),o=n(14),i=r.get,a=r.key;r.exp({getOwnMetadata:function(t,e){return i(t,o(e),arguments.length<3?void 0:a(arguments[2]))}})},function(t,e,n){var r=n(77),o=n(14),i=r.keys,a=r.key;r.exp({getOwnMetadataKeys:function(t){return i(o(t),arguments.length<2?void 0:a(arguments[1]))}})},function(t,e,n){var r=n(77),o=n(14),i=n(56),a=r.has,u=r.key,c=function(t,e,n){if(a(t,e,n))return!0;var r=i(e);return null!==r&&c(t,r,n)};r.exp({hasMetadata:function(t,e){return c(t,o(e),arguments.length<3?void 0:u(arguments[2]))}})},function(t,e,n){var r=n(77),o=n(14),i=r.has,a=r.key;r.exp({hasOwnMetadata:function(t,e){return i(t,o(e),arguments.length<3?void 0:a(arguments[2]))}})},function(t,e,n){var r=n(77),o=n(14),i=n(47),a=r.key,u=r.set;r.exp({metadata:function(t,e){return function(n,r){u(t,e,(void 0!==r?o:i)(n),a(r))}}})},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),n(716),n(717),n(718),!Element.prototype.matches&&Element.prototype.msMatchesSelector&&(Element.prototype.matches=Element.prototype.msMatchesSelector),n(719),n(720)},function(t,e,n){n(302),n(304),n(305),n(306),n(307),n(308),n(309),n(310),n(311),n(312),n(313),n(314),n(315),n(316),n(317),n(318),n(319),n(320),n(321),n(322),n(323),n(324),n(325),n(326),n(327),n(328),n(329),n(330),n(331),n(332),n(333),n(334),n(335),n(336),n(337),n(338),n(339),n(340),n(341),n(342),n(343),n(344),n(345),n(346),n(347),n(348),n(349),n(350),n(351),n(352),n(353),n(354),n(355),n(356),n(357),n(358),n(359),n(360),n(361),n(362),n(363),n(364),n(365),n(366),n(367),n(368),n(369),n(370),n(371),n(372),n(373),n(374),n(375),n(376),n(377),n(378),n(379),n(381),n(382),n(384),n(385),n(386),n(387),n(388),n(389),n(390),n(392),n(393),n(394),n(395),n(396),n(397),n(398),n(399),n(400),n(401),n(402),n(403),n(404),n(200),n(405),n(233),n(406),n(234),n(407),n(408),n(409),n(410),n(411),n(236),n(238),n(239),n(412),n(413),n(414),n(415),n(416),n(417),n(418),n(419),n(420),n(421),n(422),n(423),n(424),n(425),n(426),n(427),n(428),n(429),n(430),n(431),n(432),n(433),n(434),n(435),n(436),n(437),t.exports=n(54)},function(t,e,n){n(438),n(439),n(440),n(441),n(442),n(443),n(444),n(445),n(446),t.exports=n(54).Reflect},function(t,e,n){(function(r){var o,i; -/** -* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes -* (c) 2010-2020 Google LLC. https://angular.io/ -* License: MIT -*/void 0===(i="function"==typeof(o=function(){"use strict"; -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */!function(t){var e=t.performance;function n(t){e&&e.mark&&e.mark(t)}function r(t,n){e&&e.measure&&e.measure(t,n)}n("Zone");var o=t.__Zone_symbol_prefix||"__zone_symbol__";function i(t){return o+t}var a=!0===t[i("forceDuplicateZoneCheck")];if(t.Zone){if(a||"function"!=typeof t.Zone.__symbol__)throw new Error("Zone already loaded.");return t.Zone}var u=function(){function e(t,e){this._parent=t,this._name=e?e.name||"unnamed":"",this._properties=e&&e.properties||{},this._zoneDelegate=new f(this,this._parent&&this._parent._zoneDelegate,e)}return e.assertZonePatched=function(){if(t.Promise!==A.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")},Object.defineProperty(e,"root",{get:function(){for(var t=e.current;t.parent;)t=t.parent;return t},enumerable:!0,configurable:!0}),Object.defineProperty(e,"current",{get:function(){return M.zone},enumerable:!0,configurable:!0}),Object.defineProperty(e,"currentTask",{get:function(){return I},enumerable:!0,configurable:!0}),e.__load_patch=function(o,i){if(A.hasOwnProperty(o)){if(a)throw Error("Already loaded patch: "+o)}else if(!t["__Zone_disable_"+o]){var u="Zone:"+o;n(u),A[o]=i(t,e,j),r(u,u)}},Object.defineProperty(e.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return this._name},enumerable:!0,configurable:!0}),e.prototype.get=function(t){var e=this.getZoneWith(t);if(e)return e._properties[t]},e.prototype.getZoneWith=function(t){for(var e=this;e;){if(e._properties.hasOwnProperty(t))return e;e=e._parent}return null},e.prototype.fork=function(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)},e.prototype.wrap=function(t,e){if("function"!=typeof t)throw new Error("Expecting function got: "+t);var n=this._zoneDelegate.intercept(this,t,e),r=this;return function(){return r.runGuarded(n,this,arguments,e)}},e.prototype.run=function(t,e,n,r){M={parent:M,zone:this};try{return this._zoneDelegate.invoke(this,t,e,n,r)}finally{M=M.parent}},e.prototype.runGuarded=function(t,e,n,r){void 0===e&&(e=null),M={parent:M,zone:this};try{try{return this._zoneDelegate.invoke(this,t,e,n,r)}catch(o){if(this._zoneDelegate.handleError(this,o))throw o}}finally{M=M.parent}},e.prototype.runTask=function(t,e,n){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||m).name+"; Execution: "+this.name+")");if(t.state!==_||t.type!==P&&t.type!==O){var r=t.state!=k;r&&t._transitionTo(k,S),t.runCount++;var o=I;I=t,M={parent:M,zone:this};try{t.type==O&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,e,n)}catch(i){if(this._zoneDelegate.handleError(this,i))throw i}}finally{t.state!==_&&t.state!==x&&(t.type==P||t.data&&t.data.isPeriodic?r&&t._transitionTo(S,k):(t.runCount=0,this._updateTaskCount(t,-1),r&&t._transitionTo(_,k,_))),M=M.parent,I=o}}},e.prototype.scheduleTask=function(t){if(t.zone&&t.zone!==this)for(var e=this;e;){if(e===t.zone)throw Error("can not reschedule task to "+this.name+" which is descendants of the original zone "+t.zone.name);e=e.parent}t._transitionTo(w,_);var n=[];t._zoneDelegates=n,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(r){throw t._transitionTo(x,w,_),this._zoneDelegate.handleError(this,r),r}return t._zoneDelegates===n&&this._updateTaskCount(t,1),t.state==w&&t._transitionTo(S,w),t},e.prototype.scheduleMicroTask=function(t,e,n,r){return this.scheduleTask(new l(T,t,e,n,r,void 0))},e.prototype.scheduleMacroTask=function(t,e,n,r,o){return this.scheduleTask(new l(O,t,e,n,r,o))},e.prototype.scheduleEventTask=function(t,e,n,r,o){return this.scheduleTask(new l(P,t,e,n,r,o))},e.prototype.cancelTask=function(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||m).name+"; Execution: "+this.name+")");t._transitionTo(E,S,k);try{this._zoneDelegate.cancelTask(this,t)}catch(e){throw t._transitionTo(x,E),this._zoneDelegate.handleError(this,e),e}return this._updateTaskCount(t,-1),t._transitionTo(_,E),t.runCount=0,t},e.prototype._updateTaskCount=function(t,e){var n=t._zoneDelegates;-1==e&&(t._zoneDelegates=null);for(var r=0;r0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:t};this.hasTask(this.zone,i)}},t}(),l=function(){function e(n,r,o,i,a,u){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=n,this.source=r,this.data=i,this.scheduleFn=a,this.cancelFn=u,!o)throw new Error("callback is not defined");this.callback=o;var c=this;n===P&&i&&i.useG?this.invoke=e.invokeTask:this.invoke=function(){return e.invokeTask.call(t,c,this,arguments)}}return e.invokeTask=function(t,e,n){t||(t=this),C++;try{return t.runCount++,t.zone.runTask(t,e,n)}finally{1==C&&b(),C--}},Object.defineProperty(e.prototype,"zone",{get:function(){return this._zone},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"state",{get:function(){return this._state},enumerable:!0,configurable:!0}),e.prototype.cancelScheduleRequest=function(){this._transitionTo(_,w)},e.prototype._transitionTo=function(t,e,n){if(this._state!==e&&this._state!==n)throw new Error(this.type+" '"+this.source+"': can not transition to '"+t+"', expecting state '"+e+"'"+(n?" or '"+n+"'":"")+", was '"+this._state+"'.");this._state=t,t==_&&(this._zoneDelegates=null)},e.prototype.toString=function(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)},e.prototype.toJSON=function(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}},e}(),h=i("setTimeout"),p=i("Promise"),v=i("then"),d=[],y=!1;function g(e){if(0===C&&0===d.length)if(c||t[p]&&(c=t[p].resolve(0)),c){var n=c[v];n||(n=c.then),n.call(c,b)}else t[h](b,0);e&&d.push(e)}function b(){if(!y){for(y=!0;d.length;){var t=d;d=[];for(var e=0;e=0;n--)"function"==typeof t[n]&&(t[n]=p(t[n],e+"_"+n));return t}function S(t){return!t||!1!==t.writable&&!("function"==typeof t.get&&void 0===t.set)}var k="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,E=!("nw"in b)&&void 0!==b.process&&"[object process]"==={}.toString.call(b.process),x=!E&&!k&&!(!y||!g.HTMLElement),T=void 0!==b.process&&"[object process]"==={}.toString.call(b.process)&&!k&&!(!y||!g.HTMLElement),O={},P=function(t){if(t=t||b.event){var e=O[t.type];e||(e=O[t.type]=d("ON_PROPERTY"+t.type));var n,r=this||t.target||b,o=r[e];if(x&&r===g&&"error"===t.type){var i=t;!0===(n=o&&o.call(this,i.message,i.filename,i.lineno,i.colno,i.error))&&t.preventDefault()}else null==(n=o&&o.apply(this,arguments))||n||t.preventDefault();return n}};function A(n,r,o){var i=t(n,r);if(!i&&o){var a=t(o,r);a&&(i={enumerable:!0,configurable:!0})}if(i&&i.configurable){var u=d("on"+r+"patched");if(!n.hasOwnProperty(u)||!n[u]){delete i.writable,delete i.value;var c=i.get,s=i.set,f=r.substr(2),l=O[f];l||(l=O[f]=d("ON_PROPERTY"+f)),i.set=function(t){var e=this;if(e||n!==b||(e=b),e){var r=e[l];r&&e.removeEventListener(f,P),s&&s.apply(e,_),"function"==typeof t?(e[l]=t,e.addEventListener(f,P,!1)):e[l]=null}},i.get=function(){var t=this;if(t||n!==b||(t=b),!t)return null;var e=t[l];if(e)return e;if(c){var o=c&&c.call(this);if(o)return i.set.call(this,o),"function"==typeof t[m]&&t.removeAttribute(r),o}return null},e(n,r,i),n[u]=!0}}}function j(t,e,n){if(e)for(var r=0;r=0&&"function"==typeof r[i.cbIdx]?v(i.name,r[i.cbIdx],i,o):t.apply(e,r)}})}function F(t,e){t[d("OriginalDelegate")]=e}var N=!1,Z=!1;function L(){if(N)return Z;N=!0;try{var t=g.navigator.userAgent;-1===t.indexOf("MSIE ")&&-1===t.indexOf("Trident/")&&-1===t.indexOf("Edge/")||(Z=!0)}catch(e){}return Z} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */Zone.__load_patch("toString",function(t){var e=Function.prototype.toString,n=d("OriginalDelegate"),r=d("Promise"),o=d("Error"),i=function(){if("function"==typeof this){var i=this[n];if(i)return"function"==typeof i?e.call(i):Object.prototype.toString.call(i);if(this===Promise){var a=t[r];if(a)return e.call(a)}if(this===Error){var u=t[o];if(u)return e.call(u)}}return e.call(this)};i[n]=e,Function.prototype.toString=i;var a=Object.prototype.toString;Object.prototype.toString=function(){return this instanceof Promise?"[object Promise]":a.call(this)}}); -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -var B=!1;if("undefined"!=typeof window)try{var U=Object.defineProperty({},"passive",{get:function(){B=!0}});window.addEventListener("test",U,U),window.removeEventListener("test",U,U)}catch(Tt){B=!1}var z={useG:!0},H={},W={},K=new RegExp("^"+h+"(\\w+)(true|false)$"),G=d("propagationStopped");function q(t,e){var n=(e?e(t):t)+l,r=(e?e(t):t)+f,o=h+n,i=h+r;H[t]={},H[t][l]=o,H[t][f]=i}function V(t,e,r){var o=r&&r.add||a,i=r&&r.rm||u,c=r&&r.listeners||"eventListeners",s=r&&r.rmAll||"removeAllListeners",p=d(o),v="."+o+":",y="prependListener",g="."+y+":",b=function(t,e,n){if(!t.isRemoved){var r=t.callback;"object"==typeof r&&r.handleEvent&&(t.callback=function(t){return r.handleEvent(t)},t.originalDelegate=r),t.invoke(t,e,[n]);var o=t.options;if(o&&"object"==typeof o&&o.once){var a=t.originalDelegate?t.originalDelegate:t.callback;e[i].call(e,n.type,a,o)}}},m=function(e){if(e=e||t.event){var n=this||e.target||t,r=n[H[e.type][l]];if(r)if(1===r.length)b(r[0],n,e);else for(var o=r.slice(),i=0;i1?new i(e,n):new i(e),s=t.ObjectGetOwnPropertyDescriptor(c,"onmessage");return s&&!1===s.configurable?(a=t.ObjectCreate(c),u=c,[r,o,"send","close"].forEach(function(e){a[e]=function(){var n=t.ArraySlice.call(arguments);if(e===r||e===o){var i=n.length>0?n[0]:void 0;if(i){var u=Zone.__symbol__("ON_PROPERTY"+i);c[u]=a[u]}}return c[e].apply(c,n)}})):a=c,t.patchOnProperties(a,["close","error","message","open"],u),a};var a=e.WebSocket;for(var u in i)a[u]=i[u]}(t,e),Zone[t.symbol("patchEvents")]=!0}}Zone.__load_patch("util",function(n,r,c){c.patchOnProperties=j,c.patchMethod=R,c.bindArguments=w,c.patchMacroTask=D;var s=r.__symbol__("BLACK_LISTED_EVENTS"),v=r.__symbol__("UNPATCHED_EVENTS");n[v]&&(n[s]=n[v]),n[s]&&(r[s]=r[v]=n[s]),c.patchEventPrototype=Y,c.patchEventTarget=V,c.isIEOrEdge=L,c.ObjectDefineProperty=e,c.ObjectGetOwnPropertyDescriptor=t,c.ObjectCreate=o,c.ArraySlice=i,c.patchClass=I,c.wrapWithCurrentZone=p,c.filterProperties=pt,c.attachOriginToPatched=F,c._redefineProperty=Object.defineProperty,c.patchCallbacks=J,c.getGlobalObjects=function(){return{globalSources:W,zoneSymbolEventNames:H,eventNames:ht,isBrowser:x,isMix:T,isNode:E,TRUE_STR:f,FALSE_STR:l,ZONE_SYMBOL_PREFIX:h,ADD_EVENT_LISTENER_STR:a,REMOVE_EVENT_LISTENER_STR:u}}}), -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -function(t){var e,n=t.__Zone_symbol_prefix||"__zone_symbol__";t[(e="legacyPatch",n+e)]=function(){var e=t.Zone;e.__load_patch("defineProperty",function(t,e,n){n._redefineProperty=gt,yt()}),e.__load_patch("registerElement",function(t,e,n){!function(t,e){var n=e.getGlobalObjects(),r=n.isBrowser,o=n.isMix;(r||o)&&"registerElement"in t.document&&e.patchCallbacks(e,document,"Document","registerElement",["createdCallback","attachedCallback","detachedCallback","attributeChangedCallback"])} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */(t,n)}),e.__load_patch("EventTargetLegacy",function(t,e,n){wt(t,n),St(n,t)})}}("undefined"!=typeof window?window:void 0!==r?r:"undefined"!=typeof self?self:{}); -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -var kt=d("zoneTask");function Et(t,e,n,r){var o=null,i=null;n+=r;var a={};function u(e){var n=e.data;return n.args[0]=function(){try{e.invoke.apply(this,arguments)}finally{e.data&&e.data.isPeriodic||("number"==typeof n.handleId?delete a[n.handleId]:n.handleId&&(n.handleId[kt]=null))}},n.handleId=o.apply(t,n.args),e}function c(t){return i(t.data.handleId)}o=R(t,e+=r,function(n){return function(o,i){if("function"==typeof i[0]){var s={isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?i[1]||0:void 0,args:i},f=v(e,i[0],s,u,c);if(!f)return f;var l=f.data.handleId;return"number"==typeof l?a[l]=f:l&&(l[kt]=f),l&&l.ref&&l.unref&&"function"==typeof l.ref&&"function"==typeof l.unref&&(f.ref=l.ref.bind(l),f.unref=l.unref.bind(l)),"number"==typeof l||l?l:f}return n.apply(t,i)}}),i=R(t,n,function(e){return function(n,r){var o,i=r[0];"number"==typeof i?o=a[i]:(o=i&&i[kt])||(o=i),o&&"string"==typeof o.type?"notScheduled"!==o.state&&(o.cancelFn&&o.data.isPeriodic||0===o.runCount)&&("number"==typeof i?delete a[i]:i&&(i[kt]=null),o.zone.cancelTask(o)):e.apply(t,r)}})} -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -function xt(t,e){if(!Zone[e.symbol("patchEventTarget")]){for(var n=e.getGlobalObjects(),r=n.eventNames,o=n.zoneSymbolEventNames,i=n.TRUE_STR,a=n.FALSE_STR,u=n.ZONE_SYMBOL_PREFIX,c=0;c0){var o=t.invoke;t.invoke=function(){for(var n=a[e.__symbol__("loadfalse")],i=0;i-1};function a(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function u(t){return"string"!=typeof t&&(t=String(t)),t}function c(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return r.iterable&&(e[Symbol.iterator]=function(){return e}),e}function s(t){this.map={},t instanceof s?t.forEach(function(t,e){this.append(e,t)},this):Array.isArray(t)?t.forEach(function(t){this.append(t[0],t[1])},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function f(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function l(t){return new Promise(function(e,n){t.onload=function(){e(t.result)},t.onerror=function(){n(t.error)}})}function h(t){var e=new FileReader,n=l(e);return e.readAsArrayBuffer(t),n}function p(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function v(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:r.blob&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:r.formData&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:r.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():r.arrayBuffer&&r.blob&&((e=t)&&DataView.prototype.isPrototypeOf(e))?(this._bodyArrayBuffer=p(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):r.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(t)||i(t))?this._bodyArrayBuffer=p(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):r.searchParams&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},r.blob&&(this.blob=function(){var t=f(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?f(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(h)}),this.text=function(){var t,e,n,r=f(this);if(r)return r;if(this._bodyBlob)return t=this._bodyBlob,e=new FileReader,n=l(e),e.readAsText(t),n;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),n=new Array(e.length),r=0;r-1?r:n),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function g(t){var e=new FormData;return t.trim().split("&").forEach(function(t){if(t){var n=t.split("="),r=n.shift().replace(/\+/g," "),o=n.join("=").replace(/\+/g," ");e.append(decodeURIComponent(r),decodeURIComponent(o))}}),e}function b(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new s(e.headers),this.url=e.url||"",this._initBody(t)}y.prototype.clone=function(){return new y(this,{body:this._bodyInit})},v.call(y.prototype),v.call(b.prototype),b.prototype.clone=function(){return new b(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new s(this.headers),url:this.url})},b.error=function(){var t=new b(null,{status:0,statusText:""});return t.type="error",t};var m=[301,302,303,307,308];b.redirect=function(t,e){if(-1===m.indexOf(e))throw new RangeError("Invalid status code");return new b(null,{status:e,headers:{location:t}})};var _=self.DOMException;try{new _}catch(S){(_=function(t,e){this.message=t,this.name=e;var n=Error(t);this.stack=n.stack}).prototype=Object.create(Error.prototype),_.prototype.constructor=_}function w(t,e){return new Promise(function(n,o){var i=new y(t,e);if(i.signal&&i.signal.aborted)return o(new _("Aborted","AbortError"));var a=new XMLHttpRequest;function u(){a.abort()}a.onload=function(){var t,e,r={status:a.status,statusText:a.statusText,headers:(t=a.getAllResponseHeaders()||"",e=new s,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach(function(t){var n=t.split(":"),r=n.shift().trim();if(r){var o=n.join(":").trim();e.append(r,o)}}),e)};r.url="responseURL"in a?a.responseURL:r.headers.get("X-Request-URL");var o="response"in a?a.response:a.responseText;n(new b(o,r))},a.onerror=function(){o(new TypeError("Network request failed"))},a.ontimeout=function(){o(new TypeError("Network request failed"))},a.onabort=function(){o(new _("Aborted","AbortError"))},a.open(i.method,i.url,!0),"include"===i.credentials?a.withCredentials=!0:"omit"===i.credentials&&(a.withCredentials=!1),"responseType"in a&&r.blob&&(a.responseType="blob"),i.headers.forEach(function(t,e){a.setRequestHeader(e,t)}),i.signal&&(i.signal.addEventListener("abort",u),a.onreadystatechange=function(){4===a.readyState&&i.signal.removeEventListener("abort",u)}),a.send(void 0===i._bodyInit?null:i._bodyInit)})}w.polyfill=!0,self.fetch||(self.fetch=w,self.Headers=s,self.Request=y,self.Response=b)},function(t,e,n){var r,o; -/** - * @file Web Cryptography API shim - * @author Artem S Vybornov - * @license MIT - */ -/** - * @file Web Cryptography API shim - * @author Artem S Vybornov - * @license MIT - */ -o="undefined"!=typeof self?self:this,void 0===(r=function(){return function(t){"use strict";if("function"!=typeof Promise)throw"Promise support required";var e=t.crypto||t.msCrypto;if(e){var n=e.subtle||e.webkitSubtle;if(n){var r=t.Crypto||e.constructor||Object,o=t.SubtleCrypto||n.constructor||Object,i=(t.CryptoKey||t.Key||Object,t.navigator.userAgent.indexOf("Edge/")>-1),a=!!t.msCrypto&&!i,u=!e.subtle&&!!e.webkitSubtle;if(a||u){var c={KoZIhvcNAQEB:"1.2.840.113549.1.1.1"},s={"1.2.840.113549.1.1.1":"KoZIhvcNAQEB"};if(["generateKey","importKey","unwrapKey"].forEach(function(t){var r=n[t];n[t]=function(o,i,c){var s,f,m,k,E,x=[].slice.call(arguments);switch(t){case"generateKey":s=d(o),f=i,m=c;break;case"importKey":s=d(c),f=x[3],m=x[4],"jwk"===o&&((i=g(i)).alg||(i.alg=y(s)),i.key_ops||(i.key_ops="oct"!==i.kty?"d"in i?m.filter(S):m.filter(w):m.slice()),x[1]=(E=g(i),a&&(E.extractable=E.ext,delete E.ext),p(unescape(encodeURIComponent(JSON.stringify(E)))).buffer));break;case"unwrapKey":s=x[4],f=x[5],m=x[6],x[2]=c._key}if("generateKey"===t&&"HMAC"===s.name&&s.hash)return s.length=s.length||{"SHA-1":512,"SHA-256":512,"SHA-384":1024,"SHA-512":1024}[s.hash.name],n.importKey("raw",e.getRandomValues(new Uint8Array(s.length+7>>3)),s,f,m);if(u&&"generateKey"===t&&"RSASSA-PKCS1-v1_5"===s.name&&(!s.modulusLength||s.modulusLength>=2048))return(o=d(o)).name="RSAES-PKCS1-v1_5",delete o.hash,n.generateKey(o,!0,["encrypt","decrypt"]).then(function(t){return Promise.all([n.exportKey("jwk",t.publicKey),n.exportKey("jwk",t.privateKey)])}).then(function(t){return t[0].alg=t[1].alg=y(s),t[0].key_ops=m.filter(w),t[1].key_ops=m.filter(S),Promise.all([n.importKey("jwk",t[0],s,!0,t[0].key_ops),n.importKey("jwk",t[1],s,f,t[1].key_ops)])}).then(function(t){return{publicKey:t[0],privateKey:t[1]}});if((u||a&&"SHA-1"===(s.hash||{}).name)&&"importKey"===t&&"jwk"===o&&"HMAC"===s.name&&"oct"===i.kty)return n.importKey("raw",p(h(i.k)),c,x[3],x[4]);if(u&&"importKey"===t&&("spki"===o||"pkcs8"===o))return n.importKey("jwk",function(t){var e=b(t),n=!1;e.length>2&&(n=!0,e.shift());var r={ext:!0};switch(e[0][0]){case"1.2.840.113549.1.1.1":var o=["n","e","d","p","q","dp","dq","qi"],i=b(e[1]);n&&i.shift();for(var a=0;a2&&(r=!0,i.unshift(new Uint8Array([0]))),n[0][0]="1.2.840.113549.1.1.1",e=i;break;default:throw new TypeError("Unsupported key type")}return n.push(new Uint8Array(m(e)).buffer),r?n.unshift(new Uint8Array([0])):n[1]={tag:3,value:n[1]},new Uint8Array(m(n)).buffer}(g(t))})),c}}),["encrypt","decrypt","sign","verify"].forEach(function(t){var e=n[t];n[t]=function(r,o,i,u){if(a&&(!i.byteLength||u&&!u.byteLength))throw new Error("Empy input is not allowed");var c,s=[].slice.call(arguments),f=d(r);if(a&&"decrypt"===t&&"AES-GCM"===f.name){var l=r.tagLength>>3;s[2]=(i.buffer||i).slice(0,i.byteLength-l),r.tag=(i.buffer||i).slice(i.byteLength-l)}s[1]=o._key;try{c=e.apply(n,s)}catch(h){return Promise.reject(h)}return a&&(c=new Promise(function(e,n){c.onabort=c.onerror=function(t){n(t)},c.oncomplete=function(n){if(n=n.target.result,"encrypt"===t&&n instanceof AesGcmEncryptResult){var r=n.ciphertext,o=n.tag;(n=new Uint8Array(r.byteLength+o.byteLength)).set(new Uint8Array(r),0),n.set(new Uint8Array(o),r.byteLength),n=n.buffer}e(n)}})),c}}),a){var f=n.digest;n.digest=function(t,e){if(!e.byteLength)throw new Error("Empy input is not allowed");var r;try{r=f.call(n,t,e)}catch(o){return Promise.reject(o)}return r=new Promise(function(t,e){r.onabort=r.onerror=function(t){e(t)},r.oncomplete=function(e){t(e.target.result)}})},t.crypto=Object.create(e,{getRandomValues:{value:function(t){return e.getRandomValues(t)}},subtle:{value:n}}),t.CryptoKey=_}u&&(e.subtle=n,t.Crypto=r,t.SubtleCrypto=o,t.CryptoKey=_)}}}function l(t){return btoa(t).replace(/\=+$/,"").replace(/\+/g,"-").replace(/\//g,"_")}function h(t){return t=(t+="===").slice(0,-t.length%4),atob(t.replace(/-/g,"+").replace(/_/g,"/"))}function p(t){for(var e=new Uint8Array(t.length),n=0;nt.length)throw new RangeError("Malformed DER");var n,r=t[e.pos++],o=t[e.pos++];if(o>=128){if(o&=127,e.end-e.pos=128){var u=r,r=4;for(e.splice(o,0,u>>24&255,u>>16&255,u>>8&255,255&u);r>1&&!(u>>24);)u<<=8,r--;r<4&&e.splice(o,4-r),r|=128}return e.splice(o-2,2,n,r),e}function _(t,e,n,r){Object.defineProperties(this,{_key:{value:t},type:{value:t.type,enumerable:!0},extractable:{value:void 0===n?t.extractable:n,enumerable:!0},algorithm:{value:void 0===e?t.algorithm:e,enumerable:!0},usages:{value:void 0===r?t.usages:r,enumerable:!0}})}function w(t){return"verify"===t||"encrypt"===t||"wrapKey"===t}function S(t){return"sign"===t||"decrypt"===t||"unwrapKey"===t}}(o)}.apply(e,[]))||(t.exports=r)}]); -//# sourceMappingURL=polyfills.c95e488578c8d271f566.js.map \ No newline at end of file diff --git a/app/polyfills.c95e488578c8d271f566.js.map b/app/polyfills.c95e488578c8d271f566.js.map deleted file mode 100644 index 26ba9088..00000000 --- a/app/polyfills.c95e488578c8d271f566.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/core-js/modules/_export.js","webpack:///./node_modules/core-js/modules/_an-object.js","webpack:///./node_modules/core-js/modules/_global.js","webpack:///./node_modules/core-js/modules/_fails.js","webpack:///./node_modules/core-js/modules/_is-object.js","webpack:///./node_modules/core-js/modules/_wks.js","webpack:///./node_modules/core-js/modules/_to-length.js","webpack:///./node_modules/core-js/modules/_object-dp.js","webpack:///./node_modules/core-js/modules/_descriptors.js","webpack:///./node_modules/core-js/modules/_to-object.js","webpack:///./node_modules/core-js/modules/_a-function.js","webpack:///./node_modules/core-js/modules/_string-html.js","webpack:///./node_modules/core-js/modules/_has.js","webpack:///./node_modules/core-js/modules/_redefine.js","webpack:///./node_modules/core-js/modules/_to-iobject.js","webpack:///./node_modules/core-js/modules/_core.js","webpack:///./node_modules/core-js/modules/_hide.js","webpack:///./node_modules/core-js/modules/_object-gpo.js","webpack:///./node_modules/core-js/modules/_object-gopd.js","webpack:///./node_modules/core-js/modules/_strict-method.js","webpack:///./node_modules/core-js/modules/_ctx.js","webpack:///./node_modules/core-js/modules/_to-integer.js","webpack:///./node_modules/core-js/modules/_cof.js","webpack:///./node_modules/core-js/modules/_object-sap.js","webpack:///./node_modules/core-js/modules/_array-methods.js","webpack:///./node_modules/core-js/modules/_to-primitive.js","webpack:///./node_modules/core-js/modules/_defined.js","webpack:///./node_modules/core-js/modules/_typed-array.js","webpack:///./node_modules/core-js/modules/_metadata.js","webpack:///./node_modules/core-js/modules/_meta.js","webpack:///./node_modules/core-js/modules/_object-create.js","webpack:///./node_modules/core-js/modules/_property-desc.js","webpack:///./node_modules/core-js/modules/_library.js","webpack:///./node_modules/core-js/modules/_uid.js","webpack:///./node_modules/core-js/modules/_object-keys.js","webpack:///./node_modules/core-js/modules/_to-absolute-index.js","webpack:///./node_modules/core-js/modules/_object-gopn.js","webpack:///./node_modules/core-js/modules/_classof.js","webpack:///./node_modules/core-js/modules/_add-to-unscopables.js","webpack:///./node_modules/core-js/modules/_set-species.js","webpack:///./node_modules/core-js/modules/_an-instance.js","webpack:///./node_modules/core-js/modules/_for-of.js","webpack:///./node_modules/core-js/modules/_redefine-all.js","webpack:///./node_modules/core-js/modules/_set-to-string-tag.js","webpack:///./node_modules/core-js/modules/_iterators.js","webpack:///./node_modules/core-js/modules/_validate-collection.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/modules/_iobject.js","webpack:///./node_modules/core-js/modules/_string-trim.js","webpack:///./node_modules/core-js/modules/_object-pie.js","webpack:///./node_modules/core-js/modules/_flags.js","webpack:///./node_modules/core-js/modules/_species-constructor.js","webpack:///./node_modules/core-js/modules/_shared.js","webpack:///./node_modules/core-js/modules/_object-gops.js","webpack:///./node_modules/core-js/modules/core.get-iterator-method.js","webpack:///./node_modules/core-js/modules/_iter-detect.js","webpack:///./node_modules/core-js/modules/_regexp-exec-abstract.js","webpack:///./node_modules/core-js/modules/_fix-re-wks.js","webpack:///./node_modules/core-js/modules/_collection.js","webpack:///./node_modules/core-js/modules/_typed.js","webpack:///./node_modules/core-js/modules/_array-includes.js","webpack:///./node_modules/core-js/modules/_is-array.js","webpack:///./node_modules/core-js/modules/_string-at.js","webpack:///./node_modules/core-js/modules/_iter-define.js","webpack:///./node_modules/core-js/modules/_is-regexp.js","webpack:///./node_modules/core-js/modules/_dom-create.js","webpack:///./node_modules/core-js/modules/_shared-key.js","webpack:///./node_modules/core-js/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/modules/_html.js","webpack:///./node_modules/core-js/modules/_set-proto.js","webpack:///./node_modules/core-js/modules/_string-ws.js","webpack:///./node_modules/core-js/modules/_inherit-if-required.js","webpack:///./node_modules/core-js/modules/_math-sign.js","webpack:///./node_modules/core-js/modules/_math-expm1.js","webpack:///./node_modules/core-js/modules/_iter-create.js","webpack:///./node_modules/core-js/modules/_string-context.js","webpack:///./node_modules/core-js/modules/_fails-is-regexp.js","webpack:///./node_modules/core-js/modules/_is-array-iter.js","webpack:///./node_modules/core-js/modules/_array-fill.js","webpack:///./node_modules/core-js/modules/_regexp-exec.js","webpack:///./node_modules/core-js/modules/_advance-string-index.js","webpack:///./node_modules/core-js/modules/_typed-buffer.js","webpack:///./node_modules/core-js/modules/_object-assign.js","webpack:///./node_modules/core-js/modules/_invoke.js","webpack:///./node_modules/core-js/modules/_string-repeat.js","webpack:///./node_modules/core-js/modules/_create-property.js","webpack:///./node_modules/core-js/modules/es6.array.iterator.js","webpack:///./node_modules/core-js/modules/_iter-step.js","webpack:///./node_modules/core-js/modules/_task.js","webpack:///./node_modules/core-js/modules/_new-promise-capability.js","webpack:///./node_modules/core-js/modules/_user-agent.js","webpack:///./node_modules/core-js/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/modules/_wks-ext.js","webpack:///./node_modules/core-js/modules/_wks-define.js","webpack:///./node_modules/core-js/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/modules/_object-dps.js","webpack:///./node_modules/core-js/modules/_object-gopn-ext.js","webpack:///./node_modules/core-js/modules/_same-value.js","webpack:///./node_modules/core-js/modules/_bind.js","webpack:///./node_modules/core-js/modules/_parse-int.js","webpack:///./node_modules/core-js/modules/_parse-float.js","webpack:///./node_modules/core-js/modules/_a-number-value.js","webpack:///./node_modules/core-js/modules/_is-integer.js","webpack:///./node_modules/core-js/modules/_math-log1p.js","webpack:///./node_modules/core-js/modules/_iter-call.js","webpack:///./node_modules/core-js/modules/_array-species-create.js","webpack:///./node_modules/core-js/modules/_array-reduce.js","webpack:///./node_modules/core-js/modules/_array-copy-within.js","webpack:///./node_modules/core-js/modules/es6.regexp.exec.js","webpack:///./node_modules/core-js/modules/es6.regexp.flags.js","webpack:///./node_modules/core-js/modules/_microtask.js","webpack:///./node_modules/core-js/modules/es6.map.js","webpack:///./node_modules/core-js/modules/_collection-strong.js","webpack:///./node_modules/core-js/modules/es6.set.js","webpack:///./node_modules/core-js/modules/es6.weak-map.js","webpack:///./node_modules/core-js/modules/_collection-weak.js","webpack:///./node_modules/core-js/modules/_to-index.js","webpack:///./node_modules/core-js/modules/_own-keys.js","webpack:///./node_modules/core-js/modules/_math-fround.js","webpack:///./node_modules/core-js/modules/_perform.js","webpack:///./node_modules/core-js/modules/_promise-resolve.js","webpack:///./node_modules/core-js/modules/_array-from-iterable.js","webpack:///./node_modules/core-js/modules/es6.symbol.js","webpack:///./node_modules/core-js/modules/_enum-keys.js","webpack:///./node_modules/core-js/modules/es6.object.create.js","webpack:///./node_modules/core-js/modules/es6.object.define-property.js","webpack:///./node_modules/core-js/modules/es6.object.define-properties.js","webpack:///./node_modules/core-js/modules/es6.object.get-own-property-descriptor.js","webpack:///./node_modules/core-js/modules/es6.object.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.object.keys.js","webpack:///./node_modules/core-js/modules/es6.object.get-own-property-names.js","webpack:///./node_modules/core-js/modules/es6.object.freeze.js","webpack:///./node_modules/core-js/modules/es6.object.seal.js","webpack:///./node_modules/core-js/modules/es6.object.prevent-extensions.js","webpack:///./node_modules/core-js/modules/es6.object.is-frozen.js","webpack:///./node_modules/core-js/modules/es6.object.is-sealed.js","webpack:///./node_modules/core-js/modules/es6.object.is-extensible.js","webpack:///./node_modules/core-js/modules/es6.object.assign.js","webpack:///./node_modules/core-js/modules/es6.object.is.js","webpack:///./node_modules/core-js/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.object.to-string.js","webpack:///./node_modules/core-js/modules/es6.function.bind.js","webpack:///./node_modules/core-js/modules/es6.function.name.js","webpack:///./node_modules/core-js/modules/es6.function.has-instance.js","webpack:///./node_modules/core-js/modules/es6.parse-int.js","webpack:///./node_modules/core-js/modules/es6.parse-float.js","webpack:///./node_modules/core-js/modules/es6.number.constructor.js","webpack:///./node_modules/core-js/modules/es6.number.to-fixed.js","webpack:///./node_modules/core-js/modules/es6.number.to-precision.js","webpack:///./node_modules/core-js/modules/es6.number.epsilon.js","webpack:///./node_modules/core-js/modules/es6.number.is-finite.js","webpack:///./node_modules/core-js/modules/es6.number.is-integer.js","webpack:///./node_modules/core-js/modules/es6.number.is-nan.js","webpack:///./node_modules/core-js/modules/es6.number.is-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.max-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.min-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.parse-float.js","webpack:///./node_modules/core-js/modules/es6.number.parse-int.js","webpack:///./node_modules/core-js/modules/es6.math.acosh.js","webpack:///./node_modules/core-js/modules/es6.math.asinh.js","webpack:///./node_modules/core-js/modules/es6.math.atanh.js","webpack:///./node_modules/core-js/modules/es6.math.cbrt.js","webpack:///./node_modules/core-js/modules/es6.math.clz32.js","webpack:///./node_modules/core-js/modules/es6.math.cosh.js","webpack:///./node_modules/core-js/modules/es6.math.expm1.js","webpack:///./node_modules/core-js/modules/es6.math.fround.js","webpack:///./node_modules/core-js/modules/es6.math.hypot.js","webpack:///./node_modules/core-js/modules/es6.math.imul.js","webpack:///./node_modules/core-js/modules/es6.math.log10.js","webpack:///./node_modules/core-js/modules/es6.math.log1p.js","webpack:///./node_modules/core-js/modules/es6.math.log2.js","webpack:///./node_modules/core-js/modules/es6.math.sign.js","webpack:///./node_modules/core-js/modules/es6.math.sinh.js","webpack:///./node_modules/core-js/modules/es6.math.tanh.js","webpack:///./node_modules/core-js/modules/es6.math.trunc.js","webpack:///./node_modules/core-js/modules/es6.string.from-code-point.js","webpack:///./node_modules/core-js/modules/es6.string.raw.js","webpack:///./node_modules/core-js/modules/es6.string.trim.js","webpack:///./node_modules/core-js/modules/es6.string.iterator.js","webpack:///./node_modules/core-js/modules/es6.string.code-point-at.js","webpack:///./node_modules/core-js/modules/es6.string.ends-with.js","webpack:///./node_modules/core-js/modules/es6.string.includes.js","webpack:///./node_modules/core-js/modules/es6.string.repeat.js","webpack:///./node_modules/core-js/modules/es6.string.starts-with.js","webpack:///./node_modules/core-js/modules/es6.string.anchor.js","webpack:///./node_modules/core-js/modules/es6.string.big.js","webpack:///./node_modules/core-js/modules/es6.string.blink.js","webpack:///./node_modules/core-js/modules/es6.string.bold.js","webpack:///./node_modules/core-js/modules/es6.string.fixed.js","webpack:///./node_modules/core-js/modules/es6.string.fontcolor.js","webpack:///./node_modules/core-js/modules/es6.string.fontsize.js","webpack:///./node_modules/core-js/modules/es6.string.italics.js","webpack:///./node_modules/core-js/modules/es6.string.link.js","webpack:///./node_modules/core-js/modules/es6.string.small.js","webpack:///./node_modules/core-js/modules/es6.string.strike.js","webpack:///./node_modules/core-js/modules/es6.string.sub.js","webpack:///./node_modules/core-js/modules/es6.string.sup.js","webpack:///./node_modules/core-js/modules/es6.date.now.js","webpack:///./node_modules/core-js/modules/es6.date.to-json.js","webpack:///./node_modules/core-js/modules/es6.date.to-iso-string.js","webpack:///./node_modules/core-js/modules/_date-to-iso-string.js","webpack:///./node_modules/core-js/modules/es6.date.to-string.js","webpack:///./node_modules/core-js/modules/es6.date.to-primitive.js","webpack:///./node_modules/core-js/modules/_date-to-primitive.js","webpack:///./node_modules/core-js/modules/es6.array.is-array.js","webpack:///./node_modules/core-js/modules/es6.array.from.js","webpack:///./node_modules/core-js/modules/es6.array.of.js","webpack:///./node_modules/core-js/modules/es6.array.join.js","webpack:///./node_modules/core-js/modules/es6.array.slice.js","webpack:///./node_modules/core-js/modules/es6.array.sort.js","webpack:///./node_modules/core-js/modules/es6.array.for-each.js","webpack:///./node_modules/core-js/modules/_array-species-constructor.js","webpack:///./node_modules/core-js/modules/es6.array.map.js","webpack:///./node_modules/core-js/modules/es6.array.filter.js","webpack:///./node_modules/core-js/modules/es6.array.some.js","webpack:///./node_modules/core-js/modules/es6.array.every.js","webpack:///./node_modules/core-js/modules/es6.array.reduce.js","webpack:///./node_modules/core-js/modules/es6.array.reduce-right.js","webpack:///./node_modules/core-js/modules/es6.array.index-of.js","webpack:///./node_modules/core-js/modules/es6.array.last-index-of.js","webpack:///./node_modules/core-js/modules/es6.array.copy-within.js","webpack:///./node_modules/core-js/modules/es6.array.fill.js","webpack:///./node_modules/core-js/modules/es6.array.find.js","webpack:///./node_modules/core-js/modules/es6.array.find-index.js","webpack:///./node_modules/core-js/modules/es6.array.species.js","webpack:///./node_modules/core-js/modules/es6.regexp.constructor.js","webpack:///./node_modules/core-js/modules/es6.regexp.to-string.js","webpack:///./node_modules/core-js/modules/es6.regexp.match.js","webpack:///./node_modules/core-js/modules/es6.regexp.replace.js","webpack:///./node_modules/core-js/modules/es6.regexp.search.js","webpack:///./node_modules/core-js/modules/es6.regexp.split.js","webpack:///./node_modules/core-js/modules/es6.promise.js","webpack:///./node_modules/core-js/modules/es6.weak-set.js","webpack:///./node_modules/core-js/modules/es6.typed.array-buffer.js","webpack:///./node_modules/core-js/modules/es6.typed.data-view.js","webpack:///./node_modules/core-js/modules/es6.typed.int8-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint8-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint8-clamped-array.js","webpack:///./node_modules/core-js/modules/es6.typed.int16-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint16-array.js","webpack:///./node_modules/core-js/modules/es6.typed.int32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.float32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.float64-array.js","webpack:///./node_modules/core-js/modules/es6.reflect.apply.js","webpack:///./node_modules/core-js/modules/es6.reflect.construct.js","webpack:///./node_modules/core-js/modules/es6.reflect.define-property.js","webpack:///./node_modules/core-js/modules/es6.reflect.delete-property.js","webpack:///./node_modules/core-js/modules/es6.reflect.enumerate.js","webpack:///./node_modules/core-js/modules/es6.reflect.get.js","webpack:///./node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js","webpack:///./node_modules/core-js/modules/es6.reflect.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.reflect.has.js","webpack:///./node_modules/core-js/modules/es6.reflect.is-extensible.js","webpack:///./node_modules/core-js/modules/es6.reflect.own-keys.js","webpack:///./node_modules/core-js/modules/es6.reflect.prevent-extensions.js","webpack:///./node_modules/core-js/modules/es6.reflect.set.js","webpack:///./node_modules/core-js/modules/es6.reflect.set-prototype-of.js","webpack:///./node_modules/core-js/modules/es7.reflect.define-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.delete-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-metadata-keys.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-own-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js","webpack:///./node_modules/core-js/modules/es7.reflect.has-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.has-own-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.metadata.js","webpack:///./src/app/polyfills.ts","webpack:///./node_modules/core-js/es6/index.js","webpack:///./node_modules/core-js/es7/reflect.js","webpack:///./node_modules/zone.js/dist/zone.js","webpack:///./node_modules/whatwg-fetch/fetch.js","webpack:///./node_modules/webcrypto-shim/webcrypto-shim.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","global","core","hide","redefine","ctx","$export","type","source","own","out","exp","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","target","expProto","undefined","Function","U","W","R","isObject","it","TypeError","window","Math","self","__g","exec","e","store","uid","USE_SYMBOL","toInteger","min","anObject","IE8_DOM_DEFINE","toPrimitive","dP","f","O","Attributes","a","defined","fails","quot","createHTML","string","tag","attribute","String","p1","replace","NAME","test","toLowerCase","split","length","has","SRC","$toString","TPL","inspectSource","val","safe","isFunction","join","this","IObject","version","__e","createDesc","toObject","IE_PROTO","ObjectProto","getPrototypeOf","constructor","pIE","toIObject","gOPD","getOwnPropertyDescriptor","method","arg","aFunction","fn","that","b","apply","arguments","ceil","floor","isNaN","toString","slice","KEY","toLength","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","$this","callbackfn","res","index","result","push","valueOf","LIBRARY","$typed","$buffer","anInstance","propertyDesc","redefineAll","toIndex","toAbsoluteIndex","classof","isArrayIter","gOPN","getIterFn","wks","createArrayMethod","createArrayIncludes","speciesConstructor","ArrayIterators","Iterators","$iterDetect","setSpecies","arrayFill","arrayCopyWithin","$DP","$GOPD","RangeError","Uint8Array","ArrayProto","Array","$ArrayBuffer","ArrayBuffer","$DataView","DataView","arrayForEach","arrayFilter","arraySome","arrayEvery","arrayFind","arrayFindIndex","arrayIncludes","arrayIndexOf","arrayValues","values","arrayKeys","keys","arrayEntries","entries","arrayLastIndexOf","lastIndexOf","arrayReduce","reduce","arrayReduceRight","reduceRight","arrayJoin","arraySort","sort","arraySlice","arrayToString","arrayToLocaleString","toLocaleString","ITERATOR","TAG","TYPED_CONSTRUCTOR","DEF_CONSTRUCTOR","ALL_CONSTRUCTORS","CONSTR","TYPED_ARRAY","TYPED","VIEW","$map","allocate","LITTLE_ENDIAN","Uint16Array","buffer","FORCED_SET","set","toOffset","BYTES","offset","validate","C","speciesFromList","list","fromList","addGetter","internal","_d","$from","step","iterator","aLen","mapfn","mapping","iterFn","next","done","$of","TO_LOCALE_BUG","$toLocaleString","proto","copyWithin","start","every","fill","filter","find","predicate","findIndex","forEach","indexOf","searchElement","includes","separator","map","reverse","middle","some","comparefn","subarray","begin","end","$begin","byteOffset","BYTES_PER_ELEMENT","$slice","$set","arrayLike","src","len","$iterators","isTAIndex","$getDesc","$setDesc","desc","configurable","writable","$TypedArrayPrototype$","wrapper","CLAMPED","GETTER","SETTER","TypedArray","Base","TAC","FORCED","ABV","TypedArrayPrototype","addElement","data","v","round","setter","$offset","$length","byteLength","klass","$len","iter","concat","$nativeIterator","CORRECT_ITER_NAME","$iterator","of","from","Map","shared","getOrCreateMetadataMap","targetKey","targetMetadata","keyMetadata","MetadataKey","metadataMap","MetadataValue","_","META","setDesc","id","isExtensible","FREEZE","preventExtensions","setMeta","w","meta","NEED","fastKey","getWeak","onFreeze","dPs","enumBugKeys","Empty","createDict","iframeDocument","iframe","style","display","appendChild","contentWindow","document","open","write","lt","close","Properties","bitmap","px","random","$keys","max","hiddenKeys","getOwnPropertyNames","cof","ARG","T","tryGet","callee","UNSCOPABLES","DESCRIPTORS","SPECIES","Constructor","forbiddenField","BREAK","RETURN","iterable","def","stat","_t","g","propertyIsEnumerable","spaces","space","ltrim","RegExp","rtrim","exporter","ALIAS","FORCE","trim","ignoreCase","multiline","unicode","sticky","D","copyright","getOwnPropertySymbols","getIteratorMethod","SAFE_CLOSING","riter","skipClosing","arr","builtinExec","regexpExec","REPLACE_SUPPORTS_NAMED_GROUPS","re","groups","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","fns","nativeMethod","regexp","str","arg2","forceStringMethod","strfn","rxfn","forOf","setToStringTag","inheritIfRequired","methods","common","IS_WEAK","ADDER","fixMethod","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","clear","getConstructor","setStrong","Typed","TypedArrayConstructors","IS_INCLUDES","el","fromIndex","isArray","TO_STRING","pos","charCodeAt","charAt","$iterCreate","BUGGY","returnThis","DEFAULT","IS_SET","IteratorPrototype","getMethod","kind","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","MATCH","isRegExp","is","createElement","documentElement","check","setPrototypeOf","buggy","__proto__","sign","x","$expm1","expm1","descriptor","searchString","endPos","re1","re2","regexpFlags","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","NPCG_INCLUDED","lastIndex","reCopy","match","at","PROTOTYPE","WRONG_INDEX","Infinity","BaseBuffer","abs","pow","log","LN2","$BUFFER","$LENGTH","$OFFSET","packIEEE754","mLen","nBytes","eLen","eMax","eBias","rt","unpackIEEE754","nBits","NaN","unpackI32","bytes","packI8","packI16","packI32","packF64","packF32","view","isLittleEndian","intIndex","_b","pack","conversion","ArrayBufferProto","j","$setInt8","setInt8","getInt8","setUint8","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","getKeys","gOPS","$assign","assign","A","K","k","getSymbols","isEnum","args","un","count","$defineProperty","addToUnscopables","iterated","_i","_k","Arguments","defer","channel","port","invoke","html","cel","process","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","queue","run","listener","event","nextTick","now","port2","port1","onmessage","postMessage","addEventListener","importScripts","removeChild","setTimeout","PromiseCapability","resolve","reject","promise","$$resolve","$$reject","navigator","userAgent","wksExt","$Symbol","names","defineProperties","windowNames","getWindowNames","y","factories","partArgs","bound","construct","$parseInt","parseInt","$trim","ws","hex","radix","$parseFloat","parseFloat","msg","isFinite","log1p","ret","original","memo","isRight","to","inc","forced","flags","macrotask","Observer","MutationObserver","WebKitMutationObserver","Promise","isNode","head","last","notify","flush","parent","domain","exit","enter","standalone","then","toggle","node","createTextNode","observe","characterData","task","strong","entry","getEntry","$iterDefine","SIZE","_f","_l","delete","prev","add","InternalMap","each","weak","uncaughtFrozenStore","ufstore","tmp","$WeakMap","freeze","$has","UncaughtFrozenStore","findUncaughtFrozen","splice","number","Reflect","ownKeys","EPSILON","EPSILON32","MAX32","MIN32","fround","$abs","$sign","newPromiseCapability","promiseCapability","$fails","wksDefine","enumKeys","_create","gOPNExt","$JSON","JSON","_stringify","stringify","HIDDEN","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","USE_NATIVE","QObject","findChild","setSymbolDesc","protoDesc","wrap","sym","isSymbol","$defineProperties","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","es6Symbols","wellKnownSymbols","for","keyFor","useSetter","useSimple","replacer","$replacer","symbols","$getPrototypeOf","$freeze","$seal","$preventExtensions","$isFrozen","$isSealed","$isExtensible","FProto","nameRE","HAS_INSTANCE","FunctionProto","$Number","BROKEN_COF","TRIM","toNumber","argument","third","maxCode","first","code","digits","aNumberValue","repeat","$toFixed","toFixed","ERROR","multiply","c2","divide","numToString","acc","fractionDigits","z","x2","$toPrecision","toPrecision","precision","_isFinite","isInteger","isSafeInteger","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","Number","sqrt","$acosh","acosh","MAX_VALUE","$asinh","asinh","$atanh","atanh","cbrt","clz32","LOG2E","cosh","hypot","value1","value2","div","sum","larg","$imul","imul","xn","yn","xl","yl","log10","LOG10E","log2","sinh","tanh","trunc","fromCharCode","$fromCodePoint","fromCodePoint","raw","callSite","tpl","$at","point","codePointAt","context","$endsWith","endsWith","endPosition","search","$startsWith","startsWith","color","size","url","Date","getTime","toJSON","toISOString","pv","$toISOString","lz","num","getUTCFullYear","getUTCMilliseconds","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","DateProto","hint","createProperty","upTo","cloned","$sort","$forEach","STRICT","$filter","$some","$every","$reduce","$indexOf","NEGATIVE_ZERO","$find","$flags","$RegExp","CORRECT_NEW","tiRE","piRE","fiU","proxy","define","advanceStringIndex","regExpExec","$match","maybeCallNative","rx","fullUnicode","matchStr","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","REPLACE","$replace","searchValue","replaceValue","functionalReplace","results","accumulatedResult","nextSourcePosition","matched","position","captures","namedCaptures","replacerArgs","replacement","getSubstitution","tailPos","ch","capture","sameValue","SEARCH","$search","previousLastIndex","callRegExpExec","$min","$push","SUPPORTS_Y","SPLIT","$split","internalSplit","limit","lastLength","output","lastLastIndex","splitLimit","separatorCopy","splitter","unicodeMatching","lim","q","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","microtask","newPromiseCapabilityModule","perform","promiseResolve","versions","v8","$Promise","empty","FakePromise","PromiseRejectionEvent","isThenable","isReject","_n","chain","_c","_v","ok","_s","reaction","exited","handler","fail","_h","onHandleUnhandled","onUnhandled","console","unhandled","isUnhandled","emit","onunhandledrejection","reason","error","_a","onrejectionhandled","$reject","_w","$resolve","executor","err","onFulfilled","onRejected","catch","capability","all","remaining","$index","alreadyCalled","race","$isView","isView","fin","viewS","viewT","init","rApply","fApply","thisArgument","argumentsList","L","rConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","propertyKey","attributes","deleteProperty","Enumerate","enumerate","receiver","getProto","V","existingDescriptor","ownDesc","setProto","metadata","toMetaKey","ordinaryDefineOwnMetadata","defineMetadata","metadataKey","metadataValue","deleteMetadata","ordinaryHasOwnMetadata","ordinaryGetOwnMetadata","ordinaryGetMetadata","getMetadata","Set","ordinaryOwnMetadataKeys","ordinaryMetadataKeys","oKeys","pKeys","getMetadataKeys","getOwnMetadata","getOwnMetadataKeys","ordinaryHasMetadata","hasMetadata","hasOwnMetadata","$metadata","Element","matches","msMatchesSelector","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","performance","mark","performanceMeasure","label","symbolPrefix","__symbol__","checkDuplicate","Error","Zone","zoneSpec","_parent","_name","_properties","properties","_zoneDelegate","ZoneDelegate","assertZonePatched","patches","zone","current","_currentZoneFrame","_currentTask","__load_patch","perfName","_api","getZoneWith","fork","callback","_callback","intercept","runGuarded","applyThis","applyArgs","handleError","runTask","NO_ZONE","state","notScheduled","eventTask","macroTask","reEntryGuard","running","_transitionTo","scheduled","runCount","previousTask","isPeriodic","cancelFn","invokeTask","unknown","_updateTaskCount","scheduleTask","newZone","scheduling","zoneDelegates","_zoneDelegates","_zone","scheduleMicroTask","customSchedule","ZoneTask","microTask","scheduleMacroTask","customCancel","scheduleEventTask","cancelTask","canceling","nativeMicroTaskQueuePromise","DELEGATE_ZS","onHasTask","delegate","hasTaskState","hasTask","onScheduleTask","onInvokeTask","onCancelTask","parentDelegate","_taskCounts","_parentDelegate","_forkZS","onFork","_forkDlgt","_forkCurrZone","_interceptZS","onIntercept","_interceptDlgt","_interceptCurrZone","_invokeZS","onInvoke","_invokeDlgt","_invokeCurrZone","_handleErrorZS","onHandleError","_handleErrorDlgt","_handleErrorCurrZone","_scheduleTaskZS","_scheduleTaskDlgt","_scheduleTaskCurrZone","_invokeTaskZS","_invokeTaskDlgt","_invokeTaskCurrZone","_cancelTaskZS","_cancelTaskDlgt","_cancelTaskCurrZone","_hasTaskZS","_hasTaskDlgt","_hasTaskDlgtOwner","_hasTaskCurrZone","zoneSpecHasTask","parentHasTask","targetZone","returnTask","scheduleFn","isEmpty","counts","change","options","_state","useG","_numberOfNestedTaskFrames","drainMicroTaskQueue","cancelScheduleRequest","toState","fromState1","fromState2","handleId","symbolSetTimeout","symbolPromise","symbolThen","_microTaskQueue","_isDrainingMicrotaskQueue","nativeThen","onUnhandledError","microtaskDrainDone","symbol","currentZoneFrame","noop","showUncaughtError","patchEventTarget","patchOnProperties","patchMethod","bindArguments","patchThen","patchMacroTask","setNativePromise","NativePromise","patchEventPrototype","isIEOrEdge","getGlobalObjects","ObjectDefineProperty","ObjectGetOwnPropertyDescriptor","ObjectCreate","ArraySlice","patchClass","wrapWithCurrentZone","filterProperties","attachOriginToPatched","_redefineProperty","patchCallbacks","api","_uncaughtPromiseErrors","isDisableWrappingUncaughtPromiseRejection","creationTrace","rejection","message","stack","_loop_1","uncaughtPromiseError","shift","UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL","handleUnhandledRejection","forwardResolution","forwardRejection","ZoneAwarePromise","symbolState","symbolValue","symbolFinally","symbolParentPromiseValue","symbolParentPromiseState","UNRESOLVED","RESOLVED","REJECTED","REJECTED_NO_CATCH","makeResolver","resolvePromise","once","wasCalled","wrappedFunction","TYPE_ERROR","CURRENT_TASK_TRACE_SYMBOL","onceWrapper","clearRejectedNoCatch","trace","currentTask","scheduleResolveOrReject","obj","className","readableObjectToString","REJECTION_HANDLED_HANDLER","chainPromise","promiseState","parentPromiseValue","isFinallyPromise","rej","onResolve","onReject","values_1","allWithCallback","allSettled","thenCallback","status","errorCallback","unresolvedCount","valueIndex","resolvedValues","_loop_2","this_1","curValueIndex","thenErr","values_2","species","finally","onFinally","ZONE_AWARE_PROMISE","NewNativePromise","symbolThenPatched","Ctor","prop","originalThen","_this","wrapped","fetch_1","resultPromise","ctor","ObjectGetPrototypeOf","ADD_EVENT_LISTENER_STR","REMOVE_EVENT_LISTENER_STR","ZONE_SYMBOL_ADD_EVENT_LISTENER","ZONE_SYMBOL_REMOVE_EVENT_LISTENER","TRUE_STR","FALSE_STR","ZONE_SYMBOL_PREFIX","scheduleMacroTaskWithCurrentZone","zoneSymbol","isWindowExists","internalWindow","_global","REMOVE_ATTRIBUTE","NULL_ON_PROP_VALUE","isPropertyWritable","isWebWorker","WorkerGlobalScope","isBrowser","isMix","zoneSymbolEventNames","wrapFn","eventNameSymbol","errorEvent","filename","lineno","colno","preventDefault","patchProperty","prototypeDesc","onPropPatchedSymbol","originalDescGet","originalDescSet","eventName","substr","newValue","previousValue","removeEventListener","removeAttribute","onProperties","originalInstanceKey","OriginalClass","shouldCopySymbolProperties","patchFn","dest","delegateName","patchDelegate_1","funcName","metaCreator","setNative","cbIdx","patched","isDetectedIEOrEdge","ieOrEdge","ua","originalFunctionToString","ORIGINAL_DELEGATE_SYMBOL","PROMISE_SYMBOL","ERROR_SYMBOL","newFunctionToString","originalDelegate","nativePromise","nativeError","originalObjectToString","passiveSupported","OPTIMIZED_ZONE_EVENT_TASK_DATA","zoneSymbolEventNames$1","globalSources","EVENT_NAME_SYMBOL_REGX","IMMEDIATE_PROPAGATION_SYMBOL","prepareEventNames","eventNameToString","falseEventName","trueEventName","symbolCapture","apis","patchOptions","ADD_EVENT_LISTENER","REMOVE_EVENT_LISTENER","rm","LISTENERS_EVENT_LISTENER","listeners","REMOVE_ALL_LISTENERS_EVENT_LISTENER","rmAll","zoneSymbolAddEventListener","ADD_EVENT_LISTENER_SOURCE","PREPEND_EVENT_LISTENER","PREPEND_EVENT_LISTENER_SOURCE","isRemoved","handleEvent","delegate_1","globalZoneAwareCallback","tasks","copyTasks","globalZoneAwareCaptureCallback","patchEventTargetMethods","useGlobalCallback","validateHandler","vh","chkDup","returnTarget","nativePrependEventListener","taskData","nativeAddEventListener","nativeRemoveEventListener","nativeListeners","nativeRemoveAllListeners","prepend","isExisting","symbolEventNames","symbolEventName","existingTasks","existingTask","allRemoved","compare","diff","typeOfDelegate","blackListedEvents","passiveEvents","makeAddListener","nativeListener","addSource","customScheduleFn","customCancelFn","transferEventName","isHandleEvent","passive","buildEventListenerOptions","constructorName","targetSource","unshift","onPropertySymbol","findEventTasks","symbolCaptureEventName","captureTasks","removeTasks","evtName","foundTasks","captureFalseTasks","captureTrueTasks","Event","targetName","callbacks","nativeDelegate","opts","zoneSymbol$1","_defineProperty","_getOwnPropertyDescriptor","unconfigurablesKey","windowEventNames","mediaElementEventNames","frameEventNames","frameSetEventNames","marqueeEventNames","XMLHttpRequestEventNames","IDBIndexEventNames","websocketEventNames","workerEventNames","eventNames","ignoreProperties","tip","ip","targetIgnoreProperties","op","patchFilteredProperties","filteredProperties","propertyDescriptorPatch","supportsWebSocket","WebSocket","internalWindow_1","ignoreErrorProperties","Document","HTMLElement","HTMLMediaElement","HTMLFrameSetElement","HTMLBodyElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement_1","Worker_1","XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","propertyPatch","isUnconfigurable","originalConfigurableFlag","rewriteDescriptor","_tryDefineProperty","props","isFrozen","descJson","eventTargetLegacyPatch","NO_EVENT_TARGET","isWtf","WTF_ISSUE_555_ARRAY","isDisableIECheck","isEnableCrossContextCheck","BROWSER_TOOLS","pointerEventsMap","MSPointerCancel","MSPointerDown","MSPointerEnter","MSPointerHover","MSPointerLeave","MSPointerMove","MSPointerOut","MSPointerOver","MSPointerUp","targets","apiTypes","testString","pointerEventName","propertyDescriptorLegacyPatch","onclick","XMLHttpRequestPrototype","xhrDesc","req","onreadystatechange","SYMBOL_FAKE_ONREADYSTATECHANGE_1","detectFunc","canPatchViaPropertyDescriptor","unboundKey","_loop_4","onproperty","elt","parentElement","patchViaCapturingAllTheEvents","WS","EventTarget","proxySocket","proxySocketProto","socket","onmessageDesc","propName","propertySymbol","globalWebSocket","SYMBOL_BLACK_LISTED_EVENTS","SYMBOL_UNPATCHED_EVENTS","registerElementPatch","taskSymbol","patchTimer","setName","cancelName","nameSuffix","clearNative","tasksByHandleId","delay","handle","ref","unref","eventTargetPatch","EVENT_TARGET","legacyPatch","blockingMethods","name_2","patchEvent","customElements","patchCustomElements","oriAddListener","oriRemoveListener","XMLHttpRequestEventTarget_1","XMLHttpRequestEventTargetPrototype","READY_STATE_CHANGE","SCHEDULED","openNative","XHR_SYNC","XHR_URL","fetchTaskAborting","fetchTaskScheduling","sendNative","aborted","placeholderCallback","XHR_ERROR_BEFORE_SCHEDULED","abortNative","XHR_TASK","XHR_SCHEDULED","XHR_LISTENER","newListener","readyState","DONE","loadTasks","oriInvoke_1","storedTask","patchXHR","geolocation","fnNames","_loop_3","name_1","patchPrototype","findPromiseRejectionHandler","eventTasks","evt","__webpack_exports__","Headers","Request","Response","DOMException","fetch","support","searchParams","blob","Blob","formData","arrayBuffer","viewClasses","isArrayBufferView","normalizeName","normalizeValue","iteratorFor","items","headers","append","header","consumed","body","bodyUsed","fileReaderReady","reader","onload","onerror","readBlobAsArrayBuffer","FileReader","readAsArrayBuffer","bufferClone","buf","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","_bodyArrayBuffer","rejected","text","readAsText","chars","readArrayBufferAsText","decode","json","parse","oldValue","thisArg","input","upcased","credentials","signal","toUpperCase","referrer","form","decodeURIComponent","bodyInit","statusText","clone","response","redirectStatuses","redirect","location","request","xhr","abortXhr","abort","rawHeaders","getAllResponseHeaders","line","parts","responseURL","responseText","ontimeout","onabort","withCredentials","responseType","setRequestHeader","send","polyfill","_crypto","crypto","msCrypto","_subtle","subtle","webkitSubtle","_Crypto","Crypto","_SubtleCrypto","SubtleCrypto","isEdge","CryptoKey","Key","isIE","isWebkit","oid2str","KoZIhvcNAQEB","str2oid","1.2.840.113549.1.1.1","_fn","ka","kx","ku","jwk","alg","b2jwk","jwkAlg","key_ops","kty","isPrvKeyUse","isPubKeyUse","ext","s2b","unescape","encodeURIComponent","_key","hash","SHA-1","SHA-256","SHA-384","SHA-512","importKey","getRandomValues","modulusLength","generateKey","exportKey","publicKey","privateKey","a2s","info","b2der","prv","rsaComp","rsaKey","s2a","b2s","pkcs2jwk","decrypt","oncomplete","algorithm","publicExponent","encrypt","usages","der2b","jwk2pkcs","tl","tagLength","AesGcmEncryptResult","ciphertext","_digest","digest","btoa","atob","SyntaxError","HMAC","RSASSA-PKCS1-v1_5","RSAES-PKCS1-v1_5","","RSA-OAEP","AES-KW","128","192","256","AES-GCM","AES-CBC","escape","extractable","rv","xlen","oid","use","u","factory"],"mappings":"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WACA,QACA,OACA,YACA,aACA,iBACA,qBACA,YACA,aACA,aACA,YACA,WACA,YACA,UACA,aACA,oBACA,QACA,OACA,UACA,gBACA,cACA,eACA,eACA,oBACA,uBACA,4BACA,mBACA,sBACA,yBACA,cACA,WACA,cACA,YACA,WACA,aACA,QACA,SACA,SACA,SACA,UACA,SACA,kBACA,cACA,OACA,OACA,UACA,SACA,UACA,aACA,eACA,cACA,YACA,aACA,WACA,mBACA,gBACA,UACA,SAoHAjkC,OAbA,wEACA,qCACA,WAvGA,CACA,0FACA,sFACA,oFACA,6BA8GAwjC,GA5EA,CACA,kFACA,iFACA,yEAGA,CACA,WACA,cACA,cACA,iBACA,mBACA,kBACA,eACA,aACA,gBACA,gBACA,iBACA,kBACA,cACA,eACA,iBACA,cACA,OACA,UACA,YACA,iBACA,YACA,cACA,WACA,UACA,aACA,eACA,UACA,0BACA,aACA,OACA,gBACA,6BACA,kBACA,qBACA,eACA,gBACA,iBACA,eACA,sBACA,iBACA,uBACA,kBACA,gBACA,iBACA,iBACA,iBACA,gBACA,eACA,gBACA,cACA,aACA,gCACA,mBACA,OACA,kBAgBA,SAAApO,GAAAnlC,EAAAysC,EAAAwH,GACA,IAAAA,GAAA,IAAAA,EAAAtxC,OACA,OAAA8pC,EAEA,IAAAyH,EAAAD,EAAAxnC,OAAA,SAAA0nC,GAAyD,OAAAA,EAAAn0C,aACzD,IAAAk0C,GAAA,IAAAA,EAAAvxC,OACA,OAAA8pC,EAEA,IAAA2H,EAAAF,EAAA,GAAAD,iBACA,OAAAxH,EAAAhgC,OAAA,SAAA4nC,GAAkD,WAAAD,EAAAtnC,QAAAunC,KAElD,SAAAC,GAAAt0C,EAAAysC,EAAAwH,EAAA11C,GAGA,GAAAyB,EAAA,CAGA,IAAAu0C,EAAApP,GAAAnlC,EAAAysC,EAAAwH,GACA9P,EAAAnkC,EAAAu0C,EAAAh2C,IAEA,SAAAi2C,GAAAjP,EAAAuF,GACA,KAAA5mB,GAAAmnB,KAGApP,KAAAsJ,EAAAzB,OAAA,iBAIA,IAAA2Q,EAAA,oBA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","file":"app/polyfills.c95e488578c8d271f566.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 715);\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","var $export = require('./_export');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function (string, tag, attribute, value) {\n var S = String(defined(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\nmodule.exports = function (NAME, exec) {\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function () {\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar TO_STRING = 'toString';\nvar $toString = Function[TO_STRING];\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","var core = module.exports = { version: '2.6.2' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","'use strict';\nvar fails = require('./_fails');\n\nmodule.exports = function (method, arg) {\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call\n arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);\n });\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nif (require('./_descriptors')) {\n var LIBRARY = require('./_library');\n var global = require('./_global');\n var fails = require('./_fails');\n var $export = require('./_export');\n var $typed = require('./_typed');\n var $buffer = require('./_typed-buffer');\n var ctx = require('./_ctx');\n var anInstance = require('./_an-instance');\n var propertyDesc = require('./_property-desc');\n var hide = require('./_hide');\n var redefineAll = require('./_redefine-all');\n var toInteger = require('./_to-integer');\n var toLength = require('./_to-length');\n var toIndex = require('./_to-index');\n var toAbsoluteIndex = require('./_to-absolute-index');\n var toPrimitive = require('./_to-primitive');\n var has = require('./_has');\n var classof = require('./_classof');\n var isObject = require('./_is-object');\n var toObject = require('./_to-object');\n var isArrayIter = require('./_is-array-iter');\n var create = require('./_object-create');\n var getPrototypeOf = require('./_object-gpo');\n var gOPN = require('./_object-gopn').f;\n var getIterFn = require('./core.get-iterator-method');\n var uid = require('./_uid');\n var wks = require('./_wks');\n var createArrayMethod = require('./_array-methods');\n var createArrayIncludes = require('./_array-includes');\n var speciesConstructor = require('./_species-constructor');\n var ArrayIterators = require('./es6.array.iterator');\n var Iterators = require('./_iterators');\n var $iterDetect = require('./_iter-detect');\n var setSpecies = require('./_set-species');\n var arrayFill = require('./_array-fill');\n var arrayCopyWithin = require('./_array-copy-within');\n var $DP = require('./_object-dp');\n var $GOPD = require('./_object-gopd');\n var dP = $DP.f;\n var gOPD = $GOPD.f;\n var RangeError = global.RangeError;\n var TypeError = global.TypeError;\n var Uint8Array = global.Uint8Array;\n var ARRAY_BUFFER = 'ArrayBuffer';\n var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;\n var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\n var PROTOTYPE = 'prototype';\n var ArrayProto = Array[PROTOTYPE];\n var $ArrayBuffer = $buffer.ArrayBuffer;\n var $DataView = $buffer.DataView;\n var arrayForEach = createArrayMethod(0);\n var arrayFilter = createArrayMethod(2);\n var arraySome = createArrayMethod(3);\n var arrayEvery = createArrayMethod(4);\n var arrayFind = createArrayMethod(5);\n var arrayFindIndex = createArrayMethod(6);\n var arrayIncludes = createArrayIncludes(true);\n var arrayIndexOf = createArrayIncludes(false);\n var arrayValues = ArrayIterators.values;\n var arrayKeys = ArrayIterators.keys;\n var arrayEntries = ArrayIterators.entries;\n var arrayLastIndexOf = ArrayProto.lastIndexOf;\n var arrayReduce = ArrayProto.reduce;\n var arrayReduceRight = ArrayProto.reduceRight;\n var arrayJoin = ArrayProto.join;\n var arraySort = ArrayProto.sort;\n var arraySlice = ArrayProto.slice;\n var arrayToString = ArrayProto.toString;\n var arrayToLocaleString = ArrayProto.toLocaleString;\n var ITERATOR = wks('iterator');\n var TAG = wks('toStringTag');\n var TYPED_CONSTRUCTOR = uid('typed_constructor');\n var DEF_CONSTRUCTOR = uid('def_constructor');\n var ALL_CONSTRUCTORS = $typed.CONSTR;\n var TYPED_ARRAY = $typed.TYPED;\n var VIEW = $typed.VIEW;\n var WRONG_LENGTH = 'Wrong length!';\n\n var $map = createArrayMethod(1, function (O, length) {\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n\n var LITTLE_ENDIAN = fails(function () {\n // eslint-disable-next-line no-undef\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {\n new Uint8Array(1).set({});\n });\n\n var toOffset = function (it, BYTES) {\n var offset = toInteger(it);\n if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');\n return offset;\n };\n\n var validate = function (it) {\n if (isObject(it) && TYPED_ARRAY in it) return it;\n throw TypeError(it + ' is not a typed array!');\n };\n\n var allocate = function (C, length) {\n if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {\n throw TypeError('It is not a typed array constructor!');\n } return new C(length);\n };\n\n var speciesFromList = function (O, list) {\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n\n var fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = allocate(C, length);\n while (length > index) result[index] = list[index++];\n return result;\n };\n\n var addGetter = function (it, key, internal) {\n dP(it, key, { get: function () { return this._d[internal]; } });\n };\n\n var $from = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iterFn = getIterFn(O);\n var i, length, values, result, step, iterator;\n if (iterFn != undefined && !isArrayIter(iterFn)) {\n for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {\n values.push(step.value);\n } O = values;\n }\n if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);\n for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n\n var $of = function of(/* ...items */) {\n var index = 0;\n var length = arguments.length;\n var result = allocate(this, length);\n while (length > index) result[index] = arguments[index++];\n return result;\n };\n\n // iOS Safari 6.x fails here\n var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); });\n\n var $toLocaleString = function toLocaleString() {\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n\n var proto = {\n copyWithin: function copyWithin(target, start /* , end */) {\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn /* , thisArg */) {\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn /* , thisArg */) {\n return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate /* , thisArg */) {\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate /* , thisArg */) {\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn /* , thisArg */) {\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement /* , fromIndex */) {\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement /* , fromIndex */) {\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator) { // eslint-disable-line no-unused-vars\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn /* , thisArg */) {\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse() {\n var that = this;\n var length = validate(that).length;\n var middle = Math.floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n },\n some: function some(callbackfn /* , thisArg */) {\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn) {\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end) {\n var O = validate(this);\n var length = O.length;\n var $begin = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n O.buffer,\n O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin)\n );\n }\n };\n\n var $slice = function slice(start, end) {\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n\n var $set = function set(arrayLike /* , offset */) {\n validate(this);\n var offset = toOffset(arguments[1], 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError(WRONG_LENGTH);\n while (index < len) this[offset + index] = src[index++];\n };\n\n var $iterators = {\n entries: function entries() {\n return arrayEntries.call(validate(this));\n },\n keys: function keys() {\n return arrayKeys.call(validate(this));\n },\n values: function values() {\n return arrayValues.call(validate(this));\n }\n };\n\n var isTAIndex = function (target, key) {\n return isObject(target)\n && target[TYPED_ARRAY]\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key) {\n return isTAIndex(target, key = toPrimitive(key, true))\n ? propertyDesc(2, target[key])\n : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc) {\n if (isTAIndex(target, key = toPrimitive(key, true))\n && isObject(desc)\n && has(desc, 'value')\n && !has(desc, 'get')\n && !has(desc, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !desc.configurable\n && (!has(desc, 'writable') || desc.writable)\n && (!has(desc, 'enumerable') || desc.enumerable)\n ) {\n target[key] = desc.value;\n return target;\n } return dP(target, key, desc);\n };\n\n if (!ALL_CONSTRUCTORS) {\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n\n if (fails(function () { arrayToString.call({}); })) {\n arrayToString = arrayToLocaleString = function toString() {\n return arrayJoin.call(this);\n };\n }\n\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function () { /* noop */ },\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function () { return this[TYPED_ARRAY]; }\n });\n\n // eslint-disable-next-line max-statements\n module.exports = function (KEY, BYTES, wrapper, CLAMPED) {\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + KEY;\n var SETTER = 'set' + KEY;\n var TypedArray = global[NAME];\n var Base = TypedArray || {};\n var TAC = TypedArray && getPrototypeOf(TypedArray);\n var FORCED = !TypedArray || !$typed.ABV;\n var O = {};\n var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function (that, index) {\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function (that, index, value) {\n var data = that._d;\n if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function (that, index) {\n dP(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if (FORCED) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0;\n var offset = 0;\n var buffer, byteLength, length, klass;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (TYPED_ARRAY in data) {\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if (!fails(function () {\n TypedArray(1);\n }) || !fails(function () {\n new TypedArray(-1); // eslint-disable-line no-new\n }) || !$iterDetect(function (iter) {\n new TypedArray(); // eslint-disable-line no-new\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(1.5); // eslint-disable-line no-new\n new TypedArray(iter); // eslint-disable-line no-new\n }, true)) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME);\n var klass;\n // `ws` module bug, temporarily remove validation length for Uint8Array\n // https://github.com/websockets/ws/pull/645\n if (!isObject(data)) return new Base(toIndex(data));\n if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n return $length !== undefined\n ? new Base(data, toOffset($offset, BYTES), $length)\n : $offset !== undefined\n ? new Base(data, toOffset($offset, BYTES))\n : new Base(data);\n }\n if (TYPED_ARRAY in data) return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {\n if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR];\n var CORRECT_ITER_NAME = !!$nativeIterator\n && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);\n var $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {\n dP(TypedArrayPrototype, TAG, {\n get: function () { return NAME; }\n });\n }\n\n O[NAME] = TypedArray;\n\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n $export($export.S, NAME, {\n BYTES_PER_ELEMENT: BYTES\n });\n\n $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {\n from: $from,\n of: $of\n });\n\n if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n $export($export.P, NAME, proto);\n\n setSpecies(NAME);\n\n $export($export.P + $export.F * FORCED_SET, NAME, { set: $set });\n\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;\n\n $export($export.P + $export.F * fails(function () {\n new TypedArray(1).slice();\n }), NAME, { slice: $slice });\n\n $export($export.P + $export.F * (fails(function () {\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();\n }) || !fails(function () {\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, { toLocaleString: $toLocaleString });\n\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n} else module.exports = function () { /* empty */ };\n","var Map = require('./es6.map');\nvar $export = require('./_export');\nvar shared = require('./_shared')('metadata');\nvar store = shared.store || (shared.store = new (require('./es6.weak-map'))());\n\nvar getOrCreateMetadataMap = function (target, targetKey, create) {\n var targetMetadata = store.get(target);\n if (!targetMetadata) {\n if (!create) return undefined;\n store.set(target, targetMetadata = new Map());\n }\n var keyMetadata = targetMetadata.get(targetKey);\n if (!keyMetadata) {\n if (!create) return undefined;\n targetMetadata.set(targetKey, keyMetadata = new Map());\n } return keyMetadata;\n};\nvar ordinaryHasOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\nvar ordinaryGetOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\nvar ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) {\n getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\nvar ordinaryOwnMetadataKeys = function (target, targetKey) {\n var metadataMap = getOrCreateMetadataMap(target, targetKey, false);\n var keys = [];\n if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); });\n return keys;\n};\nvar toMetaKey = function (it) {\n return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\nvar exp = function (O) {\n $export($export.S, 'Reflect', O);\n};\n\nmodule.exports = {\n store: store,\n map: getOrCreateMetadataMap,\n has: ordinaryHasOwnMetadata,\n get: ordinaryGetOwnMetadata,\n set: ordinaryDefineOwnMetadata,\n keys: ordinaryOwnMetadataKeys,\n key: toMetaKey,\n exp: exp\n};\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","module.exports = false;\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","module.exports = {};\n","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","var $export = require('./_export');\nvar defined = require('./_defined');\nvar fails = require('./_fails');\nvar spaces = require('./_string-ws');\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n var exp = {};\n var FORCE = fails(function () {\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if (ALIAS) exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n string = String(defined(string));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n","exports.f = {}.propertyIsEnumerable;\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","exports.f = Object.getOwnPropertySymbols;\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","'use strict';\n\nvar classof = require('./_classof');\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n","'use strict';\nrequire('./es6.regexp.exec');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\nvar regexpExec = require('./_regexp-exec');\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar redefineAll = require('./_redefine-all');\nvar meta = require('./_meta');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar $iterDetect = require('./_iter-detect');\nvar setToStringTag = require('./_set-to-string-tag');\nvar inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function (KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n // weak collections should not contains .clear method\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar uid = require('./_uid');\nvar TYPED = uid('typed_array');\nvar VIEW = uid('view');\nvar ABV = !!(global.ArrayBuffer && global.DataView);\nvar CONSTR = ABV;\nvar i = 0;\nvar l = 9;\nvar Typed;\n\nvar TypedArrayConstructors = (\n 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile (i < l) {\n if (Typed = global[TypedArrayConstructors[i++]]) {\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n}\n\nmodule.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object');\nvar cof = require('./_cof');\nvar MATCH = require('./_wks')('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n","// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n // Old FF bug\n || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n // Tor Browser bug\n || $expm1(-2e-17) != -2e-17\n) ? function expm1(x) {\n return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n","var MATCH = require('./_wks')('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) { /* empty */ }\n } return true;\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var aLen = arguments.length;\n var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n var end = aLen > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'use strict';\n\nvar regexpFlags = require('./_flags');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","'use strict';\nvar global = require('./_global');\nvar DESCRIPTORS = require('./_descriptors');\nvar LIBRARY = require('./_library');\nvar $typed = require('./_typed');\nvar hide = require('./_hide');\nvar redefineAll = require('./_redefine-all');\nvar fails = require('./_fails');\nvar anInstance = require('./_an-instance');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar toIndex = require('./_to-index');\nvar gOPN = require('./_object-gopn').f;\nvar dP = require('./_object-dp').f;\nvar arrayFill = require('./_array-fill');\nvar setToStringTag = require('./_set-to-string-tag');\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length!';\nvar WRONG_INDEX = 'Wrong index!';\nvar $ArrayBuffer = global[ARRAY_BUFFER];\nvar $DataView = global[DATA_VIEW];\nvar Math = global.Math;\nvar RangeError = global.RangeError;\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = global.Infinity;\nvar BaseBuffer = $ArrayBuffer;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\nvar BUFFER = 'buffer';\nvar BYTE_LENGTH = 'byteLength';\nvar BYTE_OFFSET = 'byteOffset';\nvar $BUFFER = DESCRIPTORS ? '_b' : BUFFER;\nvar $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;\nvar $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nfunction packIEEE754(value, mLen, nBytes) {\n var buffer = new Array(nBytes);\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var i = 0;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n var e, m, c;\n value = abs(value);\n // eslint-disable-next-line no-self-compare\n if (value != value || value === Infinity) {\n // eslint-disable-next-line no-self-compare\n m = value != value ? 1 : 0;\n e = eMax;\n } else {\n e = floor(log(value) / LN2);\n if (value * (c = pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * pow(2, eBias - 1) * pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n buffer[--i] |= s * 128;\n return buffer;\n}\nfunction unpackIEEE754(buffer, mLen, nBytes) {\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = eLen - 7;\n var i = nBytes - 1;\n var s = buffer[i--];\n var e = s & 127;\n var m;\n s >>= 7;\n for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : s ? -Infinity : Infinity;\n } else {\n m = m + pow(2, mLen);\n e = e - eBias;\n } return (s ? -1 : 1) * m * pow(2, e - mLen);\n}\n\nfunction unpackI32(bytes) {\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n}\nfunction packI8(it) {\n return [it & 0xff];\n}\nfunction packI16(it) {\n return [it & 0xff, it >> 8 & 0xff];\n}\nfunction packI32(it) {\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n}\nfunction packF64(it) {\n return packIEEE754(it, 52, 8);\n}\nfunction packF32(it) {\n return packIEEE754(it, 23, 4);\n}\n\nfunction addGetter(C, key, internal) {\n dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } });\n}\n\nfunction get(view, bytes, index, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n}\nfunction set(view, bytes, index, conversion, value, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = conversion(+value);\n for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n}\n\nif (!$typed.ABV) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n this._b = arrayFill.call(new Array(byteLength), 0);\n this[$LENGTH] = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = buffer[$LENGTH];\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n this[$BUFFER] = buffer;\n this[$OFFSET] = offset;\n this[$LENGTH] = byteLength;\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n addGetter($DataView, BUFFER, '_b');\n addGetter($DataView, BYTE_LENGTH, '_l');\n addGetter($DataView, BYTE_OFFSET, '_o');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1]));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packF32, value, arguments[2]);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packF64, value, arguments[2]);\n }\n });\n} else {\n if (!fails(function () {\n $ArrayBuffer(1);\n }) || !fails(function () {\n new $ArrayBuffer(-1); // eslint-disable-line no-new\n }) || fails(function () {\n new $ArrayBuffer(); // eslint-disable-line no-new\n new $ArrayBuffer(1.5); // eslint-disable-line no-new\n new $ArrayBuffer(NaN); // eslint-disable-line no-new\n return $ArrayBuffer.name != ARRAY_BUFFER;\n })) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new BaseBuffer(toIndex(length));\n };\n var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);\n }\n if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;\n }\n // iOS Safari 7.x bug\n var view = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = $DataView[PROTOTYPE].setInt8;\n view.setInt8(0, 2147483648);\n view.setInt8(1, 2147483649);\n if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n","'use strict';\nvar toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n\nmodule.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;\n return res;\n};\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","exports.f = require('./_wks');\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","'use strict';\nvar aFunction = require('./_a-function');\nvar isObject = require('./_is-object');\nvar invoke = require('./_invoke');\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n if (!(len in factories)) {\n for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = arraySlice.call(arguments, 1);\n var bound = function (/* args... */) {\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n return bound;\n};\n","var $parseInt = require('./_global').parseInt;\nvar $trim = require('./_string-trim').trim;\nvar ws = require('./_string-ws');\nvar hex = /^[-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {\n var string = $trim(String(str), 3);\n return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;\n","var $parseFloat = require('./_global').parseFloat;\nvar $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str) {\n var string = $trim(String(str), 3);\n var result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n","var cof = require('./_cof');\nmodule.exports = function (it, msg) {\n if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);\n return +it;\n};\n","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object');\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x) {\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n","var aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar toLength = require('./_to-length');\n\nmodule.exports = function (that, callbackfn, aLen, memo, isRight) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IObject(O);\n var length = toLength(O.length);\n var index = isRight ? length - 1 : 0;\n var i = isRight ? -1 : 1;\n if (aLen < 2) for (;;) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (isRight ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;isRight ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n};\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","'use strict';\nvar regexpExec = require('./_regexp-exec');\nrequire('./_export')({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\n});\n","// 21.2.5.3 get RegExp.prototype.flags()\nif (require('./_descriptors') && /./g.flags != 'g') require('./_object-dp').f(RegExp.prototype, 'flags', {\n configurable: true,\n get: require('./_flags')\n});\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n","'use strict';\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar validate = require('./_validate-collection');\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar tmp = {};\nvar InternalMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (fails(function () { return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7; })) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n // store frozen objects on internal weakmap shim\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function (key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n","// https://tc39.github.io/ecma262/#sec-toindex\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length!');\n return length;\n};\n","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn');\nvar gOPS = require('./_object-gops');\nvar anObject = require('./_an-object');\nvar Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = gOPN.f(anObject(it));\n var getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n","// 20.2.2.16 Math.fround(x)\nvar sign = require('./_math-sign');\nvar pow = Math.pow;\nvar EPSILON = pow(2, -52);\nvar EPSILON32 = pow(2, -23);\nvar MAX32 = pow(2, 127) * (2 - EPSILON32);\nvar MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function (n) {\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\nmodule.exports = Math.fround || function fround(x) {\n var $abs = Math.abs(x);\n var $sign = sign(x);\n var a, result;\n if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n // eslint-disable-next-line no-self-compare\n if (result > MAX32 || result != result) return $sign * Infinity;\n return $sign * result;\n};\n","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","var forOf = require('./_for-of');\n\nmodule.exports = function (iter, ITERATOR) {\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n","var $export = require('./_export');\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperties: require('./_object-dps') });\n","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject');\nvar $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function () {\n return function getOwnPropertyDescriptor(it, key) {\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function () {\n return require('./_object-gopn-ext').f;\n});\n","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function ($freeze) {\n return function freeze(it) {\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n","// 19.1.2.17 Object.seal(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('seal', function ($seal) {\n return function seal(it) {\n return $seal && isObject(it) ? $seal(meta(it)) : it;\n };\n});\n","// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('preventExtensions', function ($preventExtensions) {\n return function preventExtensions(it) {\n return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n };\n});\n","// 19.1.2.12 Object.isFrozen(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isFrozen', function ($isFrozen) {\n return function isFrozen(it) {\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n };\n});\n","// 19.1.2.13 Object.isSealed(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isSealed', function ($isSealed) {\n return function isSealed(it) {\n return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n };\n});\n","// 19.1.2.11 Object.isExtensible(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isExtensible', function ($isExtensible) {\n return function isExtensible(it) {\n return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n };\n});\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', { is: require('./_same-value') });\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof');\nvar test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n require('./_redefine')(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n","// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = require('./_export');\n\n$export($export.P, 'Function', { bind: require('./_bind') });\n","var dP = require('./_object-dp').f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function () {\n try {\n return ('' + this).match(nameRE)[1];\n } catch (e) {\n return '';\n }\n }\n});\n","'use strict';\nvar isObject = require('./_is-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar HAS_INSTANCE = require('./_wks')('hasInstance');\nvar FunctionProto = Function.prototype;\n// 19.2.3.6 Function.prototype[@@hasInstance](V)\nif (!(HAS_INSTANCE in FunctionProto)) require('./_object-dp').f(FunctionProto, HAS_INSTANCE, { value: function (O) {\n if (typeof this != 'function' || !isObject(O)) return false;\n if (!isObject(this.prototype)) return O instanceof this;\n // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n while (O = getPrototypeOf(O)) if (this.prototype === O) return true;\n return false;\n} });\n","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n","'use strict';\nvar $export = require('./_export');\nvar toInteger = require('./_to-integer');\nvar aNumberValue = require('./_a-number-value');\nvar repeat = require('./_string-repeat');\nvar $toFixed = 1.0.toFixed;\nvar floor = Math.floor;\nvar data = [0, 0, 0, 0, 0, 0];\nvar ERROR = 'Number.toFixed: incorrect invocation!';\nvar ZERO = '0';\n\nvar multiply = function (n, c) {\n var i = -1;\n var c2 = c;\n while (++i < 6) {\n c2 += n * data[i];\n data[i] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n};\nvar divide = function (n) {\n var i = 6;\n var c = 0;\n while (--i >= 0) {\n c += data[i];\n data[i] = floor(c / n);\n c = (c % n) * 1e7;\n }\n};\nvar numToString = function () {\n var i = 6;\n var s = '';\n while (--i >= 0) {\n if (s !== '' || i === 0 || data[i] !== 0) {\n var t = String(data[i]);\n s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n }\n } return s;\n};\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\n$export($export.P + $export.F * (!!$toFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !require('./_fails')(function () {\n // V8 ~ Android 4.3-\n $toFixed.call({});\n})), 'Number', {\n toFixed: function toFixed(fractionDigits) {\n var x = aNumberValue(this, ERROR);\n var f = toInteger(fractionDigits);\n var s = '';\n var m = ZERO;\n var e, z, j, k;\n if (f < 0 || f > 20) throw RangeError(ERROR);\n // eslint-disable-next-line no-self-compare\n if (x != x) return 'NaN';\n if (x <= -1e21 || x >= 1e21) return String(x);\n if (x < 0) {\n s = '-';\n x = -x;\n }\n if (x > 1e-21) {\n e = log(x * pow(2, 69, 1)) - 69;\n z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if (e > 0) {\n multiply(0, z);\n j = f;\n while (j >= 7) {\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while (j >= 23) {\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n m = numToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n m = numToString() + repeat.call(ZERO, f);\n }\n }\n if (f > 0) {\n k = m.length;\n m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n } else {\n m = s + m;\n } return m;\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $fails = require('./_fails');\nvar aNumberValue = require('./_a-number-value');\nvar $toPrecision = 1.0.toPrecision;\n\n$export($export.P + $export.F * ($fails(function () {\n // IE7-\n return $toPrecision.call(1, undefined) !== '1';\n}) || !$fails(function () {\n // V8 ~ Android 4.3-\n $toPrecision.call({});\n})), 'Number', {\n toPrecision: function toPrecision(precision) {\n var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision);\n }\n});\n","// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });\n","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { isInteger: require('./_is-integer') });\n","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n","// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = require('./_export');\nvar isInteger = require('./_is-integer');\nvar abs = Math.abs;\n\n$export($export.S, 'Number', {\n isSafeInteger: function isSafeInteger(number) {\n return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n }\n});\n","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat });\n","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt });\n","// 20.2.2.3 Math.acosh(x)\nvar $export = require('./_export');\nvar log1p = require('./_math-log1p');\nvar sqrt = Math.sqrt;\nvar $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n && Math.floor($acosh(Number.MAX_VALUE)) == 710\n // Tor Browser bug: Math.acosh(Infinity) -> NaN\n && $acosh(Infinity) == Infinity\n), 'Math', {\n acosh: function acosh(x) {\n return (x = +x) < 1 ? NaN : x > 94906265.62425156\n ? Math.log(x) + Math.LN2\n : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n }\n});\n","// 20.2.2.5 Math.asinh(x)\nvar $export = require('./_export');\nvar $asinh = Math.asinh;\n\nfunction asinh(x) {\n return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0\n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh });\n","// 20.2.2.7 Math.atanh(x)\nvar $export = require('./_export');\nvar $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0\n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n atanh: function atanh(x) {\n return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n }\n});\n","// 20.2.2.9 Math.cbrt(x)\nvar $export = require('./_export');\nvar sign = require('./_math-sign');\n\n$export($export.S, 'Math', {\n cbrt: function cbrt(x) {\n return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n }\n});\n","// 20.2.2.11 Math.clz32(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n clz32: function clz32(x) {\n return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n }\n});\n","// 20.2.2.12 Math.cosh(x)\nvar $export = require('./_export');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n cosh: function cosh(x) {\n return (exp(x = +x) + exp(-x)) / 2;\n }\n});\n","// 20.2.2.14 Math.expm1(x)\nvar $export = require('./_export');\nvar $expm1 = require('./_math-expm1');\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });\n","// 20.2.2.16 Math.fround(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { fround: require('./_math-fround') });\n","// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = require('./_export');\nvar abs = Math.abs;\n\n$export($export.S, 'Math', {\n hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars\n var sum = 0;\n var i = 0;\n var aLen = arguments.length;\n var larg = 0;\n var arg, div;\n while (i < aLen) {\n arg = abs(arguments[i++]);\n if (larg < arg) {\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if (arg > 0) {\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n }\n});\n","// 20.2.2.18 Math.imul(x, y)\nvar $export = require('./_export');\nvar $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * require('./_fails')(function () {\n return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n imul: function imul(x, y) {\n var UINT16 = 0xffff;\n var xn = +x;\n var yn = +y;\n var xl = UINT16 & xn;\n var yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});\n","// 20.2.2.21 Math.log10(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log10: function log10(x) {\n return Math.log(x) * Math.LOG10E;\n }\n});\n","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { log1p: require('./_math-log1p') });\n","// 20.2.2.22 Math.log2(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log2: function log2(x) {\n return Math.log(x) / Math.LN2;\n }\n});\n","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { sign: require('./_math-sign') });\n","// 20.2.2.30 Math.sinh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * require('./_fails')(function () {\n return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n sinh: function sinh(x) {\n return Math.abs(x = +x) < 1\n ? (expm1(x) - expm1(-x)) / 2\n : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n }\n});\n","// 20.2.2.33 Math.tanh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n tanh: function tanh(x) {\n var a = expm1(x = +x);\n var b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\n});\n","// 20.2.2.34 Math.trunc(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n trunc: function trunc(it) {\n return (it > 0 ? Math.floor : Math.ceil)(it);\n }\n});\n","var $export = require('./_export');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n // 21.1.2.2 String.fromCodePoint(...codePoints)\n fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n var res = [];\n var aLen = arguments.length;\n var i = 0;\n var code;\n while (aLen > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n );\n } return res.join('');\n }\n});\n","var $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\n\n$export($export.S, 'String', {\n // 21.1.2.4 String.raw(callSite, ...substitutions)\n raw: function raw(callSite) {\n var tpl = toIObject(callSite.raw);\n var len = toLength(tpl.length);\n var aLen = arguments.length;\n var res = [];\n var i = 0;\n while (len > i) {\n res.push(String(tpl[i++]));\n if (i < aLen) res.push(String(arguments[i]));\n } return res.join('');\n }\n});\n","'use strict';\n// 21.1.3.25 String.prototype.trim()\nrequire('./_string-trim')('trim', function ($trim) {\n return function trim() {\n return $trim(this, 3);\n };\n});\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","'use strict';\nvar $export = require('./_export');\nvar $at = require('./_string-at')(false);\n$export($export.P, 'String', {\n // 21.1.3.3 String.prototype.codePointAt(pos)\n codePointAt: function codePointAt(pos) {\n return $at(this, pos);\n }\n});\n","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = context(this, searchString, ENDS_WITH);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export');\nvar context = require('./_string-context');\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var $export = require('./_export');\n\n$export($export.P, 'String', {\n // 21.1.3.13 String.prototype.repeat(count)\n repeat: require('./_string-repeat')\n});\n","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","'use strict';\n// B.2.3.2 String.prototype.anchor(name)\nrequire('./_string-html')('anchor', function (createHTML) {\n return function anchor(name) {\n return createHTML(this, 'a', 'name', name);\n };\n});\n","'use strict';\n// B.2.3.3 String.prototype.big()\nrequire('./_string-html')('big', function (createHTML) {\n return function big() {\n return createHTML(this, 'big', '', '');\n };\n});\n","'use strict';\n// B.2.3.4 String.prototype.blink()\nrequire('./_string-html')('blink', function (createHTML) {\n return function blink() {\n return createHTML(this, 'blink', '', '');\n };\n});\n","'use strict';\n// B.2.3.5 String.prototype.bold()\nrequire('./_string-html')('bold', function (createHTML) {\n return function bold() {\n return createHTML(this, 'b', '', '');\n };\n});\n","'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function (createHTML) {\n return function fixed() {\n return createHTML(this, 'tt', '', '');\n };\n});\n","'use strict';\n// B.2.3.7 String.prototype.fontcolor(color)\nrequire('./_string-html')('fontcolor', function (createHTML) {\n return function fontcolor(color) {\n return createHTML(this, 'font', 'color', color);\n };\n});\n","'use strict';\n// B.2.3.8 String.prototype.fontsize(size)\nrequire('./_string-html')('fontsize', function (createHTML) {\n return function fontsize(size) {\n return createHTML(this, 'font', 'size', size);\n };\n});\n","'use strict';\n// B.2.3.9 String.prototype.italics()\nrequire('./_string-html')('italics', function (createHTML) {\n return function italics() {\n return createHTML(this, 'i', '', '');\n };\n});\n","'use strict';\n// B.2.3.10 String.prototype.link(url)\nrequire('./_string-html')('link', function (createHTML) {\n return function link(url) {\n return createHTML(this, 'a', 'href', url);\n };\n});\n","'use strict';\n// B.2.3.11 String.prototype.small()\nrequire('./_string-html')('small', function (createHTML) {\n return function small() {\n return createHTML(this, 'small', '', '');\n };\n});\n","'use strict';\n// B.2.3.12 String.prototype.strike()\nrequire('./_string-html')('strike', function (createHTML) {\n return function strike() {\n return createHTML(this, 'strike', '', '');\n };\n});\n","'use strict';\n// B.2.3.13 String.prototype.sub()\nrequire('./_string-html')('sub', function (createHTML) {\n return function sub() {\n return createHTML(this, 'sub', '', '');\n };\n});\n","'use strict';\n// B.2.3.14 String.prototype.sup()\nrequire('./_string-html')('sup', function (createHTML) {\n return function sup() {\n return createHTML(this, 'sup', '', '');\n };\n});\n","// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });\n","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar toPrimitive = require('./_to-primitive');\n\n$export($export.P + $export.F * require('./_fails')(function () {\n return new Date(NaN).toJSON() !== null\n || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;\n}), 'Date', {\n // eslint-disable-next-line no-unused-vars\n toJSON: function toJSON(key) {\n var O = toObject(this);\n var pv = toPrimitive(O);\n return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n }\n});\n","// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = require('./_export');\nvar toISOString = require('./_date-to-iso-string');\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', {\n toISOString: toISOString\n});\n","'use strict';\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar fails = require('./_fails');\nvar getTime = Date.prototype.getTime;\nvar $toISOString = Date.prototype.toISOString;\n\nvar lz = function (num) {\n return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\nmodule.exports = (fails(function () {\n return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n}) || !fails(function () {\n $toISOString.call(new Date(NaN));\n})) ? function toISOString() {\n if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');\n var d = this;\n var y = d.getUTCFullYear();\n var m = d.getUTCMilliseconds();\n var s = y < 0 ? '-' : y > 9999 ? '+' : '';\n return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n} : $toISOString;\n","var DateProto = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar $toString = DateProto[TO_STRING];\nvar getTime = DateProto.getTime;\nif (new Date(NaN) + '' != INVALID_DATE) {\n require('./_redefine')(DateProto, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare\n return value === value ? $toString.call(this) : INVALID_DATE;\n });\n}\n","var TO_PRIMITIVE = require('./_wks')('toPrimitive');\nvar proto = Date.prototype;\n\nif (!(TO_PRIMITIVE in proto)) require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive'));\n","'use strict';\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\nvar NUMBER = 'number';\n\nmodule.exports = function (hint) {\n if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint');\n return toPrimitive(anObject(this), hint != NUMBER);\n};\n","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', { isArray: require('./_is-array') });\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar createProperty = require('./_create-property');\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * require('./_fails')(function () {\n function F() { /* empty */ }\n return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n // 22.1.2.3 Array.of( ...items)\n of: function of(/* ...args */) {\n var index = 0;\n var aLen = arguments.length;\n var result = new (typeof this == 'function' ? this : Array)(aLen);\n while (aLen > index) createProperty(result, index, arguments[index++]);\n result.length = aLen;\n return result;\n }\n});\n","'use strict';\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar arrayJoin = [].join;\n\n// fallback for not array-like strings\n$export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', {\n join: function join(separator) {\n return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar html = require('./_html');\nvar cof = require('./_cof');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar arraySlice = [].slice;\n\n// fallback for not array-like ES3 strings and DOM objects\n$export($export.P + $export.F * require('./_fails')(function () {\n if (html) arraySlice.call(html);\n}), 'Array', {\n slice: function slice(begin, end) {\n var len = toLength(this.length);\n var klass = cof(this);\n end = end === undefined ? len : end;\n if (klass == 'Array') return arraySlice.call(this, begin, end);\n var start = toAbsoluteIndex(begin, len);\n var upTo = toAbsoluteIndex(end, len);\n var size = toLength(upTo - start);\n var cloned = new Array(size);\n var i = 0;\n for (; i < size; i++) cloned[i] = klass == 'String'\n ? this.charAt(start + i)\n : this[start + i];\n return cloned;\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar fails = require('./_fails');\nvar $sort = [].sort;\nvar test = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function () {\n // IE8-\n test.sort(undefined);\n}) || !fails(function () {\n // V8 bug\n test.sort(null);\n // Old WebKit\n}) || !require('./_strict-method')($sort)), 'Array', {\n // 22.1.3.25 Array.prototype.sort(comparefn)\n sort: function sort(comparefn) {\n return comparefn === undefined\n ? $sort.call(toObject(this))\n : $sort.call(toObject(this), aFunction(comparefn));\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $forEach = require('./_array-methods')(0);\nvar STRICT = require('./_strict-method')([].forEach, true);\n\n$export($export.P + $export.F * !STRICT, 'Array', {\n // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n forEach: function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments[1]);\n }\n});\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","'use strict';\nvar $export = require('./_export');\nvar $map = require('./_array-methods')(1);\n\n$export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', {\n // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $filter = require('./_array-methods')(2);\n\n$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {\n // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $some = require('./_array-methods')(3);\n\n$export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', {\n // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n some: function some(callbackfn /* , thisArg */) {\n return $some(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $every = require('./_array-methods')(4);\n\n$export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', {\n // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n every: function every(callbackfn /* , thisArg */) {\n return $every(this, callbackfn, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', {\n // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduceRight, true), 'Array', {\n // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n reduceRight: function reduceRight(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar $indexOf = require('./_array-includes')(false);\nvar $native = [].indexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? $native.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments[1]);\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar $native = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;\n var O = toIObject(this);\n var length = toLength(O.length);\n var index = length - 1;\n if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0;\n return -1;\n }\n});\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { copyWithin: require('./_array-copy-within') });\n\nrequire('./_add-to-unscopables')('copyWithin');\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { fill: require('./_array-fill') });\n\nrequire('./_add-to-unscopables')('fill');\n","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(5);\nvar KEY = 'find';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(6);\nvar KEY = 'findIndex';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","require('./_set-species')('Array');\n","var global = require('./_global');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar dP = require('./_object-dp').f;\nvar gOPN = require('./_object-gopn').f;\nvar isRegExp = require('./_is-regexp');\nvar $flags = require('./_flags');\nvar $RegExp = global.RegExp;\nvar Base = $RegExp;\nvar proto = $RegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n// \"new\" creates a new object, old webkit buggy here\nvar CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif (require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function () {\n re2[require('./_wks')('match')] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))) {\n $RegExp = function RegExp(p, f) {\n var tiRE = this instanceof $RegExp;\n var piRE = isRegExp(p);\n var fiU = f === undefined;\n return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n : inheritIfRequired(CORRECT_NEW\n ? new Base(piRE && !fiU ? p.source : p, f)\n : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n , tiRE ? this : proto, $RegExp);\n };\n var proxy = function (key) {\n key in $RegExp || dP($RegExp, key, {\n configurable: true,\n get: function () { return Base[key]; },\n set: function (it) { Base[key] = it; }\n });\n };\n for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);\n proto.constructor = $RegExp;\n $RegExp.prototype = proto;\n require('./_redefine')(global, 'RegExp', $RegExp);\n}\n\nrequire('./_set-species')('RegExp');\n","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object');\nvar $flags = require('./_flags');\nvar DESCRIPTORS = require('./_descriptors');\nvar TO_STRING = 'toString';\nvar $toString = /./[TO_STRING];\n\nvar define = function (fn) {\n require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif (require('./_fails')(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {\n define(function toString() {\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if ($toString.name != TO_STRING) {\n define(function toString() {\n return $toString.call(this);\n });\n}\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar toInteger = require('./_to-integer');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n var res = maybeCallNative($replace, regexp, this, replaceValue);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n results.push(result);\n if (!global) break;\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return $replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","'use strict';\n\nvar anObject = require('./_an-object');\nvar sameValue = require('./_same-value');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@search logic\nrequire('./_fix-re-wks')('search', 1, function (defined, SEARCH, $search, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative($search, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","'use strict';\n\nvar isRegExp = require('./_is-regexp');\nvar anObject = require('./_an-object');\nvar speciesConstructor = require('./_species-constructor');\nvar advanceStringIndex = require('./_advance-string-index');\nvar toLength = require('./_to-length');\nvar callRegExpExec = require('./_regexp-exec-abstract');\nvar regexpExec = require('./_regexp-exec');\nvar $min = Math.min;\nvar $push = [].push;\nvar $SPLIT = 'split';\nvar LENGTH = 'length';\nvar LAST_INDEX = 'lastIndex';\n\n// eslint-disable-next-line no-empty\nvar SUPPORTS_Y = !!(function () { try { return new RegExp('x', 'y'); } catch (e) {} })();\n\n// @@split logic\nrequire('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(this);\n if (separator === undefined && limit === 0) return [];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) return $split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? 4294967295 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy[LAST_INDEX];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if (output[LENGTH] >= splitLimit) break;\n }\n if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if (lastLastIndex === string[LENGTH]) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n };\n } else {\n internalSplit = $split;\n }\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = defined(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? 0xffffffff : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n});\n","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n","'use strict';\nvar weak = require('./_collection-weak');\nvar validate = require('./_validate-collection');\nvar WEAK_SET = 'WeakSet';\n\n// 23.4 WeakSet Objects\nrequire('./_collection')(WEAK_SET, function (get) {\n return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value) {\n return weak.def(validate(this, WEAK_SET), value, true);\n }\n}, weak, false, true);\n","'use strict';\nvar $export = require('./_export');\nvar $typed = require('./_typed');\nvar buffer = require('./_typed-buffer');\nvar anObject = require('./_an-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar isObject = require('./_is-object');\nvar ArrayBuffer = require('./_global').ArrayBuffer;\nvar speciesConstructor = require('./_species-constructor');\nvar $ArrayBuffer = buffer.ArrayBuffer;\nvar $DataView = buffer.DataView;\nvar $isView = $typed.ABV && ArrayBuffer.isView;\nvar $slice = $ArrayBuffer.prototype.slice;\nvar VIEW = $typed.VIEW;\nvar ARRAY_BUFFER = 'ArrayBuffer';\n\n$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer });\n\n$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n // 24.1.3.1 ArrayBuffer.isView(arg)\n isView: function isView(it) {\n return $isView && $isView(it) || isObject(it) && VIEW in it;\n }\n});\n\n$export($export.P + $export.U + $export.F * require('./_fails')(function () {\n return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n}), ARRAY_BUFFER, {\n // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n slice: function slice(start, end) {\n if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix\n var len = anObject(this).byteLength;\n var first = toAbsoluteIndex(start, len);\n var fin = toAbsoluteIndex(end === undefined ? len : end, len);\n var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first));\n var viewS = new $DataView(this);\n var viewT = new $DataView(result);\n var index = 0;\n while (first < fin) {\n viewT.setUint8(index++, viewS.getUint8(first++));\n } return result;\n }\n});\n\nrequire('./_set-species')(ARRAY_BUFFER);\n","var $export = require('./_export');\n$export($export.G + $export.W + $export.F * !require('./_typed').ABV, {\n DataView: require('./_typed-buffer').DataView\n});\n","require('./_typed-array')('Int8', 1, function (init) {\n return function Int8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8ClampedArray(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n}, true);\n","require('./_typed-array')('Int16', 2, function (init) {\n return function Int16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint16', 2, function (init) {\n return function Uint16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Int32', 4, function (init) {\n return function Int32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint32', 4, function (init) {\n return function Uint32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Float32', 4, function (init) {\n return function Float32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Float64', 8, function (init) {\n return function Float64Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar rApply = (require('./_global').Reflect || {}).apply;\nvar fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function () {\n rApply(function () { /* empty */ });\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList) {\n var T = aFunction(target);\n var L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});\n","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export');\nvar create = require('./_object-create');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar bind = require('./_bind');\nvar rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n rConstruct(function () { /* empty */ });\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * require('./_fails')(function () {\n // eslint-disable-next-line no-undef\n Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });\n}), 'Reflect', {\n defineProperty: function defineProperty(target, propertyKey, attributes) {\n anObject(target);\n propertyKey = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n dP.f(target, propertyKey, attributes);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export');\nvar gOPD = require('./_object-gopd').f;\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n deleteProperty: function deleteProperty(target, propertyKey) {\n var desc = gOPD(anObject(target), propertyKey);\n return desc && !desc.configurable ? false : delete target[propertyKey];\n }\n});\n","'use strict';\n// 26.1.5 Reflect.enumerate(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar Enumerate = function (iterated) {\n this._t = anObject(iterated); // target\n this._i = 0; // next index\n var keys = this._k = []; // keys\n var key;\n for (key in iterated) keys.push(key);\n};\nrequire('./_iter-create')(Enumerate, 'Object', function () {\n var that = this;\n var keys = that._k;\n var key;\n do {\n if (that._i >= keys.length) return { value: undefined, done: true };\n } while (!((key = keys[that._i++]) in that._t));\n return { value: key, done: false };\n});\n\n$export($export.S, 'Reflect', {\n enumerate: function enumerate(target) {\n return new Enumerate(target);\n }\n});\n","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\n\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var desc, proto;\n if (anObject(target) === receiver) return target[propertyKey];\n if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', { get: get });\n","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n return gOPD.f(anObject(target), propertyKey);\n }\n});\n","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = require('./_export');\nvar getProto = require('./_object-gpo');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getPrototypeOf: function getPrototypeOf(target) {\n return getProto(anObject(target));\n }\n});\n","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n has: function has(target, propertyKey) {\n return propertyKey in target;\n }\n});\n","// 26.1.10 Reflect.isExtensible(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n isExtensible: function isExtensible(target) {\n anObject(target);\n return $isExtensible ? $isExtensible(target) : true;\n }\n});\n","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', { ownKeys: require('./_own-keys') });\n","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n preventExtensions: function preventExtensions(target) {\n anObject(target);\n try {\n if ($preventExtensions) $preventExtensions(target);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp');\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar createDesc = require('./_property-desc');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V /* , receiver */) {\n var receiver = arguments.length < 4 ? target : arguments[3];\n var ownDesc = gOPD.f(anObject(target), propertyKey);\n var existingDescriptor, proto;\n if (!ownDesc) {\n if (isObject(proto = getPrototypeOf(target))) {\n return set(proto, propertyKey, V, receiver);\n }\n ownDesc = createDesc(0);\n }\n if (has(ownDesc, 'value')) {\n if (ownDesc.writable === false || !isObject(receiver)) return false;\n if (existingDescriptor = gOPD.f(receiver, propertyKey)) {\n if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n existingDescriptor.value = V;\n dP.f(receiver, propertyKey, existingDescriptor);\n } else dP.f(receiver, propertyKey, createDesc(0, V));\n return true;\n }\n return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', { set: set });\n","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export');\nvar setProto = require('./_set-proto');\n\nif (setProto) $export($export.S, 'Reflect', {\n setPrototypeOf: function setPrototypeOf(target, proto) {\n setProto.check(target, proto);\n try {\n setProto.set(target, proto);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar toMetaKey = metadata.key;\nvar ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) {\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar toMetaKey = metadata.key;\nvar getOrCreateMetadataMap = metadata.map;\nvar store = metadata.store;\n\nmetadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) {\n var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]);\n var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false;\n if (metadataMap.size) return true;\n var targetMetadata = store.get(target);\n targetMetadata['delete'](targetKey);\n return !!targetMetadata.size || store['delete'](target);\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nvar ordinaryGetMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n};\n\nmetadata.exp({ getMetadata: function getMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var Set = require('./es6.set');\nvar from = require('./_array-from-iterable');\nvar metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nvar ordinaryMetadataKeys = function (O, P) {\n var oKeys = ordinaryOwnMetadataKeys(O, P);\n var parent = getPrototypeOf(O);\n if (parent === null) return oKeys;\n var pKeys = ordinaryMetadataKeys(parent, P);\n return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n};\n\nmetadata.exp({ getMetadataKeys: function getMetadataKeys(target /* , targetKey */) {\n return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) {\n return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nvar ordinaryHasMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return true;\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n};\n\nmetadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n","var $metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar toMetaKey = $metadata.key;\nvar ordinaryDefineOwnMetadata = $metadata.set;\n\n$metadata.exp({ metadata: function metadata(metadataKey, metadataValue) {\n return function decorator(target, targetKey) {\n ordinaryDefineOwnMetadata(\n metadataKey, metadataValue,\n (targetKey !== undefined ? anObject : aFunction)(target),\n toMetaKey(targetKey)\n );\n };\n} });\n","/* tslint:disable */\r\nimport 'core-js/es6';\r\nimport 'core-js/es7/reflect';\r\nrequire('zone.js/dist/zone');\r\n\r\n// IE11 fix, ref: https://github.com/angular/angular/issues/24769\r\nif (!Element.prototype.matches && (Element.prototype as any).msMatchesSelector) {\r\n Element.prototype.matches = (Element.prototype as any).msMatchesSelector;\r\n}\r\n\r\nif (process.env.ENV === 'production') {\r\n // Production\r\n} else {\r\n // Development and test\r\n Error['stackTraceLimit'] = Infinity;\r\n require('zone.js/dist/long-stack-trace-zone');\r\n}\r\n\r\n// Other polyfills\r\nrequire('whatwg-fetch');\r\nrequire('webcrypto-shim');\r\n/* tslint:enable */\r\n","require('../modules/es6.symbol');\nrequire('../modules/es6.object.create');\nrequire('../modules/es6.object.define-property');\nrequire('../modules/es6.object.define-properties');\nrequire('../modules/es6.object.get-own-property-descriptor');\nrequire('../modules/es6.object.get-prototype-of');\nrequire('../modules/es6.object.keys');\nrequire('../modules/es6.object.get-own-property-names');\nrequire('../modules/es6.object.freeze');\nrequire('../modules/es6.object.seal');\nrequire('../modules/es6.object.prevent-extensions');\nrequire('../modules/es6.object.is-frozen');\nrequire('../modules/es6.object.is-sealed');\nrequire('../modules/es6.object.is-extensible');\nrequire('../modules/es6.object.assign');\nrequire('../modules/es6.object.is');\nrequire('../modules/es6.object.set-prototype-of');\nrequire('../modules/es6.object.to-string');\nrequire('../modules/es6.function.bind');\nrequire('../modules/es6.function.name');\nrequire('../modules/es6.function.has-instance');\nrequire('../modules/es6.parse-int');\nrequire('../modules/es6.parse-float');\nrequire('../modules/es6.number.constructor');\nrequire('../modules/es6.number.to-fixed');\nrequire('../modules/es6.number.to-precision');\nrequire('../modules/es6.number.epsilon');\nrequire('../modules/es6.number.is-finite');\nrequire('../modules/es6.number.is-integer');\nrequire('../modules/es6.number.is-nan');\nrequire('../modules/es6.number.is-safe-integer');\nrequire('../modules/es6.number.max-safe-integer');\nrequire('../modules/es6.number.min-safe-integer');\nrequire('../modules/es6.number.parse-float');\nrequire('../modules/es6.number.parse-int');\nrequire('../modules/es6.math.acosh');\nrequire('../modules/es6.math.asinh');\nrequire('../modules/es6.math.atanh');\nrequire('../modules/es6.math.cbrt');\nrequire('../modules/es6.math.clz32');\nrequire('../modules/es6.math.cosh');\nrequire('../modules/es6.math.expm1');\nrequire('../modules/es6.math.fround');\nrequire('../modules/es6.math.hypot');\nrequire('../modules/es6.math.imul');\nrequire('../modules/es6.math.log10');\nrequire('../modules/es6.math.log1p');\nrequire('../modules/es6.math.log2');\nrequire('../modules/es6.math.sign');\nrequire('../modules/es6.math.sinh');\nrequire('../modules/es6.math.tanh');\nrequire('../modules/es6.math.trunc');\nrequire('../modules/es6.string.from-code-point');\nrequire('../modules/es6.string.raw');\nrequire('../modules/es6.string.trim');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/es6.string.code-point-at');\nrequire('../modules/es6.string.ends-with');\nrequire('../modules/es6.string.includes');\nrequire('../modules/es6.string.repeat');\nrequire('../modules/es6.string.starts-with');\nrequire('../modules/es6.string.anchor');\nrequire('../modules/es6.string.big');\nrequire('../modules/es6.string.blink');\nrequire('../modules/es6.string.bold');\nrequire('../modules/es6.string.fixed');\nrequire('../modules/es6.string.fontcolor');\nrequire('../modules/es6.string.fontsize');\nrequire('../modules/es6.string.italics');\nrequire('../modules/es6.string.link');\nrequire('../modules/es6.string.small');\nrequire('../modules/es6.string.strike');\nrequire('../modules/es6.string.sub');\nrequire('../modules/es6.string.sup');\nrequire('../modules/es6.date.now');\nrequire('../modules/es6.date.to-json');\nrequire('../modules/es6.date.to-iso-string');\nrequire('../modules/es6.date.to-string');\nrequire('../modules/es6.date.to-primitive');\nrequire('../modules/es6.array.is-array');\nrequire('../modules/es6.array.from');\nrequire('../modules/es6.array.of');\nrequire('../modules/es6.array.join');\nrequire('../modules/es6.array.slice');\nrequire('../modules/es6.array.sort');\nrequire('../modules/es6.array.for-each');\nrequire('../modules/es6.array.map');\nrequire('../modules/es6.array.filter');\nrequire('../modules/es6.array.some');\nrequire('../modules/es6.array.every');\nrequire('../modules/es6.array.reduce');\nrequire('../modules/es6.array.reduce-right');\nrequire('../modules/es6.array.index-of');\nrequire('../modules/es6.array.last-index-of');\nrequire('../modules/es6.array.copy-within');\nrequire('../modules/es6.array.fill');\nrequire('../modules/es6.array.find');\nrequire('../modules/es6.array.find-index');\nrequire('../modules/es6.array.species');\nrequire('../modules/es6.array.iterator');\nrequire('../modules/es6.regexp.constructor');\nrequire('../modules/es6.regexp.exec');\nrequire('../modules/es6.regexp.to-string');\nrequire('../modules/es6.regexp.flags');\nrequire('../modules/es6.regexp.match');\nrequire('../modules/es6.regexp.replace');\nrequire('../modules/es6.regexp.search');\nrequire('../modules/es6.regexp.split');\nrequire('../modules/es6.promise');\nrequire('../modules/es6.map');\nrequire('../modules/es6.set');\nrequire('../modules/es6.weak-map');\nrequire('../modules/es6.weak-set');\nrequire('../modules/es6.typed.array-buffer');\nrequire('../modules/es6.typed.data-view');\nrequire('../modules/es6.typed.int8-array');\nrequire('../modules/es6.typed.uint8-array');\nrequire('../modules/es6.typed.uint8-clamped-array');\nrequire('../modules/es6.typed.int16-array');\nrequire('../modules/es6.typed.uint16-array');\nrequire('../modules/es6.typed.int32-array');\nrequire('../modules/es6.typed.uint32-array');\nrequire('../modules/es6.typed.float32-array');\nrequire('../modules/es6.typed.float64-array');\nrequire('../modules/es6.reflect.apply');\nrequire('../modules/es6.reflect.construct');\nrequire('../modules/es6.reflect.define-property');\nrequire('../modules/es6.reflect.delete-property');\nrequire('../modules/es6.reflect.enumerate');\nrequire('../modules/es6.reflect.get');\nrequire('../modules/es6.reflect.get-own-property-descriptor');\nrequire('../modules/es6.reflect.get-prototype-of');\nrequire('../modules/es6.reflect.has');\nrequire('../modules/es6.reflect.is-extensible');\nrequire('../modules/es6.reflect.own-keys');\nrequire('../modules/es6.reflect.prevent-extensions');\nrequire('../modules/es6.reflect.set');\nrequire('../modules/es6.reflect.set-prototype-of');\nmodule.exports = require('../modules/_core');\n","require('../modules/es7.reflect.define-metadata');\nrequire('../modules/es7.reflect.delete-metadata');\nrequire('../modules/es7.reflect.get-metadata');\nrequire('../modules/es7.reflect.get-metadata-keys');\nrequire('../modules/es7.reflect.get-own-metadata');\nrequire('../modules/es7.reflect.get-own-metadata-keys');\nrequire('../modules/es7.reflect.has-metadata');\nrequire('../modules/es7.reflect.has-own-metadata');\nrequire('../modules/es7.reflect.metadata');\nmodule.exports = require('../modules/_core').Reflect;\n","/**\n* @license Angular v9.1.0-next.4+61.sha-e552591.with-local-changes\n* (c) 2010-2020 Google LLC. https://angular.io/\n* License: MIT\n*/\n(function (factory) {\n typeof define === 'function' && define.amd ? define(factory) :\n factory();\n}((function () {\n 'use strict';\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var Zone$1 = (function (global) {\n var performance = global['performance'];\n function mark(name) { performance && performance['mark'] && performance['mark'](name); }\n function performanceMeasure(name, label) {\n performance && performance['measure'] && performance['measure'](name, label);\n }\n mark('Zone');\n // Initialize before it's accessed below.\n // __Zone_symbol_prefix global can be used to override the default zone\n // symbol prefix with a custom one if needed.\n var symbolPrefix = global['__Zone_symbol_prefix'] || '__zone_symbol__';\n function __symbol__(name) { return symbolPrefix + name; }\n var checkDuplicate = global[__symbol__('forceDuplicateZoneCheck')] === true;\n if (global['Zone']) {\n // if global['Zone'] already exists (maybe zone.js was already loaded or\n // some other lib also registered a global object named Zone), we may need\n // to throw an error, but sometimes user may not want this error.\n // For example,\n // we have two web pages, page1 includes zone.js, page2 doesn't.\n // and the 1st time user load page1 and page2, everything work fine,\n // but when user load page2 again, error occurs because global['Zone'] already exists.\n // so we add a flag to let user choose whether to throw this error or not.\n // By default, if existing Zone is from zone.js, we will not throw the error.\n if (checkDuplicate || typeof global['Zone'].__symbol__ !== 'function') {\n throw new Error('Zone already loaded.');\n }\n else {\n return global['Zone'];\n }\n }\n var Zone = /** @class */ (function () {\n function Zone(parent, zoneSpec) {\n this._parent = parent;\n this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';\n this._properties = zoneSpec && zoneSpec.properties || {};\n this._zoneDelegate =\n new ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n }\n Zone.assertZonePatched = function () {\n if (global['Promise'] !== patches['ZoneAwarePromise']) {\n throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' +\n 'has been overwritten.\\n' +\n 'Most likely cause is that a Promise polyfill has been loaded ' +\n 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' +\n 'If you must load one, do so before loading zone.js.)');\n }\n };\n Object.defineProperty(Zone, \"root\", {\n get: function () {\n var zone = Zone.current;\n while (zone.parent) {\n zone = zone.parent;\n }\n return zone;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"current\", {\n get: function () { return _currentZoneFrame.zone; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone, \"currentTask\", {\n get: function () { return _currentTask; },\n enumerable: true,\n configurable: true\n });\n // tslint:disable-next-line:require-internal-with-underscore\n Zone.__load_patch = function (name, fn) {\n if (patches.hasOwnProperty(name)) {\n if (checkDuplicate) {\n throw Error('Already loaded patch: ' + name);\n }\n }\n else if (!global['__Zone_disable_' + name]) {\n var perfName = 'Zone:' + name;\n mark(perfName);\n patches[name] = fn(global, Zone, _api);\n performanceMeasure(perfName, perfName);\n }\n };\n Object.defineProperty(Zone.prototype, \"parent\", {\n get: function () { return this._parent; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Zone.prototype, \"name\", {\n get: function () { return this._name; },\n enumerable: true,\n configurable: true\n });\n Zone.prototype.get = function (key) {\n var zone = this.getZoneWith(key);\n if (zone)\n return zone._properties[key];\n };\n Zone.prototype.getZoneWith = function (key) {\n var current = this;\n while (current) {\n if (current._properties.hasOwnProperty(key)) {\n return current;\n }\n current = current._parent;\n }\n return null;\n };\n Zone.prototype.fork = function (zoneSpec) {\n if (!zoneSpec)\n throw new Error('ZoneSpec required!');\n return this._zoneDelegate.fork(this, zoneSpec);\n };\n Zone.prototype.wrap = function (callback, source) {\n if (typeof callback !== 'function') {\n throw new Error('Expecting function got: ' + callback);\n }\n var _callback = this._zoneDelegate.intercept(this, callback, source);\n var zone = this;\n return function () {\n return zone.runGuarded(_callback, this, arguments, source);\n };\n };\n Zone.prototype.run = function (callback, applyThis, applyArgs, source) {\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runGuarded = function (callback, applyThis, applyArgs, source) {\n if (applyThis === void 0) { applyThis = null; }\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n _currentZoneFrame = _currentZoneFrame.parent;\n }\n };\n Zone.prototype.runTask = function (task, applyThis, applyArgs) {\n if (task.zone != this) {\n throw new Error('A task can only be run in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n }\n // https://github.com/angular/zone.js/issues/778, sometimes eventTask\n // will run in notScheduled(canceled) state, we should not try to\n // run such kind of task but just return\n if (task.state === notScheduled && (task.type === eventTask || task.type === macroTask)) {\n return;\n }\n var reEntryGuard = task.state != running;\n reEntryGuard && task._transitionTo(running, scheduled);\n task.runCount++;\n var previousTask = _currentTask;\n _currentTask = task;\n _currentZoneFrame = { parent: _currentZoneFrame, zone: this };\n try {\n if (task.type == macroTask && task.data && !task.data.isPeriodic) {\n task.cancelFn = undefined;\n }\n try {\n return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n // if the task's state is notScheduled or unknown, then it has already been cancelled\n // we should not reset the state to scheduled\n if (task.state !== notScheduled && task.state !== unknown) {\n if (task.type == eventTask || (task.data && task.data.isPeriodic)) {\n reEntryGuard && task._transitionTo(scheduled, running);\n }\n else {\n task.runCount = 0;\n this._updateTaskCount(task, -1);\n reEntryGuard &&\n task._transitionTo(notScheduled, running, notScheduled);\n }\n }\n _currentZoneFrame = _currentZoneFrame.parent;\n _currentTask = previousTask;\n }\n };\n Zone.prototype.scheduleTask = function (task) {\n if (task.zone && task.zone !== this) {\n // check if the task was rescheduled, the newZone\n // should not be the children of the original zone\n var newZone = this;\n while (newZone) {\n if (newZone === task.zone) {\n throw Error(\"can not reschedule task to \" + this.name + \" which is descendants of the original zone \" + task.zone.name);\n }\n newZone = newZone.parent;\n }\n }\n task._transitionTo(scheduling, notScheduled);\n var zoneDelegates = [];\n task._zoneDelegates = zoneDelegates;\n task._zone = this;\n try {\n task = this._zoneDelegate.scheduleTask(this, task);\n }\n catch (err) {\n // should set task's state to unknown when scheduleTask throw error\n // because the err may from reschedule, so the fromState maybe notScheduled\n task._transitionTo(unknown, scheduling, notScheduled);\n // TODO: @JiaLiPassion, should we check the result from handleError?\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n if (task._zoneDelegates === zoneDelegates) {\n // we have to check because internally the delegate can reschedule the task.\n this._updateTaskCount(task, 1);\n }\n if (task.state == scheduling) {\n task._transitionTo(scheduled, scheduling);\n }\n return task;\n };\n Zone.prototype.scheduleMicroTask = function (source, callback, data, customSchedule) {\n return this.scheduleTask(new ZoneTask(microTask, source, callback, data, customSchedule, undefined));\n };\n Zone.prototype.scheduleMacroTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(macroTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.scheduleEventTask = function (source, callback, data, customSchedule, customCancel) {\n return this.scheduleTask(new ZoneTask(eventTask, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.cancelTask = function (task) {\n if (task.zone != this)\n throw new Error('A task can only be cancelled in the zone of creation! (Creation: ' +\n (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')');\n task._transitionTo(canceling, scheduled, running);\n try {\n this._zoneDelegate.cancelTask(this, task);\n }\n catch (err) {\n // if error occurs when cancelTask, transit the state to unknown\n task._transitionTo(unknown, canceling);\n this._zoneDelegate.handleError(this, err);\n throw err;\n }\n this._updateTaskCount(task, -1);\n task._transitionTo(notScheduled, canceling);\n task.runCount = 0;\n return task;\n };\n Zone.prototype._updateTaskCount = function (task, count) {\n var zoneDelegates = task._zoneDelegates;\n if (count == -1) {\n task._zoneDelegates = null;\n }\n for (var i = 0; i < zoneDelegates.length; i++) {\n zoneDelegates[i]._updateTaskCount(task.type, count);\n }\n };\n return Zone;\n }());\n // tslint:disable-next-line:require-internal-with-underscore\n Zone.__symbol__ = __symbol__;\n var DELEGATE_ZS = {\n name: '',\n onHasTask: function (delegate, _, target, hasTaskState) { return delegate.hasTask(target, hasTaskState); },\n onScheduleTask: function (delegate, _, target, task) { return delegate.scheduleTask(target, task); },\n onInvokeTask: function (delegate, _, target, task, applyThis, applyArgs) { return delegate.invokeTask(target, task, applyThis, applyArgs); },\n onCancelTask: function (delegate, _, target, task) { return delegate.cancelTask(target, task); }\n };\n var ZoneDelegate = /** @class */ (function () {\n function ZoneDelegate(zone, parentDelegate, zoneSpec) {\n this._taskCounts = { 'microTask': 0, 'macroTask': 0, 'eventTask': 0 };\n this.zone = zone;\n this._parentDelegate = parentDelegate;\n this._forkZS =\n zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._forkCurrZone =\n zoneSpec && (zoneSpec.onFork ? this.zone : parentDelegate._forkCurrZone);\n this._interceptZS =\n zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n this._interceptDlgt =\n zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n this._interceptCurrZone =\n zoneSpec && (zoneSpec.onIntercept ? this.zone : parentDelegate._interceptCurrZone);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt =\n zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._invokeCurrZone =\n zoneSpec && (zoneSpec.onInvoke ? this.zone : parentDelegate._invokeCurrZone);\n this._handleErrorZS =\n zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt = zoneSpec &&\n (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._handleErrorCurrZone =\n zoneSpec && (zoneSpec.onHandleError ? this.zone : parentDelegate._handleErrorCurrZone);\n this._scheduleTaskZS =\n zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt = zoneSpec &&\n (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._scheduleTaskCurrZone = zoneSpec &&\n (zoneSpec.onScheduleTask ? this.zone : parentDelegate._scheduleTaskCurrZone);\n this._invokeTaskZS =\n zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n this._invokeTaskDlgt =\n zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n this._invokeTaskCurrZone =\n zoneSpec && (zoneSpec.onInvokeTask ? this.zone : parentDelegate._invokeTaskCurrZone);\n this._cancelTaskZS =\n zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n this._cancelTaskDlgt =\n zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n this._cancelTaskCurrZone =\n zoneSpec && (zoneSpec.onCancelTask ? this.zone : parentDelegate._cancelTaskCurrZone);\n this._hasTaskZS = null;\n this._hasTaskDlgt = null;\n this._hasTaskDlgtOwner = null;\n this._hasTaskCurrZone = null;\n var zoneSpecHasTask = zoneSpec && zoneSpec.onHasTask;\n var parentHasTask = parentDelegate && parentDelegate._hasTaskZS;\n if (zoneSpecHasTask || parentHasTask) {\n // If we need to report hasTask, than this ZS needs to do ref counting on tasks. In such\n // a case all task related interceptors must go through this ZD. We can't short circuit it.\n this._hasTaskZS = zoneSpecHasTask ? zoneSpec : DELEGATE_ZS;\n this._hasTaskDlgt = parentDelegate;\n this._hasTaskDlgtOwner = this;\n this._hasTaskCurrZone = zone;\n if (!zoneSpec.onScheduleTask) {\n this._scheduleTaskZS = DELEGATE_ZS;\n this._scheduleTaskDlgt = parentDelegate;\n this._scheduleTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onInvokeTask) {\n this._invokeTaskZS = DELEGATE_ZS;\n this._invokeTaskDlgt = parentDelegate;\n this._invokeTaskCurrZone = this.zone;\n }\n if (!zoneSpec.onCancelTask) {\n this._cancelTaskZS = DELEGATE_ZS;\n this._cancelTaskDlgt = parentDelegate;\n this._cancelTaskCurrZone = this.zone;\n }\n }\n }\n ZoneDelegate.prototype.fork = function (targetZone, zoneSpec) {\n return this._forkZS ?\n this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) :\n new Zone(targetZone, zoneSpec);\n };\n ZoneDelegate.prototype.intercept = function (targetZone, callback, source) {\n return this._interceptZS ?\n this._interceptZS.onIntercept(this._interceptDlgt, this._interceptCurrZone, targetZone, callback, source) :\n callback;\n };\n ZoneDelegate.prototype.invoke = function (targetZone, callback, applyThis, applyArgs, source) {\n return this._invokeZS ?\n this._invokeZS.onInvoke(this._invokeDlgt, this._invokeCurrZone, targetZone, callback, applyThis, applyArgs, source) :\n callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.handleError = function (targetZone, error) {\n return this._handleErrorZS ?\n this._handleErrorZS.onHandleError(this._handleErrorDlgt, this._handleErrorCurrZone, targetZone, error) :\n true;\n };\n ZoneDelegate.prototype.scheduleTask = function (targetZone, task) {\n var returnTask = task;\n if (this._scheduleTaskZS) {\n if (this._hasTaskZS) {\n returnTask._zoneDelegates.push(this._hasTaskDlgtOwner);\n }\n // clang-format off\n returnTask = this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this._scheduleTaskCurrZone, targetZone, task);\n // clang-format on\n if (!returnTask)\n returnTask = task;\n }\n else {\n if (task.scheduleFn) {\n task.scheduleFn(task);\n }\n else if (task.type == microTask) {\n scheduleMicroTask(task);\n }\n else {\n throw new Error('Task is missing scheduleFn.');\n }\n }\n return returnTask;\n };\n ZoneDelegate.prototype.invokeTask = function (targetZone, task, applyThis, applyArgs) {\n return this._invokeTaskZS ?\n this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this._invokeTaskCurrZone, targetZone, task, applyThis, applyArgs) :\n task.callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.cancelTask = function (targetZone, task) {\n var value;\n if (this._cancelTaskZS) {\n value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this._cancelTaskCurrZone, targetZone, task);\n }\n else {\n if (!task.cancelFn) {\n throw Error('Task is not cancelable');\n }\n value = task.cancelFn(task);\n }\n return value;\n };\n ZoneDelegate.prototype.hasTask = function (targetZone, isEmpty) {\n // hasTask should not throw error so other ZoneDelegate\n // can still trigger hasTask callback\n try {\n this._hasTaskZS &&\n this._hasTaskZS.onHasTask(this._hasTaskDlgt, this._hasTaskCurrZone, targetZone, isEmpty);\n }\n catch (err) {\n this.handleError(targetZone, err);\n }\n };\n // tslint:disable-next-line:require-internal-with-underscore\n ZoneDelegate.prototype._updateTaskCount = function (type, count) {\n var counts = this._taskCounts;\n var prev = counts[type];\n var next = counts[type] = prev + count;\n if (next < 0) {\n throw new Error('More tasks executed then were scheduled.');\n }\n if (prev == 0 || next == 0) {\n var isEmpty = {\n microTask: counts['microTask'] > 0,\n macroTask: counts['macroTask'] > 0,\n eventTask: counts['eventTask'] > 0,\n change: type\n };\n this.hasTask(this.zone, isEmpty);\n }\n };\n return ZoneDelegate;\n }());\n var ZoneTask = /** @class */ (function () {\n function ZoneTask(type, source, callback, options, scheduleFn, cancelFn) {\n // tslint:disable-next-line:require-internal-with-underscore\n this._zone = null;\n this.runCount = 0;\n // tslint:disable-next-line:require-internal-with-underscore\n this._zoneDelegates = null;\n // tslint:disable-next-line:require-internal-with-underscore\n this._state = 'notScheduled';\n this.type = type;\n this.source = source;\n this.data = options;\n this.scheduleFn = scheduleFn;\n this.cancelFn = cancelFn;\n if (!callback) {\n throw new Error('callback is not defined');\n }\n this.callback = callback;\n var self = this;\n // TODO: @JiaLiPassion options should have interface\n if (type === eventTask && options && options.useG) {\n this.invoke = ZoneTask.invokeTask;\n }\n else {\n this.invoke = function () {\n return ZoneTask.invokeTask.call(global, self, this, arguments);\n };\n }\n }\n ZoneTask.invokeTask = function (task, target, args) {\n if (!task) {\n task = this;\n }\n _numberOfNestedTaskFrames++;\n try {\n task.runCount++;\n return task.zone.runTask(task, target, args);\n }\n finally {\n if (_numberOfNestedTaskFrames == 1) {\n drainMicroTaskQueue();\n }\n _numberOfNestedTaskFrames--;\n }\n };\n Object.defineProperty(ZoneTask.prototype, \"zone\", {\n get: function () { return this._zone; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ZoneTask.prototype, \"state\", {\n get: function () { return this._state; },\n enumerable: true,\n configurable: true\n });\n ZoneTask.prototype.cancelScheduleRequest = function () { this._transitionTo(notScheduled, scheduling); };\n // tslint:disable-next-line:require-internal-with-underscore\n ZoneTask.prototype._transitionTo = function (toState, fromState1, fromState2) {\n if (this._state === fromState1 || this._state === fromState2) {\n this._state = toState;\n if (toState == notScheduled) {\n this._zoneDelegates = null;\n }\n }\n else {\n throw new Error(this.type + \" '\" + this.source + \"': can not transition to '\" + toState + \"', expecting state '\" + fromState1 + \"'\" + (fromState2 ? ' or \\'' + fromState2 + '\\'' : '') + \", was '\" + this._state + \"'.\");\n }\n };\n ZoneTask.prototype.toString = function () {\n if (this.data && typeof this.data.handleId !== 'undefined') {\n return this.data.handleId.toString();\n }\n else {\n return Object.prototype.toString.call(this);\n }\n };\n // add toJSON method to prevent cyclic error when\n // call JSON.stringify(zoneTask)\n ZoneTask.prototype.toJSON = function () {\n return {\n type: this.type,\n state: this.state,\n source: this.source,\n zone: this.zone.name,\n runCount: this.runCount\n };\n };\n return ZoneTask;\n }());\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// MICROTASK QUEUE\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var symbolSetTimeout = __symbol__('setTimeout');\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var _microTaskQueue = [];\n var _isDrainingMicrotaskQueue = false;\n var nativeMicroTaskQueuePromise;\n function scheduleMicroTask(task) {\n // if we are not running in any task, and there has not been anything scheduled\n // we must bootstrap the initial task creation by manually scheduling the drain\n if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) {\n // We are not running in Task, so we need to kickstart the microtask queue.\n if (!nativeMicroTaskQueuePromise) {\n if (global[symbolPromise]) {\n nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0);\n }\n }\n if (nativeMicroTaskQueuePromise) {\n var nativeThen = nativeMicroTaskQueuePromise[symbolThen];\n if (!nativeThen) {\n // native Promise is not patchable, we need to use `then` directly\n // issue 1078\n nativeThen = nativeMicroTaskQueuePromise['then'];\n }\n nativeThen.call(nativeMicroTaskQueuePromise, drainMicroTaskQueue);\n }\n else {\n global[symbolSetTimeout](drainMicroTaskQueue, 0);\n }\n }\n task && _microTaskQueue.push(task);\n }\n function drainMicroTaskQueue() {\n if (!_isDrainingMicrotaskQueue) {\n _isDrainingMicrotaskQueue = true;\n while (_microTaskQueue.length) {\n var queue = _microTaskQueue;\n _microTaskQueue = [];\n for (var i = 0; i < queue.length; i++) {\n var task = queue[i];\n try {\n task.zone.runTask(task, null, null);\n }\n catch (error) {\n _api.onUnhandledError(error);\n }\n }\n }\n _api.microtaskDrainDone();\n _isDrainingMicrotaskQueue = false;\n }\n }\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n /// BOOTSTRAP\n //////////////////////////////////////////////////////\n //////////////////////////////////////////////////////\n var NO_ZONE = { name: 'NO ZONE' };\n var notScheduled = 'notScheduled', scheduling = 'scheduling', scheduled = 'scheduled', running = 'running', canceling = 'canceling', unknown = 'unknown';\n var microTask = 'microTask', macroTask = 'macroTask', eventTask = 'eventTask';\n var patches = {};\n var _api = {\n symbol: __symbol__,\n currentZoneFrame: function () { return _currentZoneFrame; },\n onUnhandledError: noop,\n microtaskDrainDone: noop,\n scheduleMicroTask: scheduleMicroTask,\n showUncaughtError: function () { return !Zone[__symbol__('ignoreConsoleErrorUncaughtError')]; },\n patchEventTarget: function () { return []; },\n patchOnProperties: noop,\n patchMethod: function () { return noop; },\n bindArguments: function () { return []; },\n patchThen: function () { return noop; },\n patchMacroTask: function () { return noop; },\n setNativePromise: function (NativePromise) {\n // sometimes NativePromise.resolve static function\n // is not ready yet, (such as core-js/es6.promise)\n // so we need to check here.\n if (NativePromise && typeof NativePromise.resolve === 'function') {\n nativeMicroTaskQueuePromise = NativePromise.resolve(0);\n }\n },\n patchEventPrototype: function () { return noop; },\n isIEOrEdge: function () { return false; },\n getGlobalObjects: function () { return undefined; },\n ObjectDefineProperty: function () { return noop; },\n ObjectGetOwnPropertyDescriptor: function () { return undefined; },\n ObjectCreate: function () { return undefined; },\n ArraySlice: function () { return []; },\n patchClass: function () { return noop; },\n wrapWithCurrentZone: function () { return noop; },\n filterProperties: function () { return []; },\n attachOriginToPatched: function () { return noop; },\n _redefineProperty: function () { return noop; },\n patchCallbacks: function () { return noop; }\n };\n var _currentZoneFrame = { parent: null, zone: new Zone(null, null) };\n var _currentTask = null;\n var _numberOfNestedTaskFrames = 0;\n function noop() { }\n performanceMeasure('Zone', 'Zone');\n return global['Zone'] = Zone;\n })(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global);\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n Zone.__load_patch('ZoneAwarePromise', function (global, Zone, api) {\n var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n var ObjectDefineProperty = Object.defineProperty;\n function readableObjectToString(obj) {\n if (obj && obj.toString === Object.prototype.toString) {\n var className = obj.constructor && obj.constructor.name;\n return (className ? className : '') + ': ' + JSON.stringify(obj);\n }\n return obj ? obj.toString() : Object.prototype.toString.call(obj);\n }\n var __symbol__ = api.symbol;\n var _uncaughtPromiseErrors = [];\n var isDisableWrappingUncaughtPromiseRejection = global[__symbol__('DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION')] === true;\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var creationTrace = '__creationTrace__';\n api.onUnhandledError = function (e) {\n if (api.showUncaughtError()) {\n var rejection = e && e.rejection;\n if (rejection) {\n console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);\n }\n else {\n console.error(e);\n }\n }\n };\n api.microtaskDrainDone = function () {\n var _loop_1 = function () {\n var uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(function () { throw uncaughtPromiseError; });\n }\n catch (error) {\n handleUnhandledRejection(error);\n }\n };\n while (_uncaughtPromiseErrors.length) {\n _loop_1();\n }\n };\n var UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler');\n function handleUnhandledRejection(e) {\n api.onUnhandledError(e);\n try {\n var handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL];\n if (typeof handler === 'function') {\n handler.call(this, e);\n }\n }\n catch (err) {\n }\n }\n function isThenable(value) { return value && value.then; }\n function forwardResolution(value) { return value; }\n function forwardRejection(rejection) { return ZoneAwarePromise.reject(rejection); }\n var symbolState = __symbol__('state');\n var symbolValue = __symbol__('value');\n var symbolFinally = __symbol__('finally');\n var symbolParentPromiseValue = __symbol__('parentPromiseValue');\n var symbolParentPromiseState = __symbol__('parentPromiseState');\n var source = 'Promise.then';\n var UNRESOLVED = null;\n var RESOLVED = true;\n var REJECTED = false;\n var REJECTED_NO_CATCH = 0;\n function makeResolver(promise, state) {\n return function (v) {\n try {\n resolvePromise(promise, state, v);\n }\n catch (err) {\n resolvePromise(promise, false, err);\n }\n // Do not return value or you will break the Promise spec.\n };\n }\n var once = function () {\n var wasCalled = false;\n return function wrapper(wrappedFunction) {\n return function () {\n if (wasCalled) {\n return;\n }\n wasCalled = true;\n wrappedFunction.apply(null, arguments);\n };\n };\n };\n var TYPE_ERROR = 'Promise resolved with itself';\n var CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace');\n // Promise Resolution\n function resolvePromise(promise, state, value) {\n var onceWrapper = once();\n if (promise === value) {\n throw new TypeError(TYPE_ERROR);\n }\n if (promise[symbolState] === UNRESOLVED) {\n // should only get value.then once based on promise spec.\n var then = null;\n try {\n if (typeof value === 'object' || typeof value === 'function') {\n then = value && value.then;\n }\n }\n catch (err) {\n onceWrapper(function () { resolvePromise(promise, false, err); })();\n return promise;\n }\n // if (value instanceof ZoneAwarePromise) {\n if (state !== REJECTED && value instanceof ZoneAwarePromise &&\n value.hasOwnProperty(symbolState) && value.hasOwnProperty(symbolValue) &&\n value[symbolState] !== UNRESOLVED) {\n clearRejectedNoCatch(value);\n resolvePromise(promise, value[symbolState], value[symbolValue]);\n }\n else if (state !== REJECTED && typeof then === 'function') {\n try {\n then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)));\n }\n catch (err) {\n onceWrapper(function () { resolvePromise(promise, false, err); })();\n }\n }\n else {\n promise[symbolState] = state;\n var queue = promise[symbolValue];\n promise[symbolValue] = value;\n if (promise[symbolFinally] === symbolFinally) {\n // the promise is generated by Promise.prototype.finally\n if (state === RESOLVED) {\n // the state is resolved, should ignore the value\n // and use parent promise value\n promise[symbolState] = promise[symbolParentPromiseState];\n promise[symbolValue] = promise[symbolParentPromiseValue];\n }\n }\n // record task information in value when error occurs, so we can\n // do some additional work such as render longStackTrace\n if (state === REJECTED && value instanceof Error) {\n // check if longStackTraceZone is here\n var trace = Zone.currentTask && Zone.currentTask.data &&\n Zone.currentTask.data[creationTrace];\n if (trace) {\n // only keep the long stack trace into error when in longStackTraceZone\n ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, { configurable: true, enumerable: false, writable: true, value: trace });\n }\n }\n for (var i = 0; i < queue.length;) {\n scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n }\n if (queue.length == 0 && state == REJECTED) {\n promise[symbolState] = REJECTED_NO_CATCH;\n var uncaughtPromiseError = value;\n if (!isDisableWrappingUncaughtPromiseRejection) {\n // If disable wrapping uncaught promise reject\n // and the rejected value is an Error object,\n // use the value instead of wrapping it.\n try {\n // Here we throws a new Error to print more readable error log\n // and if the value is not an error, zone.js builds an `Error`\n // Object here to attach the stack information.\n throw new Error('Uncaught (in promise): ' + readableObjectToString(value) +\n (value && value.stack ? '\\n' + value.stack : ''));\n }\n catch (err) {\n uncaughtPromiseError = err;\n }\n }\n uncaughtPromiseError.rejection = value;\n uncaughtPromiseError.promise = promise;\n uncaughtPromiseError.zone = Zone.current;\n uncaughtPromiseError.task = Zone.currentTask;\n _uncaughtPromiseErrors.push(uncaughtPromiseError);\n api.scheduleMicroTask(); // to make sure that it is running\n }\n }\n }\n // Resolving an already resolved promise is a noop.\n return promise;\n }\n var REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler');\n function clearRejectedNoCatch(promise) {\n if (promise[symbolState] === REJECTED_NO_CATCH) {\n // if the promise is rejected no catch status\n // and queue.length > 0, means there is a error handler\n // here to handle the rejected promise, we should trigger\n // windows.rejectionhandled eventHandler or nodejs rejectionHandled\n // eventHandler\n try {\n var handler = Zone[REJECTION_HANDLED_HANDLER];\n if (handler && typeof handler === 'function') {\n handler.call(this, { rejection: promise[symbolValue], promise: promise });\n }\n }\n catch (err) {\n }\n promise[symbolState] = REJECTED;\n for (var i = 0; i < _uncaughtPromiseErrors.length; i++) {\n if (promise === _uncaughtPromiseErrors[i].promise) {\n _uncaughtPromiseErrors.splice(i, 1);\n }\n }\n }\n }\n function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n clearRejectedNoCatch(promise);\n var promiseState = promise[symbolState];\n var delegate = promiseState ?\n (typeof onFulfilled === 'function') ? onFulfilled : forwardResolution :\n (typeof onRejected === 'function') ? onRejected : forwardRejection;\n zone.scheduleMicroTask(source, function () {\n try {\n var parentPromiseValue = promise[symbolValue];\n var isFinallyPromise = !!chainPromise && symbolFinally === chainPromise[symbolFinally];\n if (isFinallyPromise) {\n // if the promise is generated from finally call, keep parent promise's state and value\n chainPromise[symbolParentPromiseValue] = parentPromiseValue;\n chainPromise[symbolParentPromiseState] = promiseState;\n }\n // should not pass value to finally callback\n var value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ?\n [] :\n [parentPromiseValue]);\n resolvePromise(chainPromise, true, value);\n }\n catch (error) {\n // if error occurs, should always return this error\n resolvePromise(chainPromise, false, error);\n }\n }, chainPromise);\n }\n var ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }';\n var noop = function () { };\n var ZoneAwarePromise = /** @class */ (function () {\n function ZoneAwarePromise(executor) {\n var promise = this;\n if (!(promise instanceof ZoneAwarePromise)) {\n throw new Error('Must be an instanceof Promise.');\n }\n promise[symbolState] = UNRESOLVED;\n promise[symbolValue] = []; // queue;\n try {\n executor && executor(makeResolver(promise, RESOLVED), makeResolver(promise, REJECTED));\n }\n catch (error) {\n resolvePromise(promise, false, error);\n }\n }\n ZoneAwarePromise.toString = function () { return ZONE_AWARE_PROMISE_TO_STRING; };\n ZoneAwarePromise.resolve = function (value) {\n return resolvePromise(new this(null), RESOLVED, value);\n };\n ZoneAwarePromise.reject = function (error) {\n return resolvePromise(new this(null), REJECTED, error);\n };\n ZoneAwarePromise.race = function (values) {\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n function onResolve(value) { resolve(value); }\n function onReject(error) { reject(error); }\n for (var _i = 0, values_1 = values; _i < values_1.length; _i++) {\n var value = values_1[_i];\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n return promise;\n };\n ZoneAwarePromise.all = function (values) { return ZoneAwarePromise.allWithCallback(values); };\n ZoneAwarePromise.allSettled = function (values) {\n var P = this && this.prototype instanceof ZoneAwarePromise ? this : ZoneAwarePromise;\n return P.allWithCallback(values, {\n thenCallback: function (value) { return ({ status: 'fulfilled', value: value }); },\n errorCallback: function (err) { return ({ status: 'rejected', reason: err }); }\n });\n };\n ZoneAwarePromise.allWithCallback = function (values, callback) {\n var resolve;\n var reject;\n var promise = new this(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n // Start at 2 to prevent prematurely resolving if .then is called immediately.\n var unresolvedCount = 2;\n var valueIndex = 0;\n var resolvedValues = [];\n var _loop_2 = function (value) {\n if (!isThenable(value)) {\n value = this_1.resolve(value);\n }\n var curValueIndex = valueIndex;\n try {\n value.then(function (value) {\n resolvedValues[curValueIndex] = callback ? callback.thenCallback(value) : value;\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }, function (err) {\n if (!callback) {\n reject(err);\n }\n else {\n resolvedValues[curValueIndex] = callback.errorCallback(err);\n unresolvedCount--;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n }\n });\n }\n catch (thenErr) {\n reject(thenErr);\n }\n unresolvedCount++;\n valueIndex++;\n };\n var this_1 = this;\n for (var _i = 0, values_2 = values; _i < values_2.length; _i++) {\n var value = values_2[_i];\n _loop_2(value);\n }\n // Make the unresolvedCount zero-based again.\n unresolvedCount -= 2;\n if (unresolvedCount === 0) {\n resolve(resolvedValues);\n }\n return promise;\n };\n Object.defineProperty(ZoneAwarePromise.prototype, Symbol.toStringTag, {\n get: function () { return 'Promise'; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ZoneAwarePromise.prototype, Symbol.species, {\n get: function () { return ZoneAwarePromise; },\n enumerable: true,\n configurable: true\n });\n ZoneAwarePromise.prototype.then = function (onFulfilled, onRejected) {\n var C = this.constructor[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = this.constructor || ZoneAwarePromise;\n }\n var chainPromise = new C(noop);\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n }\n return chainPromise;\n };\n ZoneAwarePromise.prototype.catch = function (onRejected) {\n return this.then(null, onRejected);\n };\n ZoneAwarePromise.prototype.finally = function (onFinally) {\n var C = this.constructor[Symbol.species];\n if (!C || typeof C !== 'function') {\n C = ZoneAwarePromise;\n }\n var chainPromise = new C(noop);\n chainPromise[symbolFinally] = symbolFinally;\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFinally, onFinally);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally);\n }\n return chainPromise;\n };\n return ZoneAwarePromise;\n }());\n // Protect against aggressive optimizers dropping seemingly unused properties.\n // E.g. Closure Compiler in advanced mode.\n ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;\n ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;\n ZoneAwarePromise['race'] = ZoneAwarePromise.race;\n ZoneAwarePromise['all'] = ZoneAwarePromise.all;\n var NativePromise = global[symbolPromise] = global['Promise'];\n var ZONE_AWARE_PROMISE = Zone.__symbol__('ZoneAwarePromise');\n var desc = ObjectGetOwnPropertyDescriptor(global, 'Promise');\n if (!desc || desc.configurable) {\n desc && delete desc.writable;\n desc && delete desc.value;\n if (!desc) {\n desc = { configurable: true, enumerable: true };\n }\n desc.get = function () {\n // if we already set ZoneAwarePromise, use patched one\n // otherwise return native one.\n return global[ZONE_AWARE_PROMISE] ? global[ZONE_AWARE_PROMISE] : global[symbolPromise];\n };\n desc.set = function (NewNativePromise) {\n if (NewNativePromise === ZoneAwarePromise) {\n // if the NewNativePromise is ZoneAwarePromise\n // save to global\n global[ZONE_AWARE_PROMISE] = NewNativePromise;\n }\n else {\n // if the NewNativePromise is not ZoneAwarePromise\n // for example: after load zone.js, some library just\n // set es6-promise to global, if we set it to global\n // directly, assertZonePatched will fail and angular\n // will not loaded, so we just set the NewNativePromise\n // to global[symbolPromise], so the result is just like\n // we load ES6 Promise before zone.js\n global[symbolPromise] = NewNativePromise;\n if (!NewNativePromise.prototype[symbolThen]) {\n patchThen(NewNativePromise);\n }\n api.setNativePromise(NewNativePromise);\n }\n };\n ObjectDefineProperty(global, 'Promise', desc);\n }\n global['Promise'] = ZoneAwarePromise;\n var symbolThenPatched = __symbol__('thenPatched');\n function patchThen(Ctor) {\n var proto = Ctor.prototype;\n var prop = ObjectGetOwnPropertyDescriptor(proto, 'then');\n if (prop && (prop.writable === false || !prop.configurable)) {\n // check Ctor.prototype.then propertyDescriptor is writable or not\n // in meteor env, writable is false, we should ignore such case\n return;\n }\n var originalThen = proto.then;\n // Keep a reference to the original method.\n proto[symbolThen] = originalThen;\n Ctor.prototype.then = function (onResolve, onReject) {\n var _this = this;\n var wrapped = new ZoneAwarePromise(function (resolve, reject) { originalThen.call(_this, resolve, reject); });\n return wrapped.then(onResolve, onReject);\n };\n Ctor[symbolThenPatched] = true;\n }\n api.patchThen = patchThen;\n function zoneify(fn) {\n return function () {\n var resultPromise = fn.apply(this, arguments);\n if (resultPromise instanceof ZoneAwarePromise) {\n return resultPromise;\n }\n var ctor = resultPromise.constructor;\n if (!ctor[symbolThenPatched]) {\n patchThen(ctor);\n }\n return resultPromise;\n };\n }\n if (NativePromise) {\n patchThen(NativePromise);\n var fetch_1 = global['fetch'];\n if (typeof fetch_1 == 'function') {\n global[api.symbol('fetch')] = fetch_1;\n global['fetch'] = zoneify(fetch_1);\n }\n }\n // This is not part of public API, but it is useful for tests, so we expose it.\n Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;\n return ZoneAwarePromise;\n });\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n /**\n * Suppress closure compiler errors about unknown 'Zone' variable\n * @fileoverview\n * @suppress {undefinedVars,globalThis,missingRequire}\n */\n /// \n // issue #989, to reduce bundle size, use short name\n /** Object.getOwnPropertyDescriptor */\n var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n /** Object.defineProperty */\n var ObjectDefineProperty = Object.defineProperty;\n /** Object.getPrototypeOf */\n var ObjectGetPrototypeOf = Object.getPrototypeOf;\n /** Object.create */\n var ObjectCreate = Object.create;\n /** Array.prototype.slice */\n var ArraySlice = Array.prototype.slice;\n /** addEventListener string const */\n var ADD_EVENT_LISTENER_STR = 'addEventListener';\n /** removeEventListener string const */\n var REMOVE_EVENT_LISTENER_STR = 'removeEventListener';\n /** zoneSymbol addEventListener */\n var ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR);\n /** zoneSymbol removeEventListener */\n var ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR);\n /** true string const */\n var TRUE_STR = 'true';\n /** false string const */\n var FALSE_STR = 'false';\n /** Zone symbol prefix string const. */\n var ZONE_SYMBOL_PREFIX = Zone.__symbol__('');\n function wrapWithCurrentZone(callback, source) {\n return Zone.current.wrap(callback, source);\n }\n function scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) {\n return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel);\n }\n var zoneSymbol = Zone.__symbol__;\n var isWindowExists = typeof window !== 'undefined';\n var internalWindow = isWindowExists ? window : undefined;\n var _global = isWindowExists && internalWindow || typeof self === 'object' && self || global;\n var REMOVE_ATTRIBUTE = 'removeAttribute';\n var NULL_ON_PROP_VALUE = [null];\n function bindArguments(args, source) {\n for (var i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'function') {\n args[i] = wrapWithCurrentZone(args[i], source + '_' + i);\n }\n }\n return args;\n }\n function patchPrototype(prototype, fnNames) {\n var source = prototype.constructor['name'];\n var _loop_3 = function (i) {\n var name_1 = fnNames[i];\n var delegate = prototype[name_1];\n if (delegate) {\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name_1);\n if (!isPropertyWritable(prototypeDesc)) {\n return \"continue\";\n }\n prototype[name_1] = (function (delegate) {\n var patched = function () {\n return delegate.apply(this, bindArguments(arguments, source + '.' + name_1));\n };\n attachOriginToPatched(patched, delegate);\n return patched;\n })(delegate);\n }\n };\n for (var i = 0; i < fnNames.length; i++) {\n _loop_3(i);\n }\n }\n function isPropertyWritable(propertyDesc) {\n if (!propertyDesc) {\n return true;\n }\n if (propertyDesc.writable === false) {\n return false;\n }\n return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined');\n }\n var isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\n // Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n // this code.\n var isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]');\n var isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']);\n // we are in electron of nw, so we are both browser and nodejs\n // Make sure to access `process` through `_global` so that WebPack does not accidentally browserify\n // this code.\n var isMix = typeof _global.process !== 'undefined' &&\n {}.toString.call(_global.process) === '[object process]' && !isWebWorker &&\n !!(isWindowExists && internalWindow['HTMLElement']);\n var zoneSymbolEventNames = {};\n var wrapFn = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n var eventNameSymbol = zoneSymbolEventNames[event.type];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[event.type] = zoneSymbol('ON_PROPERTY' + event.type);\n }\n var target = this || event.target || _global;\n var listener = target[eventNameSymbol];\n var result;\n if (isBrowser && target === internalWindow && event.type === 'error') {\n // window.onerror have different signiture\n // https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror#window.onerror\n // and onerror callback will prevent default when callback return true\n var errorEvent = event;\n result = listener &&\n listener.call(this, errorEvent.message, errorEvent.filename, errorEvent.lineno, errorEvent.colno, errorEvent.error);\n if (result === true) {\n event.preventDefault();\n }\n }\n else {\n result = listener && listener.apply(this, arguments);\n if (result != undefined && !result) {\n event.preventDefault();\n }\n }\n return result;\n };\n function patchProperty(obj, prop, prototype) {\n var desc = ObjectGetOwnPropertyDescriptor(obj, prop);\n if (!desc && prototype) {\n // when patch window object, use prototype to check prop exist or not\n var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop);\n if (prototypeDesc) {\n desc = { enumerable: true, configurable: true };\n }\n }\n // if the descriptor not exists or is not configurable\n // just return\n if (!desc || !desc.configurable) {\n return;\n }\n var onPropPatchedSymbol = zoneSymbol('on' + prop + 'patched');\n if (obj.hasOwnProperty(onPropPatchedSymbol) && obj[onPropPatchedSymbol]) {\n return;\n }\n // A property descriptor cannot have getter/setter and be writable\n // deleting the writable and value properties avoids this error:\n //\n // TypeError: property descriptors must not specify a value or be writable when a\n // getter or setter has been specified\n delete desc.writable;\n delete desc.value;\n var originalDescGet = desc.get;\n var originalDescSet = desc.set;\n // substr(2) cuz 'onclick' -> 'click', etc\n var eventName = prop.substr(2);\n var eventNameSymbol = zoneSymbolEventNames[eventName];\n if (!eventNameSymbol) {\n eventNameSymbol = zoneSymbolEventNames[eventName] = zoneSymbol('ON_PROPERTY' + eventName);\n }\n desc.set = function (newValue) {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return;\n }\n var previousValue = target[eventNameSymbol];\n if (previousValue) {\n target.removeEventListener(eventName, wrapFn);\n }\n // issue #978, when onload handler was added before loading zone.js\n // we should remove it with originalDescSet\n if (originalDescSet) {\n originalDescSet.apply(target, NULL_ON_PROP_VALUE);\n }\n if (typeof newValue === 'function') {\n target[eventNameSymbol] = newValue;\n target.addEventListener(eventName, wrapFn, false);\n }\n else {\n target[eventNameSymbol] = null;\n }\n };\n // The getter would return undefined for unassigned properties but the default value of an\n // unassigned property is null\n desc.get = function () {\n // in some of windows's onproperty callback, this is undefined\n // so we need to check it\n var target = this;\n if (!target && obj === _global) {\n target = _global;\n }\n if (!target) {\n return null;\n }\n var listener = target[eventNameSymbol];\n if (listener) {\n return listener;\n }\n else if (originalDescGet) {\n // result will be null when use inline event attribute,\n // such as \n // because the onclick function is internal raw uncompiled handler\n // the onclick will be evaluated when first time event was triggered or\n // the property is accessed, https://github.com/angular/zone.js/issues/525\n // so we should use original native get to retrieve the handler\n var value = originalDescGet && originalDescGet.call(this);\n if (value) {\n desc.set.call(this, value);\n if (typeof target[REMOVE_ATTRIBUTE] === 'function') {\n target.removeAttribute(prop);\n }\n return value;\n }\n }\n return null;\n };\n ObjectDefineProperty(obj, prop, desc);\n obj[onPropPatchedSymbol] = true;\n }\n function patchOnProperties(obj, properties, prototype) {\n if (properties) {\n for (var i = 0; i < properties.length; i++) {\n patchProperty(obj, 'on' + properties[i], prototype);\n }\n }\n else {\n var onProperties = [];\n for (var prop in obj) {\n if (prop.substr(0, 2) == 'on') {\n onProperties.push(prop);\n }\n }\n for (var j = 0; j < onProperties.length; j++) {\n patchProperty(obj, onProperties[j], prototype);\n }\n }\n }\n var originalInstanceKey = zoneSymbol('originalInstance');\n // wrap some native API on `window`\n function patchClass(className) {\n var OriginalClass = _global[className];\n if (!OriginalClass)\n return;\n // keep original class in global\n _global[zoneSymbol(className)] = OriginalClass;\n _global[className] = function () {\n var a = bindArguments(arguments, className);\n switch (a.length) {\n case 0:\n this[originalInstanceKey] = new OriginalClass();\n break;\n case 1:\n this[originalInstanceKey] = new OriginalClass(a[0]);\n break;\n case 2:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n break;\n case 3:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n break;\n case 4:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n break;\n default:\n throw new Error('Arg list too long.');\n }\n };\n // attach original delegate to patched function\n attachOriginToPatched(_global[className], OriginalClass);\n var instance = new OriginalClass(function () { });\n var prop;\n for (prop in instance) {\n // https://bugs.webkit.org/show_bug.cgi?id=44721\n if (className === 'XMLHttpRequest' && prop === 'responseBlob')\n continue;\n (function (prop) {\n if (typeof instance[prop] === 'function') {\n _global[className].prototype[prop] = function () {\n return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);\n };\n }\n else {\n ObjectDefineProperty(_global[className].prototype, prop, {\n set: function (fn) {\n if (typeof fn === 'function') {\n this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop);\n // keep callback in wrapped function so we can\n // use it in Function.prototype.toString to return\n // the native one.\n attachOriginToPatched(this[originalInstanceKey][prop], fn);\n }\n else {\n this[originalInstanceKey][prop] = fn;\n }\n },\n get: function () { return this[originalInstanceKey][prop]; }\n });\n }\n }(prop));\n }\n for (prop in OriginalClass) {\n if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {\n _global[className][prop] = OriginalClass[prop];\n }\n }\n }\n function copySymbolProperties(src, dest) {\n if (typeof Object.getOwnPropertySymbols !== 'function') {\n return;\n }\n var symbols = Object.getOwnPropertySymbols(src);\n symbols.forEach(function (symbol) {\n var desc = Object.getOwnPropertyDescriptor(src, symbol);\n Object.defineProperty(dest, symbol, {\n get: function () { return src[symbol]; },\n set: function (value) {\n if (desc && (!desc.writable || typeof desc.set !== 'function')) {\n // if src[symbol] is not writable or not have a setter, just return\n return;\n }\n src[symbol] = value;\n },\n enumerable: desc ? desc.enumerable : true,\n configurable: desc ? desc.configurable : true\n });\n });\n }\n var shouldCopySymbolProperties = false;\n function patchMethod(target, name, patchFn) {\n var proto = target;\n while (proto && !proto.hasOwnProperty(name)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && target[name]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = target;\n }\n var delegateName = zoneSymbol(name);\n var delegate = null;\n if (proto && !(delegate = proto[delegateName])) {\n delegate = proto[delegateName] = proto[name];\n // check whether proto[name] is writable\n // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob\n var desc = proto && ObjectGetOwnPropertyDescriptor(proto, name);\n if (isPropertyWritable(desc)) {\n var patchDelegate_1 = patchFn(delegate, delegateName, name);\n proto[name] = function () { return patchDelegate_1(this, arguments); };\n attachOriginToPatched(proto[name], delegate);\n if (shouldCopySymbolProperties) {\n copySymbolProperties(delegate, proto[name]);\n }\n }\n }\n return delegate;\n }\n // TODO: @JiaLiPassion, support cancel task later if necessary\n function patchMacroTask(obj, funcName, metaCreator) {\n var setNative = null;\n function scheduleTask(task) {\n var data = task.data;\n data.args[data.cbIdx] = function () { task.invoke.apply(this, arguments); };\n setNative.apply(data.target, data.args);\n return task;\n }\n setNative = patchMethod(obj, funcName, function (delegate) { return function (self, args) {\n var meta = metaCreator(self, args);\n if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') {\n return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask);\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(self, args);\n }\n }; });\n }\n function attachOriginToPatched(patched, original) {\n patched[zoneSymbol('OriginalDelegate')] = original;\n }\n var isDetectedIEOrEdge = false;\n var ieOrEdge = false;\n function isIE() {\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1) {\n return true;\n }\n }\n catch (error) {\n }\n return false;\n }\n function isIEOrEdge() {\n if (isDetectedIEOrEdge) {\n return ieOrEdge;\n }\n isDetectedIEOrEdge = true;\n try {\n var ua = internalWindow.navigator.userAgent;\n if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) {\n ieOrEdge = true;\n }\n }\n catch (error) {\n }\n return ieOrEdge;\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n // override Function.prototype.toString to make zone.js patched function\n // look like native function\n Zone.__load_patch('toString', function (global) {\n // patch Func.prototype.toString to let them look like native\n var originalFunctionToString = Function.prototype.toString;\n var ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate');\n var PROMISE_SYMBOL = zoneSymbol('Promise');\n var ERROR_SYMBOL = zoneSymbol('Error');\n var newFunctionToString = function toString() {\n if (typeof this === 'function') {\n var originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL];\n if (originalDelegate) {\n if (typeof originalDelegate === 'function') {\n return originalFunctionToString.call(originalDelegate);\n }\n else {\n return Object.prototype.toString.call(originalDelegate);\n }\n }\n if (this === Promise) {\n var nativePromise = global[PROMISE_SYMBOL];\n if (nativePromise) {\n return originalFunctionToString.call(nativePromise);\n }\n }\n if (this === Error) {\n var nativeError = global[ERROR_SYMBOL];\n if (nativeError) {\n return originalFunctionToString.call(nativeError);\n }\n }\n }\n return originalFunctionToString.call(this);\n };\n newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString;\n Function.prototype.toString = newFunctionToString;\n // patch Object.prototype.toString to let them look like native\n var originalObjectToString = Object.prototype.toString;\n var PROMISE_OBJECT_TO_STRING = '[object Promise]';\n Object.prototype.toString = function () {\n if (this instanceof Promise) {\n return PROMISE_OBJECT_TO_STRING;\n }\n return originalObjectToString.call(this);\n };\n });\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var passiveSupported = false;\n if (typeof window !== 'undefined') {\n try {\n var options = Object.defineProperty({}, 'passive', { get: function () { passiveSupported = true; } });\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n }\n catch (err) {\n passiveSupported = false;\n }\n }\n // an identifier to tell ZoneTask do not create a new invoke closure\n var OPTIMIZED_ZONE_EVENT_TASK_DATA = {\n useG: true\n };\n var zoneSymbolEventNames$1 = {};\n var globalSources = {};\n var EVENT_NAME_SYMBOL_REGX = new RegExp('^' + ZONE_SYMBOL_PREFIX + '(\\\\w+)(true|false)$');\n var IMMEDIATE_PROPAGATION_SYMBOL = zoneSymbol('propagationStopped');\n function prepareEventNames(eventName, eventNameToString) {\n var falseEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + FALSE_STR;\n var trueEventName = (eventNameToString ? eventNameToString(eventName) : eventName) + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames$1[eventName] = {};\n zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture;\n }\n function patchEventTarget(_global, apis, patchOptions) {\n var ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR;\n var REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR;\n var LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners';\n var REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || 'removeAllListeners';\n var zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER);\n var ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':';\n var PREPEND_EVENT_LISTENER = 'prependListener';\n var PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':';\n var invokeTask = function (task, target, event) {\n // for better performance, check isRemoved which is set\n // by removeEventListener\n if (task.isRemoved) {\n return;\n }\n var delegate = task.callback;\n if (typeof delegate === 'object' && delegate.handleEvent) {\n // create the bind version of handleEvent when invoke\n task.callback = function (event) { return delegate.handleEvent(event); };\n task.originalDelegate = delegate;\n }\n // invoke static task.invoke\n task.invoke(task, target, [event]);\n var options = task.options;\n if (options && typeof options === 'object' && options.once) {\n // if options.once is true, after invoke once remove listener here\n // only browser need to do this, nodejs eventEmitter will cal removeListener\n // inside EventEmitter.once\n var delegate_1 = task.originalDelegate ? task.originalDelegate : task.callback;\n target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate_1, options);\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = false\n var globalZoneAwareCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = this || event.target || _global;\n var tasks = target[zoneSymbolEventNames$1[event.type][FALSE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n // global shared zoneAwareCallback to handle all event callback with capture = true\n var globalZoneAwareCaptureCallback = function (event) {\n // https://github.com/angular/zone.js/issues/911, in IE, sometimes\n // event will be undefined, so we need to use window.event\n event = event || _global.event;\n if (!event) {\n return;\n }\n // event.target is needed for Samsung TV and SourceBuffer\n // || global is needed https://github.com/angular/zone.js/issues/190\n var target = this || event.target || _global;\n var tasks = target[zoneSymbolEventNames$1[event.type][TRUE_STR]];\n if (tasks) {\n // invoke all tasks which attached to current target with given event.type and capture = false\n // for performance concern, if task.length === 1, just invoke\n if (tasks.length === 1) {\n invokeTask(tasks[0], target, event);\n }\n else {\n // https://github.com/angular/zone.js/issues/836\n // copy the tasks array before invoke, to avoid\n // the callback will remove itself or other listener\n var copyTasks = tasks.slice();\n for (var i = 0; i < copyTasks.length; i++) {\n if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) {\n break;\n }\n invokeTask(copyTasks[i], target, event);\n }\n }\n }\n };\n function patchEventTargetMethods(obj, patchOptions) {\n if (!obj) {\n return false;\n }\n var useGlobalCallback = true;\n if (patchOptions && patchOptions.useG !== undefined) {\n useGlobalCallback = patchOptions.useG;\n }\n var validateHandler = patchOptions && patchOptions.vh;\n var checkDuplicate = true;\n if (patchOptions && patchOptions.chkDup !== undefined) {\n checkDuplicate = patchOptions.chkDup;\n }\n var returnTarget = false;\n if (patchOptions && patchOptions.rt !== undefined) {\n returnTarget = patchOptions.rt;\n }\n var proto = obj;\n while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) {\n proto = ObjectGetPrototypeOf(proto);\n }\n if (!proto && obj[ADD_EVENT_LISTENER]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = obj;\n }\n if (!proto) {\n return false;\n }\n if (proto[zoneSymbolAddEventListener]) {\n return false;\n }\n var eventNameToString = patchOptions && patchOptions.eventNameToString;\n // a shared global taskData to pass data for scheduleEventTask\n // so we do not need to create a new object just for pass some data\n var taskData = {};\n var nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER];\n var nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] =\n proto[REMOVE_EVENT_LISTENER];\n var nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] =\n proto[LISTENERS_EVENT_LISTENER];\n var nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] =\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER];\n var nativePrependEventListener;\n if (patchOptions && patchOptions.prepend) {\n nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] =\n proto[patchOptions.prepend];\n }\n /**\n * This util function will build an option object with passive option\n * to handle all possible input from the user.\n */\n function buildEventListenerOptions(options, passive) {\n if (!passiveSupported && typeof options === 'object' && options) {\n // doesn't support passive but user want to pass an object as options.\n // this will not work on some old browser, so we just pass a boolean\n // as useCapture parameter\n return !!options.capture;\n }\n if (!passiveSupported || !passive) {\n return options;\n }\n if (typeof options === 'boolean') {\n return { capture: options, passive: true };\n }\n if (!options) {\n return { passive: true };\n }\n if (typeof options === 'object' && options.passive !== false) {\n return Object.assign(Object.assign({}, options), { passive: true });\n }\n return options;\n }\n var customScheduleGlobal = function (task) {\n // if there is already a task for the eventName + capture,\n // just return, because we use the shared globalZoneAwareCallback here.\n if (taskData.isExisting) {\n return;\n }\n return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options);\n };\n var customCancelGlobal = function (task) {\n // if task is not marked as isRemoved, this call is directly\n // from Zone.prototype.cancelTask, we should remove the task\n // from tasksList of target first\n if (!task.isRemoved) {\n var symbolEventNames = zoneSymbolEventNames$1[task.eventName];\n var symbolEventName = void 0;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && task.target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (existingTask === task) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n task.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n task.allRemoved = true;\n task.target[symbolEventName] = null;\n }\n break;\n }\n }\n }\n }\n // if all tasks for the eventName + capture have gone,\n // we will really remove the global event callback,\n // if not, return\n if (!task.allRemoved) {\n return;\n }\n return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options);\n };\n var customScheduleNonGlobal = function (task) {\n return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customSchedulePrepend = function (task) {\n return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options);\n };\n var customCancelNonGlobal = function (task) {\n return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options);\n };\n var customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal;\n var customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal;\n var compareTaskCallbackVsDelegate = function (task, delegate) {\n var typeOfDelegate = typeof delegate;\n return (typeOfDelegate === 'function' && task.callback === delegate) ||\n (typeOfDelegate === 'object' && task.originalDelegate === delegate);\n };\n var compare = (patchOptions && patchOptions.diff) ? patchOptions.diff : compareTaskCallbackVsDelegate;\n var blackListedEvents = Zone[zoneSymbol('BLACK_LISTED_EVENTS')];\n var passiveEvents = _global[zoneSymbol('PASSIVE_EVENTS')];\n var makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget, prepend) {\n if (returnTarget === void 0) { returnTarget = false; }\n if (prepend === void 0) { prepend = false; }\n return function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var delegate = arguments[1];\n if (!delegate) {\n return nativeListener.apply(this, arguments);\n }\n if (isNode && eventName === 'uncaughtException') {\n // don't patch uncaughtException of nodejs to prevent endless loop\n return nativeListener.apply(this, arguments);\n }\n // don't create the bind delegate function for handleEvent\n // case here to improve addEventListener performance\n // we will create the bind delegate when invoke\n var isHandleEvent = false;\n if (typeof delegate !== 'function') {\n if (!delegate.handleEvent) {\n return nativeListener.apply(this, arguments);\n }\n isHandleEvent = true;\n }\n if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) {\n return;\n }\n var passive = passiveSupported && !!passiveEvents && passiveEvents.indexOf(eventName) !== -1;\n var options = buildEventListenerOptions(arguments[2], passive);\n if (blackListedEvents) {\n // check black list\n for (var i = 0; i < blackListedEvents.length; i++) {\n if (eventName === blackListedEvents[i]) {\n if (passive) {\n return nativeListener.call(target, eventName, delegate, options);\n }\n else {\n return nativeListener.apply(this, arguments);\n }\n }\n }\n }\n var capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n var once = options && typeof options === 'object' ? options.once : false;\n var zone = Zone.current;\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n if (!symbolEventNames) {\n prepareEventNames(eventName, eventNameToString);\n symbolEventNames = zoneSymbolEventNames$1[eventName];\n }\n var symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n var existingTasks = target[symbolEventName];\n var isExisting = false;\n if (existingTasks) {\n // already have task registered\n isExisting = true;\n if (checkDuplicate) {\n for (var i = 0; i < existingTasks.length; i++) {\n if (compare(existingTasks[i], delegate)) {\n // same callback, same capture, same event name, just return\n return;\n }\n }\n }\n }\n else {\n existingTasks = target[symbolEventName] = [];\n }\n var source;\n var constructorName = target.constructor['name'];\n var targetSource = globalSources[constructorName];\n if (targetSource) {\n source = targetSource[eventName];\n }\n if (!source) {\n source = constructorName + addSource +\n (eventNameToString ? eventNameToString(eventName) : eventName);\n }\n // do not create a new object as task.data to pass those things\n // just use the global shared one\n taskData.options = options;\n if (once) {\n // if addEventListener with once options, we don't pass it to\n // native addEventListener, instead we keep the once setting\n // and handle ourselves.\n taskData.options.once = false;\n }\n taskData.target = target;\n taskData.capture = capture;\n taskData.eventName = eventName;\n taskData.isExisting = isExisting;\n var data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : undefined;\n // keep taskData into data to allow onScheduleEventTask to access the task information\n if (data) {\n data.taskData = taskData;\n }\n var task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn);\n // should clear taskData.target to avoid memory leak\n // issue, https://github.com/angular/angular/issues/20442\n taskData.target = null;\n // need to clear up taskData because it is a global object\n if (data) {\n data.taskData = null;\n }\n // have to save those information to task in case\n // application may call task.zone.cancelTask() directly\n if (once) {\n options.once = true;\n }\n if (!(!passiveSupported && typeof task.options === 'boolean')) {\n // if not support passive, and we pass an option object\n // to addEventListener, we should save the options to task\n task.options = options;\n }\n task.target = target;\n task.capture = capture;\n task.eventName = eventName;\n if (isHandleEvent) {\n // save original delegate for compare to check duplicate\n task.originalDelegate = delegate;\n }\n if (!prepend) {\n existingTasks.push(task);\n }\n else {\n existingTasks.unshift(task);\n }\n if (returnTarget) {\n return target;\n }\n };\n };\n proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget);\n if (nativePrependEventListener) {\n proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true);\n }\n proto[REMOVE_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var options = arguments[2];\n var capture = !options ? false : typeof options === 'boolean' ? true : options.capture;\n var delegate = arguments[1];\n if (!delegate) {\n return nativeRemoveEventListener.apply(this, arguments);\n }\n if (validateHandler &&\n !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) {\n return;\n }\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n var symbolEventName;\n if (symbolEventNames) {\n symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR];\n }\n var existingTasks = symbolEventName && target[symbolEventName];\n if (existingTasks) {\n for (var i = 0; i < existingTasks.length; i++) {\n var existingTask = existingTasks[i];\n if (compare(existingTask, delegate)) {\n existingTasks.splice(i, 1);\n // set isRemoved to data for faster invokeTask check\n existingTask.isRemoved = true;\n if (existingTasks.length === 0) {\n // all tasks for the eventName + capture have gone,\n // remove globalZoneAwareCallback and remove the task cache from target\n existingTask.allRemoved = true;\n target[symbolEventName] = null;\n // in the target, we have an event listener which is added by on_property\n // such as target.onclick = function() {}, so we need to clear this internal\n // property too if all delegates all removed\n if (typeof eventName === 'string') {\n var onPropertySymbol = ZONE_SYMBOL_PREFIX + 'ON_PROPERTY' + eventName;\n target[onPropertySymbol] = null;\n }\n }\n existingTask.zone.cancelTask(existingTask);\n if (returnTarget) {\n return target;\n }\n return;\n }\n }\n }\n // issue 930, didn't find the event name or callback\n // from zone kept existingTasks, the callback maybe\n // added outside of zone, we need to call native removeEventListener\n // to try to remove it.\n return nativeRemoveEventListener.apply(this, arguments);\n };\n proto[LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var listeners = [];\n var tasks = findEventTasks(target, eventNameToString ? eventNameToString(eventName) : eventName);\n for (var i = 0; i < tasks.length; i++) {\n var task = tasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n listeners.push(delegate);\n }\n return listeners;\n };\n proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () {\n var target = this || _global;\n var eventName = arguments[0];\n if (!eventName) {\n var keys = Object.keys(target);\n for (var i = 0; i < keys.length; i++) {\n var prop = keys[i];\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n // in nodejs EventEmitter, removeListener event is\n // used for monitoring the removeListener call,\n // so just keep removeListener eventListener until\n // all other eventListeners are removed\n if (evtName && evtName !== 'removeListener') {\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName);\n }\n }\n // remove removeListener listener finally\n this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener');\n }\n else {\n if (patchOptions && patchOptions.transferEventName) {\n eventName = patchOptions.transferEventName(eventName);\n }\n var symbolEventNames = zoneSymbolEventNames$1[eventName];\n if (symbolEventNames) {\n var symbolEventName = symbolEventNames[FALSE_STR];\n var symbolCaptureEventName = symbolEventNames[TRUE_STR];\n var tasks = target[symbolEventName];\n var captureTasks = target[symbolCaptureEventName];\n if (tasks) {\n var removeTasks = tasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n if (captureTasks) {\n var removeTasks = captureTasks.slice();\n for (var i = 0; i < removeTasks.length; i++) {\n var task = removeTasks[i];\n var delegate = task.originalDelegate ? task.originalDelegate : task.callback;\n this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options);\n }\n }\n }\n }\n if (returnTarget) {\n return this;\n }\n };\n // for native toString patch\n attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener);\n attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener);\n if (nativeRemoveAllListeners) {\n attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners);\n }\n if (nativeListeners) {\n attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners);\n }\n return true;\n }\n var results = [];\n for (var i = 0; i < apis.length; i++) {\n results[i] = patchEventTargetMethods(apis[i], patchOptions);\n }\n return results;\n }\n function findEventTasks(target, eventName) {\n if (!eventName) {\n var foundTasks = [];\n for (var prop in target) {\n var match = EVENT_NAME_SYMBOL_REGX.exec(prop);\n var evtName = match && match[1];\n if (evtName && (!eventName || evtName === eventName)) {\n var tasks = target[prop];\n if (tasks) {\n for (var i = 0; i < tasks.length; i++) {\n foundTasks.push(tasks[i]);\n }\n }\n }\n }\n return foundTasks;\n }\n var symbolEventName = zoneSymbolEventNames$1[eventName];\n if (!symbolEventName) {\n prepareEventNames(eventName);\n symbolEventName = zoneSymbolEventNames$1[eventName];\n }\n var captureFalseTasks = target[symbolEventName[FALSE_STR]];\n var captureTrueTasks = target[symbolEventName[TRUE_STR]];\n if (!captureFalseTasks) {\n return captureTrueTasks ? captureTrueTasks.slice() : [];\n }\n else {\n return captureTrueTasks ? captureFalseTasks.concat(captureTrueTasks) :\n captureFalseTasks.slice();\n }\n }\n function patchEventPrototype(global, api) {\n var Event = global['Event'];\n if (Event && Event.prototype) {\n api.patchMethod(Event.prototype, 'stopImmediatePropagation', function (delegate) { return function (self, args) {\n self[IMMEDIATE_PROPAGATION_SYMBOL] = true;\n // we need to call the native stopImmediatePropagation\n // in case in some hybrid application, some part of\n // application will be controlled by zone, some are not\n delegate && delegate.apply(self, args);\n }; });\n }\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function patchCallbacks(api, target, targetName, method, callbacks) {\n var symbol = Zone.__symbol__(method);\n if (target[symbol]) {\n return;\n }\n var nativeDelegate = target[symbol] = target[method];\n target[method] = function (name, opts, options) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n var source = targetName + \".\" + method + \"::\" + callback;\n var prototype = opts.prototype;\n if (prototype.hasOwnProperty(callback)) {\n var descriptor = api.ObjectGetOwnPropertyDescriptor(prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = api.wrapWithCurrentZone(descriptor.value, source);\n api._redefineProperty(opts.prototype, callback, descriptor);\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n }\n else if (prototype[callback]) {\n prototype[callback] = api.wrapWithCurrentZone(prototype[callback], source);\n }\n });\n }\n return nativeDelegate.call(target, name, opts, options);\n };\n api.attachOriginToPatched(target[method], nativeDelegate);\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var globalEventHandlersEventNames = [\n 'abort',\n 'animationcancel',\n 'animationend',\n 'animationiteration',\n 'auxclick',\n 'beforeinput',\n 'blur',\n 'cancel',\n 'canplay',\n 'canplaythrough',\n 'change',\n 'compositionstart',\n 'compositionupdate',\n 'compositionend',\n 'cuechange',\n 'click',\n 'close',\n 'contextmenu',\n 'curechange',\n 'dblclick',\n 'drag',\n 'dragend',\n 'dragenter',\n 'dragexit',\n 'dragleave',\n 'dragover',\n 'drop',\n 'durationchange',\n 'emptied',\n 'ended',\n 'error',\n 'focus',\n 'focusin',\n 'focusout',\n 'gotpointercapture',\n 'input',\n 'invalid',\n 'keydown',\n 'keypress',\n 'keyup',\n 'load',\n 'loadstart',\n 'loadeddata',\n 'loadedmetadata',\n 'lostpointercapture',\n 'mousedown',\n 'mouseenter',\n 'mouseleave',\n 'mousemove',\n 'mouseout',\n 'mouseover',\n 'mouseup',\n 'mousewheel',\n 'orientationchange',\n 'pause',\n 'play',\n 'playing',\n 'pointercancel',\n 'pointerdown',\n 'pointerenter',\n 'pointerleave',\n 'pointerlockchange',\n 'mozpointerlockchange',\n 'webkitpointerlockerchange',\n 'pointerlockerror',\n 'mozpointerlockerror',\n 'webkitpointerlockerror',\n 'pointermove',\n 'pointout',\n 'pointerover',\n 'pointerup',\n 'progress',\n 'ratechange',\n 'reset',\n 'resize',\n 'scroll',\n 'seeked',\n 'seeking',\n 'select',\n 'selectionchange',\n 'selectstart',\n 'show',\n 'sort',\n 'stalled',\n 'submit',\n 'suspend',\n 'timeupdate',\n 'volumechange',\n 'touchcancel',\n 'touchmove',\n 'touchstart',\n 'touchend',\n 'transitioncancel',\n 'transitionend',\n 'waiting',\n 'wheel'\n ];\n var documentEventNames = [\n 'afterscriptexecute', 'beforescriptexecute', 'DOMContentLoaded', 'freeze', 'fullscreenchange',\n 'mozfullscreenchange', 'webkitfullscreenchange', 'msfullscreenchange', 'fullscreenerror',\n 'mozfullscreenerror', 'webkitfullscreenerror', 'msfullscreenerror', 'readystatechange',\n 'visibilitychange', 'resume'\n ];\n var windowEventNames = [\n 'absolutedeviceorientation',\n 'afterinput',\n 'afterprint',\n 'appinstalled',\n 'beforeinstallprompt',\n 'beforeprint',\n 'beforeunload',\n 'devicelight',\n 'devicemotion',\n 'deviceorientation',\n 'deviceorientationabsolute',\n 'deviceproximity',\n 'hashchange',\n 'languagechange',\n 'message',\n 'mozbeforepaint',\n 'offline',\n 'online',\n 'paint',\n 'pageshow',\n 'pagehide',\n 'popstate',\n 'rejectionhandled',\n 'storage',\n 'unhandledrejection',\n 'unload',\n 'userproximity',\n 'vrdisplayconnected',\n 'vrdisplaydisconnected',\n 'vrdisplaypresentchange'\n ];\n var htmlElementEventNames = [\n 'beforecopy', 'beforecut', 'beforepaste', 'copy', 'cut', 'paste', 'dragstart', 'loadend',\n 'animationstart', 'search', 'transitionrun', 'transitionstart', 'webkitanimationend',\n 'webkitanimationiteration', 'webkitanimationstart', 'webkittransitionend'\n ];\n var mediaElementEventNames = ['encrypted', 'waitingforkey', 'msneedkey', 'mozinterruptbegin', 'mozinterruptend'];\n var ieElementEventNames = [\n 'activate',\n 'afterupdate',\n 'ariarequest',\n 'beforeactivate',\n 'beforedeactivate',\n 'beforeeditfocus',\n 'beforeupdate',\n 'cellchange',\n 'controlselect',\n 'dataavailable',\n 'datasetchanged',\n 'datasetcomplete',\n 'errorupdate',\n 'filterchange',\n 'layoutcomplete',\n 'losecapture',\n 'move',\n 'moveend',\n 'movestart',\n 'propertychange',\n 'resizeend',\n 'resizestart',\n 'rowenter',\n 'rowexit',\n 'rowsdelete',\n 'rowsinserted',\n 'command',\n 'compassneedscalibration',\n 'deactivate',\n 'help',\n 'mscontentzoom',\n 'msmanipulationstatechanged',\n 'msgesturechange',\n 'msgesturedoubletap',\n 'msgestureend',\n 'msgesturehold',\n 'msgesturestart',\n 'msgesturetap',\n 'msgotpointercapture',\n 'msinertiastart',\n 'mslostpointercapture',\n 'mspointercancel',\n 'mspointerdown',\n 'mspointerenter',\n 'mspointerhover',\n 'mspointerleave',\n 'mspointermove',\n 'mspointerout',\n 'mspointerover',\n 'mspointerup',\n 'pointerout',\n 'mssitemodejumplistitemremoved',\n 'msthumbnailclick',\n 'stop',\n 'storagecommit'\n ];\n var webglEventNames = ['webglcontextrestored', 'webglcontextlost', 'webglcontextcreationerror'];\n var formEventNames = ['autocomplete', 'autocompleteerror'];\n var detailEventNames = ['toggle'];\n var frameEventNames = ['load'];\n var frameSetEventNames = ['blur', 'error', 'focus', 'load', 'resize', 'scroll', 'messageerror'];\n var marqueeEventNames = ['bounce', 'finish', 'start'];\n var XMLHttpRequestEventNames = [\n 'loadstart', 'progress', 'abort', 'error', 'load', 'progress', 'timeout', 'loadend',\n 'readystatechange'\n ];\n var IDBIndexEventNames = ['upgradeneeded', 'complete', 'abort', 'success', 'error', 'blocked', 'versionchange', 'close'];\n var websocketEventNames = ['close', 'error', 'open', 'message'];\n var workerEventNames = ['error', 'message'];\n var eventNames = globalEventHandlersEventNames.concat(webglEventNames, formEventNames, detailEventNames, documentEventNames, windowEventNames, htmlElementEventNames, ieElementEventNames);\n function filterProperties(target, onProperties, ignoreProperties) {\n if (!ignoreProperties || ignoreProperties.length === 0) {\n return onProperties;\n }\n var tip = ignoreProperties.filter(function (ip) { return ip.target === target; });\n if (!tip || tip.length === 0) {\n return onProperties;\n }\n var targetIgnoreProperties = tip[0].ignoreProperties;\n return onProperties.filter(function (op) { return targetIgnoreProperties.indexOf(op) === -1; });\n }\n function patchFilteredProperties(target, onProperties, ignoreProperties, prototype) {\n // check whether target is available, sometimes target will be undefined\n // because different browser or some 3rd party plugin.\n if (!target) {\n return;\n }\n var filteredProperties = filterProperties(target, onProperties, ignoreProperties);\n patchOnProperties(target, filteredProperties, prototype);\n }\n function propertyDescriptorPatch(api, _global) {\n if (isNode && !isMix) {\n return;\n }\n if (Zone[api.symbol('patchEvents')]) {\n // events are already been patched by legacy patch.\n return;\n }\n var supportsWebSocket = typeof WebSocket !== 'undefined';\n var ignoreProperties = _global['__Zone_ignore_on_properties'];\n // for browsers that we can patch the descriptor: Chrome & Firefox\n if (isBrowser) {\n var internalWindow_1 = window;\n var ignoreErrorProperties = isIE ? [{ target: internalWindow_1, ignoreProperties: ['error'] }] : [];\n // in IE/Edge, onProp not exist in window object, but in WindowPrototype\n // so we need to pass WindowPrototype to check onProp exist or not\n patchFilteredProperties(internalWindow_1, eventNames.concat(['messageerror']), ignoreProperties ? ignoreProperties.concat(ignoreErrorProperties) : ignoreProperties, ObjectGetPrototypeOf(internalWindow_1));\n patchFilteredProperties(Document.prototype, eventNames, ignoreProperties);\n if (typeof internalWindow_1['SVGElement'] !== 'undefined') {\n patchFilteredProperties(internalWindow_1['SVGElement'].prototype, eventNames, ignoreProperties);\n }\n patchFilteredProperties(Element.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLElement.prototype, eventNames, ignoreProperties);\n patchFilteredProperties(HTMLMediaElement.prototype, mediaElementEventNames, ignoreProperties);\n patchFilteredProperties(HTMLFrameSetElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLBodyElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties);\n patchFilteredProperties(HTMLFrameElement.prototype, frameEventNames, ignoreProperties);\n patchFilteredProperties(HTMLIFrameElement.prototype, frameEventNames, ignoreProperties);\n var HTMLMarqueeElement_1 = internalWindow_1['HTMLMarqueeElement'];\n if (HTMLMarqueeElement_1) {\n patchFilteredProperties(HTMLMarqueeElement_1.prototype, marqueeEventNames, ignoreProperties);\n }\n var Worker_1 = internalWindow_1['Worker'];\n if (Worker_1) {\n patchFilteredProperties(Worker_1.prototype, workerEventNames, ignoreProperties);\n }\n }\n var XMLHttpRequest = _global['XMLHttpRequest'];\n if (XMLHttpRequest) {\n // XMLHttpRequest is not available in ServiceWorker, so we need to check here\n patchFilteredProperties(XMLHttpRequest.prototype, XMLHttpRequestEventNames, ignoreProperties);\n }\n var XMLHttpRequestEventTarget = _global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget) {\n patchFilteredProperties(XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype, XMLHttpRequestEventNames, ignoreProperties);\n }\n if (typeof IDBIndex !== 'undefined') {\n patchFilteredProperties(IDBIndex.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBOpenDBRequest.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBDatabase.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBTransaction.prototype, IDBIndexEventNames, ignoreProperties);\n patchFilteredProperties(IDBCursor.prototype, IDBIndexEventNames, ignoreProperties);\n }\n if (supportsWebSocket) {\n patchFilteredProperties(WebSocket.prototype, websocketEventNames, ignoreProperties);\n }\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n Zone.__load_patch('util', function (global, Zone, api) {\n api.patchOnProperties = patchOnProperties;\n api.patchMethod = patchMethod;\n api.bindArguments = bindArguments;\n api.patchMacroTask = patchMacroTask;\n // In earlier version of zone.js (<0.9.0), we use env name `__zone_symbol__BLACK_LISTED_EVENTS` to\n // define which events will not be patched by `Zone.js`.\n // In newer version (>=0.9.0), we change the env name to `__zone_symbol__UNPATCHED_EVENTS` to keep\n // the name consistent with angular repo.\n // The `__zone_symbol__BLACK_LISTED_EVENTS` is deprecated, but it is still be supported for\n // backwards compatibility.\n var SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS');\n var SYMBOL_UNPATCHED_EVENTS = Zone.__symbol__('UNPATCHED_EVENTS');\n if (global[SYMBOL_UNPATCHED_EVENTS]) {\n global[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_UNPATCHED_EVENTS];\n }\n if (global[SYMBOL_BLACK_LISTED_EVENTS]) {\n Zone[SYMBOL_BLACK_LISTED_EVENTS] = Zone[SYMBOL_UNPATCHED_EVENTS] =\n global[SYMBOL_BLACK_LISTED_EVENTS];\n }\n api.patchEventPrototype = patchEventPrototype;\n api.patchEventTarget = patchEventTarget;\n api.isIEOrEdge = isIEOrEdge;\n api.ObjectDefineProperty = ObjectDefineProperty;\n api.ObjectGetOwnPropertyDescriptor = ObjectGetOwnPropertyDescriptor;\n api.ObjectCreate = ObjectCreate;\n api.ArraySlice = ArraySlice;\n api.patchClass = patchClass;\n api.wrapWithCurrentZone = wrapWithCurrentZone;\n api.filterProperties = filterProperties;\n api.attachOriginToPatched = attachOriginToPatched;\n api._redefineProperty = Object.defineProperty;\n api.patchCallbacks = patchCallbacks;\n api.getGlobalObjects = function () { return ({ globalSources: globalSources, zoneSymbolEventNames: zoneSymbolEventNames$1, eventNames: eventNames, isBrowser: isBrowser, isMix: isMix, isNode: isNode, TRUE_STR: TRUE_STR,\n FALSE_STR: FALSE_STR, ZONE_SYMBOL_PREFIX: ZONE_SYMBOL_PREFIX, ADD_EVENT_LISTENER_STR: ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR: REMOVE_EVENT_LISTENER_STR }); };\n });\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n /*\n * This is necessary for Chrome and Chrome mobile, to enable\n * things like redefining `createdCallback` on an element.\n */\n var zoneSymbol$1;\n var _defineProperty;\n var _getOwnPropertyDescriptor;\n var _create;\n var unconfigurablesKey;\n function propertyPatch() {\n zoneSymbol$1 = Zone.__symbol__;\n _defineProperty = Object[zoneSymbol$1('defineProperty')] = Object.defineProperty;\n _getOwnPropertyDescriptor = Object[zoneSymbol$1('getOwnPropertyDescriptor')] =\n Object.getOwnPropertyDescriptor;\n _create = Object.create;\n unconfigurablesKey = zoneSymbol$1('unconfigurables');\n Object.defineProperty = function (obj, prop, desc) {\n if (isUnconfigurable(obj, prop)) {\n throw new TypeError('Cannot assign to read only property \\'' + prop + '\\' of ' + obj);\n }\n var originalConfigurableFlag = desc.configurable;\n if (prop !== 'prototype') {\n desc = rewriteDescriptor(obj, prop, desc);\n }\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n };\n Object.defineProperties = function (obj, props) {\n Object.keys(props).forEach(function (prop) { Object.defineProperty(obj, prop, props[prop]); });\n return obj;\n };\n Object.create = function (obj, proto) {\n if (typeof proto === 'object' && !Object.isFrozen(proto)) {\n Object.keys(proto).forEach(function (prop) {\n proto[prop] = rewriteDescriptor(obj, prop, proto[prop]);\n });\n }\n return _create(obj, proto);\n };\n Object.getOwnPropertyDescriptor = function (obj, prop) {\n var desc = _getOwnPropertyDescriptor(obj, prop);\n if (desc && isUnconfigurable(obj, prop)) {\n desc.configurable = false;\n }\n return desc;\n };\n }\n function _redefineProperty(obj, prop, desc) {\n var originalConfigurableFlag = desc.configurable;\n desc = rewriteDescriptor(obj, prop, desc);\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n }\n function isUnconfigurable(obj, prop) {\n return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop];\n }\n function rewriteDescriptor(obj, prop, desc) {\n // issue-927, if the desc is frozen, don't try to change the desc\n if (!Object.isFrozen(desc)) {\n desc.configurable = true;\n }\n if (!desc.configurable) {\n // issue-927, if the obj is frozen, don't try to set the desc to obj\n if (!obj[unconfigurablesKey] && !Object.isFrozen(obj)) {\n _defineProperty(obj, unconfigurablesKey, { writable: true, value: {} });\n }\n if (obj[unconfigurablesKey]) {\n obj[unconfigurablesKey][prop] = true;\n }\n }\n return desc;\n }\n function _tryDefineProperty(obj, prop, desc, originalConfigurableFlag) {\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n if (desc.configurable) {\n // In case of errors, when the configurable flag was likely set by rewriteDescriptor(), let's\n // retry with the original flag value\n if (typeof originalConfigurableFlag == 'undefined') {\n delete desc.configurable;\n }\n else {\n desc.configurable = originalConfigurableFlag;\n }\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (error) {\n var descJson = null;\n try {\n descJson = JSON.stringify(desc);\n }\n catch (error) {\n descJson = desc.toString();\n }\n console.log(\"Attempting to configure '\" + prop + \"' with descriptor '\" + descJson + \"' on object '\" + obj + \"' and got error, giving up: \" + error);\n }\n }\n else {\n throw error;\n }\n }\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function eventTargetLegacyPatch(_global, api) {\n var _a = api.getGlobalObjects(), eventNames = _a.eventNames, globalSources = _a.globalSources, zoneSymbolEventNames = _a.zoneSymbolEventNames, TRUE_STR = _a.TRUE_STR, FALSE_STR = _a.FALSE_STR, ZONE_SYMBOL_PREFIX = _a.ZONE_SYMBOL_PREFIX;\n var WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video';\n var NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket'\n .split(',');\n var EVENT_TARGET = 'EventTarget';\n var apis = [];\n var isWtf = _global['wtf'];\n var WTF_ISSUE_555_ARRAY = WTF_ISSUE_555.split(',');\n if (isWtf) {\n // Workaround for: https://github.com/google/tracing-framework/issues/555\n apis = WTF_ISSUE_555_ARRAY.map(function (v) { return 'HTML' + v + 'Element'; }).concat(NO_EVENT_TARGET);\n }\n else if (_global[EVENT_TARGET]) {\n apis.push(EVENT_TARGET);\n }\n else {\n // Note: EventTarget is not available in all browsers,\n // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget\n apis = NO_EVENT_TARGET;\n }\n var isDisableIECheck = _global['__Zone_disable_IE_check'] || false;\n var isEnableCrossContextCheck = _global['__Zone_enable_cross_context_check'] || false;\n var ieOrEdge = api.isIEOrEdge();\n var ADD_EVENT_LISTENER_SOURCE = '.addEventListener:';\n var FUNCTION_WRAPPER = '[object FunctionWrapper]';\n var BROWSER_TOOLS = 'function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }';\n var pointerEventsMap = {\n 'MSPointerCancel': 'pointercancel',\n 'MSPointerDown': 'pointerdown',\n 'MSPointerEnter': 'pointerenter',\n 'MSPointerHover': 'pointerhover',\n 'MSPointerLeave': 'pointerleave',\n 'MSPointerMove': 'pointermove',\n 'MSPointerOut': 'pointerout',\n 'MSPointerOver': 'pointerover',\n 'MSPointerUp': 'pointerup'\n };\n // predefine all __zone_symbol__ + eventName + true/false string\n for (var i = 0; i < eventNames.length; i++) {\n var eventName = eventNames[i];\n var falseEventName = eventName + FALSE_STR;\n var trueEventName = eventName + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n // predefine all task.source string\n for (var i = 0; i < WTF_ISSUE_555_ARRAY.length; i++) {\n var target = WTF_ISSUE_555_ARRAY[i];\n var targets = globalSources[target] = {};\n for (var j = 0; j < eventNames.length; j++) {\n var eventName = eventNames[j];\n targets[eventName] = target + ADD_EVENT_LISTENER_SOURCE + eventName;\n }\n }\n var checkIEAndCrossContext = function (nativeDelegate, delegate, target, args) {\n if (!isDisableIECheck && ieOrEdge) {\n if (isEnableCrossContextCheck) {\n try {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n else {\n var testString = delegate.toString();\n if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n }\n else if (isEnableCrossContextCheck) {\n try {\n delegate.toString();\n }\n catch (error) {\n nativeDelegate.apply(target, args);\n return false;\n }\n }\n return true;\n };\n var apiTypes = [];\n for (var i = 0; i < apis.length; i++) {\n var type = _global[apis[i]];\n apiTypes.push(type && type.prototype);\n }\n // vh is validateHandler to check event handler\n // is valid or not(for security check)\n api.patchEventTarget(_global, apiTypes, {\n vh: checkIEAndCrossContext,\n transferEventName: function (eventName) {\n var pointerEventName = pointerEventsMap[eventName];\n return pointerEventName || eventName;\n }\n });\n Zone[api.symbol('patchEventTarget')] = !!_global[EVENT_TARGET];\n return true;\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n // we have to patch the instance since the proto is non-configurable\n function apply(api, _global) {\n var _a = api.getGlobalObjects(), ADD_EVENT_LISTENER_STR = _a.ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR = _a.REMOVE_EVENT_LISTENER_STR;\n var WS = _global.WebSocket;\n // On Safari window.EventTarget doesn't exist so need to patch WS add/removeEventListener\n // On older Chrome, no need since EventTarget was already patched\n if (!_global.EventTarget) {\n api.patchEventTarget(_global, [WS.prototype]);\n }\n _global.WebSocket = function (x, y) {\n var socket = arguments.length > 1 ? new WS(x, y) : new WS(x);\n var proxySocket;\n var proxySocketProto;\n // Safari 7.0 has non-configurable own 'onmessage' and friends properties on the socket instance\n var onmessageDesc = api.ObjectGetOwnPropertyDescriptor(socket, 'onmessage');\n if (onmessageDesc && onmessageDesc.configurable === false) {\n proxySocket = api.ObjectCreate(socket);\n // socket have own property descriptor 'onopen', 'onmessage', 'onclose', 'onerror'\n // but proxySocket not, so we will keep socket as prototype and pass it to\n // patchOnProperties method\n proxySocketProto = socket;\n [ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR, 'send', 'close'].forEach(function (propName) {\n proxySocket[propName] = function () {\n var args = api.ArraySlice.call(arguments);\n if (propName === ADD_EVENT_LISTENER_STR || propName === REMOVE_EVENT_LISTENER_STR) {\n var eventName = args.length > 0 ? args[0] : undefined;\n if (eventName) {\n var propertySymbol = Zone.__symbol__('ON_PROPERTY' + eventName);\n socket[propertySymbol] = proxySocket[propertySymbol];\n }\n }\n return socket[propName].apply(socket, args);\n };\n });\n }\n else {\n // we can patch the real socket\n proxySocket = socket;\n }\n api.patchOnProperties(proxySocket, ['close', 'error', 'message', 'open'], proxySocketProto);\n return proxySocket;\n };\n var globalWebSocket = _global['WebSocket'];\n for (var prop in WS) {\n globalWebSocket[prop] = WS[prop];\n }\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function propertyDescriptorLegacyPatch(api, _global) {\n var _a = api.getGlobalObjects(), isNode = _a.isNode, isMix = _a.isMix;\n if (isNode && !isMix) {\n return;\n }\n if (!canPatchViaPropertyDescriptor(api, _global)) {\n var supportsWebSocket = typeof WebSocket !== 'undefined';\n // Safari, Android browsers (Jelly Bean)\n patchViaCapturingAllTheEvents(api);\n api.patchClass('XMLHttpRequest');\n if (supportsWebSocket) {\n apply(api, _global);\n }\n Zone[api.symbol('patchEvents')] = true;\n }\n }\n function canPatchViaPropertyDescriptor(api, _global) {\n var _a = api.getGlobalObjects(), isBrowser = _a.isBrowser, isMix = _a.isMix;\n if ((isBrowser || isMix) &&\n !api.ObjectGetOwnPropertyDescriptor(HTMLElement.prototype, 'onclick') &&\n typeof Element !== 'undefined') {\n // WebKit https://bugs.webkit.org/show_bug.cgi?id=134364\n // IDL interface attributes are not configurable\n var desc = api.ObjectGetOwnPropertyDescriptor(Element.prototype, 'onclick');\n if (desc && !desc.configurable)\n return false;\n // try to use onclick to detect whether we can patch via propertyDescriptor\n // because XMLHttpRequest is not available in service worker\n if (desc) {\n api.ObjectDefineProperty(Element.prototype, 'onclick', { enumerable: true, configurable: true, get: function () { return true; } });\n var div = document.createElement('div');\n var result = !!div.onclick;\n api.ObjectDefineProperty(Element.prototype, 'onclick', desc);\n return result;\n }\n }\n var XMLHttpRequest = _global['XMLHttpRequest'];\n if (!XMLHttpRequest) {\n // XMLHttpRequest is not available in service worker\n return false;\n }\n var ON_READY_STATE_CHANGE = 'onreadystatechange';\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n var xhrDesc = api.ObjectGetOwnPropertyDescriptor(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE);\n // add enumerable and configurable here because in opera\n // by default XMLHttpRequest.prototype.onreadystatechange is undefined\n // without adding enumerable and configurable will cause onreadystatechange\n // non-configurable\n // and if XMLHttpRequest.prototype.onreadystatechange is undefined,\n // we should set a real desc instead a fake one\n if (xhrDesc) {\n api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, { enumerable: true, configurable: true, get: function () { return true; } });\n var req = new XMLHttpRequest();\n var result = !!req.onreadystatechange;\n // restore original desc\n api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, xhrDesc || {});\n return result;\n }\n else {\n var SYMBOL_FAKE_ONREADYSTATECHANGE_1 = api.symbol('fake');\n api.ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, {\n enumerable: true,\n configurable: true,\n get: function () { return this[SYMBOL_FAKE_ONREADYSTATECHANGE_1]; },\n set: function (value) { this[SYMBOL_FAKE_ONREADYSTATECHANGE_1] = value; }\n });\n var req = new XMLHttpRequest();\n var detectFunc = function () { };\n req.onreadystatechange = detectFunc;\n var result = req[SYMBOL_FAKE_ONREADYSTATECHANGE_1] === detectFunc;\n req.onreadystatechange = null;\n return result;\n }\n }\n // Whenever any eventListener fires, we check the eventListener target and all parents\n // for `onwhatever` properties and replace them with zone-bound functions\n // - Chrome (for now)\n function patchViaCapturingAllTheEvents(api) {\n var eventNames = api.getGlobalObjects().eventNames;\n var unboundKey = api.symbol('unbound');\n var _loop_4 = function (i) {\n var property = eventNames[i];\n var onproperty = 'on' + property;\n self.addEventListener(property, function (event) {\n var elt = event.target, bound, source;\n if (elt) {\n source = elt.constructor['name'] + '.' + onproperty;\n }\n else {\n source = 'unknown.' + onproperty;\n }\n while (elt) {\n if (elt[onproperty] && !elt[onproperty][unboundKey]) {\n bound = api.wrapWithCurrentZone(elt[onproperty], source);\n bound[unboundKey] = elt[onproperty];\n elt[onproperty] = bound;\n }\n elt = elt.parentElement;\n }\n }, true);\n };\n for (var i = 0; i < eventNames.length; i++) {\n _loop_4(i);\n }\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function registerElementPatch(_global, api) {\n var _a = api.getGlobalObjects(), isBrowser = _a.isBrowser, isMix = _a.isMix;\n if ((!isBrowser && !isMix) || !('registerElement' in _global.document)) {\n return;\n }\n var callbacks = ['createdCallback', 'attachedCallback', 'detachedCallback', 'attributeChangedCallback'];\n api.patchCallbacks(api, document, 'Document', 'registerElement', callbacks);\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n (function (_global) {\n var symbolPrefix = _global['__Zone_symbol_prefix'] || '__zone_symbol__';\n function __symbol__(name) { return symbolPrefix + name; }\n _global[__symbol__('legacyPatch')] = function () {\n var Zone = _global['Zone'];\n Zone.__load_patch('defineProperty', function (global, Zone, api) {\n api._redefineProperty = _redefineProperty;\n propertyPatch();\n });\n Zone.__load_patch('registerElement', function (global, Zone, api) {\n registerElementPatch(global, api);\n });\n Zone.__load_patch('EventTargetLegacy', function (global, Zone, api) {\n eventTargetLegacyPatch(global, api);\n propertyDescriptorLegacyPatch(api, global);\n });\n };\n })(typeof window !== 'undefined' ?\n window :\n typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {});\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var taskSymbol = zoneSymbol('zoneTask');\n function patchTimer(window, setName, cancelName, nameSuffix) {\n var setNative = null;\n var clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n var tasksByHandleId = {};\n function scheduleTask(task) {\n var data = task.data;\n function timer() {\n try {\n task.invoke.apply(this, arguments);\n }\n finally {\n // issue-934, task will be cancelled\n // even it is a periodic task such as\n // setInterval\n if (!(task.data && task.data.isPeriodic)) {\n if (typeof data.handleId === 'number') {\n // in non-nodejs env, we remove timerId\n // from local cache\n delete tasksByHandleId[data.handleId];\n }\n else if (data.handleId) {\n // Node returns complex objects as handleIds\n // we remove task reference from timer object\n data.handleId[taskSymbol] = null;\n }\n }\n }\n }\n data.args[0] = timer;\n data.handleId = setNative.apply(window, data.args);\n return task;\n }\n function clearTask(task) { return clearNative(task.data.handleId); }\n setNative =\n patchMethod(window, setName, function (delegate) { return function (self, args) {\n if (typeof args[0] === 'function') {\n var options = {\n isPeriodic: nameSuffix === 'Interval',\n delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 :\n undefined,\n args: args\n };\n var task = scheduleMacroTaskWithCurrentZone(setName, args[0], options, scheduleTask, clearTask);\n if (!task) {\n return task;\n }\n // Node.js must additionally support the ref and unref functions.\n var handle = task.data.handleId;\n if (typeof handle === 'number') {\n // for non nodejs env, we save handleId: task\n // mapping in local cache for clearTimeout\n tasksByHandleId[handle] = task;\n }\n else if (handle) {\n // for nodejs env, we save task\n // reference in timerId Object for clearTimeout\n handle[taskSymbol] = task;\n }\n // check whether handle is null, because some polyfill or browser\n // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame\n if (handle && handle.ref && handle.unref && typeof handle.ref === 'function' &&\n typeof handle.unref === 'function') {\n task.ref = handle.ref.bind(handle);\n task.unref = handle.unref.bind(handle);\n }\n if (typeof handle === 'number' || handle) {\n return handle;\n }\n return task;\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(window, args);\n }\n }; });\n clearNative =\n patchMethod(window, cancelName, function (delegate) { return function (self, args) {\n var id = args[0];\n var task;\n if (typeof id === 'number') {\n // non nodejs env.\n task = tasksByHandleId[id];\n }\n else {\n // nodejs env.\n task = id && id[taskSymbol];\n // other environments.\n if (!task) {\n task = id;\n }\n }\n if (task && typeof task.type === 'string') {\n if (task.state !== 'notScheduled' &&\n (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) {\n if (typeof id === 'number') {\n delete tasksByHandleId[id];\n }\n else if (id) {\n id[taskSymbol] = null;\n }\n // Do not cancel already canceled functions\n task.zone.cancelTask(task);\n }\n }\n else {\n // cause an error by calling it directly.\n delegate.apply(window, args);\n }\n }; });\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function patchCustomElements(_global, api) {\n var _a = api.getGlobalObjects(), isBrowser = _a.isBrowser, isMix = _a.isMix;\n if ((!isBrowser && !isMix) || !_global['customElements'] || !('customElements' in _global)) {\n return;\n }\n var callbacks = ['connectedCallback', 'disconnectedCallback', 'adoptedCallback', 'attributeChangedCallback'];\n api.patchCallbacks(api, _global.customElements, 'customElements', 'define', callbacks);\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function eventTargetPatch(_global, api) {\n if (Zone[api.symbol('patchEventTarget')]) {\n // EventTarget is already patched.\n return;\n }\n var _a = api.getGlobalObjects(), eventNames = _a.eventNames, zoneSymbolEventNames = _a.zoneSymbolEventNames, TRUE_STR = _a.TRUE_STR, FALSE_STR = _a.FALSE_STR, ZONE_SYMBOL_PREFIX = _a.ZONE_SYMBOL_PREFIX;\n // predefine all __zone_symbol__ + eventName + true/false string\n for (var i = 0; i < eventNames.length; i++) {\n var eventName = eventNames[i];\n var falseEventName = eventName + FALSE_STR;\n var trueEventName = eventName + TRUE_STR;\n var symbol = ZONE_SYMBOL_PREFIX + falseEventName;\n var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName;\n zoneSymbolEventNames[eventName] = {};\n zoneSymbolEventNames[eventName][FALSE_STR] = symbol;\n zoneSymbolEventNames[eventName][TRUE_STR] = symbolCapture;\n }\n var EVENT_TARGET = _global['EventTarget'];\n if (!EVENT_TARGET || !EVENT_TARGET.prototype) {\n return;\n }\n api.patchEventTarget(_global, [EVENT_TARGET && EVENT_TARGET.prototype]);\n return true;\n }\n function patchEvent(global, api) {\n api.patchEventPrototype(global, api);\n }\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n Zone.__load_patch('legacy', function (global) {\n var legacyPatch = global[Zone.__symbol__('legacyPatch')];\n if (legacyPatch) {\n legacyPatch();\n }\n });\n Zone.__load_patch('timers', function (global) {\n var set = 'set';\n var clear = 'clear';\n patchTimer(global, set, clear, 'Timeout');\n patchTimer(global, set, clear, 'Interval');\n patchTimer(global, set, clear, 'Immediate');\n });\n Zone.__load_patch('requestAnimationFrame', function (global) {\n patchTimer(global, 'request', 'cancel', 'AnimationFrame');\n patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame');\n patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\n });\n Zone.__load_patch('blocking', function (global, Zone) {\n var blockingMethods = ['alert', 'prompt', 'confirm'];\n for (var i = 0; i < blockingMethods.length; i++) {\n var name_2 = blockingMethods[i];\n patchMethod(global, name_2, function (delegate, symbol, name) {\n return function (s, args) {\n return Zone.current.run(delegate, global, args, name);\n };\n });\n }\n });\n Zone.__load_patch('EventTarget', function (global, Zone, api) {\n patchEvent(global, api);\n eventTargetPatch(global, api);\n // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener\n var XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) {\n api.patchEventTarget(global, [XMLHttpRequestEventTarget.prototype]);\n }\n patchClass('MutationObserver');\n patchClass('WebKitMutationObserver');\n patchClass('IntersectionObserver');\n patchClass('FileReader');\n });\n Zone.__load_patch('on_property', function (global, Zone, api) {\n propertyDescriptorPatch(api, global);\n });\n Zone.__load_patch('customElements', function (global, Zone, api) {\n patchCustomElements(global, api);\n });\n Zone.__load_patch('XHR', function (global, Zone) {\n // Treat XMLHttpRequest as a macrotask.\n patchXHR(global);\n var XHR_TASK = zoneSymbol('xhrTask');\n var XHR_SYNC = zoneSymbol('xhrSync');\n var XHR_LISTENER = zoneSymbol('xhrListener');\n var XHR_SCHEDULED = zoneSymbol('xhrScheduled');\n var XHR_URL = zoneSymbol('xhrURL');\n var XHR_ERROR_BEFORE_SCHEDULED = zoneSymbol('xhrErrorBeforeScheduled');\n function patchXHR(window) {\n var XMLHttpRequest = window['XMLHttpRequest'];\n if (!XMLHttpRequest) {\n // XMLHttpRequest is not available in service worker\n return;\n }\n var XMLHttpRequestPrototype = XMLHttpRequest.prototype;\n function findPendingTask(target) { return target[XHR_TASK]; }\n var oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n var oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n if (!oriAddListener) {\n var XMLHttpRequestEventTarget_1 = window['XMLHttpRequestEventTarget'];\n if (XMLHttpRequestEventTarget_1) {\n var XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget_1.prototype;\n oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n }\n var READY_STATE_CHANGE = 'readystatechange';\n var SCHEDULED = 'scheduled';\n function scheduleTask(task) {\n var data = task.data;\n var target = data.target;\n target[XHR_SCHEDULED] = false;\n target[XHR_ERROR_BEFORE_SCHEDULED] = false;\n // remove existing event listener\n var listener = target[XHR_LISTENER];\n if (!oriAddListener) {\n oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER];\n oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER];\n }\n if (listener) {\n oriRemoveListener.call(target, READY_STATE_CHANGE, listener);\n }\n var newListener = target[XHR_LISTENER] = function () {\n if (target.readyState === target.DONE) {\n // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with\n // readyState=4 multiple times, so we need to check task state here\n if (!data.aborted && target[XHR_SCHEDULED] && task.state === SCHEDULED) {\n // check whether the xhr has registered onload listener\n // if that is the case, the task should invoke after all\n // onload listeners finish.\n var loadTasks = target[Zone.__symbol__('loadfalse')];\n if (loadTasks && loadTasks.length > 0) {\n var oriInvoke_1 = task.invoke;\n task.invoke = function () {\n // need to load the tasks again, because in other\n // load listener, they may remove themselves\n var loadTasks = target[Zone.__symbol__('loadfalse')];\n for (var i = 0; i < loadTasks.length; i++) {\n if (loadTasks[i] === task) {\n loadTasks.splice(i, 1);\n }\n }\n if (!data.aborted && task.state === SCHEDULED) {\n oriInvoke_1.call(task);\n }\n };\n loadTasks.push(task);\n }\n else {\n task.invoke();\n }\n }\n else if (!data.aborted && target[XHR_SCHEDULED] === false) {\n // error occurs when xhr.send()\n target[XHR_ERROR_BEFORE_SCHEDULED] = true;\n }\n }\n };\n oriAddListener.call(target, READY_STATE_CHANGE, newListener);\n var storedTask = target[XHR_TASK];\n if (!storedTask) {\n target[XHR_TASK] = task;\n }\n sendNative.apply(target, data.args);\n target[XHR_SCHEDULED] = true;\n return task;\n }\n function placeholderCallback() { }\n function clearTask(task) {\n var data = task.data;\n // Note - ideally, we would call data.target.removeEventListener here, but it's too late\n // to prevent it from firing. So instead, we store info for the event listener.\n data.aborted = true;\n return abortNative.apply(data.target, data.args);\n }\n var openNative = patchMethod(XMLHttpRequestPrototype, 'open', function () { return function (self, args) {\n self[XHR_SYNC] = args[2] == false;\n self[XHR_URL] = args[1];\n return openNative.apply(self, args);\n }; });\n var XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send';\n var fetchTaskAborting = zoneSymbol('fetchTaskAborting');\n var fetchTaskScheduling = zoneSymbol('fetchTaskScheduling');\n var sendNative = patchMethod(XMLHttpRequestPrototype, 'send', function () { return function (self, args) {\n if (Zone.current[fetchTaskScheduling] === true) {\n // a fetch is scheduling, so we are using xhr to polyfill fetch\n // and because we already schedule macroTask for fetch, we should\n // not schedule a macroTask for xhr again\n return sendNative.apply(self, args);\n }\n if (self[XHR_SYNC]) {\n // if the XHR is sync there is no task to schedule, just execute the code.\n return sendNative.apply(self, args);\n }\n else {\n var options = { target: self, url: self[XHR_URL], isPeriodic: false, args: args, aborted: false };\n var task = scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask);\n if (self && self[XHR_ERROR_BEFORE_SCHEDULED] === true && !options.aborted &&\n task.state === SCHEDULED) {\n // xhr request throw error when send\n // we should invoke task instead of leaving a scheduled\n // pending macroTask\n task.invoke();\n }\n }\n }; });\n var abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', function () { return function (self, args) {\n var task = findPendingTask(self);\n if (task && typeof task.type == 'string') {\n // If the XHR has already completed, do nothing.\n // If the XHR has already been aborted, do nothing.\n // Fix #569, call abort multiple times before done will cause\n // macroTask task count be negative number\n if (task.cancelFn == null || (task.data && task.data.aborted)) {\n return;\n }\n task.zone.cancelTask(task);\n }\n else if (Zone.current[fetchTaskAborting] === true) {\n // the abort is called from fetch polyfill, we need to call native abort of XHR.\n return abortNative.apply(self, args);\n }\n // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no\n // task\n // to cancel. Do nothing.\n }; });\n }\n });\n Zone.__load_patch('geolocation', function (global) {\n /// GEO_LOCATION\n if (global['navigator'] && global['navigator'].geolocation) {\n patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);\n }\n });\n Zone.__load_patch('PromiseRejectionEvent', function (global, Zone) {\n // handle unhandled promise rejection\n function findPromiseRejectionHandler(evtName) {\n return function (e) {\n var eventTasks = findEventTasks(global, evtName);\n eventTasks.forEach(function (eventTask) {\n // windows has added unhandledrejection event listener\n // trigger the event listener\n var PromiseRejectionEvent = global['PromiseRejectionEvent'];\n if (PromiseRejectionEvent) {\n var evt = new PromiseRejectionEvent(evtName, { promise: e.promise, reason: e.rejection });\n eventTask.invoke(evt);\n }\n });\n };\n }\n if (global['PromiseRejectionEvent']) {\n Zone[zoneSymbol('unhandledPromiseRejectionHandler')] =\n findPromiseRejectionHandler('unhandledrejection');\n Zone[zoneSymbol('rejectionHandledHandler')] =\n findPromiseRejectionHandler('rejectionhandled');\n }\n });\n})));\n","var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob()\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n}\n\nfunction isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nif (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n}\n\nfunction normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n}\n\nfunction normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n}\n\n// Build a destructive iterator for the value list\nfunction iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n}\n\nexport function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n}\n\nHeaders.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue + ', ' + value : value\n}\n\nHeaders.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n}\n\nHeaders.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n}\n\nHeaders.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n}\n\nHeaders.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n}\n\nHeaders.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n}\n\nHeaders.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push(name)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.values = function() {\n var items = []\n this.forEach(function(value) {\n items.push(value)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push([name, value])\n })\n return iteratorFor(items)\n}\n\nif (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n}\n\nfunction consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n}\n\nfunction fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n}\n\nfunction readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nfunction readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nfunction readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n}\n\nfunction bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n}\n\nfunction Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n this._bodyText = body = Object.prototype.toString.call(body)\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n}\n\n// HTTP methods whose capitalization should be normalized\nvar methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\nfunction normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return methods.indexOf(upcased) > -1 ? upcased : method\n}\n\nexport function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n this.signal = input.signal\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.signal = options.signal || this.signal\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n}\n\nRequest.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n}\n\nfunction decode(body) {\n var form = new FormData()\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nfunction parseHeaders(rawHeaders) {\n var headers = new Headers()\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n}\n\nBody.call(Request.prototype)\n\nexport function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = options.status === undefined ? 200 : options.status\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n}\n\nBody.call(Response.prototype)\n\nResponse.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n}\n\nResponse.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n}\n\nvar redirectStatuses = [301, 302, 303, 307, 308]\n\nResponse.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n}\n\nexport var DOMException = self.DOMException\ntry {\n new DOMException()\n} catch (err) {\n DOMException = function(message, name) {\n this.message = message\n this.name = name\n var error = Error(message)\n this.stack = error.stack\n }\n DOMException.prototype = Object.create(Error.prototype)\n DOMException.prototype.constructor = DOMException\n}\n\nexport function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n\n if (request.signal && request.signal.aborted) {\n return reject(new DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest()\n\n function abortXhr() {\n xhr.abort()\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.onabort = function() {\n reject(new DOMException('Aborted', 'AbortError'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr)\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr)\n }\n }\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n}\n\nfetch.polyfill = true\n\nif (!self.fetch) {\n self.fetch = fetch\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n}\n","/**\n * @file Web Cryptography API shim\n * @author Artem S Vybornov \n * @license MIT\n */\n(function (global, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define([], function () {\n return factory(global);\n });\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports\n module.exports = factory(global);\n } else {\n factory(global);\n }\n}(typeof self !== 'undefined' ? self : this, function (global) {\n 'use strict';\n\n if ( typeof Promise !== 'function' )\n throw \"Promise support required\";\n\n var _crypto = global.crypto || global.msCrypto;\n if ( !_crypto ) return;\n\n var _subtle = _crypto.subtle || _crypto.webkitSubtle;\n if ( !_subtle ) return;\n\n var _Crypto = global.Crypto || _crypto.constructor || Object,\n _SubtleCrypto = global.SubtleCrypto || _subtle.constructor || Object,\n _CryptoKey = global.CryptoKey || global.Key || Object;\n\n var isEdge = global.navigator.userAgent.indexOf('Edge/') > -1;\n var isIE = !!global.msCrypto && !isEdge;\n var isWebkit = !_crypto.subtle && !!_crypto.webkitSubtle;\n if ( !isIE && !isWebkit ) return;\n\n function s2a ( s ) {\n return btoa(s).replace(/\\=+$/, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n }\n\n function a2s ( s ) {\n s += '===', s = s.slice( 0, -s.length % 4 );\n return atob( s.replace(/-/g, '+').replace(/_/g, '/') );\n }\n\n function s2b ( s ) {\n var b = new Uint8Array(s.length);\n for ( var i = 0; i < s.length; i++ ) b[i] = s.charCodeAt(i);\n return b;\n }\n\n function b2s ( b ) {\n if ( b instanceof ArrayBuffer ) b = new Uint8Array(b);\n return String.fromCharCode.apply( String, b );\n }\n\n function alg ( a ) {\n var r = { 'name': (a.name || a || '').toUpperCase().replace('V','v') };\n switch ( r.name ) {\n case 'SHA-1':\n case 'SHA-256':\n case 'SHA-384':\n case 'SHA-512':\n break;\n case 'AES-CBC':\n case 'AES-GCM':\n case 'AES-KW':\n if ( a.length ) r['length'] = a.length;\n break;\n case 'HMAC':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.length ) r['length'] = a.length;\n break;\n case 'RSAES-PKCS1-v1_5':\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n case 'RSASSA-PKCS1-v1_5':\n case 'RSA-OAEP':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n default:\n throw new SyntaxError(\"Bad algorithm name\");\n }\n return r;\n };\n\n function jwkAlg ( a ) {\n return {\n 'HMAC': {\n 'SHA-1': 'HS1',\n 'SHA-256': 'HS256',\n 'SHA-384': 'HS384',\n 'SHA-512': 'HS512',\n },\n 'RSASSA-PKCS1-v1_5': {\n 'SHA-1': 'RS1',\n 'SHA-256': 'RS256',\n 'SHA-384': 'RS384',\n 'SHA-512': 'RS512',\n },\n 'RSAES-PKCS1-v1_5': {\n '': 'RSA1_5',\n },\n 'RSA-OAEP': {\n 'SHA-1': 'RSA-OAEP',\n 'SHA-256': 'RSA-OAEP-256',\n },\n 'AES-KW': {\n '128': 'A128KW',\n '192': 'A192KW',\n '256': 'A256KW',\n },\n 'AES-GCM': {\n '128': 'A128GCM',\n '192': 'A192GCM',\n '256': 'A256GCM',\n },\n 'AES-CBC': {\n '128': 'A128CBC',\n '192': 'A192CBC',\n '256': 'A256CBC',\n },\n }[a.name][ ( a.hash || {} ).name || a.length || '' ];\n }\n\n function b2jwk ( k ) {\n if ( k instanceof ArrayBuffer || k instanceof Uint8Array ) k = JSON.parse( decodeURIComponent( escape( b2s(k) ) ) );\n var jwk = { 'kty': k.kty, 'alg': k.alg, 'ext': k.ext || k.extractable };\n switch ( jwk.kty ) {\n case 'oct':\n jwk.k = k.k;\n case 'RSA':\n [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi', 'oth' ].forEach( function ( x ) { if ( x in k ) jwk[x] = k[x] } );\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2b ( k ) {\n var jwk = b2jwk(k);\n if ( isIE ) jwk['extractable'] = jwk.ext, delete jwk.ext;\n return s2b( unescape( encodeURIComponent( JSON.stringify(jwk) ) ) ).buffer;\n }\n\n function pkcs2jwk ( k ) {\n var info = b2der(k), prv = false;\n if ( info.length > 2 ) prv = true, info.shift(); // remove version from PKCS#8 PrivateKeyInfo structure\n var jwk = { 'ext': true };\n switch ( info[0][0] ) {\n case '1.2.840.113549.1.1.1':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = b2der( info[1] );\n if ( prv ) rsaKey.shift(); // remove version from PKCS#1 RSAPrivateKey structure\n for ( var i = 0; i < rsaKey.length; i++ ) {\n if ( !rsaKey[i][0] ) rsaKey[i] = rsaKey[i].subarray(1);\n jwk[ rsaComp[i] ] = s2a( b2s( rsaKey[i] ) );\n }\n jwk['kty'] = 'RSA';\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2pkcs ( k ) {\n var key, info = [ [ '', null ] ], prv = false;\n switch ( k.kty ) {\n case 'RSA':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = [];\n for ( var i = 0; i < rsaComp.length; i++ ) {\n if ( !( rsaComp[i] in k ) ) break;\n var b = rsaKey[i] = s2b( a2s( k[ rsaComp[i] ] ) );\n if ( b[0] & 0x80 ) rsaKey[i] = new Uint8Array(b.length + 1), rsaKey[i].set( b, 1 );\n }\n if ( rsaKey.length > 2 ) prv = true, rsaKey.unshift( new Uint8Array([0]) ); // add version to PKCS#1 RSAPrivateKey structure\n info[0][0] = '1.2.840.113549.1.1.1';\n key = rsaKey;\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n info.push( new Uint8Array( der2b(key) ).buffer );\n if ( !prv ) info[1] = { 'tag': 0x03, 'value': info[1] };\n else info.unshift( new Uint8Array([0]) ); // add version to PKCS#8 PrivateKeyInfo structure\n return new Uint8Array( der2b(info) ).buffer;\n }\n\n var oid2str = { 'KoZIhvcNAQEB': '1.2.840.113549.1.1.1' },\n str2oid = { '1.2.840.113549.1.1.1': 'KoZIhvcNAQEB' };\n\n function b2der ( buf, ctx ) {\n if ( buf instanceof ArrayBuffer ) buf = new Uint8Array(buf);\n if ( !ctx ) ctx = { pos: 0, end: buf.length };\n\n if ( ctx.end - ctx.pos < 2 || ctx.end > buf.length ) throw new RangeError(\"Malformed DER\");\n\n var tag = buf[ctx.pos++],\n len = buf[ctx.pos++];\n\n if ( len >= 0x80 ) {\n len &= 0x7f;\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n for ( var xlen = 0; len--; ) xlen <<= 8, xlen |= buf[ctx.pos++];\n len = xlen;\n }\n\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n\n var rv;\n\n switch ( tag ) {\n case 0x02: // Universal Primitive INTEGER\n rv = buf.subarray( ctx.pos, ctx.pos += len );\n break;\n case 0x03: // Universal Primitive BIT STRING\n if ( buf[ctx.pos++] ) throw new Error( \"Unsupported bit string\" );\n len--;\n case 0x04: // Universal Primitive OCTET STRING\n rv = new Uint8Array( buf.subarray( ctx.pos, ctx.pos += len ) ).buffer;\n break;\n case 0x05: // Universal Primitive NULL\n rv = null;\n break;\n case 0x06: // Universal Primitive OBJECT IDENTIFIER\n var oid = btoa( b2s( buf.subarray( ctx.pos, ctx.pos += len ) ) );\n if ( !( oid in oid2str ) ) throw new Error( \"Unsupported OBJECT ID \" + oid );\n rv = oid2str[oid];\n break;\n case 0x30: // Universal Constructed SEQUENCE\n rv = [];\n for ( var end = ctx.pos + len; ctx.pos < end; ) rv.push( b2der( buf, ctx ) );\n break;\n default:\n throw new Error( \"Unsupported DER tag 0x\" + tag.toString(16) );\n }\n\n return rv;\n }\n\n function der2b ( val, buf ) {\n if ( !buf ) buf = [];\n\n var tag = 0, len = 0,\n pos = buf.length + 2;\n\n buf.push( 0, 0 ); // placeholder\n\n if ( val instanceof Uint8Array ) { // Universal Primitive INTEGER\n tag = 0x02, len = val.length;\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val instanceof ArrayBuffer ) { // Universal Primitive OCTET STRING\n tag = 0x04, len = val.byteLength, val = new Uint8Array(val);\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val === null ) { // Universal Primitive NULL\n tag = 0x05, len = 0;\n }\n else if ( typeof val === 'string' && val in str2oid ) { // Universal Primitive OBJECT IDENTIFIER\n var oid = s2b( atob( str2oid[val] ) );\n tag = 0x06, len = oid.length;\n for ( var i = 0; i < len; i++ ) buf.push( oid[i] );\n }\n else if ( val instanceof Array ) { // Universal Constructed SEQUENCE\n for ( var i = 0; i < val.length; i++ ) der2b( val[i], buf );\n tag = 0x30, len = buf.length - pos;\n }\n else if ( typeof val === 'object' && val.tag === 0x03 && val.value instanceof ArrayBuffer ) { // Tag hint\n val = new Uint8Array(val.value), tag = 0x03, len = val.byteLength;\n buf.push(0); for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n len++;\n }\n else {\n throw new Error( \"Unsupported DER value \" + val );\n }\n\n if ( len >= 0x80 ) {\n var xlen = len, len = 4;\n buf.splice( pos, 0, (xlen >> 24) & 0xff, (xlen >> 16) & 0xff, (xlen >> 8) & 0xff, xlen & 0xff );\n while ( len > 1 && !(xlen >> 24) ) xlen <<= 8, len--;\n if ( len < 4 ) buf.splice( pos, 4 - len );\n len |= 0x80;\n }\n\n buf.splice( pos - 2, 2, tag, len );\n\n return buf;\n }\n\n function CryptoKey ( key, alg, ext, use ) {\n Object.defineProperties( this, {\n _key: {\n value: key\n },\n type: {\n value: key.type,\n enumerable: true,\n },\n extractable: {\n value: (ext === undefined) ? key.extractable : ext,\n enumerable: true,\n },\n algorithm: {\n value: (alg === undefined) ? key.algorithm : alg,\n enumerable: true,\n },\n usages: {\n value: (use === undefined) ? key.usages : use,\n enumerable: true,\n },\n });\n }\n\n function isPubKeyUse ( u ) {\n return u === 'verify' || u === 'encrypt' || u === 'wrapKey';\n }\n\n function isPrvKeyUse ( u ) {\n return u === 'sign' || u === 'decrypt' || u === 'unwrapKey';\n }\n\n [ 'generateKey', 'importKey', 'unwrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments),\n ka, kx, ku;\n\n switch ( m ) {\n case 'generateKey':\n ka = alg(a), kx = b, ku = c;\n break;\n case 'importKey':\n ka = alg(c), kx = args[3], ku = args[4];\n if ( a === 'jwk' ) {\n b = b2jwk(b);\n if ( !b.alg ) b.alg = jwkAlg(ka);\n if ( !b.key_ops ) b.key_ops = ( b.kty !== 'oct' ) ? ( 'd' in b ) ? ku.filter(isPrvKeyUse) : ku.filter(isPubKeyUse) : ku.slice();\n args[1] = jwk2b(b);\n }\n break;\n case 'unwrapKey':\n ka = args[4], kx = args[5], ku = args[6];\n args[2] = c._key;\n break;\n }\n\n if ( m === 'generateKey' && ka.name === 'HMAC' && ka.hash ) {\n ka.length = ka.length || { 'SHA-1': 512, 'SHA-256': 512, 'SHA-384': 1024, 'SHA-512': 1024 }[ka.hash.name];\n return _subtle.importKey( 'raw', _crypto.getRandomValues( new Uint8Array( (ka.length+7)>>3 ) ), ka, kx, ku );\n }\n\n if ( isWebkit && m === 'generateKey' && ka.name === 'RSASSA-PKCS1-v1_5' && ( !ka.modulusLength || ka.modulusLength >= 2048 ) ) {\n a = alg(a), a.name = 'RSAES-PKCS1-v1_5', delete a.hash;\n return _subtle.generateKey( a, true, [ 'encrypt', 'decrypt' ] )\n .then( function ( k ) {\n return Promise.all([\n _subtle.exportKey( 'jwk', k.publicKey ),\n _subtle.exportKey( 'jwk', k.privateKey ),\n ]);\n })\n .then( function ( keys ) {\n keys[0].alg = keys[1].alg = jwkAlg(ka);\n keys[0].key_ops = ku.filter(isPubKeyUse), keys[1].key_ops = ku.filter(isPrvKeyUse);\n return Promise.all([\n _subtle.importKey( 'jwk', keys[0], ka, true, keys[0].key_ops ),\n _subtle.importKey( 'jwk', keys[1], ka, kx, keys[1].key_ops ),\n ]);\n })\n .then( function ( keys ) {\n return {\n publicKey: keys[0],\n privateKey: keys[1],\n };\n });\n }\n\n if ( ( isWebkit || ( isIE && ( ka.hash || {} ).name === 'SHA-1' ) )\n && m === 'importKey' && a === 'jwk' && ka.name === 'HMAC' && b.kty === 'oct' ) {\n return _subtle.importKey( 'raw', s2b( a2s(b.k) ), c, args[3], args[4] );\n }\n\n if ( isWebkit && m === 'importKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n return _subtle.importKey( 'jwk', pkcs2jwk(b), c, args[3], args[4] );\n }\n\n if ( isIE && m === 'unwrapKey' ) {\n return _subtle.decrypt( args[3], c, b )\n .then( function ( k ) {\n return _subtle.importKey( a, k, args[4], args[5], args[6] );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n op = op.then( function ( k ) {\n if ( ka.name === 'HMAC' ) {\n if ( !ka.length ) ka.length = 8 * k.algorithm.length;\n }\n if ( ka.name.search('RSA') == 0 ) {\n if ( !ka.modulusLength ) ka.modulusLength = (k.publicKey || k).algorithm.modulusLength;\n if ( !ka.publicExponent ) ka.publicExponent = (k.publicKey || k).algorithm.publicExponent;\n }\n if ( k.publicKey && k.privateKey ) {\n k = {\n publicKey: new CryptoKey( k.publicKey, ka, kx, ku.filter(isPubKeyUse) ),\n privateKey: new CryptoKey( k.privateKey, ka, kx, ku.filter(isPrvKeyUse) ),\n };\n }\n else {\n k = new CryptoKey( k, ka, kx, ku );\n }\n return k;\n });\n\n return op;\n }\n });\n\n [ 'exportKey', 'wrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments);\n\n switch ( m ) {\n case 'exportKey':\n args[1] = b._key;\n break;\n case 'wrapKey':\n args[1] = b._key, args[2] = c._key;\n break;\n }\n\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && m === 'exportKey' && a === 'jwk' && b.algorithm.name === 'HMAC' ) {\n args[0] = 'raw';\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n args[0] = 'jwk';\n }\n\n if ( isIE && m === 'wrapKey' ) {\n return _subtle.exportKey( a, b )\n .then( function ( k ) {\n if ( a === 'jwk' ) k = s2b( unescape( encodeURIComponent( JSON.stringify( b2jwk(k) ) ) ) );\n return _subtle.encrypt( args[3], c, k );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n if ( m === 'exportKey' && a === 'jwk' ) {\n op = op.then( function ( k ) {\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && b.algorithm.name === 'HMAC') {\n return { 'kty': 'oct', 'alg': jwkAlg(b.algorithm), 'key_ops': b.usages.slice(), 'ext': true, 'k': s2a( b2s(k) ) };\n }\n k = b2jwk(k);\n if ( !k.alg ) k['alg'] = jwkAlg(b.algorithm);\n if ( !k.key_ops ) k['key_ops'] = ( b.type === 'public' ) ? b.usages.filter(isPubKeyUse) : ( b.type === 'private' ) ? b.usages.filter(isPrvKeyUse) : b.usages.slice();\n return k;\n });\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n op = op.then( function ( k ) {\n k = jwk2pkcs( b2jwk(k) );\n return k;\n });\n }\n\n return op;\n }\n });\n\n [ 'encrypt', 'decrypt', 'sign', 'verify' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c, d ) {\n if ( isIE && ( !c.byteLength || ( d && !d.byteLength ) ) )\n throw new Error(\"Empy input is not allowed\");\n\n var args = [].slice.call(arguments),\n ka = alg(a);\n\n if ( isIE && m === 'decrypt' && ka.name === 'AES-GCM' ) {\n var tl = a.tagLength >> 3;\n args[2] = (c.buffer || c).slice( 0, c.byteLength - tl ),\n a.tag = (c.buffer || c).slice( c.byteLength - tl );\n }\n\n args[1] = b._key;\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) {\n rej(e);\n };\n\n op.oncomplete = function ( r ) {\n var r = r.target.result;\n\n if ( m === 'encrypt' && r instanceof AesGcmEncryptResult ) {\n var c = r.ciphertext, t = r.tag;\n r = new Uint8Array( c.byteLength + t.byteLength );\n r.set( new Uint8Array(c), 0 );\n r.set( new Uint8Array(t), c.byteLength );\n r = r.buffer;\n }\n\n res(r);\n };\n });\n }\n\n return op;\n }\n });\n\n if ( isIE ) {\n var _digest = _subtle.digest;\n\n _subtle['digest'] = function ( a, b ) {\n if ( !b.byteLength )\n throw new Error(\"Empy input is not allowed\");\n\n var op;\n try {\n op = _digest.call( _subtle, a, b );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n\n return op;\n };\n\n global.crypto = Object.create( _crypto, {\n getRandomValues: { value: function ( a ) { return _crypto.getRandomValues(a) } },\n subtle: { value: _subtle },\n });\n\n global.CryptoKey = CryptoKey;\n }\n\n if ( isWebkit ) {\n _crypto.subtle = _subtle;\n\n global.Crypto = _Crypto;\n global.SubtleCrypto = _SubtleCrypto;\n global.CryptoKey = CryptoKey;\n }\n}));\n"],"sourceRoot":""} \ No newline at end of file diff --git a/app/vendor.c95e488578c8d271f566.js b/app/vendor.9f15875cff59b5963eea.js similarity index 57% rename from app/vendor.c95e488578c8d271f566.js rename to app/vendor.9f15875cff59b5963eea.js index f3466279..5ff1ed6e 100644 --- a/app/vendor.c95e488578c8d271f566.js +++ b/app/vendor.9f15875cff59b5963eea.js @@ -1,4 +1,4 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[2],[function(e,t,n){"use strict";n.r(t),function(e){n.d(t,"ANALYZE_FOR_ENTRY_COMPONENTS",function(){return Yc}),n.d(t,"APP_BOOTSTRAP_LISTENER",function(){return Bv}),n.d(t,"APP_ID",function(){return Av}),n.d(t,"APP_INITIALIZER",function(){return zv}),n.d(t,"ApplicationInitStatus",function(){return Dv}),n.d(t,"ApplicationModule",function(){return Sw}),n.d(t,"ApplicationRef",function(){return Rk}),n.d(t,"Attribute",function(){return E}),n.d(t,"COMPILER_OPTIONS",function(){return ak}),n.d(t,"CUSTOM_ELEMENTS_SCHEMA",function(){return Ci}),n.d(t,"ChangeDetectionStrategy",function(){return Ie}),n.d(t,"ChangeDetectorRef",function(){return Pl}),n.d(t,"Compiler",function(){return ik}),n.d(t,"CompilerFactory",function(){return ok}),n.d(t,"Component",function(){return gv}),n.d(t,"ComponentFactory",function(){return qp}),n.d(t,"ComponentFactoryResolver",function(){return Vp}),n.d(t,"ComponentRef",function(){return Mp}),n.d(t,"ContentChild",function(){return Xc}),n.d(t,"ContentChildren",function(){return Jc}),n.d(t,"DEFAULT_CURRENCY_CODE",function(){return Hv}),n.d(t,"DebugElement",function(){return bw}),n.d(t,"DebugEventListener",function(){return Yk}),n.d(t,"DebugNode",function(){return yw}),n.d(t,"DefaultIterableDiffer",function(){return af}),n.d(t,"Directive",function(){return mv}),n.d(t,"ElementRef",function(){return Kp}),n.d(t,"EmbeddedViewRef",function(){return $k}),n.d(t,"ErrorHandler",function(){return ji}),n.d(t,"EventEmitter",function(){return sb}),n.d(t,"Host",function(){return j}),n.d(t,"HostBinding",function(){return kv}),n.d(t,"HostListener",function(){return wv}),n.d(t,"INJECTOR",function(){return ce}),n.d(t,"Inject",function(){return v}),n.d(t,"InjectFlags",function(){return y}),n.d(t,"Injectable",function(){return tc}),n.d(t,"InjectionToken",function(){return le}),n.d(t,"Injector",function(){return kc}),n.d(t,"Input",function(){return bv}),n.d(t,"IterableDiffers",function(){return pf}),n.d(t,"KeyValueDiffers",function(){return ff}),n.d(t,"LOCALE_ID",function(){return Uv}),n.d(t,"MissingTranslationStrategy",function(){return Mv}),n.d(t,"ModuleWithComponentFactories",function(){return $v}),n.d(t,"NO_ERRORS_SCHEMA",function(){return Ei}),n.d(t,"NgModule",function(){return Tv}),n.d(t,"NgModuleFactory",function(){return Ne}),n.d(t,"NgModuleFactoryLoader",function(){return Lk}),n.d(t,"NgModuleRef",function(){return Ae}),n.d(t,"NgProbeToken",function(){return Tk}),n.d(t,"NgZone",function(){return ck}),n.d(t,"Optional",function(){return k}),n.d(t,"Output",function(){return vv}),n.d(t,"PACKAGE_ROOT_URL",function(){return Fv}),n.d(t,"PLATFORM_ID",function(){return Lv}),n.d(t,"PLATFORM_INITIALIZER",function(){return qv}),n.d(t,"Pipe",function(){return yv}),n.d(t,"PlatformRef",function(){return Nk}),n.d(t,"Query",function(){return Zc}),n.d(t,"QueryList",function(){return cb}),n.d(t,"ReflectiveInjector",function(){return Qc}),n.d(t,"ReflectiveKey",function(){return Nc}),n.d(t,"Renderer2",function(){return Yp}),n.d(t,"RendererFactory2",function(){return $p}),n.d(t,"RendererStyleFlags2",function(){return Wp}),n.d(t,"ResolvedReflectiveFactory",function(){return Bc}),n.d(t,"Sanitizer",function(){return Xp}),n.d(t,"SecurityContext",function(){return Ji}),n.d(t,"Self",function(){return w}),n.d(t,"SimpleChange",function(){return Cp}),n.d(t,"SkipSelf",function(){return _}),n.d(t,"SystemJsNgModuleLoader",function(){return Kk}),n.d(t,"SystemJsNgModuleLoaderConfig",function(){return Hk}),n.d(t,"TRANSLATIONS",function(){return Wv}),n.d(t,"TRANSLATIONS_FORMAT",function(){return Kv}),n.d(t,"TemplateRef",function(){return vf}),n.d(t,"Testability",function(){return yk}),n.d(t,"TestabilityRegistry",function(){return bk}),n.d(t,"Type",function(){return ql}),n.d(t,"VERSION",function(){return tf}),n.d(t,"Version",function(){return ef}),n.d(t,"ViewChild",function(){return tu}),n.d(t,"ViewChildren",function(){return eu}),n.d(t,"ViewContainerRef",function(){return _f}),n.d(t,"ViewEncapsulation",function(){return De}),n.d(t,"ViewRef",function(){return Qk}),n.d(t,"WrappedValue",function(){return pu}),n.d(t,"asNativeElements",function(){return Xk}),n.d(t,"assertPlatform",function(){return zk}),n.d(t,"createPlatform",function(){return Ok}),n.d(t,"createPlatformFactory",function(){return Ik}),n.d(t,"defineInjectable",function(){return O}),n.d(t,"destroyPlatform",function(){return Dk}),n.d(t,"enableProdMode",function(){return Ui}),n.d(t,"forwardRef",function(){return V}),n.d(t,"getDebugNode",function(){return pw}),n.d(t,"getModuleFactory",function(){return Vk}),n.d(t,"getPlatform",function(){return Ak}),n.d(t,"inject",function(){return je}),n.d(t,"isDevMode",function(){return Vi}),n.d(t,"platformCore",function(){return vw}),n.d(t,"resolveForwardRef",function(){return U}),n.d(t,"setTestabilityGetter",function(){return vk}),n.d(t,"ɵ0",function(){return b}),n.d(t,"ɵ1",function(){return C}),n.d(t,"ɵALLOW_MULTIPLE_PLATFORMS",function(){return Sk}),n.d(t,"ɵAPP_ID_RANDOM_PROVIDER",function(){return Pv}),n.d(t,"ɵChangeDetectorStatus",function(){return ze}),n.d(t,"ɵCodegenComponentFactoryResolver",function(){return Up}),n.d(t,"ɵCompiler_compileModuleAndAllComponentsAsync__POST_R3__",function(){return nk}),n.d(t,"ɵCompiler_compileModuleAndAllComponentsSync__POST_R3__",function(){return ek}),n.d(t,"ɵCompiler_compileModuleAsync__POST_R3__",function(){return Jv}),n.d(t,"ɵCompiler_compileModuleSync__POST_R3__",function(){return Yv}),n.d(t,"ɵComponentFactory",function(){return qp}),n.d(t,"ɵConsole",function(){return Vv}),n.d(t,"ɵDEFAULT_LOCALE_ID",function(){return Pg}),n.d(t,"ɵEMPTY_ARRAY",function(){return vm}),n.d(t,"ɵEMPTY_MAP",function(){return km}),n.d(t,"ɵINJECTOR_IMPL__POST_R3__",function(){return bc}),n.d(t,"ɵINJECTOR_SCOPE",function(){return ic}),n.d(t,"ɵLifecycleHooksFeature",function(){return pp}),n.d(t,"ɵLocaleDataIndex",function(){return Eg}),n.d(t,"ɵNG_COMP_DEF",function(){return X}),n.d(t,"ɵNG_DIR_DEF",function(){return ee}),n.d(t,"ɵNG_ELEMENT_ID",function(){return ae}),n.d(t,"ɵNG_INJ_DEF",function(){return P}),n.d(t,"ɵNG_MOD_DEF",function(){return ne}),n.d(t,"ɵNG_PIPE_DEF",function(){return te}),n.d(t,"ɵNG_PROV_DEF",function(){return N}),n.d(t,"ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR",function(){return hg}),n.d(t,"ɵNO_CHANGE",function(){return io}),n.d(t,"ɵNgModuleFactory",function(){return Ry}),n.d(t,"ɵNoopNgZone",function(){return gk}),n.d(t,"ɵReflectionCapabilities",function(){return Hl}),n.d(t,"ɵRender3ComponentFactory",function(){return _g}),n.d(t,"ɵRender3ComponentRef",function(){return jg}),n.d(t,"ɵRender3NgModuleRef",function(){return Py}),n.d(t,"ɵSWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__",function(){return Rl}),n.d(t,"ɵSWITCH_COMPILE_COMPONENT__POST_R3__",function(){return _v}),n.d(t,"ɵSWITCH_COMPILE_DIRECTIVE__POST_R3__",function(){return jv}),n.d(t,"ɵSWITCH_COMPILE_INJECTABLE__POST_R3__",function(){return nc}),n.d(t,"ɵSWITCH_COMPILE_NGMODULE__POST_R3__",function(){return Ov}),n.d(t,"ɵSWITCH_COMPILE_PIPE__POST_R3__",function(){return Cv}),n.d(t,"ɵSWITCH_ELEMENT_REF_FACTORY__POST_R3__",function(){return Gp}),n.d(t,"ɵSWITCH_IVY_ENABLED__POST_R3__",function(){return Gv}),n.d(t,"ɵSWITCH_RENDERER2_FACTORY__POST_R3__",function(){return Zp}),n.d(t,"ɵSWITCH_TEMPLATE_REF_FACTORY__POST_R3__",function(){return kf}),n.d(t,"ɵSWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__",function(){return jf}),n.d(t,"ɵ_sanitizeHtml",function(){return ga}),n.d(t,"ɵ_sanitizeStyle",function(){return ka}),n.d(t,"ɵ_sanitizeUrl",function(){return Gi}),n.d(t,"ɵallowSanitizationBypassAndThrow",function(){return Ai}),n.d(t,"ɵand",function(){return Tw}),n.d(t,"ɵangular_packages_core_core_a",function(){return H}),n.d(t,"ɵangular_packages_core_core_b",function(){return ke}),n.d(t,"ɵangular_packages_core_core_ba",function(){return Bn}),n.d(t,"ɵangular_packages_core_core_bb",function(){return Un}),n.d(t,"ɵangular_packages_core_core_bc",function(){return $n}),n.d(t,"ɵangular_packages_core_core_bd",function(){return hr}),n.d(t,"ɵangular_packages_core_core_bf",function(){return Qy}),n.d(t,"ɵangular_packages_core_core_bg",function(){return $y}),n.d(t,"ɵangular_packages_core_core_bh",function(){return Yy}),n.d(t,"ɵangular_packages_core_core_bi",function(){return Zy}),n.d(t,"ɵangular_packages_core_core_bj",function(){return Jy}),n.d(t,"ɵangular_packages_core_core_bk",function(){return xa}),n.d(t,"ɵangular_packages_core_core_bl",function(){return m}),n.d(t,"ɵangular_packages_core_core_bm",function(){return g}),n.d(t,"ɵangular_packages_core_core_bn",function(){return x}),n.d(t,"ɵangular_packages_core_core_bp",function(){return c}),n.d(t,"ɵangular_packages_core_core_bq",function(){return so}),n.d(t,"ɵangular_packages_core_core_c",function(){return xe}),n.d(t,"ɵangular_packages_core_core_d",function(){return $c}),n.d(t,"ɵangular_packages_core_core_e",function(){return Mc}),n.d(t,"ɵangular_packages_core_core_f",function(){return Uc}),n.d(t,"ɵangular_packages_core_core_g",function(){return Nv}),n.d(t,"ɵangular_packages_core_core_h",function(){return zl}),n.d(t,"ɵangular_packages_core_core_i",function(){return Dl}),n.d(t,"ɵangular_packages_core_core_j",function(){return Bk}),n.d(t,"ɵangular_packages_core_core_k",function(){return Zk}),n.d(t,"ɵangular_packages_core_core_l",function(){return Jk}),n.d(t,"ɵangular_packages_core_core_m",function(){return fw}),n.d(t,"ɵangular_packages_core_core_n",function(){return nf}),n.d(t,"ɵangular_packages_core_core_o",function(){return uf}),n.d(t,"ɵangular_packages_core_core_p",function(){return kw}),n.d(t,"ɵangular_packages_core_core_q",function(){return ww}),n.d(t,"ɵangular_packages_core_core_r",function(){return _w}),n.d(t,"ɵangular_packages_core_core_s",function(){return Cw}),n.d(t,"ɵangular_packages_core_core_t",function(){return Ew}),n.d(t,"ɵangular_packages_core_core_u",function(){return Rg}),n.d(t,"ɵangular_packages_core_core_v",function(){return ag}),n.d(t,"ɵangular_packages_core_core_w",function(){return Pf}),n.d(t,"ɵangular_packages_core_core_x",function(){return wg}),n.d(t,"ɵangular_packages_core_core_y",function(){return oi}),n.d(t,"ɵangular_packages_core_core_z",function(){return Rn}),n.d(t,"ɵbypassSanitizationTrustHtml",function(){return Pi}),n.d(t,"ɵbypassSanitizationTrustResourceUrl",function(){return Li}),n.d(t,"ɵbypassSanitizationTrustScript",function(){return Mi}),n.d(t,"ɵbypassSanitizationTrustStyle",function(){return Ri}),n.d(t,"ɵbypassSanitizationTrustUrl",function(){return qi}),n.d(t,"ɵccf",function(){return Nm}),n.d(t,"ɵclearOverrides",function(){return tj}),n.d(t,"ɵclearResolutionOfComponentResourcesQueue",function(){return ou}),n.d(t,"ɵcmf",function(){return nj}),n.d(t,"ɵcompileComponent",function(){return Xb}),n.d(t,"ɵcompileDirective",function(){return ev}),n.d(t,"ɵcompileNgModule",function(){return Lb}),n.d(t,"ɵcompileNgModuleDefs",function(){return Bb}),n.d(t,"ɵcompileNgModuleFactory__POST_R3__",function(){return jk}),n.d(t,"ɵcompilePipe",function(){return pv}),n.d(t,"ɵcreateInjector",function(){return uc}),n.d(t,"ɵcrt",function(){return Uf}),n.d(t,"ɵdefaultIterableDiffers",function(){return yf}),n.d(t,"ɵdefaultKeyValueDiffers",function(){return bf}),n.d(t,"ɵdetectChanges",function(){return Fu}),n.d(t,"ɵdevModeEqual",function(){return hu}),n.d(t,"ɵdid",function(){return ng}),n.d(t,"ɵeld",function(){return Ow}),n.d(t,"ɵfindLocaleData",function(){return Og}),n.d(t,"ɵflushModuleScopingQueueAsMuchAsPossible",function(){return Mb}),n.d(t,"ɵgetComponentViewDefinitionFactory",function(){return Pm}),n.d(t,"ɵgetDebugNodeR2",function(){return mw}),n.d(t,"ɵgetDebugNode__POST_R3__",function(){return hw}),n.d(t,"ɵgetDirectives",function(){return Zh}),n.d(t,"ɵgetHostElement",function(){return ep}),n.d(t,"ɵgetInjectableDef",function(){return z}),n.d(t,"ɵgetLContext",function(){return Pa}),n.d(t,"ɵgetLocaleCurrencyCode",function(){return Ig}),n.d(t,"ɵgetLocalePluralCase",function(){return zg}),n.d(t,"ɵgetModuleFactory__POST_R3__",function(){return Fk}),n.d(t,"ɵgetSanitizationBypassType",function(){return Ni}),n.d(t,"ɵglobal",function(){return Z}),n.d(t,"ɵinitServicesIfNeeded",function(){return g_}),n.d(t,"ɵinlineInterpolate",function(){return ym}),n.d(t,"ɵinterpolate",function(){return gm}),n.d(t,"ɵisBoundToModule__POST_R3__",function(){return xk}),n.d(t,"ɵisDefaultChangeDetectionStrategy",function(){return at}),n.d(t,"ɵisListLikeIterable",function(){return fu}),n.d(t,"ɵisObservable",function(){return od}),n.d(t,"ɵisPromise",function(){return ad}),n.d(t,"ɵivyEnabled",function(){return Qv}),n.d(t,"ɵlooseIdentical",function(){return du}),n.d(t,"ɵmakeDecorator",function(){return p}),n.d(t,"ɵmarkDirty",function(){return Vu}),n.d(t,"ɵmod",function(){return xm}),n.d(t,"ɵmpd",function(){return Em}),n.d(t,"ɵncd",function(){return Lw}),n.d(t,"ɵnov",function(){return Km}),n.d(t,"ɵoverrideComponentView",function(){return ej}),n.d(t,"ɵoverrideProvider",function(){return X_}),n.d(t,"ɵpad",function(){return Vw}),n.d(t,"ɵpatchComponentDefWithScope",function(){return $b}),n.d(t,"ɵpid",function(){return rg}),n.d(t,"ɵpod",function(){return Uw}),n.d(t,"ɵppd",function(){return Fw}),n.d(t,"ɵprd",function(){return ig}),n.d(t,"ɵpublishDefaultGlobalUtils",function(){return sp}),n.d(t,"ɵpublishGlobalUtil",function(){return lp}),n.d(t,"ɵqud",function(){return Nw}),n.d(t,"ɵregisterLocaleData",function(){return Tg}),n.d(t,"ɵregisterModuleFactory",function(){return zy}),n.d(t,"ɵregisterNgModuleType",function(){return Ay}),n.d(t,"ɵrenderComponent",function(){return cp}),n.d(t,"ɵresetCompiledComponents",function(){return Kb}),n.d(t,"ɵresetJitOptions",function(){return Ab}),n.d(t,"ɵresolveComponentResources",function(){return nu}),n.d(t,"ɵsetClassMetadata",function(){return Oy}),n.d(t,"ɵsetCurrentInjector",function(){return be}),n.d(t,"ɵsetDocument",function(){return bn}),n.d(t,"ɵsetLocaleId",function(){return Ty}),n.d(t,"ɵstore",function(){return Hu}),n.d(t,"ɵstringify",function(){return L}),n.d(t,"ɵted",function(){return Ww}),n.d(t,"ɵtransitiveScopesFor",function(){return Yb}),n.d(t,"ɵunregisterLocaleData",function(){return Ag}),n.d(t,"ɵunv",function(){return Bf}),n.d(t,"ɵunwrapSafeValue",function(){return Di}),n.d(t,"ɵvid",function(){return Qw}),n.d(t,"ɵwhenRendered",function(){return fp}),n.d(t,"ɵɵCopyDefinitionFeature",function(){return jp}),n.d(t,"ɵɵInheritDefinitionFeature",function(){return gp}),n.d(t,"ɵɵNgOnChangesFeature",function(){return Ep}),n.d(t,"ɵɵProvidersFeature",function(){return Rp}),n.d(t,"ɵɵadvance",function(){return ho}),n.d(t,"ɵɵattribute",function(){return _u}),n.d(t,"ɵɵattributeInterpolate1",function(){return Du}),n.d(t,"ɵɵattributeInterpolate2",function(){return Au}),n.d(t,"ɵɵattributeInterpolate3",function(){return Nu}),n.d(t,"ɵɵattributeInterpolate4",function(){return Pu}),n.d(t,"ɵɵattributeInterpolate5",function(){return Ru}),n.d(t,"ɵɵattributeInterpolate6",function(){return Mu}),n.d(t,"ɵɵattributeInterpolate7",function(){return qu}),n.d(t,"ɵɵattributeInterpolate8",function(){return Lu}),n.d(t,"ɵɵattributeInterpolateV",function(){return Bu}),n.d(t,"ɵɵclassMap",function(){return Gd}),n.d(t,"ɵɵclassMapInterpolate1",function(){return yh}),n.d(t,"ɵɵclassMapInterpolate2",function(){return bh}),n.d(t,"ɵɵclassMapInterpolate3",function(){return vh}),n.d(t,"ɵɵclassMapInterpolate4",function(){return kh}),n.d(t,"ɵɵclassMapInterpolate5",function(){return wh}),n.d(t,"ɵɵclassMapInterpolate6",function(){return _h}),n.d(t,"ɵɵclassMapInterpolate7",function(){return jh}),n.d(t,"ɵɵclassMapInterpolate8",function(){return Ch}),n.d(t,"ɵɵclassMapInterpolateV",function(){return Eh}),n.d(t,"ɵɵclassProp",function(){return Hd}),n.d(t,"ɵɵcomponentHostSyntheticListener",function(){return ld}),n.d(t,"ɵɵcontentQuery",function(){return _b}),n.d(t,"ɵɵdefaultStyleSanitizer",function(){return Ta}),n.d(t,"ɵɵdefineComponent",function(){return ct}),n.d(t,"ɵɵdefineDirective",function(){return yt}),n.d(t,"ɵɵdefineInjectable",function(){return T}),n.d(t,"ɵɵdefineInjector",function(){return I}),n.d(t,"ɵɵdefineNgModule",function(){return ft}),n.d(t,"ɵɵdefinePipe",function(){return bt}),n.d(t,"ɵɵdirectiveInject",function(){return Ku}),n.d(t,"ɵɵdisableBindings",function(){return Ln}),n.d(t,"ɵɵelement",function(){return ed}),n.d(t,"ɵɵelementContainer",function(){return rd}),n.d(t,"ɵɵelementContainerEnd",function(){return nd}),n.d(t,"ɵɵelementContainerStart",function(){return td}),n.d(t,"ɵɵelementEnd",function(){return Xu}),n.d(t,"ɵɵelementStart",function(){return Ju}),n.d(t,"ɵɵenableBindings",function(){return qn}),n.d(t,"ɵɵgetCurrentView",function(){return id}),n.d(t,"ɵɵgetFactoryOf",function(){return mi}),n.d(t,"ɵɵgetInheritedFactory",function(){return gi}),n.d(t,"ɵɵhostProperty",function(){return Hh}),n.d(t,"ɵɵi18n",function(){return gy}),n.d(t,"ɵɵi18nApply",function(){return wy}),n.d(t,"ɵɵi18nAttributes",function(){return yy}),n.d(t,"ɵɵi18nEnd",function(){return hy}),n.d(t,"ɵɵi18nExp",function(){return ky}),n.d(t,"ɵɵi18nPostprocess",function(){return dy}),n.d(t,"ɵɵi18nStart",function(){return sy}),n.d(t,"ɵɵinject",function(){return we}),n.d(t,"ɵɵinjectAttribute",function(){return Gu}),n.d(t,"ɵɵinjectPipeChangeDetectorRef",function(){return Ib}),n.d(t,"ɵɵinvalidFactory",function(){return Qu}),n.d(t,"ɵɵinvalidFactoryDep",function(){return _e}),n.d(t,"ɵɵlistener",function(){return sd}),n.d(t,"ɵɵloadQuery",function(){return Eb}),n.d(t,"ɵɵnamespaceHTML",function(){return br}),n.d(t,"ɵɵnamespaceMathML",function(){return yr}),n.d(t,"ɵɵnamespaceSVG",function(){return gr}),n.d(t,"ɵɵnextContext",function(){return hd}),n.d(t,"ɵɵpipe",function(){return Xy}),n.d(t,"ɵɵpipeBind1",function(){return eb}),n.d(t,"ɵɵpipeBind2",function(){return tb}),n.d(t,"ɵɵpipeBind3",function(){return nb}),n.d(t,"ɵɵpipeBind4",function(){return rb}),n.d(t,"ɵɵpipeBindV",function(){return ib}),n.d(t,"ɵɵprojection",function(){return yd}),n.d(t,"ɵɵprojectionDef",function(){return fd}),n.d(t,"ɵɵproperty",function(){return $u}),n.d(t,"ɵɵpropertyInterpolate",function(){return bd}),n.d(t,"ɵɵpropertyInterpolate1",function(){return vd}),n.d(t,"ɵɵpropertyInterpolate2",function(){return kd}),n.d(t,"ɵɵpropertyInterpolate3",function(){return wd}),n.d(t,"ɵɵpropertyInterpolate4",function(){return _d}),n.d(t,"ɵɵpropertyInterpolate5",function(){return jd}),n.d(t,"ɵɵpropertyInterpolate6",function(){return Cd}),n.d(t,"ɵɵpropertyInterpolate7",function(){return Ed}),n.d(t,"ɵɵpropertyInterpolate8",function(){return xd}),n.d(t,"ɵɵpropertyInterpolateV",function(){return Sd}),n.d(t,"ɵɵpureFunction0",function(){return My}),n.d(t,"ɵɵpureFunction1",function(){return qy}),n.d(t,"ɵɵpureFunction2",function(){return Ly}),n.d(t,"ɵɵpureFunction3",function(){return By}),n.d(t,"ɵɵpureFunction4",function(){return Fy}),n.d(t,"ɵɵpureFunction5",function(){return Vy}),n.d(t,"ɵɵpureFunction6",function(){return Uy}),n.d(t,"ɵɵpureFunction7",function(){return Hy}),n.d(t,"ɵɵpureFunction8",function(){return Wy}),n.d(t,"ɵɵpureFunctionV",function(){return Ky}),n.d(t,"ɵɵqueryRefresh",function(){return bb}),n.d(t,"ɵɵreference",function(){return Wu}),n.d(t,"ɵɵresolveBody",function(){return Qr}),n.d(t,"ɵɵresolveDocument",function(){return Gr}),n.d(t,"ɵɵresolveWindow",function(){return Kr}),n.d(t,"ɵɵrestoreView",function(){return Vn}),n.d(t,"ɵɵsanitizeHtml",function(){return wa}),n.d(t,"ɵɵsanitizeResourceUrl",function(){return Ca}),n.d(t,"ɵɵsanitizeScript",function(){return Ea}),n.d(t,"ɵɵsanitizeStyle",function(){return _a}),n.d(t,"ɵɵsanitizeUrl",function(){return ja}),n.d(t,"ɵɵsanitizeUrlOrResourceUrl",function(){return Sa}),n.d(t,"ɵɵselect",function(){return po}),n.d(t,"ɵɵsetComponentScope",function(){return ut}),n.d(t,"ɵɵsetNgModuleScope",function(){return mt}),n.d(t,"ɵɵstaticContentQuery",function(){return jb}),n.d(t,"ɵɵstaticViewQuery",function(){return vb}),n.d(t,"ɵɵstyleMap",function(){return Wd}),n.d(t,"ɵɵstyleMapInterpolate1",function(){return xh}),n.d(t,"ɵɵstyleMapInterpolate2",function(){return Sh}),n.d(t,"ɵɵstyleMapInterpolate3",function(){return Th}),n.d(t,"ɵɵstyleMapInterpolate4",function(){return Oh}),n.d(t,"ɵɵstyleMapInterpolate5",function(){return Ih}),n.d(t,"ɵɵstyleMapInterpolate6",function(){return zh}),n.d(t,"ɵɵstyleMapInterpolate7",function(){return Dh}),n.d(t,"ɵɵstyleMapInterpolate8",function(){return Ah}),n.d(t,"ɵɵstyleMapInterpolateV",function(){return Nh}),n.d(t,"ɵɵstyleProp",function(){return Ud}),n.d(t,"ɵɵstylePropInterpolate1",function(){return Ph}),n.d(t,"ɵɵstylePropInterpolate2",function(){return Rh}),n.d(t,"ɵɵstylePropInterpolate3",function(){return Mh}),n.d(t,"ɵɵstylePropInterpolate4",function(){return qh}),n.d(t,"ɵɵstylePropInterpolate5",function(){return Lh}),n.d(t,"ɵɵstylePropInterpolate6",function(){return Bh}),n.d(t,"ɵɵstylePropInterpolate7",function(){return Fh}),n.d(t,"ɵɵstylePropInterpolate8",function(){return Vh}),n.d(t,"ɵɵstylePropInterpolateV",function(){return Uh}),n.d(t,"ɵɵstyleSanitizer",function(){return Vd}),n.d(t,"ɵɵtemplate",function(){return Uu}),n.d(t,"ɵɵtemplateRefExtractor",function(){return Ob}),n.d(t,"ɵɵtext",function(){return oh}),n.d(t,"ɵɵtextInterpolate",function(){return sh}),n.d(t,"ɵɵtextInterpolate1",function(){return lh}),n.d(t,"ɵɵtextInterpolate2",function(){return ch}),n.d(t,"ɵɵtextInterpolate3",function(){return uh}),n.d(t,"ɵɵtextInterpolate4",function(){return dh}),n.d(t,"ɵɵtextInterpolate5",function(){return hh}),n.d(t,"ɵɵtextInterpolate6",function(){return ph}),n.d(t,"ɵɵtextInterpolate7",function(){return fh}),n.d(t,"ɵɵtextInterpolate8",function(){return mh}),n.d(t,"ɵɵtextInterpolateV",function(){return gh}),n.d(t,"ɵɵupdateSyntheticHostBinding",function(){return Wh}),n.d(t,"ɵɵviewQuery",function(){return kb});var r=n(1),i=n(53),a=n(144),o=n(32),s=n(1061),l=n(1062); +(window.webpackJsonp=window.webpackJsonp||[]).push([[2],[function(e,t,n){"use strict";n.r(t),function(e){n.d(t,"ANALYZE_FOR_ENTRY_COMPONENTS",function(){return Yc}),n.d(t,"APP_BOOTSTRAP_LISTENER",function(){return Bv}),n.d(t,"APP_ID",function(){return Av}),n.d(t,"APP_INITIALIZER",function(){return zv}),n.d(t,"ApplicationInitStatus",function(){return Dv}),n.d(t,"ApplicationModule",function(){return Sw}),n.d(t,"ApplicationRef",function(){return Rk}),n.d(t,"Attribute",function(){return E}),n.d(t,"COMPILER_OPTIONS",function(){return ak}),n.d(t,"CUSTOM_ELEMENTS_SCHEMA",function(){return Ci}),n.d(t,"ChangeDetectionStrategy",function(){return Ie}),n.d(t,"ChangeDetectorRef",function(){return Pl}),n.d(t,"Compiler",function(){return ik}),n.d(t,"CompilerFactory",function(){return ok}),n.d(t,"Component",function(){return gv}),n.d(t,"ComponentFactory",function(){return qp}),n.d(t,"ComponentFactoryResolver",function(){return Vp}),n.d(t,"ComponentRef",function(){return Mp}),n.d(t,"ContentChild",function(){return Xc}),n.d(t,"ContentChildren",function(){return Jc}),n.d(t,"DEFAULT_CURRENCY_CODE",function(){return Hv}),n.d(t,"DebugElement",function(){return bw}),n.d(t,"DebugEventListener",function(){return Yk}),n.d(t,"DebugNode",function(){return yw}),n.d(t,"DefaultIterableDiffer",function(){return af}),n.d(t,"Directive",function(){return mv}),n.d(t,"ElementRef",function(){return Kp}),n.d(t,"EmbeddedViewRef",function(){return $k}),n.d(t,"ErrorHandler",function(){return ji}),n.d(t,"EventEmitter",function(){return sb}),n.d(t,"Host",function(){return j}),n.d(t,"HostBinding",function(){return kv}),n.d(t,"HostListener",function(){return wv}),n.d(t,"INJECTOR",function(){return ce}),n.d(t,"Inject",function(){return v}),n.d(t,"InjectFlags",function(){return y}),n.d(t,"Injectable",function(){return tc}),n.d(t,"InjectionToken",function(){return le}),n.d(t,"Injector",function(){return kc}),n.d(t,"Input",function(){return bv}),n.d(t,"IterableDiffers",function(){return pf}),n.d(t,"KeyValueDiffers",function(){return ff}),n.d(t,"LOCALE_ID",function(){return Uv}),n.d(t,"MissingTranslationStrategy",function(){return Mv}),n.d(t,"ModuleWithComponentFactories",function(){return $v}),n.d(t,"NO_ERRORS_SCHEMA",function(){return Ei}),n.d(t,"NgModule",function(){return Tv}),n.d(t,"NgModuleFactory",function(){return Ne}),n.d(t,"NgModuleFactoryLoader",function(){return Lk}),n.d(t,"NgModuleRef",function(){return Ae}),n.d(t,"NgProbeToken",function(){return Tk}),n.d(t,"NgZone",function(){return ck}),n.d(t,"Optional",function(){return k}),n.d(t,"Output",function(){return vv}),n.d(t,"PACKAGE_ROOT_URL",function(){return Fv}),n.d(t,"PLATFORM_ID",function(){return Lv}),n.d(t,"PLATFORM_INITIALIZER",function(){return qv}),n.d(t,"Pipe",function(){return yv}),n.d(t,"PlatformRef",function(){return Nk}),n.d(t,"Query",function(){return Zc}),n.d(t,"QueryList",function(){return cb}),n.d(t,"ReflectiveInjector",function(){return Qc}),n.d(t,"ReflectiveKey",function(){return Nc}),n.d(t,"Renderer2",function(){return Yp}),n.d(t,"RendererFactory2",function(){return $p}),n.d(t,"RendererStyleFlags2",function(){return Wp}),n.d(t,"ResolvedReflectiveFactory",function(){return Bc}),n.d(t,"Sanitizer",function(){return Xp}),n.d(t,"SecurityContext",function(){return Ji}),n.d(t,"Self",function(){return w}),n.d(t,"SimpleChange",function(){return Cp}),n.d(t,"SkipSelf",function(){return _}),n.d(t,"SystemJsNgModuleLoader",function(){return Kk}),n.d(t,"SystemJsNgModuleLoaderConfig",function(){return Hk}),n.d(t,"TRANSLATIONS",function(){return Wv}),n.d(t,"TRANSLATIONS_FORMAT",function(){return Kv}),n.d(t,"TemplateRef",function(){return vf}),n.d(t,"Testability",function(){return yk}),n.d(t,"TestabilityRegistry",function(){return bk}),n.d(t,"Type",function(){return ql}),n.d(t,"VERSION",function(){return tf}),n.d(t,"Version",function(){return ef}),n.d(t,"ViewChild",function(){return tu}),n.d(t,"ViewChildren",function(){return eu}),n.d(t,"ViewContainerRef",function(){return _f}),n.d(t,"ViewEncapsulation",function(){return De}),n.d(t,"ViewRef",function(){return Qk}),n.d(t,"WrappedValue",function(){return pu}),n.d(t,"asNativeElements",function(){return Xk}),n.d(t,"assertPlatform",function(){return zk}),n.d(t,"createPlatform",function(){return Ok}),n.d(t,"createPlatformFactory",function(){return Ik}),n.d(t,"defineInjectable",function(){return O}),n.d(t,"destroyPlatform",function(){return Dk}),n.d(t,"enableProdMode",function(){return Ui}),n.d(t,"forwardRef",function(){return V}),n.d(t,"getDebugNode",function(){return pw}),n.d(t,"getModuleFactory",function(){return Vk}),n.d(t,"getPlatform",function(){return Ak}),n.d(t,"inject",function(){return je}),n.d(t,"isDevMode",function(){return Vi}),n.d(t,"platformCore",function(){return vw}),n.d(t,"resolveForwardRef",function(){return U}),n.d(t,"setTestabilityGetter",function(){return vk}),n.d(t,"ɵ0",function(){return b}),n.d(t,"ɵ1",function(){return C}),n.d(t,"ɵALLOW_MULTIPLE_PLATFORMS",function(){return Sk}),n.d(t,"ɵAPP_ID_RANDOM_PROVIDER",function(){return Pv}),n.d(t,"ɵChangeDetectorStatus",function(){return ze}),n.d(t,"ɵCodegenComponentFactoryResolver",function(){return Up}),n.d(t,"ɵCompiler_compileModuleAndAllComponentsAsync__POST_R3__",function(){return nk}),n.d(t,"ɵCompiler_compileModuleAndAllComponentsSync__POST_R3__",function(){return ek}),n.d(t,"ɵCompiler_compileModuleAsync__POST_R3__",function(){return Jv}),n.d(t,"ɵCompiler_compileModuleSync__POST_R3__",function(){return Yv}),n.d(t,"ɵComponentFactory",function(){return qp}),n.d(t,"ɵConsole",function(){return Vv}),n.d(t,"ɵDEFAULT_LOCALE_ID",function(){return Pg}),n.d(t,"ɵEMPTY_ARRAY",function(){return vm}),n.d(t,"ɵEMPTY_MAP",function(){return km}),n.d(t,"ɵINJECTOR_IMPL__POST_R3__",function(){return bc}),n.d(t,"ɵINJECTOR_SCOPE",function(){return ic}),n.d(t,"ɵLifecycleHooksFeature",function(){return pp}),n.d(t,"ɵLocaleDataIndex",function(){return Eg}),n.d(t,"ɵNG_COMP_DEF",function(){return X}),n.d(t,"ɵNG_DIR_DEF",function(){return ee}),n.d(t,"ɵNG_ELEMENT_ID",function(){return ae}),n.d(t,"ɵNG_INJ_DEF",function(){return P}),n.d(t,"ɵNG_MOD_DEF",function(){return ne}),n.d(t,"ɵNG_PIPE_DEF",function(){return te}),n.d(t,"ɵNG_PROV_DEF",function(){return N}),n.d(t,"ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR",function(){return hg}),n.d(t,"ɵNO_CHANGE",function(){return io}),n.d(t,"ɵNgModuleFactory",function(){return Ry}),n.d(t,"ɵNoopNgZone",function(){return gk}),n.d(t,"ɵReflectionCapabilities",function(){return Hl}),n.d(t,"ɵRender3ComponentFactory",function(){return _g}),n.d(t,"ɵRender3ComponentRef",function(){return jg}),n.d(t,"ɵRender3NgModuleRef",function(){return Py}),n.d(t,"ɵSWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__",function(){return Rl}),n.d(t,"ɵSWITCH_COMPILE_COMPONENT__POST_R3__",function(){return _v}),n.d(t,"ɵSWITCH_COMPILE_DIRECTIVE__POST_R3__",function(){return jv}),n.d(t,"ɵSWITCH_COMPILE_INJECTABLE__POST_R3__",function(){return nc}),n.d(t,"ɵSWITCH_COMPILE_NGMODULE__POST_R3__",function(){return Ov}),n.d(t,"ɵSWITCH_COMPILE_PIPE__POST_R3__",function(){return Cv}),n.d(t,"ɵSWITCH_ELEMENT_REF_FACTORY__POST_R3__",function(){return Gp}),n.d(t,"ɵSWITCH_IVY_ENABLED__POST_R3__",function(){return Gv}),n.d(t,"ɵSWITCH_RENDERER2_FACTORY__POST_R3__",function(){return Zp}),n.d(t,"ɵSWITCH_TEMPLATE_REF_FACTORY__POST_R3__",function(){return kf}),n.d(t,"ɵSWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__",function(){return jf}),n.d(t,"ɵ_sanitizeHtml",function(){return ga}),n.d(t,"ɵ_sanitizeStyle",function(){return ka}),n.d(t,"ɵ_sanitizeUrl",function(){return Gi}),n.d(t,"ɵallowSanitizationBypassAndThrow",function(){return Ai}),n.d(t,"ɵand",function(){return Tw}),n.d(t,"ɵangular_packages_core_core_a",function(){return H}),n.d(t,"ɵangular_packages_core_core_b",function(){return ke}),n.d(t,"ɵangular_packages_core_core_ba",function(){return Bn}),n.d(t,"ɵangular_packages_core_core_bb",function(){return Un}),n.d(t,"ɵangular_packages_core_core_bc",function(){return $n}),n.d(t,"ɵangular_packages_core_core_bd",function(){return hr}),n.d(t,"ɵangular_packages_core_core_bf",function(){return Qy}),n.d(t,"ɵangular_packages_core_core_bg",function(){return $y}),n.d(t,"ɵangular_packages_core_core_bh",function(){return Yy}),n.d(t,"ɵangular_packages_core_core_bi",function(){return Zy}),n.d(t,"ɵangular_packages_core_core_bj",function(){return Jy}),n.d(t,"ɵangular_packages_core_core_bk",function(){return xa}),n.d(t,"ɵangular_packages_core_core_bl",function(){return m}),n.d(t,"ɵangular_packages_core_core_bm",function(){return g}),n.d(t,"ɵangular_packages_core_core_bn",function(){return x}),n.d(t,"ɵangular_packages_core_core_bp",function(){return c}),n.d(t,"ɵangular_packages_core_core_bq",function(){return so}),n.d(t,"ɵangular_packages_core_core_c",function(){return xe}),n.d(t,"ɵangular_packages_core_core_d",function(){return $c}),n.d(t,"ɵangular_packages_core_core_e",function(){return Mc}),n.d(t,"ɵangular_packages_core_core_f",function(){return Uc}),n.d(t,"ɵangular_packages_core_core_g",function(){return Nv}),n.d(t,"ɵangular_packages_core_core_h",function(){return zl}),n.d(t,"ɵangular_packages_core_core_i",function(){return Dl}),n.d(t,"ɵangular_packages_core_core_j",function(){return Bk}),n.d(t,"ɵangular_packages_core_core_k",function(){return Zk}),n.d(t,"ɵangular_packages_core_core_l",function(){return Jk}),n.d(t,"ɵangular_packages_core_core_m",function(){return fw}),n.d(t,"ɵangular_packages_core_core_n",function(){return nf}),n.d(t,"ɵangular_packages_core_core_o",function(){return uf}),n.d(t,"ɵangular_packages_core_core_p",function(){return kw}),n.d(t,"ɵangular_packages_core_core_q",function(){return ww}),n.d(t,"ɵangular_packages_core_core_r",function(){return _w}),n.d(t,"ɵangular_packages_core_core_s",function(){return Cw}),n.d(t,"ɵangular_packages_core_core_t",function(){return Ew}),n.d(t,"ɵangular_packages_core_core_u",function(){return Rg}),n.d(t,"ɵangular_packages_core_core_v",function(){return ag}),n.d(t,"ɵangular_packages_core_core_w",function(){return Pf}),n.d(t,"ɵangular_packages_core_core_x",function(){return wg}),n.d(t,"ɵangular_packages_core_core_y",function(){return oi}),n.d(t,"ɵangular_packages_core_core_z",function(){return Rn}),n.d(t,"ɵbypassSanitizationTrustHtml",function(){return Pi}),n.d(t,"ɵbypassSanitizationTrustResourceUrl",function(){return Li}),n.d(t,"ɵbypassSanitizationTrustScript",function(){return Mi}),n.d(t,"ɵbypassSanitizationTrustStyle",function(){return Ri}),n.d(t,"ɵbypassSanitizationTrustUrl",function(){return qi}),n.d(t,"ɵccf",function(){return Nm}),n.d(t,"ɵclearOverrides",function(){return tj}),n.d(t,"ɵclearResolutionOfComponentResourcesQueue",function(){return ou}),n.d(t,"ɵcmf",function(){return nj}),n.d(t,"ɵcompileComponent",function(){return Xb}),n.d(t,"ɵcompileDirective",function(){return ev}),n.d(t,"ɵcompileNgModule",function(){return Lb}),n.d(t,"ɵcompileNgModuleDefs",function(){return Bb}),n.d(t,"ɵcompileNgModuleFactory__POST_R3__",function(){return jk}),n.d(t,"ɵcompilePipe",function(){return pv}),n.d(t,"ɵcreateInjector",function(){return uc}),n.d(t,"ɵcrt",function(){return Uf}),n.d(t,"ɵdefaultIterableDiffers",function(){return yf}),n.d(t,"ɵdefaultKeyValueDiffers",function(){return bf}),n.d(t,"ɵdetectChanges",function(){return Fu}),n.d(t,"ɵdevModeEqual",function(){return hu}),n.d(t,"ɵdid",function(){return ng}),n.d(t,"ɵeld",function(){return Ow}),n.d(t,"ɵfindLocaleData",function(){return Og}),n.d(t,"ɵflushModuleScopingQueueAsMuchAsPossible",function(){return Mb}),n.d(t,"ɵgetComponentViewDefinitionFactory",function(){return Pm}),n.d(t,"ɵgetDebugNodeR2",function(){return mw}),n.d(t,"ɵgetDebugNode__POST_R3__",function(){return hw}),n.d(t,"ɵgetDirectives",function(){return Zh}),n.d(t,"ɵgetHostElement",function(){return ep}),n.d(t,"ɵgetInjectableDef",function(){return z}),n.d(t,"ɵgetLContext",function(){return Pa}),n.d(t,"ɵgetLocaleCurrencyCode",function(){return Ig}),n.d(t,"ɵgetLocalePluralCase",function(){return zg}),n.d(t,"ɵgetModuleFactory__POST_R3__",function(){return Fk}),n.d(t,"ɵgetSanitizationBypassType",function(){return Ni}),n.d(t,"ɵglobal",function(){return Z}),n.d(t,"ɵinitServicesIfNeeded",function(){return g_}),n.d(t,"ɵinlineInterpolate",function(){return ym}),n.d(t,"ɵinterpolate",function(){return gm}),n.d(t,"ɵisBoundToModule__POST_R3__",function(){return xk}),n.d(t,"ɵisDefaultChangeDetectionStrategy",function(){return at}),n.d(t,"ɵisListLikeIterable",function(){return fu}),n.d(t,"ɵisObservable",function(){return od}),n.d(t,"ɵisPromise",function(){return ad}),n.d(t,"ɵivyEnabled",function(){return Qv}),n.d(t,"ɵlooseIdentical",function(){return du}),n.d(t,"ɵmakeDecorator",function(){return p}),n.d(t,"ɵmarkDirty",function(){return Vu}),n.d(t,"ɵmod",function(){return xm}),n.d(t,"ɵmpd",function(){return Em}),n.d(t,"ɵncd",function(){return Lw}),n.d(t,"ɵnov",function(){return Km}),n.d(t,"ɵoverrideComponentView",function(){return ej}),n.d(t,"ɵoverrideProvider",function(){return X_}),n.d(t,"ɵpad",function(){return Vw}),n.d(t,"ɵpatchComponentDefWithScope",function(){return $b}),n.d(t,"ɵpid",function(){return rg}),n.d(t,"ɵpod",function(){return Uw}),n.d(t,"ɵppd",function(){return Fw}),n.d(t,"ɵprd",function(){return ig}),n.d(t,"ɵpublishDefaultGlobalUtils",function(){return sp}),n.d(t,"ɵpublishGlobalUtil",function(){return lp}),n.d(t,"ɵqud",function(){return Nw}),n.d(t,"ɵregisterLocaleData",function(){return Tg}),n.d(t,"ɵregisterModuleFactory",function(){return zy}),n.d(t,"ɵregisterNgModuleType",function(){return Ay}),n.d(t,"ɵrenderComponent",function(){return cp}),n.d(t,"ɵresetCompiledComponents",function(){return Kb}),n.d(t,"ɵresetJitOptions",function(){return Ab}),n.d(t,"ɵresolveComponentResources",function(){return nu}),n.d(t,"ɵsetClassMetadata",function(){return Oy}),n.d(t,"ɵsetCurrentInjector",function(){return be}),n.d(t,"ɵsetDocument",function(){return bn}),n.d(t,"ɵsetLocaleId",function(){return Ty}),n.d(t,"ɵstore",function(){return Hu}),n.d(t,"ɵstringify",function(){return L}),n.d(t,"ɵted",function(){return Ww}),n.d(t,"ɵtransitiveScopesFor",function(){return Yb}),n.d(t,"ɵunregisterLocaleData",function(){return Ag}),n.d(t,"ɵunv",function(){return Bf}),n.d(t,"ɵunwrapSafeValue",function(){return Di}),n.d(t,"ɵvid",function(){return Qw}),n.d(t,"ɵwhenRendered",function(){return fp}),n.d(t,"ɵɵCopyDefinitionFeature",function(){return jp}),n.d(t,"ɵɵInheritDefinitionFeature",function(){return gp}),n.d(t,"ɵɵNgOnChangesFeature",function(){return Ep}),n.d(t,"ɵɵProvidersFeature",function(){return Rp}),n.d(t,"ɵɵadvance",function(){return ho}),n.d(t,"ɵɵattribute",function(){return _u}),n.d(t,"ɵɵattributeInterpolate1",function(){return Du}),n.d(t,"ɵɵattributeInterpolate2",function(){return Au}),n.d(t,"ɵɵattributeInterpolate3",function(){return Nu}),n.d(t,"ɵɵattributeInterpolate4",function(){return Pu}),n.d(t,"ɵɵattributeInterpolate5",function(){return Ru}),n.d(t,"ɵɵattributeInterpolate6",function(){return Mu}),n.d(t,"ɵɵattributeInterpolate7",function(){return qu}),n.d(t,"ɵɵattributeInterpolate8",function(){return Lu}),n.d(t,"ɵɵattributeInterpolateV",function(){return Bu}),n.d(t,"ɵɵclassMap",function(){return Gd}),n.d(t,"ɵɵclassMapInterpolate1",function(){return yh}),n.d(t,"ɵɵclassMapInterpolate2",function(){return bh}),n.d(t,"ɵɵclassMapInterpolate3",function(){return vh}),n.d(t,"ɵɵclassMapInterpolate4",function(){return kh}),n.d(t,"ɵɵclassMapInterpolate5",function(){return wh}),n.d(t,"ɵɵclassMapInterpolate6",function(){return _h}),n.d(t,"ɵɵclassMapInterpolate7",function(){return jh}),n.d(t,"ɵɵclassMapInterpolate8",function(){return Ch}),n.d(t,"ɵɵclassMapInterpolateV",function(){return Eh}),n.d(t,"ɵɵclassProp",function(){return Hd}),n.d(t,"ɵɵcomponentHostSyntheticListener",function(){return ld}),n.d(t,"ɵɵcontentQuery",function(){return _b}),n.d(t,"ɵɵdefaultStyleSanitizer",function(){return Ta}),n.d(t,"ɵɵdefineComponent",function(){return ct}),n.d(t,"ɵɵdefineDirective",function(){return yt}),n.d(t,"ɵɵdefineInjectable",function(){return T}),n.d(t,"ɵɵdefineInjector",function(){return I}),n.d(t,"ɵɵdefineNgModule",function(){return ft}),n.d(t,"ɵɵdefinePipe",function(){return bt}),n.d(t,"ɵɵdirectiveInject",function(){return Ku}),n.d(t,"ɵɵdisableBindings",function(){return Ln}),n.d(t,"ɵɵelement",function(){return ed}),n.d(t,"ɵɵelementContainer",function(){return rd}),n.d(t,"ɵɵelementContainerEnd",function(){return nd}),n.d(t,"ɵɵelementContainerStart",function(){return td}),n.d(t,"ɵɵelementEnd",function(){return Xu}),n.d(t,"ɵɵelementStart",function(){return Ju}),n.d(t,"ɵɵenableBindings",function(){return qn}),n.d(t,"ɵɵgetCurrentView",function(){return id}),n.d(t,"ɵɵgetFactoryOf",function(){return mi}),n.d(t,"ɵɵgetInheritedFactory",function(){return gi}),n.d(t,"ɵɵhostProperty",function(){return Hh}),n.d(t,"ɵɵi18n",function(){return gy}),n.d(t,"ɵɵi18nApply",function(){return wy}),n.d(t,"ɵɵi18nAttributes",function(){return yy}),n.d(t,"ɵɵi18nEnd",function(){return hy}),n.d(t,"ɵɵi18nExp",function(){return ky}),n.d(t,"ɵɵi18nPostprocess",function(){return dy}),n.d(t,"ɵɵi18nStart",function(){return sy}),n.d(t,"ɵɵinject",function(){return we}),n.d(t,"ɵɵinjectAttribute",function(){return Gu}),n.d(t,"ɵɵinjectPipeChangeDetectorRef",function(){return Ib}),n.d(t,"ɵɵinvalidFactory",function(){return Qu}),n.d(t,"ɵɵinvalidFactoryDep",function(){return _e}),n.d(t,"ɵɵlistener",function(){return sd}),n.d(t,"ɵɵloadQuery",function(){return Eb}),n.d(t,"ɵɵnamespaceHTML",function(){return br}),n.d(t,"ɵɵnamespaceMathML",function(){return yr}),n.d(t,"ɵɵnamespaceSVG",function(){return gr}),n.d(t,"ɵɵnextContext",function(){return hd}),n.d(t,"ɵɵpipe",function(){return Xy}),n.d(t,"ɵɵpipeBind1",function(){return eb}),n.d(t,"ɵɵpipeBind2",function(){return tb}),n.d(t,"ɵɵpipeBind3",function(){return nb}),n.d(t,"ɵɵpipeBind4",function(){return rb}),n.d(t,"ɵɵpipeBindV",function(){return ib}),n.d(t,"ɵɵprojection",function(){return yd}),n.d(t,"ɵɵprojectionDef",function(){return fd}),n.d(t,"ɵɵproperty",function(){return $u}),n.d(t,"ɵɵpropertyInterpolate",function(){return bd}),n.d(t,"ɵɵpropertyInterpolate1",function(){return vd}),n.d(t,"ɵɵpropertyInterpolate2",function(){return kd}),n.d(t,"ɵɵpropertyInterpolate3",function(){return wd}),n.d(t,"ɵɵpropertyInterpolate4",function(){return _d}),n.d(t,"ɵɵpropertyInterpolate5",function(){return jd}),n.d(t,"ɵɵpropertyInterpolate6",function(){return Cd}),n.d(t,"ɵɵpropertyInterpolate7",function(){return Ed}),n.d(t,"ɵɵpropertyInterpolate8",function(){return xd}),n.d(t,"ɵɵpropertyInterpolateV",function(){return Sd}),n.d(t,"ɵɵpureFunction0",function(){return My}),n.d(t,"ɵɵpureFunction1",function(){return qy}),n.d(t,"ɵɵpureFunction2",function(){return Ly}),n.d(t,"ɵɵpureFunction3",function(){return By}),n.d(t,"ɵɵpureFunction4",function(){return Fy}),n.d(t,"ɵɵpureFunction5",function(){return Vy}),n.d(t,"ɵɵpureFunction6",function(){return Uy}),n.d(t,"ɵɵpureFunction7",function(){return Hy}),n.d(t,"ɵɵpureFunction8",function(){return Wy}),n.d(t,"ɵɵpureFunctionV",function(){return Ky}),n.d(t,"ɵɵqueryRefresh",function(){return bb}),n.d(t,"ɵɵreference",function(){return Wu}),n.d(t,"ɵɵresolveBody",function(){return Qr}),n.d(t,"ɵɵresolveDocument",function(){return Gr}),n.d(t,"ɵɵresolveWindow",function(){return Kr}),n.d(t,"ɵɵrestoreView",function(){return Vn}),n.d(t,"ɵɵsanitizeHtml",function(){return wa}),n.d(t,"ɵɵsanitizeResourceUrl",function(){return Ca}),n.d(t,"ɵɵsanitizeScript",function(){return Ea}),n.d(t,"ɵɵsanitizeStyle",function(){return _a}),n.d(t,"ɵɵsanitizeUrl",function(){return ja}),n.d(t,"ɵɵsanitizeUrlOrResourceUrl",function(){return Sa}),n.d(t,"ɵɵselect",function(){return po}),n.d(t,"ɵɵsetComponentScope",function(){return ut}),n.d(t,"ɵɵsetNgModuleScope",function(){return mt}),n.d(t,"ɵɵstaticContentQuery",function(){return jb}),n.d(t,"ɵɵstaticViewQuery",function(){return vb}),n.d(t,"ɵɵstyleMap",function(){return Wd}),n.d(t,"ɵɵstyleMapInterpolate1",function(){return xh}),n.d(t,"ɵɵstyleMapInterpolate2",function(){return Sh}),n.d(t,"ɵɵstyleMapInterpolate3",function(){return Th}),n.d(t,"ɵɵstyleMapInterpolate4",function(){return Oh}),n.d(t,"ɵɵstyleMapInterpolate5",function(){return Ih}),n.d(t,"ɵɵstyleMapInterpolate6",function(){return zh}),n.d(t,"ɵɵstyleMapInterpolate7",function(){return Dh}),n.d(t,"ɵɵstyleMapInterpolate8",function(){return Ah}),n.d(t,"ɵɵstyleMapInterpolateV",function(){return Nh}),n.d(t,"ɵɵstyleProp",function(){return Ud}),n.d(t,"ɵɵstylePropInterpolate1",function(){return Ph}),n.d(t,"ɵɵstylePropInterpolate2",function(){return Rh}),n.d(t,"ɵɵstylePropInterpolate3",function(){return Mh}),n.d(t,"ɵɵstylePropInterpolate4",function(){return qh}),n.d(t,"ɵɵstylePropInterpolate5",function(){return Lh}),n.d(t,"ɵɵstylePropInterpolate6",function(){return Bh}),n.d(t,"ɵɵstylePropInterpolate7",function(){return Fh}),n.d(t,"ɵɵstylePropInterpolate8",function(){return Vh}),n.d(t,"ɵɵstylePropInterpolateV",function(){return Uh}),n.d(t,"ɵɵstyleSanitizer",function(){return Vd}),n.d(t,"ɵɵtemplate",function(){return Uu}),n.d(t,"ɵɵtemplateRefExtractor",function(){return Ob}),n.d(t,"ɵɵtext",function(){return oh}),n.d(t,"ɵɵtextInterpolate",function(){return sh}),n.d(t,"ɵɵtextInterpolate1",function(){return lh}),n.d(t,"ɵɵtextInterpolate2",function(){return ch}),n.d(t,"ɵɵtextInterpolate3",function(){return uh}),n.d(t,"ɵɵtextInterpolate4",function(){return dh}),n.d(t,"ɵɵtextInterpolate5",function(){return hh}),n.d(t,"ɵɵtextInterpolate6",function(){return ph}),n.d(t,"ɵɵtextInterpolate7",function(){return fh}),n.d(t,"ɵɵtextInterpolate8",function(){return mh}),n.d(t,"ɵɵtextInterpolateV",function(){return gh}),n.d(t,"ɵɵupdateSyntheticHostBinding",function(){return Wh}),n.d(t,"ɵɵviewQuery",function(){return kb});var r=n(1),i=n(54),a=n(148),o=n(32),s=n(1087),l=n(1088); /** * @license Angular v9.1.12 * (c) 2010-2020 Google LLC. https://angular.io/ @@ -1124,7 +1124,7 @@ var Lk=function(){return function(){}}();function Bk(e){var t=Ny(e);if(!t)throw * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license - */var Hk=function(){return function(){}}(),Wk={factoryPathPrefix:"",factoryPathSuffix:".ngfactory"},Kk=function(){function e(e,t){this._compiler=e,this._config=t||Wk}return e.prototype.load=function(e){return!Qv&&this._compiler instanceof ik?this.loadFactory(e):this.loadAndCompile(e)},e.prototype.loadAndCompile=function(e){var t=this,i=Object(r.f)(e.split("#"),2),a=i[0],o=i[1];return void 0===o&&(o="default"),n(501)(a).then(function(e){return e[o]}).then(function(e){return Gk(e,a,o)}).then(function(e){return t._compiler.compileModuleAsync(e)})},e.prototype.loadFactory=function(e){var t=Object(r.f)(e.split("#"),2),i=t[0],a=t[1],o="NgFactory";return void 0===a&&(a="default",o=""),n(501)(this._config.factoryPathPrefix+i+this._config.factoryPathSuffix).then(function(e){return e[a+o]}).then(function(e){return Gk(e,i,a)})},(e=Object(r.b)([Object(r.e)(1,k()),Object(r.d)("design:paramtypes",[ik,Hk])],e)).ɵfac=function(t){return new(t||e)(we(ik),we(Hk,8))},e.ɵprov=T({token:e,factory:function(t){return e.ɵfac(t)}}),e}();function Gk(e,t,n){if(!e)throw new Error("Cannot find '"+n+"' in '"+t+"'");return e} + */var Hk=function(){return function(){}}(),Wk={factoryPathPrefix:"",factoryPathSuffix:".ngfactory"},Kk=function(){function e(e,t){this._compiler=e,this._config=t||Wk}return e.prototype.load=function(e){return!Qv&&this._compiler instanceof ik?this.loadFactory(e):this.loadAndCompile(e)},e.prototype.loadAndCompile=function(e){var t=this,i=Object(r.f)(e.split("#"),2),a=i[0],o=i[1];return void 0===o&&(o="default"),n(521)(a).then(function(e){return e[o]}).then(function(e){return Gk(e,a,o)}).then(function(e){return t._compiler.compileModuleAsync(e)})},e.prototype.loadFactory=function(e){var t=Object(r.f)(e.split("#"),2),i=t[0],a=t[1],o="NgFactory";return void 0===a&&(a="default",o=""),n(521)(this._config.factoryPathPrefix+i+this._config.factoryPathSuffix).then(function(e){return e[a+o]}).then(function(e){return Gk(e,i,a)})},(e=Object(r.b)([Object(r.e)(1,k()),Object(r.d)("design:paramtypes",[ik,Hk])],e)).ɵfac=function(t){return new(t||e)(we(ik),we(Hk,8))},e.ɵprov=T({token:e,factory:function(t){return e.ɵfac(t)}}),e}();function Gk(e,t,n){if(!e)throw new Error("Cannot find '"+n+"' in '"+t+"'");return e} /** * @license * Copyright Google Inc. All Rights Reserved. @@ -1246,7 +1246,7 @@ function X_(e){return g_(),Rf.overrideProvider(e)}function ej(e,t){return g_(),R * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license - */}.call(this,n(108))},function(e,t,n){"use strict";n.d(t,"c",function(){return i}),n.d(t,"a",function(){return a}),n.d(t,"b",function(){return o}),n.d(t,"e",function(){return s}),n.d(t,"d",function(){return l}),n.d(t,"h",function(){return c}),n.d(t,"f",function(){return u}),n.d(t,"g",function(){return d}); + */}.call(this,n(101))},function(e,t,n){"use strict";n.d(t,"c",function(){return i}),n.d(t,"a",function(){return a}),n.d(t,"b",function(){return o}),n.d(t,"e",function(){return s}),n.d(t,"d",function(){return l}),n.d(t,"h",function(){return c}),n.d(t,"f",function(){return u}),n.d(t,"g",function(){return d}); /*! ***************************************************************************** Copyright (c) Microsoft Corporation. @@ -1261,7 +1261,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ -var r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function i(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var a=function(){return(a=Object.assign||function(e){for(var t,n=1,r=arguments.length;n=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o}function s(e,t){return function(n,r){t(n,r,e)}}function l(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}Object.create;function c(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function u(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,a=n.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)o.push(r.value)}catch(s){i={error:s}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(i)throw i.error}}return o}function d(){for(var e=[],t=0;t=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o}function s(e,t){return function(n,r){t(n,r,e)}}function l(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}Object.create;function c(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function u(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,a=n.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(r=a.next()).done;)o.push(r.value)}catch(s){i={error:s}}finally{try{r&&!r.done&&(n=a.return)&&n.call(a)}finally{if(i)throw i.error}}return o}function d(){for(var e=[],t=0;t0)for(var n=this.count>=this.total?this.total:this.count,r=this.ring,i=0;i=2;return function(r){return r.pipe(e?Object(S.a)(function(t,n){return e(t,n,r)}):L.a,O(1),n?R(t):D(function(){return new u}))}}var F=n(73);function V(e){return function(t){var n=new U(e),r=t.lift(n);return n.caught=r}}var U=function(){function e(e){this.selector=e}return e.prototype.call=function(e,t){return t.subscribe(new H(e,this.selector,this.caught))},e}(),H=function(e){function t(t,n,r){var i=e.call(this,t)||this;return i.selector=n,i.caught=r,i}return r.c(t,e),t.prototype.error=function(t){if(!this.isStopped){var n=void 0;try{n=this.selector(t,this.caught)}catch(a){return void e.prototype.error.call(this,a)}this._unsubscribeAndRecycle();var r=new F.a(this);this.add(r);var i=Object(F.c)(n,r);i!==r&&this.add(i)}},t}(F.b),W=n(711);function K(e,t){var n=arguments.length>=2;return function(r){return r.pipe(e?Object(S.a)(function(t,n){return e(t,n,r)}):L.a,Object(W.a)(1),n?R(t):D(function(){return new u}))}}var G=n(295);var Q=function(){function e(e,t,n){this.predicate=e,this.thisArg=t,this.source=n}return e.prototype.call=function(e,t){return t.subscribe(new $(e,this.predicate,this.thisArg,this.source))},e}(),$=function(e){function t(t,n,r,i){var a=e.call(this,t)||this;return a.predicate=n,a.thisArg=r,a.source=i,a.index=0,a.thisArg=r||a,a}return r.c(t,e),t.prototype.notifyComplete=function(e){this.destination.next(e),this.destination.complete()},t.prototype._next=function(e){var t=!1;try{t=this.predicate.call(this.thisArg,e,this.index++,this.source)}catch(n){return void this.destination.error(n)}t||this.notifyComplete(!1)},t.prototype._complete=function(){this.notifyComplete(!0)},t}(p.a),Y=n(1064),Z=n(1067);function J(e,t){var n=!1;return arguments.length>=2&&(n=!0),function(r){return r.lift(new X(e,t,n))}}var X=function(){function e(e,t,n){void 0===n&&(n=!1),this.accumulator=e,this.seed=t,this.hasSeed=n}return e.prototype.call=function(e,t){return t.subscribe(new ee(e,this.accumulator,this.seed,this.hasSeed))},e}(),ee=function(e){function t(t,n,r,i){var a=e.call(this,t)||this;return a.accumulator=n,a._seed=r,a.hasSeed=i,a.index=0,a}return r.c(t,e),Object.defineProperty(t.prototype,"seed",{get:function(){return this._seed},set:function(e){this.hasSeed=!0,this._seed=e},enumerable:!0,configurable:!0}),t.prototype._next=function(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)},t.prototype._tryNext=function(e){var t,n=this.index++;try{t=this.accumulator(this.seed,e,n)}catch(r){this.destination.error(r)}this.seed=t,this.destination.next(t)},t}(p.a);function te(e,t){return Object(G.a)(e,t,1)}var ne=n(262);var re=n(1066),ie=n(53);var ae=function(){function e(e){this.callback=e}return e.prototype.call=function(e,t){return t.subscribe(new oe(e,this.callback))},e}(),oe=function(e){function t(t,n){var r=e.call(this,t)||this;return r.add(new ie.a(n)),r}return r.c(t,e),t}(p.a),se=n(294);n.d(t,"ActivatedRoute",function(){return bt}),n.d(t,"ActivatedRouteSnapshot",function(){return kt}),n.d(t,"ActivationEnd",function(){return je}),n.d(t,"ActivationStart",function(){return _e}),n.d(t,"ChildActivationEnd",function(){return we}),n.d(t,"ChildActivationStart",function(){return ke}),n.d(t,"ChildrenOutletContexts",function(){return Fn}),n.d(t,"DefaultUrlSerializer",function(){return Ze}),n.d(t,"GuardsCheckEnd",function(){return me}),n.d(t,"GuardsCheckStart",function(){return fe}),n.d(t,"NavigationCancel",function(){return de}),n.d(t,"NavigationEnd",function(){return ue}),n.d(t,"NavigationError",function(){return he}),n.d(t,"NavigationStart",function(){return ce}),n.d(t,"NoPreloading",function(){return Kn}),n.d(t,"OutletContext",function(){return Bn}),n.d(t,"PRIMARY_OUTLET",function(){return xe}),n.d(t,"PreloadAllModules",function(){return Wn}),n.d(t,"PreloadingStrategy",function(){return Hn}),n.d(t,"ROUTER_CONFIGURATION",function(){return $n}),n.d(t,"ROUTER_INITIALIZER",function(){return cr}),n.d(t,"ROUTES",function(){return Tn}),n.d(t,"ResolveEnd",function(){return ye}),n.d(t,"ResolveStart",function(){return ge}),n.d(t,"RouteConfigLoadEnd",function(){return ve}),n.d(t,"RouteConfigLoadStart",function(){return be}),n.d(t,"RouteReuseStrategy",function(){return xn}),n.d(t,"Router",function(){return Pn}),n.d(t,"RouterEvent",function(){return le}),n.d(t,"RouterLink",function(){return Rn}),n.d(t,"RouterLinkActive",function(){return Ln}),n.d(t,"RouterLinkWithHref",function(){return Mn}),n.d(t,"RouterModule",function(){return Xn}),n.d(t,"RouterOutlet",function(){return Vn}),n.d(t,"RouterPreloader",function(){return Gn}),n.d(t,"RouterState",function(){return gt}),n.d(t,"RouterStateSnapshot",function(){return wt}),n.d(t,"RoutesRecognized",function(){return pe}),n.d(t,"Scroll",function(){return Ce}),n.d(t,"UrlHandlingStrategy",function(){return In}),n.d(t,"UrlSegment",function(){return Ge}),n.d(t,"UrlSegmentGroup",function(){return Ke}),n.d(t,"UrlSerializer",function(){return Ye}),n.d(t,"UrlTree",function(){return We}),n.d(t,"VERSION",function(){return dr}),n.d(t,"convertToParamMap",function(){return Te}),n.d(t,"provideRoutes",function(){return rr}),n.d(t,"ɵEmptyOutletComponent",function(){return Ee}),n.d(t,"ɵROUTER_PROVIDERS",function(){return Zn}),n.d(t,"ɵangular_packages_router_router_a",function(){return Yn}),n.d(t,"ɵangular_packages_router_router_b",function(){return Jn}),n.d(t,"ɵangular_packages_router_router_c",function(){return er}),n.d(t,"ɵangular_packages_router_router_d",function(){return tr}),n.d(t,"ɵangular_packages_router_router_e",function(){return nr}),n.d(t,"ɵangular_packages_router_router_f",function(){return ir}),n.d(t,"ɵangular_packages_router_router_g",function(){return ar}),n.d(t,"ɵangular_packages_router_router_h",function(){return or}),n.d(t,"ɵangular_packages_router_router_i",function(){return sr}),n.d(t,"ɵangular_packages_router_router_j",function(){return lr}),n.d(t,"ɵangular_packages_router_router_k",function(){return ur}),n.d(t,"ɵangular_packages_router_router_l",function(){return Ee}),n.d(t,"ɵangular_packages_router_router_m",function(){return dt}),n.d(t,"ɵangular_packages_router_router_n",function(){return ft}),n.d(t,"ɵangular_packages_router_router_o",function(){return Qn}),n.d(t,"ɵflatten",function(){return Le}); + */},,,,function(e,t,n){"use strict";n.r(t);var r=n(1),i=n(4),a=n(0),o=n(307),s=n(167),l=n(1089),c=n(32),u=function(){function e(){return Error.call(this),this.message="no elements in sequence",this.name="EmptyError",this}return e.prototype=Object.create(Error.prototype),e}(),d=n(122),h=n(121),p=n(24),f=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.c(t,e),t.prototype.notifyNext=function(e,t,n,r,i){this.destination.next(t)},t.prototype.notifyError=function(e,t){this.destination.error(e)},t.prototype.notifyComplete=function(e){this.destination.complete()},t}(p.a),m=function(e){function t(t,n,r){var i=e.call(this)||this;return i.parent=t,i.outerValue=n,i.outerIndex=r,i.index=0,i}return r.c(t,e),t.prototype._next=function(e){this.parent.notifyNext(this.outerValue,e,this.outerIndex,this.index++,this)},t.prototype._error=function(e){this.parent.notifyError(e,this),this.unsubscribe()},t.prototype._complete=function(){this.parent.notifyComplete(this),this.unsubscribe()},t}(p.a),g=n(216);function y(e,t,n,r,i){if(void 0===i&&(i=new m(e,n,r)),!i.closed)return t instanceof c.a?t.subscribe(i):Object(g.a)(t)(i)}var b=n(215),v={};var k=function(){function e(e){this.resultSelector=e}return e.prototype.call=function(e,t){return t.subscribe(new w(e,this.resultSelector))},e}(),w=function(e){function t(t,n){var r=e.call(this,t)||this;return r.resultSelector=n,r.active=0,r.values=[],r.observables=[],r}return r.c(t,e),t.prototype._next=function(e){this.values.push(v),this.observables.push(e)},t.prototype._complete=function(){var e=this.observables,t=e.length;if(0===t)this.destination.complete();else{this.active=t,this.toRespond=t;for(var n=0;n0)for(var n=this.count>=this.total?this.total:this.count,r=this.ring,i=0;i=2;return function(r){return r.pipe(e?Object(S.a)(function(t,n){return e(t,n,r)}):L.a,O(1),n?R(t):D(function(){return new u}))}}var F=n(75);function V(e){return function(t){var n=new U(e),r=t.lift(n);return n.caught=r}}var U=function(){function e(e){this.selector=e}return e.prototype.call=function(e,t){return t.subscribe(new H(e,this.selector,this.caught))},e}(),H=function(e){function t(t,n,r){var i=e.call(this,t)||this;return i.selector=n,i.caught=r,i}return r.c(t,e),t.prototype.error=function(t){if(!this.isStopped){var n=void 0;try{n=this.selector(t,this.caught)}catch(a){return void e.prototype.error.call(this,a)}this._unsubscribeAndRecycle();var r=new F.a(this);this.add(r);var i=Object(F.c)(n,r);i!==r&&this.add(i)}},t}(F.b),W=n(729);function K(e,t){var n=arguments.length>=2;return function(r){return r.pipe(e?Object(S.a)(function(t,n){return e(t,n,r)}):L.a,Object(W.a)(1),n?R(t):D(function(){return new u}))}}var G=n(303);var Q=function(){function e(e,t,n){this.predicate=e,this.thisArg=t,this.source=n}return e.prototype.call=function(e,t){return t.subscribe(new $(e,this.predicate,this.thisArg,this.source))},e}(),$=function(e){function t(t,n,r,i){var a=e.call(this,t)||this;return a.predicate=n,a.thisArg=r,a.source=i,a.index=0,a.thisArg=r||a,a}return r.c(t,e),t.prototype.notifyComplete=function(e){this.destination.next(e),this.destination.complete()},t.prototype._next=function(e){var t=!1;try{t=this.predicate.call(this.thisArg,e,this.index++,this.source)}catch(n){return void this.destination.error(n)}t||this.notifyComplete(!1)},t.prototype._complete=function(){this.notifyComplete(!0)},t}(p.a),Y=n(1090),Z=n(1093);function J(e,t){var n=!1;return arguments.length>=2&&(n=!0),function(r){return r.lift(new X(e,t,n))}}var X=function(){function e(e,t,n){void 0===n&&(n=!1),this.accumulator=e,this.seed=t,this.hasSeed=n}return e.prototype.call=function(e,t){return t.subscribe(new ee(e,this.accumulator,this.seed,this.hasSeed))},e}(),ee=function(e){function t(t,n,r,i){var a=e.call(this,t)||this;return a.accumulator=n,a._seed=r,a.hasSeed=i,a.index=0,a}return r.c(t,e),Object.defineProperty(t.prototype,"seed",{get:function(){return this._seed},set:function(e){this.hasSeed=!0,this._seed=e},enumerable:!0,configurable:!0}),t.prototype._next=function(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)},t.prototype._tryNext=function(e){var t,n=this.index++;try{t=this.accumulator(this.seed,e,n)}catch(r){this.destination.error(r)}this.seed=t,this.destination.next(t)},t}(p.a);function te(e,t){return Object(G.a)(e,t,1)}var ne=n(265);var re=n(1092),ie=n(54);var ae=function(){function e(e){this.callback=e}return e.prototype.call=function(e,t){return t.subscribe(new oe(e,this.callback))},e}(),oe=function(e){function t(t,n){var r=e.call(this,t)||this;return r.add(new ie.a(n)),r}return r.c(t,e),t}(p.a),se=n(302);n.d(t,"ActivatedRoute",function(){return bt}),n.d(t,"ActivatedRouteSnapshot",function(){return kt}),n.d(t,"ActivationEnd",function(){return je}),n.d(t,"ActivationStart",function(){return _e}),n.d(t,"ChildActivationEnd",function(){return we}),n.d(t,"ChildActivationStart",function(){return ke}),n.d(t,"ChildrenOutletContexts",function(){return Fn}),n.d(t,"DefaultUrlSerializer",function(){return Ze}),n.d(t,"GuardsCheckEnd",function(){return me}),n.d(t,"GuardsCheckStart",function(){return fe}),n.d(t,"NavigationCancel",function(){return de}),n.d(t,"NavigationEnd",function(){return ue}),n.d(t,"NavigationError",function(){return he}),n.d(t,"NavigationStart",function(){return ce}),n.d(t,"NoPreloading",function(){return Kn}),n.d(t,"OutletContext",function(){return Bn}),n.d(t,"PRIMARY_OUTLET",function(){return xe}),n.d(t,"PreloadAllModules",function(){return Wn}),n.d(t,"PreloadingStrategy",function(){return Hn}),n.d(t,"ROUTER_CONFIGURATION",function(){return $n}),n.d(t,"ROUTER_INITIALIZER",function(){return cr}),n.d(t,"ROUTES",function(){return Tn}),n.d(t,"ResolveEnd",function(){return ye}),n.d(t,"ResolveStart",function(){return ge}),n.d(t,"RouteConfigLoadEnd",function(){return ve}),n.d(t,"RouteConfigLoadStart",function(){return be}),n.d(t,"RouteReuseStrategy",function(){return xn}),n.d(t,"Router",function(){return Pn}),n.d(t,"RouterEvent",function(){return le}),n.d(t,"RouterLink",function(){return Rn}),n.d(t,"RouterLinkActive",function(){return Ln}),n.d(t,"RouterLinkWithHref",function(){return Mn}),n.d(t,"RouterModule",function(){return Xn}),n.d(t,"RouterOutlet",function(){return Vn}),n.d(t,"RouterPreloader",function(){return Gn}),n.d(t,"RouterState",function(){return gt}),n.d(t,"RouterStateSnapshot",function(){return wt}),n.d(t,"RoutesRecognized",function(){return pe}),n.d(t,"Scroll",function(){return Ce}),n.d(t,"UrlHandlingStrategy",function(){return In}),n.d(t,"UrlSegment",function(){return Ge}),n.d(t,"UrlSegmentGroup",function(){return Ke}),n.d(t,"UrlSerializer",function(){return Ye}),n.d(t,"UrlTree",function(){return We}),n.d(t,"VERSION",function(){return dr}),n.d(t,"convertToParamMap",function(){return Te}),n.d(t,"provideRoutes",function(){return rr}),n.d(t,"ɵEmptyOutletComponent",function(){return Ee}),n.d(t,"ɵROUTER_PROVIDERS",function(){return Zn}),n.d(t,"ɵangular_packages_router_router_a",function(){return Yn}),n.d(t,"ɵangular_packages_router_router_b",function(){return Jn}),n.d(t,"ɵangular_packages_router_router_c",function(){return er}),n.d(t,"ɵangular_packages_router_router_d",function(){return tr}),n.d(t,"ɵangular_packages_router_router_e",function(){return nr}),n.d(t,"ɵangular_packages_router_router_f",function(){return ir}),n.d(t,"ɵangular_packages_router_router_g",function(){return ar}),n.d(t,"ɵangular_packages_router_router_h",function(){return or}),n.d(t,"ɵangular_packages_router_router_i",function(){return sr}),n.d(t,"ɵangular_packages_router_router_j",function(){return lr}),n.d(t,"ɵangular_packages_router_router_k",function(){return ur}),n.d(t,"ɵangular_packages_router_router_l",function(){return Ee}),n.d(t,"ɵangular_packages_router_router_m",function(){return dt}),n.d(t,"ɵangular_packages_router_router_n",function(){return ft}),n.d(t,"ɵangular_packages_router_router_o",function(){return Qn}),n.d(t,"ɵflatten",function(){return Le}); /** * @license Angular v9.1.12 * (c) 2010-2020 Google LLC. https://angular.io/ @@ -1629,7 +1629,7 @@ function Dn(e){throw e}function An(e,t,n){return t.parse("/")}function Nn(e,t){r * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license - */},function(e,t,n){"use strict";n.r(t);var r,i=n(0),a=n(69),o=n(3);!function(e){e[e.Default=0]="Default",e[e.TrustedHtml=1]="TrustedHtml",e[e.Component=2]="Component"}(r||(r={}));var s=["componentBody"],l=["toastComp",""];function c(e,t){1&e&&i["ɵɵelement"](0,"div",null,7)}function u(e,t){if(1&e&&i["ɵɵelement"](0,"div",8),2&e){var n=i["ɵɵnextContext"]();i["ɵɵproperty"]("innerHTML",n.safeBodyHtml,i["ɵɵsanitizeHtml"])}}function d(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div"),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵtextInterpolate"](n.toast.body)}}function h(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"div",9),i["ɵɵlistener"]("click",function(e){i["ɵɵrestoreView"](n);var t=i["ɵɵnextContext"]();return t.click(e,t.toast)}),i["ɵɵtext"](1,"\n "),i["ɵɵelementEnd"]()}if(2&e){var r=i["ɵɵnextContext"]();i["ɵɵproperty"]("innerHTML",r.safeCloseHtml,i["ɵɵsanitizeHtml"])}}var p=function(e,t,n,r){var i,a=arguments.length,o=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},f=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},m=function(){function e(e,t,n){this.sanitizer=e,this.componentFactoryResolver=t,this.changeDetectorRef=n,this.bodyOutputType=r,this.clickEvent=new i.EventEmitter}return e.prototype.ngOnInit=function(){this.toast.closeHtml&&(this.safeCloseHtml=this.sanitizer.bypassSecurityTrustHtml(this.toast.closeHtml)),this.toast.bodyOutputType===r.TrustedHtml&&(this.safeBodyHtml=this.sanitizer.bypassSecurityTrustHtml(this.toast.body))},e.prototype.ngAfterViewInit=function(){if(this.toast.bodyOutputType===this.bodyOutputType.Component){var e=this.componentFactoryResolver.resolveComponentFactory(this.toast.body);this.componentBody.createComponent(e,void 0,this.componentBody.injector).instance.toast=this.toast,this.changeDetectorRef.detectChanges()}},e.prototype.click=function(e,t){e.stopPropagation(),this.clickEvent.emit({value:{toast:t,isCloseButton:!0}})},p([Object(i.Input)(),f("design:type",Object)],e.prototype,"toast",void 0),p([Object(i.Input)(),f("design:type",String)],e.prototype,"iconClass",void 0),p([Object(i.Input)(),f("design:type",String)],e.prototype,"titleClass",void 0),p([Object(i.Input)(),f("design:type",String)],e.prototype,"messageClass",void 0),p([Object(i.ViewChild)("componentBody",{read:i.ViewContainerRef,static:!1}),f("design:type",i.ViewContainerRef)],e.prototype,"componentBody",void 0),p([Object(i.Output)(),f("design:type",Object)],e.prototype,"clickEvent",void 0),(e=p([f("design:paramtypes",[a.DomSanitizer,i.ComponentFactoryResolver,i.ChangeDetectorRef])],e)).ɵfac=function(t){return new(t||e)(i["ɵɵdirectiveInject"](a.DomSanitizer),i["ɵɵdirectiveInject"](i.ComponentFactoryResolver),i["ɵɵdirectiveInject"](i.ChangeDetectorRef))},e.ɵcmp=i["ɵɵdefineComponent"]({type:e,selectors:[["","toastComp",""]],viewQuery:function(e,t){var n;(1&e&&i["ɵɵviewQuery"](s,!0,i.ViewContainerRef),2&e)&&(i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.componentBody=n.first))},inputs:{toast:"toast",iconClass:"iconClass",titleClass:"titleClass",messageClass:"messageClass"},outputs:{clickEvent:"clickEvent"},attrs:l,decls:19,vars:9,consts:[[1,"toaster-icon",3,"ngClass"],[1,"toast-content"],[3,"ngClass"],[3,"ngClass","ngSwitch"],[4,"ngSwitchCase"],[3,"innerHTML",4,"ngSwitchCase"],["class","toast-close-button",3,"innerHTML","click",4,"ngIf"],["componentBody",""],[3,"innerHTML"],[1,"toast-close-button",3,"innerHTML","click"]],template:function(e,t){1&e&&(i["ɵɵtext"](0,"\n "),i["ɵɵelement"](1,"i",0),i["ɵɵtext"](2,"\n "),i["ɵɵelementStart"](3,"div",1),i["ɵɵtext"](4,"\n "),i["ɵɵelementStart"](5,"div",2),i["ɵɵtext"](6),i["ɵɵelementEnd"](),i["ɵɵtext"](7,"\n "),i["ɵɵelementStart"](8,"div",3),i["ɵɵtext"](9,"\n "),i["ɵɵtemplate"](10,c,2,0,"div",4),i["ɵɵtext"](11,"\n "),i["ɵɵtemplate"](12,u,1,1,"div",5),i["ɵɵtext"](13,"\n "),i["ɵɵtemplate"](14,d,2,1,"div",4),i["ɵɵtext"](15,"\n "),i["ɵɵelementEnd"](),i["ɵɵtext"](16,"\n "),i["ɵɵelementEnd"](),i["ɵɵtext"](17,"\n "),i["ɵɵtemplate"](18,h,2,1,"div",6)),2&e&&(i["ɵɵadvance"](1),i["ɵɵproperty"]("ngClass",t.iconClass),i["ɵɵadvance"](4),i["ɵɵproperty"]("ngClass",t.titleClass),i["ɵɵadvance"](1),i["ɵɵtextInterpolate"](t.toast.title),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngClass",t.messageClass)("ngSwitch",t.toast.bodyOutputType),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngSwitchCase",t.bodyOutputType.Component),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngSwitchCase",t.bodyOutputType.TrustedHtml),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngSwitchCase",t.bodyOutputType.Default),i["ɵɵadvance"](4),i["ɵɵproperty"]("ngIf",t.toast.showCloseButton))},directives:[o.NgClass,o.NgSwitch,o.NgSwitchCase,o.NgIf],encapsulation:2}),e}(),g=n(13),y=function(){return function(e){e=e||{},this.limit=e.limit||null,this.tapToDismiss=null==e.tapToDismiss||e.tapToDismiss,this.showCloseButton=null!=e.showCloseButton&&e.showCloseButton,this.closeHtml=e.closeHtml||'',this.newestOnTop=null==e.newestOnTop||e.newestOnTop,this.timeout=null!=e.timeout?e.timeout:5e3,this.typeClasses=e.typeClasses||{error:"toast-error",info:"toast-info",wait:"toast-wait",success:"toast-success",warning:"toast-warning"},this.iconClasses=e.iconClasses||{error:"icon-error",info:"icon-info",wait:"icon-wait",success:"icon-success",warning:"icon-warning"},this.bodyOutputType=e.bodyOutputType||r.Default,this.bodyTemplate=e.bodyTemplate||"toasterBodyTmpl.html",this.defaultTypeClass=e.defaultTypeClass||"toast-info",this.positionClass=e.positionClass||"toast-top-right",this.titleClass=e.titleClass||"toast-title",this.messageClass=e.messageClass||"toast-message",this.animation=e.animation||"",this.preventDuplicates=null!=e.preventDuplicates&&e.preventDuplicates,this.mouseoverTimerStop=null!=e.mouseoverTimerStop&&e.mouseoverTimerStop,this.toastContainerId=null!=e.toastContainerId?e.toastContainerId:null}}(),b=n(32),v=n(144),k=n(1062),w=function(e,t,n,r){var i,a=arguments.length,o=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},_=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},j=function(){function e(){}return e.newGuid=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})},e}(),C=function(){function e(){var e=this;this.addToast=new b.a(function(t){return e._addToast=t}).pipe(Object(k.a)()),this.clearToasts=new b.a(function(t){return e._clearToasts=t}).pipe(Object(k.a)()),this._removeToastSubject=new v.a,this.removeToast=this._removeToastSubject.pipe(Object(k.a)())}return e.prototype.pop=function(e,t,n){var r="string"==typeof e?{type:e,title:t,body:n}:e;if(r.toastId||(r.toastId=j.newGuid()),!this._addToast)throw new Error("No Toaster Containers have been initialized to receive toasts.");return this._addToast.next(r),r},e.prototype.popAsync=function(e,t,n){var r=this;return setTimeout(function(){r.pop(e,t,n)},0),this.addToast},e.prototype.clear=function(e,t){var n={toastId:e,toastContainerId:t};this._clearToasts.next(n)},(e=w([_("design:paramtypes",[])],e)).ɵfac=function(t){return new(t||e)},e.ɵprov=i["ɵɵdefineInjectable"]({token:e,factory:function(t){return e.ɵfac(t)}}),e}();function E(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"div",2),i["ɵɵlistener"]("click",function(){i["ɵɵrestoreView"](n);var e=t.$implicit;return i["ɵɵnextContext"]().click(e)})("clickEvent",function(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().childClick(e)})("mouseover",function(){i["ɵɵrestoreView"](n);var e=t.$implicit;return i["ɵɵnextContext"]().stopTimer(e)})("mouseout",function(){i["ɵɵrestoreView"](n);var e=t.$implicit;return i["ɵɵnextContext"]().restartTimer(e)}),i["ɵɵtext"](1,"\n "),i["ɵɵelementEnd"]()}if(2&e){var r=t.$implicit,a=i["ɵɵnextContext"]();i["ɵɵproperty"]("toast",r)("@toastState",a.toasterconfig.animation)("iconClass",a.toasterconfig.iconClasses[r.type])("titleClass",a.toasterconfig.titleClass)("messageClass",a.toasterconfig.messageClass)("ngClass",a.toasterconfig.typeClasses[r.type])}}var x=function(e){return[e]},S=function(e,t,n,r){var i,a=arguments.length,o=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},T=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},O=function(){function e(e,t,n){this.ref=t,this.ngZone=n,this.timeoutIds=new Map,this.toasts=[],this.toasterService=e}return e.prototype.ngOnInit=function(){this.registerSubscribers(),this.isNullOrUndefined(this.toasterconfig)&&(this.toasterconfig=new y)},e.prototype.click=function(e,t){if(this.toasterconfig.tapToDismiss||e.showCloseButton&&t){var n=!0;if(e.clickHandler){if("function"!=typeof e.clickHandler)return console.log("The toast click handler is not a callable function."),!1;n=e.clickHandler(e,t)}n&&this.removeToast(e)}},e.prototype.childClick=function(e){this.click(e.value.toast,e.value.isCloseButton)},e.prototype.stopTimer=function(e){if(this.toasterconfig.mouseoverTimerStop){var t=this.toastIdOrDefault(e),n=this.timeoutIds.get(t);n&&(window.clearTimeout(n),this.timeoutIds.delete(t))}},e.prototype.restartTimer=function(e){var t=this.timeoutIds.get(this.toastIdOrDefault(e));this.toasterconfig.mouseoverTimerStop?t||this.configureTimer(e):0!==e.timeout&&!t&&this.toasterconfig.timeout&&this.removeToast(e)},e.prototype.registerSubscribers=function(){var e=this;this.addToastSubscriber=this.toasterService.addToast.subscribe(function(t){e.addToast(t)}),this.clearToastsSubscriber=this.toasterService.clearToasts.subscribe(function(t){e.clearToasts(t)})},e.prototype.addToast=function(e){if(!e.toastContainerId||!this.toasterconfig.toastContainerId||e.toastContainerId===this.toasterconfig.toastContainerId){if(e.type||(e.type=this.toasterconfig.defaultTypeClass),this.toasterconfig.preventDuplicates&&this.toasts.length>0){if(e.toastId&&this.toasts.some(function(t){return t.toastId===e.toastId}))return;if(this.toasts.some(function(t){return t.body===e.body}))return}this.isNullOrUndefined(e.showCloseButton)&&("object"==typeof this.toasterconfig.showCloseButton?e.showCloseButton=this.toasterconfig.showCloseButton[e.type]:"boolean"==typeof this.toasterconfig.showCloseButton&&(e.showCloseButton=this.toasterconfig.showCloseButton)),e.showCloseButton&&(e.closeHtml=e.closeHtml||this.toasterconfig.closeHtml),e.bodyOutputType=e.bodyOutputType||this.toasterconfig.bodyOutputType,this.configureTimer(e),this.toasterconfig.newestOnTop?(this.toasts.unshift(e),this.isLimitExceeded()&&this.toasts.pop()):(this.toasts.push(e),this.isLimitExceeded()&&this.toasts.shift()),e.onShowCallback&&e.onShowCallback(e)}},e.prototype.configureTimer=function(e){var t=this,n="number"==typeof e.timeout?e.timeout:this.toasterconfig.timeout;"object"==typeof n&&(n=n[e.type]),n>0&&this.ngZone.runOutsideAngular(function(){var r=window.setTimeout(function(){t.ngZone.run(function(){t.ref.markForCheck(),t.removeToast(e)})},n);t.timeoutIds.set(t.toastIdOrDefault(e),r)})},e.prototype.isLimitExceeded=function(){return this.toasterconfig.limit&&this.toasts.length>this.toasterconfig.limit},e.prototype.removeToast=function(e){var t=this.toasts.indexOf(e);if(!(t<0)){var n=this.toastIdOrDefault(e),r=this.timeoutIds.get(n);this.toasts.splice(t,1),r&&(window.clearTimeout(r),this.timeoutIds.delete(n)),e.onHideCallback&&e.onHideCallback(e),this.toasterService._removeToastSubject.next({toastId:n,toastContainerId:e.toastContainerId})}},e.prototype.removeAllToasts=function(){for(var e=this.toasts.length-1;e>=0;e--)this.removeToast(this.toasts[e])},e.prototype.clearToasts=function(e){var t=e.toastId,n=e.toastContainerId;this.isNullOrUndefined(n)?this.clearToastsAction(t):n===this.toasterconfig.toastContainerId&&this.clearToastsAction(t)},e.prototype.clearToastsAction=function(e){e?this.removeToast(this.toasts.filter(function(t){return t.toastId===e})[0]):this.removeAllToasts()},e.prototype.toastIdOrDefault=function(e){return e.toastId||""},e.prototype.isNullOrUndefined=function(e){return null==e},e.prototype.ngOnDestroy=function(){this.addToastSubscriber&&this.addToastSubscriber.unsubscribe(),this.clearToastsSubscriber&&this.clearToastsSubscriber.unsubscribe()},S([Object(i.Input)(),T("design:type",y)],e.prototype,"toasterconfig",void 0),(e=S([T("design:paramtypes",[C,i.ChangeDetectorRef,i.NgZone])],e)).ɵfac=function(t){return new(t||e)(i["ɵɵdirectiveInject"](C),i["ɵɵdirectiveInject"](i.ChangeDetectorRef),i["ɵɵdirectiveInject"](i.NgZone))},e.ɵcmp=i["ɵɵdefineComponent"]({type:e,selectors:[["toaster-container"]],inputs:{toasterconfig:"toasterconfig"},decls:6,vars:4,consts:[["id","toast-container",3,"ngClass"],["toastComp","","class","toast",3,"toast","iconClass","titleClass","messageClass","ngClass","click","clickEvent","mouseover","mouseout",4,"ngFor","ngForOf"],["toastComp","",1,"toast",3,"toast","iconClass","titleClass","messageClass","ngClass","click","clickEvent","mouseover","mouseout"]],template:function(e,t){1&e&&(i["ɵɵtext"](0,"\n "),i["ɵɵelementStart"](1,"div",0),i["ɵɵtext"](2,"\n "),i["ɵɵtemplate"](3,E,2,6,"div",1),i["ɵɵtext"](4,"\n "),i["ɵɵelementEnd"](),i["ɵɵtext"](5,"\n ")),2&e&&(i["ɵɵadvance"](1),i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](2,x,t.toasterconfig.positionClass)),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngForOf",t.toasts))},directives:[o.NgClass,o.NgForOf,m],encapsulation:2,data:{animation:[Object(g.j)("toastState",[Object(g.g)("flyRight, flyLeft, slideDown, slideUp, fade",Object(g.h)({opacity:1,transform:"translate(0,0)"})),Object(g.i)("void => flyRight",[Object(g.h)({opacity:0,transform:"translateX(100%)"}),Object(g.e)("0.25s ease-in")]),Object(g.i)("flyRight => void",[Object(g.e)("0.25s 10ms ease-out",Object(g.h)({opacity:0,transform:"translateX(100%)"}))]),Object(g.i)("void => flyLeft",[Object(g.h)({opacity:0,transform:"translateX(-100%)"}),Object(g.e)("0.25s ease-in")]),Object(g.i)("flyLeft => void",[Object(g.e)("0.25s 10ms ease-out",Object(g.h)({opacity:0,transform:"translateX(-100%)"}))]),Object(g.i)("void => slideDown",[Object(g.h)({opacity:0,transform:"translateY(-200%)"}),Object(g.e)("0.3s ease-in")]),Object(g.i)("slideDown => void",[Object(g.e)("0.3s 10ms ease-out",Object(g.h)({opacity:0,transform:"translateY(200%)"}))]),Object(g.i)("void => slideUp",[Object(g.h)({opacity:0,transform:"translateY(200%)"}),Object(g.e)("0.3s ease-in")]),Object(g.i)("slideUp => void",[Object(g.e)("0.3s 10ms ease-out",Object(g.h)({opacity:0,transform:"translateY(-200%)"}))]),Object(g.i)("void => fade",[Object(g.h)({opacity:0}),Object(g.e)("0.3s ease-in")]),Object(g.i)("fade => void",[Object(g.e)("0.3s 10ms ease-out",Object(g.h)({opacity:0}))])])]}}),e}(),I=function(){function e(){}var t;return t=e,e.forRoot=function(){return{ngModule:t,providers:[C,O]}},e.forChild=function(){return{ngModule:t,providers:[O]}},e.ɵmod=i["ɵɵdefineNgModule"]({type:e}),e.ɵinj=i["ɵɵdefineInjector"]({factory:function(t){return new(t||e)},imports:[[o.CommonModule]]}),("undefined"==typeof ngJitMode||ngJitMode)&&i["ɵɵsetNgModuleScope"](e,{declarations:function(){return[m,O]},imports:function(){return[o.CommonModule]},exports:function(){return[O,m]}}),e}();n.d(t,"ToastComponent",function(){return m}),n.d(t,"ToasterContainerComponent",function(){return O}),n.d(t,"ToasterService",function(){return C}),n.d(t,"ToasterConfig",function(){return y}),n.d(t,"BodyOutputType",function(){return r}),n.d(t,"ToasterModule",function(){return I})},,function(e,t,n){"use strict";var r;n.d(t,"a",function(){return r}),function(e){e[e.Trace=0]="Trace",e[e.Debug=1]="Debug",e[e.Information=2]="Information",e[e.Warning=3]="Warning",e[e.Error=4]="Error",e[e.Critical=5]="Critical",e[e.None=6]="None"}(r||(r={}))},,function(e,t,n){"use strict";n.r(t);var r=n(1),i=n(0),a=n(1063),o=n(714),s=n(300),l=n(160),c=n(121);var u=n(24),d=n(194);function h(e,t){void 0===t&&(t=c.a);var n,r=(n=e)instanceof Date&&!isNaN(+n)?+e-t.now():Math.abs(e);return function(e){return e.lift(new p(r,t))}}var p=function(){function e(e,t){this.delay=e,this.scheduler=t}return e.prototype.call=function(e,t){return t.subscribe(new f(e,this.delay,this.scheduler))},e}(),f=function(e){function t(t,n,r){var i=e.call(this,t)||this;return i.delay=n,i.scheduler=r,i.queue=[],i.active=!1,i.errored=!1,i}return r.c(t,e),t.dispatch=function(e){for(var t=e.source,n=t.queue,r=e.scheduler,i=e.destination;n.length>0&&n[0].time-r.now()<=0;)n.shift().notification.observe(i);if(n.length>0){var a=Math.max(0,n[0].time-r.now());this.schedule(e,a)}else this.unsubscribe(),t.active=!1},t.prototype._schedule=function(e){this.active=!0,this.destination.add(e.schedule(t.dispatch,this.delay,{source:this,destination:this.destination,scheduler:e}))},t.prototype.scheduleNotification=function(e){if(!0!==this.errored){var t=this.scheduler,n=new m(t.now()+this.delay,e);this.queue.push(n),!1===this.active&&this._schedule(t)}},t.prototype._next=function(e){this.scheduleNotification(d.a.createNext(e))},t.prototype._error=function(e){this.errored=!0,this.queue=[],this.destination.error(e),this.unsubscribe()},t.prototype._complete=function(){this.scheduleNotification(d.a.createComplete()),this.unsubscribe()},t}(u.a),m=function(){return function(e,t){this.time=e,this.notification=t}}(),g=n(3),y=n(7);n.d(t,"ANGULARTICS2_TOKEN",function(){return v}),n.d(t,"AngularRouterTracking",function(){return _}),n.d(t,"Angulartics2",function(){return w}),n.d(t,"Angulartics2Module",function(){return E}),n.d(t,"Angulartics2On",function(){return j}),n.d(t,"Angulartics2OnModule",function(){return C}),n.d(t,"DefaultConfig",function(){return b}),n.d(t,"RouterlessTracking",function(){return k});var b=function(){return function(){this.pageTracking={autoTrackVirtualPages:!0,basePath:"",excludedRoutes:[],clearIds:!1,clearHash:!1,clearQueryParams:!1,idsRegExp:/^\d+$|^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/},this.developerMode=!1,this.ga={},this.appInsights={},this.gtm={},this.gst={}}}(),v=new i.InjectionToken("ANGULARTICS2"),k=function(){function e(){}return e.prototype.trackLocation=function(e){return new a.a({url:"/"})},e.prototype.prepareExternalUrl=function(e){return e},e}(),w=function(){function e(e,t){var n=this;this.tracker=e,this.pageTrack=new o.a(10),this.eventTrack=new o.a(10),this.exceptionTrack=new o.a(10),this.setAlias=new o.a(10),this.setUsername=new o.a(10),this.setUserProperties=new o.a(10),this.setUserPropertiesOnce=new o.a(10),this.setSuperProperties=new o.a(10),this.setSuperPropertiesOnce=new o.a(10),this.userTimings=new o.a(10),this.unsetUserProperties=new o.a(10);var i=new b;this.settings=Object(r.a)(Object(r.a)({},i),t.settings),this.settings.pageTracking=Object(r.a)(Object(r.a)({},i.pageTracking),t.settings.pageTracking),this.tracker.trackLocation(this.settings).subscribe(function(e){return n.trackUrlChange(e.url)})}return e.prototype.filterDeveloperMode=function(){var e=this;return Object(s.a)(function(t,n){return!e.settings.developerMode})},e.prototype.trackUrlChange=function(e){if(this.settings.pageTracking.autoTrackVirtualPages&&!this.matchesExcludedRoute(e)){var t=this.clearUrl(e),n=void 0;n=this.settings.pageTracking.basePath.length?this.settings.pageTracking.basePath+t:this.tracker.prepareExternalUrl(t),this.pageTrack.next({path:n})}},e.prototype.matchesExcludedRoute=function(e){var t,n;try{for(var i=Object(r.h)(this.settings.pageTracking.excludedRoutes),a=i.next();!a.done;a=i.next()){var o=a.value;if(o instanceof RegExp&&o.test(e)||-1!==e.indexOf(o))return!0}}catch(s){t={error:s}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}return!1},e.prototype.clearUrl=function(e){var t=this;return this.settings.pageTracking.clearIds||this.settings.pageTracking.clearQueryParams||this.settings.pageTracking.clearHash?e.split("/").map(function(e){return t.settings.pageTracking.clearQueryParams?e.split("?")[0]:e}).map(function(e){return t.settings.pageTracking.clearHash?e.split("#")[0]:e}).filter(function(e){return!t.settings.pageTracking.clearIds||!e.match(t.settings.pageTracking.idsRegExp)}).join("/"):e},e.ctorParameters=function(){return[{type:k},{type:void 0,decorators:[{type:i.Inject,args:[v]}]}]},e.ɵprov=Object(i["ɵɵdefineInjectable"])({factory:function(){return new e(Object(i["ɵɵinject"])(k),Object(i["ɵɵinject"])(v))},token:e,providedIn:"root"}),(e=Object(r.b)([Object(r.e)(1,Object(i.Inject)(v))],e)).ɵfac=function(t){return new(t||e)(i["ɵɵinject"](k),i["ɵɵinject"](v))},e}(),_=function(){function e(e,t){this.router=e,this.location=t}return e.prototype.trackLocation=function(e){return this.router.events.pipe(Object(s.a)(function(e){return e instanceof y.NavigationEnd}),Object(s.a)(function(){return!e.developerMode}),Object(l.a)(function(e){return{url:e.urlAfterRedirects}}),h(0))},e.prototype.prepareExternalUrl=function(e){return this.location.prepareExternalUrl(e)},e.ctorParameters=function(){return[{type:y.Router},{type:g.Location}]},e.ɵprov=Object(i["ɵɵdefineInjectable"])({factory:function(){return new e(Object(i["ɵɵinject"])(y.Router),Object(i["ɵɵinject"])(g.Location))},token:e,providedIn:"root"}),e.ɵfac=function(t){return new(t||e)(i["ɵɵinject"](y.Router),i["ɵɵinject"](g.Location))},e}(),j=function(){function e(e,t,n){this.elRef=e,this.angulartics2=t,this.renderer=n,this.angularticsProperties={}}return e.prototype.ngAfterContentInit=function(){var e=this;this.renderer.listen(this.elRef.nativeElement,this.angulartics2On||"click",function(t){return e.eventTrack(t)})},e.prototype.eventTrack=function(e){var t=this.angularticsAction,n=Object(r.a)(Object(r.a)({},this.angularticsProperties),{eventType:e.type});this.angularticsCategory&&(n.category=this.angularticsCategory),this.angularticsLabel&&(n.label=this.angularticsLabel),this.angularticsValue&&(n.value=this.angularticsValue),this.angulartics2.eventTrack.next({action:t,properties:n})},e.ctorParameters=function(){return[{type:i.ElementRef},{type:w},{type:i.Renderer2}]},Object(r.b)([Object(i.Input)("angulartics2On")],e.prototype,"angulartics2On",void 0),Object(r.b)([Object(i.Input)()],e.prototype,"angularticsAction",void 0),Object(r.b)([Object(i.Input)()],e.prototype,"angularticsCategory",void 0),Object(r.b)([Object(i.Input)()],e.prototype,"angularticsLabel",void 0),Object(r.b)([Object(i.Input)()],e.prototype,"angularticsValue",void 0),Object(r.b)([Object(i.Input)()],e.prototype,"angularticsProperties",void 0),e.ɵfac=function(t){return new(t||e)(i["ɵɵdirectiveInject"](i.ElementRef),i["ɵɵdirectiveInject"](w),i["ɵɵdirectiveInject"](i.Renderer2))},e.ɵdir=i["ɵɵdefineDirective"]({type:e,selectors:[["","angulartics2On",""]],inputs:{angularticsProperties:"angularticsProperties",angulartics2On:"angulartics2On",angularticsAction:"angularticsAction",angularticsCategory:"angularticsCategory",angularticsLabel:"angularticsLabel",angularticsValue:"angularticsValue"}}),e}(),C=function(){function e(){}return e.ɵmod=i["ɵɵdefineNgModule"]({type:e}),e.ɵinj=i["ɵɵdefineInjector"]({factory:function(t){return new(t||e)}}),("undefined"==typeof ngJitMode||ngJitMode)&&i["ɵɵsetNgModuleScope"](e,{declarations:[j],exports:[j]}),e}(),E=function(){function e(){}var t;return t=e,e.forRoot=function(e){return void 0===e&&(e={}),{ngModule:t,providers:[{provide:v,useValue:{settings:e}},{provide:k,useClass:_},w]}},e.ɵmod=i["ɵɵdefineNgModule"]({type:e}),e.ɵinj=i["ɵɵdefineInjector"]({factory:function(t){return new(t||e)},imports:[[C]]}),("undefined"==typeof ngJitMode||ngJitMode)&&i["ɵɵsetNgModuleScope"](e,{imports:[C],exports:[j]}),e}()},function(e,t,n){"use strict";n.d(t,"a",function(){return a}),n.d(t,"b",function(){return r}),n.d(t,"c",function(){return i}),n.d(t,"d",function(){return p}),n.d(t,"e",function(){return s}),n.d(t,"f",function(){return l}),n.d(t,"g",function(){return u}),n.d(t,"h",function(){return c}),n.d(t,"i",function(){return d}),n.d(t,"j",function(){return o}),n.d(t,"k",function(){return f}),n.d(t,"l",function(){return m}); + */},function(e,t,n){"use strict";n.r(t);var r,i=n(0),a=n(72),o=n(4);!function(e){e[e.Default=0]="Default",e[e.TrustedHtml=1]="TrustedHtml",e[e.Component=2]="Component"}(r||(r={}));var s=["componentBody"],l=["toastComp",""];function c(e,t){1&e&&i["ɵɵelement"](0,"div",null,7)}function u(e,t){if(1&e&&i["ɵɵelement"](0,"div",8),2&e){var n=i["ɵɵnextContext"]();i["ɵɵproperty"]("innerHTML",n.safeBodyHtml,i["ɵɵsanitizeHtml"])}}function d(e,t){if(1&e&&(i["ɵɵelementStart"](0,"div"),i["ɵɵtext"](1),i["ɵɵelementEnd"]()),2&e){var n=i["ɵɵnextContext"]();i["ɵɵadvance"](1),i["ɵɵtextInterpolate"](n.toast.body)}}function h(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"div",9),i["ɵɵlistener"]("click",function(e){i["ɵɵrestoreView"](n);var t=i["ɵɵnextContext"]();return t.click(e,t.toast)}),i["ɵɵtext"](1,"\n "),i["ɵɵelementEnd"]()}if(2&e){var r=i["ɵɵnextContext"]();i["ɵɵproperty"]("innerHTML",r.safeCloseHtml,i["ɵɵsanitizeHtml"])}}var p=function(e,t,n,r){var i,a=arguments.length,o=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},f=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},m=function(){function e(e,t,n){this.sanitizer=e,this.componentFactoryResolver=t,this.changeDetectorRef=n,this.bodyOutputType=r,this.clickEvent=new i.EventEmitter}return e.prototype.ngOnInit=function(){this.toast.closeHtml&&(this.safeCloseHtml=this.sanitizer.bypassSecurityTrustHtml(this.toast.closeHtml)),this.toast.bodyOutputType===r.TrustedHtml&&(this.safeBodyHtml=this.sanitizer.bypassSecurityTrustHtml(this.toast.body))},e.prototype.ngAfterViewInit=function(){if(this.toast.bodyOutputType===this.bodyOutputType.Component){var e=this.componentFactoryResolver.resolveComponentFactory(this.toast.body);this.componentBody.createComponent(e,void 0,this.componentBody.injector).instance.toast=this.toast,this.changeDetectorRef.detectChanges()}},e.prototype.click=function(e,t){e.stopPropagation(),this.clickEvent.emit({value:{toast:t,isCloseButton:!0}})},p([Object(i.Input)(),f("design:type",Object)],e.prototype,"toast",void 0),p([Object(i.Input)(),f("design:type",String)],e.prototype,"iconClass",void 0),p([Object(i.Input)(),f("design:type",String)],e.prototype,"titleClass",void 0),p([Object(i.Input)(),f("design:type",String)],e.prototype,"messageClass",void 0),p([Object(i.ViewChild)("componentBody",{read:i.ViewContainerRef,static:!1}),f("design:type",i.ViewContainerRef)],e.prototype,"componentBody",void 0),p([Object(i.Output)(),f("design:type",Object)],e.prototype,"clickEvent",void 0),(e=p([f("design:paramtypes",[a.DomSanitizer,i.ComponentFactoryResolver,i.ChangeDetectorRef])],e)).ɵfac=function(t){return new(t||e)(i["ɵɵdirectiveInject"](a.DomSanitizer),i["ɵɵdirectiveInject"](i.ComponentFactoryResolver),i["ɵɵdirectiveInject"](i.ChangeDetectorRef))},e.ɵcmp=i["ɵɵdefineComponent"]({type:e,selectors:[["","toastComp",""]],viewQuery:function(e,t){var n;(1&e&&i["ɵɵviewQuery"](s,!0,i.ViewContainerRef),2&e)&&(i["ɵɵqueryRefresh"](n=i["ɵɵloadQuery"]())&&(t.componentBody=n.first))},inputs:{toast:"toast",iconClass:"iconClass",titleClass:"titleClass",messageClass:"messageClass"},outputs:{clickEvent:"clickEvent"},attrs:l,decls:19,vars:9,consts:[[1,"toaster-icon",3,"ngClass"],[1,"toast-content"],[3,"ngClass"],[3,"ngClass","ngSwitch"],[4,"ngSwitchCase"],[3,"innerHTML",4,"ngSwitchCase"],["class","toast-close-button",3,"innerHTML","click",4,"ngIf"],["componentBody",""],[3,"innerHTML"],[1,"toast-close-button",3,"innerHTML","click"]],template:function(e,t){1&e&&(i["ɵɵtext"](0,"\n "),i["ɵɵelement"](1,"i",0),i["ɵɵtext"](2,"\n "),i["ɵɵelementStart"](3,"div",1),i["ɵɵtext"](4,"\n "),i["ɵɵelementStart"](5,"div",2),i["ɵɵtext"](6),i["ɵɵelementEnd"](),i["ɵɵtext"](7,"\n "),i["ɵɵelementStart"](8,"div",3),i["ɵɵtext"](9,"\n "),i["ɵɵtemplate"](10,c,2,0,"div",4),i["ɵɵtext"](11,"\n "),i["ɵɵtemplate"](12,u,1,1,"div",5),i["ɵɵtext"](13,"\n "),i["ɵɵtemplate"](14,d,2,1,"div",4),i["ɵɵtext"](15,"\n "),i["ɵɵelementEnd"](),i["ɵɵtext"](16,"\n "),i["ɵɵelementEnd"](),i["ɵɵtext"](17,"\n "),i["ɵɵtemplate"](18,h,2,1,"div",6)),2&e&&(i["ɵɵadvance"](1),i["ɵɵproperty"]("ngClass",t.iconClass),i["ɵɵadvance"](4),i["ɵɵproperty"]("ngClass",t.titleClass),i["ɵɵadvance"](1),i["ɵɵtextInterpolate"](t.toast.title),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngClass",t.messageClass)("ngSwitch",t.toast.bodyOutputType),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngSwitchCase",t.bodyOutputType.Component),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngSwitchCase",t.bodyOutputType.TrustedHtml),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngSwitchCase",t.bodyOutputType.Default),i["ɵɵadvance"](4),i["ɵɵproperty"]("ngIf",t.toast.showCloseButton))},directives:[o.NgClass,o.NgSwitch,o.NgSwitchCase,o.NgIf],encapsulation:2}),e}(),g=n(13),y=function(){return function(e){e=e||{},this.limit=e.limit||null,this.tapToDismiss=null==e.tapToDismiss||e.tapToDismiss,this.showCloseButton=null!=e.showCloseButton&&e.showCloseButton,this.closeHtml=e.closeHtml||'',this.newestOnTop=null==e.newestOnTop||e.newestOnTop,this.timeout=null!=e.timeout?e.timeout:5e3,this.typeClasses=e.typeClasses||{error:"toast-error",info:"toast-info",wait:"toast-wait",success:"toast-success",warning:"toast-warning"},this.iconClasses=e.iconClasses||{error:"icon-error",info:"icon-info",wait:"icon-wait",success:"icon-success",warning:"icon-warning"},this.bodyOutputType=e.bodyOutputType||r.Default,this.bodyTemplate=e.bodyTemplate||"toasterBodyTmpl.html",this.defaultTypeClass=e.defaultTypeClass||"toast-info",this.positionClass=e.positionClass||"toast-top-right",this.titleClass=e.titleClass||"toast-title",this.messageClass=e.messageClass||"toast-message",this.animation=e.animation||"",this.preventDuplicates=null!=e.preventDuplicates&&e.preventDuplicates,this.mouseoverTimerStop=null!=e.mouseoverTimerStop&&e.mouseoverTimerStop,this.toastContainerId=null!=e.toastContainerId?e.toastContainerId:null}}(),b=n(32),v=n(148),k=n(1088),w=function(e,t,n,r){var i,a=arguments.length,o=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},_=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},j=function(){function e(){}return e.newGuid=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})},e}(),C=function(){function e(){var e=this;this.addToast=new b.a(function(t){return e._addToast=t}).pipe(Object(k.a)()),this.clearToasts=new b.a(function(t){return e._clearToasts=t}).pipe(Object(k.a)()),this._removeToastSubject=new v.a,this.removeToast=this._removeToastSubject.pipe(Object(k.a)())}return e.prototype.pop=function(e,t,n){var r="string"==typeof e?{type:e,title:t,body:n}:e;if(r.toastId||(r.toastId=j.newGuid()),!this._addToast)throw new Error("No Toaster Containers have been initialized to receive toasts.");return this._addToast.next(r),r},e.prototype.popAsync=function(e,t,n){var r=this;return setTimeout(function(){r.pop(e,t,n)},0),this.addToast},e.prototype.clear=function(e,t){var n={toastId:e,toastContainerId:t};this._clearToasts.next(n)},(e=w([_("design:paramtypes",[])],e)).ɵfac=function(t){return new(t||e)},e.ɵprov=i["ɵɵdefineInjectable"]({token:e,factory:function(t){return e.ɵfac(t)}}),e}();function E(e,t){if(1&e){var n=i["ɵɵgetCurrentView"]();i["ɵɵelementStart"](0,"div",2),i["ɵɵlistener"]("click",function(){i["ɵɵrestoreView"](n);var e=t.$implicit;return i["ɵɵnextContext"]().click(e)})("clickEvent",function(e){return i["ɵɵrestoreView"](n),i["ɵɵnextContext"]().childClick(e)})("mouseover",function(){i["ɵɵrestoreView"](n);var e=t.$implicit;return i["ɵɵnextContext"]().stopTimer(e)})("mouseout",function(){i["ɵɵrestoreView"](n);var e=t.$implicit;return i["ɵɵnextContext"]().restartTimer(e)}),i["ɵɵtext"](1,"\n "),i["ɵɵelementEnd"]()}if(2&e){var r=t.$implicit,a=i["ɵɵnextContext"]();i["ɵɵproperty"]("toast",r)("@toastState",a.toasterconfig.animation)("iconClass",a.toasterconfig.iconClasses[r.type])("titleClass",a.toasterconfig.titleClass)("messageClass",a.toasterconfig.messageClass)("ngClass",a.toasterconfig.typeClasses[r.type])}}var x=function(e){return[e]},S=function(e,t,n,r){var i,a=arguments.length,o=a<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(o=(a<3?i(o):a>3?i(t,n,o):i(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},T=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},O=function(){function e(e,t,n){this.ref=t,this.ngZone=n,this.timeoutIds=new Map,this.toasts=[],this.toasterService=e}return e.prototype.ngOnInit=function(){this.registerSubscribers(),this.isNullOrUndefined(this.toasterconfig)&&(this.toasterconfig=new y)},e.prototype.click=function(e,t){if(this.toasterconfig.tapToDismiss||e.showCloseButton&&t){var n=!0;if(e.clickHandler){if("function"!=typeof e.clickHandler)return console.log("The toast click handler is not a callable function."),!1;n=e.clickHandler(e,t)}n&&this.removeToast(e)}},e.prototype.childClick=function(e){this.click(e.value.toast,e.value.isCloseButton)},e.prototype.stopTimer=function(e){if(this.toasterconfig.mouseoverTimerStop){var t=this.toastIdOrDefault(e),n=this.timeoutIds.get(t);n&&(window.clearTimeout(n),this.timeoutIds.delete(t))}},e.prototype.restartTimer=function(e){var t=this.timeoutIds.get(this.toastIdOrDefault(e));this.toasterconfig.mouseoverTimerStop?t||this.configureTimer(e):0!==e.timeout&&!t&&this.toasterconfig.timeout&&this.removeToast(e)},e.prototype.registerSubscribers=function(){var e=this;this.addToastSubscriber=this.toasterService.addToast.subscribe(function(t){e.addToast(t)}),this.clearToastsSubscriber=this.toasterService.clearToasts.subscribe(function(t){e.clearToasts(t)})},e.prototype.addToast=function(e){if(!e.toastContainerId||!this.toasterconfig.toastContainerId||e.toastContainerId===this.toasterconfig.toastContainerId){if(e.type||(e.type=this.toasterconfig.defaultTypeClass),this.toasterconfig.preventDuplicates&&this.toasts.length>0){if(e.toastId&&this.toasts.some(function(t){return t.toastId===e.toastId}))return;if(this.toasts.some(function(t){return t.body===e.body}))return}this.isNullOrUndefined(e.showCloseButton)&&("object"==typeof this.toasterconfig.showCloseButton?e.showCloseButton=this.toasterconfig.showCloseButton[e.type]:"boolean"==typeof this.toasterconfig.showCloseButton&&(e.showCloseButton=this.toasterconfig.showCloseButton)),e.showCloseButton&&(e.closeHtml=e.closeHtml||this.toasterconfig.closeHtml),e.bodyOutputType=e.bodyOutputType||this.toasterconfig.bodyOutputType,this.configureTimer(e),this.toasterconfig.newestOnTop?(this.toasts.unshift(e),this.isLimitExceeded()&&this.toasts.pop()):(this.toasts.push(e),this.isLimitExceeded()&&this.toasts.shift()),e.onShowCallback&&e.onShowCallback(e)}},e.prototype.configureTimer=function(e){var t=this,n="number"==typeof e.timeout?e.timeout:this.toasterconfig.timeout;"object"==typeof n&&(n=n[e.type]),n>0&&this.ngZone.runOutsideAngular(function(){var r=window.setTimeout(function(){t.ngZone.run(function(){t.ref.markForCheck(),t.removeToast(e)})},n);t.timeoutIds.set(t.toastIdOrDefault(e),r)})},e.prototype.isLimitExceeded=function(){return this.toasterconfig.limit&&this.toasts.length>this.toasterconfig.limit},e.prototype.removeToast=function(e){var t=this.toasts.indexOf(e);if(!(t<0)){var n=this.toastIdOrDefault(e),r=this.timeoutIds.get(n);this.toasts.splice(t,1),r&&(window.clearTimeout(r),this.timeoutIds.delete(n)),e.onHideCallback&&e.onHideCallback(e),this.toasterService._removeToastSubject.next({toastId:n,toastContainerId:e.toastContainerId})}},e.prototype.removeAllToasts=function(){for(var e=this.toasts.length-1;e>=0;e--)this.removeToast(this.toasts[e])},e.prototype.clearToasts=function(e){var t=e.toastId,n=e.toastContainerId;this.isNullOrUndefined(n)?this.clearToastsAction(t):n===this.toasterconfig.toastContainerId&&this.clearToastsAction(t)},e.prototype.clearToastsAction=function(e){e?this.removeToast(this.toasts.filter(function(t){return t.toastId===e})[0]):this.removeAllToasts()},e.prototype.toastIdOrDefault=function(e){return e.toastId||""},e.prototype.isNullOrUndefined=function(e){return null==e},e.prototype.ngOnDestroy=function(){this.addToastSubscriber&&this.addToastSubscriber.unsubscribe(),this.clearToastsSubscriber&&this.clearToastsSubscriber.unsubscribe()},S([Object(i.Input)(),T("design:type",y)],e.prototype,"toasterconfig",void 0),(e=S([T("design:paramtypes",[C,i.ChangeDetectorRef,i.NgZone])],e)).ɵfac=function(t){return new(t||e)(i["ɵɵdirectiveInject"](C),i["ɵɵdirectiveInject"](i.ChangeDetectorRef),i["ɵɵdirectiveInject"](i.NgZone))},e.ɵcmp=i["ɵɵdefineComponent"]({type:e,selectors:[["toaster-container"]],inputs:{toasterconfig:"toasterconfig"},decls:6,vars:4,consts:[["id","toast-container",3,"ngClass"],["toastComp","","class","toast",3,"toast","iconClass","titleClass","messageClass","ngClass","click","clickEvent","mouseover","mouseout",4,"ngFor","ngForOf"],["toastComp","",1,"toast",3,"toast","iconClass","titleClass","messageClass","ngClass","click","clickEvent","mouseover","mouseout"]],template:function(e,t){1&e&&(i["ɵɵtext"](0,"\n "),i["ɵɵelementStart"](1,"div",0),i["ɵɵtext"](2,"\n "),i["ɵɵtemplate"](3,E,2,6,"div",1),i["ɵɵtext"](4,"\n "),i["ɵɵelementEnd"](),i["ɵɵtext"](5,"\n ")),2&e&&(i["ɵɵadvance"](1),i["ɵɵproperty"]("ngClass",i["ɵɵpureFunction1"](2,x,t.toasterconfig.positionClass)),i["ɵɵadvance"](2),i["ɵɵproperty"]("ngForOf",t.toasts))},directives:[o.NgClass,o.NgForOf,m],encapsulation:2,data:{animation:[Object(g.j)("toastState",[Object(g.g)("flyRight, flyLeft, slideDown, slideUp, fade",Object(g.h)({opacity:1,transform:"translate(0,0)"})),Object(g.i)("void => flyRight",[Object(g.h)({opacity:0,transform:"translateX(100%)"}),Object(g.e)("0.25s ease-in")]),Object(g.i)("flyRight => void",[Object(g.e)("0.25s 10ms ease-out",Object(g.h)({opacity:0,transform:"translateX(100%)"}))]),Object(g.i)("void => flyLeft",[Object(g.h)({opacity:0,transform:"translateX(-100%)"}),Object(g.e)("0.25s ease-in")]),Object(g.i)("flyLeft => void",[Object(g.e)("0.25s 10ms ease-out",Object(g.h)({opacity:0,transform:"translateX(-100%)"}))]),Object(g.i)("void => slideDown",[Object(g.h)({opacity:0,transform:"translateY(-200%)"}),Object(g.e)("0.3s ease-in")]),Object(g.i)("slideDown => void",[Object(g.e)("0.3s 10ms ease-out",Object(g.h)({opacity:0,transform:"translateY(200%)"}))]),Object(g.i)("void => slideUp",[Object(g.h)({opacity:0,transform:"translateY(200%)"}),Object(g.e)("0.3s ease-in")]),Object(g.i)("slideUp => void",[Object(g.e)("0.3s 10ms ease-out",Object(g.h)({opacity:0,transform:"translateY(-200%)"}))]),Object(g.i)("void => fade",[Object(g.h)({opacity:0}),Object(g.e)("0.3s ease-in")]),Object(g.i)("fade => void",[Object(g.e)("0.3s 10ms ease-out",Object(g.h)({opacity:0}))])])]}}),e}(),I=function(){function e(){}var t;return t=e,e.forRoot=function(){return{ngModule:t,providers:[C,O]}},e.forChild=function(){return{ngModule:t,providers:[O]}},e.ɵmod=i["ɵɵdefineNgModule"]({type:e}),e.ɵinj=i["ɵɵdefineInjector"]({factory:function(t){return new(t||e)},imports:[[o.CommonModule]]}),("undefined"==typeof ngJitMode||ngJitMode)&&i["ɵɵsetNgModuleScope"](e,{declarations:function(){return[m,O]},imports:function(){return[o.CommonModule]},exports:function(){return[O,m]}}),e}();n.d(t,"ToastComponent",function(){return m}),n.d(t,"ToasterContainerComponent",function(){return O}),n.d(t,"ToasterService",function(){return C}),n.d(t,"ToasterConfig",function(){return y}),n.d(t,"BodyOutputType",function(){return r}),n.d(t,"ToasterModule",function(){return I})},,function(e,t,n){"use strict";var r;n.d(t,"a",function(){return r}),function(e){e[e.Trace=0]="Trace",e[e.Debug=1]="Debug",e[e.Information=2]="Information",e[e.Warning=3]="Warning",e[e.Error=4]="Error",e[e.Critical=5]="Critical",e[e.None=6]="None"}(r||(r={}))},function(e,t,n){"use strict";n.r(t);var r=n(1),i=n(0),a=n(1089),o=n(732),s=n(308),l=n(165),c=n(123);var u=n(24),d=n(198);function h(e,t){void 0===t&&(t=c.a);var n,r=(n=e)instanceof Date&&!isNaN(+n)?+e-t.now():Math.abs(e);return function(e){return e.lift(new p(r,t))}}var p=function(){function e(e,t){this.delay=e,this.scheduler=t}return e.prototype.call=function(e,t){return t.subscribe(new f(e,this.delay,this.scheduler))},e}(),f=function(e){function t(t,n,r){var i=e.call(this,t)||this;return i.delay=n,i.scheduler=r,i.queue=[],i.active=!1,i.errored=!1,i}return r.c(t,e),t.dispatch=function(e){for(var t=e.source,n=t.queue,r=e.scheduler,i=e.destination;n.length>0&&n[0].time-r.now()<=0;)n.shift().notification.observe(i);if(n.length>0){var a=Math.max(0,n[0].time-r.now());this.schedule(e,a)}else this.unsubscribe(),t.active=!1},t.prototype._schedule=function(e){this.active=!0,this.destination.add(e.schedule(t.dispatch,this.delay,{source:this,destination:this.destination,scheduler:e}))},t.prototype.scheduleNotification=function(e){if(!0!==this.errored){var t=this.scheduler,n=new m(t.now()+this.delay,e);this.queue.push(n),!1===this.active&&this._schedule(t)}},t.prototype._next=function(e){this.scheduleNotification(d.a.createNext(e))},t.prototype._error=function(e){this.errored=!0,this.queue=[],this.destination.error(e),this.unsubscribe()},t.prototype._complete=function(){this.scheduleNotification(d.a.createComplete()),this.unsubscribe()},t}(u.a),m=function(){return function(e,t){this.time=e,this.notification=t}}(),g=n(4),y=n(8);n.d(t,"ANGULARTICS2_TOKEN",function(){return v}),n.d(t,"AngularRouterTracking",function(){return _}),n.d(t,"Angulartics2",function(){return w}),n.d(t,"Angulartics2Module",function(){return E}),n.d(t,"Angulartics2On",function(){return j}),n.d(t,"Angulartics2OnModule",function(){return C}),n.d(t,"DefaultConfig",function(){return b}),n.d(t,"RouterlessTracking",function(){return k});var b=function(){return function(){this.pageTracking={autoTrackVirtualPages:!0,basePath:"",excludedRoutes:[],clearIds:!1,clearHash:!1,clearQueryParams:!1,idsRegExp:/^\d+$|^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/},this.developerMode=!1,this.ga={},this.appInsights={},this.gtm={},this.gst={}}}(),v=new i.InjectionToken("ANGULARTICS2"),k=function(){function e(){}return e.prototype.trackLocation=function(e){return new a.a({url:"/"})},e.prototype.prepareExternalUrl=function(e){return e},e}(),w=function(){function e(e,t){var n=this;this.tracker=e,this.pageTrack=new o.a(10),this.eventTrack=new o.a(10),this.exceptionTrack=new o.a(10),this.setAlias=new o.a(10),this.setUsername=new o.a(10),this.setUserProperties=new o.a(10),this.setUserPropertiesOnce=new o.a(10),this.setSuperProperties=new o.a(10),this.setSuperPropertiesOnce=new o.a(10),this.userTimings=new o.a(10),this.unsetUserProperties=new o.a(10);var i=new b;this.settings=Object(r.a)(Object(r.a)({},i),t.settings),this.settings.pageTracking=Object(r.a)(Object(r.a)({},i.pageTracking),t.settings.pageTracking),this.tracker.trackLocation(this.settings).subscribe(function(e){return n.trackUrlChange(e.url)})}return e.prototype.filterDeveloperMode=function(){var e=this;return Object(s.a)(function(t,n){return!e.settings.developerMode})},e.prototype.trackUrlChange=function(e){if(this.settings.pageTracking.autoTrackVirtualPages&&!this.matchesExcludedRoute(e)){var t=this.clearUrl(e),n=void 0;n=this.settings.pageTracking.basePath.length?this.settings.pageTracking.basePath+t:this.tracker.prepareExternalUrl(t),this.pageTrack.next({path:n})}},e.prototype.matchesExcludedRoute=function(e){var t,n;try{for(var i=Object(r.h)(this.settings.pageTracking.excludedRoutes),a=i.next();!a.done;a=i.next()){var o=a.value;if(o instanceof RegExp&&o.test(e)||-1!==e.indexOf(o))return!0}}catch(s){t={error:s}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(t)throw t.error}}return!1},e.prototype.clearUrl=function(e){var t=this;return this.settings.pageTracking.clearIds||this.settings.pageTracking.clearQueryParams||this.settings.pageTracking.clearHash?e.split("/").map(function(e){return t.settings.pageTracking.clearQueryParams?e.split("?")[0]:e}).map(function(e){return t.settings.pageTracking.clearHash?e.split("#")[0]:e}).filter(function(e){return!t.settings.pageTracking.clearIds||!e.match(t.settings.pageTracking.idsRegExp)}).join("/"):e},e.ctorParameters=function(){return[{type:k},{type:void 0,decorators:[{type:i.Inject,args:[v]}]}]},e.ɵprov=Object(i["ɵɵdefineInjectable"])({factory:function(){return new e(Object(i["ɵɵinject"])(k),Object(i["ɵɵinject"])(v))},token:e,providedIn:"root"}),(e=Object(r.b)([Object(r.e)(1,Object(i.Inject)(v))],e)).ɵfac=function(t){return new(t||e)(i["ɵɵinject"](k),i["ɵɵinject"](v))},e}(),_=function(){function e(e,t){this.router=e,this.location=t}return e.prototype.trackLocation=function(e){return this.router.events.pipe(Object(s.a)(function(e){return e instanceof y.NavigationEnd}),Object(s.a)(function(){return!e.developerMode}),Object(l.a)(function(e){return{url:e.urlAfterRedirects}}),h(0))},e.prototype.prepareExternalUrl=function(e){return this.location.prepareExternalUrl(e)},e.ctorParameters=function(){return[{type:y.Router},{type:g.Location}]},e.ɵprov=Object(i["ɵɵdefineInjectable"])({factory:function(){return new e(Object(i["ɵɵinject"])(y.Router),Object(i["ɵɵinject"])(g.Location))},token:e,providedIn:"root"}),e.ɵfac=function(t){return new(t||e)(i["ɵɵinject"](y.Router),i["ɵɵinject"](g.Location))},e}(),j=function(){function e(e,t,n){this.elRef=e,this.angulartics2=t,this.renderer=n,this.angularticsProperties={}}return e.prototype.ngAfterContentInit=function(){var e=this;this.renderer.listen(this.elRef.nativeElement,this.angulartics2On||"click",function(t){return e.eventTrack(t)})},e.prototype.eventTrack=function(e){var t=this.angularticsAction,n=Object(r.a)(Object(r.a)({},this.angularticsProperties),{eventType:e.type});this.angularticsCategory&&(n.category=this.angularticsCategory),this.angularticsLabel&&(n.label=this.angularticsLabel),this.angularticsValue&&(n.value=this.angularticsValue),this.angulartics2.eventTrack.next({action:t,properties:n})},e.ctorParameters=function(){return[{type:i.ElementRef},{type:w},{type:i.Renderer2}]},Object(r.b)([Object(i.Input)("angulartics2On")],e.prototype,"angulartics2On",void 0),Object(r.b)([Object(i.Input)()],e.prototype,"angularticsAction",void 0),Object(r.b)([Object(i.Input)()],e.prototype,"angularticsCategory",void 0),Object(r.b)([Object(i.Input)()],e.prototype,"angularticsLabel",void 0),Object(r.b)([Object(i.Input)()],e.prototype,"angularticsValue",void 0),Object(r.b)([Object(i.Input)()],e.prototype,"angularticsProperties",void 0),e.ɵfac=function(t){return new(t||e)(i["ɵɵdirectiveInject"](i.ElementRef),i["ɵɵdirectiveInject"](w),i["ɵɵdirectiveInject"](i.Renderer2))},e.ɵdir=i["ɵɵdefineDirective"]({type:e,selectors:[["","angulartics2On",""]],inputs:{angularticsProperties:"angularticsProperties",angulartics2On:"angulartics2On",angularticsAction:"angularticsAction",angularticsCategory:"angularticsCategory",angularticsLabel:"angularticsLabel",angularticsValue:"angularticsValue"}}),e}(),C=function(){function e(){}return e.ɵmod=i["ɵɵdefineNgModule"]({type:e}),e.ɵinj=i["ɵɵdefineInjector"]({factory:function(t){return new(t||e)}}),("undefined"==typeof ngJitMode||ngJitMode)&&i["ɵɵsetNgModuleScope"](e,{declarations:[j],exports:[j]}),e}(),E=function(){function e(){}var t;return t=e,e.forRoot=function(e){return void 0===e&&(e={}),{ngModule:t,providers:[{provide:v,useValue:{settings:e}},{provide:k,useClass:_},w]}},e.ɵmod=i["ɵɵdefineNgModule"]({type:e}),e.ɵinj=i["ɵɵdefineInjector"]({factory:function(t){return new(t||e)},imports:[[C]]}),("undefined"==typeof ngJitMode||ngJitMode)&&i["ɵɵsetNgModuleScope"](e,{imports:[C],exports:[j]}),e}()},function(e,t,n){"use strict";n.d(t,"a",function(){return a}),n.d(t,"b",function(){return r}),n.d(t,"c",function(){return i}),n.d(t,"d",function(){return p}),n.d(t,"e",function(){return s}),n.d(t,"f",function(){return l}),n.d(t,"g",function(){return u}),n.d(t,"h",function(){return c}),n.d(t,"i",function(){return d}),n.d(t,"j",function(){return o}),n.d(t,"k",function(){return f}),n.d(t,"l",function(){return m}); /** * @license Angular v9.1.12 * (c) 2010-2020 Google LLC. https://angular.io/ @@ -1657,7 +1657,7 @@ function h(e){Promise.resolve(null).then(e)} * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license - */},function(e,t,n){var r=n(21);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},function(e,t,n){"use strict";n.r(t);var r=n(1),i=n(0),a=n(3),o=n(32),s=n(119),l=n(160),c=n(211),u=n(162);function d(e,t){return new o.a(function(n){var r=e.length;if(0!==r)for(var i=new Array(r),a=0,o=0,s=function(s){var l=Object(u.a)(e[s]),c=!1;n.add(l.subscribe({next:function(e){c||(c=!0,o++),i[s]=e},error:function(e){return n.error(e)},complete:function(){++a!==r&&c||(o===r&&n.next(t?t.reduce(function(e,t,n){return e[t]=i[n],e},{}):i),n.complete())}}))},l=0;l0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]-1&&this.subject.observers.splice(e,1),0===this.subject.observers.length&&this.subject.cancelCallback&&this.subject.cancelCallback().catch(function(e){})},e}(),f=function(){function e(e){this.minimumLogLevel=e,this.outputConsole=console}return e.prototype.log=function(e,t){if(e>=this.minimumLogLevel)switch(e){case r.a.Critical:case r.a.Error:this.outputConsole.error("["+(new Date).toISOString()+"] "+r.a[e]+": "+t);break;case r.a.Warning:this.outputConsole.warn("["+(new Date).toISOString()+"] "+r.a[e]+": "+t);break;case r.a.Information:this.outputConsole.info("["+(new Date).toISOString()+"] "+r.a[e]+": "+t);break;default:this.outputConsole.log("["+(new Date).toISOString()+"] "+r.a[e]+": "+t)}},e}()},function(e,t,n){var r=n(63),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},function(e,t,n){"use strict";var r=n(24);var i=n(193),a=n(215);var o=n(126),s=n(262),l=n(104);n.d(t,"a",function(){return c});var c=function(){function e(e){this._isScalar=!1,e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var o=this.operator,s=function(e,t,n){if(e){if(e instanceof r.a)return e;if(e[i.a])return e[i.a]()}return e||t||n?new r.a(e,t,n):new r.a(a.a)}(e,t,n);if(o?s.add(o.call(s,this.source)):s.add(this.source||l.a.useDeprecatedSynchronousErrorHandling&&!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),l.a.useDeprecatedSynchronousErrorHandling&&s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){l.a.useDeprecatedSynchronousErrorHandling&&(e.syncErrorThrown=!0,e.syncErrorValue=t),!function(e){for(;e;){var t=e,n=t.closed,i=t.destination,a=t.isStopped;if(n||a)return!1;e=i&&i instanceof r.a?i:null}return!0}(e)?console.warn(t):e.error(t)}},e.prototype.forEach=function(e,t){var n=this;return new(t=u(t))(function(t,r){var i;i=n.subscribe(function(t){try{e(t)}catch(n){r(n),i&&i.unsubscribe()}},r,t)})},e.prototype._subscribe=function(e){var t=this.source;return t&&t.subscribe(e)},e.prototype[o.a]=function(){return this},e.prototype.pipe=function(){for(var e=[],t=0;t15?(i=Date.now(),l(e)):(n.push(e),1===n.length&&o.setAttribute("a",a=!a))}}s.nextTick=s.setImmediate}(),s.isNodejs=void 0!==t&&t.versions&&t.versions.node,s.isArray=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},s.isArrayBuffer=function(e){return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer},s.isArrayBufferView=function(e){return e&&s.isArrayBuffer(e.buffer)&&void 0!==e.byteLength},s.ByteBuffer=c,s.ByteStringBuffer=c;s.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>4096&&(this.data.substr(0,1),this._constructedStringLength=0)},s.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read},s.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0},s.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))},s.ByteStringBuffer.prototype.fillWithByte=function(e,t){e=String.fromCharCode(e);for(var n=this.data;t>0;)1&t&&(n+=e),(t>>>=1)>0&&(e+=e);return this.data=n,this._optimizeConstructedString(t),this},s.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this},s.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(s.encodeUtf8(e))},s.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},s.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},s.ByteStringBuffer.prototype.putInt32=function(e){return this.putBytes(String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},s.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255))},s.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))},s.ByteStringBuffer.prototype.putInt32Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>24&255))},s.ByteStringBuffer.prototype.putInt=function(e,t){l(t);var n="";do{t-=8,n+=String.fromCharCode(e>>t&255)}while(t>0);return this.putBytes(n)},s.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<0);return t},s.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),n=2<=n&&(t-=n<<1),t},s.ByteStringBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):0===e?t="":(t=0===this.read?this.data:this.data.slice(this.read),this.clear()),t},s.ByteStringBuffer.prototype.bytes=function(e){return void 0===e?this.data.slice(this.read):this.data.slice(this.read,this.read+e)},s.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)},s.ByteStringBuffer.prototype.setAt=function(e,t){return this.data=this.data.substr(0,this.read+e)+String.fromCharCode(t)+this.data.substr(this.read+e+1),this},s.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)},s.ByteStringBuffer.prototype.copy=function(){var e=s.createBuffer(this.data);return e.read=this.read,e},s.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this},s.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this},s.ByteStringBuffer.prototype.truncate=function(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this},s.ByteStringBuffer.prototype.toHex=function(){for(var e="",t=this.read;t=e)return this;t=Math.max(t||this.growSize,e);var n=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),r=new Uint8Array(this.length()+t);return r.set(n),this.data=new DataView(r.buffer),this},s.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this},s.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var n=0;n>8&65535),this.data.setInt8(this.write,e>>16&255),this.write+=3,this},s.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this},s.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this},s.DataBuffer.prototype.putInt24Le=function(e){return this.accommodate(3),this.data.setInt8(this.write,e>>16&255),this.data.setInt16(this.write,e>>8&65535,!0),this.write+=3,this},s.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this},s.DataBuffer.prototype.putInt=function(e,t){l(t),this.accommodate(t/8);do{t-=8,this.data.setInt8(this.write++,e>>t&255)}while(t>0);return this},s.DataBuffer.prototype.putSignedInt=function(e,t){return l(t),this.accommodate(t/8),e<0&&(e+=2<0);return t},s.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),n=2<=n&&(t-=n<<1),t},s.DataBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):0===e?t="":(t=0===this.read?this.data:this.data.slice(this.read),this.clear()),t},s.DataBuffer.prototype.bytes=function(e){return void 0===e?this.data.slice(this.read):this.data.slice(this.read,this.read+e)},s.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)},s.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this},s.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)},s.DataBuffer.prototype.copy=function(){return new s.DataBuffer(this)},s.DataBuffer.prototype.compact=function(){if(this.read>0){var e=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(e.byteLength);t.set(e),this.data=new DataView(t),this.write-=this.read,this.read=0}return this},s.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this},s.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this},s.DataBuffer.prototype.toHex=function(){for(var e="",t=this.read;t0;)1&t&&(n+=e),(t>>>=1)>0&&(e+=e);return n},s.xorBytes=function(e,t,n){for(var r="",i="",a="",o=0,s=0;n>0;--n,++o)i=e.charCodeAt(o)^t.charCodeAt(o),s>=10&&(r+=a,a="",s=0),a+=String.fromCharCode(i),++s;return r+=a},s.hexToBytes=function(e){var t="",n=0;for(!0&e.length&&(n=1,t+=String.fromCharCode(parseInt(e[0],16)));n>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e)};var u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",d=[62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,64,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],h="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";s.encode64=function(e,t){for(var n,r,i,a="",o="",s=0;s>2),a+=u.charAt((3&n)<<4|r>>4),isNaN(r)?a+="==":(a+=u.charAt((15&r)<<2|i>>6),a+=isNaN(i)?"=":u.charAt(63&i)),t&&a.length>t&&(o+=a.substr(0,t)+"\r\n",a=a.substr(t));return o+=a},s.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t,n,r,i,a="",o=0;o>4),64!==r&&(a+=String.fromCharCode((15&n)<<4|r>>2),64!==i&&(a+=String.fromCharCode((3&r)<<6|i)));return a},s.encodeUtf8=function(e){return unescape(encodeURIComponent(e))},s.decodeUtf8=function(e){return decodeURIComponent(escape(e))},s.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:o.encode,decode:o.decode}},s.binary.raw.encode=function(e){return String.fromCharCode.apply(null,e)},s.binary.raw.decode=function(e,t,n){var r=t;r||(r=new Uint8Array(e.length));for(var i=n=n||0,a=0;a>2),a+=u.charAt((3&n)<<4|r>>4),isNaN(r)?a+="==":(a+=u.charAt((15&r)<<2|i>>6),a+=isNaN(i)?"=":u.charAt(63&i)),t&&a.length>t&&(o+=a.substr(0,t)+"\r\n",a=a.substr(t));return o+=a},s.binary.base64.decode=function(e,t,n){var r,i,a,o,s=t;s||(s=new Uint8Array(3*Math.ceil(e.length/4))),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var l=0,c=n=n||0;l>4,64!==a&&(s[c++]=(15&i)<<4|a>>2,64!==o&&(s[c++]=(3&a)<<6|o));return t?c-n:s.subarray(0,c)},s.binary.base58.encode=function(e,t){return s.binary.baseN.encode(e,h,t)},s.binary.base58.decode=function(e,t){return s.binary.baseN.decode(e,h,t)},s.text={utf8:{},utf16:{}},s.text.utf8.encode=function(e,t,n){e=s.encodeUtf8(e);var r=t;r||(r=new Uint8Array(e.length));for(var i=n=n||0,a=0;a0?(i=n[r].substring(0,o),a=n[r].substring(o+1)):(i=n[r],a=null),i in t||(t[i]=[]),i in Object.prototype||null===a||t[i].push(unescape(a))}return t};return void 0===e?(null===k&&(k="undefined"!=typeof window&&window.location&&window.location.search?n(window.location.search.substring(1)):{}),t=k):t=n(e),t},s.parseFragment=function(e){var t=e,n="",r=e.indexOf("?");r>0&&(t=e.substring(0,r),n=e.substring(r+1));var i=t.split("/");return i.length>0&&""===i[0]&&i.shift(),{pathString:t,queryString:n,path:i,query:""===n?{}:s.getQueryVariables(n)}},s.makeRequest=function(e){var t=s.parseFragment(e),n={path:t.pathString,query:t.queryString,getPath:function(e){return void 0===e?t.path:t.path[e]},getQuery:function(e,n){var r;return void 0===e?r=t.query:(r=t.query[e])&&void 0!==n&&(r=r[n]),r},getQueryLast:function(e,t){var r=n.getQuery(e);return r?r[r.length-1]:t}};return n},s.makeLink=function(e,t,n){e=jQuery.isArray(e)?e.join("/"):e;var r=jQuery.param(t||{});return n=n||"",e+(r.length>0?"?"+r:"")+(n.length>0?"#"+n:"")},s.setPath=function(e,t,n){if("object"==typeof e&&null!==e)for(var r=0,i=t.length;r0&&a.push(n),o=r.lastIndex;var s=t[0][1];switch(s){case"s":case"o":i");break;case"%":a.push("%");break;default:a.push("<%"+s+"?>")}}return a.push(e.substring(o)),a.join("")},s.formatNumber=function(e,t,n,r){var i=e,a=isNaN(t=Math.abs(t))?2:t,o=void 0===n?",":n,s=void 0===r?".":r,l=i<0?"-":"",c=parseInt(i=Math.abs(+i||0).toFixed(a),10)+"",u=c.length>3?c.length%3:0;return l+(u?c.substr(0,u)+s:"")+c.substr(u).replace(/(\d{3})(?=\d)/g,"$1"+s)+(a?o+Math.abs(i-c).toFixed(a).slice(2):"")},s.formatSize=function(e){return e=e>=1073741824?s.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?s.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?s.formatNumber(e/1024,0)+" KiB":s.formatNumber(e,0)+" bytes"},s.bytesFromIP=function(e){return-1!==e.indexOf(".")?s.bytesFromIPv4(e):-1!==e.indexOf(":")?s.bytesFromIPv6(e):null},s.bytesFromIPv4=function(e){if(4!==(e=e.split(".")).length)return null;for(var t=s.createBuffer(),n=0;nn[r].end-n[r].start&&(r=n.length-1)):n.push({start:l,end:l})}t.push(a)}if(n.length>0){var c=n[r];c.end-c.start>0&&(t.splice(c.start,c.end-c.start+1,""),0===c.start&&t.unshift(""),7===c.end&&t.push(""))}return t.join(":")},s.estimateCores=function(e,t){if("function"==typeof e&&(t=e,e={}),e=e||{},"cores"in s&&!e.update)return t(null,s.cores);if("undefined"!=typeof navigator&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return s.cores=navigator.hardwareConcurrency,t(null,s.cores);if("undefined"==typeof Worker)return s.cores=1,t(null,s.cores);if("undefined"==typeof Blob)return s.cores=2,t(null,s.cores);var n=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(e){for(var t=Date.now(),n=t+4;Date.now()s.st&&i.sti.st&&s.st=200&&i.status<300?n(new o.b(i.status,i.statusText,i.response||i.responseText)):r(new a.b(i.statusText,i.status))},i.onerror=function(){t.logger.log(l.a.Warning,"Error from HTTP request. "+i.status+": "+i.statusText+"."),r(new a.b(i.statusText,i.status))},i.ontimeout=function(){t.logger.log(l.a.Warning,"Timeout from HTTP request."),r(new a.c)},i.send(e.content||"")}):Promise.reject(new Error("No url defined.")):Promise.reject(new Error("No method defined."))},t}(o.a),d=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),h=function(e){function t(t){var n=e.call(this)||this;return"undefined"!=typeof XMLHttpRequest?n.httpClient=new u(t):n.httpClient=new s.a(t),n}return d(t,e),t.prototype.send=function(e){return e.abortSignal&&e.abortSignal.aborted?Promise.reject(new a.a):e.method?e.url?this.httpClient.send(e):Promise.reject(new Error("No url defined.")):Promise.reject(new Error("No method defined."))},t.prototype.getCookieString=function(e){return this.httpClient.getCookieString(e)},t}(o.a),p=n(713);!function(e){e[e.Invocation=1]="Invocation",e[e.StreamItem=2]="StreamItem",e[e.Completion=3]="Completion",e[e.StreamInvocation=4]="StreamInvocation",e[e.CancelInvocation=5]="CancelInvocation",e[e.Ping=6]="Ping",e[e.Close=7]="Close"}(i||(i={}));var f,m=n(30),g=function(){function e(){this.observers=[]}return e.prototype.next=function(e){for(var t=0,n=this.observers;t0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0?[2,Promise.reject(new Error("Unable to connect to the server with any of the available transports. "+a.join(" ")))]:[2,Promise.reject(new Error("None of the transports supported by the client are supported by the server."))]}})})},e.prototype.constructTransport=function(e){switch(e){case w.WebSockets:if(!this.options.WebSocket)throw new Error("'WebSocket' is not supported in your environment.");return new P(this.httpClient,this.accessTokenFactory,this.logger,this.options.logMessageContent||!1,this.options.WebSocket);case w.ServerSentEvents:if(!this.options.EventSource)throw new Error("'EventSource' is not supported in your environment.");return new D(this.httpClient,this.accessTokenFactory,this.logger,this.options.logMessageContent||!1,this.options.EventSource);case w.LongPolling:return new O(this.httpClient,this.accessTokenFactory,this.logger,this.options.logMessageContent||!1);default:throw new Error("Unknown transport: "+e+".")}},e.prototype.startTransport=function(e,t){var n=this;return this.transport.onreceive=this.onreceive,this.transport.onclose=function(e){return n.stopConnection(e)},this.transport.connect(e,t)},e.prototype.resolveTransportOrError=function(e,t,n){var r=w[e.transport];if(null==r)return this.logger.log(l.a.Debug,"Skipping transport '"+e.transport+"' because it is not supported by this client."),new Error("Skipping transport '"+e.transport+"' because it is not supported by this client.");if(!function(e,t){return!e||0!=(t&e)}(t,r))return this.logger.log(l.a.Debug,"Skipping transport '"+w[r]+"' because it was disabled by the client."),new Error("'"+w[r]+"' is disabled by the client.");if(!(e.transferFormats.map(function(e){return _[e]}).indexOf(n)>=0))return this.logger.log(l.a.Debug,"Skipping transport '"+w[r]+"' because it does not support the requested transfer format '"+_[n]+"'."),new Error("'"+w[r]+"' does not support "+_[n]+".");if(r===w.WebSockets&&!this.options.WebSocket||r===w.ServerSentEvents&&!this.options.EventSource)return this.logger.log(l.a.Debug,"Skipping transport '"+w[r]+"' because it is not supported in your environment.'"),new Error("'"+w[r]+"' is not supported in your environment.");this.logger.log(l.a.Debug,"Selecting transport '"+w[r]+"'.");try{return this.constructTransport(r)}catch(i){return i}},e.prototype.isITransport=function(e){return e&&"object"==typeof e&&"connect"in e},e.prototype.stopConnection=function(e){if(this.logger.log(l.a.Debug,"HttpConnection.stopConnection("+e+") called while in state "+this.connectionState+"."),this.transport=void 0,e=this.stopError||e,this.stopError=void 0,"Disconnected"!==this.connectionState)if("Connecting "!==this.connectionState){if("Disconnecting"===this.connectionState&&this.stopPromiseResolver(),e?this.logger.log(l.a.Error,"Connection disconnected with error '"+e+"'."):this.logger.log(l.a.Information,"Connection disconnected."),this.connectionId=void 0,this.connectionState="Disconnected",this.onclose&&this.connectionStarted){this.connectionStarted=!1;try{this.onclose(e)}catch(t){this.logger.log(l.a.Error,"HttpConnection.onclose("+e+") threw error '"+t+"'.")}}}else this.logger.log(l.a.Warning,"Call to HttpConnection.stopConnection("+e+") was ignored because the connection hasn't yet left the in the connecting state.");else this.logger.log(l.a.Debug,"Call to HttpConnection.stopConnection("+e+") was ignored because the connection is already in the disconnected state.")},e.prototype.resolveUrl=function(e){if(0===e.lastIndexOf("https://",0)||0===e.lastIndexOf("http://",0))return e;if(!m.c.isBrowser||!window.document)throw new Error("Cannot resolve '"+e+"'.");var t=window.document.createElement("a");return t.href=e,this.logger.log(l.a.Information,"Normalizing '"+e+"' to '"+t.href+"'."),t.href},e.prototype.resolveNegotiateUrl=function(e){var t=e.indexOf("?"),n=e.substring(0,-1===t?e.length:t);return"/"!==n[n.length-1]&&(n+="/"),n+="negotiate",-1===(n+=-1===t?"":e.substring(t)).indexOf("negotiateVersion")&&(n+=-1===t?"?":"&",n+="negotiateVersion="+this.negotiateVersion),n},e}();var V=function(){function e(e){this.transport=e,this.buffer=[],this.executing=!0,this.sendBufferedData=new U,this.transportResult=new U,this.sendLoopPromise=this.sendLoop()}return e.prototype.send=function(e){return this.bufferData(e),this.transportResult||(this.transportResult=new U),this.transportResult.promise},e.prototype.stop=function(){return this.executing=!1,this.sendBufferedData.resolve(),this.sendLoopPromise},e.prototype.bufferData=function(e){if(this.buffer.length&&typeof this.buffer[0]!=typeof e)throw new Error("Expected data to be of type "+typeof this.buffer+" but was of type "+typeof e);this.buffer.push(e),this.sendBufferedData.resolve()},e.prototype.sendLoop=function(){return R(this,void 0,void 0,function(){var t,n,r;return M(this,function(i){switch(i.label){case 0:return[4,this.sendBufferedData.promise];case 1:if(i.sent(),!this.executing)return this.transportResult&&this.transportResult.reject("Connection stopped."),[3,6];this.sendBufferedData=new U,t=this.transportResult,this.transportResult=void 0,n="string"==typeof this.buffer[0]?this.buffer.join(""):e.concatBuffers(this.buffer),this.buffer.length=0,i.label=2;case 2:return i.trys.push([2,4,,5]),[4,this.transport.send(n)];case 3:return i.sent(),t.resolve(),[3,5];case 4:return r=i.sent(),t.reject(r),[3,5];case 5:return[3,0];case 6:return[2]}})})},e.concatBuffers=function(e){for(var t=e.map(function(e){return e.byteLength}).reduce(function(e,t){return e+t}),n=new Uint8Array(t),r=0,i=0,a=e;i"+i+""};e.exports=function(e,t){var n={};n[e]=t(s),r(r.P+r.F*i(function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3}),"String",n)}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(19),i=n(55),a=n(49),o=n(88)("src"),s=Function.toString,l=(""+s).split("toString");n(54).inspectSource=function(e){return s.call(e)},(e.exports=function(e,t,n,s){var c="function"==typeof n;c&&(a(n,"name")||i(n,"name",t)),e[t]!==n&&(c&&(a(n,o)||i(n,o,e[t]?""+e[t]:l.join(String(t)))),e===r?e[t]=n:s?e[t]?e[t]=n:i(e,t,n):(delete e[t],i(e,t,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[o]||s.call(this)})},function(e,t,n){var r=n(113),i=n(75);e.exports=function(e){return r(i(e))}},,function(e,t,n){"use strict";var r=n(119),i=n(211),a=n(143),o=function(){function e(e){return Error.call(this),this.message=e?e.length+" errors occurred during unsubscription:\n"+e.map(function(e,t){return t+1+") "+e.toString()}).join("\n "):"",this.name="UnsubscriptionError",this.errors=e,this}return e.prototype=Object.create(Error.prototype),e}();n.d(t,"a",function(){return s});var s=function(){function e(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}var t;return e.prototype.unsubscribe=function(){var t;if(!this.closed){var n=this._parentOrParents,s=this._ctorUnsubscribe,c=this._unsubscribe,u=this._subscriptions;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,n instanceof e)n.remove(this);else if(null!==n)for(var d=0;d0?r:n)(e)}},,function(e,t,n){"use strict";(function(e){n.d(t,"a",function(){return x}),n.d(t,"b",function(){return Je}),n.d(t,"c",function(){return je}),n.d(t,"d",function(){return mt}),n.d(t,"e",function(){return E}),n.d(t,"f",function(){return yt}),n.d(t,"g",function(){return Ce}),n.d(t,"h",function(){return bt});var r=n(1),i=n(13),a=n(0);function o(){return void 0!==e&&"[object process]"==={}.toString.call(e)}function s(e){switch(e.length){case 0:return new i.d;case 1:return e[0];default:return new i.k(e)}}function l(e,t,n,r,a,o){void 0===a&&(a={}),void 0===o&&(o={});var s=[],l=[],c=-1,u=null;if(r.forEach(function(e){var n=e.offset,r=n==c,d=r&&u||{};Object.keys(e).forEach(function(n){var r=n,l=e[n];if("offset"!==n)switch(r=t.normalizePropertyName(r,s),l){case i.l:l=a[n];break;case i.a:l=o[n];break;default:l=t.normalizeStyleValue(n,r,l,s)}d[r]=l}),r||l.push(d),u=d,c=n}),s.length){throw new Error("Unable to animate due to the following errors:\n - "+s.join("\n - "))}return l}function c(e,t,n,r){switch(t){case"start":e.onStart(function(){return r(n&&u(n,"start",e))});break;case"done":e.onDone(function(){return r(n&&u(n,"done",e))});break;case"destroy":e.onDestroy(function(){return r(n&&u(n,"destroy",e))})}}function u(e,t,n){var r=n.totalTime,i=!!n.disabled,a=d(e.element,e.triggerName,e.fromState,e.toState,t||e.phaseName,null==r?e.totalTime:r,i),o=e._data;return null!=o&&(a._data=o),a}function d(e,t,n,r,i,a,o){return void 0===i&&(i=""),void 0===a&&(a=0),{element:e,triggerName:t,fromState:n,toState:r,phaseName:i,totalTime:a,disabled:!!o}}function h(e,t,n){var r;return e instanceof Map?(r=e.get(t))||e.set(t,r=n):(r=e[t])||(r=e[t]=n),r}function p(e){var t=e.indexOf(":");return[e.substring(1,t),e.substr(t+1)]}var f=function(e,t){return!1},m=function(e,t){return!1},g=function(e,t,n){return[]},y=o();(y||"undefined"!=typeof Element)&&(f=function(e,t){return e.contains(t)},m=function(){if(y||Element.prototype.matches)return function(e,t){return e.matches(t)};var e=Element.prototype,t=e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;return t?function(e,n){return t.apply(e,[n])}:m}(),g=function(e,t,n){var i=[];if(n)i.push.apply(i,Object(r.g)(e.querySelectorAll(t)));else{var a=e.querySelector(t);a&&i.push(a)}return i});var b=null,v=!1;function k(e){b||(b=function(){if("undefined"!=typeof document)return document.body;return null}()||{},v=!!b.style&&"WebkitAppearance"in b.style);var t=!0;b.style&&!function(e){return"ebkit"==e.substring(1,6)}(e)&&(!(t=e in b.style)&&v&&(t="Webkit"+e.charAt(0).toUpperCase()+e.substr(1)in b.style));return t}var w=m,_=f,j=g;function C(e){var t={};return Object.keys(e).forEach(function(n){var r=n.replace(/([a-z])([A-Z])/g,"$1-$2");t[r]=e[n]}),t}var E=function(){function e(){}return e.prototype.validateStyleProperty=function(e){return k(e)},e.prototype.matchesElement=function(e,t){return w(e,t)},e.prototype.containsElement=function(e,t){return _(e,t)},e.prototype.query=function(e,t,n){return j(e,t,n)},e.prototype.computeStyle=function(e,t,n){return n||""},e.prototype.animate=function(e,t,n,r,a,o,s){return void 0===o&&(o=[]),new i.d(n,r)},e.ɵfac=function(t){return new(t||e)},e.ɵprov=a["ɵɵdefineInjectable"]({token:e,factory:function(t){return e.ɵfac(t)}}),e}(),x=function(){function e(){}return e.NOOP=new E,e}(),S=1e3,T=".ng-trigger",O=".ng-animating";function I(e){if("number"==typeof e)return e;var t=e.match(/^(-?[\.\d]+)(m?s)/);return!t||t.length<2?0:z(parseFloat(t[1]),t[2])}function z(e,t){switch(t){case"s":return e*S;default:return e}}function D(e,t,n){return e.hasOwnProperty("duration")?e:function(e,t,n){var r,i=0,a="";if("string"==typeof e){var o=e.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===o)return t.push('The provided timing value "'+e+'" is invalid.'),{duration:0,delay:0,easing:""};r=z(parseFloat(o[1]),o[2]);var s=o[3];null!=s&&(i=z(parseFloat(s),o[4]));var l=o[5];l&&(a=l)}else r=e;if(!n){var c=!1,u=t.length;r<0&&(t.push("Duration values below 0 are not allowed for this animation step."),c=!0),i<0&&(t.push("Delay values below 0 are not allowed for this animation step."),c=!0),c&&t.splice(u,0,'The provided timing value "'+e+'" is invalid.')}return{duration:r,delay:i,easing:a}}(e,t,n)}function A(e,t){return void 0===t&&(t={}),Object.keys(e).forEach(function(n){t[n]=e[n]}),t}function N(e){var t={};return Array.isArray(e)?e.forEach(function(e){return P(e,!1,t)}):P(e,!1,t),t}function P(e,t,n){if(void 0===n&&(n={}),t)for(var r in e)n[r]=e[r];else A(e,n);return n}function R(e,t,n){return n?t+":"+n+";":""}function M(e){for(var t="",n=0;n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]-1&&this.subject.observers.splice(e,1),0===this.subject.observers.length&&this.subject.cancelCallback&&this.subject.cancelCallback().catch(function(e){})},e}(),f=function(){function e(e){this.minimumLogLevel=e,this.outputConsole=console}return e.prototype.log=function(e,t){if(e>=this.minimumLogLevel)switch(e){case r.a.Critical:case r.a.Error:this.outputConsole.error("["+(new Date).toISOString()+"] "+r.a[e]+": "+t);break;case r.a.Warning:this.outputConsole.warn("["+(new Date).toISOString()+"] "+r.a[e]+": "+t);break;case r.a.Information:this.outputConsole.info("["+(new Date).toISOString()+"] "+r.a[e]+": "+t);break;default:this.outputConsole.log("["+(new Date).toISOString()+"] "+r.a[e]+": "+t)}},e}()},function(e,t,n){var r=n(65),i=Math.min;e.exports=function(e){return e>0?i(r(e),9007199254740991):0}},function(e,t,n){"use strict";var r=n(24);var i=n(197),a=n(217);var o=n(130),s=n(265),l=n(107);n.d(t,"a",function(){return c});var c=function(){function e(e){this._isScalar=!1,e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var o=this.operator,s=function(e,t,n){if(e){if(e instanceof r.a)return e;if(e[i.a])return e[i.a]()}return e||t||n?new r.a(e,t,n):new r.a(a.a)}(e,t,n);if(o?s.add(o.call(s,this.source)):s.add(this.source||l.a.useDeprecatedSynchronousErrorHandling&&!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),l.a.useDeprecatedSynchronousErrorHandling&&s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){l.a.useDeprecatedSynchronousErrorHandling&&(e.syncErrorThrown=!0,e.syncErrorValue=t),!function(e){for(;e;){var t=e,n=t.closed,i=t.destination,a=t.isStopped;if(n||a)return!1;e=i&&i instanceof r.a?i:null}return!0}(e)?console.warn(t):e.error(t)}},e.prototype.forEach=function(e,t){var n=this;return new(t=u(t))(function(t,r){var i;i=n.subscribe(function(t){try{e(t)}catch(n){r(n),i&&i.unsubscribe()}},r,t)})},e.prototype._subscribe=function(e){var t=this.source;return t&&t.subscribe(e)},e.prototype[o.a]=function(){return this},e.prototype.pipe=function(){for(var e=[],t=0;t15?(i=Date.now(),l(e)):(n.push(e),1===n.length&&o.setAttribute("a",a=!a))}}s.nextTick=s.setImmediate}(),s.isNodejs=void 0!==t&&t.versions&&t.versions.node,s.isArray=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},s.isArrayBuffer=function(e){return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer},s.isArrayBufferView=function(e){return e&&s.isArrayBuffer(e.buffer)&&void 0!==e.byteLength},s.ByteBuffer=c,s.ByteStringBuffer=c;s.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>4096&&(this.data.substr(0,1),this._constructedStringLength=0)},s.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read},s.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0},s.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))},s.ByteStringBuffer.prototype.fillWithByte=function(e,t){e=String.fromCharCode(e);for(var n=this.data;t>0;)1&t&&(n+=e),(t>>>=1)>0&&(e+=e);return this.data=n,this._optimizeConstructedString(t),this},s.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this},s.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(s.encodeUtf8(e))},s.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},s.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},s.ByteStringBuffer.prototype.putInt32=function(e){return this.putBytes(String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e))},s.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255))},s.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))},s.ByteStringBuffer.prototype.putInt32Le=function(e){return this.putBytes(String.fromCharCode(255&e)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>24&255))},s.ByteStringBuffer.prototype.putInt=function(e,t){l(t);var n="";do{t-=8,n+=String.fromCharCode(e>>t&255)}while(t>0);return this.putBytes(n)},s.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<0);return t},s.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),n=2<=n&&(t-=n<<1),t},s.ByteStringBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):0===e?t="":(t=0===this.read?this.data:this.data.slice(this.read),this.clear()),t},s.ByteStringBuffer.prototype.bytes=function(e){return void 0===e?this.data.slice(this.read):this.data.slice(this.read,this.read+e)},s.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)},s.ByteStringBuffer.prototype.setAt=function(e,t){return this.data=this.data.substr(0,this.read+e)+String.fromCharCode(t)+this.data.substr(this.read+e+1),this},s.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)},s.ByteStringBuffer.prototype.copy=function(){var e=s.createBuffer(this.data);return e.read=this.read,e},s.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this},s.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this},s.ByteStringBuffer.prototype.truncate=function(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this},s.ByteStringBuffer.prototype.toHex=function(){for(var e="",t=this.read;t=e)return this;t=Math.max(t||this.growSize,e);var n=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),r=new Uint8Array(this.length()+t);return r.set(n),this.data=new DataView(r.buffer),this},s.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this},s.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var n=0;n>8&65535),this.data.setInt8(this.write,e>>16&255),this.write+=3,this},s.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this},s.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this},s.DataBuffer.prototype.putInt24Le=function(e){return this.accommodate(3),this.data.setInt8(this.write,e>>16&255),this.data.setInt16(this.write,e>>8&65535,!0),this.write+=3,this},s.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this},s.DataBuffer.prototype.putInt=function(e,t){l(t),this.accommodate(t/8);do{t-=8,this.data.setInt8(this.write++,e>>t&255)}while(t>0);return this},s.DataBuffer.prototype.putSignedInt=function(e,t){return l(t),this.accommodate(t/8),e<0&&(e+=2<0);return t},s.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),n=2<=n&&(t-=n<<1),t},s.DataBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):0===e?t="":(t=0===this.read?this.data:this.data.slice(this.read),this.clear()),t},s.DataBuffer.prototype.bytes=function(e){return void 0===e?this.data.slice(this.read):this.data.slice(this.read,this.read+e)},s.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)},s.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this},s.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)},s.DataBuffer.prototype.copy=function(){return new s.DataBuffer(this)},s.DataBuffer.prototype.compact=function(){if(this.read>0){var e=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(e.byteLength);t.set(e),this.data=new DataView(t),this.write-=this.read,this.read=0}return this},s.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this},s.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this},s.DataBuffer.prototype.toHex=function(){for(var e="",t=this.read;t0;)1&t&&(n+=e),(t>>>=1)>0&&(e+=e);return n},s.xorBytes=function(e,t,n){for(var r="",i="",a="",o=0,s=0;n>0;--n,++o)i=e.charCodeAt(o)^t.charCodeAt(o),s>=10&&(r+=a,a="",s=0),a+=String.fromCharCode(i),++s;return r+=a},s.hexToBytes=function(e){var t="",n=0;for(!0&e.length&&(n=1,t+=String.fromCharCode(parseInt(e[0],16)));n>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(255&e)};var u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",d=[62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,64,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],h="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";s.encode64=function(e,t){for(var n,r,i,a="",o="",s=0;s>2),a+=u.charAt((3&n)<<4|r>>4),isNaN(r)?a+="==":(a+=u.charAt((15&r)<<2|i>>6),a+=isNaN(i)?"=":u.charAt(63&i)),t&&a.length>t&&(o+=a.substr(0,t)+"\r\n",a=a.substr(t));return o+=a},s.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t,n,r,i,a="",o=0;o>4),64!==r&&(a+=String.fromCharCode((15&n)<<4|r>>2),64!==i&&(a+=String.fromCharCode((3&r)<<6|i)));return a},s.encodeUtf8=function(e){return unescape(encodeURIComponent(e))},s.decodeUtf8=function(e){return decodeURIComponent(escape(e))},s.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:o.encode,decode:o.decode}},s.binary.raw.encode=function(e){return String.fromCharCode.apply(null,e)},s.binary.raw.decode=function(e,t,n){var r=t;r||(r=new Uint8Array(e.length));for(var i=n=n||0,a=0;a>2),a+=u.charAt((3&n)<<4|r>>4),isNaN(r)?a+="==":(a+=u.charAt((15&r)<<2|i>>6),a+=isNaN(i)?"=":u.charAt(63&i)),t&&a.length>t&&(o+=a.substr(0,t)+"\r\n",a=a.substr(t));return o+=a},s.binary.base64.decode=function(e,t,n){var r,i,a,o,s=t;s||(s=new Uint8Array(3*Math.ceil(e.length/4))),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var l=0,c=n=n||0;l>4,64!==a&&(s[c++]=(15&i)<<4|a>>2,64!==o&&(s[c++]=(3&a)<<6|o));return t?c-n:s.subarray(0,c)},s.binary.base58.encode=function(e,t){return s.binary.baseN.encode(e,h,t)},s.binary.base58.decode=function(e,t){return s.binary.baseN.decode(e,h,t)},s.text={utf8:{},utf16:{}},s.text.utf8.encode=function(e,t,n){e=s.encodeUtf8(e);var r=t;r||(r=new Uint8Array(e.length));for(var i=n=n||0,a=0;a0?(i=n[r].substring(0,o),a=n[r].substring(o+1)):(i=n[r],a=null),i in t||(t[i]=[]),i in Object.prototype||null===a||t[i].push(unescape(a))}return t};return void 0===e?(null===k&&(k="undefined"!=typeof window&&window.location&&window.location.search?n(window.location.search.substring(1)):{}),t=k):t=n(e),t},s.parseFragment=function(e){var t=e,n="",r=e.indexOf("?");r>0&&(t=e.substring(0,r),n=e.substring(r+1));var i=t.split("/");return i.length>0&&""===i[0]&&i.shift(),{pathString:t,queryString:n,path:i,query:""===n?{}:s.getQueryVariables(n)}},s.makeRequest=function(e){var t=s.parseFragment(e),n={path:t.pathString,query:t.queryString,getPath:function(e){return void 0===e?t.path:t.path[e]},getQuery:function(e,n){var r;return void 0===e?r=t.query:(r=t.query[e])&&void 0!==n&&(r=r[n]),r},getQueryLast:function(e,t){var r=n.getQuery(e);return r?r[r.length-1]:t}};return n},s.makeLink=function(e,t,n){e=jQuery.isArray(e)?e.join("/"):e;var r=jQuery.param(t||{});return n=n||"",e+(r.length>0?"?"+r:"")+(n.length>0?"#"+n:"")},s.setPath=function(e,t,n){if("object"==typeof e&&null!==e)for(var r=0,i=t.length;r0&&a.push(n),o=r.lastIndex;var s=t[0][1];switch(s){case"s":case"o":i");break;case"%":a.push("%");break;default:a.push("<%"+s+"?>")}}return a.push(e.substring(o)),a.join("")},s.formatNumber=function(e,t,n,r){var i=e,a=isNaN(t=Math.abs(t))?2:t,o=void 0===n?",":n,s=void 0===r?".":r,l=i<0?"-":"",c=parseInt(i=Math.abs(+i||0).toFixed(a),10)+"",u=c.length>3?c.length%3:0;return l+(u?c.substr(0,u)+s:"")+c.substr(u).replace(/(\d{3})(?=\d)/g,"$1"+s)+(a?o+Math.abs(i-c).toFixed(a).slice(2):"")},s.formatSize=function(e){return e=e>=1073741824?s.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?s.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?s.formatNumber(e/1024,0)+" KiB":s.formatNumber(e,0)+" bytes"},s.bytesFromIP=function(e){return-1!==e.indexOf(".")?s.bytesFromIPv4(e):-1!==e.indexOf(":")?s.bytesFromIPv6(e):null},s.bytesFromIPv4=function(e){if(4!==(e=e.split(".")).length)return null;for(var t=s.createBuffer(),n=0;nn[r].end-n[r].start&&(r=n.length-1)):n.push({start:l,end:l})}t.push(a)}if(n.length>0){var c=n[r];c.end-c.start>0&&(t.splice(c.start,c.end-c.start+1,""),0===c.start&&t.unshift(""),7===c.end&&t.push(""))}return t.join(":")},s.estimateCores=function(e,t){if("function"==typeof e&&(t=e,e={}),e=e||{},"cores"in s&&!e.update)return t(null,s.cores);if("undefined"!=typeof navigator&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return s.cores=navigator.hardwareConcurrency,t(null,s.cores);if("undefined"==typeof Worker)return s.cores=1,t(null,s.cores);if("undefined"==typeof Blob)return s.cores=2,t(null,s.cores);var n=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(e){for(var t=Date.now(),n=t+4;Date.now()s.st&&i.sti.st&&s.st=200&&i.status<300?n(new o.b(i.status,i.statusText,i.response||i.responseText)):r(new a.b(i.statusText,i.status))},i.onerror=function(){t.logger.log(l.a.Warning,"Error from HTTP request. "+i.status+": "+i.statusText+"."),r(new a.b(i.statusText,i.status))},i.ontimeout=function(){t.logger.log(l.a.Warning,"Timeout from HTTP request."),r(new a.c)},i.send(e.content||"")}):Promise.reject(new Error("No url defined.")):Promise.reject(new Error("No method defined."))},t}(o.a),d=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function r(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(r.prototype=n.prototype,new r)}}(),h=function(e){function t(t){var n=e.call(this)||this;return"undefined"!=typeof XMLHttpRequest?n.httpClient=new u(t):n.httpClient=new s.a(t),n}return d(t,e),t.prototype.send=function(e){return e.abortSignal&&e.abortSignal.aborted?Promise.reject(new a.a):e.method?e.url?this.httpClient.send(e):Promise.reject(new Error("No url defined.")):Promise.reject(new Error("No method defined."))},t.prototype.getCookieString=function(e){return this.httpClient.getCookieString(e)},t}(o.a),p=n(731);!function(e){e[e.Invocation=1]="Invocation",e[e.StreamItem=2]="StreamItem",e[e.Completion=3]="Completion",e[e.StreamInvocation=4]="StreamInvocation",e[e.CancelInvocation=5]="CancelInvocation",e[e.Ping=6]="Ping",e[e.Close=7]="Close"}(i||(i={}));var f,m=n(30),g=function(){function e(){this.observers=[]}return e.prototype.next=function(e){for(var t=0,n=this.observers;t0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0?[2,Promise.reject(new Error("Unable to connect to the server with any of the available transports. "+a.join(" ")))]:[2,Promise.reject(new Error("None of the transports supported by the client are supported by the server."))]}})})},e.prototype.constructTransport=function(e){switch(e){case w.WebSockets:if(!this.options.WebSocket)throw new Error("'WebSocket' is not supported in your environment.");return new P(this.httpClient,this.accessTokenFactory,this.logger,this.options.logMessageContent||!1,this.options.WebSocket);case w.ServerSentEvents:if(!this.options.EventSource)throw new Error("'EventSource' is not supported in your environment.");return new D(this.httpClient,this.accessTokenFactory,this.logger,this.options.logMessageContent||!1,this.options.EventSource);case w.LongPolling:return new O(this.httpClient,this.accessTokenFactory,this.logger,this.options.logMessageContent||!1);default:throw new Error("Unknown transport: "+e+".")}},e.prototype.startTransport=function(e,t){var n=this;return this.transport.onreceive=this.onreceive,this.transport.onclose=function(e){return n.stopConnection(e)},this.transport.connect(e,t)},e.prototype.resolveTransportOrError=function(e,t,n){var r=w[e.transport];if(null==r)return this.logger.log(l.a.Debug,"Skipping transport '"+e.transport+"' because it is not supported by this client."),new Error("Skipping transport '"+e.transport+"' because it is not supported by this client.");if(!function(e,t){return!e||0!=(t&e)}(t,r))return this.logger.log(l.a.Debug,"Skipping transport '"+w[r]+"' because it was disabled by the client."),new Error("'"+w[r]+"' is disabled by the client.");if(!(e.transferFormats.map(function(e){return _[e]}).indexOf(n)>=0))return this.logger.log(l.a.Debug,"Skipping transport '"+w[r]+"' because it does not support the requested transfer format '"+_[n]+"'."),new Error("'"+w[r]+"' does not support "+_[n]+".");if(r===w.WebSockets&&!this.options.WebSocket||r===w.ServerSentEvents&&!this.options.EventSource)return this.logger.log(l.a.Debug,"Skipping transport '"+w[r]+"' because it is not supported in your environment.'"),new Error("'"+w[r]+"' is not supported in your environment.");this.logger.log(l.a.Debug,"Selecting transport '"+w[r]+"'.");try{return this.constructTransport(r)}catch(i){return i}},e.prototype.isITransport=function(e){return e&&"object"==typeof e&&"connect"in e},e.prototype.stopConnection=function(e){if(this.logger.log(l.a.Debug,"HttpConnection.stopConnection("+e+") called while in state "+this.connectionState+"."),this.transport=void 0,e=this.stopError||e,this.stopError=void 0,"Disconnected"!==this.connectionState)if("Connecting "!==this.connectionState){if("Disconnecting"===this.connectionState&&this.stopPromiseResolver(),e?this.logger.log(l.a.Error,"Connection disconnected with error '"+e+"'."):this.logger.log(l.a.Information,"Connection disconnected."),this.connectionId=void 0,this.connectionState="Disconnected",this.onclose&&this.connectionStarted){this.connectionStarted=!1;try{this.onclose(e)}catch(t){this.logger.log(l.a.Error,"HttpConnection.onclose("+e+") threw error '"+t+"'.")}}}else this.logger.log(l.a.Warning,"Call to HttpConnection.stopConnection("+e+") was ignored because the connection hasn't yet left the in the connecting state.");else this.logger.log(l.a.Debug,"Call to HttpConnection.stopConnection("+e+") was ignored because the connection is already in the disconnected state.")},e.prototype.resolveUrl=function(e){if(0===e.lastIndexOf("https://",0)||0===e.lastIndexOf("http://",0))return e;if(!m.c.isBrowser||!window.document)throw new Error("Cannot resolve '"+e+"'.");var t=window.document.createElement("a");return t.href=e,this.logger.log(l.a.Information,"Normalizing '"+e+"' to '"+t.href+"'."),t.href},e.prototype.resolveNegotiateUrl=function(e){var t=e.indexOf("?"),n=e.substring(0,-1===t?e.length:t);return"/"!==n[n.length-1]&&(n+="/"),n+="negotiate",-1===(n+=-1===t?"":e.substring(t)).indexOf("negotiateVersion")&&(n+=-1===t?"?":"&",n+="negotiateVersion="+this.negotiateVersion),n},e}();var V=function(){function e(e){this.transport=e,this.buffer=[],this.executing=!0,this.sendBufferedData=new U,this.transportResult=new U,this.sendLoopPromise=this.sendLoop()}return e.prototype.send=function(e){return this.bufferData(e),this.transportResult||(this.transportResult=new U),this.transportResult.promise},e.prototype.stop=function(){return this.executing=!1,this.sendBufferedData.resolve(),this.sendLoopPromise},e.prototype.bufferData=function(e){if(this.buffer.length&&typeof this.buffer[0]!=typeof e)throw new Error("Expected data to be of type "+typeof this.buffer+" but was of type "+typeof e);this.buffer.push(e),this.sendBufferedData.resolve()},e.prototype.sendLoop=function(){return R(this,void 0,void 0,function(){var t,n,r;return M(this,function(i){switch(i.label){case 0:return[4,this.sendBufferedData.promise];case 1:if(i.sent(),!this.executing)return this.transportResult&&this.transportResult.reject("Connection stopped."),[3,6];this.sendBufferedData=new U,t=this.transportResult,this.transportResult=void 0,n="string"==typeof this.buffer[0]?this.buffer.join(""):e.concatBuffers(this.buffer),this.buffer.length=0,i.label=2;case 2:return i.trys.push([2,4,,5]),[4,this.transport.send(n)];case 3:return i.sent(),t.resolve(),[3,5];case 4:return r=i.sent(),t.reject(r),[3,5];case 5:return[3,0];case 6:return[2]}})})},e.concatBuffers=function(e){for(var t=e.map(function(e){return e.byteLength}).reduce(function(e,t){return e+t}),n=new Uint8Array(t),r=0,i=0,a=e;i"+i+""};e.exports=function(e,t){var n={};n[e]=t(s),r(r.P+r.F*i(function(){var t=""[e]('"');return t!==t.toLowerCase()||t.split('"').length>3}),"String",n)}},,function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){var r=n(21),i=n(56),a=n(51),o=n(90)("src"),s=Function.toString,l=(""+s).split("toString");n(55).inspectSource=function(e){return s.call(e)},(e.exports=function(e,t,n,s){var c="function"==typeof n;c&&(a(n,"name")||i(n,"name",t)),e[t]!==n&&(c&&(a(n,o)||i(n,o,e[t]?""+e[t]:l.join(String(t)))),e===r?e[t]=n:s?e[t]?e[t]=n:i(e,t,n):(delete e[t],i(e,t,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[o]||s.call(this)})},function(e,t,n){var r=n(115),i=n(77);e.exports=function(e){return r(i(e))}},function(e,t,n){"use strict";var r=n(121),i=n(213),a=n(147),o=function(){function e(e){return Error.call(this),this.message=e?e.length+" errors occurred during unsubscription:\n"+e.map(function(e,t){return t+1+") "+e.toString()}).join("\n "):"",this.name="UnsubscriptionError",this.errors=e,this}return e.prototype=Object.create(Error.prototype),e}();n.d(t,"a",function(){return s});var s=function(){function e(e){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,e&&(this._ctorUnsubscribe=!0,this._unsubscribe=e)}var t;return e.prototype.unsubscribe=function(){var t;if(!this.closed){var n=this._parentOrParents,s=this._ctorUnsubscribe,c=this._unsubscribe,u=this._subscriptions;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,n instanceof e)n.remove(this);else if(null!==n)for(var d=0;d0?r:n)(e)}},,function(e,t,n){"use strict";(function(e){n.d(t,"a",function(){return x}),n.d(t,"b",function(){return Je}),n.d(t,"c",function(){return je}),n.d(t,"d",function(){return mt}),n.d(t,"e",function(){return E}),n.d(t,"f",function(){return yt}),n.d(t,"g",function(){return Ce}),n.d(t,"h",function(){return bt});var r=n(1),i=n(13),a=n(0);function o(){return void 0!==e&&"[object process]"==={}.toString.call(e)}function s(e){switch(e.length){case 0:return new i.d;case 1:return e[0];default:return new i.k(e)}}function l(e,t,n,r,a,o){void 0===a&&(a={}),void 0===o&&(o={});var s=[],l=[],c=-1,u=null;if(r.forEach(function(e){var n=e.offset,r=n==c,d=r&&u||{};Object.keys(e).forEach(function(n){var r=n,l=e[n];if("offset"!==n)switch(r=t.normalizePropertyName(r,s),l){case i.l:l=a[n];break;case i.a:l=o[n];break;default:l=t.normalizeStyleValue(n,r,l,s)}d[r]=l}),r||l.push(d),u=d,c=n}),s.length){throw new Error("Unable to animate due to the following errors:\n - "+s.join("\n - "))}return l}function c(e,t,n,r){switch(t){case"start":e.onStart(function(){return r(n&&u(n,"start",e))});break;case"done":e.onDone(function(){return r(n&&u(n,"done",e))});break;case"destroy":e.onDestroy(function(){return r(n&&u(n,"destroy",e))})}}function u(e,t,n){var r=n.totalTime,i=!!n.disabled,a=d(e.element,e.triggerName,e.fromState,e.toState,t||e.phaseName,null==r?e.totalTime:r,i),o=e._data;return null!=o&&(a._data=o),a}function d(e,t,n,r,i,a,o){return void 0===i&&(i=""),void 0===a&&(a=0),{element:e,triggerName:t,fromState:n,toState:r,phaseName:i,totalTime:a,disabled:!!o}}function h(e,t,n){var r;return e instanceof Map?(r=e.get(t))||e.set(t,r=n):(r=e[t])||(r=e[t]=n),r}function p(e){var t=e.indexOf(":");return[e.substring(1,t),e.substr(t+1)]}var f=function(e,t){return!1},m=function(e,t){return!1},g=function(e,t,n){return[]},y=o();(y||"undefined"!=typeof Element)&&(f=function(e,t){return e.contains(t)},m=function(){if(y||Element.prototype.matches)return function(e,t){return e.matches(t)};var e=Element.prototype,t=e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;return t?function(e,n){return t.apply(e,[n])}:m}(),g=function(e,t,n){var i=[];if(n)i.push.apply(i,Object(r.g)(e.querySelectorAll(t)));else{var a=e.querySelector(t);a&&i.push(a)}return i});var b=null,v=!1;function k(e){b||(b=function(){if("undefined"!=typeof document)return document.body;return null}()||{},v=!!b.style&&"WebkitAppearance"in b.style);var t=!0;b.style&&!function(e){return"ebkit"==e.substring(1,6)}(e)&&(!(t=e in b.style)&&v&&(t="Webkit"+e.charAt(0).toUpperCase()+e.substr(1)in b.style));return t}var w=m,_=f,j=g;function C(e){var t={};return Object.keys(e).forEach(function(n){var r=n.replace(/([a-z])([A-Z])/g,"$1-$2");t[r]=e[n]}),t}var E=function(){function e(){}return e.prototype.validateStyleProperty=function(e){return k(e)},e.prototype.matchesElement=function(e,t){return w(e,t)},e.prototype.containsElement=function(e,t){return _(e,t)},e.prototype.query=function(e,t,n){return j(e,t,n)},e.prototype.computeStyle=function(e,t,n){return n||""},e.prototype.animate=function(e,t,n,r,a,o,s){return void 0===o&&(o=[]),new i.d(n,r)},e.ɵfac=function(t){return new(t||e)},e.ɵprov=a["ɵɵdefineInjectable"]({token:e,factory:function(t){return e.ɵfac(t)}}),e}(),x=function(){function e(){}return e.NOOP=new E,e}(),S=1e3,T=".ng-trigger",O=".ng-animating";function I(e){if("number"==typeof e)return e;var t=e.match(/^(-?[\.\d]+)(m?s)/);return!t||t.length<2?0:z(parseFloat(t[1]),t[2])}function z(e,t){switch(t){case"s":return e*S;default:return e}}function D(e,t,n){return e.hasOwnProperty("duration")?e:function(e,t,n){var r,i=0,a="";if("string"==typeof e){var o=e.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===o)return t.push('The provided timing value "'+e+'" is invalid.'),{duration:0,delay:0,easing:""};r=z(parseFloat(o[1]),o[2]);var s=o[3];null!=s&&(i=z(parseFloat(s),o[4]));var l=o[5];l&&(a=l)}else r=e;if(!n){var c=!1,u=t.length;r<0&&(t.push("Duration values below 0 are not allowed for this animation step."),c=!0),i<0&&(t.push("Delay values below 0 are not allowed for this animation step."),c=!0),c&&t.splice(u,0,'The provided timing value "'+e+'" is invalid.')}return{duration:r,delay:i,easing:a}}(e,t,n)}function A(e,t){return void 0===t&&(t={}),Object.keys(e).forEach(function(n){t[n]=e[n]}),t}function N(e){var t={};return Array.isArray(e)?e.forEach(function(e){return P(e,!1,t)}):P(e,!1,t),t}function P(e,t,n){if(void 0===n&&(n={}),t)for(var r in e)n[r]=e[r];else A(e,n);return n}function R(e,t,n){return n?t+":"+n+";":""}function M(e){for(var t="",n=0;nw;w++)if((h||w in b)&&(g=v(m=b[w],w,y),e))if(n)_[w]=g;else if(g)switch(e){case 3:return!0;case 5:return m;case 6:return w;case 2:_.push(m)}else if(u)return!1;return d?-1:c||u?u:_}}},function(e,t,n){"use strict";n.r(t),n.d(t,"BrowserModule",function(){return ye}),n.d(t,"BrowserTransferStateModule",function(){return De}),n.d(t,"By",function(){return Ae}),n.d(t,"DomSanitizer",function(){return ae}),n.d(t,"EVENT_MANAGER_PLUGINS",function(){return j}),n.d(t,"EventManager",function(){return C}),n.d(t,"HAMMER_GESTURE_CONFIG",function(){return W}),n.d(t,"HAMMER_LOADER",function(){return K}),n.d(t,"HammerGestureConfig",function(){return G}),n.d(t,"HammerModule",function(){return J}),n.d(t,"Meta",function(){return ve}),n.d(t,"Title",function(){return we}),n.d(t,"TransferState",function(){return Ie}),n.d(t,"VERSION",function(){return Ne}),n.d(t,"disableDebugTools",function(){return Se}),n.d(t,"enableDebugTools",function(){return xe}),n.d(t,"makeStateKey",function(){return Oe}),n.d(t,"platformBrowser",function(){return me}),n.d(t,"ɵBROWSER_SANITIZATION_PROVIDERS",function(){return fe}),n.d(t,"ɵBROWSER_SANITIZATION_PROVIDERS__POST_R3__",function(){return pe}),n.d(t,"ɵBrowserDomAdapter",function(){return l}),n.d(t,"ɵBrowserGetTestability",function(){return p}),n.d(t,"ɵDomEventsPlugin",function(){return U}),n.d(t,"ɵDomRendererFactory2",function(){return M}),n.d(t,"ɵDomSanitizerImpl",function(){return se}),n.d(t,"ɵDomSharedStylesHost",function(){return S}),n.d(t,"ɵELEMENT_PROBE_PROVIDERS",function(){return _}),n.d(t,"ɵELEMENT_PROBE_PROVIDERS__POST_R3__",function(){return k}),n.d(t,"ɵHAMMER_PROVIDERS__POST_R3__",function(){return $}),n.d(t,"ɵHammerGesturesPlugin",function(){return Q}),n.d(t,"ɵINTERNAL_BROWSER_PLATFORM_PROVIDERS",function(){return he}),n.d(t,"ɵKeyEventsPlugin",function(){return ie}),n.d(t,"ɵNAMESPACE_URIS",function(){return T}),n.d(t,"ɵSharedStylesHost",function(){return x}),n.d(t,"ɵTRANSITION_ID",function(){return u}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_a",function(){return ce}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_b",function(){return ue}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_c",function(){return ge}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_d",function(){return be}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_e",function(){return ke}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_f",function(){return ze}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_g",function(){return E}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_h",function(){return Y}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_i",function(){return Z}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_j",function(){return oe}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_k",function(){return d}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_l",function(){return h}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_m",function(){return v}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_n",function(){return w}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_o",function(){return s}),n.d(t,"ɵescapeHtml",function(){return Te}),n.d(t,"ɵflattenStyles",function(){return P}),n.d(t,"ɵinitDomAdapter",function(){return le}),n.d(t,"ɵshimContentAttribute",function(){return A}),n.d(t,"ɵshimHostAttribute",function(){return N});var r=n(1),i=n(3),a=n(0);n.d(t,"ɵgetDOM",function(){return i["ɵgetDOM"]}); + */}).call(this,n(127))},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){var r=n(2),i=n(55),a=n(22);e.exports=function(e,t){var n=(i.Object||{})[e]||Object[e],o={};o[e]=t(n),r(r.S+r.F*a(function(){n(1)}),"Object",o)}},function(e,t,n){var r=n(64),i=n(115),a=n(43),o=n(31),s=n(232);e.exports=function(e,t){var n=1==e,l=2==e,c=3==e,u=4==e,d=6==e,h=5==e||d,p=t||s;return function(t,s,f){for(var m,g,y=a(t),b=i(y),v=r(s,f,3),k=o(b.length),w=0,_=n?p(t,k):l?p(t,0):void 0;k>w;w++)if((h||w in b)&&(g=v(m=b[w],w,y),e))if(n)_[w]=g;else if(g)switch(e){case 3:return!0;case 5:return m;case 6:return w;case 2:_.push(m)}else if(u)return!1;return d?-1:c||u?u:_}}},,function(e,t,n){"use strict";n.r(t),n.d(t,"BrowserModule",function(){return ye}),n.d(t,"BrowserTransferStateModule",function(){return De}),n.d(t,"By",function(){return Ae}),n.d(t,"DomSanitizer",function(){return ae}),n.d(t,"EVENT_MANAGER_PLUGINS",function(){return j}),n.d(t,"EventManager",function(){return C}),n.d(t,"HAMMER_GESTURE_CONFIG",function(){return W}),n.d(t,"HAMMER_LOADER",function(){return K}),n.d(t,"HammerGestureConfig",function(){return G}),n.d(t,"HammerModule",function(){return J}),n.d(t,"Meta",function(){return ve}),n.d(t,"Title",function(){return we}),n.d(t,"TransferState",function(){return Ie}),n.d(t,"VERSION",function(){return Ne}),n.d(t,"disableDebugTools",function(){return Se}),n.d(t,"enableDebugTools",function(){return xe}),n.d(t,"makeStateKey",function(){return Oe}),n.d(t,"platformBrowser",function(){return me}),n.d(t,"ɵBROWSER_SANITIZATION_PROVIDERS",function(){return fe}),n.d(t,"ɵBROWSER_SANITIZATION_PROVIDERS__POST_R3__",function(){return pe}),n.d(t,"ɵBrowserDomAdapter",function(){return l}),n.d(t,"ɵBrowserGetTestability",function(){return p}),n.d(t,"ɵDomEventsPlugin",function(){return U}),n.d(t,"ɵDomRendererFactory2",function(){return M}),n.d(t,"ɵDomSanitizerImpl",function(){return se}),n.d(t,"ɵDomSharedStylesHost",function(){return S}),n.d(t,"ɵELEMENT_PROBE_PROVIDERS",function(){return _}),n.d(t,"ɵELEMENT_PROBE_PROVIDERS__POST_R3__",function(){return k}),n.d(t,"ɵHAMMER_PROVIDERS__POST_R3__",function(){return $}),n.d(t,"ɵHammerGesturesPlugin",function(){return Q}),n.d(t,"ɵINTERNAL_BROWSER_PLATFORM_PROVIDERS",function(){return he}),n.d(t,"ɵKeyEventsPlugin",function(){return ie}),n.d(t,"ɵNAMESPACE_URIS",function(){return T}),n.d(t,"ɵSharedStylesHost",function(){return x}),n.d(t,"ɵTRANSITION_ID",function(){return u}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_a",function(){return ce}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_b",function(){return ue}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_c",function(){return ge}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_d",function(){return be}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_e",function(){return ke}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_f",function(){return ze}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_g",function(){return E}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_h",function(){return Y}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_i",function(){return Z}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_j",function(){return oe}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_k",function(){return d}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_l",function(){return h}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_m",function(){return v}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_n",function(){return w}),n.d(t,"ɵangular_packages_platform_browser_platform_browser_o",function(){return s}),n.d(t,"ɵescapeHtml",function(){return Te}),n.d(t,"ɵflattenStyles",function(){return P}),n.d(t,"ɵinitDomAdapter",function(){return le}),n.d(t,"ɵshimContentAttribute",function(){return A}),n.d(t,"ɵshimHostAttribute",function(){return N});var r=n(1),i=n(4),a=n(0);n.d(t,"ɵgetDOM",function(){return i["ɵgetDOM"]}); /** * @license Angular v9.1.12 * (c) 2010-2020 Google LLC. https://angular.io/ @@ -1918,52 +1918,14 @@ var o,s=function(e){function t(){return e.call(this)||this}return Object(r.c)(t, * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license - */},,,function(e,t,n){"use strict";n.d(t,"b",function(){return a}),n.d(t,"c",function(){return o}),n.d(t,"a",function(){return s});var r,i=(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=function(e){function t(t,n){var r=this,i=this.constructor.prototype;return(r=e.call(this,t)||this).statusCode=n,r.__proto__=i,r}return i(t,e),t}(Error),o=function(e){function t(t){void 0===t&&(t="A timeout occurred.");var n=this,r=this.constructor.prototype;return(n=e.call(this,t)||this).__proto__=r,n}return i(t,e),t}(Error),s=function(e){function t(t){void 0===t&&(t="An abort occurred.");var n=this,r=this.constructor.prototype;return(n=e.call(this,t)||this).__proto__=r,n}return i(t,e),t}(Error)},function(e,t,n){"use strict";n.d(t,"a",function(){return s}),n.d(t,"b",function(){return l}),n.d(t,"c",function(){return c});var r=n(1),i=n(24),a=n(32),o=n(214),s=function(e){function t(t){var n=e.call(this)||this;return n.parent=t,n}return r.c(t,e),t.prototype._next=function(e){this.parent.notifyNext(e)},t.prototype._error=function(e){this.parent.notifyError(e),this.unsubscribe()},t.prototype._complete=function(){this.parent.notifyComplete(),this.unsubscribe()},t}(i.a),l=(i.a,function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.c(t,e),t.prototype.notifyNext=function(e){this.destination.next(e)},t.prototype.notifyError=function(e){this.destination.error(e)},t.prototype.notifyComplete=function(){this.destination.complete()},t}(i.a));i.a;function c(e,t){if(!t.closed)return e instanceof a.a?e.subscribe(t):Object(o.a)(e)(t)}},function(e,t,n){var r=n(21);e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if("function"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){"use strict";if(n(34)){var r=n(85),i=n(19),a=n(20),o=n(2),s=n(135),l=n(183),c=n(62),u=n(97),d=n(84),h=n(55),p=n(99),f=n(63),m=n(31),g=n(241),y=n(90),b=n(74),v=n(49),k=n(94),w=n(21),_=n(42),j=n(179),C=n(82),E=n(56),x=n(91).f,S=n(130),T=n(88),O=n(27),I=n(68),z=n(147),D=n(124),A=n(200),N=n(106),P=n(131),R=n(96),M=n(180),q=n(232),L=n(33),B=n(59),F=L.f,V=B.f,U=i.RangeError,H=i.TypeError,W=i.Uint8Array,K=Array.prototype,G=l.ArrayBuffer,Q=l.DataView,$=I(0),Y=I(2),Z=I(3),J=I(4),X=I(5),ee=I(6),te=z(!0),ne=z(!1),re=A.values,ie=A.keys,ae=A.entries,oe=K.lastIndexOf,se=K.reduce,le=K.reduceRight,ce=K.join,ue=K.sort,de=K.slice,he=K.toString,pe=K.toLocaleString,fe=O("iterator"),me=O("toStringTag"),ge=T("typed_constructor"),ye=T("def_constructor"),be=s.CONSTR,ve=s.TYPED,ke=s.VIEW,we=I(1,function(e,t){return xe(D(e,e[ye]),t)}),_e=a(function(){return 1===new W(new Uint16Array([1]).buffer)[0]}),je=!!W&&!!W.prototype.set&&a(function(){new W(1).set({})}),Ce=function(e,t){var n=f(e);if(n<0||n%t)throw U("Wrong offset!");return n},Ee=function(e){if(w(e)&&ve in e)return e;throw H(e+" is not a typed array!")},xe=function(e,t){if(!(w(e)&&ge in e))throw H("It is not a typed array constructor!");return new e(t)},Se=function(e,t){return Te(D(e,e[ye]),t)},Te=function(e,t){for(var n=0,r=t.length,i=xe(e,r);r>n;)i[n]=t[n++];return i},Oe=function(e,t,n){F(e,t,{get:function(){return this._d[n]}})},Ie=function(e){var t,n,r,i,a,o,s=_(e),l=arguments.length,u=l>1?arguments[1]:void 0,d=void 0!==u,h=S(s);if(null!=h&&!j(h)){for(o=h.call(s),r=[],t=0;!(a=o.next()).done;t++)r.push(a.value);s=r}for(d&&l>2&&(u=c(u,arguments[2],2)),t=0,n=m(s.length),i=xe(this,n);n>t;t++)i[t]=d?u(s[t],t):s[t];return i},ze=function(){for(var e=0,t=arguments.length,n=xe(this,t);t>e;)n[e]=arguments[e++];return n},De=!!W&&a(function(){pe.call(new W(1))}),Ae=function(){return pe.apply(De?de.call(Ee(this)):Ee(this),arguments)},Ne={copyWithin:function(e,t){return q.call(Ee(this),e,t,arguments.length>2?arguments[2]:void 0)},every:function(e){return J(Ee(this),e,arguments.length>1?arguments[1]:void 0)},fill:function(e){return M.apply(Ee(this),arguments)},filter:function(e){return Se(this,Y(Ee(this),e,arguments.length>1?arguments[1]:void 0))},find:function(e){return X(Ee(this),e,arguments.length>1?arguments[1]:void 0)},findIndex:function(e){return ee(Ee(this),e,arguments.length>1?arguments[1]:void 0)},forEach:function(e){$(Ee(this),e,arguments.length>1?arguments[1]:void 0)},indexOf:function(e){return ne(Ee(this),e,arguments.length>1?arguments[1]:void 0)},includes:function(e){return te(Ee(this),e,arguments.length>1?arguments[1]:void 0)},join:function(e){return ce.apply(Ee(this),arguments)},lastIndexOf:function(e){return oe.apply(Ee(this),arguments)},map:function(e){return we(Ee(this),e,arguments.length>1?arguments[1]:void 0)},reduce:function(e){return se.apply(Ee(this),arguments)},reduceRight:function(e){return le.apply(Ee(this),arguments)},reverse:function(){for(var e,t=Ee(this).length,n=Math.floor(t/2),r=0;r1?arguments[1]:void 0)},sort:function(e){return ue.call(Ee(this),e)},subarray:function(e,t){var n=Ee(this),r=n.length,i=y(e,r);return new(D(n,n[ye]))(n.buffer,n.byteOffset+i*n.BYTES_PER_ELEMENT,m((void 0===t?r:y(t,r))-i))}},Pe=function(e,t){return Se(this,de.call(Ee(this),e,t))},Re=function(e){Ee(this);var t=Ce(arguments[1],1),n=this.length,r=_(e),i=m(r.length),a=0;if(i+t>n)throw U("Wrong length!");for(;a255?255:255&r),i.v[p](n*t+i.o,r,_e)}(this,n,e)},enumerable:!0})};v?(f=n(function(e,n,r,i){u(e,f,c,"_d");var a,o,s,l,d=0,p=0;if(w(n)){if(!(n instanceof G||"ArrayBuffer"==(l=k(n))||"SharedArrayBuffer"==l))return ve in n?Te(f,n):Ie.call(f,n);a=n,p=Ce(r,t);var y=n.byteLength;if(void 0===i){if(y%t)throw U("Wrong length!");if((o=y-p)<0)throw U("Wrong length!")}else if((o=m(i)*t)+p>y)throw U("Wrong length!");s=o/t}else s=g(n),a=new G(o=s*t);for(h(e,"_d",{b:a,o:p,l:o,e:s,v:new Q(a)});ddocument.F=Object<\/script>"),e.close(),l=e.F;r--;)delete l.prototype[a[r]];return l()};e.exports=Object.create||function(e,t){var n;return null!==e?(s.prototype=r(e),n=new s,s.prototype=null,n[o]=e):n=l(),void 0===t?n:i(n,t)}},,function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t){e.exports=!1},,,function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},function(e,t,n){var r=n(219),i=n(169);e.exports=Object.keys||function(e){return r(e,i)}},function(e,t,n){var r=n(63),i=Math.max,a=Math.min;e.exports=function(e,t){return(e=r(e))<0?i(e+t,0):a(e,t)}},function(e,t,n){var r=n(219),i=n(169).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,i)}},,,function(e,t,n){var r=n(66),i=n(27)("toStringTag"),a="Arguments"==r(function(){return arguments}());e.exports=function(e){var t,n,o;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(n){}}(t=Object(e),i))?n:a?r(t):"Object"==(o=r(t))&&"function"==typeof t.callee?"Arguments":o}},function(e,t,n){var r=n(27)("unscopables"),i=Array.prototype;null==i[r]&&n(55)(i,r,{}),e.exports=function(e){i[r][e]=!0}},function(e,t,n){"use strict";var r=n(19),i=n(33),a=n(34),o=n(27)("species");e.exports=function(e){var t=r[e];a&&t&&!t[o]&&i.f(t,o,{configurable:!0,get:function(){return this}})}},function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!");return e}},function(e,t,n){var r=n(62),i=n(229),a=n(179),o=n(14),s=n(31),l=n(130),c={},u={};(t=e.exports=function(e,t,n,d,h){var p,f,m,g,y=h?function(){return e}:l(e),b=r(n,d,t?2:1),v=0;if("function"!=typeof y)throw TypeError(e+" is not iterable!");if(a(y)){for(p=s(e.length);p>v;v++)if((g=t?b(o(f=e[v])[0],f[1]):b(e[v]))===c||g===u)return g}else for(m=y.call(e);!(f=m.next()).done;)if((g=i(m,b,f.value,t))===c||g===u)return g}).BREAK=c,t.RETURN=u},function(e,t,n){var r=n(50);e.exports=function(e,t,n){for(var i in t)r(e,i,t[i],n);return e}},,,,function(e,t,n){"use strict";(function(e){ + */},,function(e,t,n){"use strict";n.d(t,"b",function(){return a}),n.d(t,"c",function(){return o}),n.d(t,"a",function(){return s});var r,i=(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=function(e){function t(t,n){var r=this,i=this.constructor.prototype;return(r=e.call(this,t)||this).statusCode=n,r.__proto__=i,r}return i(t,e),t}(Error),o=function(e){function t(t){void 0===t&&(t="A timeout occurred.");var n=this,r=this.constructor.prototype;return(n=e.call(this,t)||this).__proto__=r,n}return i(t,e),t}(Error),s=function(e){function t(t){void 0===t&&(t="An abort occurred.");var n=this,r=this.constructor.prototype;return(n=e.call(this,t)||this).__proto__=r,n}return i(t,e),t}(Error)},function(e,t,n){"use strict";n.d(t,"a",function(){return s}),n.d(t,"b",function(){return l}),n.d(t,"c",function(){return c});var r=n(1),i=n(24),a=n(32),o=n(216),s=function(e){function t(t){var n=e.call(this)||this;return n.parent=t,n}return r.c(t,e),t.prototype._next=function(e){this.parent.notifyNext(e)},t.prototype._error=function(e){this.parent.notifyError(e),this.unsubscribe()},t.prototype._complete=function(){this.parent.notifyComplete(),this.unsubscribe()},t}(i.a),l=(i.a,function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r.c(t,e),t.prototype.notifyNext=function(e){this.destination.next(e)},t.prototype.notifyError=function(e){this.destination.error(e)},t.prototype.notifyComplete=function(){this.destination.complete()},t}(i.a));i.a;function c(e,t){if(!t.closed)return e instanceof a.a?e.subscribe(t):Object(o.a)(e)(t)}},function(e,t,n){var r=n(23);e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if("function"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){"use strict";if(n(35)){var r=n(86),i=n(21),a=n(22),o=n(2),s=n(139),l=n(188),c=n(64),u=n(98),d=n(85),h=n(56),p=n(100),f=n(65),m=n(31),g=n(243),y=n(92),b=n(76),v=n(51),k=n(95),w=n(23),_=n(43),j=n(184),C=n(83),E=n(58),x=n(93).f,S=n(134),T=n(90),O=n(28),I=n(70),z=n(151),D=n(126),A=n(204),N=n(109),P=n(135),R=n(97),M=n(185),q=n(234),L=n(33),B=n(60),F=L.f,V=B.f,U=i.RangeError,H=i.TypeError,W=i.Uint8Array,K=Array.prototype,G=l.ArrayBuffer,Q=l.DataView,$=I(0),Y=I(2),Z=I(3),J=I(4),X=I(5),ee=I(6),te=z(!0),ne=z(!1),re=A.values,ie=A.keys,ae=A.entries,oe=K.lastIndexOf,se=K.reduce,le=K.reduceRight,ce=K.join,ue=K.sort,de=K.slice,he=K.toString,pe=K.toLocaleString,fe=O("iterator"),me=O("toStringTag"),ge=T("typed_constructor"),ye=T("def_constructor"),be=s.CONSTR,ve=s.TYPED,ke=s.VIEW,we=I(1,function(e,t){return xe(D(e,e[ye]),t)}),_e=a(function(){return 1===new W(new Uint16Array([1]).buffer)[0]}),je=!!W&&!!W.prototype.set&&a(function(){new W(1).set({})}),Ce=function(e,t){var n=f(e);if(n<0||n%t)throw U("Wrong offset!");return n},Ee=function(e){if(w(e)&&ve in e)return e;throw H(e+" is not a typed array!")},xe=function(e,t){if(!(w(e)&&ge in e))throw H("It is not a typed array constructor!");return new e(t)},Se=function(e,t){return Te(D(e,e[ye]),t)},Te=function(e,t){for(var n=0,r=t.length,i=xe(e,r);r>n;)i[n]=t[n++];return i},Oe=function(e,t,n){F(e,t,{get:function(){return this._d[n]}})},Ie=function(e){var t,n,r,i,a,o,s=_(e),l=arguments.length,u=l>1?arguments[1]:void 0,d=void 0!==u,h=S(s);if(null!=h&&!j(h)){for(o=h.call(s),r=[],t=0;!(a=o.next()).done;t++)r.push(a.value);s=r}for(d&&l>2&&(u=c(u,arguments[2],2)),t=0,n=m(s.length),i=xe(this,n);n>t;t++)i[t]=d?u(s[t],t):s[t];return i},ze=function(){for(var e=0,t=arguments.length,n=xe(this,t);t>e;)n[e]=arguments[e++];return n},De=!!W&&a(function(){pe.call(new W(1))}),Ae=function(){return pe.apply(De?de.call(Ee(this)):Ee(this),arguments)},Ne={copyWithin:function(e,t){return q.call(Ee(this),e,t,arguments.length>2?arguments[2]:void 0)},every:function(e){return J(Ee(this),e,arguments.length>1?arguments[1]:void 0)},fill:function(e){return M.apply(Ee(this),arguments)},filter:function(e){return Se(this,Y(Ee(this),e,arguments.length>1?arguments[1]:void 0))},find:function(e){return X(Ee(this),e,arguments.length>1?arguments[1]:void 0)},findIndex:function(e){return ee(Ee(this),e,arguments.length>1?arguments[1]:void 0)},forEach:function(e){$(Ee(this),e,arguments.length>1?arguments[1]:void 0)},indexOf:function(e){return ne(Ee(this),e,arguments.length>1?arguments[1]:void 0)},includes:function(e){return te(Ee(this),e,arguments.length>1?arguments[1]:void 0)},join:function(e){return ce.apply(Ee(this),arguments)},lastIndexOf:function(e){return oe.apply(Ee(this),arguments)},map:function(e){return we(Ee(this),e,arguments.length>1?arguments[1]:void 0)},reduce:function(e){return se.apply(Ee(this),arguments)},reduceRight:function(e){return le.apply(Ee(this),arguments)},reverse:function(){for(var e,t=Ee(this).length,n=Math.floor(t/2),r=0;r1?arguments[1]:void 0)},sort:function(e){return ue.call(Ee(this),e)},subarray:function(e,t){var n=Ee(this),r=n.length,i=y(e,r);return new(D(n,n[ye]))(n.buffer,n.byteOffset+i*n.BYTES_PER_ELEMENT,m((void 0===t?r:y(t,r))-i))}},Pe=function(e,t){return Se(this,de.call(Ee(this),e,t))},Re=function(e){Ee(this);var t=Ce(arguments[1],1),n=this.length,r=_(e),i=m(r.length),a=0;if(i+t>n)throw U("Wrong length!");for(;a255?255:255&r),i.v[p](n*t+i.o,r,_e)}(this,n,e)},enumerable:!0})};v?(f=n(function(e,n,r,i){u(e,f,c,"_d");var a,o,s,l,d=0,p=0;if(w(n)){if(!(n instanceof G||"ArrayBuffer"==(l=k(n))||"SharedArrayBuffer"==l))return ve in n?Te(f,n):Ie.call(f,n);a=n,p=Ce(r,t);var y=n.byteLength;if(void 0===i){if(y%t)throw U("Wrong length!");if((o=y-p)<0)throw U("Wrong length!")}else if((o=m(i)*t)+p>y)throw U("Wrong length!");s=o/t}else s=g(n),a=new G(o=s*t);for(h(e,"_d",{b:a,o:p,l:o,e:s,v:new Q(a)});ddocument.F=Object<\/script>"),e.close(),l=e.F;r--;)delete l.prototype[a[r]];return l()};e.exports=Object.create||function(e,t){var n;return null!==e?(s.prototype=r(e),n=new s,s.prototype=null,n[o]=e):n=l(),void 0===t?n:i(n,t)}},,function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t){e.exports=!1},,,,function(e,t){var n=0,r=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+r).toString(36))}},function(e,t,n){var r=n(221),i=n(174);e.exports=Object.keys||function(e){return r(e,i)}},function(e,t,n){var r=n(65),i=Math.max,a=Math.min;e.exports=function(e,t){return(e=r(e))<0?i(e+t,0):a(e,t)}},function(e,t,n){var r=n(221),i=n(174).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,i)}},,function(e,t,n){var r=n(68),i=n(28)("toStringTag"),a="Arguments"==r(function(){return arguments}());e.exports=function(e){var t,n,o;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(n){}}(t=Object(e),i))?n:a?r(t):"Object"==(o=r(t))&&"function"==typeof t.callee?"Arguments":o}},function(e,t,n){var r=n(28)("unscopables"),i=Array.prototype;null==i[r]&&n(56)(i,r,{}),e.exports=function(e){i[r][e]=!0}},function(e,t,n){"use strict";var r=n(21),i=n(33),a=n(35),o=n(28)("species");e.exports=function(e){var t=r[e];a&&t&&!t[o]&&i.f(t,o,{configurable:!0,get:function(){return this}})}},function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!");return e}},function(e,t,n){var r=n(64),i=n(231),a=n(184),o=n(16),s=n(31),l=n(134),c={},u={};(t=e.exports=function(e,t,n,d,h){var p,f,m,g,y=h?function(){return e}:l(e),b=r(n,d,t?2:1),v=0;if("function"!=typeof y)throw TypeError(e+" is not iterable!");if(a(y)){for(p=s(e.length);p>v;v++)if((g=t?b(o(f=e[v])[0],f[1]):b(e[v]))===c||g===u)return g}else for(m=y.call(e);!(f=m.next()).done;)if((g=i(m,b,f.value,t))===c||g===u)return g}).BREAK=c,t.RETURN=u},function(e,t,n){var r=n(52);e.exports=function(e,t,n){for(var i in t)r(e,i,t[i],n);return e}},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"==typeof window&&(n=window)}e.exports=n},,,,,function(e,t,n){"use strict";(function(e){ /*! * The buffer module from node.js, for the browser. * * @author Feross Aboukhadijeh * @license MIT */ -var r=n(792),i=n(793),a=n(514);function o(){return l.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(e,t){if(o()=o())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o().toString(16)+" bytes");return 0|e}function f(e,t){if(l.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return B(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return F(e).length;default:if(r)return B(e).length;t=(""+t).toLowerCase(),r=!0}}function m(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function g(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=l.from(t,r)),l.isBuffer(t))return 0===t.length?-1:y(e,t,n,r,i);if("number"==typeof t)return t&=255,l.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):y(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function y(e,t,n,r,i){var a,o=1,s=e.length,l=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;o=2,s/=2,l/=2,n/=2}function c(e,t){return 1===o?e[t]:e.readUInt16BE(t*o)}if(i){var u=-1;for(a=n;as&&(n=s-l),a=n;a>=0;a--){for(var d=!0,h=0;hi&&(r=i):r=i;var a=t.length;if(a%2!=0)throw new TypeError("Invalid hex string");r>a/2&&(r=a/2);for(var o=0;o>8,i=n%256,a.push(i),a.push(r);return a}(t,e.length-n),e,n,r)}function C(e,t,n){return 0===t&&n===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,n))}function E(e,t,n){n=Math.min(e.length,n);for(var r=[],i=t;i239?4:c>223?3:c>191?2:1;if(i+d<=n)switch(d){case 1:c<128&&(u=c);break;case 2:128==(192&(a=e[i+1]))&&(l=(31&c)<<6|63&a)>127&&(u=l);break;case 3:a=e[i+1],o=e[i+2],128==(192&a)&&128==(192&o)&&(l=(15&c)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(u=l);break;case 4:a=e[i+1],o=e[i+2],s=e[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(l=(15&c)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(u=l)}null===u?(u=65533,d=1):u>65535&&(u-=65536,r.push(u>>>10&1023|55296),u=56320|1023&u),r.push(u),i+=d}return function(e){var t=e.length;if(t<=x)return String.fromCharCode.apply(String,e);var n="",r=0;for(;rthis.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return O(this,t,n);case"utf8":case"utf-8":return E(this,t,n);case"ascii":return S(this,t,n);case"latin1":case"binary":return T(this,t,n);case"base64":return C(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}.apply(this,arguments)},l.prototype.equals=function(e){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===l.compare(this,e)},l.prototype.inspect=function(){var e="",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),""},l.prototype.compare=function(e,t,n,r,i){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(this===e)return 0;for(var a=(i>>>=0)-(r>>>=0),o=(n>>>=0)-(t>>>=0),s=Math.min(a,o),c=this.slice(r,i),u=e.slice(t,n),d=0;di)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var a=!1;;)switch(r){case"hex":return b(this,e,t,n);case"utf8":case"utf-8":return v(this,e,t,n);case"ascii":return k(this,e,t,n);case"latin1":case"binary":return w(this,e,t,n);case"base64":return _(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return j(this,e,t,n);default:if(a)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),a=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var x=4096;function S(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;ir)&&(n=r);for(var i="",a=t;an)throw new RangeError("Trying to access beyond buffer length")}function D(e,t,n,r,i,a){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function A(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,a=Math.min(e.length-n,2);i>>8*(r?i:1-i)}function N(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,a=Math.min(e.length-n,4);i>>8*(r?i:3-i)&255}function P(e,t,n,r,i,a){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function R(e,t,n,r,a){return a||P(e,0,n,4),i.write(e,t,n,r,23,4),n+4}function M(e,t,n,r,a){return a||P(e,0,n,8),i.write(e,t,n,r,52,8),n+8}l.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),(t=void 0===t?r:~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),t0&&(i*=256);)r+=this[e+--t]*i;return r},l.prototype.readUInt8=function(e,t){return t||z(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return t||z(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return t||z(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return t||z(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUInt32BE=function(e,t){return t||z(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||z(e,t,this.length);for(var r=this[e],i=1,a=0;++a=(i*=128)&&(r-=Math.pow(2,8*t)),r},l.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||z(e,t,this.length);for(var r=t,i=1,a=this[e+--r];r>0&&(i*=256);)a+=this[e+--r]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*t)),a},l.prototype.readInt8=function(e,t){return t||z(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){t||z(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(e,t){t||z(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(e,t){return t||z(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return t||z(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return t||z(e,4,this.length),i.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return t||z(e,4,this.length),i.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return t||z(e,8,this.length),i.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return t||z(e,8,this.length),i.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,n,r){(e=+e,t|=0,n|=0,r)||D(this,e,t,n,Math.pow(2,8*n)-1,0);var i=1,a=0;for(this[t]=255&e;++a=0&&(a*=256);)this[t+i]=e/a&255;return t+n},l.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,1,255,0),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):A(this,e,t,!0),t+2},l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):A(this,e,t,!1),t+2},l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):N(this,e,t,!0),t+4},l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):N(this,e,t,!1),t+4},l.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);D(this,e,t,n,i-1,-i)}var a=0,o=1,s=0;for(this[t]=255&e;++a>0)-s&255;return t+n},l.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);D(this,e,t,n,i-1,-i)}var a=n-1,o=1,s=0;for(this[t+a]=255&e;--a>=0&&(o*=256);)e<0&&0===s&&0!==this[t+a+1]&&(s=1),this[t+a]=(e/o>>0)-s&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,1,127,-128),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):A(this,e,t,!0),t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):A(this,e,t,!1),t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):N(this,e,t,!0),t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||D(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):N(this,e,t,!1),t+4},l.prototype.writeFloatLE=function(e,t,n){return R(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return R(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return M(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return M(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--i)e[i+t]=this[i+n];else if(a<1e3||!l.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"==typeof e)for(a=t;a55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&a.push(239,191,189);continue}if(o+1===r){(t-=3)>-1&&a.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&a.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;a.push(n)}else if(n<2048){if((t-=2)<0)break;a.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;a.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;a.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return a}function F(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(q,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function V(e,t,n,r){for(var i=0;i=t.length||i>=e.length);++i)t[i+n]=e[i];return i}}).call(this,n(108))},function(e,t,n){"use strict";n.d(t,"a",function(){return i});var r=!1,i={Promise:void 0,set useDeprecatedSynchronousErrorHandling(e){e&&(new Error).stack;r=e},get useDeprecatedSynchronousErrorHandling(){return r}}},function(e,t,n){var r=n(33).f,i=n(49),a=n(27)("toStringTag");e.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,a)&&r(e,a,{configurable:!0,value:t})}},function(e,t){e.exports={}},function(e,t,n){var r=n(21);e.exports=function(e,t){if(!r(e)||e._t!==t)throw TypeError("Incompatible receiver, "+t+" required!");return e}},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"==typeof window&&(n=window)}e.exports=n},,,,,function(e,t,n){var r=n(66);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},function(e,t,n){var r=n(2),i=n(75),a=n(20),o=n(172),s="["+o+"]",l=RegExp("^"+s+s+"*"),c=RegExp(s+s+"*$"),u=function(e,t,n){var i={},s=a(function(){return!!o[e]()||"​…"!="​…"[e]()}),l=i[e]=s?t(d):o[e];n&&(i[n]=l),r(r.P+r.F*s,"String",i)},d=u.trim=function(e,t){return e=String(i(e)),1&t&&(e=e.replace(l,"")),2&t&&(e=e.replace(c,"")),e};e.exports=u},,,function(e,t,n){var r=n(35);n(191),n(697),n(698),n(43),r.random&&r.random.getBytes?e.exports=r.random:function(t){var n={},i=new Array(4),a=r.util.createBuffer();function o(){var e=r.prng.create(n);return e.getBytes=function(t,n){return e.generate(t,n)},e.getBytesSync=function(t){return e.generate(t)},e}n.formatKey=function(e){var t=r.util.createBuffer(e);return(e=new Array(4))[0]=t.getInt32(),e[1]=t.getInt32(),e[2]=t.getInt32(),e[3]=t.getInt32(),r.aes._expandKey(e,!1)},n.formatSeed=function(e){var t=r.util.createBuffer(e);return(e=new Array(4))[0]=t.getInt32(),e[1]=t.getInt32(),e[2]=t.getInt32(),e[3]=t.getInt32(),e},n.cipher=function(e,t){return r.aes._updateBlock(e,t,i,!1),a.putInt32(i[0]),a.putInt32(i[1]),a.putInt32(i[2]),a.putInt32(i[3]),a.getBytes()},n.increment=function(e){return++e[3],e},n.md=r.md.sha256;var s=o(),l=null;if("undefined"!=typeof window){var c=window.crypto||window.msCrypto;c&&c.getRandomValues&&(l=function(e){return c.getRandomValues(e)})}if(r.options.usePureJavaScript||!r.util.isNodejs&&!l){if("undefined"==typeof window||window.document,s.collectInt(+new Date,32),"undefined"!=typeof navigator){var u="";for(var d in navigator)try{"string"==typeof navigator[d]&&(u+=navigator[d])}catch(h){}s.collect(u),u=null}t&&(t().mousemove(function(e){s.collectInt(e.clientX,16),s.collectInt(e.clientY,16)}),t().keypress(function(e){s.collectInt(e.charCode,8)}))}if(r.random)for(var d in s)r.random[d]=s[d];else r.random=s;r.random.createInstance=o,e.exports=r.random}("undefined"!=typeof jQuery?jQuery:null)},function(e,t,n){"use strict";n.d(t,"b",function(){return i}),n.d(t,"a",function(){return a});var r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n")}),d=function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2===n.length&&"a"===n[0]&&"b"===n[1]}();e.exports=function(e,t,n){var h=s(e),p=!a(function(){var t={};return t[h]=function(){return 7},7!=""[e](t)}),f=p?!a(function(){var t=!1,n=/a/;return n.exec=function(){return t=!0,null},"split"===e&&(n.constructor={},n.constructor[c]=function(){return n}),n[h](""),!t}):void 0;if(!p||!f||"replace"===e&&!u||"split"===e&&!d){var m=/./[h],g=n(o,h,""[e],function(e,t,n,r,i){return t.exec===l?p&&!i?{done:!0,value:m.call(t,n,r)}:{done:!0,value:e.call(n,t,r)}:{done:!1}}),y=g[0],b=g[1];r(String.prototype,e,y),i(RegExp.prototype,h,2==t?function(e,t){return b.call(e,this,t)}:function(e){return b.call(e,this)})}}},function(e,t,n){"use strict";var r=n(19),i=n(2),a=n(50),o=n(99),s=n(81),l=n(98),c=n(97),u=n(21),d=n(20),h=n(131),p=n(105),f=n(173);e.exports=function(e,t,n,m,g,y){var b=r[e],v=b,k=g?"set":"add",w=v&&v.prototype,_={},j=function(e){var t=w[e];a(w,e,"delete"==e?function(e){return!(y&&!u(e))&&t.call(this,0===e?0:e)}:"has"==e?function(e){return!(y&&!u(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return y&&!u(e)?void 0:t.call(this,0===e?0:e)}:"add"==e?function(e){return t.call(this,0===e?0:e),this}:function(e,n){return t.call(this,0===e?0:e,n),this})};if("function"==typeof v&&(y||w.forEach&&!d(function(){(new v).entries().next()}))){var C=new v,E=C[k](y?{}:-0,1)!=C,x=d(function(){C.has(1)}),S=h(function(e){new v(e)}),T=!y&&d(function(){for(var e=new v,t=5;t--;)e[k](t,t);return!e.has(-0)});S||((v=t(function(t,n){c(t,v,e);var r=f(new b,t,v);return null!=n&&l(n,g,r[k],r),r})).prototype=w,w.constructor=v),(x||T)&&(j("delete"),j("has"),g&&j("get")),(T||E)&&j(k),y&&w.clear&&delete w.clear}else v=m.getConstructor(t,e,g,k),o(v.prototype,n),s.NEED=!0;return p(v,e),_[e]=v,i(i.G+i.W+i.F*(v!=b),_),y||m.setStrong(v,e,g),v}},function(e,t,n){for(var r,i=n(19),a=n(55),o=n(88),s=o("typed_array"),l=o("view"),c=!(!i.ArrayBuffer||!i.DataView),u=c,d=0,h="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");d<9;)(r=i[h[d++]])?(a(r.prototype,s,!0),a(r.prototype,l,!0)):u=!1;e.exports={ABV:c,CONSTR:u,TYPED:s,VIEW:l}},function(e,t){var n,r,i=e.exports={};function a(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function s(e){if(n===setTimeout)return setTimeout(e,0);if((n===a||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:a}catch(e){n=a}try{r="function"==typeof clearTimeout?clearTimeout:o}catch(e){r=o}}();var l,c=[],u=!1,d=-1;function h(){u&&l&&(u=!1,l.length?c=l.concat(c):d=-1,c.length&&p())}function p(){if(!u){var e=s(h);u=!0;for(var t=c.length;t;){for(l=c,c=[];++d1)for(var n=1;nt){var r=new Error("Too few bytes to parse DER.");throw r.available=e.length(),r.remaining=t,r.requested=n,r}}i.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192},i.Type={NONE:0,BOOLEAN:1,INTEGER:2,BITSTRING:3,OCTETSTRING:4,NULL:5,OID:6,ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30},i.create=function(e,t,n,a,o){if(r.util.isArray(a)){for(var s=[],l=0;ln){if(s.strict){var p=new Error("Too few bytes to read ASN.1 value.");throw p.available=t.length(),p.remaining=n,p.requested=h,p}h=n}var f;var m;var g=32==(32&c);if(g)if(f=[],void 0===h)for(;;){if(a(t,n,2),t.bytes(2)===String.fromCharCode(0,0)){t.getBytes(2),n-=2;break}l=t.length(),f.push(e(t,n,r+1,s)),n-=l-t.length()}else for(;h>0;)l=t.length(),f.push(e(t,h,r+1,s)),n-=l-t.length(),h-=l-t.length();void 0===f&&u===i.Class.UNIVERSAL&&d===i.Type.BITSTRING&&(m=t.bytes(h));if(void 0===f&&s.decodeBitStrings&&u===i.Class.UNIVERSAL&&d===i.Type.BITSTRING&&h>1){var y=t.read,b=n,v=0;if(d===i.Type.BITSTRING&&(a(t,n,1),v=t.getByte(),n--),0===v)try{l=t.length();var k={verbose:s.verbose,strict:!0,decodeBitStrings:!0},w=e(t,n,r+1,k),_=l-t.length();n-=_,d==i.Type.BITSTRING&&_++;var j=w.tagClass;_!==h||j!==i.Class.UNIVERSAL&&j!==i.Class.CONTEXT_SPECIFIC||(f=[w])}catch(E){}void 0===f&&(t.read=y,n=b)}if(void 0===f){if(void 0===h){if(s.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");h=n}if(d===i.Type.BMPSTRING)for(f="";h>0;h-=2)a(t,n,2),f+=String.fromCharCode(t.getInt16()),n-=2;else f=t.getBytes(h)}var C=void 0===m?null:{bitStringContents:m};return i.create(u,d,g,f,C)}(e,e.length(),0,t)},i.toDer=function(e){var t=r.util.createBuffer(),n=e.tagClass|e.type,a=r.util.createBuffer(),o=!1;if("bitStringContents"in e&&(o=!0,e.original&&(o=i.equals(e,e.original))),o)a.putBytes(e.bitStringContents);else if(e.composed){e.constructed?n|=32:a.putByte(0);for(var s=0;s1&&(0===e.value.charCodeAt(0)&&0==(128&e.value.charCodeAt(1))||255===e.value.charCodeAt(0)&&128==(128&e.value.charCodeAt(1)))?a.putBytes(e.value.substr(1)):a.putBytes(e.value);if(t.putByte(n),a.length()<=127)t.putByte(127&a.length());else{var l=a.length(),c="";do{c+=String.fromCharCode(255&l),l>>>=8}while(l>0);t.putByte(128|c.length);for(s=c.length-1;s>=0;--s)t.putByte(c.charCodeAt(s))}return t.putBuffer(a),t},i.oidToDer=function(e){var t,n,i,a,o=e.split("."),s=r.util.createBuffer();s.putByte(40*parseInt(o[0],10)+parseInt(o[1],10));for(var l=2;l>>=7,t||(a|=128),n.push(a),t=!1}while(i>0);for(var c=n.length-1;c>=0;--c)s.putByte(n[c])}return s},i.derToOid=function(e){var t;"string"==typeof e&&(e=r.util.createBuffer(e));var n=e.getByte();t=Math.floor(n/40)+"."+n%40;for(var i=0;e.length()>0;)i<<=7,128&(n=e.getByte())?i+=127&n:(t+="."+(i+n),i=0);return t},i.utcTimeToDate=function(e){var t=new Date,n=parseInt(e.substr(0,2),10);n=n>=50?1900+n:2e3+n;var r=parseInt(e.substr(2,2),10)-1,i=parseInt(e.substr(4,2),10),a=parseInt(e.substr(6,2),10),o=parseInt(e.substr(8,2),10),s=0;if(e.length>11){var l=e.charAt(10),c=10;"+"!==l&&"-"!==l&&(s=parseInt(e.substr(10,2),10),c+=2)}if(t.setUTCFullYear(n,r,i),t.setUTCHours(a,o,s,0),c&&("+"===(l=e.charAt(c))||"-"===l)){var u=60*parseInt(e.substr(c+1,2),10)+parseInt(e.substr(c+4,2),10);u*=6e4,"+"===l?t.setTime(+t-u):t.setTime(+t+u)}return t},i.generalizedTimeToDate=function(e){var t=new Date,n=parseInt(e.substr(0,4),10),r=parseInt(e.substr(4,2),10)-1,i=parseInt(e.substr(6,2),10),a=parseInt(e.substr(8,2),10),o=parseInt(e.substr(10,2),10),s=parseInt(e.substr(12,2),10),l=0,c=0,u=!1;"Z"===e.charAt(e.length-1)&&(u=!0);var d=e.length-5,h=e.charAt(d);"+"!==h&&"-"!==h||(c=60*parseInt(e.substr(d+1,2),10)+parseInt(e.substr(d+4,2),10),c*=6e4,"+"===h&&(c*=-1),u=!0);return"."===e.charAt(14)&&(l=1e3*parseFloat(e.substr(14),10)),u?(t.setUTCFullYear(n,r,i),t.setUTCHours(a,o,s,l),t.setTime(+t+c)):(t.setFullYear(n,r,i),t.setHours(a,o,s,l)),t},i.dateToUtcTime=function(e){if("string"==typeof e)return e;var t="",n=[];n.push((""+e.getUTCFullYear()).substr(2)),n.push(""+(e.getUTCMonth()+1)),n.push(""+e.getUTCDate()),n.push(""+e.getUTCHours()),n.push(""+e.getUTCMinutes()),n.push(""+e.getUTCSeconds());for(var r=0;r=-128&&e<128)return t.putSignedInt(e,8);if(e>=-32768&&e<32768)return t.putSignedInt(e,16);if(e>=-8388608&&e<8388608)return t.putSignedInt(e,24);if(e>=-2147483648&&e<2147483648)return t.putSignedInt(e,32);var n=new Error("Integer too large; max is 32-bits.");throw n.integer=e,n},i.derToInteger=function(e){"string"==typeof e&&(e=r.util.createBuffer(e));var t=8*e.length();if(t>32)throw new Error("Integer too large; max is 32-bits.");return e.getSignedInt(t)},i.validate=function(e,t,n,a){var o=!1;if(e.tagClass!==t.tagClass&&void 0!==t.tagClass||e.type!==t.type&&void 0!==t.type)a&&(e.tagClass!==t.tagClass&&a.push("["+t.name+'] Expected tag class "'+t.tagClass+'", got "'+e.tagClass+'"'),e.type!==t.type&&a.push("["+t.name+'] Expected type "'+t.type+'", got "'+e.type+'"'));else if(e.constructed===t.constructed||void 0===t.constructed){if(o=!0,t.value&&r.util.isArray(t.value))for(var s=0,l=0;o&&l0&&(a+="\n");for(var o="",l=0;l1?a+="0x"+r.util.bytesToHex(e.value.slice(1)):a+="(none)",e.value.length>0){var h=e.value.charCodeAt(0);1==h?a+=" (1 unused bit shown)":h>1&&(a+=" ("+h+" unused bits shown)")}}else e.type===i.Type.OCTETSTRING?(s.test(e.value)||(a+="("+e.value+") "),a+="0x"+r.util.bytesToHex(e.value)):e.type===i.Type.UTF8?a+=r.util.decodeUtf8(e.value):e.type===i.Type.PRINTABLESTRING||e.type===i.Type.IA5String?a+=e.value:s.test(e.value)?a+="0x"+r.util.bytesToHex(e.value):0===e.value.length?a+="[null]":a+=e.value}return a}},function(e,t,n){var r=n(35);e.exports=r.md=r.md||{},r.md.algorithms=r.md.algorithms||{}},function(e,t,n){"use strict";function r(e){return"function"==typeof e}n.d(t,"a",function(){return r})},function(e,t,n){"use strict";n.d(t,"b",function(){return u}),n.d(t,"a",function(){return d});var r=n(1),i=n(32),a=n(24),o=n(53),s=n(127),l=n(293),c=n(193),u=function(e){function t(t){var n=e.call(this,t)||this;return n.destination=t,n}return r.c(t,e),t}(a.a),d=function(e){function t(){var t=e.call(this)||this;return t.observers=[],t.closed=!1,t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return r.c(t,e),t.prototype[c.a]=function(){return new u(this)},t.prototype.lift=function(e){var t=new h(this,this);return t.operator=e,t},t.prototype.next=function(e){if(this.closed)throw new s.a;if(!this.isStopped)for(var t=this.observers,n=t.length,r=t.slice(),i=0;iu;)if((s=l[u++])!=s)return!0}else for(;c>u;u++)if((e||u in l)&&l[u]===n)return e||u||0;return!e&&-1}}},function(e,t,n){var r=n(66);e.exports=Array.isArray||function(e){return"Array"==r(e)}},function(e,t,n){var r=n(63),i=n(75);e.exports=function(e){return function(t,n){var a,o,s=String(i(t)),l=r(n),c=s.length;return l<0||l>=c?e?"":void 0:(a=s.charCodeAt(l))<55296||a>56319||l+1===c||(o=s.charCodeAt(l+1))<56320||o>57343?e?s.charAt(l):a:e?s.slice(l,l+2):o-56320+(a-55296<<10)+65536}}},function(e,t,n){"use strict";var r=n(85),i=n(2),a=n(50),o=n(55),s=n(106),l=n(176),c=n(105),u=n(56),d=n(27)("iterator"),h=!([].keys&&"next"in[].keys()),p=function(){return this};e.exports=function(e,t,n,f,m,g,y){l(n,t,f);var b,v,k,w=function(e){if(!h&&e in E)return E[e];switch(e){case"keys":case"values":return function(){return new n(this,e)}}return function(){return new n(this,e)}},_=t+" Iterator",j="values"==m,C=!1,E=e.prototype,x=E[d]||E["@@iterator"]||m&&E[m],S=x||w(m),T=m?j?w("entries"):S:void 0,O="Array"==t&&E.entries||x;if(O&&(k=u(O.call(new e)))!==Object.prototype&&k.next&&(c(k,_,!0),r||"function"==typeof k[d]||o(k,d,p)),j&&x&&"values"!==x.name&&(C=!0,S=function(){return x.call(this)}),r&&!y||!h&&!C&&E[d]||o(E,d,S),s[t]=S,s[_]=p,m)if(b={values:j?S:w("values"),keys:g?S:w("keys"),entries:T},y)for(v in b)v in E||a(E,v,b[v]);else i(i.P+i.F*(h||C),t,b);return b}},function(e,t,n){var r=n(21),i=n(66),a=n(27)("match");e.exports=function(e){var t;return r(e)&&(void 0!==(t=e[a])?!!t:"RegExp"==i(e))}},,,,,function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t,n){"use strict";n.d(t,"a",function(){return r});var r=function(){function e(){}return e.prototype.log=function(e,t){},e.instance=new e,e}()},function(e,t,n){"use strict";function r(e){return e}n.d(t,"a",function(){return r})},function(e,t,n){"use strict";function r(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}n.d(t,"a",function(){return i});var i=r()},function(e,t,n){"use strict";n.d(t,"a",function(){return a});var r=n(1),i=n(24);function a(e,t){return function(n){if("function"!=typeof e)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return n.lift(new o(e,t))}}var o=function(){function e(e,t){this.project=e,this.thisArg=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.project,this.thisArg))},e}(),s=function(e){function t(t,n,r){var i=e.call(this,t)||this;return i.project=n,i.count=0,i.thisArg=r||i,i}return r.c(t,e),t.prototype._next=function(e){var t;try{t=this.project.call(this.thisArg,e,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(t)},t}(i.a)},function(e,t,n){"use strict";n.d(t,"a",function(){return i}),n.d(t,"b",function(){return a});var r=n(32),i=new r.a(function(e){return e.complete()});function a(e){return e?function(e){return new r.a(function(t){return e.schedule(function(){return t.complete()})})}(e):i}},function(e,t,n){"use strict";var r=n(32),i=n(214),a=n(53),o=n(126);var s=n(212),l=n(159);var c=n(298),u=n(296);function d(e,t){if(null!=e){if(function(e){return e&&"function"==typeof e[o.a]}(e))return function(e,t){return new r.a(function(n){var r=new a.a;return r.add(t.schedule(function(){var i=e[o.a]();r.add(i.subscribe({next:function(e){r.add(t.schedule(function(){return n.next(e)}))},error:function(e){r.add(t.schedule(function(){return n.error(e)}))},complete:function(){r.add(t.schedule(function(){return n.complete()}))}}))})),r})}(e,t);if(Object(c.a)(e))return function(e,t){return new r.a(function(n){var r=new a.a;return r.add(t.schedule(function(){return e.then(function(e){r.add(t.schedule(function(){n.next(e),r.add(t.schedule(function(){return n.complete()}))}))},function(e){r.add(t.schedule(function(){return n.error(e)}))})})),r})}(e,t);if(Object(u.a)(e))return Object(s.a)(e,t);if(function(e){return e&&"function"==typeof e[l.a]}(e)||"string"==typeof e)return function(e,t){if(!e)throw new Error("Iterable cannot be null");return new r.a(function(n){var r,i=new a.a;return i.add(function(){r&&"function"==typeof r.return&&r.return()}),i.add(t.schedule(function(){r=e[l.a](),i.add(t.schedule(function(){if(!n.closed){var e,t;try{var i=r.next();e=i.value,t=i.done}catch(a){return void n.error(a)}t?n.complete():(n.next(e),this.schedule())}}))})),i})}(e,t)}throw new TypeError((null!==e&&typeof e||e)+" is not observable")}function h(e,t){return t?d(e,t):e instanceof r.a?e:new r.a(Object(i.a)(e))}n.d(t,"a",function(){return h})},function(e,t,n){"use strict";var r=n(1),i=function(e){function t(t,n){return e.call(this)||this}return r.c(t,e),t.prototype.schedule=function(e,t){return void 0===t&&(t=0),this},t}(n(53).a);n.d(t,"a",function(){return a});var a=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r.pending=!1,r}return r.c(t,e),t.prototype.schedule=function(e,t){if(void 0===t&&(t=0),this.closed)return this;this.state=e;var n=this.id,r=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(r,n,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this},t.prototype.requestAsyncId=function(e,t,n){return void 0===n&&(n=0),setInterval(e.flush.bind(e,this),n)},t.prototype.recycleAsyncId=function(e,t,n){if(void 0===n&&(n=0),null!==n&&this.delay===n&&!1===this.pending)return t;clearInterval(t)},t.prototype.execute=function(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(e,t);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},t.prototype._execute=function(e,t){var n=!1,r=void 0;try{this.work(e)}catch(i){n=!0,r=!!i&&i||new Error(i)}if(n)return this.unsubscribe(),r},t.prototype._unsubscribe=function(){var e=this.id,t=this.scheduler,n=t.actions,r=n.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&n.splice(r,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null},t}(i)},function(e,t,n){"use strict";var r=n(1),i=function(){function e(t,n){void 0===n&&(n=e.now),this.SchedulerAction=t,this.now=n}return e.prototype.schedule=function(e,t,n){return void 0===t&&(t=0),new this.SchedulerAction(this,e).schedule(n,t)},e.now=function(){return Date.now()},e}();n.d(t,"a",function(){return a});var a=function(e){function t(n,r){void 0===r&&(r=i.now);var a=e.call(this,n,function(){return t.delegate&&t.delegate!==a?t.delegate.now():r()})||this;return a.actions=[],a.active=!1,a.scheduled=void 0,a}return r.c(t,e),t.prototype.schedule=function(n,r,i){return void 0===r&&(r=0),t.delegate&&t.delegate!==this?t.delegate.schedule(n,r,i):e.prototype.schedule.call(this,n,r,i)},t.prototype.flush=function(e){var t=this.actions;if(this.active)t.push(e);else{var n;this.active=!0;do{if(n=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,n){for(;e=t.shift();)e.unsubscribe();throw n}}},t}(i)},function(e,t,n){"use strict";n.d(t,"a",function(){return r});var r=function(){function e(){}return e.write=function(t){return""+t+e.RecordSeparator},e.parse=function(t){if(t[t.length-1]!==e.RecordSeparator)throw new Error("Message is incomplete.");var n=t.split(e.RecordSeparator);return n.pop(),n},e.RecordSeparatorCode=30,e.RecordSeparator=String.fromCharCode(e.RecordSeparatorCode),e}()},,function(e,t,n){var r=n(21),i=n(19).document,a=r(i)&&r(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},function(e,t,n){var r=n(128)("keys"),i=n(88);e.exports=function(e){return r[e]||(r[e]=i(e))}},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t,n){var r=n(19).document;e.exports=r&&r.documentElement},function(e,t,n){var r=n(21),i=n(14),a=function(e,t){if(i(e),!r(t)&&null!==t)throw TypeError(t+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,t,r){try{(r=n(62)(Function.call,n(59).f(Object.prototype,"__proto__").set,2))(e,[]),t=!(e instanceof Array)}catch(i){t=!0}return function(e,n){return a(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:a}},function(e,t){e.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"},function(e,t,n){var r=n(21),i=n(171).set;e.exports=function(e,t,n){var a,o=t.constructor;return o!==n&&"function"==typeof o&&(a=o.prototype)!==n.prototype&&r(a)&&i&&i(e,a),e}},function(e,t){e.exports=Math.sign||function(e){return 0==(e=+e)||e!=e?e:e<0?-1:1}},function(e,t){var n=Math.expm1;e.exports=!n||n(10)>22025.465794806718||n(10)<22025.465794806718||-2e-17!=n(-2e-17)?function(e){return 0==(e=+e)?e:e>-1e-6&&e<1e-6?e+e*e/2:Math.exp(e)-1}:n},function(e,t,n){"use strict";var r=n(82),i=n(84),a=n(105),o={};n(55)(o,n(27)("iterator"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(o,{next:i(1,n)}),a(e,t+" Iterator")}},function(e,t,n){var r=n(151),i=n(75);e.exports=function(e,t,n){if(r(t))throw TypeError("String#"+n+" doesn't accept regex!");return String(i(e))}},function(e,t,n){var r=n(27)("match");e.exports=function(e){var t=/./;try{"/./"[e](t)}catch(n){try{return t[r]=!1,!"/./"[e](t)}catch(i){}}return!0}},function(e,t,n){var r=n(106),i=n(27)("iterator"),a=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||a[i]===e)}},function(e,t,n){"use strict";var r=n(42),i=n(90),a=n(31);e.exports=function(e){for(var t=r(this),n=a(t.length),o=arguments.length,s=i(o>1?arguments[1]:void 0,n),l=o>2?arguments[2]:void 0,c=void 0===l?n:i(l,n);c>s;)t[s++]=e;return t}},function(e,t,n){"use strict";var r,i,a=n(123),o=RegExp.prototype.exec,s=String.prototype.replace,l=o,c=(r=/a/,i=/b*/g,o.call(r,"a"),o.call(i,"a"),0!==r.lastIndex||0!==i.lastIndex),u=void 0!==/()??/.exec("")[1];(c||u)&&(l=function(e){var t,n,r,i,l=this;return u&&(n=new RegExp("^"+l.source+"$(?!\\s)",a.call(l))),c&&(t=l.lastIndex),r=o.call(l,e),c&&r&&(l.lastIndex=l.global?r.index+r[0].length:t),u&&r&&r.length>1&&s.call(r[0],n,function(){for(i=1;i>1,u=23===t?S(2,-24)-S(2,-77):0,d=0,h=e<0||0===e&&1/e<0?1:0;for((e=x(e))!=e||e===C?(i=e!=e?1:0,r=l):(r=T(O(e)/I),e*(a=S(2,-r))<1&&(r--,a*=2),(e+=r+c>=1?u/a:u*S(2,1-c))*a>=2&&(r++,a/=2),r+c>=l?(i=0,r=l):r+c>=1?(i=(e*a-1)*S(2,t),r+=c):(i=e*S(2,c-1)*S(2,t),r=0));t>=8;o[d++]=255&i,i/=256,t-=8);for(r=r<0;o[d++]=255&r,r/=256,s-=8);return o[--d]|=128*h,o}function P(e,t,n){var r,i=8*n-t-1,a=(1<>1,s=i-7,l=n-1,c=e[l--],u=127&c;for(c>>=7;s>0;u=256*u+e[l],l--,s-=8);for(r=u&(1<<-s)-1,u>>=-s,s+=t;s>0;r=256*r+e[l],l--,s-=8);if(0===u)u=1-o;else{if(u===a)return r?NaN:c?-C:C;r+=S(2,t),u-=o}return(c?-1:1)*r*S(2,u-t)}function R(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]}function M(e){return[255&e]}function q(e){return[255&e,e>>8&255]}function L(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]}function B(e){return N(e,52,8)}function F(e){return N(e,23,4)}function V(e,t,n){m(e[b],t,{get:function(){return this[n]}})}function U(e,t,n,r){var i=p(+n);if(i+t>e[D])throw j(v);var a=e[z]._b,o=i+e[A],s=a.slice(o,o+t);return r?s:s.reverse()}function H(e,t,n,r,i,a){var o=p(+n);if(o+t>e[D])throw j(v);for(var s=e[z]._b,l=o+e[A],c=r(+i),u=0;uQ;)(W=G[Q++])in k||s(k,W,E[W]);a||(K.constructor=k)}var $=new w(new k(2)),Y=w[b].setInt8;$.setInt8(0,2147483648),$.setInt8(1,2147483649),!$.getInt8(0)&&$.getInt8(1)||l(w[b],{setInt8:function(e,t){Y.call(this,e,t<<24>>24)},setUint8:function(e,t){Y.call(this,e,t<<24>>24)}},!0)}else k=function(e){u(this,k,"ArrayBuffer");var t=p(e);this._b=g.call(new Array(t),0),this[D]=t},w=function(e,t,n){u(this,w,"DataView"),u(e,k,"DataView");var r=e[D],i=d(t);if(i<0||i>r)throw j("Wrong offset!");if(i+(n=void 0===n?r-i:h(n))>r)throw j("Wrong length!");this[z]=e,this[A]=i,this[D]=n},i&&(V(k,"byteLength","_l"),V(w,"buffer","_b"),V(w,"byteLength","_l"),V(w,"byteOffset","_o")),l(w[b],{getInt8:function(e){return U(this,1,e)[0]<<24>>24},getUint8:function(e){return U(this,1,e)[0]},getInt16:function(e){var t=U(this,2,e,arguments[1]);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=U(this,2,e,arguments[1]);return t[1]<<8|t[0]},getInt32:function(e){return R(U(this,4,e,arguments[1]))},getUint32:function(e){return R(U(this,4,e,arguments[1]))>>>0},getFloat32:function(e){return P(U(this,4,e,arguments[1]),23,4)},getFloat64:function(e){return P(U(this,8,e,arguments[1]),52,8)},setInt8:function(e,t){H(this,1,e,M,t)},setUint8:function(e,t){H(this,1,e,M,t)},setInt16:function(e,t){H(this,2,e,q,t,arguments[2])},setUint16:function(e,t){H(this,2,e,q,t,arguments[2])},setInt32:function(e,t){H(this,4,e,L,t,arguments[2])},setUint32:function(e,t){H(this,4,e,L,t,arguments[2])},setFloat32:function(e,t){H(this,4,e,F,t,arguments[2])},setFloat64:function(e,t){H(this,8,e,B,t,arguments[2])}});y(k,"ArrayBuffer"),y(w,"DataView"),s(w[b],o.VIEW,!0),t.ArrayBuffer=k,t.DataView=w},,,,,,function(e,t,n){var r=n(103),i=r.Buffer;function a(e,t){for(var n in e)t[n]=e[n]}function o(e,t,n){return i(e,t,n)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=r:(a(r,t),t.Buffer=o),a(i,o),o.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return i(e,t,n)},o.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var r=i(e);return void 0!==t?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},o.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return i(e)},o.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r.SlowBuffer(e)}},function(e,t,n){"use strict";var r=n(287),i=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=d;var a=n(258);a.inherits=n(156);var o=n(680),s=n(492);a.inherits(d,o);for(var l=i(s.prototype),c=0;c>>=2;for(i=0;i>8^255&d^99,a[m]=d,o[d]=m,p=(h=e[d])<<24^d<<16^d<<8^d^h,f=((n=e[m])^(r=e[n])^(i=e[r]))<<24^(m^i)<<16^(m^r^i)<<8^m^n^i;for(var y=0;y<4;++y)l[y][m]=p,c[y][d]=f,p=p<<24|p>>>8,f=f<<24|f>>>8;0===m?m=g=1:(m=n^e[e[e[n^i]]],g^=e[e[g]])}}function p(e,t){for(var n,r=e.slice(0),i=1,o=r.length,l=d*(o+6+1),u=o;u>>16&255]<<24^a[n>>>8&255]<<16^a[255&n]<<8^a[n>>>24]^s[i]<<24,i++):o>6&&u%o==4&&(n=a[n>>>24]<<24^a[n>>>16&255]<<16^a[n>>>8&255]<<8^a[255&n]),r[u]=r[u-o]^n;if(t){for(var h,p=c[0],f=c[1],m=c[2],g=c[3],y=r.slice(0),b=(u=0,(l=r.length)-d);u>>24]]^f[a[h>>>16&255]]^m[a[h>>>8&255]]^g[a[255&h]];r=y}return r}function f(e,t,n,r){var i,s,u,d,h,p,f,m,g,y,b,v,k=e.length/4-1;r?(i=c[0],s=c[1],u=c[2],d=c[3],h=o):(i=l[0],s=l[1],u=l[2],d=l[3],h=a),p=t[0]^e[0],f=t[r?3:1]^e[1],m=t[2]^e[2],g=t[r?1:3]^e[3];for(var w=3,_=1;_>>24]^s[f>>>16&255]^u[m>>>8&255]^d[255&g]^e[++w],b=i[f>>>24]^s[m>>>16&255]^u[g>>>8&255]^d[255&p]^e[++w],v=i[m>>>24]^s[g>>>16&255]^u[p>>>8&255]^d[255&f]^e[++w],g=i[g>>>24]^s[p>>>16&255]^u[f>>>8&255]^d[255&m]^e[++w],p=y,f=b,m=v;n[0]=h[p>>>24]<<24^h[f>>>16&255]<<16^h[m>>>8&255]<<8^h[255&g]^e[++w],n[r?3:1]=h[f>>>24]<<24^h[m>>>16&255]<<16^h[g>>>8&255]<<8^h[255&p]^e[++w],n[2]=h[m>>>24]<<24^h[g>>>16&255]<<16^h[p>>>8&255]<<8^h[255&f]^e[++w],n[r?1:3]=h[g>>>24]<<24^h[p>>>16&255]<<16^h[f>>>8&255]<<8^h[255&m]^e[++w]}function m(e){var t,n="AES-"+((e=e||{}).mode||"CBC").toUpperCase(),i=(t=e.decrypt?r.cipher.createDecipher(n,e.key):r.cipher.createCipher(n,e.key)).start;return t.start=function(e,n){var a=null;n instanceof r.util.ByteBuffer&&(a=n,n={}),(n=n||{}).output=a,n.iv=e,i.call(t,n)},t}},function(e,t,n){var r=n(35);r.pki=r.pki||{};var i=e.exports=r.pki.oids=r.oids=r.oids||{};function a(e,t){i[e]=t,i[t]=e}function o(e,t){i[e]=t}a("1.2.840.113549.1.1.1","rsaEncryption"),a("1.2.840.113549.1.1.4","md5WithRSAEncryption"),a("1.2.840.113549.1.1.5","sha1WithRSAEncryption"),a("1.2.840.113549.1.1.7","RSAES-OAEP"),a("1.2.840.113549.1.1.8","mgf1"),a("1.2.840.113549.1.1.9","pSpecified"),a("1.2.840.113549.1.1.10","RSASSA-PSS"),a("1.2.840.113549.1.1.11","sha256WithRSAEncryption"),a("1.2.840.113549.1.1.12","sha384WithRSAEncryption"),a("1.2.840.113549.1.1.13","sha512WithRSAEncryption"),a("1.2.840.10040.4.3","dsa-with-sha1"),a("1.3.14.3.2.7","desCBC"),a("1.3.14.3.2.26","sha1"),a("2.16.840.1.101.3.4.2.1","sha256"),a("2.16.840.1.101.3.4.2.2","sha384"),a("2.16.840.1.101.3.4.2.3","sha512"),a("1.2.840.113549.2.5","md5"),a("1.2.840.113549.1.7.1","data"),a("1.2.840.113549.1.7.2","signedData"),a("1.2.840.113549.1.7.3","envelopedData"),a("1.2.840.113549.1.7.4","signedAndEnvelopedData"),a("1.2.840.113549.1.7.5","digestedData"),a("1.2.840.113549.1.7.6","encryptedData"),a("1.2.840.113549.1.9.1","emailAddress"),a("1.2.840.113549.1.9.2","unstructuredName"),a("1.2.840.113549.1.9.3","contentType"),a("1.2.840.113549.1.9.4","messageDigest"),a("1.2.840.113549.1.9.5","signingTime"),a("1.2.840.113549.1.9.6","counterSignature"),a("1.2.840.113549.1.9.7","challengePassword"),a("1.2.840.113549.1.9.8","unstructuredAddress"),a("1.2.840.113549.1.9.14","extensionRequest"),a("1.2.840.113549.1.9.20","friendlyName"),a("1.2.840.113549.1.9.21","localKeyId"),a("1.2.840.113549.1.9.22.1","x509Certificate"),a("1.2.840.113549.1.12.10.1.1","keyBag"),a("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag"),a("1.2.840.113549.1.12.10.1.3","certBag"),a("1.2.840.113549.1.12.10.1.4","crlBag"),a("1.2.840.113549.1.12.10.1.5","secretBag"),a("1.2.840.113549.1.12.10.1.6","safeContentsBag"),a("1.2.840.113549.1.5.13","pkcs5PBES2"),a("1.2.840.113549.1.5.12","pkcs5PBKDF2"),a("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4"),a("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4"),a("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC"),a("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC"),a("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC"),a("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC"),a("1.2.840.113549.2.7","hmacWithSHA1"),a("1.2.840.113549.2.8","hmacWithSHA224"),a("1.2.840.113549.2.9","hmacWithSHA256"),a("1.2.840.113549.2.10","hmacWithSHA384"),a("1.2.840.113549.2.11","hmacWithSHA512"),a("1.2.840.113549.3.7","des-EDE3-CBC"),a("2.16.840.1.101.3.4.1.2","aes128-CBC"),a("2.16.840.1.101.3.4.1.22","aes192-CBC"),a("2.16.840.1.101.3.4.1.42","aes256-CBC"),a("2.5.4.3","commonName"),a("2.5.4.5","serialName"),a("2.5.4.6","countryName"),a("2.5.4.7","localityName"),a("2.5.4.8","stateOrProvinceName"),a("2.5.4.10","organizationName"),a("2.5.4.11","organizationalUnitName"),a("2.16.840.1.113730.1.1","nsCertType"),o("2.5.29.1","authorityKeyIdentifier"),o("2.5.29.2","keyAttributes"),o("2.5.29.3","certificatePolicies"),o("2.5.29.4","keyUsageRestriction"),o("2.5.29.5","policyMapping"),o("2.5.29.6","subtreesConstraint"),o("2.5.29.7","subjectAltName"),o("2.5.29.8","issuerAltName"),o("2.5.29.9","subjectDirectoryAttributes"),o("2.5.29.10","basicConstraints"),o("2.5.29.11","nameConstraints"),o("2.5.29.12","policyConstraints"),o("2.5.29.13","basicConstraints"),a("2.5.29.14","subjectKeyIdentifier"),a("2.5.29.15","keyUsage"),o("2.5.29.16","privateKeyUsagePeriod"),a("2.5.29.17","subjectAltName"),a("2.5.29.18","issuerAltName"),a("2.5.29.19","basicConstraints"),o("2.5.29.20","cRLNumber"),o("2.5.29.21","cRLReason"),o("2.5.29.22","expirationDate"),o("2.5.29.23","instructionCode"),o("2.5.29.24","invalidityDate"),o("2.5.29.25","cRLDistributionPoints"),o("2.5.29.26","issuingDistributionPoint"),o("2.5.29.27","deltaCRLIndicator"),o("2.5.29.28","issuingDistributionPoint"),o("2.5.29.29","certificateIssuer"),o("2.5.29.30","nameConstraints"),a("2.5.29.31","cRLDistributionPoints"),a("2.5.29.32","certificatePolicies"),o("2.5.29.33","policyMappings"),o("2.5.29.34","policyConstraints"),a("2.5.29.35","authorityKeyIdentifier"),o("2.5.29.36","policyConstraints"),a("2.5.29.37","extKeyUsage"),o("2.5.29.46","freshestCRL"),o("2.5.29.54","inhibitAnyPolicy"),a("1.3.6.1.4.1.11129.2.4.2","timestampList"),a("1.3.6.1.5.5.7.1.1","authorityInfoAccess"),a("1.3.6.1.5.5.7.3.1","serverAuth"),a("1.3.6.1.5.5.7.3.2","clientAuth"),a("1.3.6.1.5.5.7.3.3","codeSigning"),a("1.3.6.1.5.5.7.3.4","emailProtection"),a("1.3.6.1.5.5.7.3.8","timeStamping")},function(e,t,n){"use strict";n.d(t,"a",function(){return r});var r=function(){return"function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random()}()},function(e,t,n){"use strict";var r,i=n(161),a=n(299),o=n(32);function s(e){var t=e.error;e.subscriber.error(t)}n.d(t,"a",function(){return l}),r||(r={});var l=function(){function e(e,t,n){this.kind=e,this.value=t,this.error=n,this.hasValue="N"===e}return e.prototype.observe=function(e){switch(this.kind){case"N":return e.next&&e.next(this.value);case"E":return e.error&&e.error(this.error);case"C":return e.complete&&e.complete()}},e.prototype.do=function(e,t,n){switch(this.kind){case"N":return e&&e(this.value);case"E":return t&&t(this.error);case"C":return n&&n()}},e.prototype.accept=function(e,t,n){return e&&"function"==typeof e.next?this.observe(e):this.do(e,t,n)},e.prototype.toObservable=function(){var e,t;switch(this.kind){case"N":return Object(a.a)(this.value);case"E":return e=this.error,t?new o.a(function(n){return t.schedule(s,0,{error:e,subscriber:n})}):new o.a(function(t){return t.error(e)});case"C":return Object(i.b)()}throw new Error("unexpected notification kind value")},e.createNext=function(t){return void 0!==t?new e("N",t):e.undefinedValueNotification},e.createError=function(t){return new e("E",void 0,t)},e.createComplete=function(){return e.completeNotification},e.completeNotification=new e("C"),e.undefinedValueNotification=new e("N",void 0),e}()},function(e,t,n){"use strict";var r=n(189).Buffer,i=n(1e3),a=n(288),o=n(1002),s=n(1003),l=n(1004);e.exports=function(e){var t=[],n=[];return{encode:l(t,(e=e||{forceFloat64:!1,compatibilityMode:!1,disableTimestampEncoding:!1}).forceFloat64,e.compatibilityMode,e.disableTimestampEncoding),decode:s(n),register:function(e,t,n,o){return i(t,"must have a constructor"),i(n,"must have an encode function"),i(e>=0,"must have a non-negative type"),i(o,"must have a decode function"),this.registerEncoder(function(e){return e instanceof t},function(t){var i=a(),o=r.allocUnsafe(1);return o.writeInt8(e,0),i.append(o),i.append(n(t)),i}),this.registerDecoder(e,o),this},registerEncoder:function(e,n){return i(e,"must have an encode function"),i(n,"must have an encode function"),t.push({check:e,encode:n}),this},registerDecoder:function(e,t){return i(e>=0,"must have a non-negative type"),i(t,"must have a decode function"),n.push({type:e,decode:t}),this},encoder:o.encoder,decoder:o.decoder,buffer:!0,type:"msgpack5",IncompleteBufferError:s.IncompleteBufferError}}},function(e,t,n){"use strict";var r=n(89),i=n(129),a=n(122),o=n(42),s=n(113),l=Object.assign;e.exports=!l||n(20)(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=l({},e)[n]||Object.keys(l({},t)).join("")!=r})?function(e,t){for(var n=o(e),l=arguments.length,c=1,u=i.f,d=a.f;l>c;)for(var h,p=s(arguments[c++]),f=u?r(p).concat(u(p)):r(p),m=f.length,g=0;m>g;)d.call(p,h=f[g++])&&(n[h]=p[h]);return n}:l},function(e,t){e.exports=function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},function(e,t,n){"use strict";var r=n(63),i=n(75);e.exports=function(e){var t=String(i(this)),n="",a=r(e);if(a<0||a==1/0)throw RangeError("Count can't be negative");for(;a>0;(a>>>=1)&&(t+=t))1&a&&(n+=t);return n}},function(e,t,n){"use strict";var r=n(33),i=n(84);e.exports=function(e,t,n){t in e?r.f(e,t,i(0,n)):e[t]=n}},function(e,t,n){"use strict";var r=n(95),i=n(201),a=n(106),o=n(51);e.exports=n(150)(Array,"Array",function(e,t){this._t=o(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,i(1)):i(0,"keys"==t?n:"values"==t?e[n]:[n,e[n]])},"values"),a.Arguments=a.Array,r("keys"),r("values"),r("entries")},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){var r,i,a,o=n(62),s=n(197),l=n(170),c=n(167),u=n(19),d=u.process,h=u.setImmediate,p=u.clearImmediate,f=u.MessageChannel,m=u.Dispatch,g=0,y={},b=function(){var e=+this;if(y.hasOwnProperty(e)){var t=y[e];delete y[e],t()}},v=function(e){b.call(e.data)};h&&p||(h=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return y[++g]=function(){s("function"==typeof e?e:Function(e),t)},r(g),g},p=function(e){delete y[e]},"process"==n(66)(d)?r=function(e){d.nextTick(o(b,e,1))}:m&&m.now?r=function(e){m.now(o(b,e,1))}:f?(a=(i=new f).port2,i.port1.onmessage=v,r=o(a.postMessage,a,1)):u.addEventListener&&"function"==typeof postMessage&&!u.importScripts?(r=function(e){u.postMessage(e+"","*")},u.addEventListener("message",v,!1)):r="onreadystatechange"in c("script")?function(e){l.appendChild(c("script")).onreadystatechange=function(){l.removeChild(this),b.call(e)}}:function(e){setTimeout(o(b,e,1),0)}),e.exports={set:h,clear:p}},function(e,t,n){"use strict";var r=n(47);function i(e){var t,n;this.promise=new e(function(e,r){if(void 0!==t||void 0!==n)throw TypeError("Bad Promise constructor");t=e,n=r}),this.resolve=r(t),this.reject=r(n)}e.exports.f=function(e){return new i(e)}},function(e,t,n){var r=n(19).navigator;e.exports=r&&r.userAgent||""},,,,,function(e,t,n){var r=n(35);n(43);var i=e.exports=r.pem=r.pem||{};function a(e){for(var t=e.name+": ",n=[],r=function(e,t){return" "+t},i=0;i65&&-1!==o){var s=t[o];","===s?(++o,t=t.substr(0,o)+"\r\n "+t.substr(o)):t=t.substr(0,o)+"\r\n"+s+t.substr(o+1),a=i-o-1,o=-1,++i}else" "!==t[i]&&"\t"!==t[i]&&","!==t[i]||(o=i);return t}function o(e){return e.replace(/^\s+/,"")}i.encode=function(e,t){t=t||{};var n,i="-----BEGIN "+e.type+"-----\r\n";if(e.procType&&(i+=a(n={name:"Proc-Type",values:[String(e.procType.version),e.procType.type]})),e.contentDomain&&(i+=a(n={name:"Content-Domain",values:[e.contentDomain]})),e.dekInfo&&(n={name:"DEK-Info",values:[e.dekInfo.algorithm]},e.dekInfo.parameters&&n.values.push(e.dekInfo.parameters),i+=a(n)),e.headers)for(var o=0;ol;)r(s,n=t[l++])&&(~a(c,n)||c.push(n));return c}},function(e,t,n){var r=n(33),i=n(14),a=n(89);e.exports=n(34)?Object.defineProperties:function(e,t){i(e);for(var n,o=a(t),s=o.length,l=0;s>l;)r.f(e,n=o[l++],t[n]);return e}},function(e,t,n){var r=n(51),i=n(91).f,a={}.toString,o="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];e.exports.f=function(e){return o&&"[object Window]"==a.call(e)?function(e){try{return i(e)}catch(t){return o.slice()}}(e):i(r(e))}},function(e,t){e.exports=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}},function(e,t,n){"use strict";var r=n(47),i=n(21),a=n(197),o=[].slice,s={};e.exports=Function.bind||function(e){var t=r(this),n=o.call(arguments,1),l=function(){var r=n.concat(o.call(arguments));return this instanceof l?function(e,t,n){if(!(t in s)){for(var r=[],i=0;i>>0||(o.test(n)?16:10))}:r},function(e,t,n){var r=n(19).parseFloat,i=n(114).trim;e.exports=1/r(n(172)+"-0")!=-1/0?function(e){var t=i(String(e),3),n=r(t);return 0===n&&"-"==t.charAt(0)?-0:n}:r},function(e,t,n){var r=n(66);e.exports=function(e,t){if("number"!=typeof e&&"Number"!=r(e))throw TypeError(t);return+e}},function(e,t,n){var r=n(21),i=Math.floor;e.exports=function(e){return!r(e)&&isFinite(e)&&i(e)===e}},function(e,t){e.exports=Math.log1p||function(e){return(e=+e)>-1e-8&&e<1e-8?e-e*e/2:Math.log(1+e)}},function(e,t,n){var r=n(14);e.exports=function(e,t,n,i){try{return i?t(r(n)[0],n[1]):t(n)}catch(o){var a=e.return;throw void 0!==a&&r(a.call(e)),o}}},function(e,t,n){var r=n(391);e.exports=function(e,t){return new(r(e))(t)}},function(e,t,n){var r=n(47),i=n(42),a=n(113),o=n(31);e.exports=function(e,t,n,s,l){r(t);var c=i(e),u=a(c),d=o(c.length),h=l?d-1:0,p=l?-1:1;if(n<2)for(;;){if(h in u){s=u[h],h+=p;break}if(h+=p,l?h<0:d<=h)throw TypeError("Reduce of empty array with no initial value")}for(;l?h>=0:d>h;h+=p)h in u&&(s=t(s,u[h],h,c));return s}},function(e,t,n){"use strict";var r=n(42),i=n(90),a=n(31);e.exports=[].copyWithin||function(e,t){var n=r(this),o=a(n.length),s=i(e,o),l=i(t,o),c=arguments.length>2?arguments[2]:void 0,u=Math.min((void 0===c?o:i(c,o))-l,o-s),d=1;for(l0;)l in n?n[s]=n[l]:delete n[s],s+=d,l+=d;return n}},function(e,t,n){"use strict";var r=n(181);n(2)({target:"RegExp",proto:!0,forced:r!==/./.exec},{exec:r})},function(e,t,n){n(34)&&"g"!=/./g.flags&&n(33).f(RegExp.prototype,"flags",{configurable:!0,get:n(123)})},function(e,t,n){var r=n(19),i=n(202).set,a=r.MutationObserver||r.WebKitMutationObserver,o=r.process,s=r.Promise,l="process"==n(66)(o);e.exports=function(){var e,t,n,c=function(){var r,i;for(l&&(r=o.domain)&&r.exit();e;){i=e.fn,e=e.next;try{i()}catch(a){throw e?n():t=void 0,a}}t=void 0,r&&r.enter()};if(l)n=function(){o.nextTick(c)};else if(!a||r.navigator&&r.navigator.standalone)if(s&&s.resolve){var u=s.resolve(void 0);n=function(){u.then(c)}}else n=function(){i.call(r,c)};else{var d=!0,h=document.createTextNode("");new a(c).observe(h,{characterData:!0}),n=function(){h.data=d=!d}}return function(r){var i={fn:r,next:void 0};t&&(t.next=i),e||(e=i,n()),t=i}}},function(e,t,n){"use strict";var r=n(237),i=n(107);e.exports=n(134)("Map",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{get:function(e){var t=r.getEntry(i(this,"Map"),e);return t&&t.v},set:function(e,t){return r.def(i(this,"Map"),0===e?0:e,t)}},r,!0)},function(e,t,n){"use strict";var r=n(33).f,i=n(82),a=n(99),o=n(62),s=n(97),l=n(98),c=n(150),u=n(201),d=n(96),h=n(34),p=n(81).fastKey,f=n(107),m=h?"_s":"size",g=function(e,t){var n,r=p(t);if("F"!==r)return e._i[r];for(n=e._f;n;n=n.n)if(n.k==t)return n};e.exports={getConstructor:function(e,t,n,c){var u=e(function(e,r){s(e,u,t,"_i"),e._t=t,e._i=i(null),e._f=void 0,e._l=void 0,e[m]=0,null!=r&&l(r,n,e[c],e)});return a(u.prototype,{clear:function(){for(var e=f(this,t),n=e._i,r=e._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];e._f=e._l=void 0,e[m]=0},delete:function(e){var n=f(this,t),r=g(n,e);if(r){var i=r.n,a=r.p;delete n._i[r.i],r.r=!0,a&&(a.n=i),i&&(i.p=a),n._f==r&&(n._f=i),n._l==r&&(n._l=a),n[m]--}return!!r},forEach:function(e){f(this,t);for(var n,r=o(e,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(e){return!!g(f(this,t),e)}}),h&&r(u.prototype,"size",{get:function(){return f(this,t)[m]}}),u},def:function(e,t,n){var r,i,a=g(e,t);return a?a.v=n:(e._l=a={i:i=p(t,!0),k:t,v:n,p:r=e._l,n:void 0,r:!1},e._f||(e._f=a),r&&(r.n=a),e[m]++,"F"!==i&&(e._i[i]=a)),e},getEntry:g,setStrong:function(e,t,n){c(e,t,function(e,n){this._t=f(e,t),this._k=n,this._l=void 0},function(){for(var e=this._k,t=this._l;t&&t.r;)t=t.p;return this._t&&(this._l=t=t?t.n:this._t._f)?u(0,"keys"==e?t.k:"values"==e?t.v:[t.k,t.v]):(this._t=void 0,u(1))},n?"entries":"values",!n,!0),d(t)}}},function(e,t,n){"use strict";var r=n(237),i=n(107);e.exports=n(134)("Set",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{add:function(e){return r.def(i(this,"Set"),e=0===e?0:e,e)}},r)},function(e,t,n){"use strict";var r,i=n(68)(0),a=n(50),o=n(81),s=n(196),l=n(240),c=n(21),u=n(20),d=n(107),h=o.getWeak,p=Object.isExtensible,f=l.ufstore,m={},g=function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},y={get:function(e){if(c(e)){var t=h(e);return!0===t?f(d(this,"WeakMap")).get(e):t?t[this._i]:void 0}},set:function(e,t){return l.def(d(this,"WeakMap"),e,t)}},b=e.exports=n(134)("WeakMap",g,y,l,!0,!0);u(function(){return 7!=(new b).set((Object.freeze||Object)(m),7).get(m)})&&(s((r=l.getConstructor(g,"WeakMap")).prototype,y),o.NEED=!0,i(["delete","has","get","set"],function(e){var t=b.prototype,n=t[e];a(t,e,function(t,i){if(c(t)&&!p(t)){this._f||(this._f=new r);var a=this._f[e](t,i);return"set"==e?this:a}return n.call(this,t,i)})}))},function(e,t,n){"use strict";var r=n(99),i=n(81).getWeak,a=n(14),o=n(21),s=n(97),l=n(98),c=n(68),u=n(49),d=n(107),h=c(5),p=c(6),f=0,m=function(e){return e._l||(e._l=new g)},g=function(){this.a=[]},y=function(e,t){return h(e.a,function(e){return e[0]===t})};g.prototype={get:function(e){var t=y(this,e);if(t)return t[1]},has:function(e){return!!y(this,e)},set:function(e,t){var n=y(this,e);n?n[1]=t:this.a.push([e,t])},delete:function(e){var t=p(this.a,function(t){return t[0]===e});return~t&&this.a.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,a){var c=e(function(e,r){s(e,c,t,"_i"),e._t=t,e._i=f++,e._l=void 0,null!=r&&l(r,n,e[a],e)});return r(c.prototype,{delete:function(e){if(!o(e))return!1;var n=i(e);return!0===n?m(d(this,t)).delete(e):n&&u(n,this._i)&&delete n[this._i]},has:function(e){if(!o(e))return!1;var n=i(e);return!0===n?m(d(this,t)).has(e):n&&u(n,this._i)}}),c},def:function(e,t,n){var r=i(a(t),!0);return!0===r?m(e).set(t,n):r[e._i]=n,e},ufstore:m}},function(e,t,n){var r=n(63),i=n(31);e.exports=function(e){if(void 0===e)return 0;var t=r(e),n=i(t);if(t!==n)throw RangeError("Wrong length!");return n}},function(e,t,n){var r=n(91),i=n(129),a=n(14),o=n(19).Reflect;e.exports=o&&o.ownKeys||function(e){var t=r.f(a(e)),n=i.f;return n?t.concat(n(e)):t}},,,,,,,,,,,,,,,function(e,t,n){(t=e.exports=n(680)).Stream=t,t.Readable=t,t.Writable=n(492),t.Duplex=n(190),t.Transform=n(685),t.PassThrough=n(929)},function(e,t,n){(function(e){function n(e){return Object.prototype.toString.call(e)}t.isArray=function(e){return Array.isArray?Array.isArray(e):"[object Array]"===n(e)},t.isBoolean=function(e){return"boolean"==typeof e},t.isNull=function(e){return null===e},t.isNullOrUndefined=function(e){return null==e},t.isNumber=function(e){return"number"==typeof e},t.isString=function(e){return"string"==typeof e},t.isSymbol=function(e){return"symbol"==typeof e},t.isUndefined=function(e){return void 0===e},t.isRegExp=function(e){return"[object RegExp]"===n(e)},t.isObject=function(e){return"object"==typeof e&&null!==e},t.isDate=function(e){return"[object Date]"===n(e)},t.isError=function(e){return"[object Error]"===n(e)||e instanceof Error},t.isFunction=function(e){return"function"==typeof e},t.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},t.isBuffer=e.isBuffer}).call(this,n(103).Buffer)},function(e,t,n){var r=n(35);n(142),n(43),(e.exports=r.hmac=r.hmac||{}).create=function(){var e=null,t=null,n=null,i=null,a={start:function(a,o){if(null!==a)if("string"==typeof a){if(!((a=a.toLowerCase())in r.md.algorithms))throw new Error('Unknown hash algorithm "'+a+'"');t=r.md.algorithms[a].create()}else t=a;if(null===o)o=e;else{if("string"==typeof o)o=r.util.createBuffer(o);else if(r.util.isArray(o)){var s=o;o=r.util.createBuffer();for(var l=0;lt.blockLength&&(t.start(),t.update(o.bytes()),o=t.digest()),n=r.util.createBuffer(),i=r.util.createBuffer(),c=o.length();for(l=0;l>>0,l>>>0];for(var c=i.fullMessageLength.length-1;c>=0;--c)i.fullMessageLength[c]+=l[1],l[1]=l[0]+(i.fullMessageLength[c]/4294967296>>>0),i.fullMessageLength[c]=i.fullMessageLength[c]>>>0,l[0]=l[1]/4294967296>>>0;return t.putBytes(a),s(e,n,t),(t.read>2048||0===t.length())&&t.compact(),i},i.digest=function(){var o=r.util.createBuffer();o.putBytes(t.bytes());var l,c=i.fullMessageLength[i.fullMessageLength.length-1]+i.messageLengthSize&i.blockLength-1;o.putBytes(a.substr(0,i.blockLength-c));for(var u=8*i.fullMessageLength[0],d=0;d>>0,o.putInt32(u>>>0),u=l>>>0;o.putInt32(u);var h={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};s(h,n,o);var p=r.util.createBuffer();return p.putInt32(h.h0),p.putInt32(h.h1),p.putInt32(h.h2),p.putInt32(h.h3),p.putInt32(h.h4),p},i};var a=null,o=!1;function s(e,t,n){for(var r,i,a,o,s,l,c,u=n.length();u>=64;){for(i=e.h0,a=e.h1,o=e.h2,s=e.h3,l=e.h4,c=0;c<16;++c)r=n.getInt32(),t[c]=r,r=(i<<5|i>>>27)+(s^a&(o^s))+l+1518500249+r,l=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=r;for(;c<20;++c)r=(r=t[c-3]^t[c-8]^t[c-14]^t[c-16])<<1|r>>>31,t[c]=r,r=(i<<5|i>>>27)+(s^a&(o^s))+l+1518500249+r,l=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=r;for(;c<32;++c)r=(r=t[c-3]^t[c-8]^t[c-14]^t[c-16])<<1|r>>>31,t[c]=r,r=(i<<5|i>>>27)+(a^o^s)+l+1859775393+r,l=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=r;for(;c<40;++c)r=(r=t[c-6]^t[c-16]^t[c-28]^t[c-32])<<2|r>>>30,t[c]=r,r=(i<<5|i>>>27)+(a^o^s)+l+1859775393+r,l=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=r;for(;c<60;++c)r=(r=t[c-6]^t[c-16]^t[c-28]^t[c-32])<<2|r>>>30,t[c]=r,r=(i<<5|i>>>27)+(a&o|s&(a^o))+l+2400959708+r,l=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=r;for(;c<80;++c)r=(r=t[c-6]^t[c-16]^t[c-28]^t[c-32])<<2|r>>>30,t[c]=r,r=(i<<5|i>>>27)+(a^o^s)+l+3395469782+r,l=s,s=o,o=(a<<30|a>>>2)>>>0,a=i,i=r;e.h0=e.h0+i|0,e.h1=e.h1+a|0,e.h2=e.h2+o|0,e.h3=e.h3+s|0,e.h4=e.h4+l|0,u-=64}}},,function(e,t,n){"use strict";n.d(t,"a",function(){return i}),n.d(t,"b",function(){return a});var r=n(158);function i(){for(var e=[],t=0;ts||n!=n?c*(1/0):c*n}},function(e,t){e.exports=function(e){try{return{e:!1,v:e()}}catch(t){return{e:!0,v:t}}}},function(e,t,n){var r=n(14),i=n(21),a=n(203);e.exports=function(e,t){if(r(e),i(t)&&t.constructor===e)return t;var n=a.f(e);return(0,n.resolve)(t),n.promise}},function(e,t,n){var r=n(98);e.exports=function(e,t){var n=[];return r(e,!1,n.push,n,t),n}},function(e,t,n){var r; -/*! - * jQuery JavaScript Library v3.4.1 - * https://jquery.com/ - * - * Includes Sizzle.js - * https://sizzlejs.com/ - * - * Copyright JS Foundation and other contributors - * Released under the MIT license - * https://jquery.org/license - * - * Date: 2019-05-01T21:04Z - */ -/*! - * jQuery JavaScript Library v3.4.1 - * https://jquery.com/ - * - * Includes Sizzle.js - * https://sizzlejs.com/ - * - * Copyright JS Foundation and other contributors - * Released under the MIT license - * https://jquery.org/license - * - * Date: 2019-05-01T21:04Z - */ -!function(t,n){"use strict";"object"==typeof e.exports?e.exports=t.document?n(t,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(t)}("undefined"!=typeof window?window:this,function(n,i){"use strict";var a=[],o=n.document,s=Object.getPrototypeOf,l=a.slice,c=a.concat,u=a.push,d=a.indexOf,h={},p=h.toString,f=h.hasOwnProperty,m=f.toString,g=m.call(Object),y={},b=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},v=function(e){return null!=e&&e===e.window},k={type:!0,src:!0,nonce:!0,noModule:!0};function w(e,t,n){var r,i,a=(n=n||o).createElement("script");if(a.text=e,t)for(r in k)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&a.setAttribute(r,i);n.head.appendChild(a).parentNode.removeChild(a)}function _(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?h[p.call(e)]||"object":typeof e}var j=function(e,t){return new j.fn.init(e,t)},C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function E(e){var t=!!e&&"length"in e&&e.length,n=_(e);return!b(e)&&!v(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}j.fn=j.prototype={jquery:"3.4.1",constructor:j,length:0,toArray:function(){return l.call(this)},get:function(e){return null==e?l.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=j.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return j.each(this,e)},map:function(e){return this.pushStack(j.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(l.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n+~]|"+M+")"+M+"*"),W=new RegExp(M+"|>"),K=new RegExp(B),G=new RegExp("^"+q+"$"),Q={ID:new RegExp("^#("+q+")"),CLASS:new RegExp("^\\.("+q+")"),TAG:new RegExp("^("+q+"|[*])"),ATTR:new RegExp("^"+L),PSEUDO:new RegExp("^"+B),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},$=/HTML$/i,Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,J=/^[^{]+\{\s*\[native \w/,X=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},ae=function(){h()},oe=ke(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{A.apply(I=N.call(w.childNodes),w.childNodes),I[w.childNodes.length].nodeType}catch(Ee){A={apply:I.length?function(e,t){D.apply(e,N.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(e,t,r,i){var a,s,c,u,d,f,y,b=t&&t.ownerDocument,_=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==_&&9!==_&&11!==_)return r;if(!i&&((t?t.ownerDocument||t:w)!==p&&h(t),t=t||p,m)){if(11!==_&&(d=X.exec(e)))if(a=d[1]){if(9===_){if(!(c=t.getElementById(a)))return r;if(c.id===a)return r.push(c),r}else if(b&&(c=b.getElementById(a))&&v(t,c)&&c.id===a)return r.push(c),r}else{if(d[2])return A.apply(r,t.getElementsByTagName(e)),r;if((a=d[3])&&n.getElementsByClassName&&t.getElementsByClassName)return A.apply(r,t.getElementsByClassName(a)),r}if(n.qsa&&!S[e+" "]&&(!g||!g.test(e))&&(1!==_||"object"!==t.nodeName.toLowerCase())){if(y=e,b=t,1===_&&W.test(e)){for((u=t.getAttribute("id"))?u=u.replace(re,ie):t.setAttribute("id",u=k),s=(f=o(e)).length;s--;)f[s]="#"+u+" "+ve(f[s]);y=f.join(","),b=ee.test(e)&&ye(t.parentNode)||t}try{return A.apply(r,b.querySelectorAll(y)),r}catch(j){S(e,!0)}finally{u===k&&t.removeAttribute("id")}}}return l(e.replace(V,"$1"),t,r,i)}function le(){var e=[];return function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}}function ce(e){return e[k]=!0,e}function ue(e){var t=p.createElement("fieldset");try{return!!e(t)}catch(Ee){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function de(e,t){for(var n=e.split("|"),i=n.length;i--;)r.attrHandle[n[i]]=t}function he(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function pe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function fe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function me(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&oe(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function ge(e){return ce(function(t){return t=+t,ce(function(n,r){for(var i,a=e([],n.length,t),o=a.length;o--;)n[i=a[o]]&&(n[i]=!(r[i]=n[i]))})})}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=se.support={},a=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!$.test(t||n&&n.nodeName||"HTML")},h=se.setDocument=function(e){var t,i,o=e?e.ownerDocument||e:w;return o!==p&&9===o.nodeType&&o.documentElement?(f=(p=o).documentElement,m=!a(p),w!==p&&(i=p.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",ae,!1):i.attachEvent&&i.attachEvent("onunload",ae)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(p.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=J.test(p.getElementsByClassName),n.getById=ue(function(e){return f.appendChild(e).id=k,!p.getElementsByName||!p.getElementsByName(k).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&m){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&m){var n,r,i,a=t.getElementById(e);if(a){if((n=a.getAttributeNode("id"))&&n.value===e)return[a];for(i=t.getElementsByName(e),r=0;a=i[r++];)if((n=a.getAttributeNode("id"))&&n.value===e)return[a]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,a=t.getElementsByTagName(e);if("*"===e){for(;n=a[i++];)1===n.nodeType&&r.push(n);return r}return a},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&m)return t.getElementsByClassName(e)},y=[],g=[],(n.qsa=J.test(p.querySelectorAll))&&(ue(function(e){f.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&g.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||g.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||g.push("~="),e.querySelectorAll(":checked").length||g.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||g.push(".#.+[+~]")}),ue(function(e){e.innerHTML="";var t=p.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&g.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&g.push(":enabled",":disabled"),f.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(n.matchesSelector=J.test(b=f.matches||f.webkitMatchesSelector||f.mozMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=b.call(e,"*"),b.call(e,"[s!='']:x"),y.push("!=",B)}),g=g.length&&new RegExp(g.join("|")),y=y.length&&new RegExp(y.join("|")),t=J.test(f.compareDocumentPosition),v=t||J.test(f.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},T=t?function(e,t){if(e===t)return d=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===p||e.ownerDocument===w&&v(w,e)?-1:t===p||t.ownerDocument===w&&v(w,t)?1:u?P(u,e)-P(u,t):0:4&r?-1:1)}:function(e,t){if(e===t)return d=!0,0;var n,r=0,i=e.parentNode,a=t.parentNode,o=[e],s=[t];if(!i||!a)return e===p?-1:t===p?1:i?-1:a?1:u?P(u,e)-P(u,t):0;if(i===a)return he(e,t);for(n=e;n=n.parentNode;)o.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;o[r]===s[r];)r++;return r?he(o[r],s[r]):o[r]===w?-1:s[r]===w?1:0},p):p},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&h(e),n.matchesSelector&&m&&!S[t+" "]&&(!y||!y.test(t))&&(!g||!g.test(t)))try{var r=b.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(Ee){S(t,!0)}return se(t,p,null,[e]).length>0},se.contains=function(e,t){return(e.ownerDocument||e)!==p&&h(e),v(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==p&&h(e);var i=r.attrHandle[t.toLowerCase()],a=i&&O.call(r.attrHandle,t.toLowerCase())?i(e,t,!m):void 0;return void 0!==a?a:n.attributes||!m?e.getAttribute(t):(a=e.getAttributeNode(t))&&a.specified?a.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,r=[],i=0,a=0;if(d=!n.detectDuplicates,u=!n.sortStable&&e.slice(0),e.sort(T),d){for(;t=e[a++];)t===e[a]&&(i=r.push(a));for(;i--;)e.splice(r[i],1)}return u=null,e},i=se.getText=function(e){var t,n="",r=0,a=e.nodeType;if(a){if(1===a||9===a||11===a){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===a||4===a)return e.nodeValue}else for(;t=e[r++];)n+=i(t);return n},(r=se.selectors={cacheLength:50,createPseudo:ce,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&K.test(n)&&(t=o(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=C[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&C(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=se.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace(F," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var a="nth"!==e.slice(0,3),o="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var c,u,d,h,p,f,m=a!==o?"nextSibling":"previousSibling",g=t.parentNode,y=s&&t.nodeName.toLowerCase(),b=!l&&!s,v=!1;if(g){if(a){for(;m;){for(h=t;h=h[m];)if(s?h.nodeName.toLowerCase()===y:1===h.nodeType)return!1;f=m="only"===e&&!f&&"nextSibling"}return!0}if(f=[o?g.firstChild:g.lastChild],o&&b){for(v=(p=(c=(u=(d=(h=g)[k]||(h[k]={}))[h.uniqueID]||(d[h.uniqueID]={}))[e]||[])[0]===_&&c[1])&&c[2],h=p&&g.childNodes[p];h=++p&&h&&h[m]||(v=p=0)||f.pop();)if(1===h.nodeType&&++v&&h===t){u[e]=[_,p,v];break}}else if(b&&(v=p=(c=(u=(d=(h=t)[k]||(h[k]={}))[h.uniqueID]||(d[h.uniqueID]={}))[e]||[])[0]===_&&c[1]),!1===v)for(;(h=++p&&h&&h[m]||(v=p=0)||f.pop())&&((s?h.nodeName.toLowerCase()!==y:1!==h.nodeType)||!++v||(b&&((u=(d=h[k]||(h[k]={}))[h.uniqueID]||(d[h.uniqueID]={}))[e]=[_,v]),h!==t)););return(v-=i)===r||v%r==0&&v/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return i[k]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?ce(function(e,n){for(var r,a=i(e,t),o=a.length;o--;)e[r=P(e,a[o])]=!(n[r]=a[o])}):function(e){return i(e,0,n)}):i}},pseudos:{not:ce(function(e){var t=[],n=[],r=s(e.replace(V,"$1"));return r[k]?ce(function(e,t,n,i){for(var a,o=r(e,null,i,[]),s=e.length;s--;)(a=o[s])&&(e[s]=!(t[s]=a))}):function(e,i,a){return t[0]=e,r(t,null,a,n),t[0]=null,!n.pop()}}),has:ce(function(e){return function(t){return se(e,t).length>0}}),contains:ce(function(e){return e=e.replace(te,ne),function(t){return(t.textContent||i(t)).indexOf(e)>-1}}),lang:ce(function(e){return G.test(e||"")||se.error("unsupported lang: "+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=m?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:me(!1),disabled:me(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Z.test(e.nodeName)},input:function(e){return Y.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ge(function(){return[0]}),last:ge(function(e,t){return[t-1]}),eq:ge(function(e,t,n){return[n<0?n+t:n]}),even:ge(function(e,t){for(var n=0;nt?t:n;--r>=0;)e.push(r);return e}),gt:ge(function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function _e(e,t,n,r,i){for(var a,o=[],s=0,l=e.length,c=null!=t;s-1&&(a[c]=!(o[c]=d))}}else y=_e(y===o?y.splice(f,y.length):y),i?i(null,o,y,l):A.apply(o,y)})}function Ce(e){for(var t,n,i,a=e.length,o=r.relative[e[0].type],s=o||r.relative[" "],l=o?1:0,u=ke(function(e){return e===t},s,!0),d=ke(function(e){return P(t,e)>-1},s,!0),h=[function(e,n,r){var i=!o&&(r||n!==c)||((t=n).nodeType?u(e,n,r):d(e,n,r));return t=null,i}];l1&&we(h),l>1&&ve(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(V,"$1"),n,l0,i=e.length>0,a=function(a,o,s,l,u){var d,f,g,y=0,b="0",v=a&&[],k=[],w=c,j=a||i&&r.find.TAG("*",u),C=_+=null==w?1:Math.random()||.1,E=j.length;for(u&&(c=o===p||o||u);b!==E&&null!=(d=j[b]);b++){if(i&&d){for(f=0,o||d.ownerDocument===p||(h(d),s=!m);g=e[f++];)if(g(d,o||p,s)){l.push(d);break}u&&(_=C)}n&&((d=!g&&d)&&y--,a&&v.push(d))}if(y+=b,n&&b!==y){for(f=0;g=t[f++];)g(v,k,o,s);if(a){if(y>0)for(;b--;)v[b]||k[b]||(k[b]=z.call(l));k=_e(k)}A.apply(l,k),u&&!a&&k.length>0&&y+t.length>1&&se.uniqueSort(l)}return u&&(_=C,c=w),v};return n?ce(a):a}(a,i))).selector=e}return s},l=se.select=function(e,t,n,i){var a,l,c,u,d,h="function"==typeof e&&e,p=!i&&o(e=h.selector||e);if(n=n||[],1===p.length){if((l=p[0]=p[0].slice(0)).length>2&&"ID"===(c=l[0]).type&&9===t.nodeType&&m&&r.relative[l[1].type]){if(!(t=(r.find.ID(c.matches[0].replace(te,ne),t)||[])[0]))return n;h&&(t=t.parentNode),e=e.slice(l.shift().value.length)}for(a=Q.needsContext.test(e)?0:l.length;a--&&(c=l[a],!r.relative[u=c.type]);)if((d=r.find[u])&&(i=d(c.matches[0].replace(te,ne),ee.test(l[0].type)&&ye(t.parentNode)||t))){if(l.splice(a,1),!(e=i.length&&ve(l)))return A.apply(n,i),n;break}}return(h||s(e,p))(i,t,!m,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},n.sortStable=k.split("").sort(T).join("")===k,n.detectDuplicates=!!d,h(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(p.createElement("fieldset"))}),ue(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||de("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||de("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||de(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(n);j.find=x,j.expr=x.selectors,j.expr[":"]=j.expr.pseudos,j.uniqueSort=j.unique=x.uniqueSort,j.text=x.getText,j.isXMLDoc=x.isXML,j.contains=x.contains,j.escapeSelector=x.escape;var S=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&j(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},O=j.expr.match.needsContext;function I(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var z=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,t,n){return b(t)?j.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?j.grep(e,function(e){return e===t!==n}):"string"!=typeof t?j.grep(e,function(e){return d.call(t,e)>-1!==n}):j.filter(t,e,n)}j.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?j.find.matchesSelector(r,e)?[r]:[]:j.find.matches(e,j.grep(t,function(e){return 1===e.nodeType}))},j.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(j(e).filter(function(){for(t=0;t1?j.uniqueSort(n):n},filter:function(e){return this.pushStack(D(this,e||[],!1))},not:function(e){return this.pushStack(D(this,e||[],!0))},is:function(e){return!!D(this,"string"==typeof e&&O.test(e)?j(e):e||[],!1).length}});var A,N=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(j.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||A,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:N.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof j?t[0]:t,j.merge(this,j.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:o,!0)),z.test(r[1])&&j.isPlainObject(t))for(r in t)b(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=o.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):b(e)?void 0!==n.ready?n.ready(e):e(j):j.makeArray(e,this)}).prototype=j.fn,A=j(o);var P=/^(?:parents|prev(?:Until|All))/,R={children:!0,contents:!0,next:!0,prev:!0};function M(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}j.fn.extend({has:function(e){var t=j(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&j.find.matchesSelector(n,e))){a.push(n);break}return this.pushStack(a.length>1?j.uniqueSort(a):a)},index:function(e){return e?"string"==typeof e?d.call(j(e),this[0]):d.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(j.uniqueSort(j.merge(this.get(),j(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),j.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return S(e,"parentNode")},parentsUntil:function(e,t,n){return S(e,"parentNode",n)},next:function(e){return M(e,"nextSibling")},prev:function(e){return M(e,"previousSibling")},nextAll:function(e){return S(e,"nextSibling")},prevAll:function(e){return S(e,"previousSibling")},nextUntil:function(e,t,n){return S(e,"nextSibling",n)},prevUntil:function(e,t,n){return S(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return void 0!==e.contentDocument?e.contentDocument:(I(e,"template")&&(e=e.content||e),j.merge([],e.childNodes))}},function(e,t){j.fn[e]=function(n,r){var i=j.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=j.filter(r,i)),this.length>1&&(R[e]||j.uniqueSort(i),P.test(e)&&i.reverse()),this.pushStack(i)}});var q=/[^\x20\t\r\n\f]+/g;function L(e){return e}function B(e){throw e}function F(e,t,n,r){var i;try{e&&b(i=e.promise)?i.call(e).done(t).fail(n):e&&b(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}j.Callbacks=function(e){e="string"==typeof e?function(e){var t={};return j.each(e.match(q)||[],function(e,n){t[n]=!0}),t}(e):j.extend({},e);var t,n,r,i,a=[],o=[],s=-1,l=function(){for(i=i||e.once,r=t=!0;o.length;s=-1)for(n=o.shift();++s-1;)a.splice(n,1),n<=s&&s--}),this},has:function(e){return e?j.inArray(e,a)>-1:a.length>0},empty:function(){return a&&(a=[]),this},disable:function(){return i=o=[],a=n="",this},disabled:function(){return!a},lock:function(){return i=o=[],n||t||(a=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],o.push(n),t||l()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},j.extend({Deferred:function(e){var t=[["notify","progress",j.Callbacks("memory"),j.Callbacks("memory"),2],["resolve","done",j.Callbacks("once memory"),j.Callbacks("once memory"),0,"resolved"],["reject","fail",j.Callbacks("once memory"),j.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return a.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return j.Deferred(function(n){j.each(t,function(t,r){var i=b(e[r[4]])&&e[r[4]];a[r[1]](function(){var e=i&&i.apply(this,arguments);e&&b(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(e,r,i){var a=0;function o(e,t,r,i){return function(){var s=this,l=arguments,c=function(){var n,c;if(!(e=a&&(r!==B&&(s=void 0,l=[n]),t.rejectWith(s,l))}};e?u():(j.Deferred.getStackHook&&(u.stackTrace=j.Deferred.getStackHook()),n.setTimeout(u))}}return j.Deferred(function(n){t[0][3].add(o(0,n,b(i)?i:L,n.notifyWith)),t[1][3].add(o(0,n,b(e)?e:L)),t[2][3].add(o(0,n,b(r)?r:B))}).promise()},promise:function(e){return null!=e?j.extend(e,i):i}},a={};return j.each(t,function(e,n){var o=n[2],s=n[5];i[n[1]]=o.add,s&&o.add(function(){r=s},t[3-e][2].disable,t[3-e][3].disable,t[0][2].lock,t[0][3].lock),o.add(n[3].fire),a[n[0]]=function(){return a[n[0]+"With"](this===a?void 0:this,arguments),this},a[n[0]+"With"]=o.fireWith}),i.promise(a),e&&e.call(a,a),a},when:function(e){var t=arguments.length,n=t,r=Array(n),i=l.call(arguments),a=j.Deferred(),o=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?l.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&(F(e,a.done(o(n)).resolve,a.reject,!t),"pending"===a.state()||b(i[n]&&i[n].then)))return a.then();for(;n--;)F(i[n],o(n),a.reject);return a.promise()}});var V=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;j.Deferred.exceptionHook=function(e,t){n.console&&n.console.warn&&e&&V.test(e.name)&&n.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},j.readyException=function(e){n.setTimeout(function(){throw e})};var U=j.Deferred();function H(){o.removeEventListener("DOMContentLoaded",H),n.removeEventListener("load",H),j.ready()}j.fn.ready=function(e){return U.then(e).catch(function(e){j.readyException(e)}),this},j.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--j.readyWait:j.isReady)||(j.isReady=!0,!0!==e&&--j.readyWait>0||U.resolveWith(o,[j]))}}),j.ready.then=U.then,"complete"===o.readyState||"loading"!==o.readyState&&!o.documentElement.doScroll?n.setTimeout(j.ready):(o.addEventListener("DOMContentLoaded",H),n.addEventListener("load",H));var W=function(e,t,n,r,i,a,o){var s=0,l=e.length,c=null==n;if("object"===_(n))for(s in i=!0,n)W(e,t,s,n[s],!0,a,o);else if(void 0!==r&&(i=!0,b(r)||(o=!0),c&&(o?(t.call(e,r),t=null):(c=t,t=function(e,t,n){return c.call(j(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each(function(){X.remove(this,e)})}}),j.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,j.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=j.queue(e,t),r=n.length,i=n.shift(),a=j._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete a.stop,i.call(e,function(){j.dequeue(e,t)},a)),!r&&a&&a.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:j.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),j.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]*)/i,ye=/^$|^module$|\/(?:java|ecma)script/i,be={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&I(e,t)?j.merge([e],n):n}function ke(e,t){for(var n=0,r=e.length;n-1)i&&i.push(a);else if(c=se(a),o=ve(d.appendChild(a),"script"),c&&ke(o),n)for(u=0;a=o[u++];)ye.test(a.type||"")&&n.push(a);return d}we=o.createDocumentFragment().appendChild(o.createElement("div")),(_e=o.createElement("input")).setAttribute("type","radio"),_e.setAttribute("checked","checked"),_e.setAttribute("name","t"),we.appendChild(_e),y.checkClone=we.cloneNode(!0).cloneNode(!0).lastChild.checked,we.innerHTML="",y.noCloneChecked=!!we.cloneNode(!0).lastChild.defaultValue;var Ee=/^key/,xe=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Se=/^([^.]*)(?:\.(.+)|)/;function Te(){return!0}function Oe(){return!1}function Ie(e,t){return e===function(){try{return o.activeElement}catch(e){}}()==("focus"===t)}function ze(e,t,n,r,i,a){var o,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)ze(e,s,n,r,t[s],a);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Oe;else if(!i)return e;return 1===a&&(o=i,(i=function(e){return j().off(e),o.apply(this,arguments)}).guid=o.guid||(o.guid=j.guid++)),e.each(function(){j.event.add(this,t,i,r,n)})}function De(e,t,n){n?(J.set(e,t,!1),j.event.add(e,t,{namespace:!1,handler:function(e){var r,i,a=J.get(this,t);if(1&e.isTrigger&&this[t]){if(a.length)(j.event.special[t]||{}).delegateType&&e.stopPropagation();else if(a=l.call(arguments),J.set(this,t,a),r=n(this,t),this[t](),a!==(i=J.get(this,t))||r?J.set(this,t,!1):i={},a!==i)return e.stopImmediatePropagation(),e.preventDefault(),i.value}else a.length&&(J.set(this,t,{value:j.event.trigger(j.extend(a[0],j.Event.prototype),a.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===J.get(e,t)&&j.event.add(e,t,Te)}j.event={global:{},add:function(e,t,n,r,i){var a,o,s,l,c,u,d,h,p,f,m,g=J.get(e);if(g)for(n.handler&&(n=(a=n).handler,i=a.selector),i&&j.find.matchesSelector(oe,i),n.guid||(n.guid=j.guid++),(l=g.events)||(l=g.events={}),(o=g.handle)||(o=g.handle=function(t){return void 0!==j&&j.event.triggered!==t.type?j.event.dispatch.apply(e,arguments):void 0}),c=(t=(t||"").match(q)||[""]).length;c--;)p=m=(s=Se.exec(t[c])||[])[1],f=(s[2]||"").split(".").sort(),p&&(d=j.event.special[p]||{},p=(i?d.delegateType:d.bindType)||p,d=j.event.special[p]||{},u=j.extend({type:p,origType:m,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&j.expr.match.needsContext.test(i),namespace:f.join(".")},a),(h=l[p])||((h=l[p]=[]).delegateCount=0,d.setup&&!1!==d.setup.call(e,r,f,o)||e.addEventListener&&e.addEventListener(p,o)),d.add&&(d.add.call(e,u),u.handler.guid||(u.handler.guid=n.guid)),i?h.splice(h.delegateCount++,0,u):h.push(u),j.event.global[p]=!0)},remove:function(e,t,n,r,i){var a,o,s,l,c,u,d,h,p,f,m,g=J.hasData(e)&&J.get(e);if(g&&(l=g.events)){for(c=(t=(t||"").match(q)||[""]).length;c--;)if(p=m=(s=Se.exec(t[c])||[])[1],f=(s[2]||"").split(".").sort(),p){for(d=j.event.special[p]||{},h=l[p=(r?d.delegateType:d.bindType)||p]||[],s=s[2]&&new RegExp("(^|\\.)"+f.join("\\.(?:.*\\.|)")+"(\\.|$)"),o=a=h.length;a--;)u=h[a],!i&&m!==u.origType||n&&n.guid!==u.guid||s&&!s.test(u.namespace)||r&&r!==u.selector&&("**"!==r||!u.selector)||(h.splice(a,1),u.selector&&h.delegateCount--,d.remove&&d.remove.call(e,u));o&&!h.length&&(d.teardown&&!1!==d.teardown.call(e,f,g.handle)||j.removeEvent(e,p,g.handle),delete l[p])}else for(p in l)j.event.remove(e,p+t[c],n,r,!0);j.isEmptyObject(l)&&J.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,a,o,s=j.event.fix(e),l=new Array(arguments.length),c=(J.get(this,"events")||{})[s.type]||[],u=j.event.special[s.type]||{};for(l[0]=s,t=1;t=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==e.type||!0!==c.disabled)){for(a=[],o={},n=0;n-1:j.find(i,this,null,[c]).length),o[i]&&a.push(r);a.length&&s.push({elem:c,handlers:a})}return c=this,l\x20\t\r\n\f]*)[^>]*)\/>/gi,Ne=/\s*$/g;function Me(e,t){return I(e,"table")&&I(11!==t.nodeType?t:t.firstChild,"tr")&&j(e).children("tbody")[0]||e}function qe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Le(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Be(e,t){var n,r,i,a,o,s,l,c;if(1===t.nodeType){if(J.hasData(e)&&(a=J.access(e),o=J.set(t,a),c=a.events))for(i in delete o.handle,o.events={},c)for(n=0,r=c[i].length;n1&&"string"==typeof f&&!y.checkClone&&Pe.test(f))return e.each(function(i){var a=e.eq(i);m&&(t[0]=f.call(this,i,a.html())),Fe(a,t,n,r)});if(h&&(a=(i=Ce(t,e[0].ownerDocument,!1,e,r)).firstChild,1===i.childNodes.length&&(i=a),a||r)){for(s=(o=j.map(ve(i,"script"),qe)).length;d")},clone:function(e,t,n){var r,i,a,o,s,l,c,u=e.cloneNode(!0),d=se(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||j.isXMLDoc(e)))for(o=ve(u),r=0,i=(a=ve(e)).length;r0&&ke(o,!d&&ve(e,"script")),u},cleanData:function(e){for(var t,n,r,i=j.event.special,a=0;void 0!==(n=e[a]);a++)if(Y(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?j.event.remove(n,r):j.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[X.expando]&&(n[X.expando]=void 0)}}}),j.fn.extend({detach:function(e){return Ve(this,e,!0)},remove:function(e){return Ve(this,e)},text:function(e){return W(this,function(e){return void 0===e?j.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Fe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Me(this,e).appendChild(e)})},prepend:function(){return Fe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Me(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Fe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Fe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(j.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return j.clone(this,e,t)})},html:function(e){return W(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ne.test(e)&&!be[(ge.exec(e)||["",""])[1].toLowerCase()]){e=j.htmlPrefilter(e);try{for(;n=0&&(l+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-a-l-s-.5))||0),l}function it(e,t,n){var r=He(e),i=(!y.boxSizingReliable()||n)&&"border-box"===j.css(e,"boxSizing",!1,r),a=i,o=Ke(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Ue.test(o)){if(!n)return o;o="auto"}return(!y.boxSizingReliable()&&i||"auto"===o||!parseFloat(o)&&"inline"===j.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===j.css(e,"boxSizing",!1,r),(a=s in e)&&(o=e[s])),(o=parseFloat(o)||0)+rt(e,t,n||(i?"border":"content"),a,r,o)+"px"}function at(e,t,n,r,i){return new at.prototype.init(e,t,n,r,i)}j.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Ke(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,a,o,s=$(t),l=Xe.test(t),c=e.style;if(l||(t=Ze(s)),o=j.cssHooks[t]||j.cssHooks[s],void 0===n)return o&&"get"in o&&void 0!==(i=o.get(e,!1,r))?i:c[t];"string"===(a=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=de(e,t,i),a="number"),null!=n&&n==n&&("number"!==a||l||(n+=i&&i[3]||(j.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(c[t]="inherit"),o&&"set"in o&&void 0===(n=o.set(e,n,r))||(l?c.setProperty(t,n):c[t]=n))}},css:function(e,t,n,r){var i,a,o,s=$(t);return Xe.test(t)||(t=Ze(s)),(o=j.cssHooks[t]||j.cssHooks[s])&&"get"in o&&(i=o.get(e,!0,n)),void 0===i&&(i=Ke(e,t,r)),"normal"===i&&t in tt&&(i=tt[t]),""===n||n?(a=parseFloat(i),!0===n||isFinite(a)?a||0:i):i}}),j.each(["height","width"],function(e,t){j.cssHooks[t]={get:function(e,n,r){if(n)return!Je.test(j.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?it(e,t,r):ue(e,et,function(){return it(e,t,r)})},set:function(e,n,r){var i,a=He(e),o=!y.scrollboxSize()&&"absolute"===a.position,s=(o||r)&&"border-box"===j.css(e,"boxSizing",!1,a),l=r?rt(e,t,r,s,a):0;return s&&o&&(l-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(a[t])-rt(e,t,"border",!1,a)-.5)),l&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=j.css(e,t)),nt(0,n,l)}}}),j.cssHooks.marginLeft=Ge(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Ke(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),j.each({margin:"",padding:"",border:"Width"},function(e,t){j.cssHooks[e+t]={expand:function(n){for(var r=0,i={},a="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+ae[r]+t]=a[r]||a[r-2]||a[0];return i}},"margin"!==e&&(j.cssHooks[e+t].set=nt)}),j.fn.extend({css:function(e,t){return W(this,function(e,t,n){var r,i,a={},o=0;if(Array.isArray(t)){for(r=He(e),i=t.length;o1)}}),j.Tween=at,at.prototype={constructor:at,init:function(e,t,n,r,i,a){this.elem=e,this.prop=n,this.easing=i||j.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=a||(j.cssNumber[n]?"":"px")},cur:function(){var e=at.propHooks[this.prop];return e&&e.get?e.get(this):at.propHooks._default.get(this)},run:function(e){var t,n=at.propHooks[this.prop];return this.options.duration?this.pos=t=j.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):at.propHooks._default.set(this),this}},at.prototype.init.prototype=at.prototype,at.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=j.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){j.fx.step[e.prop]?j.fx.step[e.prop](e):1!==e.elem.nodeType||!j.cssHooks[e.prop]&&null==e.elem.style[Ze(e.prop)]?e.elem[e.prop]=e.now:j.style(e.elem,e.prop,e.now+e.unit)}}},at.propHooks.scrollTop=at.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},j.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},j.fx=at.prototype.init,j.fx.step={};var ot,st,lt=/^(?:toggle|show|hide)$/,ct=/queueHooks$/;function ut(){st&&(!1===o.hidden&&n.requestAnimationFrame?n.requestAnimationFrame(ut):n.setTimeout(ut,j.fx.interval),j.fx.tick())}function dt(){return n.setTimeout(function(){ot=void 0}),ot=Date.now()}function ht(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ae[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners["*"]),a=0,o=i.length;a1)},removeAttr:function(e){return this.each(function(){j.removeAttr(this,e)})}}),j.extend({attr:function(e,t,n){var r,i,a=e.nodeType;if(3!==a&&8!==a&&2!==a)return void 0===e.getAttribute?j.prop(e,t,n):(1===a&&j.isXMLDoc(e)||(i=j.attrHooks[t.toLowerCase()]||(j.expr.match.bool.test(t)?mt:void 0)),void 0!==n?null===n?void j.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=j.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&I(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(q);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),mt={set:function(e,t,n){return!1===t?j.removeAttr(e,n):e.setAttribute(n,n),n}},j.each(j.expr.match.bool.source.match(/\w+/g),function(e,t){var n=gt[t]||j.find.attr;gt[t]=function(e,t,r){var i,a,o=t.toLowerCase();return r||(a=gt[o],gt[o]=i,i=null!=n(e,t,r)?o:null,gt[o]=a),i}});var yt=/^(?:input|select|textarea|button)$/i,bt=/^(?:a|area)$/i;function vt(e){return(e.match(q)||[]).join(" ")}function kt(e){return e.getAttribute&&e.getAttribute("class")||""}function wt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(q)||[]}j.fn.extend({prop:function(e,t){return W(this,j.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[j.propFix[e]||e]})}}),j.extend({prop:function(e,t,n){var r,i,a=e.nodeType;if(3!==a&&8!==a&&2!==a)return 1===a&&j.isXMLDoc(e)||(t=j.propFix[t]||t,i=j.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=j.find.attr(e,"tabindex");return t?parseInt(t,10):yt.test(e.nodeName)||bt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),y.optSelected||(j.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),j.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){j.propFix[this.toLowerCase()]=this}),j.fn.extend({addClass:function(e){var t,n,r,i,a,o,s,l=0;if(b(e))return this.each(function(t){j(this).addClass(e.call(this,t,kt(this)))});if((t=wt(e)).length)for(;n=this[l++];)if(i=kt(n),r=1===n.nodeType&&" "+vt(i)+" "){for(o=0;a=t[o++];)r.indexOf(" "+a+" ")<0&&(r+=a+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,a,o,s,l=0;if(b(e))return this.each(function(t){j(this).removeClass(e.call(this,t,kt(this)))});if(!arguments.length)return this.attr("class","");if((t=wt(e)).length)for(;n=this[l++];)if(i=kt(n),r=1===n.nodeType&&" "+vt(i)+" "){for(o=0;a=t[o++];)for(;r.indexOf(" "+a+" ")>-1;)r=r.replace(" "+a+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):b(e)?this.each(function(n){j(this).toggleClass(e.call(this,n,kt(this),t),t)}):this.each(function(){var t,i,a,o;if(r)for(i=0,a=j(this),o=wt(e);t=o[i++];)a.hasClass(t)?a.removeClass(t):a.addClass(t);else void 0!==e&&"boolean"!==n||((t=kt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+vt(kt(n))+" ").indexOf(t)>-1)return!0;return!1}});var _t=/\r/g;j.fn.extend({val:function(e){var t,n,r,i=this[0];return arguments.length?(r=b(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,j(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=j.map(i,function(e){return null==e?"":e+""})),(t=j.valHooks[this.type]||j.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))})):i?(t=j.valHooks[i.type]||j.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(_t,""):null==n?"":n:void 0}}),j.extend({valHooks:{option:{get:function(e){var t=j.find.attr(e,"value");return null!=t?t:vt(j.text(e))}},select:{get:function(e){var t,n,r,i=e.options,a=e.selectedIndex,o="select-one"===e.type,s=o?null:[],l=o?a+1:i.length;for(r=a<0?l:o?a:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),a}}}}),j.each(["radio","checkbox"],function(){j.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=j.inArray(j(e).val(),t)>-1}},y.checkOn||(j.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in n;var jt=/^(?:focusinfocus|focusoutblur)$/,Ct=function(e){e.stopPropagation()};j.extend(j.event,{trigger:function(e,t,r,i){var a,s,l,c,u,d,h,p,m=[r||o],g=f.call(e,"type")?e.type:e,y=f.call(e,"namespace")?e.namespace.split("."):[];if(s=p=l=r=r||o,3!==r.nodeType&&8!==r.nodeType&&!jt.test(g+j.event.triggered)&&(g.indexOf(".")>-1&&(y=g.split("."),g=y.shift(),y.sort()),u=g.indexOf(":")<0&&"on"+g,(e=e[j.expando]?e:new j.Event(g,"object"==typeof e&&e)).isTrigger=i?2:3,e.namespace=y.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+y.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=r),t=null==t?[e]:j.makeArray(t,[e]),h=j.event.special[g]||{},i||!h.trigger||!1!==h.trigger.apply(r,t))){if(!i&&!h.noBubble&&!v(r)){for(c=h.delegateType||g,jt.test(c+g)||(s=s.parentNode);s;s=s.parentNode)m.push(s),l=s;l===(r.ownerDocument||o)&&m.push(l.defaultView||l.parentWindow||n)}for(a=0;(s=m[a++])&&!e.isPropagationStopped();)p=s,e.type=a>1?c:h.bindType||g,(d=(J.get(s,"events")||{})[e.type]&&J.get(s,"handle"))&&d.apply(s,t),(d=u&&s[u])&&d.apply&&Y(s)&&(e.result=d.apply(s,t),!1===e.result&&e.preventDefault());return e.type=g,i||e.isDefaultPrevented()||h._default&&!1!==h._default.apply(m.pop(),t)||!Y(r)||u&&b(r[g])&&!v(r)&&((l=r[u])&&(r[u]=null),j.event.triggered=g,e.isPropagationStopped()&&p.addEventListener(g,Ct),r[g](),e.isPropagationStopped()&&p.removeEventListener(g,Ct),j.event.triggered=void 0,l&&(r[u]=l)),e.result}},simulate:function(e,t,n){var r=j.extend(new j.Event,n,{type:e,isSimulated:!0});j.event.trigger(r,null,t)}}),j.fn.extend({trigger:function(e,t){return this.each(function(){j.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return j.event.trigger(e,t,n,!0)}}),y.focusin||j.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){j.event.simulate(t,e.target,j.event.fix(e))};j.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var Et=n.location,xt=Date.now(),St=/\?/;j.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new n.DOMParser).parseFromString(e,"text/xml")}catch(r){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||j.error("Invalid XML: "+e),t};var Tt=/\[\]$/,Ot=/\r?\n/g,It=/^(?:submit|button|image|reset|file)$/i,zt=/^(?:input|select|textarea|keygen)/i;function Dt(e,t,n,r){var i;if(Array.isArray(t))j.each(t,function(t,i){n||Tt.test(e)?r(e,i):Dt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==_(t))r(e,t);else for(i in t)Dt(e+"["+i+"]",t[i],n,r)}j.param=function(e,t){var n,r=[],i=function(e,t){var n=b(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!j.isPlainObject(e))j.each(e,function(){i(this.name,this.value)});else for(n in e)Dt(n,e[n],t,i);return r.join("&")},j.fn.extend({serialize:function(){return j.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=j.prop(this,"elements");return e?j.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!j(this).is(":disabled")&&zt.test(this.nodeName)&&!It.test(e)&&(this.checked||!me.test(e))}).map(function(e,t){var n=j(this).val();return null==n?null:Array.isArray(n)?j.map(n,function(e){return{name:t.name,value:e.replace(Ot,"\r\n")}}):{name:t.name,value:n.replace(Ot,"\r\n")}}).get()}});var At=/%20/g,Nt=/#.*$/,Pt=/([?&])_=[^&]*/,Rt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Mt=/^(?:GET|HEAD)$/,qt=/^\/\//,Lt={},Bt={},Ft="*/".concat("*"),Vt=o.createElement("a");function Ut(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,a=t.toLowerCase().match(q)||[];if(b(n))for(;r=a[i++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function Ht(e,t,n,r){var i={},a=e===Bt;function o(s){var l;return i[s]=!0,j.each(e[s]||[],function(e,s){var c=s(t,n,r);return"string"!=typeof c||a||i[c]?a?!(l=c):void 0:(t.dataTypes.unshift(c),o(c),!1)}),l}return o(t.dataTypes[0])||!i["*"]&&o("*")}function Wt(e,t){var n,r,i=j.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&j.extend(!0,e,r),e}Vt.href=Et.href,j.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Ft,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":j.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Wt(Wt(e,j.ajaxSettings),t):Wt(j.ajaxSettings,e)},ajaxPrefilter:Ut(Lt),ajaxTransport:Ut(Bt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var r,i,a,s,l,c,u,d,h,p,f=j.ajaxSetup({},t),m=f.context||f,g=f.context&&(m.nodeType||m.jquery)?j(m):j.event,y=j.Deferred(),b=j.Callbacks("once memory"),v=f.statusCode||{},k={},w={},_="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(u){if(!s)for(s={};t=Rt.exec(a);)s[t[1].toLowerCase()+" "]=(s[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=s[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return u?a:null},setRequestHeader:function(e,t){return null==u&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,k[e]=t),this},overrideMimeType:function(e){return null==u&&(f.mimeType=e),this},statusCode:function(e){var t;if(e)if(u)C.always(e[C.status]);else for(t in e)v[t]=[v[t],e[t]];return this},abort:function(e){var t=e||_;return r&&r.abort(t),E(0,t),this}};if(y.promise(C),f.url=((e||f.url||Et.href)+"").replace(qt,Et.protocol+"//"),f.type=t.method||t.type||f.method||f.type,f.dataTypes=(f.dataType||"*").toLowerCase().match(q)||[""],null==f.crossDomain){c=o.createElement("a");try{c.href=f.url,c.href=c.href,f.crossDomain=Vt.protocol+"//"+Vt.host!=c.protocol+"//"+c.host}catch(x){f.crossDomain=!0}}if(f.data&&f.processData&&"string"!=typeof f.data&&(f.data=j.param(f.data,f.traditional)),Ht(Lt,f,t,C),u)return C;for(h in(d=j.event&&f.global)&&0==j.active++&&j.event.trigger("ajaxStart"),f.type=f.type.toUpperCase(),f.hasContent=!Mt.test(f.type),i=f.url.replace(Nt,""),f.hasContent?f.data&&f.processData&&0===(f.contentType||"").indexOf("application/x-www-form-urlencoded")&&(f.data=f.data.replace(At,"+")):(p=f.url.slice(i.length),f.data&&(f.processData||"string"==typeof f.data)&&(i+=(St.test(i)?"&":"?")+f.data,delete f.data),!1===f.cache&&(i=i.replace(Pt,"$1"),p=(St.test(i)?"&":"?")+"_="+xt+++p),f.url=i+p),f.ifModified&&(j.lastModified[i]&&C.setRequestHeader("If-Modified-Since",j.lastModified[i]),j.etag[i]&&C.setRequestHeader("If-None-Match",j.etag[i])),(f.data&&f.hasContent&&!1!==f.contentType||t.contentType)&&C.setRequestHeader("Content-Type",f.contentType),C.setRequestHeader("Accept",f.dataTypes[0]&&f.accepts[f.dataTypes[0]]?f.accepts[f.dataTypes[0]]+("*"!==f.dataTypes[0]?", "+Ft+"; q=0.01":""):f.accepts["*"]),f.headers)C.setRequestHeader(h,f.headers[h]);if(f.beforeSend&&(!1===f.beforeSend.call(m,C,f)||u))return C.abort();if(_="abort",b.add(f.complete),C.done(f.success),C.fail(f.error),r=Ht(Bt,f,t,C)){if(C.readyState=1,d&&g.trigger("ajaxSend",[C,f]),u)return C;f.async&&f.timeout>0&&(l=n.setTimeout(function(){C.abort("timeout")},f.timeout));try{u=!1,r.send(k,E)}catch(x){if(u)throw x;E(-1,x)}}else E(-1,"No Transport");function E(e,t,o,s){var c,h,p,k,w,_=t;u||(u=!0,l&&n.clearTimeout(l),r=void 0,a=s||"",C.readyState=e>0?4:0,c=e>=200&&e<300||304===e,o&&(k=function(e,t,n){for(var r,i,a,o,s=e.contents,l=e.dataTypes;"*"===l[0];)l.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){l.unshift(i);break}if(l[0]in n)a=l[0];else{for(i in n){if(!l[0]||e.converters[i+" "+l[0]]){a=i;break}o||(o=i)}a=a||o}if(a)return a!==l[0]&&l.unshift(a),n[a]}(f,C,o)),k=function(e,t,n,r){var i,a,o,s,l,c={},u=e.dataTypes.slice();if(u[1])for(o in e.converters)c[o.toLowerCase()]=e.converters[o];for(a=u.shift();a;)if(e.responseFields[a]&&(n[e.responseFields[a]]=t),!l&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=a,a=u.shift())if("*"===a)a=l;else if("*"!==l&&l!==a){if(!(o=c[l+" "+a]||c["* "+a]))for(i in c)if((s=i.split(" "))[1]===a&&(o=c[l+" "+s[0]]||c["* "+s[0]])){!0===o?o=c[i]:!0!==c[i]&&(a=s[0],u.unshift(s[1]));break}if(!0!==o)if(o&&e.throws)t=o(t);else try{t=o(t)}catch(x){return{state:"parsererror",error:o?x:"No conversion from "+l+" to "+a}}}return{state:"success",data:t}}(f,k,C,c),c?(f.ifModified&&((w=C.getResponseHeader("Last-Modified"))&&(j.lastModified[i]=w),(w=C.getResponseHeader("etag"))&&(j.etag[i]=w)),204===e||"HEAD"===f.type?_="nocontent":304===e?_="notmodified":(_=k.state,h=k.data,c=!(p=k.error))):(p=_,!e&&_||(_="error",e<0&&(e=0))),C.status=e,C.statusText=(t||_)+"",c?y.resolveWith(m,[h,_,C]):y.rejectWith(m,[C,_,p]),C.statusCode(v),v=void 0,d&&g.trigger(c?"ajaxSuccess":"ajaxError",[C,f,c?h:p]),b.fireWith(m,[C,_]),d&&(g.trigger("ajaxComplete",[C,f]),--j.active||j.event.trigger("ajaxStop")))}return C},getJSON:function(e,t,n){return j.get(e,t,n,"json")},getScript:function(e,t){return j.get(e,void 0,t,"script")}}),j.each(["get","post"],function(e,t){j[t]=function(e,n,r,i){return b(n)&&(i=i||r,r=n,n=void 0),j.ajax(j.extend({url:e,type:t,dataType:i,data:n,success:r},j.isPlainObject(e)&&e))}}),j._evalUrl=function(e,t){return j.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){j.globalEval(e,t)}})},j.fn.extend({wrapAll:function(e){var t;return this[0]&&(b(e)&&(e=e.call(this[0])),t=j(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return b(e)?this.each(function(t){j(this).wrapInner(e.call(this,t))}):this.each(function(){var t=j(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b(e);return this.each(function(n){j(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){j(this).replaceWith(this.childNodes)}),this}}),j.expr.pseudos.hidden=function(e){return!j.expr.pseudos.visible(e)},j.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},j.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(e){}};var Kt={0:200,1223:204},Gt=j.ajaxSettings.xhr();y.cors=!!Gt&&"withCredentials"in Gt,y.ajax=Gt=!!Gt,j.ajaxTransport(function(e){var t,r;if(y.cors||Gt&&!e.crossDomain)return{send:function(i,a){var o,s=e.xhr();if(s.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(o in e.xhrFields)s[o]=e.xhrFields[o];for(o in e.mimeType&&s.overrideMimeType&&s.overrideMimeType(e.mimeType),e.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest"),i)s.setRequestHeader(o,i[o]);t=function(e){return function(){t&&(t=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?a(0,"error"):a(s.status,s.statusText):a(Kt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=t(),r=s.onerror=s.ontimeout=t("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&n.setTimeout(function(){t&&r()})},t=t("abort");try{s.send(e.hasContent&&e.data||null)}catch(l){if(t)throw l}},abort:function(){t&&t()}}}),j.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),j.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return j.globalEval(e),e}}}),j.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),j.ajaxTransport("script",function(e){var t,n;if(e.crossDomain||e.scriptAttrs)return{send:function(r,i){t=j(" + diff --git a/index.html b/index.html index f32c61b4..60c1352a 100644 --- a/index.html +++ b/index.html @@ -13,7 +13,7 @@ - + @@ -26,6 +26,6 @@ - + diff --git a/locales/af/messages.json b/locales/af/messages.json index 480ae231..ffe22aa5 100644 --- a/locales/af/messages.json +++ b/locales/af/messages.json @@ -347,6 +347,9 @@ "editItem": { "message": "Edit Item" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "ex.", "description": "Short abbreviation for 'example'." @@ -790,9 +793,15 @@ "warning": { "message": "Warning" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "This export contains your vault data in an unencrypted format. You should not store or send the exported file over unsecure channels (such as email). Delete it immediately after you are done using it." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "Enter your master password to export your vault data." }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Betaalinligting" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Kredietkaart" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Toestel" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Intekening" }, @@ -3295,15 +3319,35 @@ "deletionDate": { "message": "Deletion Date" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "Expiration Date" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "Maximum Access Count" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "Current Access Count" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "Disabled" }, @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "Are you sure you want to remove the password?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "All Sends" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Search Sends", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "Download File" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "There are no Sends to list.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/be/messages.json b/locales/be/messages.json index b26cc7a9..24f53b39 100644 --- a/locales/be/messages.json +++ b/locales/be/messages.json @@ -347,6 +347,9 @@ "editItem": { "message": "Рэдагаванне элемента" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "напр.", "description": "Short abbreviation for 'example'." @@ -790,9 +793,15 @@ "warning": { "message": "Увага" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "Экспартуемы файл утрымлівае даныя вашага сховішча ў незашыфраваным фармаце. Яго не варта захоўваць ці адпраўляць па небяспечным каналам (напрыклад, па электроннай пошце). Выдаліце яго адразу пасля выкарыстання." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "Увядзіце ваш асноўны пароль для экспарту даных са сховішча." }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Payment Information" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Credit Card" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Device" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Subscription" }, @@ -3295,15 +3319,35 @@ "deletionDate": { "message": "Deletion Date" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "Expiration Date" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "Maximum Access Count" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "Current Access Count" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "Disabled" }, @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "Are you sure you want to remove the password?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "All Sends" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Search Sends", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "Download File" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "There are no Sends to list.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/bg/messages.json b/locales/bg/messages.json index 20be51db..18df2df1 100644 --- a/locales/bg/messages.json +++ b/locales/bg/messages.json @@ -347,6 +347,9 @@ "editItem": { "message": "Редактиране на елемента" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "напр.", "description": "Short abbreviation for 'example'." @@ -790,9 +793,15 @@ "warning": { "message": "ВНИМАНИЕ" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "Данните от трезора ви ще се изнесат в незащитен формат. Не го пращайте по незащитени канали като електронна поща. Изтрийте файла незабавно след като свършите работата си с него." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "Въведете главната парола, за да изнесете данните." }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Информация за плащането" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Кредитна карта" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Устройство" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "След смяната на ключа за шифриране ще трябва да се отпишете и след това да се впишете в регистрацията си във всички приложения на Битуорден, които ползвате (като мобилното приложение и разширенията за браузъри). Ако не се отпишете и впишете повторно (за да получите достъп до новия ключ), рискувате да повредите записите си. Сега ще се пробва да бъдете отписани автоматично, това обаче може да се забави." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Абонамент" }, @@ -3295,15 +3319,35 @@ "deletionDate": { "message": "Deletion Date" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "Срок на валидност" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "Maximum Access Count" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "Current Access Count" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "Disabled" }, @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "Are you sure you want to remove the password?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "All Sends" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Search Sends", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "Изтеглете файл" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "There are no Sends to list.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/ca/messages.json b/locales/ca/messages.json index 553c2d35..96e3c18b 100644 --- a/locales/ca/messages.json +++ b/locales/ca/messages.json @@ -347,6 +347,9 @@ "editItem": { "message": "Edita l'element" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "ex.", "description": "Short abbreviation for 'example'." @@ -790,9 +793,15 @@ "warning": { "message": "Advertiment" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "Aquesta exportació conté les dades de la vostra caixa forta en un format no xifrat. No hauríeu d'emmagatzemar o enviar el fitxer exportat a través de canals no segurs (com ara el correu electrònic). Elimineu-lo immediatament després d'haver acabat d'usar-lo." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "Introduïu la contrasenya mestra per exportar les dades de la caixa forta." }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Informació de pagament" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Targeta de crèdit" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Dispositiu" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "Després d'actualitzar la vostra clau de xifratge, heu de tancar la sessió i tornar a entrar a totes les aplicacions de Bitwarden que esteu utilitzant actualment (com ara l'aplicació mòbil o les extensions del navegador). Si no es tanca i torna a iniciar la sessió (la qual descarrega la vostra nova clau de xifratge) pot provocar corrupció en les dades. Intentarem registrar-vos automàticament, però, es pot retardar." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Subscripció" }, @@ -3194,7 +3218,7 @@ "message": "Inici de sessió únic d'empresa" }, "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." + "message": "Ara podeu tancar aquesta pestanya i continuar a l'extensió." }, "businessPortal": { "message": "Portal empresarial", @@ -3295,15 +3319,35 @@ "deletionDate": { "message": "Data de supressió" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "Data de venciment" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "Recompte màxim d'accés" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "Recompte d’accés actual" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "Deshabilitat" }, @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "Esteu segur que voleu suprimir la contrasenya?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "Tots els Send" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Cerca Sends", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "Baixa el fitxer" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "No hi ha cap Send a llistar.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/cs/messages.json b/locales/cs/messages.json index 55ac52cb..f8ef4b2e 100644 --- a/locales/cs/messages.json +++ b/locales/cs/messages.json @@ -347,6 +347,9 @@ "editItem": { "message": "Upravit položku" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "např.", "description": "Short abbreviation for 'example'." @@ -790,9 +793,15 @@ "warning": { "message": "Varování" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "Tento export obsahuje data vašeho trezoru v nezašifrovaném formátu. Soubor exportu byste neměli ukládat ani odesílat přes nezabezpečené kanály (např. e-mailem). Odstraňte jej okamžitě po jeho použití." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "Zadejte své hlavní heslo pro export dat." }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Informace o platbě" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Kreditní karta" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Zařízení" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "Po aktualizace šifrovacího klíče dojde k odhlášení a budete se muset opětovně přihlásit do všech Bitwarden aplikací, které aktuálně používáte (např. mobilní aplikace či rozšíření pro prohlížeč). Nezdaří-li se odhlášení a opětovné přihlášení (během něhož bude stažen nový šifrovací klíč), může dojít k poškození údajů. Pokusíme se vás automaticky odhlásit, nicméně, může to chvíli trvat." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Odběr" }, @@ -3295,15 +3319,35 @@ "deletionDate": { "message": "Datum odstranění" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "Datum expirace" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "Maximum Access Count" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "Current Access Count" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "Disabled" }, @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "Are you sure you want to remove the password?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "All Sends" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Search Sends", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "Stáhnout soubor" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "There are no Sends to list.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/da/messages.json b/locales/da/messages.json index 96c0f039..f342b402 100644 --- a/locales/da/messages.json +++ b/locales/da/messages.json @@ -347,6 +347,9 @@ "editItem": { "message": "Redigér element" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "eks.", "description": "Short abbreviation for 'example'." @@ -461,7 +464,7 @@ "message": "Slet vedhæftning" }, "deleteItemConfirmation": { - "message": "Er du sikker på, at du vil slette dette element?" + "message": "Er du sikker på, at du sende til papirkurven?" }, "deletedItem": { "message": "Element sendt til papirkurven" @@ -790,9 +793,15 @@ "warning": { "message": "Advarsel" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "Denne eksport indeholder dine boksdata i ukrypteret form. Du bør ikke gemme eller sende den eksporterede fil over usikre kanaler (f.eks. e-mail). Slet den straks efter at du er færdig med at bruge den." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "Indtast din hovedadgangskode for at eksportere dine data fra boksen." }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Betalingsoplysninger" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Betalingskort" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Enhed" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "Efter opdatering af din krypteringsnøgle skal du logge ud og ind igen i alle Bitwarden-programmer, du bruger i øjeblikket (f.eks. mobilapp eller browserudvidelser). Hvis du ikke logger ud og ind (som downloader din nye krypteringsnøgle), kan det resultere i data korruption. Vi vil forsøge at logge dig ud automatisk, men det kan blive forsinket." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Abonnement" }, @@ -3194,7 +3218,7 @@ "message": "Virksomheds Single Sign On" }, "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." + "message": "Du kan nu lukke denne fane og fortsætte i udvidelsen." }, "businessPortal": { "message": "Virksomhedssportal", @@ -3295,15 +3319,35 @@ "deletionDate": { "message": "Sletningsdato" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "Udløbsdato" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "Maksimal antal tilgange" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "Aktuelt antal tilgange" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "Deaktiveret" }, @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "Er du sikker på, at du vil fjerne adgangskoden?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "Alle Send" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Søg Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "Download fil" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "Der er ingen Send at vise.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/de/messages.json b/locales/de/messages.json index 379f66f6..ec341b6d 100644 --- a/locales/de/messages.json +++ b/locales/de/messages.json @@ -347,6 +347,9 @@ "editItem": { "message": "Eintrag bearbeiten" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "Bsp.", "description": "Short abbreviation for 'example'." @@ -790,9 +793,15 @@ "warning": { "message": "Warnung" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "Dieser Export enthält Ihre Tresor-Daten in einem unverschlüsseltem Format. Sie sollten die Datei daher nicht über unsichere Kanäle (z.B. E-Mail) versenden oder speichern. Löschen Sie die Datei sofort nach ihrer Verwendung." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "Geben Sie das Master-Passwort ein, um Ihre Tresordaten zu exportieren." }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Zahlungsinformationen" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Kreditkarte" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Gerät" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "Nach der Aktualisierung Ihres Verschlüsselungscodes, müssen Sie sich bei allen Bitwarden-Anwendungen, welche Sie momentan benutzen (wie z. B. Smartphone-App, Browser-Erweiterungen), erneut anmelden. Ein Versäumnis der Ab- und Anmeldung (welche Ihren neuen Verschlüsselungscode bezieht) könnte zu einer Beschädigung der Daten führen. Wir werden versuchen Sie automatisch auszuloggen, was jedoch verzögert geschehen kann." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Abo" }, @@ -3194,7 +3218,7 @@ "message": "Enterprise Single Sign-On" }, "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." + "message": "Sie können diesen Tab nun schließen und in der Erweiterung fortfahren." }, "businessPortal": { "message": "Unternehmensportal", @@ -3295,15 +3319,35 @@ "deletionDate": { "message": "Löschdatum" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "Ablaufdatum" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "Maximale Zugriffsanzahl" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "Aktuelle Zugriffsanzahl" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "Deaktiviert" }, @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "Sind Sie sicher, dass Sie das Passwort entfernen möchten?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "Alle Sends" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Sends suchen", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "Datei herunterladen" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "Es gibt keine Sends aufzulisten.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/el/messages.json b/locales/el/messages.json index 0a53cfef..5d0fe967 100644 --- a/locales/el/messages.json +++ b/locales/el/messages.json @@ -347,6 +347,9 @@ "editItem": { "message": "Επεξεργασία Στοιχείου" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "πχ.", "description": "Short abbreviation for 'example'." @@ -461,7 +464,7 @@ "message": "Διαγραφή συνημμένου" }, "deleteItemConfirmation": { - "message": "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό το στοιχείο;" + "message": "Θέλετε πραγματικά να στείλετε στον κάδο απορριμμάτων;" }, "deletedItem": { "message": "Διαγραμμένο στοιχείο" @@ -790,9 +793,15 @@ "warning": { "message": "Προειδοποίηση" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "Αυτή η εξαγωγή περιέχει τα δεδομένα σε μη κρυπτογραφημένη μορφή. Δεν πρέπει να αποθηκεύετε ή να στείλετε το εξαγόμενο αρχείο μέσω μη ασφαλών τρόπων (όπως μέσω email). Διαγράψτε το αμέσως μόλις τελειώσετε με τη χρήση του." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "Πληκτρολογήστε τον κύριο κωδικό για εξαγωγή των δεδομένων vault." }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Πληροφορίες Πληρωμής" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Πιστωτική Κάρτα" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Συσκευή" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "Μετά την ενημέρωση του κλειδιού κρυπτογράφησης, πρέπει να αποσυνδεθείτε και να επιστρέψετε σε όλες τις εφαρμογές Bitwarden που χρησιμοποιείτε αυτήν τη στιγμή (όπως η εφαρμογή για κινητά ή οι επεκτάσεις του προγράμματος περιήγησης). Η αποτυχία αποσύνδεσης και επαναφοράς (στην οποία γίνεται λήψη του νέου κλειδιού κρυπτογράφησης) ενδέχεται να προκαλέσει καταστροφή δεδομένων. Θα προσπαθήσουμε να αποσυνδεθείτε αυτόματα, ωστόσο αυτό μπορεί να καθυστερήσει." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Συνδρομή" }, @@ -3194,7 +3218,7 @@ "message": "Ενιαία είσοδος για επιχειρήσεις" }, "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." + "message": "Μπορείτε να κλείσετε αυτήν την καρτέλα τώρα και να συνεχίσετε στην επέκταση." }, "businessPortal": { "message": "Επιχειρηματική πύλη", @@ -3295,15 +3319,35 @@ "deletionDate": { "message": "Ημερομηνία διαγραφής" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "Ημερομηνία Λήξης" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "Μέγιστος Αριθμός Πρόσβασης" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "Τρέχων Αριθμός Πρόσβασης" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "Απενεργοποιημένο" }, @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "Είστε βέβαιοι ότι θέλετε να καταργήσετε τον κωδικό πρόσβασης;" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "Όλα τα Sends" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Αναζήτηση Sends", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "Λήψη Αρχείου" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "Δεν υπάρχουν Sends στη λίστα.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/en/messages.json b/locales/en/messages.json index 35ab6195..769c1c50 100644 --- a/locales/en/messages.json +++ b/locales/en/messages.json @@ -347,6 +347,9 @@ "editItem": { "message": "Edit Item" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "ex.", "description": "Short abbreviation for 'example'." @@ -790,9 +793,15 @@ "warning": { "message": "Warning" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "This export contains your vault data in an unencrypted format. You should not store or send the exported file over unsecure channels (such as email). Delete it immediately after you are done using it." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "Enter your master password to export your vault data." }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Payment Information" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Credit Card" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Device" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Subscription" }, @@ -3295,15 +3319,35 @@ "deletionDate": { "message": "Deletion Date" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "Expiration Date" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "Maximum Access Count" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "Current Access Count" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "Disabled" }, @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "Are you sure you want to remove the password?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "All Sends" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Search Sends", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3346,8 +3403,233 @@ "downloadFile": { "message": "Download File" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "There are no Sends to list.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "custom": { + "message": "Custom" + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/en_GB/messages.json b/locales/en_GB/messages.json index 09037cd2..9e0cd612 100644 --- a/locales/en_GB/messages.json +++ b/locales/en_GB/messages.json @@ -347,6 +347,9 @@ "editItem": { "message": "Edit item" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "e.g.", "description": "Short abbreviation for 'example'." @@ -461,7 +464,7 @@ "message": "Delete attachment" }, "deleteItemConfirmation": { - "message": "Are you sure you want to delete this item?" + "message": "Do you really want to send to the bin?" }, "deletedItem": { "message": "Item sent to bin" @@ -790,9 +793,15 @@ "warning": { "message": "Warning" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "This export contains your vault data in an unencrypted format. You should not store or send the exported file over insecure channels (such as email). Delete it immediately after you are done using it." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "Enter your master password to export your vault data." }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Payment information" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Credit card" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Device" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, although this may be delayed." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Subscription" }, @@ -3295,15 +3319,35 @@ "deletionDate": { "message": "Deletion date" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "Expiration date" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "Maximum access count" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "Current access count" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "Disabled" }, @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "Are you sure you want to remove the password?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "All sends" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Search sends", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "Download file" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "There are no sends to list.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/en_IN/messages.json b/locales/en_IN/messages.json index 93f87b6f..d2e4f68c 100644 --- a/locales/en_IN/messages.json +++ b/locales/en_IN/messages.json @@ -347,6 +347,9 @@ "editItem": { "message": "Edit item" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "e.g.", "description": "Short abbreviation for 'example'." @@ -790,9 +793,15 @@ "warning": { "message": "Warning" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "This export contains your vault data in an unencrypted format. You should not store or send the exported file over insecure channels (such as email). Delete it immediately after you are done using it." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "Enter your master password to export your vault data." }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Payment information" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Credit card" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Device" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, although this may be delayed." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Subscription" }, @@ -3295,15 +3319,35 @@ "deletionDate": { "message": "Deletion Date" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "Expiration Date" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "Maximum Access Count" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "Current Access Count" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "Disabled" }, @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "Are you sure you want to remove the password?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "All Sends" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Search Sends", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "Download File" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "There are no Sends to list.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/eo/messages.json b/locales/eo/messages.json index 6521835f..998a4992 100644 --- a/locales/eo/messages.json +++ b/locales/eo/messages.json @@ -347,6 +347,9 @@ "editItem": { "message": "Edit Item" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "ekx.", "description": "Short abbreviation for 'example'." @@ -790,9 +793,15 @@ "warning": { "message": "Warning" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "This export contains your vault data in an unencrypted format. You should not store or send the exported file over unsecure channels (such as email). Delete it immediately after you are done using it." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "Enter your master password to export your vault data." }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Informoj pri Pago" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Credit Card" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Aparato" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Abono" }, @@ -3295,15 +3319,35 @@ "deletionDate": { "message": "Deletion Date" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "Expiration Date" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "Maximum Access Count" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "Current Access Count" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "Disabled" }, @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "Are you sure you want to remove the password?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "All Sends" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Search Sends", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "Download File" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "There are no Sends to list.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/es/messages.json b/locales/es/messages.json index 528dca47..f67ed7c6 100644 --- a/locales/es/messages.json +++ b/locales/es/messages.json @@ -347,6 +347,9 @@ "editItem": { "message": "Editar elemento" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "ej.", "description": "Short abbreviation for 'example'." @@ -790,9 +793,15 @@ "warning": { "message": "Advertencia" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "Esta exportación contiene los datos de tu caja fuerte en un formato no cifrado. No deberías almacenar o enviar el archivo exportado por canales no seguros (como el correo electrónico). Elimínalo inmediatamente cuando termines de utilizarlo." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "Introduce tu contraseña maestra para exportar la información de tu caja fuerte." }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Información de pago" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Tarjeta de crédito" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Dispositivo" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "Una vez actualices tu clave de cifrado, será necesario que cierres sesión y vuelvas a identificarte en todas las aplicaciones de Bitwarden que estés utilizando (como la aplicación móvil o la extensión de navegador). Si la reautenticación falla (la cual descargaría la nueva clave de cifrad) puede producirse corrupción de datos. Intentaremos cerrar tu sesión automáticamente, pero puede tardar un tiempo." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Suscripción" }, @@ -3194,7 +3218,7 @@ "message": "Inicio de sesión único empresarial" }, "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." + "message": "Ya puedes cerrar esta pestaña y continuar en la extensión." }, "businessPortal": { "message": "Portal de negocios", @@ -3295,15 +3319,35 @@ "deletionDate": { "message": "Fecha de eliminación" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "Fecha de Expiración" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "Número máximo de accesos" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "Número de accesos actuales" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "Deshabilitado" }, @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "¿Está seguro que desea eliminar la contraseña?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "Todos los Sends" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Buscar Sends", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "Descargar archivo" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "No hay Sends que listar.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/et/messages.json b/locales/et/messages.json index 2a5ec63a..b37b6ef8 100644 --- a/locales/et/messages.json +++ b/locales/et/messages.json @@ -347,6 +347,9 @@ "editItem": { "message": "Kirje muutmine" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "nt.", "description": "Short abbreviation for 'example'." @@ -790,9 +793,15 @@ "warning": { "message": "Hoiatus" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "Eksporditav fail on krüpteeringuta ja sisaldab hoidla sisu. Seda faili ei tohiks kaua käidelda ning mitte mingil juhul ebaturvaliselt saata (näiteks e-postiga). Kustuta see koheselt pärast kasutamist." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "Hoidlas olevate andmete eksportimiseks on vajalik ülemparooli sisestamine." }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Maksemeetod" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Krediitkaart" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Seade" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "Pärast krüpteerimisvõtme uuendamist pead kõikides seadmetes, kus Bitwardeni rakendust kasutad, oma kontosse uuesti sisse logima (nt nutitelefonis ja brauseris). Välja- ja sisselogimise (mis ühtlasi laadib ka uue krüpteerimisvõtme) nurjumine võib tingida andmete riknemise. Üritame sinu seadmetest ise välja logida, aga see võib võtta natukene aega." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Tellimus" }, @@ -3194,7 +3218,7 @@ "message": "Ettevõtte Single Sign-On" }, "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." + "message": "Võid nüüd selle vahelehe sulgeda ning jätkata brauseri laienduses." }, "businessPortal": { "message": "Ärikliendi portaal", @@ -3295,15 +3319,35 @@ "deletionDate": { "message": "Kustutamise kuupäev" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "Aegumiskuupäev" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "Maksimaalne ligipääsude arv" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "Hetkeline ligipääsude arv" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "Keelatud" }, @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "Soovid kindlasti selle parooli eemaldada?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "Kõik Sendid" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Otsi Sende", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "Laadi fail alla" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "Puuduvad Sendid, mida kuvada.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/fi/messages.json b/locales/fi/messages.json index 92992e20..5dbebe2c 100644 --- a/locales/fi/messages.json +++ b/locales/fi/messages.json @@ -10,7 +10,7 @@ } }, "whatTypeOfItem": { - "message": "Millainen kohde tämä on?" + "message": "Minkä tyyppinen kohde tämä on?" }, "name": { "message": "Nimi" @@ -32,7 +32,7 @@ "message": "Uusi URI" }, "username": { - "message": "Käyttäjänimi" + "message": "Käyttäjätunnus" }, "password": { "message": "Salasana" @@ -41,7 +41,7 @@ "message": "Uusi salasana" }, "passphrase": { - "message": "Tunnuslause" + "message": "Salauslauseke" }, "notes": { "message": "Merkinnät" @@ -68,7 +68,7 @@ "message": "Henkilöllisyyden nimi" }, "company": { - "message": "Yhtiö" + "message": "Yritys" }, "ssn": { "message": "Henkilötunnus" @@ -77,13 +77,13 @@ "message": "Passin numero" }, "licenseNumber": { - "message": "Rekisterinumero" + "message": "Ajokortin numero" }, "email": { - "message": "Sähköpostiosoite" + "message": "Sähköposti" }, "phone": { - "message": "Puhelin" + "message": "Puhelinnumero" }, "january": { "message": "Tammikuu" @@ -143,7 +143,7 @@ "message": "Erääntymisvuosi" }, "authenticatorKeyTotp": { - "message": "Todennusavain (TOTP)" + "message": "Todennusmenetelmän avain (TOTP)" }, "folder": { "message": "Kansio" @@ -155,7 +155,7 @@ "message": "Arvo" }, "dragToSort": { - "message": "Lajittele vetämällä" + "message": "Järjestä raahaamalla" }, "cfTypeText": { "message": "Teksti" @@ -164,7 +164,7 @@ "message": "Piilotettu" }, "cfTypeBoolean": { - "message": "Totuusarvomuuttuja" + "message": "Totuusarvo" }, "remove": { "message": "Poista" @@ -193,7 +193,7 @@ "message": "Tarkka" }, "startsWith": { - "message": "Alkaa…" + "message": "Alkaa" }, "regEx": { "message": "Säännöllinen lauseke", @@ -204,27 +204,27 @@ "description": "URI match detection for auto-fill." }, "defaultMatchDetection": { - "message": "Oletustunnistustapa", + "message": "Tunnistuksen oletustapa", "description": "Default URI match detection for auto-fill." }, "never": { "message": "Ei koskaan" }, "toggleVisibility": { - "message": "Näytä/piilota" + "message": "Näytä tai piilota" }, "toggleCollapse": { - "message": "Toggle Collapse", + "message": "Laajenna tai pienennä", "description": "Toggling an expand/collapse state." }, "generatePassword": { "message": "Luo salasana" }, "checkPassword": { - "message": "Tarkista, onko salasana vuotanut." + "message": "Tarkasta, onko salasana paljastunut." }, "passwordExposed": { - "message": "Tämä salasana on paljastunut $VALUE$ tietovuodossa. Sinun kannattaa vaihtaa se.", + "message": "Salasana on paljastunut $VALUE$ tietovuodossa. Se tulisi vaihtaa.", "placeholders": { "value": { "content": "$1", @@ -233,7 +233,7 @@ } }, "passwordSafe": { - "message": "Tätä salasanaa ei löytynyt yhdestäkään tunnetusta tietovuodosta. Sen pitäisi olla turvallinen." + "message": "Salasanaa ei löytynyt tunnetuista tietovuodoista. Sen pitäisi olla turvallinen." }, "save": { "message": "Tallenna" @@ -242,7 +242,7 @@ "message": "Peruuta" }, "canceled": { - "message": "Peruutettu" + "message": "Peruttu" }, "close": { "message": "Sulje" @@ -269,7 +269,7 @@ "message": "Hae suosikeista" }, "searchType": { - "message": "Hae tyypillä", + "message": "Hae tyypeistä", "description": "Search item type" }, "searchVault": { @@ -294,7 +294,7 @@ "message": "Henkilöllisyys" }, "typeSecureNote": { - "message": "Salattu muistiinpano" + "message": "Salattu muistio" }, "folders": { "message": "Kansiot" @@ -324,7 +324,7 @@ "message": "Paikkakunta" }, "stateProvince": { - "message": "Maakunta" + "message": "Osavaltio/maakunta" }, "zipPostalCode": { "message": "Postinumero" @@ -347,6 +347,9 @@ "editItem": { "message": "Muokkaa kohdetta" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "esim.", "description": "Short abbreviation for 'example'." @@ -358,7 +361,7 @@ "message": "Jaa" }, "valueCopied": { - "message": "$VALUE$ kopioitu", + "message": "$VALUE$ kopioitiin", "description": "Value has been copied to the clipboard.", "placeholders": { "value": { @@ -376,7 +379,7 @@ "description": "Copy password to clipboard" }, "copyUsername": { - "message": "Kopioi käyttäjänimi", + "message": "Kopioi käyttäjätunnus", "description": "Copy username to clipboard" }, "copyNumber": { @@ -392,7 +395,7 @@ "description": "Copy URI to clipboard" }, "myVault": { - "message": "Minun holvini" + "message": "Oma holvi" }, "vault": { "message": "Holvi" @@ -410,7 +413,7 @@ "message": "Valitse kaikki" }, "unselectAll": { - "message": "Tyhjennä valinta" + "message": "Tyhjennä valinnat" }, "launch": { "message": "Avaa" @@ -419,13 +422,13 @@ "message": "Lisää uusi liite" }, "deletedAttachment": { - "message": "Liite poistettu" + "message": "Poistettiin liite" }, "deleteAttachmentConfirmation": { - "message": "Haluatko varmasti poistaa tämän liitteen?" + "message": "Haluatko varmasti poistaa liitteen?" }, "attachmentSaved": { - "message": "Liite tallennettu." + "message": "Liite on tallennettiin." }, "file": { "message": "Tiedosto" @@ -437,13 +440,13 @@ "message": "Tiedoston enimmäiskoko on 100 Mt." }, "updateKey": { - "message": "Et voi käyttää tätä toimintoa, ennen kuin päivität salausavaimesi." + "message": "Et voi käyttää tätä toimintoa ennen kuin päivität salausavaimesi." }, "addedItem": { - "message": "Kohde lisätty" + "message": "Lisättiin kohde" }, "editedItem": { - "message": "Kohdetta muokattu" + "message": "Muokattiin kohdetta" }, "sharedItem": { "message": "Jaettu kohde" @@ -461,37 +464,37 @@ "message": "Poista liite" }, "deleteItemConfirmation": { - "message": "Haluatko varmasti poistaa tämän kohteen?" + "message": "Haluatko varmasti siirtää kohteen roskakoriin?" }, "deletedItem": { - "message": "Kohde lähetetty roskakoriin" + "message": "Kohde siirrettiin roskakoriin" }, "deletedItems": { - "message": "Kohteet lähetetty roskakoriin" + "message": "Kohteet siirrettiin roskakoriin" }, "movedItems": { - "message": "Kohteet siirretty" + "message": "Siirrettiin kohteet" }, "overwritePasswordConfirmation": { "message": "Haluatko varmasti korvata nykyisen salasanan?" }, "editedFolder": { - "message": "Kansiota muokattu" + "message": "Muokattiin kansiota" }, "addedFolder": { - "message": "Kansio lisätty" + "message": "Lisättiin kansio" }, "deleteFolderConfirmation": { - "message": "Haluatko varmasti poistaa tämän kansion?" + "message": "Haluatko varmasti poistaa kansion?" }, "deletedFolder": { - "message": "Kansio poistettu" + "message": "Poistettiin kansio" }, "loggedOut": { "message": "Kirjauduttu ulos" }, "loginExpired": { - "message": "Kirjautumisistuntosi on vanhentunut." + "message": "Kirjautumisesi on vanhentunut." }, "logOutConfirmation": { "message": "Haluatko varmasti kirjautua ulos?" @@ -527,16 +530,16 @@ "message": "Nimesi" }, "yourNameDesc": { - "message": "Miten meidän pitäisi kutsua sinua?" + "message": "Millä nimellä meidän tulee kutsua sinua?" }, "masterPass": { "message": "Pääsalasana" }, "masterPassDesc": { - "message": "Pääsalasanalla pääset käsiksi salasanaholviisi. On hyvin tärkeää, että muistat pääsalasanasi. Pääsalasanaa ei voida palauttaa mitenkään, jos satut unohtamaan sen." + "message": "Pääsalasanalla pääset käsiksi holviisi. On erittäin tärkeää, että muistat pääsalasanasi, koska sen palautus ei ole mahdollista, jos unohdat sen." }, "masterPassHintDesc": { - "message": "Pääsalasanan vihje voi auttaa sinua muistamaan pääsalasanasi, jos satut unohtamaan sen." + "message": "Pääsalasanan vihje voi auttaa sinua muistamaan unohtamasi salasanan." }, "reTypeMasterPass": { "message": "Syötä pääsalasana uudelleen" @@ -557,7 +560,7 @@ "message": "Syötä tilisi sähköpostiosoite saadaksesi pääsalasanasi vihjeen." }, "getMasterPasswordHint": { - "message": "Pyydä pääsalasanavihjettä" + "message": "Pyydä pääsalasanan vihjettä" }, "emailRequired": { "message": "Sähköpostiosoite vaaditaan." @@ -572,13 +575,13 @@ "message": "Pääsalasanan on oltava vähintään 8 merkkiä pitkä." }, "masterPassDoesntMatch": { - "message": "Pääsalasanan varmistus ei täsmää." + "message": "Pääsalasanan vahvistus ei täsmää." }, "newAccountCreated": { - "message": "Uusi tilisi on luotu! Voit nyt kirjautua sisään." + "message": "Uusi käyttäjätilisi on luotu! Voit nyt kirjautua sisään." }, "masterPassSent": { - "message": "Lähetimme sinulle sähköpostilla pääsalasanasi vihjeen." + "message": "Lähetimme pääsalasanasi vihjeen sähköpostitse." }, "unexpectedError": { "message": "Tapahtui odottamaton virhe." @@ -587,13 +590,13 @@ "message": "Sähköpostiosoite" }, "yourVaultIsLocked": { - "message": "Holvisi on lukittu. Vahvista pääsalasanasi jatkaaksesi." + "message": "Holvisi on lukittu. Syötä pääsalasana jatkaaksesi." }, "unlock": { "message": "Avaa lukitus" }, "loggedInAsEmailOn": { - "message": "Kirjautuneena käyttäjänä $EMAIL$ palveluun $HOSTNAME$.", + "message": "Kirjautuneena tunnuksella $EMAIL$ palveluun $HOSTNAME$.", "placeholders": { "email": { "content": "$1", @@ -642,10 +645,10 @@ } }, "enterVerificationCodeApp": { - "message": "Syötä 6-numeroinen vahvistuskoodi todennussovelluksestasi." + "message": "Syötä 6-numeroinen todennuskoodi todennussovelluksestasi." }, "enterVerificationCodeEmail": { - "message": "Syötä 6-numeroinen vahvistuskoodi, joka lähetettiin osoitteeseen $EMAIL$.", + "message": "Syötä 6-numeroinen todennuskoodi, joka lähetettiin sähköpostitse osoitteeseen $EMAIL$.", "placeholders": { "email": { "content": "$1", @@ -654,7 +657,7 @@ } }, "verificationCodeEmailSent": { - "message": "Vahvistussähköposti lähetettiin osoitteeseen $EMAIL$.", + "message": "Todennussähköposti lähetettiin osoitteeseen $EMAIL$.", "placeholders": { "email": { "content": "$1", @@ -666,31 +669,31 @@ "message": "Muista minut" }, "sendVerificationCodeEmailAgain": { - "message": "Lähetä vahvistuskoodisähköposti uudestaan" + "message": "Lähetä todennuskoodi sähköpostitse uudelleen" }, "useAnotherTwoStepMethod": { - "message": "Käytä toista menetelmää kaksivaiheiseen kirjautumiseen" + "message": "Käytä eri kaksivaiheisen kirjautumisen todennusmenetelmää" }, "insertYubiKey": { - "message": "Kytke YubiKey-laitteesi tietokoneesi USB-porttiin ja paina sen nappia." + "message": "Kytke YubiKey-todennuslaitteesi tietokoneesi USB-porttiin ja paina sen painiketta." }, "insertU2f": { - "message": "Kytke todennuslaitteesi tietokoneesi USB-porttiin. Jos laitteessa on painike, paina sitä." + "message": "Kytke todennuslaitteesi tietokoneesi USB-porttiin ja jos laitteessa on painike, paina sitä." }, "loginUnavailable": { "message": "Kirjautuminen ei ole käytettävissä" }, "noTwoStepProviders": { - "message": "This account has two-step login enabled, however, none of the configured two-step providers are supported by this web browser." + "message": "Tilillä on käytössä kaksivaiheinen kirjautuminen, mutta tämä selain ei tue käytettävissä olevia todennusmenetelmiä." }, "noTwoStepProviders2": { - "message": "Käytä tuettua selainta (kuten Chromea) ja/tai ota käyttöön paremmin tuettu todennusmenetelmä (kuten todennussovellus)." + "message": "Käytä tuettua selainta (kuten Chrome) ja/tai ota käyttöön laajemmin tuettu todennusmenetelmä (kuten todennussovellus)." }, "twoStepOptions": { - "message": "Kaksivaiheisen kirjautumisen valinnat" + "message": "Kaksivaiheisen kirjautumisen asetukset" }, "recoveryCodeDesc": { - "message": "Etkö pysty käyttämään mitään kaksivaihemenetelmistäsi? Käytä palautuskoodiasi poistaaksesi käytöstä kaikki kaksivaiheisen todennuksen menetelmät tililtäsi." + "message": "Etkö pysty käyttämään kaksivaiheisen kirjautumisen todennusmenetelmiäsi? Poista kaikki menetelmät käytöstä tililtäsi palautuskoodillasi." }, "recoveryCodeTitle": { "message": "Palautuskoodi" @@ -699,25 +702,25 @@ "message": "Todennussovellus" }, "authenticatorAppDesc": { - "message": "Käytä todennussovellusta (Kuten Authya tai Google Authenticatoria) luodaksesi aikarajallisia vahvistuskoodeja.", + "message": "Käytä todennussovellusta (kuten Authy tai Google Authenticator) luodaksesi aikarajallisia todennuskoodeja.", "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." }, "yubiKeyTitle": { "message": "YubiKey OTP -todennuslaite" }, "yubiKeyDesc": { - "message": "Use a YubiKey to access your account. Works with YubiKey 4, 4 Nano, 4C, and NEO devices." + "message": "Käytä YubiKey-todennuslaitetta tilisi avaukseen. Toimii YubiKey 4 ja 5 -sarjojen sekä NEO -laitteiden kanssa." }, "duoDesc": { - "message": "Vahvista kirjautumisesi Duo Securityn kautta käyttämällä Duo Mobile ‑sovellusta, tekstiviestiä, puhelua tai U2F-todennuslaitetta.", + "message": "Vahvista Duo Securityn avulla käyttäen Duo Mobile ‑sovellusta, tekstiviestiä, puhelua tai U2F-todennuslaitetta.", "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." }, "duoOrganizationDesc": { - "message": "Verify with Duo Security for your organization using the Duo Mobile app, SMS, phone call, or U2F security key.", + "message": "Vahvista kirjautuminen organisaatiollesi Duo Securityn avulla käyttäen Duo Mobile ‑sovellusta, tekstiviestiä, puhelua tai U2F-todennuslaitetta.", "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." }, "u2fDesc": { - "message": "Käytä mitä tahansa FIDO U2F ‑yhteensopivaa todennuslaitetta päästäksesi käsiksi tiliisi." + "message": "Käytä tilisi avaukseen mitä tahansa FIDO U2F ‑yhteensopivaa todennuslaitetta." }, "u2fTitle": { "message": "FIDO U2F ‑todennuslaite" @@ -726,7 +729,7 @@ "message": "Sähköposti" }, "emailDesc": { - "message": "Vahvistuskoodit lähetetään sinulle sähköpostilla." + "message": "Todennuskoodit lähetetään sinulle sähköpostitse." }, "continue": { "message": "Jatka" @@ -738,16 +741,16 @@ "message": "Organisaatiot" }, "shareDesc": { - "message": "Valitse organisaatio, jonka kanssa haluat jakaa tämän kohteen. Jakaminen siirtää kohteen omistajuuden organisaatiolle. Et enää ole tämän kohteen suora omistaja, kun se on jaettu." + "message": "Valitse organisaatio, jonka kanssa haluat jakaa kohteen. Jako siirtää kohteen organisaation omistukseen, etkä tämän jälkeen ole enää sen suora omistaja." }, "shareManyDesc": { - "message": "Valitse organisaatio, jonka kanssa haluat jakaa nämä kohteet. Jakaminen siirtää kohteiden omistajuuden organisaatiolle. Et enää ole näiden kohteiden suora omistaja, kun ne on jaettu." + "message": "Valitse organisaatio, jonka kanssa haluat jakaa kohteet. Jako siirtää kohteet organisaation omistukseen, etkä tämän jälkeen ole enää niiden suora omistaja." }, "collectionsDesc": { - "message": "Edit the collections that this item is being shared with. Only organization users with access to these collections will be able to see this item." + "message": "Muokkaa kokoelmia, joihin tämä kohde on jaettu. Kohteen näkevät vain ne organisaation käyttäjät, joilla on käyttöoikeus näihin kokoelmiin." }, "deleteSelectedItemsDesc": { - "message": "Olet valinnut $COUNT$ poistettavaa kohdetta. Haluatko varmasti poistaa ne kaikki?", + "message": "Olet valinnut $COUNT$ kohdetta poistettavaksi. Haluatko varmasti poistaa ne kaikki?", "placeholders": { "count": { "content": "$1", @@ -756,7 +759,7 @@ } }, "moveSelectedItemsDesc": { - "message": "Valitse kansio johon siirtää $COUNT$ kohdetta.", + "message": "Valitse kansio, johon haluat siirtää $COUNT$ kohdetta.", "placeholders": { "count": { "content": "$1", @@ -782,16 +785,22 @@ } }, "verificationCodeTotp": { - "message": "Vahvistuskoodi (TOTP)" + "message": "Todennuskoodi (TOTP)" }, "copyVerificationCode": { - "message": "Kopioi vahvistuskoodi" + "message": "Kopioi todennuskoodi" }, "warning": { "message": "Varoitus" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { - "message": "Tämä vienti sisältää holvisi tiedot salaamattomassa muodossa. Vietyä tiedostoa EI pidä säilyttää tai lähettää salaamattomana (kuten sähköpostitse). Poista tiedosto välittömästi, kun et enää tarvitse sitä." + "message": "Tämä vienti sisältää holvisi tiedot salaamattomassa muodossa. Sinun ei tulisi säilyttää tai lähettää vietyä tiedostoa suojaamattomien kanavien (kuten sähköpostin) välityksellä. Poista se välittömästi kun sille ei enää ole käyttöä." + }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." }, "exportMasterPassword": { "message": "Syötä pääsalasanasi viedäksesi holvisi tiedot." @@ -803,7 +812,7 @@ "message": "Tiedostomuoto" }, "exportSuccess": { - "message": "Holvisi tiedot on viety." + "message": "Holvisi tiedot vietiin." }, "passwordGenerator": { "message": "Salasanageneraattori" @@ -812,7 +821,7 @@ "message": "Monimutkaisuuden vähimmäispistemäärä" }, "minNumbers": { - "message": "Numeroja vähintään" + "message": "Numeroita vähintään" }, "minSpecial": { "message": "Erikoismerkkejä vähintään", @@ -831,10 +840,10 @@ "message": "Sanojen määrä" }, "wordSeparator": { - "message": "Sanaerotin" + "message": "Sanojen erotin" }, "capitalize": { - "message": "Jokainen sana isolla alkukirjaimella", + "message": "Sanat isoilla alkukirjaimilla", "description": "Make the first letter of a work uppercase." }, "includeNumber": { @@ -851,7 +860,7 @@ "description": "To clear something out. example: To clear browser history." }, "accountUpdated": { - "message": "Tili päivitetty" + "message": "Tili päivitettiin" }, "changeEmail": { "message": "Vaihda sähköpostiosoite" @@ -863,7 +872,7 @@ "message": "Koodi" }, "changeEmailDesc": { - "message": "Olemme lähettäneet vahvistuskoodin osoitteeseen $EMAIL$. Tarkista sähköpostisi ja kirjoita saamasi koodi alapuolelle viimeistelläksesi sähköpostiosoitteen vaihtamisen.", + "message": "Olemme lähettäneet todennuskoodin sähköpostitse osoitteeseen $EMAIL$. Tarkasta sähköpostisi ja syötä koodi alle viimeistelläksesi sähköpostiosoitteen vaihdon.", "placeholders": { "email": { "content": "$1", @@ -872,22 +881,22 @@ } }, "loggedOutWarning": { - "message": "Jatkaminen kirjaa sinut ulos nykyisestä istunnostasi ja joudut kirjautumaan uudelleen sisään. Aktiiviset istunnot toisilla laitteilla saattavat pysyä aktiivisina jopa tunnin." + "message": "Jatkamalla kirjaudut ulos nykyisestä istunnostasi ja joudut kirjautumaan uudelleen. Aktiiviset istunnot toisilla laitteilla saattavat pysyä aktiivisina vielä tunnin ajan." }, "emailChanged": { - "message": "Sähköpostiosoite vaihdettu" + "message": "Sähköposti vaihdettiin" }, "logBackIn": { "message": "Kirjaudu sisään uudelleen." }, "logBackInOthersToo": { - "message": "Kirjaudu uudelleen sisään. Jos käytät muita Bitwarden-sovelluksia, kirjaudu myös niistä ulos ja takaisin sisään." + "message": "Kirjaudu uudelleen sisään. Jos käytät muita Bitwarden-sovelluksia, kirjaudu myös niihin uudelleen." }, "changeMasterPassword": { "message": "Vaihda pääsalasana" }, "masterPasswordChanged": { - "message": "Pääsalasana vaihdettu" + "message": "Pääsalasana vaihdettiin" }, "currentMasterPass": { "message": "Nykyinen pääsalasana" @@ -905,10 +914,10 @@ "message": "KDF-algoritmi" }, "kdfIterations": { - "message": "KDF-iteraatiot" + "message": "KDF-toistot" }, "kdfIterationsDesc": { - "message": "Korkeampi iteraatiomäärä saattaa vaikeuttaa raakaa laskentatehoa hyväksikäyttäviä hyökkäyksiä. Suosittelemme arvoksi vähintään $VALUE$.", + "message": "Korkeampi KDF-toistojen määrä suojaa sinua raakaa laskentatehoa hyväksikäyttäviltä murtoyrityksiltä. Suosittelemme arvoksi vähintään $VALUE$.", "placeholders": { "value": { "content": "$1", @@ -917,7 +926,7 @@ } }, "kdfIterationsWarning": { - "message": "Muodostusfunktion iteraatiomäärän nostaminen liian korkeaksi saattaa hidastaa kirjautumista ja holvin avaamista hitaammilla laitteilla. Suosittelemme iteraatiomäärän nostamista $INCREMENT$:llä ja kokeilemista sen jälkeen kaikilla laitteillasi.", + "message": "Liian korkea KDF-toistojen määrä saattaa hidastaa kirjautumista ja holvin avausta heikkotehoisilla laitteilla. Suosittelemme toistomäärän nostoa $INCREMENT$ välein ja muutosten koekäyttöä kaikilla laitteillasi.", "placeholders": { "increment": { "content": "$1", @@ -926,64 +935,64 @@ } }, "changeKdf": { - "message": "Vaihda avaimen muodostusfunktio" + "message": "Vaihda KDF-asetuksia" }, "encKeySettingsChanged": { - "message": "Salausavaimen asetukset muutettu" + "message": "Salausavaimen asetuksia muutettiin" }, "dangerZone": { "message": "Vaaravyöhyke" }, "dangerZoneDesc": { - "message": "Varovasti, näitä toimintoja ei voi perua!" + "message": "Ole varovainen, nämä toiminnot eivät ole peruttavissa!" }, "deauthorizeSessions": { - "message": "Poista valtuutus istunnoilta" + "message": "Mitätöi kaikki istunnot" }, "deauthorizeSessionsDesc": { - "message": "Concerned your account is logged in on another device? Proceed below to deauthorize all computers or devices that you have previously used. This security step is recommended if you previously used a public computer or accidentally saved your password on a device that isn't yours. This step will also clear all previously remembered two-step login sessions." + "message": "Oletko huolissasi, että tilisi on kirjautuneena muissa laitteissa? Jatka alla kirjataksesi ulos kaikki aiemmin käyttämäsi tietokoneet ja muut laitteet. Tämä turvallisuustoimenpide on suositeltava, jos olet aiemmin käyttänyt esimerkiksi julkista tietokonetta tai vahingossa tallentanut kirjautumisesi laitteeseen, joka ei ole sinun. Tämä mitätöi myös kaikki aiemmin muistetut kaksivaiheiset kirjautumiset." }, "deauthorizeSessionsWarning": { - "message": "Jatkamalla kirjaudut ulos nykyisestä istunnostasi ja joudut kirjautumaan uudelleen sisään. Myös kaksivaiheinen kirjautuminen täytyy tehdä uudestaan. Aktiiviset istunnot toisilla laitteilla saattavat pysyä aktiivisina jopa tunnin." + "message": "Jatkamalla kirjaudut ulos nykyisestä istunnostasi ja joudut kirjautumaan uudelleen. Myös kaksivaiheinen kirjautuminen on tehtävä uudelleen. Aktiiviset istunnot toisilla laitteilla saattavat pysyä aktiivisina vielä tunnin ajan." }, "sessionsDeauthorized": { - "message": "Kaikkien istujentojen valtuudet poistettu" + "message": "Kaikki istunnot mitätöitiin" }, "purgeVault": { "message": "Tyhjennä holvi" }, "purgedOrganizationVault": { - "message": "Organisaation holvi tyhjennetty." + "message": "Organisaation holvi tyhjennettiin." }, "purgeVaultDesc": { - "message": "Jatka alle poistaaksesi kaikki holvissasi olevat kohteet ja kansiot. Kohteita, jotka kuuluvat organisaatiolle, jonka kanssa jaat, ei poisteta." + "message": "Jatka alla poistaaksesi kaikki holvisi kohteet ja kansiot. Kohteita, jotka on jaettu ja kuuluvat organisaatiolle, ei poisteta." }, "purgeOrgVaultDesc": { - "message": "Jatka alle poistaaksesi kaikki organisaatiosi holvissa olevat kohteet." + "message": "Jatka alla poistaaksesi kaikki organisaatiosi holvissa olevat kohteet." }, "purgeVaultWarning": { - "message": "Holvin tyhjentäminen on pysyvää. Sitä ei voi peruuttaa." + "message": "Tilin poisto on pysyvä toimenpide, eikä sitä ole mahdollista perua." }, "vaultPurged": { - "message": "Holvisi on tyhjennetty." + "message": "Holvisi tiedot on tyhjennetty." }, "deleteAccount": { "message": "Poista tili" }, "deleteAccountDesc": { - "message": "Jatka alla poistaaksesi tilisi ja kaiken liittyvän tiedon." + "message": "Jatka alla poistaaksesi tilisi ja kaikki siihen liittyvät tiedot." }, "deleteAccountWarning": { - "message": "Tilin poistaminen on peruuttamaton toimenpide." + "message": "Tilin poisto on pysyvä toimenpide, eikä sitä ole mahdollista perua." }, "accountDeleted": { - "message": "Tili poistettu" + "message": "Tili poistettiin" }, "accountDeletedDesc": { "message": "Tilisi on suljettu ja kaikki siihen liittyvät tiedot on poistettu." }, "myAccount": { - "message": "Minun tilini" + "message": "Oma tili" }, "tools": { "message": "Työkalut" @@ -992,25 +1001,25 @@ "message": "Tuo tiedot" }, "importSuccess": { - "message": "Tietojen tuominen holviisi onnistui." + "message": "Tietojen tuonti holviisi onnistui." }, "importFormatError": { - "message": "Tiedot eivät ole muotoiltu oikein. Tarkista tuontitiedoston muoto ja yritä uudelleen." + "message": "Tietoja ei ole muotoiltu oikein. Tarkista tuotavan tiedoston muotoilu ja yritä uudelleen." }, "importNothingError": { "message": "Mitään ei tuotu." }, "selectFormat": { - "message": "Valitse tuontitiedoston tiedostomuoto" + "message": "Valitse tuotavan tiedoston muoto" }, "selectImportFile": { - "message": "Valitse tuontitiedosto" + "message": "Valitse tuotava tiedosto" }, "orCopyPasteFileContents": { - "message": "tai leikkaa/liitä tuontitiedoston sisältö" + "message": "tai kopioi ja liitä tuotavan tiedoston sisältö" }, "instructionsFor": { - "message": "$NAME$-ohjeet", + "message": "$NAME$ -ohjeet", "description": "The title for the import tool instructions.", "placeholders": { "name": { @@ -1020,13 +1029,13 @@ } }, "options": { - "message": "Valinnat" + "message": "Asetukset" }, "optionsDesc": { - "message": "Muokkaa verkkoholvisi kokemusta." + "message": "Muokkaa verkkoholvisi käyttökokemusta." }, "optionsUpdated": { - "message": "Valinnat päivitetty" + "message": "Asetukset päivitettiin" }, "language": { "message": "Kieli" @@ -1038,21 +1047,21 @@ "message": "Älä näytä sivustokuvakkeita" }, "disableIconsDesc": { - "message": "Website Icons provide a recognizable image next to each login item in your vault." + "message": "Kirjautumistietojen vieressä näytettävät sivustojen kuvakkeet helpottavat kohteiden tunnistusta." }, "enableGravatars": { - "message": "Käytä gravatareja", + "message": "Käytä Gravatareja", "description": "'Gravatar' is the name of a service. See www.gravatar.com" }, "enableGravatarsDesc": { - "message": "Käytä avatar-profiilikuvia gravatar.com-palvelusta." + "message": "Käytä avatar-profiilikuvia Gravatar.com-palvelusta." }, "enableFullWidth": { - "message": "Käytä täysileveää asettelua", + "message": "Käytä täyden leveyden asettelua", "description": "Allows scaling the web vault UI's width" }, "enableFullWidthDesc": { - "message": "Anna web-holvin laajentua koko selainikkunan leveydelle." + "message": "Salli verkkoholvin laajentua selainikkunan koko leveydelle." }, "default": { "message": "Oletus" @@ -1061,31 +1070,31 @@ "message": "Verkkotunnusten säännöt" }, "domainRulesDesc": { - "message": "Jos kirjautumistietosi ovat samat useamman toimialueen (domain) välillä, voit merkata sivuston vertaiseksi toisen kanssa. Globaalit vertaistoimialueet ovat valmiiksi Bitwardenin luomia." + "message": "Jos kirjautumistietosi ovat samat useille verkkotunnuksille, voit merkata sivustot vastaavanlaisiksi. Bitwarden on luonut sinulle valmiiksi globaaleita verkkotunnuksia." }, "globalEqDomains": { - "message": "Globaalit vertaistoimialueet" + "message": "Globaalit vastaavat verkkotunnukset" }, "customEqDomains": { - "message": "Omat vertaistoimialueet" + "message": "Omat vastaavat verkkotunnukset" }, "exclude": { - "message": "Älä sisällytä" + "message": "Poista sääntö käytöstä" }, "include": { - "message": "Sisällytä" + "message": "Ota sääntö käyttöön" }, "customize": { - "message": "Mukauta" + "message": "Muokkaa sääntöä" }, "newCustomDomain": { - "message": "Uusi mukautettu verkkotunnus" + "message": "Lisää oma verkkotunnus" }, "newCustomDomainDesc": { - "message": "Enter a list of domains separated by commas. Only \"base\" domains are allowed. Do not enter subdomains. For example, enter \"google.com\" instead of \"www.google.com\". You can also enter \"androidapp://package.name\" to associate an android app with other website domains." + "message": "Syötä verkkotunnukset pilkulla eroteltuina. Vain \"juuritason\" verkkotunnukset sallitaan, ei aliverkkotunnuksia. Eli syötä esimerkiksi \"www.google.com\" sijasta \"google.com\". Voit myös syöttää \"androidapp://package.name\" -muotoisia osoitteita liittääksesi myös Android-sovelluksia verkkotunnuksiin." }, "customDomainX": { - "message": "Mukautettu verkkotunnus $INDEX$", + "message": "Oma verkkotunnus $INDEX$", "placeholders": { "index": { "content": "$1", @@ -1094,29 +1103,29 @@ } }, "domainsUpdated": { - "message": "Verkkotunnukset päivitetty" + "message": "Verkkotunnukset päivitettiin" }, "twoStepLogin": { "message": "Kaksivaiheinen kirjautuminen" }, "twoStepLoginDesc": { - "message": "Turvaa tilisi vaatimalla lisävaiheita sisäänkirjautumisen yhteydessä." + "message": "Suojaa tilisi vaatimalla sisäänkirjautumiseen toinen todennusvaihe." }, "twoStepLoginOrganizationDesc": { - "message": "Require two-step login for your organization's users by configuring providers at the organization level." + "message": "Vaadi kaksivaiheinen kirjautuminen organisaatiosi käyttäjille määrittämällä todennusmenetelmät organisaation tasolla." }, "twoStepLoginRecoveryWarning": { - "message": "Enabling two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (ex. you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." + "message": "Kaksivaiheisen kirjautumisen käyttöönotto voi lukita sinut pysyvästi ulos Bitwaren-tililtäsi. Palautuskoodi mahdollistaa pääsyn tilillesi myös silloin, jos et voi käyttää normaaleja kaksivaiheisen kirjautumisen todennusmenetelmiäsi (esim. hävität todennuslaitteesi tai se varastetaan). Myöskään Bitwardenin tuki ei voi auttaa sinua, jos menetät pääsyn tillesi. Suosittelemme, että kirjoitat muistiin tai tulostat palautuskoodin ja pidät sen tallessa turvallisessa paikassa (esim. kassakaapissa tai pankin tallelokerossa)." }, "viewRecoveryCode": { "message": "Näytä palautuskoodi" }, "providers": { - "message": "Palveluntarjoajat", + "message": "Todennusmenetelmät", "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." }, "enable": { - "message": "Käytä" + "message": "Ota käyttöön" }, "enabled": { "message": "Käytössä" @@ -1132,34 +1141,34 @@ "message": "Premium vaaditaan" }, "premiumRequiredDesc": { - "message": "Tarvitset premium-jäsenyyden tämän toiminnon käyttämiseen." + "message": "Käyttääksesi tätä toimintoa tarvitset Premium-jäsenyyden." }, "youHavePremiumAccess": { - "message": "Sinulla on premium käyttäjätili" + "message": "Sinulla on Premium-käyttöoikeus" }, "alreadyPremiumFromOrg": { - "message": "You already have access to premium features because of an organization you are a member of." + "message": "Premium-toiminnot ovat jo käytettävissäsi, johtuen organisaatiosta, jonka jäsen olet." }, "manage": { - "message": "Hallinnoi" + "message": "Hallinta" }, "disable": { "message": "Poista käytöstä" }, "twoStepLoginProviderEnabled": { - "message": "Tämä kaksivaihekirjautuminen on päällä tilillesi." + "message": "Tämä kaksivaiheisen kirjautumisen todennusmenetelmä on käytössä tililläsi." }, "twoStepLoginAuthDesc": { - "message": "Kirjoita pääsalasanasi muokataksesi kaksivaihekirjautumisen asetuksia." + "message": "Syötä pääsalasana muokataksesi kaksivaiheisen kirjautumisen asetuksia." }, "twoStepAuthenticatorDesc": { - "message": "Seuraa näitä vaiheita ottaaksesi kaksivaiheinen tunnistaminen käyttöön todennussovelluksella:" + "message": "Seuraa näitä vaiheita ottaaksesi käyttöön kaksivaiheisen kirjautumisen todennussovelluksella:" }, "twoStepAuthenticatorDownloadApp": { - "message": "Lataa kaksivaiheisen tunnistautumisen sovellus" + "message": "Lataa kaksivaiheisen kirjautumisen todennussovellus" }, "twoStepAuthenticatorNeedApp": { - "message": "Tarvitsetko kaksivaiheisen tunnistamisen todennussovelluksen? Lataa yksi seuraavista" + "message": "Tarvitsetko todennussovelluksen kaksivaiheista kirjautumista varten? Lataa jokin seuraavista" }, "iosDevices": { "message": "iOS-laitteet" @@ -1171,49 +1180,49 @@ "message": "Windows-laitteet" }, "twoStepAuthenticatorAppsRecommended": { - "message": "These apps are recommended, however, other authenticator apps will also work." + "message": "Näitä sovelluksia suositellaan, mutta myös muut todennussovellukset toimivat." }, "twoStepAuthenticatorScanCode": { - "message": "Skannaa tämä QR-koodi kaksivaiheisen todennuksen sovelluksellasi" + "message": "Skannaa tämä QR-koodi todennussovelluksellasi" }, "key": { "message": "Avain" }, "twoStepAuthenticatorEnterCode": { - "message": "Syötä 6-numeroinen vahvistuskoodi sovelluksesta" + "message": "Syötä 6-numeroinen todennuskoodi todennussovelluksesta" }, "twoStepAuthenticatorReaddDesc": { - "message": "Jos haluat lisätä todennuksen toiseen laitteeseen, löydät tarvittavan QR-koodin (tai avaimen) alta." + "message": "Jos sinun on lisättävä tai siirrettävä todennus toiseen laitteeseen, löydät alta todennussovelluksesi tarvitseman QR-koodin (tai avaimen)." }, "twoStepDisableDesc": { - "message": "Haluatko varmasti poistaa tämän kaksivaiheisen todennuksen toimittajan?" + "message": "Haluatko varmasti poistaa tämän kaksivaiheisen kirjautumisen todennusmenetelmän?" }, "twoStepDisabled": { - "message": "Valittu kaksivaiheinen todennus otettu pois käytöstä." + "message": "Kaksivaiheisen kirjautumisen todennusmenetelmä on poistettu käytöstä." }, "twoFactorYubikeyAdd": { - "message": "Lisää uusi YubiKey tilillesi" + "message": "Lisää tilillesi YubiKey-todennuslaite" }, "twoFactorYubikeyPlugIn": { - "message": "Aseta YubiKey tietokoneesi USB-porttiin." + "message": "Kytke YubiKey-todennuslaitteesi tietokoneesi USB-porttiin." }, "twoFactorYubikeySelectKey": { - "message": "Valitse ensimmäinen tyhjä YubiKey kenttä alta." + "message": "Valitse alta ensimmäinen tyhjä YubiKey-syöttökenttä." }, "twoFactorYubikeyTouchButton": { - "message": "Kosketa YubiKeyn painiketta." + "message": "Paina YubiKey-todennuslaitteen painiketta." }, "twoFactorYubikeySaveForm": { "message": "Tallenna lomake." }, "twoFactorYubikeyWarning": { - "message": "Alustan rajoitusten vuoksi, YubiKey:tä ei pystytä käyttämään kaikissa Bitwarden sovelluksissa. Sinun tulisi ottaa käyttöön toinen kaksivaiheisen tunnistamisen tarjoaja, jotta voit käyttää tiliäsi, kun YubiKey:tä ei voida käyttää. Tuetut alustat:" + "message": "Alustan rajoitusten vuoksi, YubiKey-todennuslaitteen käyttö ei ole mahdollista kaikissa Bitwarden-sovelluksissa. Sinun tulisi ottaa käyttöön eri kaksivaiheisen kirjautumisen todennusmenetelmä, jotta pääset tilillesi myös silloin kun YubiKey-laitteen käyttö ei onnistu. Tuetut alustat:" }, "twoFactorYubikeySupportUsb": { - "message": "Web-holvi, työpöytäsovellus, CLI ja kaikki selainlaajennukset laitteessa, jossa on YubiKeyn hyväksyvä USB-portti." + "message": "Verkkoholvi, työpöytäsovellus, CLI ja kaikki selainlaajennukset laitteessa, jossa on YubiKey-todennuslaitteen käyttöön soveltuva USB-portti." }, "twoFactorYubikeySupportMobile": { - "message": "Mobile apps on a device with NFC capabilities or a USB port that can accept your YubiKey." + "message": "Mobiilisovellukset laitteessa, jossa on NFC-ominaisuus tai YubiKey-todennuslaitteen kanssa yhteensopiva tietoliikenneportti." }, "yubikeyX": { "message": "YubiKey $INDEX$", @@ -1225,7 +1234,7 @@ } }, "u2fkeyX": { - "message": "U2F Key $INDEX$", + "message": "U2F $INDEX$", "placeholders": { "index": { "content": "$1", @@ -1237,85 +1246,85 @@ "message": "NFC-tuki" }, "twoFactorYubikeySupportsNfc": { - "message": "Yksi avaimistani tukee NFC:tä." + "message": "Jokin laitteeni tukee NFC-tekniikkaa." }, "twoFactorYubikeySupportsNfcDesc": { - "message": "Jos joku YubiKey:stäsi tukee NFC:tä (kuten YubiKey NEO), kehote näytetään mobiililaitteissa silloin kun NFC saatavuus on havaittu." + "message": "Jos jokin YubiKey-todennuslaitteesi tukee NFC-tekniikkaa (kuten YubiKey NEO), näytetään mobiililaitteissa kehote NFC:n ollessa käytettävissä." }, "yubikeysUpdated": { - "message": "YubiKeyt päivitetty" + "message": "YubiKey-todennuslaitteet päivitettiin" }, "disableAllKeys": { - "message": "Disable All Keys" + "message": "Poista kaikki todennuslaitteet käytöstä" }, "twoFactorDuoDesc": { - "message": "Syötä Bitwardenin sovellustiedot Duo Admin -paneelista." + "message": "Syötä Bitwarden-sovelluksen tiedot Duo Security -tilisi hallintapaneelista." }, "twoFactorDuoIntegrationKey": { "message": "Integration Key" }, "twoFactorDuoSecretKey": { - "message": "Salainen avain" + "message": "Secret Key" }, "twoFactorDuoApiHostname": { - "message": "API Hostname" + "message": "API hostname" }, "twoFactorEmailDesc": { - "message": "Seuraa näitä vaiheita ottaaksesi kaksivaiheinen tunnistautuminen käyttöön sähköpostilla:" + "message": "Seuraa näitä vaiheita ottaaksesi käyttöön kaksivaiheisen kirjautumisen todennuksen sähköpostitse:" }, "twoFactorEmailEnterEmail": { - "message": "Syötä sähköpostiosoite, johon haluat vastaanottaa vahvistuskoodit" + "message": "Syötä sähköpostiosoite, johon haluat vastaanottaa todennuskoodit" }, "twoFactorEmailEnterCode": { - "message": "Syötä 6-numeroinen vahvistuskoodi sähköpostista" + "message": "Syötä 6-numeroinen todennuskoodi sähköpostista" }, "sendEmail": { - "message": "Lähetä sähköpostia" + "message": "Lähetä sähköposti" }, "twoFactorU2fAdd": { - "message": "Lisää FIDO U2F -turva-avain tilillesi" + "message": "Lisää tilillesi FIDO U2F -todennuslaite" }, "removeU2fConfirmation": { - "message": "Haluatko varmasti poistaa tämän turva-avaimen?" + "message": "Haluatko varmasti poistaa todennuslaitteen?" }, "readKey": { - "message": "Read Key" + "message": "Lue todennuslaite" }, "keyCompromised": { "message": "Avain on vaarantunut." }, "twoFactorU2fGiveName": { - "message": "Anna turva-avaimelle helposti tunnistettava nimi." + "message": "Anna todennuslaitteelle helposti tunnistettava nimi." }, "twoFactorU2fPlugInReadKey": { - "message": "Plug the security key into your computer's USB port and click the \"Read Key\" button." + "message": "Kytke todennuslaitteesi tietokoneen USB-porttiin ja klikkaa \"Lue todennuslaite\" -painiketta." }, "twoFactorU2fTouchButton": { - "message": "Jos turva-avaimessa on painike, kosketa sitä." + "message": "Jos todennuslaitteessa on painike, paina sitä." }, "twoFactorU2fSaveForm": { "message": "Tallenna lomake." }, "twoFactorU2fWarning": { - "message": "Alustakohtaisten rajoitusten vuoksi, FIDO U2F:ää ei pystytä käyttämään kaikissa Bitwarden sovelluksissa. Sinun tulee ottaa käyttöön toinen kaksivaiheisen tunnistautumisen tapa, jotta voit käyttää tiliäsi, kun FIDO U2F ei ole saatavilla. Tuetut alustat:" + "message": "Alustan rajoitusten vuoksi, FIDO U2F -todennuslaitteen käyttö ei ole mahdollista kaikissa Bitwarden-sovelluksissa. Sinun tulisi ottaa käyttöön eri kaksivaiheisen kirjautumisen todennusmenetelmä, jotta pääset tilillesi myös silloin kun FIDO U2F -laitteen käyttö ei onnistu. Tuetut alustat:" }, "twoFactorU2fSupportWeb": { - "message": "Web-holvi ja selainlaajennukset pöytäkoneella/kannettavalla U2F-yhteensopivalla selaimella (Chrome, Opera, Vivaldi tai Firefox FIDO U2F valittuna)." + "message": "Verkkoholvi ja selainlaajennukset pöytäkoneissa/kannettavissa, joissa on U2F-tekniikkaa tukeva selain (Chrome, Opera, Vivaldi tai Firefox FIDO U2F käyttöön otettuna)." }, "twoFactorU2fWaiting": { - "message": "Odotetaan, että kosketat turva-avaimessa olevaa painiketta" + "message": "Odotetaan, että painat todennuslaitteesi painiketta" }, "twoFactorU2fClickSave": { - "message": "Napsauta alla olevaa \"Tallenna\" painiketta ottaaksesi käyttöön tämän turva-avaimen kaksivaiheiseen kirjautumiseen." + "message": "Klikkaa alta \"Tallenna\" käyttääksesi tätä todennuslaitetta kaksivaiheiseen kirjautumiseen." }, "twoFactorU2fProblemReadingTryAgain": { - "message": "Turva avaimen lukemisessa tapahtui virhe, yritä uudelleen." + "message": "Todennuslaittetta luettaessa havaittiin ongelma. Yritä uudelleen." }, "twoFactorRecoveryYourCode": { - "message": "Bitwarden kaksivaiheisen kirjautumisesi palautuskoodi" + "message": "Bitwardenin kaksivaiheisen kirjautumisen palautuskoodisi" }, "twoFactorRecoveryNoCode": { - "message": "Et ole vielä aktivoinut mitään kaksivaiheisen kirjautumisen tarjoajaa. Kun olet ottanut kaksivaiheisen kirjautumisen käyttöön, löydät palautuskoodin jatkossa täältä." + "message": "Et ole vielä ottanut käyttöön kaksivaiheisen kirjautumisen todennusmenetelmiä. Otettuasi todennusmenetelmän käyttöön, löydät palautuskoodin täältä." }, "printCode": { "message": "Tulosta koodi", @@ -1325,16 +1334,16 @@ "message": "Raportit" }, "unsecuredWebsitesReport": { - "message": "Unsecured Websites Report" + "message": "Suojaamattomat sivustot" }, "unsecuredWebsitesReportDesc": { - "message": "Suojaamattomien sivustojen käyttäminen http:// -protokollalla voi olla vaarallista. Jos sivusto sallii, sinun pitäisi aina käyttää sitä https:// -protokollan avulla, jotta yhteytesi on salattu." + "message": "Sivustojen käyttö suojaamattoman \"http://\" -protokollan välityksellä voi olla vaarallista. Jos sivusto sitä tukee, tulisi sitä aina käyttää \"https://\" -protokollan välityksellä, jolloin yhteytesi on salattu." }, "unsecuredWebsitesFound": { - "message": "Unsecured Websites Found" + "message": "Löydettiin suojaamattomia verkkosivustoja" }, "unsecuredWebsitesFoundDesc": { - "message": "Löysimme holvistasi $COUNT$ kohdetta suojaamattomilla URI:illa. Sinun tulisi muuttaa niiden URI-muotoon https:// jos sivusto mahdollistaa sen.", + "message": "Löysimme holvistasi $COUNT$ kohdetta suojaamattomilla URI-osoitteilla. Sinun tulisi muuttaa niiden URI suojattuun \"https://\" -muotoon, jos sivusto tukee sitä.", "placeholders": { "count": { "content": "$1", @@ -1343,19 +1352,19 @@ } }, "noUnsecuredWebsites": { - "message": "Yhdelläkään holvissasi olevista kohteista ei ole suojaamattomia URIa." + "message": "Holviisi tallennetuista kirjautumistiedoista ei löydetty suojaamattomia URI-osoitteita." }, "inactive2faReport": { - "message": "Inactive 2FA Report" + "message": "Tunnusten 2FA tila" }, "inactive2faReportDesc": { - "message": "Kaksivaiheinen todennus (2FA) on tärkeä suojausasetus, joka auttaa tiliesi suojaamisessa. Jos sivusto tarjoaa mahdollisuuden kaksivaiheisen todennuksen käyttöönottoon, sinun kannattaa tehdä se." + "message": "Kaksivaiheinen kirjautuminen (2FA) on tärkeä suojausasetus, joka auttaa käyttäjätiliesi suojauksessa. Jos sivusto tarjoaa mahdollisuuden kaksivaiheisen kirjautmisen käyttöön, sinun tulisi aina ottaa se käyttöön." }, "inactive2faFound": { - "message": "Logins Without 2FA Found" + "message": "Löydettiin tunnuksia ilman kaksivaiheista kirjautumista" }, "inactive2faFoundDesc": { - "message": "Löysimme holvistasi $COUNT$ sivustoa, joita ei ehkä ole määritetty käyttämään kaksivaiheista todennusta (twofactorauth.org-sivuston mukaan). Suojataksesi nämä tilit paremmin, sinun tulisi ottaa kaksivaiheinen todennus käyttöön.", + "message": "Löysimme holvistasi $COUNT$ sivustoa, joita ei ehkä ole määritetty käyttämään kaksivaiheista kirjautumista (twofactorauth.org-sivuston mukaan). Suojataksesi nämä tilit paremmin, sinun tulisi ottaa kaksivaiheinen kirjautuminen käyttöön.", "placeholders": { "count": { "content": "$1", @@ -1364,22 +1373,22 @@ } }, "noInactive2fa": { - "message": "Holvistasi ei löytynyt sivustoja, joille ei ole määritetty kaksivaiheista tunnistautumista." + "message": "Holvistasi ei löytynyt sivustoja, joille ei ole määritetty kaksivaiheista kirjautumista." }, "instructions": { "message": "Ohjeet" }, "exposedPasswordsReport": { - "message": "Exposed Passwords Report" + "message": "Paljastuneet salasanat" }, "exposedPasswordsReportDesc": { - "message": "Exposed passwords are passwords have been uncovered in known data breaches that were released publicly or sold on the dark web by hackers." + "message": "Paljastuneet salasanat ovat salasanoja, jotka on paljastettu julkaistujen tietovuotojen yhteydessä tai joita hakkerit ovat myyneet pimeässä verkossa (dark web)." }, "exposedPasswordsFound": { - "message": "Exposed Passwords Found" + "message": "Löydettiin paljastuneita salasanoja" }, "exposedPasswordsFoundDesc": { - "message": "Löysimme holvistasi $COUNT$ kohdetta, jotka sisältävät tunnetuissa tietovuodoissa paljastuneita salasanoja. Sinun tulisi vaihtaa näiden palveluiden salasanat.", + "message": "Löysimme holvistasi $COUNT$ kohdetta, jotka sisältävät tunnetuissa tietovuodoissa paljastuneita salasanoja. Näiden palveluiden salasanat tulisi vaihtaa.", "placeholders": { "count": { "content": "$1", @@ -1388,10 +1397,10 @@ } }, "noExposedPasswords": { - "message": "Yhdelläkään holvissasi olevista kohteista ei ole tunnetuissa tietovuodoissa paljastuneita salasanoja." + "message": "Holviisi tallennetuista kirjautumistiedoista ei löydetty tunnetuissa tietovuodoissa paljastuneita salasanoja." }, "checkExposedPasswords": { - "message": "Check Exposed Passwords" + "message": "Tarkasta paljastuneet salasanat" }, "exposedXTimes": { "message": "Paljastunut $COUNT$ kertaa", @@ -1403,16 +1412,16 @@ } }, "weakPasswordsReport": { - "message": "Heikkojen salasanojen raportti" + "message": "Heikot salasanat" }, "weakPasswordsReportDesc": { - "message": "Heikot salasanat ovat helposti hakkereiden ja automaattisten salasanojen murtamiseen käytettävien työkalujen arvattavissa. Bitwardenin salasanageneraattori auttaa sinua luomaan vahvoja salasanoja." + "message": "Heikot salasanat ovat hakkereiden ja automaattisten salasanojen murtotyökalujen helposti arvattavissa. Bitwardenin salasanageneraattori auttaa sinua luomaan vahvoja salasanoja." }, "weakPasswordsFound": { - "message": "Heikkoja salasanoja löydetty" + "message": "Löydettiin heikkoja salasanoja" }, "weakPasswordsFoundDesc": { - "message": "Löysimme holvistasi $COUNT$ kohdetta, joiden salasanat eivät ole vahvoja. Sinun tulisi vaihtaa nämä vahvempiin salasanoihin.", + "message": "Löysimme holvistasi $COUNT$ kohdetta, joiden salasanat eivät ole vahvoja. Nämä tulisi korvata vahvemmilla salasanoilla.", "placeholders": { "count": { "content": "$1", @@ -1421,19 +1430,19 @@ } }, "noWeakPasswords": { - "message": "Yhdelläkään holvisi kohteista ei ole heikkoja salasanoja." + "message": "Holviisi tallennetuista kirjautumistiedoista ei löydetty heikkoja salasanoja." }, "reusedPasswordsReport": { - "message": "Reused Passwords Report" + "message": "Toistuvat salasanat" }, "reusedPasswordsReportDesc": { - "message": "Jos käyttämäsi palvelu on vaarassa, saman salasanan uudelleenkäyttö muualla voi mahdollistaa hakkereiden pääsyn myös muille käyttäjätileillesi. Sinun tulee käyttää yksilöllistä salasanaa jokaiselle tilille tai palvelulle." + "message": "Jos käyttämäsi palvelu on vaarantunut, saman salasanan toistuva käyttö muualla voi mahdollistaa hakkereiden pääsyn myös muille käyttäjätileillesi. Jokaiselle tilille ja palvelulle tulisi käyttää yksilöllisiä salasanoja." }, "reusedPasswordsFound": { - "message": "Reused Passwords Found" + "message": "Löydettiin toistuvia salasanoja" }, "reusedPasswordsFoundDesc": { - "message": "Löysimme $COUNT$ salasanaa, joita käytetään uudelleen holvissasi. Sinun tulisi vaihtaa ne yksilöllisiksi.", + "message": "Löysimme holvistasi $COUNT$ toistuvasti käytettyä salasanaa. Ne tulisi vaihtaa yksilöllisiksi.", "placeholders": { "count": { "content": "$1", @@ -1442,10 +1451,10 @@ } }, "noReusedPasswords": { - "message": "Holvissasi ei ole salasanoja, joita käytetään uudelleen." + "message": "Holvissasi ei ole toistuvasti käytettyjä salasanoja." }, "reusedXTimes": { - "message": "Käytetty uudestaan $COUNT$ kertaa", + "message": "Käytetty toistuvasti $COUNT$ kertaa", "placeholders": { "count": { "content": "$1", @@ -1454,16 +1463,16 @@ } }, "dataBreachReport": { - "message": "Data Breach Report" + "message": "Tietovuodot" }, "breachDesc": { - "message": "\"Murto\" on tilanne, jossa hakkerit ovat laittomasti päässeet käsiksi sivuston suojattuihin tietoihin ja julkaisseet ne tämän jälkeen julkisesti. Tarkista vaarantuneet tiedot (sähköpostiosoitteet, salasanat, luottokortit jne.) ja tee asianmukaiset toimet, kuten salasanan vaihdokset." + "message": "\"Tietovuoto\" tai \"tietomurto\" on tilanne, jossa hakkerit ovat laittomasti päässeet käsiksi sivuston suojattuihin tietoihin ja julkaisseet ne tämän jälkeen julkisesti. Tarkista vaarantuneet tiedot (sähköpostiosoitteet, salasanat, maksukortit jne.) ja tee asianmukaiset toimet, kuten salasanan vaihdokset." }, "breachCheckUsernameEmail": { - "message": "Tarkista kaikki käyttämäsi käyttäjänimet ja sähköpostiosoitteet." + "message": "Tarkista kaikki käyttämäsi käyttäjätunnukset tai sähköpostiosoitteet." }, "checkBreaches": { - "message": "Check Breaches" + "message": "Tarkasta tietovuodot" }, "breachUsernameNotFound": { "message": "Käyttäjätunnusta $USERNAME$ ei löytynyt yhdestäkään tunnetusta tietovuodosta.", @@ -1479,7 +1488,7 @@ "description": "ex. Good News, No Breached Accounts Found!" }, "breachUsernameFound": { - "message": "Käyttäjätunnus $USERNAME$ löytyi $COUNT$ verkossa tapahtuneesta tietovuodosta.", + "message": "Käyttäjätunnus $USERNAME$ löytyi $COUNT$ tapahtuneesta tietovuodosta.", "placeholders": { "username": { "content": "$1", @@ -1492,22 +1501,22 @@ } }, "breachFound": { - "message": "Breached Accounts Found" + "message": "Löydettiin vuotaneita kirjautumistietoja" }, "compromisedData": { - "message": "Vaarantunutta tietoa" + "message": "Vaarantuneet tiedot" }, "website": { - "message": "Sivusto" + "message": "Verkkosivusto" }, "affectedUsers": { - "message": "Affected Users" + "message": "Koskee käyttäjiä" }, "breachOccurred": { - "message": "Breach Occurred" + "message": "Tietovuoto tapahtui" }, "breachReported": { - "message": "Breach Reported" + "message": "Tietovuoto paljastui" }, "reportError": { "message": "Raporttia ladatessa tapahtui virhe. Yritä uudelleen" @@ -1516,7 +1525,7 @@ "message": "Laskutus" }, "accountCredit": { - "message": "Tilin luotto", + "message": "Tilin saldo", "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." }, "accountBalance": { @@ -1524,7 +1533,7 @@ "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." }, "addCredit": { - "message": "Lisää luottoa", + "message": "Lisää saldoa", "description": "Add more credit to your account's balance." }, "amount": { @@ -1532,44 +1541,44 @@ "description": "Dollar amount, or quantity." }, "creditDelayed": { - "message": "Lisätty luotto näkyy tililläsi sen jälkeen, kun maksu on täysin käsitelty. Jotkin maksutavat ovat viivästettyjä ja osassa maksutavoista käsittely kestää kauemmin kuin muissa." + "message": "Lisätty saldo näkyy tililläsi kun maksu on käsitelty loppuun. Joissakin maksutavoissa on viivettä ja niiden käsittely saattaa kestää kauemmin muita maksutapoja pidempään." }, "makeSureEnoughCredit": { - "message": "Varmista, että tililläsi on riittävästi saldoa tätä ostoa varten. Jos tililläsi ei ole tarpeeksi saldoa, voidaan erotus veloittaa tallennettua oletusmaksutapaa käyttäen. Voit lisätä tilillesi saldoa laskutussivulta." + "message": "Varmista, että tililläsi on riittävästi saldoa tälle ostolle. Jos tililläsi ei ole tarpeeksi saldoa, voidaan erotus veloittaa tallennettua oletusmaksutapaa käyttäen. Voit lisätä tilillesi saldoa \"Laskutus\" -sivulta." }, "creditAppliedDesc": { - "message": "Tilisi saldoa voidaan käyttää ostosten tekemiseen. Kaikki käytettävissä oleva saldo kohdistetaan automaattisesti tälle tilille luotuihin laskuihin." + "message": "Tilisi saldoa voidaan käyttää ostoksiin. Kaikki käytettävissä oleva saldo kohdistetaan automaattisesti tälle tilille luotuihin laskuihin." }, "goPremium": { - "message": "Päivitä premiumiin", + "message": "Päivitä Premiumiin", "description": "Another way of saying \"Get a premium membership\"" }, "premiumUpdated": { - "message": "Olet päivittänyt premiumiin." + "message": "Olet päivittänyt Premiumiin" }, "premiumUpgradeUnlockFeatures": { - "message": "Päivitä tilisi Premium-jäsenyyteen ja avaa joitakin hienoja lisäominaisuuksia." + "message": "Päivitä tilisi Premium-jäsenyyteen ja avaa joitakin hienoja lisätoimintoja." }, "premiumSignUpStorage": { - "message": "1 Gt salattua tallennustilaa tiedostoliitteille." + "message": "1 Gt salattua tallennustilaa liitetiedostoille." }, "premiumSignUpTwoStep": { - "message": "lisävaihtoehtoja kaksivaiheiselle kirjautumiselle, kuten YubiKey, FIDO U2F ja Duo" + "message": "Muita kaksivaiheisen kirjautumisen todennusmenetelmiä kuten YubiKey, FIDO U2F ja Duo Security." }, "premiumSignUpReports": { - "message": "Salasanahygienia-, tiliturvallisuus- ja tietovuotoraportit pitävät holvisi turvassa." + "message": "Salasanahygienian, tilin terveyden ja tietovuotojen raportointitoiminnot pitävät holvisi turvassa." }, "premiumSignUpTotp": { - "message": "TOTP-vahvistuskoodigeneraattorin (2FA) holvisi käyttäjätunnuksille" + "message": "Kaksivaiheisen kirjautumisen (2FA) TOTP-todennuskoodien generaattori holvisi kirjautumistiedoille." }, "premiumSignUpSupport": { - "message": "Etusija asiakastuessa." + "message": "Ensisijainen asiakastuki." }, "premiumSignUpFuture": { - "message": "Kaikki tulevat premium-ominaisuudet. Lisää tulossa pian!" + "message": "Kaikki tulossa olevat Premium-toiminnot. Lisää tulossa pian!" }, "premiumPrice": { - "message": "Kaikki tämä vain $PRICE$ / vuosi!", + "message": "Kaikki tämä vain $PRICE$/vuosi!", "placeholders": { "price": { "content": "$1", @@ -1578,13 +1587,13 @@ } }, "addons": { - "message": "Lisäosat" + "message": "Lisäykset" }, "premiumAccess": { - "message": "Premium Access" + "message": "Premium-käyttöoikeus" }, "premiumAccessDesc": { - "message": "You can add premium access to all members of your organization for $PRICE$ /$INTERVAL$.", + "message": "Voit lisätä Premium-käyttöoikeuden kaikille organisaatiosi jäsenille $PRICE$/$INTERVAL$.", "placeholders": { "price": { "content": "$1", @@ -1597,13 +1606,13 @@ } }, "additionalStorageGb": { - "message": "Lisätallennustilaa (Gt)" + "message": "Lisättävä tallennustila, Gt" }, "additionalStorageGbDesc": { - "message": "# lisättävästä Gb:stä" + "message": "# vapaana olevista gigatavuista" }, "additionalStorageIntervalDesc": { - "message": "Tilaukseesi sisältyy $SIZE$ salattua tallennustilaa. Voit saada lisätilaa $PRICE$ per GB /$INTERVAL$.", + "message": "Tilaukseesi sisältyy $SIZE$ salattua tallennustilaa. Voit saada lisätilaa $PRICE$ per Gt/$INTERVAL$.", "placeholders": { "size": { "content": "$1", @@ -1636,10 +1645,10 @@ "description": "Short abbreviation for 'month'" }, "paymentChargedAnnually": { - "message": "Maksutapasi veloitetaan välittömästi ja sitten toistuvasti vuosittain. Voit peruuttaa milloin tahansa." + "message": "Maksutapaasi veloitetaan välittömästi ja jatkossa kerran vuodessa. Voit peruuttaa tilauksen milloin tahansa." }, "paymentCharged": { - "message": "Maksutapasi veloitetaan välittömästi ja sitten toistuvasti joka $INTERVAL$. Voit peruuttaa koska tahansa.", + "message": "Maksutapaasi veloitetaan välittömästi ja jatkossa joka $INTERVAL$. Voit peruuttaa tilauksen milloin tahansa.", "placeholders": { "interval": { "content": "$1", @@ -1648,7 +1657,7 @@ } }, "paymentChargedWithTrial": { - "message": "Tilauksesi sisältää ilmaisen 7 päivän kokeilujakson. Maksutapaasi ei veloiteta ennen kuin kokeilujakso on päättynyt. Laskutus tapahtuu toistuvasti $INTERVAL$ välein. Voit päättää tilauksen milloin tahansa.", + "message": "Tilauksesi sisältää ilmaisen 7 päivän kokeilujakson. Maksutapaasi ei veloiteta ennen kokeilujakson päättymistä. Jatkossa veloitus tapahtuu joka $INTERVAL$. Voit peruuttaa tilauksen milloin tahansa.", "placeholders": { "interval": { "content": "$1", @@ -1659,41 +1668,44 @@ "paymentInformation": { "message": "Maksutiedot" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { - "message": "Luottokortti" + "message": "Maksukortti" }, "paypalClickSubmit": { - "message": "Paina PayPal painiketta kirjautuaksesi PayPal tilillesi. Paina sitten Lähetä painiketta jatkaaksesi." + "message": "Klikkaa PayPal-painiketta kirjautuaksesi PayPal-tilillesi ja sen jälkeen alta \"Jatka\"." }, "cancelSubscription": { "message": "Peruuta tilaus" }, "subscriptionCanceled": { - "message": "Tilaus on peruutettu." + "message": "Tilaus on peruttu." }, "pendingCancellation": { "message": "Odottaa peruutusta" }, "subscriptionPendingCanceled": { - "message": "Tilaus on merkitty peruuntuvaksi kuluvan laskutusajan lopussa." + "message": "Tilaus on merkitty päättyväksi kuluvan laskutuskauden lopussa." }, "reinstateSubscription": { - "message": "Reinstate Subscription" + "message": "Plauta tilaus voimaan" }, "reinstateConfirmation": { - "message": "Haluatko varmasti poistaa odottavan peruutuspyynnön ja palauttaa tilauksesi?" + "message": "Haluatko varmasti poistaa odottavan peruutuspyynnön ja pitää tilauksesi voimassa?" }, "reinstated": { - "message": "Tilaus on palautettu." + "message": "Tilauksesi on palautettu voimaan." }, "cancelConfirmation": { - "message": "Haluatko varmasti peruuttaa tilauksen? Menetät pääsyn kaikkiin tämän tilauksen ominaisuuksiin tämän laskutuskauden lopussa." + "message": "Haluatko varmasti peruuttaa tilauksen? Menetät pääsyn kaikkiin tilauksen tarjoamiin ominaisuuksiin kuluvan laskutuskauden lopussa." }, "canceledSubscription": { "message": "Tilaus on peruttu." }, "neverExpires": { - "message": "Ei vanhene koskaan" + "message": "Ei eräänny koskaan" }, "status": { "message": "Tila" @@ -1711,7 +1723,7 @@ "message": "Päivitä lisenssi" }, "updatedLicense": { - "message": "Lisenssi päivitetty" + "message": "Lisenssi päivitettiin" }, "manageSubscription": { "message": "Hallitse tilausta" @@ -1720,13 +1732,13 @@ "message": "Tallennustila" }, "addStorage": { - "message": "Lisää tallennustilaa" + "message": "Kasvata tallennustilaa" }, "removeStorage": { - "message": "Poista tallennustila" + "message": "Pienennä tallennustilaa" }, "subscriptionStorage": { - "message": "Tilaukseesi sisältyy $MAX_STORAGE$ Gt salattua tallennustilaa. Tilasta on tällä hetkellä käytössä $USED_STORAGE$.", + "message": "Tilaukseesi sisältyy $MAX_STORAGE$ Gt salattua tallennustilaa, josta $USED_STORAGE$ on tällä hetkellä käytössä.", "placeholders": { "max_storage": { "content": "$1", @@ -1742,7 +1754,7 @@ "message": "Maksutapa" }, "noPaymentMethod": { - "message": "Maksutapaa ei ole tiedoissa." + "message": "Maksutapoja ei ole tallennettu." }, "addPaymentMethod": { "message": "Lisää maksutapa" @@ -1754,22 +1766,22 @@ "message": "Laskut" }, "noInvoices": { - "message": "Ei laskuja." + "message": "Laskuja ei ole." }, "paid": { "message": "Maksettu", "description": "Past tense status of an invoice. ex. Paid or unpaid." }, "unpaid": { - "message": "Maksamaton", + "message": "Ei maksettu", "description": "Past tense status of an invoice. ex. Paid or unpaid." }, "transactions": { - "message": "Maksutapahtumat", + "message": "Tapahtumat", "description": "Payment/credit transactions." }, "noTransactions": { - "message": "Ei maksutapahtumia." + "message": "Tapahtumia ei ole." }, "chargeNoun": { "message": "Veloitus", @@ -1789,10 +1801,10 @@ } }, "gbStorageAdd": { - "message": "Gt tallennustilaa lisättävänä" + "message": "Lisättävä tallennustila, Gt" }, "gbStorageRemove": { - "message": "Gt tallennustilaa poistettavana" + "message": "Poistettava tallennustila, Gt" }, "storageAddNote": { "message": "Tallennuskapasiteetin lisäys muuttaa kokonaislaskutustasi ja korotus veloitetaan tilillesi tallennetulta maksutavalta välittömästi. Ensimmäinen veloitus sovitetaan tämänhetkisen laskutusjaksosi jäljellä olevalle ajalle." @@ -1801,7 +1813,7 @@ "message": "Tallennuskapasiteetin vähennys muuttaa kokonaislaskutustasi ja tämä huomioidaan seuraavan veloituksen yhteydessä." }, "adjustedStorage": { - "message": "Muutettiin $AMOUNT$ Gt tallennustilaa.", + "message": "Tallennustilaa muutettiin $AMOUNT$ Gt.", "placeholders": { "amount": { "content": "$1", @@ -1813,16 +1825,16 @@ "message": "Ota yhteyttä asiakaspalveluun" }, "updatedPaymentMethod": { - "message": "Maksutapa päivitetty." + "message": "Maksutapa päivitettiin." }, "purchasePremium": { - "message": "Osta premium" + "message": "Osta Premium" }, "licenseFile": { "message": "Lisenssitiedosto" }, "licenseFileDesc": { - "message": "Your license file will be named something like $FILE_NAME$", + "message": "Lisenssitiedostosi nimeksi tulee $FILE_NAME$", "placeholders": { "file_name": { "content": "$1", @@ -1831,16 +1843,16 @@ } }, "uploadLicenseFilePremium": { - "message": "To upgrade your account to a premium membership you need to upload a valid license file." + "message": "Päivittääksesi tilisi Premium-jäsenyyteen, on sinun ladattava voimassa oleva lisenssitiedosto." }, "uploadLicenseFileOrg": { - "message": "To create an on-premise hosted organization you need to upload a valid license file." + "message": "Luodaksesi omassa palvelinympäristössäsi isännöitävän organisaation, on sinun ladattava voimassa oleva lisenssitiedosto." }, "accountEmailMustBeVerified": { "message": "Tilisi sähköpostiosoite tulee vahvistaa." }, "newOrganizationDesc": { - "message": "Organizations allow you to share parts of your vault with others as well as manage related users for a specific entity such as a family, small team, or large company." + "message": "Organisaatioiden avulla voit jakaa osia holvisi sisällöstä muiden kanssa sekä hallita yhteisöihin kuuluvia käyttäjiä kuten perhettä, pientä tiimiä tai suurta yritystä." }, "generalInformation": { "message": "Yleiset tiedot" @@ -1852,13 +1864,13 @@ "message": "Tämän tilin omistaa yritys." }, "billingEmail": { - "message": "Laskutussähköpostiosoite" + "message": "Laskutuksen sähköpostiosoite" }, "businessName": { "message": "Yrityksen nimi" }, "chooseYourPlan": { - "message": "Valitse tilaus" + "message": "Valitse tilaustyyppi" }, "users": { "message": "Käyttäjät" @@ -1867,13 +1879,13 @@ "message": "Käyttäjäpaikat" }, "additionalUserSeats": { - "message": "Lisää käyttäjäpaikkoja" + "message": "Lisättävät käyttäjäpaikat" }, "userSeatsDesc": { - "message": "Käyttäjäpaikkojen määrä" + "message": "# käyttäjäpaikkaa" }, "userSeatsAdditionalDesc": { - "message": "Tilaukseesi kuuluu $BASE_SEATS$ käyttäjäpaikkaa. Voit lisätä ylimääräisiä käyttäjiä hintaan $SEAT_PRICE$ per käyttäjä/kuukausi.", + "message": "Tilaukseesi kuuluu $BASE_SEATS$ käyttäjäpaikkaa. Voit lisätä käyttäjäpaikkoja hintaan $SEAT_PRICE$ per käyttäjä/kuukausi.", "placeholders": { "base_seats": { "content": "$1", @@ -1886,14 +1898,14 @@ } }, "userSeatsHowManyDesc": { - "message": "Kuinka monta käyttäjäpaikkaa tarvitset? Voit myös hankkia lisäpaikkoja myöhemmin tarvittaessa." + "message": "Kuinka monta käyttäjäpaikkaa tarvitset? Voit myös hankkia paikkoja tarvittaessa lisää myöhemmin." }, "planNameFree": { "message": "Ilmainen", "description": "Free as in 'free beer'." }, "planDescFree": { - "message": "For testing or personal users to share with $COUNT$ other user.", + "message": "Koekäyttöön tai yksityiseen käyttöön jaettavaksi $COUNT$ käyttäjän kanssa.", "placeholders": { "count": { "content": "$1", @@ -1905,7 +1917,7 @@ "message": "Perheet" }, "planDescFamilies": { - "message": "Henkilökohtaiseen käyttöön, perheen ja ystävien kanssa jaettavaksi." + "message": "Henkilökohtaiseen käyttöön, jaettavaksi perheen ja ystävien kanssa." }, "planNameTeams": { "message": "Tiimit" @@ -1914,10 +1926,10 @@ "message": "Yrityksille ja muille yhteisöille." }, "planNameEnterprise": { - "message": "Yritys" + "message": "Yritykset" }, "planDescEnterprise": { - "message": "Yrityksille ja suurille organisaatioille." + "message": "Yrityksille ja muille suurille organisaatioille." }, "freeForever": { "message": "Ilmainen ikuisesti" @@ -1932,7 +1944,7 @@ } }, "additionalUsers": { - "message": "Lisäkäyttäjät" + "message": "Lisättävät käyttäjät" }, "costPerUser": { "message": "$COST$ per käyttäjä", @@ -1971,7 +1983,7 @@ } }, "addShareUnlimitedUsers": { - "message": "Lisää ja jaa rajattomien käyttäjän kanssa" + "message": "Lisää ja jaa rajattoman käyttäjämäärän kanssa" }, "createUnlimitedCollections": { "message": "Luo rajattomasti kokoelmia" @@ -1986,10 +1998,10 @@ } }, "onPremHostingOptional": { - "message": "Ylläpidä omilla palvelimilla (valinnainen)" + "message": "Suoritus omassa palvelinympäristössä (valinnainen)" }, "usersGetPremium": { - "message": "Käyttäjät saavat pääsyn Premium-ominaisuuksiin" + "message": "Käyttäjät saavat käyttöoikeuden Premium-toimintoihin" }, "controlAccessWithGroups": { "message": "Hallitse käyttäjien oikeuksia ryhmillä" @@ -1998,16 +2010,16 @@ "message": "Synkronoi käyttäjät ja ryhmät käyttäjähakemistosta" }, "trackAuditLogs": { - "message": "Seuraa käyttäjien toimintoja audit-lokeilla" + "message": "Seuraa käyttäjien toimia auditointilokeilla" }, "enforce2faDuo": { - "message": "Vaadi 2FA Duo:n kanssa" + "message": "Pakota kaksivaiheinen kirjautuminen Duo Securityn kautta" }, "priorityCustomerSupport": { - "message": "Etusija asiakastuessa" + "message": "Ensisijainen asiakastuki" }, "xDayFreeTrial": { - "message": "$COUNT$ päivän ilmainen kokeilu, peruuta milloin tahansa", + "message": "$COUNT$ päivän ilmainen kokeilujakso, peruuta milloin tahansa", "placeholders": { "count": { "content": "$1", @@ -2016,22 +2028,22 @@ } }, "monthly": { - "message": "Kuukausittain" + "message": "Kuukausittainen" }, "annually": { - "message": "Vuosittain" + "message": "Vuosittainen" }, "basePrice": { "message": "Perushinta" }, "organizationCreated": { - "message": "Organisaatio luotu" + "message": "Organisaatio luotiin" }, "organizationReadyToGo": { - "message": "Uusi organisaatiosi on valmis käytettäväksi!" + "message": "Uusi organisaatiosi on valmis käyttöön!" }, "organizationUpgraded": { - "message": "Organisaatiosi tilaus on päivitetty." + "message": "Organisaatiosi päivitettiin." }, "leave": { "message": "Poistu" @@ -2046,7 +2058,7 @@ "message": "Oletuskokoelma" }, "getHelp": { - "message": "Saa apua" + "message": "Hanki apua" }, "getApps": { "message": "Hanki sovellukset" @@ -2079,25 +2091,25 @@ "message": "Muokkaa ryhmää" }, "deleteGroupConfirmation": { - "message": "Haluatko varmasti poistaa tämän ryhmän?" + "message": "Haluatko varmasti poistaa ryhmän?" }, "removeUserConfirmation": { - "message": "Haluatko varmasti poistaa tämän käyttäjän?" + "message": "Haluatko varmasti poistaa käyttäjän?" }, "externalId": { - "message": "External Id" + "message": "Ulkoinen ID" }, "externalIdDesc": { - "message": "Ulkoista tunnusta voidaan käyttää viitteenä tai linkittää tämä resurssi ulkoiseen järjestelmään, kuten käyttäjähakemistoon." + "message": "Ulkoista ID-tunnusta voidaan käyttää viitteenä tai linkittää tämä resurssi ulkoiseen järjestelmään, kuten käyttäjähakemistoon." }, "accessControl": { - "message": "Access Control" + "message": "Käyttöoikeuden laajuus" }, "groupAccessAllItems": { - "message": "Tämä ryhmä voi päästä käsiksi ja muokata kaikkia kohteita." + "message": "Tällä ryhmällä on käyttö- ja muokkausoikeus kaikkiin kohteisiin." }, "groupAccessSelectedCollections": { - "message": "Tällä ryhmällä on pääsy vain valittuihin kokoelmiin." + "message": "Tällä ryhmällä on käyttöoikeus vain valittuihin kokoelmiin." }, "readOnly": { "message": "Vain luku" @@ -2112,7 +2124,7 @@ "message": "Muokkaa kokoelmaa" }, "deleteCollectionConfirmation": { - "message": "Haluatko varmasti poistaa tämän kokoelman?" + "message": "Haluatko varmasti poistaa kokoelman?" }, "editUser": { "message": "Muokkaa käyttäjää" @@ -2121,10 +2133,10 @@ "message": "Kutsu käyttäjä" }, "inviteUserDesc": { - "message": "Invite a new user to your organization by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + "message": "Kutsu organisaatioosi uusi käyttäjä syöttämällä alle heidän Bitwarden-tilinsä sähköpostiosoite. Jos heillä ei vielä ole Bitwarden-tiliä, heitä pyydetään uomaan uusi tili." }, "inviteMultipleEmailDesc": { - "message": "Voit kutsua korkeintaan $COUNT$ käyttäjää kerralla, erottelemalla listan sähköpostiosoitteista pilkuilla.", + "message": "Voit kutsua korkeintaan $COUNT$ käyttäjää kerrallaan, erottelemalla listan sähköpostiosoitteista pilkuilla.", "placeholders": { "count": { "content": "$1", @@ -2133,13 +2145,13 @@ } }, "userUsingTwoStep": { - "message": "Tämä käyttäjä käyttää kaksivaiheista kirjautumista tilinsä suojaamiseksi." + "message": "Käyttäjä on ottanut kaksivaiheisen kirjautumisen käyttöön tilinsä suojaamiseksi." }, "userAccessAllItems": { - "message": "Tämä käyttäjä voi käyttää ja muokata kaikkia tietueita." + "message": "Tällä käyttäjällä on käyttö- ja muokkausoikeus kaikkiin kohteisiin." }, "userAccessSelectedCollections": { - "message": "Tällä käyttäjällä on pääsy vain valittuihin kokoelmiin." + "message": "Tällä käyttäjällä on käyttöoikeus vain valittuihin kokoelmiin." }, "search": { "message": "Hae" @@ -2157,25 +2169,25 @@ "message": "Omistaja" }, "ownerDesc": { - "message": "The highest access user that can manage all aspects of your organization." + "message": "Korkeimman käyttöoikeustason käyttäjä, jolla on käyttö- ja hallintaoikeus koko organisaatioosi." }, "admin": { - "message": "Ylläpitäjä" + "message": "Järjestelmänvalvoja" }, "adminDesc": { - "message": " Admins can access and manage all items, collections and users in your organization." + "message": "Järjestelmänvalvojilla on käyttö- ja hallintaoikeus kaikkiin organisaatiosi kohteisiin, kokoelmiin ja käyttäjiin." }, "user": { "message": "Käyttäjä" }, "userDesc": { - "message": "A regular user with access to your organization's collections." + "message": "Tavallinen käyttäjä, jolla on käyttöoikeus valittuihin organisaatiosi kokoelmiin." }, "manager": { - "message": "Hallinnoija" + "message": "Ylläpitäjä" }, "managerDesc": { - "message": "Managers can access and manage assigned collections in your organization." + "message": "Ylläpitäjillä on käyttö- ja hallintaoikeus valittuihin organisaatiosi kokoelmiin." }, "all": { "message": "Kaikki" @@ -2204,7 +2216,7 @@ "description": "Browser extension/addon" }, "desktop": { - "message": "Tietokone", + "message": "Työpöytä", "description": "Desktop app" }, "webVault": { @@ -2214,34 +2226,34 @@ "message": "Kirjauduttu sisään." }, "changedPassword": { - "message": "Vaihdettu tilin salasana." + "message": "Tilin salasana vaihdettiin." }, "enabledUpdated2fa": { - "message": "Kaksivaiheinen kirjautuminen otettu käyttöön/päivitetty." + "message": "Kaksivaiheinen kirjautuminen on otettu käyttöön/päivitetty." }, "disabled2fa": { - "message": "Kaksivaiheinen kirjautuminen poistettu käytöstä." + "message": "Kaksivaiheinen kirjautuminen on poistettu käytöstä." }, "recovered2fa": { - "message": "Tili palautettu kaksivaiheisesta todennuksesta." + "message": "Tili on vapautettu kaksivaiheisesta kirjautumisesta." }, "failedLogin": { - "message": "Sisäänkirjautumisyritys epäonnistui väärän salasanan takia." + "message": "Sisäänkirjautumisyritys epäonnistui väärän salasanan vuoksi." }, "failedLogin2fa": { - "message": "Sisäänkirjautumisyritys epäonnistui väärän kaksivaiheisen todennuksen takia." + "message": "Kirjautuminen epäonnistui virheellisen kaksivaiheisen kirjautumisen todennuksen vuoksi." }, "exportedVault": { - "message": "Holvi viety." + "message": "Holvi vietiin." }, "exportedOrganizationVault": { - "message": "Organisaation holvi viety." + "message": "Organisaation holvi vietiin." }, "editedOrgSettings": { - "message": "Organisaation asetuksia muokattu." + "message": "Muokattiin organisaation asetuksia." }, "createdItemId": { - "message": "Kohde $ID$ luotu.", + "message": "Luotiin kohde $ID$.", "placeholders": { "id": { "content": "$1", @@ -2250,7 +2262,7 @@ } }, "editedItemId": { - "message": "Kohdetta $ID$ muokattu.", + "message": "Muokattiin kohdetta $ID$.", "placeholders": { "id": { "content": "$1", @@ -2259,7 +2271,7 @@ } }, "deletedItemId": { - "message": "Kohde $ID$ lähetetty roskakoriin.", + "message": "Sirrettiin kohde $ID$ roskakoriin.", "placeholders": { "id": { "content": "$1", @@ -2268,7 +2280,7 @@ } }, "sharedItemId": { - "message": "Kohde $ID$ jaettu.", + "message": "Kohde $ID$ jaettiin.", "placeholders": { "id": { "content": "$1", @@ -2277,7 +2289,7 @@ } }, "viewedItemId": { - "message": "Kohdetta $ID$ tarkasteltu.", + "message": "Tarkasteltiin kohdetta $ID$.", "placeholders": { "id": { "content": "$1", @@ -2286,7 +2298,7 @@ } }, "viewedPasswordItemId": { - "message": "Kohteen $ID$ salasanaa tarkasteltu.", + "message": "Tarkasteltiin kohteen $ID$ salasanaa.", "placeholders": { "id": { "content": "$1", @@ -2295,7 +2307,7 @@ } }, "viewedHiddenFieldItemId": { - "message": "Kohteen $ID$ piilotettua kenttää tarkasteltu.", + "message": "Tarkasteltiin kohteen $ID$ piilotettua kenttää.", "placeholders": { "id": { "content": "$1", @@ -2304,7 +2316,7 @@ } }, "viewedSecurityCodeItemId": { - "message": "Kohteen $ID$ turvakoodia tarkasteltu.", + "message": "Tarkasteltiin kohteen $ID$ turvakoodia.", "placeholders": { "id": { "content": "$1", @@ -2313,7 +2325,7 @@ } }, "copiedPasswordItemId": { - "message": "Kohteen $ID$ salasana kopioitu.", + "message": "Kohteen $ID$ salasana kopioitiin.", "placeholders": { "id": { "content": "$1", @@ -2322,7 +2334,7 @@ } }, "copiedHiddenFieldItemId": { - "message": "Kohteen $ID$ piilotettu kenttä kopioitu.", + "message": "Kohteen $ID$ piilotettu kenttä kopioitiin.", "placeholders": { "id": { "content": "$1", @@ -2331,7 +2343,7 @@ } }, "copiedSecurityCodeItemId": { - "message": "Kohteen $ID$ turvakoodi kopioitu.", + "message": "Kohteen $ID$ turvakoodi kopioitiin.", "placeholders": { "id": { "content": "$1", @@ -2340,7 +2352,7 @@ } }, "autofilledItemId": { - "message": "Kohde $ID$ täytetty automaattisesti.", + "message": "Täytettiin kohde $ID$ automaattisesti.", "placeholders": { "id": { "content": "$1", @@ -2349,7 +2361,7 @@ } }, "createdCollectionId": { - "message": "Kokoelma $ID$ luotu.", + "message": "Luotiin kokoelma $ID$.", "placeholders": { "id": { "content": "$1", @@ -2358,7 +2370,7 @@ } }, "editedCollectionId": { - "message": "Kokoelmaa $ID$ muokattu.", + "message": "Muokattiin kokoelmaa $ID$.", "placeholders": { "id": { "content": "$1", @@ -2367,7 +2379,7 @@ } }, "deletedCollectionId": { - "message": "Kokoelma $ID$ poistettu.", + "message": "Poistettiin kokoelma $ID$.", "placeholders": { "id": { "content": "$1", @@ -2376,7 +2388,7 @@ } }, "editedPolicyId": { - "message": "Käytäntöä $ID$ muokattu.", + "message": "Muokattiin käytäntöä $ID$.", "placeholders": { "id": { "content": "$1", @@ -2385,7 +2397,7 @@ } }, "createdGroupId": { - "message": "Ryhmä $ID$ luotu.", + "message": "Luotiin ryhmä $ID$.", "placeholders": { "id": { "content": "$1", @@ -2394,7 +2406,7 @@ } }, "editedGroupId": { - "message": "Ryhmää $ID$ muokattu.", + "message": "Muokattiin ryhmää $ID$.", "placeholders": { "id": { "content": "$1", @@ -2403,7 +2415,7 @@ } }, "deletedGroupId": { - "message": "Ryhmä $ID$ poistettu.", + "message": "Poistettiin ryhmä $ID$.", "placeholders": { "id": { "content": "$1", @@ -2412,7 +2424,7 @@ } }, "removedUserId": { - "message": "Käyttäjä $ID$ poistettu.", + "message": "Poistettiin käyttäjä $ID$.", "placeholders": { "id": { "content": "$1", @@ -2421,7 +2433,7 @@ } }, "createdAttachmentForItem": { - "message": "Liite kohtelle $ID$ luotu.", + "message": "Luotiin liite kohteelle $ID$.", "placeholders": { "id": { "content": "$1", @@ -2430,7 +2442,7 @@ } }, "deletedAttachmentForItem": { - "message": "Liite kohtelle $ID$ poistettu.", + "message": "Poistettiin kohteen $ID$ liite.", "placeholders": { "id": { "content": "$1", @@ -2439,7 +2451,7 @@ } }, "editedCollectionsForItem": { - "message": "Kohteen $ID$ kokoelmia muokattu.", + "message": "Muokattiin kohteen $ID$ kokoelmia.", "placeholders": { "id": { "content": "$1", @@ -2448,7 +2460,7 @@ } }, "invitedUserId": { - "message": "Käyttäjä $ID$ kutsuttu.", + "message": "Kutsuttiin käyttäjä $ID$.", "placeholders": { "id": { "content": "$1", @@ -2457,7 +2469,7 @@ } }, "confirmedUserId": { - "message": "Käyttäjä $ID$ vahvistettu.", + "message": "Vahvistettiin käyttäjä $ID$.", "placeholders": { "id": { "content": "$1", @@ -2466,7 +2478,7 @@ } }, "editedUserId": { - "message": "Käyttäjää $ID$ muokattu.", + "message": "Muokattiin käyttäjää $ID$.", "placeholders": { "id": { "content": "$1", @@ -2475,7 +2487,16 @@ } }, "editedGroupsForUser": { - "message": "Käyttäjän $ID$ ryhmiä muokattu.", + "message": "Muokattiin käyttäjän $ID$ ryhmiä.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", "placeholders": { "id": { "content": "$1", @@ -2490,19 +2511,19 @@ "message": "Näytä" }, "invalidDateRange": { - "message": "Virheellinen päiväväli." + "message": "Virheellinen aikaväli." }, "errorOccurred": { "message": "Tapahtui virhe." }, "userAccess": { - "message": "Käyttäjän käyttöoikeudet" + "message": "Käyttäjän käyttöoikeus" }, "userType": { "message": "Käyttäjän tyyppi" }, "groupAccess": { - "message": "Ryhmän käyttöoikeus" + "message": "Ryhmän käyttöoikeudet" }, "groupAccessUserDesc": { "message": "Muokkaa ryhmiä, joihin tämä käyttäjä kuuluu." @@ -2541,7 +2562,7 @@ "message": "Vahvista käyttäjät" }, "usersNeedConfirmed": { - "message": "Sinulla on käyttäjiä, jotka ovat hyväksyneet kutsun, mutta heidän liittyminen tulee vielä vahvistaa. Käyttäjillä ei ole pääsyä organisaation, ennen kuin heidät on vahvistettu." + "message": "Sinulla on käyttäjiä, jotka ovat hyväksyneet kutsunsa, mutta heidän liittymisensä tulee vielä vahvistaa. Käyttäjillä ei ole organisaation käyttöoikeutta ennen vahvistusta." }, "startDate": { "message": "Aloituspäivä" @@ -2553,43 +2574,43 @@ "message": "Vahvista sähköpostiosoite" }, "verifyEmailDesc": { - "message": "Vahvista tilisi sähköpostiosoite avataksesi kaikki ominaisuudet." + "message": "Vahvista käyttäjätilisi sähköpostiosoite käyttääksesi kaikkia ominaisuuksia." }, "verifyEmailFirst": { "message": "Tilisi sähköpostiosoite tulee ensin vahvistaa." }, "checkInboxForVerification": { - "message": "Tarkista, onko vahvistuslinkki sähköpostissasi." + "message": "Tarkasta, onko vahvistuslinkki sähköpostissasi." }, "emailVerified": { "message": "Sähköpostiosoitteesi on vahvistettu." }, "emailVerifiedFailed": { - "message": "Sähköpostiosoitettasi ei voitu vahvistaa. Yritä lähettää uusi vahvistussähköposti." + "message": "Sähköpostiosoitteesi vahvistus ei onnistunut. Yritä lähettää uusi vahvistussähköposti." }, "updateBrowser": { "message": "Päivitä selain" }, "updateBrowserDesc": { - "message": "Käytät selainta, joka ei ole tuettu. Verkkoholvi ei välttämättä toimi kunnolla." + "message": "Käytät selainta, jota ei tueta. Verkkoholvi ei välttämättä toimi oikein." }, "joinOrganization": { "message": "Liity organisaatioon" }, "joinOrganizationDesc": { - "message": "You've been invited to join the organization listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + "message": "Sinut on kutsuttu liittymään yllä mainittuun organisaatioon. Hyväksyäksesi kutsun, sinun tulee kirjautua tilillesi tai luoda uusi Bitwarden tili." }, "inviteAccepted": { - "message": "Kutsu hyväksytty" + "message": "Kutsu hyväksyttiin" }, "inviteAcceptedDesc": { - "message": "Pääset tähän organisaation, kun ylläpitäjä vahvistaa jäsentyytesi. Lähetämme sinulle sähköpostia, kun jäsenyytesi on vahvistettu." + "message": "Saat käyttöoikeuden organisaation järjestelmänvalvojan vahvistettua jäsentyytesi. Saat vahvistuksesta ilmoituksen sähköpostitse." }, "inviteAcceptFailed": { - "message": "Kutsun hyväksyminen ei onnistu. Pyydä organisaation ylläpitäjää lähettämään uusi kutsu." + "message": "Kutsun hyväksyntä ei onnistu. Pyydä organisaation järjestelmänvalvojaa lähettämään uusi kutsu." }, "inviteAcceptFailedShort": { - "message": "Kutsua ei voitu hyväksyä. $DESCRIPTION$", + "message": "Kutsun hyväksyntä ei onnistunut. $DESCRIPTION$", "placeholders": { "description": { "content": "$1", @@ -2598,13 +2619,13 @@ } }, "rememberEmail": { - "message": "Muista sähköpostiosoite" + "message": "Muista sähköposti" }, "recoverAccountTwoStepDesc": { - "message": "Jos et voi käyttää tiliäsi tavallisten kaksivaiheisen kirjautumisen menetelmien kautta, voit käyttää kaksivaiheisen kirjautumisen palautuskoodia kytkeäksesi kaikki tilillesi määritetyt kaksivaiheiset kirjautumisvaihtoehdot pois päältä." + "message": "Jos et pääse tilillesi käyttämilläsi kaksivaiheisen kirjautumisen todennusmenetelmillä, voit kaksivaiheisen kirjautumisen palautuskoodia käyttäen kytkeä kaikki tilillesi määritetyt todennusmenetelmät pois käytöstä." }, "recoverAccountTwoStep": { - "message": "Recover Account Two-Step Login" + "message": "Vapauta tilin kaksivaiheinen kirjautuminen" }, "twoStepRecoverDisabled": { "message": "Kaksivaiheinen kirjautuminen on poistettu käytöstä tililtäsi." @@ -2619,49 +2640,49 @@ "message": "Jos tilisi on olemassa, olemme lähettäneet sinulle lisäohjeita sähköpostitse." }, "deleteRecoverConfirmDesc": { - "message": "Olet pyytänyt poistamaan Bitwarden-tilisi. Paina alla olevaa painiketta vahvistaaksesi." + "message": "Olet pyytänyt Bitwarden-tilisi poistoa. Paina alla olevaa painiketta vahvistaaksesi." }, "myOrganization": { - "message": "Minun organisaationi" + "message": "Oma organisaatio" }, "deleteOrganization": { "message": "Poista organisaatio" }, "deleteOrganizationDesc": { - "message": "Proceed below to delete this organization and all associated data. Individual user accounts will remain, though they will not be associated to this organization anymore. " + "message": "Jatka alla poistaaksesi organisaation ja kaikki siihen liittyvät tiedot. Yksittäiset käyttäjätilit säilyvät, mutta ne eivät ole enää kytköksissä tähän organisaatioon." }, "deleteOrganizationWarning": { - "message": "Organisaation poistaminen on peruuttamaton toimenpide." + "message": "Tilin poisto on pysyvä toimenpide, eikä sitä ole mahdollista perua." }, "organizationDeleted": { - "message": "Organisaatio poistettu" + "message": "Organisaatio poistettiin" }, "organizationDeletedDesc": { "message": "Organisaatio ja kaikki siihen liittyvät tiedot on poistettu." }, "organizationUpdated": { - "message": "Organisaatio päivitetty" + "message": "Organisaatio päivitettiin" }, "taxInformation": { "message": "Verotiedot" }, "taxInformationDesc": { - "message": "Ota yhteys tukeen antaaksesi tai päivittääksesi laskutuksessa käytettävät verotiedot." + "message": "Yhdysvalloissa olevilta asiakkailta vaaditaan postinumero myyntiverotuksen vaatimusten vuoksi. Muiden maiden asiakkaat voivat halutessaan toimittaa verotunnistenumeron (ALV/GST) ja/tai osoitteen, joka kirjataan laskuihin." }, "billingPlan": { - "message": "Tilaus", + "message": "Tilautyyppi", "description": "A billing plan/package. For example: families, teams, enterprise, etc." }, "changeBillingPlan": { - "message": "Muuta tilausta", + "message": "Vaihda tilaustyyppiä", "description": "A billing plan/package. For example: families, teams, enterprise, etc." }, "changeBillingPlanUpgrade": { - "message": "Upgrade your account to another plan be providing the information below. Please ensure that you have an active payment method added to the account.", + "message": "Päivitä tilisi toiseen tilaustyyppiin toimittamalla alla olevat tiedot. Varmistathan, että tilillesi on lisätty toimiva maksutapa.", "description": "A billing plan/package. For example: families, teams, enterprise, etc." }, "changeBillingPlanDesc": { - "message": "Ota yhteyttä asiakastukeen, jos haluat muuttaa tilaustasi. Varmista, että tilillesi on lisätty aktiivinen maksutapa.", + "message": "Ota yhteyttä asiakastukeen, jos haluat muuttaa tilaustyyppiäsi. Varmistathan, että tilillesi on lisätty toimiva maksutapa.", "description": "A billing plan/package. For example: families, teams, enterprise, etc." }, "invoiceNumber": { @@ -2684,13 +2705,13 @@ "message": "Vahvista pankkitili" }, "verifyBankAccountDesc": { - "message": "Olemme tehneet kaksi mikrotalletusta pankkitilillesi (näkymisessä voi mennä 1-2 työpäivää). Kirjoita nämä määrät vahvistaaksesi pankkitili." + "message": "Olemme tehneet kaksi pientä mikrotalletusta pankkitilillesi (nämä saattavat näkyä vasta 1-2 työpäivän kuluttua). Kirjoita talletusten määrät vahvistaaksesi pankkitilin." }, "verifyBankAccountInitialDesc": { - "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make two micro-deposits within the next 1-2 business days. Enter these amounts on the organization's billing page to verify the bank account." + "message": "Maksu tilisiirrolla on vain Yhdysvaltalaisten asiakkaiden käytettävissä ja sinun on vahvistettava pankkitilisi. Teemme kaksi pientä mikrotalletusta seuraavien 1-2 arkipäivän aikana. Syötä tallennetut määrät organisaation laskutussivulle vahvistaaksesi pankkitilin." }, "verifyBankAccountFailureWarning": { - "message": "Pankkitilin vahvistamatta jättäminen johtaa maksamattomaan laskuun ja tilauksesi käytöstä poistamiseen." + "message": "Pankkitilin vahvistamatta jättäminen johtaa maksamattomaan laskuun ja tilauksesi käytöstä poistoon." }, "verifiedBankAccount": { "message": "Pankkitili on vahvistettu." @@ -2722,20 +2743,20 @@ "message": "Tilin tyyppi" }, "bankAccountTypeCompany": { - "message": "Yritys" + "message": "Yritys tai yhteisö" }, "bankAccountTypeIndividual": { "message": "Yksityinen" }, "enterInstallationId": { - "message": "Enter your installation id" + "message": "Syötä asennuksesi ID-tunnus" }, "addSeats": { - "message": "Lisää paikkoja", + "message": "Lisää käyttäjäpaikkoja", "description": "Seat = User Seat" }, "removeSeats": { - "message": "Poista paikkoja", + "message": "Poista käyttäjäpaikkoja", "description": "Seat = User Seat" }, "subscriptionUserSeats": { @@ -2748,10 +2769,10 @@ } }, "seatsToAdd": { - "message": "Lisättävät paikat" + "message": "Lisättävät käyttäjäpaikat" }, "seatsToRemove": { - "message": "Poistettavat paikat" + "message": "Poistettavat käyttäjäpaikat" }, "seatsAddNote": { "message": "Käyttäjäpaikkojen lisäys muuttaa kokonaislaskutustasi ja korotus veloitetaan tilillesi tallennetulta maksutavalta välittömästi. Ensimmäinen veloitus sovitetaan tämänhetkisen laskutusjaksosi jäljellä olevalle ajalle." @@ -2769,7 +2790,7 @@ } }, "keyUpdated": { - "message": "Avain päivitetty" + "message": "Avain päivitettiin" }, "updateKeyTitle": { "message": "Päivitä avain" @@ -2781,10 +2802,13 @@ "message": "Käytät tällä hetkellä vanhentunutta salausjärjestelmää." }, "updateEncryptionKeyDesc": { - "message": "Olemme siirtyneet suurempiin salausavaimiin, jotka tarjoavat paremman turvallisuuden sekä pääsyn uudempiin toimintoihin. Salausavaimen päivitys on helppoa: syötä pääsalasanasi alle. Päivityksestä tulee myöhemmin pakollista." + "message": "Olemme siirtyneet suurempiin salausavaimiin, jotka tarjoavat parempaa suojausta sekä uudempia toimintoja. Salausavaimesi päivitys on helppoa: syötä vain pääsalasanasi alle. Tästä päivityksestä tulee myöhemmin pakollinen." }, "updateEncryptionKeyWarning": { - "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." + "message": "Salausavaimesi päivityksen jälkeen, sinun tulee kirjautua ulos ja sitten takaisin sisään kaikissa Bitwarden-sovelluksissa, jotka ovat käytössäsi (esim. mobiilisovellus ja selainlaajennukset). Uudelleenkirjautumisen (joka lataa uuden salausavaimen) suorittamatta jättäminen saattaa johtaa tietojen vaurioitumiseen. Yritämme kirjata sinut ulos autmaattisesti, mutta tämä voi tapahtua vasta jonkin ajan kuluttua." + }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." }, "subscription": { "message": "Tilaus" @@ -2799,10 +2823,10 @@ "message": "Päivitä organisaatio" }, "upgradeOrganizationDesc": { - "message": "Tämä ominaisuus ei ole käytettävissä ilmaisorganisaatioille. Vaihda maksulliseen tilaukseen avataksesi enemmän ominaisuuksia." + "message": "Tämä ominaisuus ei ole käytettävissä ilmaisille organisaatioille. Vaihda maksulliseen tilaustyyppiin avataksesi enemmän ominaisuuksia." }, "createOrganizationStep1": { - "message": "Luo organisaatio: vaihe 1" + "message": "Luo organisaatio: Vaihe 1" }, "createOrganizationCreatePersonalAccount": { "message": "Ennen kuin voit luoda organisaation, sinun tulee luoda ilmainen henkilökohtainen tili." @@ -2817,7 +2841,7 @@ "message": "Valitsemalla tämän ruudun hyväksyt seuraavat:" }, "acceptPoliciesError": { - "message": "Palvelu- ja tietosuojakäytäntöä ei ole vahvistettu." + "message": "Käyttöehtoja ja tietosuojakäytäntöä ei ole vahvistettu." }, "termsOfService": { "message": "Käyttöehdot" @@ -2832,7 +2856,7 @@ "message": "Holvin aikakatkaisu" }, "vaultTimeoutDesc": { - "message": "Valitse, milloin holvi aikakatkaistaan, ja valittu toiminto suoritetaan." + "message": "Valitse milloin holvin aikakatkaisu tapahtuu ja suorita valittu toiminto." }, "oneMinute": { "message": "1 minuutti" @@ -2853,14 +2877,14 @@ "message": "4 tuntia" }, "onRefresh": { - "message": "Selainta päivitettäessä" + "message": "Selaimen sivun päivityksen yhteydessä" }, "dateUpdated": { "message": "Päivitetty", "description": "ex. Date this item was updated" }, "datePasswordUpdated": { - "message": "Salasana päivitetty", + "message": "Salasana päivitettiin", "description": "ex. Date this password was updated" }, "organizationIsDisabled": { @@ -2876,7 +2900,7 @@ "message": "Valittu" }, "ownership": { - "message": "Omistajuus" + "message": "Omistus" }, "whoOwnsThisItem": { "message": "Kuka omistaa tämän kohteen?" @@ -2901,7 +2925,7 @@ "message": "Heikko pääsalasana" }, "weakMasterPasswordDesc": { - "message": "Valitsemasi pääsalasana on heikko. Sinun kannattaa käyttää vahvaa pääsalasanaa (tai ‑salalauseketta) suojataksesi Bitwarden-tilisi kunnolla. Haluatko varmasti käyttää tätä pääsalasanaa?" + "message": "Valitsemasi pääsalasana on heikko. Sinun tulisi käyttää vahvaa pääsalasanaa (tai salauslauseketta) suojataksesi Bitwarden-tilisi kunnolla. Haluatko varmasti käyttää tätä pääsalasanaa?" }, "rotateAccountEncKey": { "message": "Kierrätä myös tilini salausavain" @@ -2913,28 +2937,28 @@ "message": "Haluatko varmasti kierrättää tilisi salausavaimen?" }, "attachmentsNeedFix": { - "message": "Tällä nimikkeellä on vanhoja liitteitä, jotka on korjattava." + "message": "Kohteella on vanhoja liitetiedostoja, jotka on korjattava." }, "attachmentFixDesc": { - "message": "Tämä on vanha tiedostoliite, joka on korjattava. Paina lukeaksesi lisää." + "message": "Vanha liitetiedosto, joka on korjattava. Klikkaa lukeaksesi lisää." }, "fix": { "message": "Korjaa", "description": "This is a verb. ex. 'Fix The Car'" }, "oldAttachmentsNeedFixDesc": { - "message": "Holvissasi on vanhoja tiedostoliitteitä, jotka on korjattava, ennen kuin kierrättää tilisi salausavaimen." + "message": "Holvissasi on vanhoja liitetidostoja, jotka on korjattava, ennen kuin voit kierrättää tilisi salausavaimen." }, "yourAccountsFingerprint": { "message": "Tilisi tunnistelauseke", "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." }, "fingerprintEnsureIntegrityVerify": { - "message": "Varmistaaksesi salausavaimien eheyden, tarkista käyttäjän sormenjälkilause ennen kuin jatkat.", + "message": "Varmistaaksesi salausavaintesi eheyden, vahvista käyttäjän tunnistelauseke ennen kuin jatkat.", "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." }, "dontAskFingerprintAgain": { - "message": "Älä pyydä tarkistamaan tunnistelauseketta uudelleen", + "message": "Älä pyydä tunnistelausekkeen vahvistusta uudelleen", "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." }, "free": { @@ -2951,16 +2975,16 @@ "message": "API-avaimen kierrättäminen mitätöi edellisen avaimen. Voit kierrättää API-avaimen, jos uskot, ettei nykyisen avaimen käyttö ole enää turvallista." }, "apiKeyWarning": { - "message": "API-avaimellasi on täysi käyttöoikeus organisaatioon. Pidä avain turvassa." + "message": "API-avaimellasi on täysi käyttöoikeus organisaatioon. Avain tulee pitää turvassa." }, "userApiKeyDesc": { - "message": "API-avaintasi voi käyttää tunnistautumiseen Bitwardenin CLI:ssä." + "message": "API-avaintasi voi käyttää tunnistautumiseen Bitwardenin komentokehotteessa (CLI)." }, "userApiKeyWarning": { - "message": "API-avaimesi on vaihtoehtoinen autentikointimekanismi. Se on pidettävä salassa." + "message": "API-avaimesi on vaihtoehtoinen todennusmekanismi. Avain tulee pitää turvassa." }, "oauth2ClientCredentials": { - "message": "OAuth 2.0 -asiakkaan käyttäjätiedot", + "message": "OAuth 2.0 -asiakkaan tunnistetiedot", "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." }, "viewApiKey": { @@ -2970,19 +2994,19 @@ "message": "Kierrätä API-avain" }, "selectOneCollection": { - "message": "Valitse vähintään yksi kokoelma." + "message": "Valitse ainakin yksi kokoelma." }, "couldNotChargeCardPayInvoice": { - "message": "Emme kyenneet veloittamaan luottokorttitiliäsi. Katso alta maksamattoman laskun tiedot ja maksa se." + "message": "Emme voineet veloittaa korttiasi. Tarkasta ja maksa alla oleva maksamaton lasku, kiitos." }, "inAppPurchase": { - "message": "Sovelluksen sisäinen ostos" + "message": "Sovelluksen sisäinen osto" }, "cannotPerformInAppPurchase": { - "message": "Et voi suorittaa tätä toimintoa, kun käytät sovelluksen sisäisen oston maksutapaa." + "message": "Et voi suorittaa tätä toimintoa kun käytössä oleva maksutapa on sovelluksen sisäinen osto." }, "manageSubscriptionFromStore": { - "message": "Sinun on hallittava tilaustasi kaupasta, jossa sovelluksen sisäinen ostoksesi on tehty." + "message": "Sinun on hallittava tilaustasi sen kaupan kautta, jossa sovelluksen sisäinen ostos tehtiin." }, "minLength": { "message": "Vähimmäispituus" @@ -2994,22 +3018,22 @@ "message": "Aseta pääsalasanan vahvuuden vähimmäisvaatimukset." }, "twoStepLoginPolicyDesc": { - "message": "Vaadi käyttäjiä määrittämään kaksivaiheinen todentaminen henkilökohtaisille tileilleen." + "message": "Vaadi käyttäjiä ottamaan kaksivaiheinen kirjautuminen käyttöön henkilökohtaisilla tileillään." }, "twoStepLoginPolicyWarning": { - "message": "Organisaation jäsenet, joilla ei ole kaksivaiheista kirjautumista käytössä henkilökohtaisissa tileissään, poistetaan organisaatiosta ja heille ilmoitetaan muutoksesta sähköpostitse." + "message": "Organisaation jäsenet, jotka eivät ole sen omistajia tai järjestelmänvalvojia, eivätkä ole ottaneet kaksivaiheista kirjautumista käyttöön henkilökohtaisilla tileillään, poistetaan organisaatiosta ja heille ilmoitetaan muutoksesta sähköpostitse." }, "twoStepLoginPolicyUserWarning": { - "message": "Olet jäsenenä organisaatiossa, joka vaatii kaksivaiheisen kirjautumisen käyttöönoton käyttäjätililläsi. Jos poistat kaikki kaksivaiheisen kirjautumisen tarjoajat käytöstä, sinut poistetaan automaattisesti näistä organisaatioista." + "message": "Olet jäsenenä organisaatiossa, joka vaatii kaksivaiheisen kirjautumisen käyttöönoton käyttäjätililläsi. Jos poistat kaikki kaksivaiheisen kirjautumisen todennusmenetelmät käytöstä, sinut poistetaan automaattisesti näistä organisaatioista." }, "passwordGeneratorPolicyDesc": { - "message": "Aseta salasanageneraattorin konfiguroinnin vähimmäisvaatimukset." + "message": "Aseta salasanageneraattorin määritysten vähimmäisvaatimukset." }, "passwordGeneratorPolicyInEffect": { "message": "Yksi tai useampi organisaatiokäytäntö vaikuttaa generaattorisi asetuksiin." }, "masterPasswordPolicyInEffect": { - "message": "Yksi tai useampi organisaatiokäytäntö edellyttää, että pääsalasanasi täyttää seuraavat vaatimukset:" + "message": "Yksi tai useampi organisaation käytäntö edellyttää, että pääsalasanasi täyttää seuraavat vaatimukset:" }, "policyInEffectMinComplexity": { "message": "Monimutkaisuuden vähimmäispistemäärä on $SCORE$", @@ -3048,7 +3072,7 @@ } }, "masterPasswordPolicyRequirementsNotMet": { - "message": "Uusi pääsalasanasi ei täytä käytäntövaatimuksia." + "message": "Uusi pääsalasanasi ei täytä käytännön vaatimuksia." }, "minimumNumberOfWords": { "message": "Sanojen vähimmäismäärä" @@ -3057,16 +3081,16 @@ "message": "Oletustyyppi" }, "userPreference": { - "message": "Käyttäjän mieltymys" + "message": "Käyttäjän asetus" }, "vaultTimeoutAction": { "message": "Holvin aikakatkaisun toiminto" }, "vaultTimeoutActionLockDesc": { - "message": "Lukittu holvi edellyttää, että syötät pääsalasanasi uudelleen sen käyttämiseksi." + "message": "Lukittu holvi vaatii pääsalasanan syötön sen käyttämiseksi." }, "vaultTimeoutActionLogOutDesc": { - "message": "Uloskirjautunut holvi edellyttää, että todennat itsesi uudelleen sen käyttämiseksi." + "message": "Uloskirjattu holvi vaatii uuden todennuksen sen käyttämiseksi." }, "lock": { "message": "Lukitse", @@ -3089,13 +3113,13 @@ "message": "Poista kohde pysyvästi" }, "permanentlyDeleteItemConfirmation": { - "message": "Haluatko varmasti poistaa tämän kohteen pysyvästi?" + "message": "Haluatko varmasti poistaa kohteen pysyvästi?" }, "permanentlyDeletedItem": { - "message": "Kohde poistettu pysyvästi" + "message": "Poistettiin kohde pysyvästi" }, "permanentlyDeletedItems": { - "message": "Kohteet poistettu pysyvästi" + "message": "Poistettiin kohteet pysyvästi" }, "permanentlyDeleteSelectedItemsDesc": { "message": "Olet valinnut $COUNT$ kohdetta pysyvästi poistettavaksi. Haluatko varmasti poistaa kaikki nämä kohteet pysyvästi?", @@ -3107,7 +3131,7 @@ } }, "permanentlyDeletedItemId": { - "message": "Kohde $ID$ poistettu pysyvästi.", + "message": "Poistettiin kohde $ID$ pysyvästi.", "placeholders": { "id": { "content": "$1", @@ -3125,13 +3149,13 @@ "message": "Palauta kohde" }, "restoredItem": { - "message": "Kohde palautettu" + "message": "Palautettiin kohde" }, "restoredItems": { - "message": "Kohteet palautettu" + "message": "Palautettiin kohteet" }, "restoreItemConfirmation": { - "message": "Haluatko varmasti palauttaa tämän kohteen?" + "message": "Haluatko varmasti palauttaa kohteen?" }, "restoreItems": { "message": "Palauta kohteet" @@ -3146,7 +3170,7 @@ } }, "restoredItemId": { - "message": "Kohde $ID$ palautettu.", + "message": "Palautettiin kohde $ID$.", "placeholders": { "id": { "content": "$1", @@ -3155,7 +3179,7 @@ } }, "vaultTimeoutLogOutConfirmation": { - "message": "Uloskirjautuminen poistaa kaiken pääsyn holviisi ja vaatii online-todennuksen aikakatkaisuajan jälkeen. Haluatko varmasti käyttää tätä asetusta?" + "message": "Uloskirjautuminen estää pääsyn holviisi ja vaatii ajan umpeuduttua todennuksen internet-yhteyden välityksellä. Haluatko varmasti käyttää tätä asetusta?" }, "vaultTimeoutLogOutConfirmationTitle": { "message": "Aikakatkaisun toiminnon vahvistus" @@ -3164,95 +3188,95 @@ "message": "Piilota salasanat" }, "countryPostalCodeRequiredDesc": { - "message": "Nämä tiedot tarvitaan ainoastaan liikevaihtoveroa ja talous raportointia varten." + "message": "Tarvitsemme näitä tietoja ainoastaan liikevaihtoveroa ja tilinpäätöstä varten." }, "includeVAT": { - "message": "Sisällytä ALV/GST-tiedot (valinnainen)" + "message": "Sisällytä VAT/GST -tiedot (valinnainen)" }, "taxIdNumber": { - "message": "ALV/GST -verotunniste" + "message": "ALV/GST -verotus tunniste" }, "taxInfoUpdated": { - "message": "Vero tiedot päivitetty." + "message": "Verotiedot päivitettiin." }, "setMasterPassword": { - "message": "Aseta Pääsalasana" + "message": "Aseta pääsalasana" }, "ssoCompleteRegistration": { - "message": "Sisäänkirjautuaksesi kertakirjauksen avulla [SSO], ole hyvä ja määritä pääsalasana holvillesi." + "message": "Kirjautuaksesi sisään käyttäen kertakirjautumista (SSO), suojaa holvisi pääsalasanalla." }, "identifier": { "message": "Tunniste" }, "organizationIdentifier": { - "message": "Organisaation Tunniste" + "message": "Organisaation tunniste" }, "ssoLogInWithOrgIdentifier": { - "message": "Kirjaudu sisään käyttäen organisaatiosi kertakirjausta [SSO]. Ole hyvä ja syötä organisaatiosi tunniste aloittaaksesi." + "message": "Kirjaudu sisään käyttäen organisaatiosi kertakirjautumista (SSO). Syötä organisaatiosi tunniste aloittaaksesi." }, "enterpriseSingleSignOn": { - "message": "Yrityksen kertakirjautuminen [SSO]" + "message": "Yrityksen kertakirjautuminen (SSO)" }, "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." + "message": "Voit nyt sulkea tämän välilehden ja jatkaa laajennuksessa." }, "businessPortal": { - "message": "Yritys sisäänkäynti", + "message": "Yritysportaali", "description": "The web portal used by business organizations for configuring certain features." }, "includeAllTeamsFeatures": { - "message": "Kaikki Tiimien ominaisuudet, sekä:" + "message": "Kaikki \"Tiimit\" -tilauksen ominaisuudet, sekä:" }, "includeSsoAuthentication": { - "message": "Kertakirjaus todennus [SSO], SAML2.0:n ja OpenID yhteyden kautta" + "message": "Kertakirjautumisen (SSO) todennus SAML2.0 ja OpenID Connect -standardeilla" }, "includeEnterprisePolicies": { - "message": "Yritys tason menettelyt" + "message": "Yrityksen käytännöt" }, "ssoValidationFailed": { - "message": "Kertakirjaus [SSO] todentaminen epäonnistui" + "message": "Kertakirjautumisen (SSO) todennus epäonnistui" }, "ssoIdentifierRequired": { - "message": "Organisaatio tunnistautuminen vaaditaan." + "message": "Organisaation tunniste vaaditaan." }, "unlinkSso": { - "message": "Poista SSO linkitys" + "message": "Poista kertakirjautumisen (SSO) liitos" }, "linkSso": { - "message": "Linkitä SSOhon" + "message": "Liitä kertakirjautumiseen (SSO)" }, "webPoliciesDeprecationWarning": { - "message": "Policy configuration has been moved, and this page will soon be deprecated. Please click below to use the Business Portal policies page instead." + "message": "Käytäntöasetukset ovat siirtyneet ja tämä sivu poistuu pian käytöstä. Klikkaa alta siirtyäksesi yritysportaalin käytäntösivua." }, "singleOrg": { - "message": "Yksi organisaatio" + "message": "Yksittäinen organisaatio" }, "singleOrgDesc": { - "message": "Restrict users from being able to join any other organizations." + "message": "Estä käyttäjiä liittymästä muihin organisaatioihin." }, "singleOrgBlockCreateMessage": { - "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." + "message": "Nykyisen organisaatiosi käytäntö ei salli liittymistä useampaan kuin yhteen organisaatioon. Ota yhteyttä organisaatiosi järjestelmänvalvojiin tai liity eri Bitwarden-tilin kautta." }, "singleOrgPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and are already a member of another organization will be removed from your organization." + "message": "Organisaation jäsenet, jotka eivät ole omistajia tai järjestelmänvalvojia ja jotka ovat jo toisen organisaation jäseniä, poistetaan organisaatiostasi." }, "requireSso": { - "message": "Kertakirjautumisen todennus" + "message": "Kertakirjautumisen (SSO) todennus" }, "requireSsoPolicyDesc": { - "message": "Require users to log in with the Enterprise Single Sign-On method." + "message": "Vaadi käyttäjiä kirjautumaan sisään käyttäen yrityksen kertakirjautumista (SSO)." }, "prerequisite": { - "message": "Edellytykset" + "message": "Edellytys" }, "requireSsoPolicyReq": { - "message": "The Single Organization enterprise policy must be enabled before activating this policy." + "message": "\"Yksittäinen organisaatio\" -käytäntö on otettava käyttöön ennen tämän käytännön käyttöönottoa." }, "requireSsoPolicyReqError": { - "message": "Single Organization policy not enabled." + "message": "\"Yksittäinen organisaatio\" -käytäntö ei ole käytössä." }, "requireSsoExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + "message": "Organisaation omistajat ja järjestelmänvalvojat on vapautettu tämän käytännön piiristä." }, "sendTypeFile": { "message": "Tiedosto" @@ -3269,15 +3293,15 @@ "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "createdSend": { - "message": "Send luotu", + "message": "Luotiin Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "editedSend": { - "message": "Sendiä muokattu", + "message": "Muokattiin Sendiä", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deletedSend": { - "message": "Send poistettu", + "message": "Poistettiin Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deleteSend": { @@ -3289,26 +3313,46 @@ "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "whatTypeOfSend": { - "message": "Millainen Send tämä on?", + "message": "Minkä tyyppinen Send tämä on?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deletionDate": { - "message": "Poistoaika" + "message": "Poistopäivä" + }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "expirationDate": { - "message": "Päättymispäivä" + "message": "Erääntymispäivä" + }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "maxAccessCount": { - "message": "Maximum Access Count" + "message": "Suurin käyttömäärä" + }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "currentAccessCount": { - "message": "Current Access Count" + "message": "Nykyinen käyttömäärä" + }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "disabled": { "message": "Ei käytössä" }, "sendLink": { - "message": "Lähetä linkki", + "message": "Send-linkki", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "copySendLink": { @@ -3319,20 +3363,33 @@ "message": "Poista salasana" }, "removedPassword": { - "message": "Salasana poistettu" + "message": "Poistettiin salasana" }, "removePasswordConfirmation": { "message": "Haluatko varmasti poistaa salasanan?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "Kaikki Sendit" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Hae Sendeistä", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendProtectedPassword": { - "message": "Tämä Send on suojattu salasanalla. Kirjoita salasana alle jatkaaksesi.", + "message": "Tämä Send on suojattu salasanalla. Syötä salasana alle jatkaaksesi.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendProtectedPasswordDontKnow": { @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "Lataa tiedosto" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "Ei näytettäviä Sendejä.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/fr/messages.json b/locales/fr/messages.json index af2c7a86..b1a8b69d 100644 --- a/locales/fr/messages.json +++ b/locales/fr/messages.json @@ -347,6 +347,9 @@ "editItem": { "message": "Modifier l'élément" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "ex.", "description": "Short abbreviation for 'example'." @@ -461,7 +464,7 @@ "message": "Supprimer la pièce jointe" }, "deleteItemConfirmation": { - "message": "Êtes-vous sûr(e) de vouloir supprimer cet élément ?" + "message": "Êtes-vous sûr(e) de vouloir déposer cet élément dans la corbeille ?" }, "deletedItem": { "message": "L'élément a été envoyé dans la corbeille" @@ -790,9 +793,15 @@ "warning": { "message": "Attention" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "Cet export contient les données de votre coffre dans un format non chiffré. Vous ne devriez ni le stocker ni l'envoyer via des canaux non sécurisés (tel que l'e-mail). Supprimez-le immédiatement après l'avoir utilisé." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "Saisissez votre mot de passe maître pour exporter les données de votre coffre." }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Informations de paiement" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Carte de crédit" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Appareil" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "Après avoir mis à jour votre clé de chiffrement, vous devrez vous reconnecter sur toutes les applications Bitwarden que vous utilisez actuellement (comme par exemple l'application mobile ou les extensions de navigateur). Le fait de ne pas vous déconnecter et de vous reconnecter (ce qui télécharge votre nouvelle clé de chiffrement) pourrait entraîner une corruption des données. Nous allons essayer de vous déconnecter automatiquement, mais cela demande un peu de temps." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Abonnement" }, @@ -3194,7 +3218,7 @@ "message": "Portail de connexion unique d'entreprise (Single Sign-On)" }, "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." + "message": "Vous pouvez maintenant fermer cet onglet et continuer dans l'extension." }, "businessPortal": { "message": "Portail d'entreprise", @@ -3295,15 +3319,35 @@ "deletionDate": { "message": "Date de suppression" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "Date d'expiration" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "Nombre maximum d'accès" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "Nombre d'accès actuel" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "Désactivé" }, @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "Êtes-vous sûr(e) de vouloir supprimer le mot de passe ?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "Tous les Sends" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Rechercher dans les Sends", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "Télécharger le fichier" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "Il n'y a aucun Send à afficher.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/he/messages.json b/locales/he/messages.json index 1870aa77..ba4070b5 100644 --- a/locales/he/messages.json +++ b/locales/he/messages.json @@ -38,7 +38,7 @@ "message": "סיסמה" }, "newPassword": { - "message": "New Password" + "message": "סיסמה חדשה" }, "passphrase": { "message": "משפט סיסמה" @@ -347,6 +347,9 @@ "editItem": { "message": "ערוך פריט" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "לדוגמא", "description": "Short abbreviation for 'example'." @@ -790,9 +793,15 @@ "warning": { "message": "אזהרה" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "הקובץ מכיל את פרטי הכספת שלך בפורמט לא מוצפן. מומלץ להעביר את הקובץ רק בדרכים מוצפנות, ומאוד לא מומלץ לשמור או לשלוח את הקובץ הזה בדרכים לא מוצפנות (כדוגמת סתם אימייל). מחק את הקובץ מיד לאחר שסיימת את השימוש בו." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "הזן את הסיסמה הראשית שלך עבור יצוא המידע מהכספת." }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "פרטי תשלום" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "כרטיס אשראי" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "מכשיר" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "לאחר עדכון מפתחות ההצפנה שלך, תתבקש לצאת ולהכנס שוב בכל אפליקציות Bitwarden שאתה משתמש בהן (האפליקציה לפלאפון או ההרחבה לדפדפן). אם לא תצא ותכנס שוב (פעולת הכניסה מורידה את המפתח החדש), יתכן שתתקל במידע שגוי. אנו ננסה לגרום ליציאה אוטומטית, אך יתכן שהדבר לא יקרה מיידית." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "מנוי" }, @@ -2814,10 +2838,10 @@ "message": "לא בחרת כלום." }, "acceptPolicies": { - "message": "By checking this box you agree to the following:" + "message": "סימון תיבה זו מהווה את הסכמתך לתנאים הבאים:" }, "acceptPoliciesError": { - "message": "Terms of Service and Privacy Policy have not been acknowledged." + "message": "לא הסכמת לתנאי השירות ומדיניות הפרטיות." }, "termsOfService": { "message": "תנאי שירות" @@ -2954,10 +2978,10 @@ "message": "למפתח הAPI שלך יש גישה מלאה לארגון שלך. מומלץ מאוד לשמור אותו בסוד." }, "userApiKeyDesc": { - "message": "Your API key can be used to authenticate in the Bitwarden CLI." + "message": "מפתח הAPI שלך יכול לשמש עבור אימות מול הCLI של Bitwarden." }, "userApiKeyWarning": { - "message": "Your API key is an alternative authentication mechanism. It should be kept secret." + "message": "מפתח הAPI שלך משמש כמנגנון אימות אלטרנטיבי. יש לשמור עליו כמו על כל סיסמה." }, "oauth2ClientCredentials": { "message": "אישורי לקוח OAuth 2.0", @@ -3194,7 +3218,7 @@ "message": "כניסה ארגונית אחודה" }, "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." + "message": "ניתן לסגור את הטאב הנוכחי ולהמשיך את השימוש בתוסף." }, "businessPortal": { "message": "פורטל עסקי", @@ -3222,132 +3246,387 @@ "message": "חבר SSO" }, "webPoliciesDeprecationWarning": { - "message": "Policy configuration has been moved, and this page will soon be deprecated. Please click below to use the Business Portal policies page instead." + "message": "הגדרות המדיניות הועברו למקום אחר, והעמוד הזה לא יתמך יותר. אנא לחץ על הכפתור כדי לעבור לפורטל המדיניות העסקית." }, "singleOrg": { - "message": "Single Organization" + "message": "ארגון יחידני" }, "singleOrgDesc": { - "message": "Restrict users from being able to join any other organizations." + "message": "מונע מהמשתמשים אפשרות צירוף לארגונים אחרים." }, "singleOrgBlockCreateMessage": { - "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." + "message": "לפי מדיניות הארגון שלך, אין באפשרותך להצטרף ליותר מארגון אחד. אנא צור קשר עם מנהלי הארגון שלך, או לחלופין - צור חשבון Bitwarden נפרד." }, "singleOrgPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and are already a member of another organization will be removed from your organization." + "message": "חברי ארגון שאינם הבעלים או המנהלים וכבר עכשיו הם חלק מארגון אחר - יוסרו מהארגון שלך." }, "requireSso": { - "message": "Single Sign-On Authentication" + "message": "אימות בעזרת כניסה אחודה" }, "requireSsoPolicyDesc": { - "message": "Require users to log in with the Enterprise Single Sign-On method." + "message": "מחייב את המשתמשים להשתמש בכניסה אחודה של הארגון." }, "prerequisite": { - "message": "Prerequisite" + "message": "תנאים מקדימים" }, "requireSsoPolicyReq": { - "message": "The Single Organization enterprise policy must be enabled before activating this policy." + "message": "יש לסמן את מדיניות הארגון היחידני לפני הפעלת מדיניות זו." }, "requireSsoPolicyReqError": { - "message": "Single Organization policy not enabled." + "message": "מדיניות ארגון יחידני לא הופעלה." }, "requireSsoExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + "message": "מנהלי ובעלי הארגון מוחרגים מאכיפת מדיניות זו." }, "sendTypeFile": { - "message": "File" + "message": "קובץ" }, "sendTypeText": { - "message": "Text" + "message": "טקסט" }, "createSend": { - "message": "Create New Send", + "message": "צור Send חדש", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "editSend": { - "message": "Edit Send", + "message": "ערוך Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "createdSend": { - "message": "Created Send", + "message": "הSend נוצר בהצלחה", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "editedSend": { - "message": "Edited Send", + "message": "הSend נערך", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deletedSend": { - "message": "Deleted Send", + "message": "הSend נמחק", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deleteSend": { - "message": "Delete Send", + "message": "מחק Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deleteSendConfirmation": { - "message": "Are you sure you want to delete this Send?", + "message": "האם אתה בטוח שברצונך למחוק Send זה?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "whatTypeOfSend": { - "message": "What type of Send is this?", + "message": "מה סוג הSend?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deletionDate": { - "message": "Deletion Date" + "message": "תאריך מחיקה" + }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "expirationDate": { - "message": "Expiration Date" + "message": "תאריך תפוגה" + }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "maxAccessCount": { - "message": "Maximum Access Count" + "message": "כמות גישות מקסימלית" + }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "currentAccessCount": { - "message": "Current Access Count" + "message": "כמות גישות נוכחית" + }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "disabled": { - "message": "Disabled" + "message": "מבוטל" }, "sendLink": { - "message": "Send Link", + "message": "לינק לSend", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "copySendLink": { - "message": "Copy Send Link", + "message": "העתק לינק לSend", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "removePassword": { - "message": "Remove Password" + "message": "הסר סיסמה" }, "removedPassword": { - "message": "Removed Password" + "message": "הסיסמה הוסרה" }, "removePasswordConfirmation": { - "message": "Are you sure you want to remove the password?" + "message": "האם אתה בטוח שברצונך להסיר את הסיסמה?" + }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "allSends": { - "message": "All Sends" + "message": "כל הSendים" + }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" }, "searchSends": { - "message": "Search Sends", + "message": "חיפוש Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendProtectedPassword": { - "message": "This Send is protected with a password. Please type the password below to continue.", + "message": "הSend הזה מוגן בסיסמה. אנא הזן את הסיסמה כדי להמשיך.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendProtectedPasswordDontKnow": { - "message": "Don't know the password? Ask the Sender for the password needed to access this Send.", + "message": "לא יודע מה הסיסמה? בקש מהשולח את הסיסמה עבור הSend.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendHiddenByDefault": { - "message": "This send is hidden by default. You can toggle its visibility using the button below.", + "message": "הSend הזה מוסתר כברירת מחדל. באפשרותך לשנות את מצב ההסתרה בעזרת הכפתור להלן.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "downloadFile": { - "message": "Download File" + "message": "הורד קובץ" + }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "noSendsInList": { - "message": "There are no Sends to list.", + "message": "אין Sendים להצגה ברשימה.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/hr/messages.json b/locales/hr/messages.json index fcbc56ac..fce6d219 100644 --- a/locales/hr/messages.json +++ b/locales/hr/messages.json @@ -347,6 +347,9 @@ "editItem": { "message": "Uredi stavku" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "npr.", "description": "Short abbreviation for 'example'." @@ -790,9 +793,15 @@ "warning": { "message": "Upozorenje" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "This export contains your vault data in an unencrypted format. You should not store or send the exported file over unsecure channels (such as email). Delete it immediately after you are done using it." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "Enter your master password to export your vault data." }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Payment Information" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Kreditna kartica" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Uređaj" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Pretplata" }, @@ -3295,15 +3319,35 @@ "deletionDate": { "message": "Deletion Date" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "Expiration Date" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "Maximum Access Count" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "Current Access Count" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "Disabled" }, @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "Are you sure you want to remove the password?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "All Sends" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Search Sends", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "Download File" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "There are no Sends to list.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/hu/messages.json b/locales/hu/messages.json index 02ea7722..dca65c73 100644 --- a/locales/hu/messages.json +++ b/locales/hu/messages.json @@ -155,7 +155,7 @@ "message": "Érték" }, "dragToSort": { - "message": "Húzd a rendezéshez" + "message": "Húzás a rendezéshez" }, "cfTypeText": { "message": "Szöveg" @@ -186,7 +186,7 @@ "message": "Alap domain" }, "host": { - "message": "Hoszt", + "message": "Kiszolgáló", "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." }, "exact": { @@ -200,11 +200,11 @@ "description": "A programming term, also known as 'RegEx'." }, "matchDetection": { - "message": "Találatfelismerés", + "message": "Találat érzékelés", "description": "URI match detection for auto-fill." }, "defaultMatchDetection": { - "message": "Alapértelmezett találatfelismerés", + "message": "Alapértelmezett találat érzékelés", "description": "Default URI match detection for auto-fill." }, "never": { @@ -214,17 +214,17 @@ "message": "Láthatóság váltása" }, "toggleCollapse": { - "message": "Összecsukás/kinyitás", + "message": "Összezárás váltás", "description": "Toggling an expand/collapse state." }, "generatePassword": { "message": "Jelszó generálása" }, "checkPassword": { - "message": "Ellenőrizd, hogy kompromittálódott-e a jelszó." + "message": "A jelszóvédelmi állapot ellenőrzése." }, "passwordExposed": { - "message": "Ez a jelszó már $VALUE$ alkalommal ki volt téve adatszivárgásnak. Javasolt a megváltoztatása!", + "message": "Ez a jelszó már $VALUE$ alkalommal volt kitéve az adatszivárgásnak. Célszerű megváltoztatni.", "placeholders": { "value": { "content": "$1", @@ -260,13 +260,13 @@ "message": "Szerkesztés" }, "searchCollection": { - "message": "Keresés a gyűjteményben" + "message": "Gyűjtemény keresése" }, "searchFolder": { "message": "Mappa keresése" }, "searchFavorites": { - "message": "Keresés a kedvencek közt" + "message": "Kedvencek keresése" }, "searchType": { "message": "Típus keresése", @@ -303,7 +303,7 @@ "message": "Gyűjtemények" }, "firstName": { - "message": "Keresztnév" + "message": "Személynév" }, "middleName": { "message": "Középső név" @@ -324,7 +324,7 @@ "message": "Település" }, "stateProvince": { - "message": "Állam/megye" + "message": "Állam/Megye" }, "zipPostalCode": { "message": "Irányítószám" @@ -333,10 +333,10 @@ "message": "Ország" }, "shared": { - "message": "Megosztva" + "message": "Megosztott" }, "attachments": { - "message": "Csatolmányok" + "message": "Mellékletek" }, "select": { "message": "Kijelölés" @@ -347,8 +347,11 @@ "editItem": { "message": "Elem szerkesztése" }, + "viewItem": { + "message": "View Item" + }, "ex": { - "message": "pl.", + "message": "Példa:", "description": "Short abbreviation for 'example'." }, "other": { @@ -358,7 +361,7 @@ "message": "Megosztás" }, "valueCopied": { - "message": "$VALUE$ másolva", + "message": "$VALUE$ másolásra került.", "description": "Value has been copied to the clipboard.", "placeholders": { "value": { @@ -410,19 +413,19 @@ "message": "Összes kijelölése" }, "unselectAll": { - "message": "Kijelölés megszüntetése" + "message": "Összes kijelölés megszüntetése" }, "launch": { "message": "Indítás" }, "newAttachment": { - "message": "Melléklet hozzáadása" + "message": "Új melléklet hozzáadása" }, "deletedAttachment": { - "message": "A melléklet törölve lett" + "message": "A melléklet törlésre került." }, "deleteAttachmentConfirmation": { - "message": "Biztos törölni akarod ezt a mellékletet?" + "message": "Biztos törlésre kerüljön ez a melléklet?" }, "attachmentSaved": { "message": "A melléklet mentésre került." @@ -431,22 +434,22 @@ "message": "Fájl" }, "selectFile": { - "message": "Válassz ki egy fájlt." + "message": "Válasszunk egy fájlt." }, "maxFileSize": { "message": "A maximális fájl méret 100 MB." }, "updateKey": { - "message": "Ez a funkció nem használható, amíg nem frissíted a titkosítási kulcsodat." + "message": "Ez a funkció nem használható a titkosítási kulcs frissítéséig." }, "addedItem": { - "message": "Elem hozzáadva" + "message": "Az elem hozzáadásra került." }, "editedItem": { - "message": "Elem szerkesztve" + "message": "Az elem szerkesztésre került." }, "sharedItem": { - "message": "Elem megosztva" + "message": "Megosztott elem" }, "sharedItems": { "message": "Megosztott elemek" @@ -461,10 +464,10 @@ "message": "Melléklet törlése" }, "deleteItemConfirmation": { - "message": "Biztosan törlöd ezt az elemet?" + "message": "Biztosan törlésre kerüljön ezt az elem?" }, "deletedItem": { - "message": "Elem törölve" + "message": "Az elem törlésre került." }, "deletedItems": { "message": "Törölt elemek" @@ -473,22 +476,22 @@ "message": "Áthelyezett elemek" }, "overwritePasswordConfirmation": { - "message": "Biztosan felül akarod írni a jelenlegi jelszót?" + "message": "Biztosan felülírásra kerüljön a jelenlegi jelszó?" }, "editedFolder": { "message": "A mappa szerkesztésre került." }, "addedFolder": { - "message": "Mappa hozzáadva" + "message": "A mappa hozzáadásra került." }, "deleteFolderConfirmation": { "message": "Biztosan törlésre kerüljön ez a mappa?" }, "deletedFolder": { - "message": "Mappa törölve" + "message": "A mappa törlésre került." }, "loggedOut": { - "message": "Kijelentkezve" + "message": "Megtörtént a kijelentkezés." }, "loginExpired": { "message": "A bejelentkezési munkamenet lejárt." @@ -527,7 +530,7 @@ "message": "Név" }, "yourNameDesc": { - "message": "Hogy szólíthatunk?" + "message": "Mi legyen a megszólítás?" }, "masterPass": { "message": "Mesterjelszó" @@ -545,7 +548,7 @@ "message": "Mesterjelszó emlékeztető (nem kötelező)" }, "masterPassHintLabel": { - "message": "Mesterjelszó-emlékeztető" + "message": "Mesterjelszó emlékeztető" }, "settings": { "message": "Beállítások" @@ -554,7 +557,7 @@ "message": "Jelszó emlékeztető" }, "enterEmailToGetHint": { - "message": "Írd be a felhasználóhoz kötött e-mail címed, hogy megkapd a mesterjelszó emlékeztetőt." + "message": "A fiók email címének megadása a mesterjelszó emlékeztető fogadásához." }, "getMasterPasswordHint": { "message": "Mesterjelszó emlékeztető kérése" @@ -563,7 +566,7 @@ "message": "Az email cím megadása kötelező." }, "invalidEmail": { - "message": "Érvénytelen email cím." + "message": "Az email cím érvénytelen." }, "masterPassRequired": { "message": "A mesterjelszó megadása kötelező." @@ -663,7 +666,7 @@ } }, "rememberMe": { - "message": "Jegyezz meg" + "message": "Adatok megjegyzése" }, "sendVerificationCodeEmailAgain": { "message": "Megerősítő kód ismételt elküldése emailben" @@ -678,7 +681,7 @@ "message": "A biztonsági kulcs beillesztése a számítógép USB portjába. Ha van rajta gomb, nyomjuk meg." }, "loginUnavailable": { - "message": "Bejelentkezés nem érhető el." + "message": "A bejelentkezés nem érhető el." }, "noTwoStepProviders": { "message": "Ezen a fiókon kétlépcsős bejelentkezés van engedélyezve, de ez az eszköz nem támogatja egyik beállított kétlépcsős szolgáltatót sem." @@ -709,7 +712,7 @@ "message": "YubiKey használata a fiók eléréséhez. Működik a YubiKey 4, 4 Nano, 4C, és NEO eszközökkel." }, "duoDesc": { - "message": "Hitelesítés Duo Securityval a Duo Mobile alkalmazáson keresztül, SMS-sel, telefonhívással vagy U2F biztonsági kulcs használatával.", + "message": "Ellenőrzés Duo Security-val, a Duo Mobile alkalmazás, SMS, telefonhívás vagy U2F biztonsági kulcs használatával.", "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." }, "duoOrganizationDesc": { @@ -723,7 +726,7 @@ "message": "FIDO U2F Biztonsági kulcs" }, "emailTitle": { - "message": "E-mail" + "message": "Email cím" }, "emailDesc": { "message": "Az ellenőrző kódok emailben kerülnek elküldésre." @@ -738,7 +741,7 @@ "message": "Szervezetek" }, "shareDesc": { - "message": "Choose an organization that you wish to share this item with. Sharing transfers ownership of the item to the organization. You will no longer be the direct owner of this item once it has been shared." + "message": "Szervezet választása az elem megosztásához. Az elemtulajdon átadása a szervezetnek. Innentől nem közvetlen tulajdonosa leszünk az elemnek a megosztás után." }, "shareManyDesc": { "message": "Szervezet választása az elem megosztásához. Az elemtulajdon átadása a szervezetnek. Innentől nem közvetlen tulajdonosa leszünk az elemnek a megosztás után." @@ -790,9 +793,15 @@ "warning": { "message": "Figyelmeztetés" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "Ez az exportálás titkosítás nélkül tartalmazza a széfadatokat.Nem célszerű az exportált fájlt nem biztonságos csatornákon tárolni és továbbküldeni (például emailben). A felhasználás után erősen ajánlott a törlés." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "A mesterjelszó megadása a széfadatok exportálásához." }, @@ -806,7 +815,7 @@ "message": "A széfadatok exportálásra kerültek." }, "passwordGenerator": { - "message": "Password Generator" + "message": "Jelszó generátor" }, "minComplexityScore": { "message": "Minimális összetettségi pontszám" @@ -831,17 +840,17 @@ "message": "Szavak száma" }, "wordSeparator": { - "message": "Szóelválasztás" + "message": "Szóelválasztó" }, "capitalize": { "message": "Nagy kezdőbetű", "description": "Make the first letter of a work uppercase." }, "includeNumber": { - "message": "Tartalmazzon számot" + "message": "Szám is" }, "passwordHistory": { - "message": "Jelszóelőzmények" + "message": "Jelszó előzmények" }, "noPasswordsInList": { "message": "Nincsenek listázható jelszavak." @@ -875,19 +884,19 @@ "message": "A folytatásban a felhasználó kiléptetésre kerül a jelenlegi munkamenetből, szükséges az ismételt bejelentkezés. Más eszközökön aktív munkamenetek akár egy órán keresztül is aktívak maradhatnak." }, "emailChanged": { - "message": "Email cím megváltoztatva" + "message": "Az email cím megváltozott." }, "logBackIn": { - "message": "Kérjük, jelentkezz be újra." + "message": "Ismételten be kell jelentkezni." }, "logBackInOthersToo": { - "message": "Kérjük, jelentkezz be újra. Ha használsz más Bitwarden alkalmazásokat is, jelentkezz ki és be újra azokon is." + "message": "Ismételten be kell jelentkezni. Ha másik Bitwarden alkalmazásokat használunk, ott is jelentkezzünk ki és ismételten be." }, "changeMasterPassword": { "message": "Mesterjelszó módosítása" }, "masterPasswordChanged": { - "message": "Mesterjelszó megváltoztatva" + "message": "A mesterjelszó megváltozott." }, "currentMasterPass": { "message": "Jelenlegi mesterjelszó" @@ -950,7 +959,7 @@ "message": "Az összes munkamenet hitelesítése eldobásra került." }, "purgeVault": { - "message": "Purge Vault" + "message": "Széf kitakarítása" }, "purgedOrganizationVault": { "message": "A szervezeti széf kitakarításra került." @@ -959,7 +968,7 @@ "message": "Az alábbiak szerint törölhetjük a széfben található összes elemet és mappát. Nem kerülnek törlésre azok az elemek,, amelyek egy megosztott szervezethez tartoznak." }, "purgeOrgVaultDesc": { - "message": "Proceed below to delete all items in the organization's vault." + "message": "Folytatás lentebb a szervezeti széf összes elemének törléséhez." }, "purgeVaultWarning": { "message": "A széf kitakarítása végleges. A művelet nem vonható vissza." @@ -1001,10 +1010,10 @@ "message": "Semmi nem lett importálva." }, "selectFormat": { - "message": "Válaszd ki az import fájl formátumát" + "message": "Válasszuk ki az import fájl formátumát." }, "selectImportFile": { - "message": "Válaszd ki az import fájlt" + "message": "Válasszuk ki az import fájlt" }, "orCopyPasteFileContents": { "message": "vagy vágólapon vigyük be fájl tartalmat" @@ -1129,7 +1138,7 @@ "message": "Prémium tagság" }, "premiumRequired": { - "message": "Prémium szükséges" + "message": "Prémium funkció szükséges" }, "premiumRequiredDesc": { "message": "A funkció használatához prémium tagság szükséges." @@ -1412,7 +1421,7 @@ "message": "Gyenge jelszavak találhatók." }, "weakPasswordsFoundDesc": { - "message": "$COUNT$ gyenge jelszót találtunk a széfedben. Célszerű lenne ezeket lecserélni erősebb jelszóra.", + "message": "$COUNT$ gyenge jelszó van a széfben. Célszerű lenne ezeket lecserélni erősebb jelszóra.", "placeholders": { "count": { "content": "$1", @@ -1541,7 +1550,7 @@ "message": "A fiók hitelkeret vásárlásra használható. A rendelkezésre álló keret automatikusan ehhez a fiókhoz generálódó számlákra kerül alkalmazásra." }, "goPremium": { - "message": "Válts Prémiumra", + "message": "Váltás Prémiumra", "description": "Another way of saying \"Get a premium membership\"" }, "premiumUpdated": { @@ -1632,7 +1641,7 @@ "message": "hónap" }, "monthAbbr": { - "message": "mo.", + "message": "hó.", "description": "Short abbreviation for 'month'" }, "paymentChargedAnnually": { @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Fizetési információ" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Hitelkártya" }, @@ -1708,7 +1720,7 @@ "message": "Licensz letöltése" }, "updateLicense": { - "message": "Licenc frissítése" + "message": "Licensz frissítése" }, "updatedLicense": { "message": "A licensz frissítésre került." @@ -1754,7 +1766,7 @@ "message": "Számlák" }, "noInvoices": { - "message": "Nincs számla." + "message": "Nincsenek számlák." }, "paid": { "message": "Fizetve", @@ -2145,7 +2157,7 @@ "message": "Keresés" }, "invited": { - "message": "Meghívva" + "message": "Meghívott" }, "accepted": { "message": "Elfogadva" @@ -2226,7 +2238,7 @@ "message": "38/5000\nA fiók visszaállításra került a kétlépcsős bejelentkezésről." }, "failedLogin": { - "message": "A bejelentkezési kísérlet meghiúsult hibás jelszó miatt." + "message": "A bejelentkezési kísérlet hibás jelszó miatt meghiúsult." }, "failedLogin2fa": { "message": "A bejelentkezés meghiúsult hibás kétlépcsős bejelentkezés miatt." @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Eszköz" }, @@ -2699,7 +2720,7 @@ "message": "Bankszámla" }, "amountX": { - "message": "Összeg: $COUNT$", + "message": "$COUNT$. összeg", "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", "placeholders": { "count": { @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "A titkosítási kulcs frissítése után ki kell jelentkezni és vissza kell jelentkezni az összes jelenleg használt Bitwarden alkalmazásba (például a mobilalkalmazás vagy a böngésző bővítmények). A kijelentkezés és a bejelentkezés elmulasztása (amely letölti az új titkosítási kulcsot) adatvesztést okozhat. Megkíséreljük az automatikusan kijelentkeztetést, azonban ez késhet." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Előfizetés" }, @@ -2793,10 +2817,10 @@ "message": "A betöltés folyamatban van." }, "upgrade": { - "message": "Felminősítés" + "message": "Áttérés" }, "upgradeOrganization": { - "message": "Szervezet felminősítése" + "message": "Szervezeti áttérés" }, "upgradeOrganizationDesc": { "message": "Ez a szolgáltatás nem elérhető ingyenes szervezeteknek. Váltás fizetős díjcsomagra a további funkciók feloldásához." @@ -2808,7 +2832,7 @@ "message": "A szervezet létrehozása előtt létre kell hozni egy ingyenes személyes fiókot." }, "refunded": { - "message": "Visszatérítve" + "message": "Visszatérített" }, "nothingSelected": { "message": "Nincs kiválasztva semmi." @@ -2926,7 +2950,7 @@ "message": "A széfben régi mellékletek vannak, amelyeket javítani kell a fiók titkosító kulcsának fordítása előtt." }, "yourAccountsFingerprint": { - "message": "Fókod ujjlenyomat kifejezés", + "message": "Fók ujjlenyomat kifejezés", "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." }, "fingerprintEnsureIntegrityVerify": { @@ -3089,7 +3113,7 @@ "message": "Az elem végleges törlése" }, "permanentlyDeleteItemConfirmation": { - "message": "Biztosan véglegesen törlésre kerüljön ezt az elem?" + "message": "Biztosan véglegesen törlésre kerüljön ez az elem?" }, "permanentlyDeletedItem": { "message": "Elem végleges törlése" @@ -3131,7 +3155,7 @@ "message": "Visszaállított elemek" }, "restoreItemConfirmation": { - "message": "Biztosan visszaállításra kerüljön ezt az elem?" + "message": "Biztosan visszaállításra kerüljön ez az elem?" }, "restoreItems": { "message": "Elemek visszaállítása" @@ -3146,7 +3170,7 @@ } }, "restoredItemId": { - "message": "$ID$ azonosítójú elem lvisszaállításra került.", + "message": "$ID$ azonosítójú elem visszaállításra került.", "placeholders": { "id": { "content": "$1", @@ -3170,7 +3194,7 @@ "message": "ÁFA/GST információval (opcionális)" }, "taxIdNumber": { - "message": "ÁFA/Dologi és szolgáltatási adó azonosító" + "message": "ÁFA/GST adó azonosító" }, "taxInfoUpdated": { "message": "Az adóinformáció frissítésre került." @@ -3194,7 +3218,7 @@ "message": "Vállalati önálló bejelentkezés" }, "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." + "message": "Bezárható ez a fül és folytatás a bővítményben." }, "businessPortal": { "message": "Üzleti portál", @@ -3295,15 +3319,35 @@ "deletionDate": { "message": "Törlési dátum" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "Lejárati dátum" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "Maximális elérési szám" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "Aktuális elérési szám" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "Letiltva" }, @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "Biztosan eltávolításra kerüljön ez a jelszó?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "Összes küldés" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Küldés keresése", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "Fájl letöltése" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "A listában nincs küldés.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/id/messages.json b/locales/id/messages.json index 994b1119..d90351e6 100644 --- a/locales/id/messages.json +++ b/locales/id/messages.json @@ -347,6 +347,9 @@ "editItem": { "message": "Ubah Item" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "contoh", "description": "Short abbreviation for 'example'." @@ -790,9 +793,15 @@ "warning": { "message": "Peringatan" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "Ekspor ini berisi data vault Anda dalam format yang tidak dienkripsi. Anda tidak boleh menyimpan atau mengirim file yang diekspor melalui saluran yang tidak aman (seperti email). Hapus segera setelah Anda selesai menggunakannya." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "Masukkan kata sandi utama Anda untuk mengekspor data brankas Anda." }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Informasi Pembayaran" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Kartu kredit" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Perangkat" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "Setelah memperbarui kunci enkripsi Anda, Anda diminta untuk keluar dan masuk kembali ke semua aplikasi Bitwarden yang saat ini Anda gunakan (seperti aplikasi seluler atau ekstensi browser). Kegagalan untuk keluar dan masuk kembali (yang mengunduh kunci enkripsi baru Anda) dapat menyebabkan kerusakan data. Kami akan mencoba mengeluarkan Anda secara otomatis, namun, hal itu mungkin tertunda." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Langganan" }, @@ -3194,7 +3218,7 @@ "message": "Sistem Masuk Tunggal Perusahaan" }, "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." + "message": "Sekarang anda dapat menutup tab ini dan melanjutkan ekstensi." }, "businessPortal": { "message": "Portal Bisnis", @@ -3295,15 +3319,35 @@ "deletionDate": { "message": "Tanggal Penghapusan" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "Tanggal habis tempo" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "Hitungan Akses Maksimum" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "Hitungan Akses Saat Ini" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "Dinonaktifkan" }, @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "Anda yakin ingin menghapus kata sandi?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "Semua Dikirim" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Pencarian Mengirim", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "Unduh berkas" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "Tidak ada Kiriman ke daftar.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/it/messages.json b/locales/it/messages.json index f4873bf5..3e85629f 100644 --- a/locales/it/messages.json +++ b/locales/it/messages.json @@ -347,6 +347,9 @@ "editItem": { "message": "Modifica Elemento" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "es.", "description": "Short abbreviation for 'example'." @@ -790,9 +793,15 @@ "warning": { "message": "Attenzione" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "Questa esportazione contiene i dati della cassaforte in un formato non criptato. Non archiviare o inviare il file esportato su canali non protetti (come la posta elettronica). Eliminalo immediatamente dopo aver finito di usarlo." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "Inserisci la tua password principale per esportare i dati della tua cassaforte." }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Informazioni sul pagamento" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Carta di credito" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Dispositivo" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "Dopo aver aggiornato la chiave di crittografia, verrà richiesto di disconnettersi e connettersi in tutte le applicazioni Bitwarden che stai utilizzando (come l'applicazione mobile o l'estensione del browser). Non effettuando la disconnessione e la riconnessione (per scaricare la nuova chiave di crittografia) potrà risultare in dati corrotti, Cercheremo di disconnetterti automaticamente, ma potrà esserci un ritardo." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Abbonamento" }, @@ -3194,7 +3218,7 @@ "message": "Accesso con il portale dell'organizzazione Single Sign-On" }, "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." + "message": "Puoi chiudere questa scheda e continuare nell'estensione." }, "businessPortal": { "message": "Portale aziendale", @@ -3295,15 +3319,35 @@ "deletionDate": { "message": "Data di eliminazione" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "Data di scadenza" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "Numero massimo di accessi" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "Conteggio accessi corrente" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "Disattivo" }, @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "Sei sicuro di voler rimuovere la password?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "Tutti i Send" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Cerca Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "Scarica File" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "Non ci sono Sends da elencare.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/ja/messages.json b/locales/ja/messages.json index ec9c622a..8f5596cb 100644 --- a/locales/ja/messages.json +++ b/locales/ja/messages.json @@ -347,6 +347,9 @@ "editItem": { "message": "アイテムの編集" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "例:", "description": "Short abbreviation for 'example'." @@ -790,9 +793,15 @@ "warning": { "message": "注意" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "このエクスポートデータは暗号化されていない形式の保管庫データを含んでいます。メールなどのセキュリティ保護されていない方法で共有したり保管したりしないでください。使用した後はすぐに削除してください。" }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "保管庫のデータをエクスポートするにはマスターパスワードを入力してください。" }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "お支払い情報" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "クレジットカード" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "デバイス" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "暗号化キーの更新後は、モバイルアプリやブラウザ拡張機能など現在利用中のすべてのBitwardenアプリで再ログインが必要となります。再ログインしないと(新しい暗号化キーをダウンロードすると)データが破損する可能性があります。自動的にログアウトを試みますが、遅延することがあります。" }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "契約" }, @@ -3295,15 +3319,35 @@ "deletionDate": { "message": "Deletion Date" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "Expiration Date" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "Maximum Access Count" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "Current Access Count" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "Disabled" }, @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "Are you sure you want to remove the password?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "All Sends" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Search Sends", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "Download File" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "There are no Sends to list.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/ko/messages.json b/locales/ko/messages.json index 870eb07f..b0b5ea08 100644 --- a/locales/ko/messages.json +++ b/locales/ko/messages.json @@ -38,7 +38,7 @@ "message": "비밀번호" }, "newPassword": { - "message": "New Password" + "message": "새 비밀번호" }, "passphrase": { "message": "패스프레이즈" @@ -347,6 +347,9 @@ "editItem": { "message": "항목 편집" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "예)", "description": "Short abbreviation for 'example'." @@ -790,9 +793,15 @@ "warning": { "message": "경고" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "내보내기는 보관함 데이터가 암호화되지 않은 형식으로 포함됩니다. 내보낸 파일을 안전하지 않은 채널(예: 이메일)을 통해 저장하거나 보내지 마십시오. 사용이 끝난 후에는 즉시 삭제하십시오." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "보관함 데이터를 내보내려면 마스터 비밀번호를 입력하세요." }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "결제 정보" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "신용카드" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "기기" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "암호화 키를 업데이트하고난 후 현재 사용 중인 모든 Bitwarden 애플리케이션(예. 모바일 앱 혹은 브라우저 확장 기능)에서 로그아웃 후 다시 로그인해야 합니다. 재로그인하지 않으면 (새 암호화 키를 다운로드받는 경우) 데이터 손실이 발생할 수 있습니다. 자동으로 로그아웃을 시도하지만 지연될 수 있습니다." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "구독" }, @@ -2814,10 +2838,10 @@ "message": "아무것도 선택하지 않았습니다." }, "acceptPolicies": { - "message": "By checking this box you agree to the following:" + "message": "이 박스를 체크하면 다음에 동의하는 것으로 간주됩니다:" }, "acceptPoliciesError": { - "message": "Terms of Service and Privacy Policy have not been acknowledged." + "message": "서비스 약관 및 개인 정보 보호 정책을 확인하지 않았습니다." }, "termsOfService": { "message": "서비스 약관" @@ -2954,10 +2978,10 @@ "message": "귀하의 API 키는 조직에 대한 전체 액세스 권한을 가집니다. 이것은 비밀로 해야 합니다." }, "userApiKeyDesc": { - "message": "Your API key can be used to authenticate in the Bitwarden CLI." + "message": "API 키를 사용하여 Bitwarden CLI에 인증할 수 있습니다." }, "userApiKeyWarning": { - "message": "Your API key is an alternative authentication mechanism. It should be kept secret." + "message": "당신의 API 키는 대체 인증 수단입니다. 안전하게 보관해주세요." }, "oauth2ClientCredentials": { "message": "OAuth 2.0 클라이언트 자격 증명", @@ -3194,7 +3218,7 @@ "message": "엔터프라이즈 통합 인증 (SSO)" }, "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." + "message": "이제 이 탭을 닫고 확장 프로그램에서 계속 진행하셔도 됩니다." }, "businessPortal": { "message": "비즈니스 포탈", @@ -3222,132 +3246,387 @@ "message": "SSO 연결" }, "webPoliciesDeprecationWarning": { - "message": "Policy configuration has been moved, and this page will soon be deprecated. Please click below to use the Business Portal policies page instead." + "message": "정책 설정이 이동되었으며 이 페이지는 곧 지원이 종료될 예정입니다. 아래를 클릭해서 Business Portal 정책 페이지를 사용해주세요." }, "singleOrg": { - "message": "Single Organization" + "message": "통합 조직" }, "singleOrgDesc": { - "message": "Restrict users from being able to join any other organizations." + "message": "사용자들이 다른 조직에 가입하지 못하도록 제한합니다." }, "singleOrgBlockCreateMessage": { - "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." + "message": "현재 조직에 하나 이상의 조직에 참가할 수 없도록 정책이 지정되어 있습니다. 조직 관리자에게 문의하거나 다른 Bitwarden 계정으로 로그앤해주세요." }, "singleOrgPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and are already a member of another organization will be removed from your organization." + "message": "소유자 또는 관리자가 아닌 조직 구성원 및 이미 다른 조직의 구성원인 경우 이 조직에서 제거됩니다." }, "requireSso": { - "message": "Single Sign-On Authentication" + "message": "통합 (SSO) 인증" }, "requireSsoPolicyDesc": { - "message": "Require users to log in with the Enterprise Single Sign-On method." + "message": "엔터프라이즈 통합 로그인 (SSO) 수단을 사용해서 로그인해야 합니다." }, "prerequisite": { - "message": "Prerequisite" + "message": "필요 조건" }, "requireSsoPolicyReq": { - "message": "The Single Organization enterprise policy must be enabled before activating this policy." + "message": "이 정책을 활성화하기 전에 통합 조직 엔터프라이즈 정책이 활성화되어 있어야합니다." }, "requireSsoPolicyReqError": { - "message": "Single Organization policy not enabled." + "message": "통합 조직 정책이 활성화되지 않았습니다." }, "requireSsoExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + "message": "조직 소유자와 관리자는 이 정책을 적용받지 않습니다." }, "sendTypeFile": { - "message": "File" + "message": "파일" }, "sendTypeText": { - "message": "Text" + "message": "텍스트" }, "createSend": { - "message": "Create New Send", + "message": "새 Send 생성", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "editSend": { - "message": "Edit Send", + "message": "Send 편집", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "createdSend": { - "message": "Created Send", + "message": "Send 생성함", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "editedSend": { - "message": "Edited Send", + "message": "Send 수정함", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deletedSend": { - "message": "Deleted Send", + "message": "Send 삭제함", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deleteSend": { - "message": "Delete Send", + "message": "Send 삭제", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deleteSendConfirmation": { - "message": "Are you sure you want to delete this Send?", + "message": "정말 이 Send를 삭제하시겠습니까?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "whatTypeOfSend": { - "message": "What type of Send is this?", + "message": "어떤 유형의 Send인가요?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deletionDate": { - "message": "Deletion Date" + "message": "삭제일" + }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "expirationDate": { - "message": "Expiration Date" + "message": "만료일" + }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "maxAccessCount": { - "message": "Maximum Access Count" + "message": "최대 접근 횟수" + }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "currentAccessCount": { - "message": "Current Access Count" + "message": "현재 접근 횟수" + }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "disabled": { - "message": "Disabled" + "message": "비활성화됨" }, "sendLink": { - "message": "Send Link", + "message": "Send 링크", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "copySendLink": { - "message": "Copy Send Link", + "message": "Send 링크 복사", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "removePassword": { - "message": "Remove Password" + "message": "비밀번호 제거" }, "removedPassword": { - "message": "Removed Password" + "message": "비밀번호 제거함" }, "removePasswordConfirmation": { - "message": "Are you sure you want to remove the password?" + "message": "비밀번호를 제거하시겠습니까?" + }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "allSends": { - "message": "All Sends" + "message": "모든 Send" + }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" }, "searchSends": { - "message": "Search Sends", + "message": "Send 검색", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendProtectedPassword": { - "message": "This Send is protected with a password. Please type the password below to continue.", + "message": "이 Send는 비밀번호로 보호되어 있습니다. 계속하려면 비밀번호를 입력해주세요.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendProtectedPasswordDontKnow": { - "message": "Don't know the password? Ask the Sender for the password needed to access this Send.", + "message": "비밀번호를 모르시나요? 보낸 사람에게 Send에 접근할 수 있는 비밀번호를 요청하세요.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendHiddenByDefault": { - "message": "This send is hidden by default. You can toggle its visibility using the button below.", + "message": "이 Send는 기본적으로 숨겨져 있습니다. 아래의 버튼을 눌러 공개 여부를 전환할 수 있습니다.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "downloadFile": { - "message": "Download File" + "message": "파일 다운로드" + }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "noSendsInList": { - "message": "There are no Sends to list.", + "message": "Send가 없습니다.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/lv/messages.json b/locales/lv/messages.json index 3d2e4950..31b2bab5 100644 --- a/locales/lv/messages.json +++ b/locales/lv/messages.json @@ -38,7 +38,7 @@ "message": "Parole" }, "newPassword": { - "message": "New Password" + "message": "Jauna parole" }, "passphrase": { "message": "Paroles frāze" @@ -347,6 +347,9 @@ "editItem": { "message": "Rediģēt Vienumu" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "piem.", "description": "Short abbreviation for 'example'." @@ -790,9 +793,15 @@ "warning": { "message": "Brīdinājums" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "Šis eksports satur jūsu datus nešifrētā formātā. Eksportēto failu nevajadzētu saglabāt vai sūtīt izmantojot nedrošus kanālus (piemēram E-pastu). Izdzēsiet to līdzko esiet beidzis to izmantot." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "Ievadiet savu galveno paroli lai eksportētu sava seifa datus." }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Maksājuma Informācija" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Kredītkarte" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Ierīce" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "Pēc šifrēšanas atslēgas atjaunošanas, jums būs jāiziet un atkārtoti jāieiet visās Bitwarden lietotnēs, kuras jūs pašlaik izmantojiet (piemēram mobilā lietotnē vai pārlūku paplašinājumos). Atkārtotas ieiešanas neveikšana (kas lejupielādēs jūsu jauno šifrēšanas atslēgu) var radīt datu korupciju. Mēs mēģināsim jūs automātiski iziet, bet tas var būt aizkavēts." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Abonējums" }, @@ -3243,7 +3267,7 @@ "message": "Require users to log in with the Enterprise Single Sign-On method." }, "prerequisite": { - "message": "Prerequisite" + "message": "Priekšnosacījumi" }, "requireSsoPolicyReq": { "message": "The Single Organization enterprise policy must be enabled before activating this policy." @@ -3255,80 +3279,113 @@ "message": "Organization Owners and Administrators are exempt from this policy's enforcement." }, "sendTypeFile": { - "message": "File" + "message": "Fails" }, "sendTypeText": { - "message": "Text" + "message": "Teksts" }, "createSend": { - "message": "Create New Send", + "message": "Izveidot Jaunu Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "editSend": { - "message": "Edit Send", + "message": "Rediģēt Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "createdSend": { - "message": "Created Send", + "message": "Izveidoja Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "editedSend": { - "message": "Edited Send", + "message": "Rediģēja Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deletedSend": { - "message": "Deleted Send", + "message": "Izdzēsa Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deleteSend": { - "message": "Delete Send", + "message": "Dzēst Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deleteSendConfirmation": { - "message": "Are you sure you want to delete this Send?", + "message": "Vai tiešām vēlies dzēst šo Send?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "whatTypeOfSend": { - "message": "What type of Send is this?", + "message": "Kāda veida Send ir šis?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deletionDate": { - "message": "Deletion Date" + "message": "Dzēšanas Datums" + }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "expirationDate": { - "message": "Expiration Date" + "message": "Beigu Datums" + }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "maxAccessCount": { - "message": "Maximum Access Count" + "message": "Maksimālais Piekļuvju Skaits" + }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "currentAccessCount": { - "message": "Current Access Count" + "message": "Pašreizējais Piekļuvju Skaits" + }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "disabled": { - "message": "Disabled" + "message": "Atspējots" }, "sendLink": { - "message": "Send Link", + "message": "Nosūtīt Linku", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "copySendLink": { - "message": "Copy Send Link", + "message": "Kopēt Send Linku", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "removePassword": { - "message": "Remove Password" + "message": "Noņemt paroli" }, "removedPassword": { - "message": "Removed Password" + "message": "Noņēma Paroli" }, "removePasswordConfirmation": { - "message": "Are you sure you want to remove the password?" + "message": "Vai tiešām vēlaties noņemt paroli?" + }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "allSends": { - "message": "All Sends" + "message": "Visi Send" + }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" }, "searchSends": { - "message": "Search Sends", + "message": "Meklēt Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendProtectedPassword": { @@ -3344,10 +3401,232 @@ "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "downloadFile": { - "message": "Download File" + "message": "Lejupielādēt Failu" + }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "noSendsInList": { "message": "There are no Sends to list.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/ml/messages.json b/locales/ml/messages.json index 5e2d26d2..8b212dd7 100644 --- a/locales/ml/messages.json +++ b/locales/ml/messages.json @@ -347,6 +347,9 @@ "editItem": { "message": "ഇനം എഡിറ്റുചെയ്യുക" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "ഉദാഹരണം.", "description": "Short abbreviation for 'example'." @@ -790,9 +793,15 @@ "warning": { "message": "മുന്നറിയിപ്പ്" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "ഈ എക്‌സ്‌പോർട്ടിൽ എൻക്രിപ്റ്റ് ചെയ്യാത്ത ഫോർമാറ്റിൽ നിങ്ങളുടെ വാൾട് ഡാറ്റ അടങ്ങിയിരിക്കുന്നു. എക്‌സ്‌പോർട് ചെയ്ത ഫയൽ സുരക്ഷിതമല്ലാത്ത ചാനലുകളിൽ (ഇമെയിൽ പോലുള്ളവ) നിങ്ങൾ സംഭരിക്കുകയോ അയയ്ക്കുകയോ ചെയ്യരുത്. നിങ്ങൾ ഇത് ഉപയോഗിച്ചുകഴിഞ്ഞാലുടൻ അത് മായ്ച്ചുകളയണം." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "നിങ്ങളുടെവാൾട് ഡാറ്റ എക്‌സ്‌പോർട്ടുചെയ്യാൻ പ്രാഥമിക പാസ്‌വേഡ് നൽകുക." }, @@ -893,7 +902,7 @@ "message": "നിലവിലെ മാസ്റ്റർ പാസ്‌വേഡ്" }, "newMasterPass": { - "message": "പുതിയ മാസ്റ്റർ പാസ്സ്‌വേഡ്‌ " + "message": "പുതിയ പ്രാഥമിക പാസ്‌വേഡ് " }, "confirmNewMasterPass": { "message": "പുതിയ പ്രാഥമിക പാസ്‌വേഡ് സ്ഥിരീകരിക്കുക" @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "പേയ്‌മെന്റ് വിവരങ്ങൾ" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "ക്രെഡിറ്റ് കാർഡ്" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "ഉപകരണം" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "സബ്സ്ക്രിപ്ഷൻ" }, @@ -3194,7 +3218,7 @@ "message": "എന്റർപ്രൈസ് SSO" }, "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." + "message": "നിങ്ങൾക്ക് ഇപ്പോൾ ഈ ടാബ് അടച്ച് വിപുലീകരണത്തിൽ തുടരാം." }, "businessPortal": { "message": "ബിസിനസ് പോർട്ടൽ", @@ -3295,15 +3319,35 @@ "deletionDate": { "message": "ഇല്ലാതാക്കൽ തീയതി" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "കാലഹരണപ്പെടുന്ന തീയതി" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "പരമാവധി ആക്സസ് എണ്ണം" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "നിലവിലെ ആക്‌സസ്സ് എണ്ണം" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "അപ്രാപ്‌തമാക്കി" }, @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "പാസ്‌വേഡ് നീക്കംചെയ്യണമെന്ന് നിങ്ങൾക്ക് ഉറപ്പാണോ?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "എല്ലാം Send-കൾ" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Send-കൾ തിരയുക", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "ഫയൽ ഡൗൺലോഡുചെയ്യുക" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "പ്രദർശിപ്പിക്കാൻ Send-കളൊന്നുമില്ല.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/nb/messages.json b/locales/nb/messages.json index 8d7fa4ee..cf5cde6f 100644 --- a/locales/nb/messages.json +++ b/locales/nb/messages.json @@ -38,7 +38,7 @@ "message": "Passord" }, "newPassword": { - "message": "New Password" + "message": "Nytt passord" }, "passphrase": { "message": "Passfrase" @@ -347,6 +347,9 @@ "editItem": { "message": "Rediger gjenstanden" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "f.eks.", "description": "Short abbreviation for 'example'." @@ -790,9 +793,15 @@ "warning": { "message": "Advarsel" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "Eksporten inneholder dine hvelvdataer i et ukryptert format. Du burde ikke lagre eller sende den eksporterte filen over usikre tjenester (f.eks. E-post). Slett det umiddelbart etter at du er ferdig med å bruke dem." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "Skriv inn ditt superpassord for å eksportere dine hvelvdataer." }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Betalingsinformasjon" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Bankkort" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Enhet" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "Etter å ha oppdatert krypteringsnøkkelen din, er du påkrevd å logge av og på på alle Bitwarden-appene og -programmene som du bruker for øyeblikket (deriblant mobilappen og nettleserutvidelsene). Å ikke logge av og på igjen (noe som vil laste ned din nye krypteringsnøkkel) kan føre til datakorrumpering. Vi vil forsøke å logge deg av automatisk, men det kan kanskje bli forsinket." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Abonnement" }, @@ -3164,10 +3188,10 @@ "message": "Hide Passwords" }, "countryPostalCodeRequiredDesc": { - "message": "We require this information for calculating sales tax and financial reporting only." + "message": "Vi krever denne informasjonen for beregning av merverdiavgift og finansiell rapportering." }, "includeVAT": { - "message": "Include VAT/GST Information (optional)" + "message": "Inkluder MVA-informasjon (valgfritt)" }, "taxIdNumber": { "message": "VAT/GST Tax ID" @@ -3176,16 +3200,16 @@ "message": "Tax information updated." }, "setMasterPassword": { - "message": "Set Master Password" + "message": "Angi hovedpassord" }, "ssoCompleteRegistration": { "message": "In order to complete logging in with SSO, please set a master password to access and protect your vault." }, "identifier": { - "message": "Identifier" + "message": "Identifikator" }, "organizationIdentifier": { - "message": "Organization Identifier" + "message": "Organisasjons identifikator" }, "ssoLogInWithOrgIdentifier": { "message": "Log in using your organization's single sign-on portal. Please enter your organization's identifier to begin." @@ -3194,7 +3218,7 @@ "message": "Enterprise Single Sign-On" }, "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." + "message": "Du kan nå lukke denne fanen og fortsette i utvidelsen." }, "businessPortal": { "message": "Business Portal", @@ -3255,10 +3279,10 @@ "message": "Organization Owners and Administrators are exempt from this policy's enforcement." }, "sendTypeFile": { - "message": "File" + "message": "Fil" }, "sendTypeText": { - "message": "Text" + "message": "Tekst" }, "createSend": { "message": "Create New Send", @@ -3295,15 +3319,35 @@ "deletionDate": { "message": "Deletion Date" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "Expiration Date" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "Maximum Access Count" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "Current Access Count" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "Disabled" }, @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "Are you sure you want to remove the password?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "All Sends" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Search Sends", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "Download File" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "There are no Sends to list.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/nl/messages.json b/locales/nl/messages.json index bbe7de8f..8a8b565a 100644 --- a/locales/nl/messages.json +++ b/locales/nl/messages.json @@ -347,6 +347,9 @@ "editItem": { "message": "Item bewerken" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "bijv.", "description": "Short abbreviation for 'example'." @@ -593,7 +596,7 @@ "message": "Ontgrendelen" }, "loggedInAsEmailOn": { - "message": "Ingelogd als $EMAIL$ op $HOSTNAME$.", + "message": "Aangemeld als $EMAIL$ op $HOSTNAME$.", "placeholders": { "email": { "content": "$1", @@ -790,9 +793,15 @@ "warning": { "message": "Waarschuwing" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "Deze export bevat jouw kluisgegevens in een niet-versleutelde opmaak. Je moet het geëxporteerde bestand niet opslaan of verzenden over onbeveiligde kanalen (zoals e-mail). Verwijder het exportbestand direct na gebruik." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "Voer je hoofdwachtwoord in om de kluisgegevens te exporteren." }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Betaalgegevens" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Creditcard" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Apparaat" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "Na het bijwerken van je encryptiesleutel moet je je afmelden en weer aanmelden bij alle Bitwarden-applicaties die je gebruikt (zoals de mobiele app of browserextensies). Als je niet opnieuw inlogt (wat je nieuwe encryptiesleutel downloadt), kan dit gegevensbeschadiging tot gevolg hebben. We proberen je automatisch uit te loggen, maar het kan zijn dat dit met enige vertraging gebeurt." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Abonnement" }, @@ -3194,7 +3218,7 @@ "message": "Enterprise Single Sign-On" }, "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." + "message": "Je kunt dit tabblad nu sluiten en doorgaan in de extensie." }, "businessPortal": { "message": "Zakelijk portaal", @@ -3295,15 +3319,35 @@ "deletionDate": { "message": "Verwijderingsdatum" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "Vervaldatum" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "Maximum toegangsaantal" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "Huidige toegangsaantal" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "Uitgeschakeld" }, @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "Weet je zeker dat je dit wachtwoord wilt verwijderen?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "Alle Sends" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Sends zoeken", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "Bestand downloaden" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "Er zijn geen Sends beschikbaar.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/pl/messages.json b/locales/pl/messages.json index 92559555..ad334f71 100644 --- a/locales/pl/messages.json +++ b/locales/pl/messages.json @@ -347,6 +347,9 @@ "editItem": { "message": "Edytuj element" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "np.", "description": "Short abbreviation for 'example'." @@ -461,7 +464,7 @@ "message": "Usuń załącznik" }, "deleteItemConfirmation": { - "message": "Czy na pewno chcesz usunąć ten element?" + "message": "Czy na pewno chcesz to usunąć?" }, "deletedItem": { "message": "Element został przeniesiony do kosza" @@ -790,9 +793,15 @@ "warning": { "message": "Ostrzeżenie" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "Plik zawiera dane sejfu w niezaszyfrowanym formacie. Nie powinieneś go przechowywać, ani przesyłać poprzez niezabezpieczone kanały (takie jak poczta e-mail). Skasuj go natychmiast po użyciu." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "Wpisz hasło główne, aby wyeksportować dane z sejfu." }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Informacje o płatności" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Karta płatnicza" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Urządzenie" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "Po zaktualizowaniu klucza szyfrowania, musisz ponownie zalogować się do wszystkich aplikacji Bitwarden, z których obecnie korzystasz (na przykład aplikacje mobilne lub rozszerzenia przeglądarki). Niepowodzenie logowania (podczas którego pobierany jest nowy klucz szyfrowania) może spowodować uszkodzenie danych. Postaramy się wylogować Ciebie automatycznie, jednak może to chwilę potrwać." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Subskrypcja" }, @@ -3194,7 +3218,7 @@ "message": "Logowanie jednokrotne" }, "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." + "message": "Możesz teraz zamknąć tę kartę i kontynuować w rozszerzeniu." }, "businessPortal": { "message": "Portal biznesowy", @@ -3246,13 +3270,13 @@ "message": "Wymaganie wstępne" }, "requireSsoPolicyReq": { - "message": "Najpierw musisz włączyć politykę pojedynczej organizacji." + "message": "Najpierw musisz włączyć zasadę pojedynczej organizacji." }, "requireSsoPolicyReqError": { - "message": "Polityka pojedynczej organizacji nie jest włączona." + "message": "Zasady pojedynczej organizacji nie są włączone." }, "requireSsoExemption": { - "message": "Właściciele i administratorzy organizacji są zwolnieni z przestrzegania wymagań polityki." + "message": "Właściciele i administratorzy organizacji są zwolnieni z przestrzegania wymagań zasad." }, "sendTypeFile": { "message": "Plik" @@ -3295,15 +3319,35 @@ "deletionDate": { "message": "Data usunięcia" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "Data wygaśnięcia" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "Maksymalna liczba dostępów" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "Obecna liczba dostępów" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "Wyłączone" }, @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "Czy na pewno chcesz usunąć hasło?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "Wszystkie wysyłki" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Szukaj w wysyłkach", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "Pobierz plik" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "Brak wysyłek do wyświetlenia.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/pt_BR/messages.json b/locales/pt_BR/messages.json index b6f05c3c..18db0a1b 100644 --- a/locales/pt_BR/messages.json +++ b/locales/pt_BR/messages.json @@ -347,6 +347,9 @@ "editItem": { "message": "Editar Item" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "ex.", "description": "Short abbreviation for 'example'." @@ -461,13 +464,13 @@ "message": "Excluir Anexo" }, "deleteItemConfirmation": { - "message": "Você tem certeza que deseja excluir este item?" + "message": "Você tem certeza que deseja enviar este item para a lixeira?" }, "deletedItem": { - "message": "Item excluído" + "message": "Item enviado para a lixeira" }, "deletedItems": { - "message": "Itens excluídos" + "message": "Itens enviados para a lixeira" }, "movedItems": { "message": "Itens movidos" @@ -790,9 +793,15 @@ "warning": { "message": "Aviso" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "Esta exportação contém os dados do seu cofre em um formato não criptografado. Você não deve armazenar ou enviar o arquivo exportado por canais inseguros (como e-mail). Exclua o arquivo imediatamente após terminar de usá-lo." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "Insira a sua senha mestra para exportar os dados do seu cofre." }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Informação de Pagamento" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Cartão de Crédito" }, @@ -1974,7 +1986,7 @@ "message": "Adicione e compartilhe com usuários ilimitados" }, "createUnlimitedCollections": { - "message": "Crie coleções ilimitadas" + "message": "Crie Coleções ilimitadas" }, "gbEncryptedFileStorage": { "message": "$SIZE$ de armazenamento encriptado", @@ -1989,13 +2001,13 @@ "message": "Hospedagem Local (opcional)" }, "usersGetPremium": { - "message": "Os usuários obtêm acesso às funcionalidades premium dos associados" + "message": "Usuários obtém acesso a Funcionalidades Premium" }, "controlAccessWithGroups": { - "message": "Controle o acesso do usuário com grupos" + "message": "Controle o acesso do usuário com Grupos" }, "syncUsersFromDirectory": { - "message": "Sincronize seus usuários e grupos de um diretório" + "message": "Sincronize seus usuários e Grupos de um diretório" }, "trackAuditLogs": { "message": "Acompanhe as ações do usuário com os registros de auditoria" @@ -2259,7 +2271,7 @@ } }, "deletedItemId": { - "message": "Item $ID$ excluído.", + "message": "Item $ID$ enviado para lixeira.", "placeholders": { "id": { "content": "$1", @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Dispositivo" }, @@ -2646,7 +2667,7 @@ "message": "Informações de Impostos" }, "taxInformationDesc": { - "message": "Entre em contato com o suporte para fornecer (ou atualizar) informações fiscais para as suas faturas." + "message": "Para clientes dentro dos EUA, o código postal (ZIP code) é necessário para satisfazer os requisitos fiscais das vendas. para outros países você pode opcionalmente fornecer um número de identificação fiscal (VAT/GST) e/ou um endereço para aparecer nas suas faturas." }, "billingPlan": { "message": "Plano", @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "Depois de atualizar sua chave de criptografia, é necessário encerrar e iniciar a sessão em todos os aplicativos do Bitwarden que você está usando atualmente (como o aplicativo móvel ou as extensões do navegador). Não encerrar e iniciar sessão (que baixa sua nova chave de criptografia) pode resultar em corrupção de dados. Nós tentaremos desconectá-lo automaticamente, mas isso pode demorar um pouco." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Assinatura" }, @@ -2817,7 +2841,7 @@ "message": "Ao marcar esta caixa, você concorda com o seguinte:" }, "acceptPoliciesError": { - "message": "Os Termos de Serviço e a Política de Privacidade não foram aceitos." + "message": "Os Termos de Serviço e a Política de Privacidade não foram reconhecidos." }, "termsOfService": { "message": "Termos de Serviço" @@ -3191,10 +3215,10 @@ "message": "Faça o login usando o portal de login único da sua organização. Por favor, insira o identificador da sua organização para começar." }, "enterpriseSingleSignOn": { - "message": "Início de Sessão Único Empresarial" + "message": "Iniciar Sessão Empresarial Única" }, "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." + "message": "Agora você pode fechar esta aba e continuar na extensão." }, "businessPortal": { "message": "Portal para Empresas", @@ -3295,14 +3319,34 @@ "deletionDate": { "message": "Data de Exclusão" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "Data de Validade" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "Contagem Máxima de Acessos" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { - "message": "Contagem Atual de Acessos" + "message": "Contagem Atual de Acesso" + }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "disabled": { "message": "Desativado" @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "Você tem certeza que deseja remover a senha?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "Todos os Sends" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Pesquisar Sends", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "Baixar Arquivo" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "Não há Sends para listar.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/pt_PT/messages.json b/locales/pt_PT/messages.json index 8a864c18..b513829e 100644 --- a/locales/pt_PT/messages.json +++ b/locales/pt_PT/messages.json @@ -38,7 +38,7 @@ "message": "Palavra-passe" }, "newPassword": { - "message": "New Password" + "message": "Nova palavra-passe" }, "passphrase": { "message": "Frase-passe" @@ -347,6 +347,9 @@ "editItem": { "message": "Editar item" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "ex.", "description": "Short abbreviation for 'example'." @@ -790,9 +793,15 @@ "warning": { "message": "Aviso" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "Esta exportação contém os seus dados do cofre num formato desencriptado. Não deve armazenar ou enviar o ficheiro exportado através de canais inseguros (como email). Elimine-o imediatamente após o utilizar." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "Introduza a sua palavra-passe mestra para exportar os dados do seu cofre." }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Informação de pagamento" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Cartão de crédito" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Dispositivo" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "Depois de atualizar a sua chave de encriptação, é-lhe requerido terminar sessão e voltar a iniciá-la em todas as aplicações Bitwarden que esteja a utilizar (tais como a aplicação móvel ou extensões de navegador). Falha ao terminar sessão e voltar a iniciar (que transfere a sua nova chave de encriptação) pode resultar em corrupção de dados. Tentaremos terminar-lhe a sessão automaticamente, todavia, pode demorar." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Subscrição" }, @@ -3255,10 +3279,10 @@ "message": "Organization Owners and Administrators are exempt from this policy's enforcement." }, "sendTypeFile": { - "message": "File" + "message": "Ficheiro" }, "sendTypeText": { - "message": "Text" + "message": "Texto" }, "createSend": { "message": "Create New Send", @@ -3295,15 +3319,35 @@ "deletionDate": { "message": "Deletion Date" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "Expiration Date" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "Maximum Access Count" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "Current Access Count" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "Disabled" }, @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "Are you sure you want to remove the password?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "All Sends" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Search Sends", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3344,10 +3401,232 @@ "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "downloadFile": { - "message": "Download File" + "message": "Descarregar Ficheiro" + }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "noSendsInList": { "message": "There are no Sends to list.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/ro/messages.json b/locales/ro/messages.json index 734ad9b1..04c45a1a 100644 --- a/locales/ro/messages.json +++ b/locales/ro/messages.json @@ -1,6 +1,6 @@ { "pageTitle": { - "message": "$APP_NAME$ Seif web", + "message": "Seif web $APP_NAME$", "description": "The title of the website in the browser window.", "placeholders": { "app_name": { @@ -10,10 +10,10 @@ } }, "whatTypeOfItem": { - "message": "Ce tip de articol este acesta?" + "message": "Ce fel de articol este acesta?" }, "name": { - "message": "Nume" + "message": "Denumire" }, "uri": { "message": "URI" @@ -38,7 +38,7 @@ "message": "Parolă" }, "newPassword": { - "message": "Parola nouă" + "message": "Parolă nouă" }, "passphrase": { "message": "Frază de acces" @@ -47,7 +47,7 @@ "message": "Note" }, "customFields": { - "message": "Câmpuri personalizate" + "message": "Câmpuri particularizate" }, "cardholderName": { "message": "Deținător card" @@ -59,13 +59,13 @@ "message": "Tip card" }, "expiration": { - "message": "Data de expirare" + "message": "Expirare" }, "securityCode": { - "message": "Cod de securitate (CVV)" + "message": "Cod de securitate (CVV/CVC)" }, "identityName": { - "message": "Identitate" + "message": "Nume identitate" }, "company": { "message": "Companie" @@ -74,52 +74,52 @@ "message": "Cod Numeric Personal" }, "passportNumber": { - "message": "Număr de pașaport" + "message": "Număr CI / Pașaport" }, "licenseNumber": { - "message": "Numărul licenței" + "message": "Număr licență" }, "email": { "message": "E-mail" }, "phone": { - "message": "Numar Telefon" + "message": "Telefon" }, "january": { - "message": "Ianuarie" + "message": "ianuarie" }, "february": { - "message": "Februarie" + "message": "februarie" }, "march": { - "message": "Martie" + "message": "martie" }, "april": { - "message": "Aprilie" + "message": "aprilie" }, "may": { - "message": "Mai" + "message": "mai" }, "june": { - "message": "Iunie" + "message": "iunie" }, "july": { - "message": "Iulie" + "message": "iulie" }, "august": { - "message": "August" + "message": "august" }, "september": { - "message": "Septembrie" + "message": "septembrie" }, "october": { - "message": "Octombrie" + "message": "octombrie" }, "november": { - "message": "Noiembrie" + "message": "noiembrie" }, "december": { - "message": "Decembrie" + "message": "decembrie" }, "title": { "message": "Titlu" @@ -134,7 +134,7 @@ "message": "Dra" }, "dr": { - "message": "Dr" + "message": "Dr." }, "expirationMonth": { "message": "Luna expirării" @@ -149,13 +149,13 @@ "message": "Dosar" }, "newCustomField": { - "message": "Câmp nou personalizat" + "message": "Câmp nou particularizat" }, "value": { "message": "Valoare" }, "dragToSort": { - "message": "Trageți pentru sortare" + "message": "Tragere pentru sortare" }, "cfTypeText": { "message": "Text" @@ -164,16 +164,16 @@ "message": "Ascuns" }, "cfTypeBoolean": { - "message": "Boolean" + "message": "Valoare logică" }, "remove": { - "message": "Ștergeți" + "message": "Ștergere" }, "unassigned": { "message": "Nealocat" }, "noneFolder": { - "message": "Niciun dosar", + "message": "Fără dosar", "description": "This is the folder for uncategorized items" }, "addFolder": { @@ -186,7 +186,7 @@ "message": "Domeniu de bază" }, "host": { - "message": "Domeniul sau adresa de bază", + "message": "Gazdă", "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." }, "exact": { @@ -200,11 +200,11 @@ "description": "A programming term, also known as 'RegEx'." }, "matchDetection": { - "message": "Detectare potrivire", + "message": "Detectare de potrivire", "description": "URI match detection for auto-fill." }, "defaultMatchDetection": { - "message": "Detectarea de potriviri implicite", + "message": "Detectare de potrivire implicită", "description": "Default URI match detection for auto-fill." }, "never": { @@ -214,17 +214,17 @@ "message": "Comutare vizibilitate" }, "toggleCollapse": { - "message": "Comută afișarea", + "message": "Restrângere / Extindere", "description": "Toggling an expand/collapse state." }, "generatePassword": { - "message": "Generează parolă" + "message": "Generare parolă" }, "checkPassword": { - "message": "Verifică dacă parola a fost dezvăluită." + "message": "Verificați dacă parola a fost dezvăluită." }, "passwordExposed": { - "message": "Această parolă a fost dezvăluită de $VALUE$ ori într-unul sau mai multe incident de securitate. Ar trebui să o schimbați.", + "message": "Această parolă a fost dezvăluită de $VALUE$ ori în breșe de date. Ar trebui să o schimbați.", "placeholders": { "value": { "content": "$1", @@ -233,7 +233,7 @@ } }, "passwordSafe": { - "message": "Aceasta parola nu a fost găsită în nici un incident de securitate cunoscută. Ar trebui să fie sigură pentru a fi utilizată." + "message": "Această parolă nu a fost găsită în nicio breșă de date cunoscută. Ar trebui să fie sigură de utilizat." }, "save": { "message": "Salvare" @@ -245,35 +245,35 @@ "message": "Anulat" }, "close": { - "message": "Închide" + "message": "Închidere" }, "delete": { - "message": "Șterge" + "message": "Ștergere" }, "favorite": { "message": "Favorit" }, "unfavorite": { - "message": "Scoate din favorite" + "message": "Scoatere din favorite" }, "edit": { "message": "Editare" }, "searchCollection": { - "message": "Caută în colecție" + "message": "Căutare în colecție" }, "searchFolder": { - "message": "Caută în Dosar" + "message": "Căutare în dosar" }, "searchFavorites": { - "message": "Caută în Favorite" + "message": "Căutare în favorite" }, "searchType": { - "message": "Caută în Tipuri", + "message": "Căutare în tipuri", "description": "Search item type" }, "searchVault": { - "message": "Caută în seif" + "message": "Căutare în seif" }, "allItems": { "message": "Toate elementele" @@ -285,7 +285,7 @@ "message": "Tipuri" }, "typeLogin": { - "message": "Logare" + "message": "Conectare" }, "typeCard": { "message": "Card" @@ -294,7 +294,7 @@ "message": "Identitate" }, "typeSecureNote": { - "message": "Notă securizată" + "message": "Notă protejată" }, "folders": { "message": "Dosare" @@ -333,10 +333,10 @@ "message": "Țară" }, "shared": { - "message": "Partajate" + "message": "Partajat" }, "attachments": { - "message": "Ataşamente" + "message": "Atașamente" }, "select": { "message": "Selectare" @@ -347,6 +347,9 @@ "editItem": { "message": "Editare articol" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "ex.", "description": "Short abbreviation for 'example'." @@ -355,10 +358,10 @@ "message": "Altele" }, "share": { - "message": "Distribuie" + "message": "Partajare" }, "valueCopied": { - "message": "$VALUE$ copiată", + "message": "$VALUE$ s-a copiat", "description": "Value has been copied to the clipboard.", "placeholders": { "value": { @@ -388,7 +391,7 @@ "description": "Copy credit card security code (CVV)" }, "copyUri": { - "message": "Copiere URL", + "message": "Copiere URI", "description": "Copy URI to clipboard" }, "myVault": { @@ -398,28 +401,28 @@ "message": "Seif" }, "shareSelected": { - "message": "Distribuie selecția" + "message": "Partajare selecție" }, "deleteSelected": { - "message": "Șterge selecția" + "message": "Ștergere selecție" }, "moveSelected": { - "message": "Mută selecția" + "message": "Mutare selecție" }, "selectAll": { - "message": "Selectează tot" + "message": "Selectare totală" }, "unselectAll": { - "message": "Deselectează tot" + "message": "Deselectare totală" }, "launch": { "message": "Lansare" }, "newAttachment": { - "message": "Adaugă un nou atașament" + "message": "Adăugare atașament nou" }, "deletedAttachment": { - "message": "Atașament șters" + "message": "Atașamentul s-a șters" }, "deleteAttachmentConfirmation": { "message": "Sigur doriți să ștergeți acest atașament?" @@ -431,13 +434,13 @@ "message": "Fișier" }, "selectFile": { - "message": "Alege un fișier." + "message": "Selectare fișier." }, "maxFileSize": { - "message": "Talia maximă a fișierului este 100 MB." + "message": "Mărimea maximă a fișierului este de 100 MB." }, "updateKey": { - "message": "Nu puteți utiliza această caracteristică până nu vă actualizați cheia de criptare." + "message": "Veți putea utiliza această caracteristică după ce veți actualiza cheia de criptare." }, "addedItem": { "message": "Articol adăugat" @@ -452,25 +455,25 @@ "message": "Articole partajate" }, "deleteItem": { - "message": "Șterge articolul" + "message": "Ștergere articol" }, "deleteFolder": { - "message": "Șterge dosarul" + "message": "Ștergere dosar" }, "deleteAttachment": { - "message": "Șterge atașamentul" + "message": "Ștergere atașament" }, "deleteItemConfirmation": { - "message": "Sigur doriți să ștergeți acest articol?" + "message": "Sigur doriți să trimiteți în coșul de reciclare?" }, "deletedItem": { - "message": "Articol trimis în trash" + "message": "Articolul a fost trimis în coșul de reciclare" }, "deletedItems": { - "message": "Articole trimise în trash" + "message": "Articolele au fost trimise în coșul de reciclare" }, "movedItems": { - "message": "Elemente mutate" + "message": "Articole mutate" }, "overwritePasswordConfirmation": { "message": "Sigur doriți să suprascrieți parola curentă?" @@ -509,7 +512,7 @@ "message": "Nu" }, "loginOrCreateNewAccount": { - "message": "Conectați-vă sau creați un cont nou pentru a vă accesa seiful securizat." + "message": "Autentificați-vă sau creați un cont nou pentru a accesa seiful dvs. securizat." }, "createAccount": { "message": "Creare cont" @@ -518,7 +521,7 @@ "message": "Conectare" }, "submit": { - "message": "Trimite" + "message": "Trimitere" }, "emailAddressDesc": { "message": "Vă veți folosi adresa de e-mail pentru a vă conecta." @@ -527,19 +530,19 @@ "message": "Numele dvs." }, "yourNameDesc": { - "message": "Cum să vă numim?" + "message": "Cum ar trebui să vă numim?" }, "masterPass": { - "message": "Parola principală" + "message": "Parolă principală" }, "masterPassDesc": { - "message": "Parola principală este parola pe care o utilizați pentru a accesa seiful dvs. Este foarte important să nu uitați această parolă. Nu există nici o modalitate de a recupera parola în cazul în care ați uitat-o." + "message": "Parola principală este parola pe care o utilizați pentru a vă accesa seiful. Este foarte important să nu uitați această parolă. Nu există nicio modalitate de a recupera parola în cazul în care ați uitat-o." }, "masterPassHintDesc": { - "message": "Un indiciu pentru parola principală vă poate ajuta să vă amintiți parola dacă o uitați." + "message": "Un indiciu pentru parola principală vă poate ajuta să v-o reamintiți dacă o uitați." }, "reTypeMasterPass": { - "message": "Reintroduceți parola principală" + "message": "Reintroducere parolă principală" }, "masterPassHint": { "message": "Indiciu pentru parola principală (opțional)" @@ -554,37 +557,37 @@ "message": "Indiciu parolă" }, "enterEmailToGetHint": { - "message": "Introduceți adresa de e-mail a contului pentru a primi indiciul parolei principale." + "message": "Adresa de e-mail a contului pentru primirea indiciului parolei principale." }, "getMasterPasswordHint": { - "message": "Obțineți indiciul parolei principale" + "message": "Obținere indiciu parolă principală" }, "emailRequired": { "message": "Adresa de e-mail este necesară." }, "invalidEmail": { - "message": "Adresa de e-mail greșită." + "message": "Adresă de e-mail greșită." }, "masterPassRequired": { "message": "Este necesară parola principală." }, "masterPassLength": { - "message": "Parola principală trebuie să aibă cel puțin 8 caractere." + "message": "Parola principală trebuie să conțină minimum 8 caractere." }, "masterPassDoesntMatch": { - "message": "Confirmarea parolei principale nu se potrivește." + "message": "Parola principală și confirmarea ei nu coincid!" }, "newAccountCreated": { - "message": "Contul a fost creat! Acum vă puteți autentifica." + "message": "Noul dvs. cont a fost creat! Acum vă puteți autentifica." }, "masterPassSent": { "message": "V-am trimis un e-mail cu indiciul parolei principale." }, "unexpectedError": { - "message": "A apărut o eroare neașteptată." + "message": "A survenit o eroare neașteptată." }, "emailAddress": { - "message": "Adresa de e-mail" + "message": "Adresă de e-mail" }, "yourVaultIsLocked": { "message": "Seiful dvs. este blocat. Verificați parola principală pentru a continua." @@ -593,7 +596,7 @@ "message": "Deblocare" }, "loggedInAsEmailOn": { - "message": "Autentificat ca $EMAIL$ în $HOSTNAME$.", + "message": "Autentificat ca $EMAIL$ pe $HOSTNAME$.", "placeholders": { "email": { "content": "$1", @@ -606,25 +609,25 @@ } }, "invalidMasterPassword": { - "message": "Parola principală este incorectă" + "message": "Parolă principală incorectă" }, "lockNow": { - "message": "Blocați acum" + "message": "Blocare acum" }, "noItemsInList": { - "message": "Nu există articole de listat." + "message": "Niciun articol de afișat." }, "noCollectionsInList": { - "message": "Nu există colecții de listat." + "message": "Nicio colecție de afișat." }, "noGroupsInList": { - "message": "Nu există grupuri de listat." + "message": "Niciun grup de afișat." }, "noUsersInList": { - "message": "Nu există utilizatori de listat." + "message": "Niciun utilizator de afișat." }, "noEventsInList": { - "message": "Nu există evenimente de listat." + "message": "Niciun eveniment de afișat." }, "newOrganization": { "message": "Organizație nouă" @@ -642,10 +645,10 @@ } }, "enterVerificationCodeApp": { - "message": "Introduceți codul de verificare de 6 cifre din aplicația de autentificare." + "message": "Introducere cod de verificare din 6 cifre din aplicația de autentificare." }, "enterVerificationCodeEmail": { - "message": "Introduceți codul de verificare de 6 cifre trimis prin e-mail la $EMAIL$.", + "message": "Introducere cod de verificare din 6 cifre care a fost trimis prin e-mail la $EMAIL$.", "placeholders": { "email": { "content": "$1", @@ -663,34 +666,34 @@ } }, "rememberMe": { - "message": "Memorizare" + "message": "Memorare autentificare" }, "sendVerificationCodeEmailAgain": { - "message": "Trimite din nou un e-mail cu codul de verificare" + "message": "Retrimitere e-mail cu codul de verificare" }, "useAnotherTwoStepMethod": { - "message": "Utilizați o altă metodă de autentificare în două etape" + "message": "Utilizare de metodă diferită de autentificare în două etape" }, "insertYubiKey": { - "message": "Introduceți YubiKey în portul USB al calculatorului, apoi atingeți butonul acestuia." + "message": "Introduceți YubiKey în portul USB al calculatorului apoi apăsați butonul acestuia." }, "insertU2f": { - "message": "Introduceți cheia de securitate în portul USB al computerului. Dacă are un buton, atingeți-l." + "message": "Introduceți cheia de securitate în portul USB al computerului. Dacă are un buton, apăsați-l." }, "loginUnavailable": { - "message": "Login indisponibil" + "message": "Conectare indisponibilă" }, "noTwoStepProviders": { - "message": "Acest cont are activată conectarea în doi pași, totuși, niciunul dintre furnizorii configurați în doi pași nu este acceptat de acest browser web." + "message": "Acest cont are activată autentificarea în două etape, dar niciunul dintre furnizorii configurați pentru aceasta nu este acceptat de acest browser web." }, "noTwoStepProviders2": { - "message": "Utilizați un browser web acceptat (cum ar fi Chrome) și/sau adăugați furnizori suplimentari care sunt mai bine acceptați în browserele web (cum ar fi o aplicație de autentificare)." + "message": "Utilizați un browser acceptat (cum ar fi Chrome) și/sau adăugați furnizori suplimentari mai bine susținuți de browserele web (cum ar fi o aplicație de autentificare)." }, "twoStepOptions": { - "message": "Opțiuni autentificare în două etape" + "message": "Opțiuni de autentificare în două etape" }, "recoveryCodeDesc": { - "message": "Ați pierdut accesul la toți furnizorii dvs. în doi pași? Utilizați codul de recuperare pentru a dezactiva toți furnizorii în doi pași din contul dvs." + "message": "Ați pierdut accesul la toți furnizorii de autentificare în două etape? Utilizați codul de recuperare pentru a dezactiva toți acești furnizori din contul dvs." }, "recoveryCodeTitle": { "message": "Cod de recuperare" @@ -699,21 +702,21 @@ "message": "Aplicație de autentificare" }, "authenticatorAppDesc": { - "message": "Utilizați o aplicație de autentificare (cum ar fi Authy sau Google Authenticator) pentru a genera coduri de verificare bazate pe timp.", + "message": "Utilizați o aplicație de autentificare (cum ar fi Authy sau Google Authenticator) pentru a genera codurile de verificare bazate pe timp.", "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." }, "yubiKeyTitle": { "message": "Cheie de securitate YubiKey OTP" }, "yubiKeyDesc": { - "message": "Folosiți un YubiKey pentru a vă accesa contul. Funcționează cu dispozitivele YubiKey serie 4, 5 și NEO." + "message": "Utilizați un YubiKey pentru a vă accesa contul. Funcționează cu dispozitivele YubiKey serie 4, 5 și NEO." }, "duoDesc": { - "message": "Verificați cu Duo Security utilizând aplicația Duo Mobile, SMS, apel sau cheia de securitate U2F.", + "message": "Verificați cu Duo Security utilizând aplicația Duo Mobile, SMS, apel telefonic sau cheia de securitate U2F.", "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." }, "duoOrganizationDesc": { - "message": "Verificați cu Duo Security pentru organizația dvs. utilizând aplicația Duo Mobile, SMS, apel sau cheia de securitate U2F.", + "message": "Verificați cu Duo Security pentru organizația dvs. utilizând aplicația Duo Mobile, SMS, apel telefonic sau cheia de securitate U2F.", "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." }, "u2fDesc": { @@ -726,7 +729,7 @@ "message": "E-mail" }, "emailDesc": { - "message": "Codurile de verificare vă vor fi trimise prin e-mail." + "message": "Codurile de verificare vor fi trimise prin e-mail." }, "continue": { "message": "Continuare" @@ -738,16 +741,16 @@ "message": "Organizații" }, "shareDesc": { - "message": "Alegeți o organizație cu care doriți să partajați acest element. Partajarea transferă proprietatea asupra articolului către organizație. Nu veți mai fi proprietarul direct al acestui articol după ce a fost distribuit." + "message": "Alegeți o organizație cu care doriți să partajați acest articol. Partajarea transferă proprietatea asupra articolului către organizație. Nu veți mai fi proprietarul direct al acestuia după ce a fost partajat." }, "shareManyDesc": { - "message": "Alegeți o organizație cu care doriți să partajați aceste elemente. Partajarea transferă proprietatea asupra articolelor către organizație. Nu veți mai fi proprietarul direct al acestor articole după ce au fost partajate." + "message": "Alegeți o organizație cu care doriți să partajați aceste articole. Partajarea transferă proprietatea asupra articolelor către organizație. Nu veți mai fi proprietarul direct al acestora după ce au fost partajate." }, "collectionsDesc": { - "message": "Editați colecțiile cu care este partajat acest element. Numai utilizatorii organizației cu acces la aceste colecții vor putea vedea acest element." + "message": "Editați colecțiile cu care este partajat acest articol. Numai utilizatorii organizației cu acces la aceste colecții vor putea vedea acest articol." }, "deleteSelectedItemsDesc": { - "message": "Ați selectat $COUNT$ (de) articol(e) pentru ștergere. Sigur doriți să ștergeți toate aceste elemente?", + "message": "Ați selectat $COUNT$ articole pentru ștergere. Sigur doriți să ștergeți toate aceste articole?", "placeholders": { "count": { "content": "$1", @@ -756,7 +759,7 @@ } }, "moveSelectedItemsDesc": { - "message": "Alegeți un dosar în care doriți să mutați $COUNT$ (de) articol(e) selectate.", + "message": "Alegeți un dosar în care doriți să mutați $COUNT$ articole selectate.", "placeholders": { "count": { "content": "$1", @@ -765,7 +768,7 @@ } }, "shareSelectedItemsCountDesc": { - "message": "Ați selectat $COUNT$ (de) articol(e). $SHAREABLE_COUNT$ articole sunt partajabile, $NONSHAREABLE_COUNT$ nu sunt.", + "message": "Ați selectat $COUNT$ articole. $SHAREABLE_COUNT$ articole sunt partajabile, $NONSHAREABLE_COUNT$ nu sunt.", "placeholders": { "count": { "content": "$1", @@ -785,16 +788,22 @@ "message": "Cod de verificare (TOTP)" }, "copyVerificationCode": { - "message": "Copiați codul de verificare" + "message": "Copiere cod de verificare" }, "warning": { "message": "Avertisment" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { - "message": "Acest export conține datele dvs. de seif în format necriptat. Fișierul exportat nu trebuie stocat sau trimis pe canale nesigure (cum ar fi e-mail). Ștergeți-l imediat după ce ați terminat de utilizat." + "message": "Acest export conține datele dvs. din seif în format necriptat. Nu ar trebui să stocați sau să trimiteți fișierul pe canale nesecurizate (cum ar fi e-mail). Ștergeți-l imediat după ce nu îl mai folosiți." + }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." }, "exportMasterPassword": { - "message": "Introduceți parola principală pentru a exporta datele din seif." + "message": "Introducere parolă principală pentru exportarea datelor seifului." }, "exportVault": { "message": "Export seif" @@ -812,14 +821,14 @@ "message": "Scor minim de complexitate" }, "minNumbers": { - "message": "Minimum de numere" + "message": "Minimum de cifre" }, "minSpecial": { "message": "Minimum de caractere speciale", "description": "Minimum Special Characters" }, "ambiguous": { - "message": "Evitați caracterele ambigue" + "message": "Se evită caracterele ambigue" }, "regeneratePassword": { "message": "Regenerare parolă" @@ -834,30 +843,30 @@ "message": "Separator de cuvinte" }, "capitalize": { - "message": "Majuscule inițiale", + "message": "Se folosesc majuscule inițiale", "description": "Make the first letter of a work uppercase." }, "includeNumber": { - "message": "Include cifre" + "message": "Se includ cifre" }, "passwordHistory": { "message": "Istoric parole" }, "noPasswordsInList": { - "message": "Nu există parole de afișat." + "message": "Nicio parolă de afișat." }, "clear": { "message": "Ștergere", "description": "To clear something out. example: To clear browser history." }, "accountUpdated": { - "message": "Cont Actualizat" + "message": "Contul s-a actualizat" }, "changeEmail": { - "message": "Schimbare e-mail" + "message": "Schimbare adresă e-mail" }, "newEmail": { - "message": "Noul e-mail" + "message": "E-mail nou" }, "code": { "message": "Cod" @@ -875,28 +884,28 @@ "message": "Continuând, veți fi deconectat de la sesiunea curentă, solicitându-vă să vă conectați din nou. Sesiunile active pe alte dispozitive pot continua să rămână active timp de până la o oră." }, "emailChanged": { - "message": "E-mail a fost modificat" + "message": "E-mailul a fost modificat" }, "logBackIn": { "message": "Vă rugăm să vă conectați din nou." }, "logBackInOthersToo": { - "message": "Vă rugăm să vă conectați din nou. Dacă utilizați alte aplicații Bitwarden, reconectați-vă din nou la ele de asemenea." + "message": "Vă rugăm să vă reconectați. Dacă utilizați și alte aplicații Bitwarden, reconectați-vă la ele de asemenea." }, "changeMasterPassword": { "message": "Schimbare parolă principală" }, "masterPasswordChanged": { - "message": "Parola principală schimbată" + "message": "Parolă principală schimbată" }, "currentMasterPass": { "message": "Parola principală curentă" }, "newMasterPass": { - "message": "Noua parolă principală" + "message": "Parolă principală nouă" }, "confirmNewMasterPass": { - "message": "Confirmați noua parolă principală" + "message": "Confirmare parolă principală nouă" }, "encKeySettings": { "message": "Setări cheie de criptare" @@ -908,7 +917,7 @@ "message": "Iterații KDF" }, "kdfIterationsDesc": { - "message": "Iterațiile KDF mai mari pot ajuta să vă protejați parola principală de a fi atacată prin forța brută de un atacator. Vă recomandăm o valoare de $VALUE$ sau mai mare.", + "message": "Un număr de iterații KDF mai mare vă poate ajuta la protejarea parolei principale de un atac prin forța brută de către un atacator. Vă recomandăm o valoare de $VALUE$ sau mai mare.", "placeholders": { "value": { "content": "$1", @@ -917,7 +926,7 @@ } }, "kdfIterationsWarning": { - "message": "Setând iterațiile KDF prea sus poate duce la performanțe slabe la conectarea (și deblocarea) Bitwarden pe dispozitive cu procesoare mai lente. Vă recomandăm să măriți valoarea în trepte de $INCREMENT$ și apoi să testați toate dispozitivele.", + "message": "Setarea iterațiilor KDF prea sus poate duce la performanțe slabe la conectarea (și deblocarea) Bitwarden pe dispozitive cu procesoare mai lente. Vă recomandăm să măriți valoarea în trepte de $INCREMENT$ și apoi să testați toate dispozitivele.", "placeholders": { "increment": { "content": "$1", @@ -929,7 +938,7 @@ "message": "Modificare KDF" }, "encKeySettingsChanged": { - "message": "Setări cheie de criptare modificate" + "message": "Setările cheii de criptare s-au modificat" }, "dangerZone": { "message": "Zonă periculoasă" @@ -938,43 +947,43 @@ "message": "Atenție, aceste acțiuni nu sunt reversibile!" }, "deauthorizeSessions": { - "message": "Revocați sesiunile" + "message": "Revocare sesiuni" }, "deauthorizeSessionsDesc": { - "message": "Vă faceți griji de conectarea cu contul dvs. pe alt dispozitiv? Urmați pașii de mai jos pentru a revoca computerele sau dispozitivele folosite anterior. Acest pas de securitate este recomandat dacă ați folosit anterior un computer public sau ați salvat accidental parola pe un dispozitiv care nu vă aparține. Acest pas va șterge, de asemenea, orice sesiune de conectare în doi pași stocată anterior." + "message": "Sunteți preocupat de faptul că v-ați conectat pe alt dispozitiv cu contul dvs.? Continuați în modul indicat mai jos pentru a revoca autorizarea computerelor sau dispozitivelor folosite anterior. Această măsură de securitate se recomandă dacă ați folosit anterior un computer public sau ați salvat neintenționat parola pe un dispozitiv care nu vă aparține. Aceasta va elimina, de asemenea, toate sesiunile de conectare în două etape stocate anterior." }, "deauthorizeSessionsWarning": { - "message": "Continuând, veți fi deconectat de asemeni de la sesiunea curentă, solicitându-vă să vă conectați din nou. De asemenea, vi se va solicita din nou conectarea în doi pași, dacă este activată. Sesiunile active pe alte dispozitive pot continua să rămână active timp de până la o oră." + "message": "Continuând, veți fi deconectat de asemenea de la sesiunea curentă, solicitându-vă să vă reconectați. De asemenea, vi se va solicita din nou autentificarea în două etape, dacă este activată. Sesiunile active pe alte dispozitive pot continua să rămână active timp de până la o oră." }, "sessionsDeauthorized": { "message": "Toate sesiunile au fost revocate" }, "purgeVault": { - "message": "Curăță seiful" + "message": "Curățare seif" }, "purgedOrganizationVault": { "message": "Seiful organizației a fost curățat." }, "purgeVaultDesc": { - "message": "Continuați mai jos pentru a șterge toate articolele și dosarele seifului dvs. Elementele care aparțin unei organizații cu care partajați nu vor fi șterse." + "message": "Continuați în modul indicat mai jos pentru a șterge toate articolele și dosarele din seiful dvs. Articolele care aparțin unei organizații din care sunteți membru nu vor fi șterse." }, "purgeOrgVaultDesc": { - "message": "Continuați mai jos pentru a șterge toate articolele din seiful organizației." + "message": "Continuați în modul indicat mai jos pentru a șterge toate articolele din seiful organizației." }, "purgeVaultWarning": { - "message": "Curățarea seifului dvs. este permanentă. Nu poate fi anulată." + "message": "Curățarea seifului dvs. este definitivă. Nu poate fi anulată." }, "vaultPurged": { "message": "Seiful dvs. a fost curățat." }, "deleteAccount": { - "message": "Șterge Contul" + "message": "Ștergere cont" }, "deleteAccountDesc": { - "message": "Continuați mai jos pentru a vă șterge contul și toate datele asociate." + "message": "Continuați în modul indicat mai jos pentru a vă șterge contul și toate datele asociate." }, "deleteAccountWarning": { - "message": "Ștergerea seifului dvs. este permanentă. Nu poate fi anulată." + "message": "Ștergerea contului dvs. este definitivă. Nu poate fi anulată." }, "accountDeleted": { "message": "Contul a fost șters" @@ -989,25 +998,25 @@ "message": "Unelte" }, "importData": { - "message": "Importă date" + "message": "Import de date" }, "importSuccess": { "message": "Datele au fost importate cu succes în seiful dvs." }, "importFormatError": { - "message": "Datele nu au formatul corect. Verificați vă rog fișierul de import și încercați din nou." + "message": "Datele nu au formatul corect. Vă rugăm să verificați fișierul de import și încercați din nou." }, "importNothingError": { - "message": "Nimic nu a fost importat." + "message": "Nu s-a importat nimic." }, "selectFormat": { - "message": "Selectați formatul fișierului de import" + "message": "Alegeți din listă formatul fișierului de import" }, "selectImportFile": { - "message": "Selectați fișierul de import" + "message": "Alegeți fișierul de import" }, "orCopyPasteFileContents": { - "message": "sau copiați/lipiți conținutul fișierului de import" + "message": " sau copiați/lipiți conținutul fișierului de import" }, "instructionsFor": { "message": "Instrucțiuni $NAME$", @@ -1023,36 +1032,36 @@ "message": "Opțiuni" }, "optionsDesc": { - "message": "Personalizați-vă experiența seifului web." + "message": "Personalizați-vă experiența în seiful web." }, "optionsUpdated": { - "message": "Opțiuni actualizate" + "message": "Opțiunile s-au actualizat" }, "language": { "message": "Limbă" }, "languageDesc": { - "message": "Schimbați limba utilizată de seiful web." + "message": "Alegeți limba în care folosiți seiful web." }, "disableIcons": { - "message": "Dezactivați iconurile site-urilor" + "message": "Dezactivare iconuri sait" }, "disableIconsDesc": { - "message": "Iconurile oferă o imagine recognoscibilă alături de fiecare element de conectare din seiful dvs." + "message": "Iconurile saiturilor oferă o imagine identificabilă lângă fiecare element de conectare din seiful dvs." }, "enableGravatars": { - "message": "Activați Gravatar", + "message": "Activare Gravatars", "description": "'Gravatar' is the name of a service. See www.gravatar.com" }, "enableGravatarsDesc": { - "message": "Utilizați imagini avatar încărcate de pe gravatar.com." + "message": "Folosește imagini avatar încărcate de pe gravatar.com." }, "enableFullWidth": { - "message": "Activați aspectul cu lățime completă", + "message": "Activare aspect seif cu lățimea completă", "description": "Allows scaling the web vault UI's width" }, "enableFullWidthDesc": { - "message": "Permiteți seiful web să extindă întreaga lățime a ferestrei browserului." + "message": "Permite seifului web să se extindă pe toată lățimea ferestrei browserului." }, "default": { "message": "Implicit" @@ -1061,13 +1070,13 @@ "message": "Reguli de domeniu" }, "domainRulesDesc": { - "message": "Dacă aveți aceeași autentificare în mai multe domenii diferite ale site-ului, puteți marca site-ul ca \"echivalent\". Domeniile \"globale\" sunt deja create pentru dvs. de Bitwarden." + "message": "Dacă aveți aceleași date de autentificare pe mai multe domenii web diferite, puteți marca saitul web ca \"echivalent\". Domeniile \"globale\" sunt cele create deja de Bitwarden pentru dvs." }, "globalEqDomains": { - "message": "Domenii Globale Echivalente" + "message": "Domenii globale echivalente" }, "customEqDomains": { - "message": "Domenii Personalizate Echivalente" + "message": "Domenii personalizate echivalente" }, "exclude": { "message": "Excludere" @@ -1082,7 +1091,7 @@ "message": "Domeniu nou personalizat" }, "newCustomDomainDesc": { - "message": "Introduceți o listă de domenii separate de virgulă. Numai \"baza\" domeniilor este permisă. Nu intrați sub-domenii. De exemplu, introduceți \"google.com\" în loc de \"www.google.com\". Puteți introduce de asemenea \"androidapp://package.name\" pentru a asocia o aplicație Android cu alte domenii de site-uri web." + "message": "Introduceți o listă de domenii separate prin virgulă. Sunt permise doar domeniile de \"bază\". Nu introduceți subdomenii. De exemplu, introduceți \"google.com\" în loc de \"www.google.com\". Puteți introduce și \"androidapp://package.name\" pentru a asocia o aplicație Android cu alte domenii de site-uri web." }, "customDomainX": { "message": "Domeniu personalizat $INDEX$", @@ -1094,22 +1103,22 @@ } }, "domainsUpdated": { - "message": "Domenii actualizate" + "message": "Domenii s-au actualizat" }, "twoStepLogin": { - "message": "Autentificare în doi pași" + "message": "Autentificare în două etape" }, "twoStepLoginDesc": { - "message": "Securizați-vă contul solicitând un pas suplimentar la conectare." + "message": "Vă securizează contul solicitând un pas suplimentar la conectare." }, "twoStepLoginOrganizationDesc": { - "message": "Necesită conectarea în doi pași pentru utilizatorii organizației dvs. prin configurarea furnizorilor la nivel de organizație." + "message": "Necesită autentificarea în două etape pentru utilizatorii organizației dvs. prin configurarea furnizorilor la nivel de organizație." }, "twoStepLoginRecoveryWarning": { - "message": "Activarea conectării în doi pași vă poate bloca definitiv din contul Bitwarden. Un cod de recuperare vă permite să vă accesați contul când nu mai puteți utiliza furnizorul dvs. normal de conectare în doi pași (ex. vă pierdeți dispozitivul). Asistența Bitwarden nu vă va putea ajuta dacă pierdeți accesul la contul dvs. Vă recomandăm să notați sau să imprimați codul de recuperare și să îl păstrați într-un loc sigur." + "message": "Activarea autentificării în două etape vă poate bloca definitiv din contul Bitwarden. Un cod de recuperare vă permite să vă accesați contul când nu mai puteți utiliza furnizorul dvs. normal de autentificare în două etape (ex. vă pierdeți dispozitivul). Asistența Bitwarden nu vă va putea ajuta dacă pierdeți accesul la contul dvs. Vă recomandăm să notați sau să imprimați codul de recuperare și să îl păstrați într-un loc sigur." }, "viewRecoveryCode": { - "message": "Vedeți codul de recuperare" + "message": "Afișare cod de recuperare" }, "providers": { "message": "Furnizori", @@ -1129,16 +1138,16 @@ "message": "Membru Premium" }, "premiumRequired": { - "message": "Este necesar Premium" + "message": "Este necesară versiunea Premium" }, "premiumRequiredDesc": { - "message": "Un abonament premium este necesar pentru a utiliza această caracteristică." + "message": "Este necesar statutul de membru Premium pentru a utiliza această caracteristică." }, "youHavePremiumAccess": { "message": "Aveți acces premium" }, "alreadyPremiumFromOrg": { - "message": "Aveți deja acces la funcții premium deoarece sunteți membrul unei organizații." + "message": "Aveți deja acces la funcții premium datorită organizației la care sunteți membru." }, "manage": { "message": "Gestionare" @@ -1147,19 +1156,19 @@ "message": "Dezactivare" }, "twoStepLoginProviderEnabled": { - "message": "Acest furnizor de conectare în doi pași este activat în contul dvs." + "message": "Acest furnizor de autentificare în două etape este activat în contul dvs." }, "twoStepLoginAuthDesc": { - "message": "Introduceți parola principală pentru a modifica setările de conectare în doi pași." + "message": "Introduceți parola principală pentru a modifica setările de autentificare în două etape." }, "twoStepAuthenticatorDesc": { - "message": "Urmați acești pași pentru a configura conectarea în doi pași cu o aplicație de autentificare:" + "message": "Urmați acești pași pentru a configura autentificarea în două etape cu o aplicație de autentificare:" }, "twoStepAuthenticatorDownloadApp": { - "message": "Descărcați o aplicație de autentificare în doi pași" + "message": "Descărcați o aplicație de autentificare în două etape" }, "twoStepAuthenticatorNeedApp": { - "message": "Aveți nevoie de o aplicație de autentificare în doi pași? Descărcați una dintre următoarele" + "message": "Aveți nevoie de o aplicație de autentificare în două etape? Descărcați una dintre următoarele" }, "iosDevices": { "message": "Dispozitive iOS" @@ -1171,10 +1180,10 @@ "message": "Dispozitive Windows" }, "twoStepAuthenticatorAppsRecommended": { - "message": "Aceste aplicații sunt recomandate, dar puteți utiliza și alte aplicații de validare." + "message": "Aceste aplicații sunt recomandate, cu toate acestea, vor funcționa și alte aplicații de autentificare." }, "twoStepAuthenticatorScanCode": { - "message": "Scanați acest cod QR cu aplicația de validare" + "message": "Scanați acest cod QR cu aplicația dvs. de autentificare" }, "key": { "message": "Cheie" @@ -1186,19 +1195,19 @@ "message": "Dacă trebuie să-l adăugați la un alt dispozitiv, mai jos este codul QR (sau cheia) cerut de aplicația dvs. de autentificare." }, "twoStepDisableDesc": { - "message": "Sigur doriți să dezactivați acest furnizor de conectare în doi pași?" + "message": "Sigur doriți să dezactivați acest furnizor de autentificare în două etape?" }, "twoStepDisabled": { - "message": "Furnizorul de conectare în doi pași este dezactivat." + "message": "Furnizorul de autentificare în două etape a fost dezactivat." }, "twoFactorYubikeyAdd": { - "message": "Adăugați-vă un nou YubiKey în cont" + "message": "Etape de urmat pentru a vă adăuga o nouă cheie in cont." }, "twoFactorYubikeyPlugIn": { "message": "Conectați YubiKey la portul USB al computerului." }, "twoFactorYubikeySelectKey": { - "message": "Selectați primul câmp gol de intrare YubiKey mai jos." + "message": "Alegeți primul câmp de intrare YubiKey gol de mai jos." }, "twoFactorYubikeyTouchButton": { "message": "Atingeți butonul YubiKey." @@ -1207,13 +1216,13 @@ "message": "Salvați formularul." }, "twoFactorYubikeyWarning": { - "message": "Datorită limitării platformei, YubiKeys nu poate fi utilizat pe toate aplicațiile Bitwarden. Ar trebui să activați un alt furnizor de conectare în doi pași pentru a vă accesa contul atunci când YubiKeys nu se poate utiliza. Platforme acceptate:" + "message": "Drept consecință a limitărilor platformei, YubiKey-urile nu se pot utiliza pe toate aplicațiile Bitwarden. Ar trebui să activați un alt furnizor de conectare în două etape pentru a vă accesa contul atunci când YubiKey-urile nu se pot utiliza. Platforme acceptate:" }, "twoFactorYubikeySupportUsb": { - "message": "Seif web, aplicația desktop, CLI, și toate extensiile de browser de pe un aparat cu un port USB care poate accepta YubiKey." + "message": "Seiful web, aplicația desktop, CLI (Command-Line Interface), și toate extensiile de browser de pe un dispozitiv cu un port USB care poate accepta YubiKey." }, "twoFactorYubikeySupportMobile": { - "message": "Aplicații mobile pe un aparat cu capacități NFC sau un port de date care poate accepta YubiKey." + "message": "Aplicații mobile pe un dispozitiv cu tehnologia NFC integrată sau un port de date care poate accepta YubiKey." }, "yubikeyX": { "message": "YubiKey $INDEX$", @@ -1240,40 +1249,40 @@ "message": "Una dintre cheile mele acceptă NFC." }, "twoFactorYubikeySupportsNfcDesc": { - "message": "Dacă unul din YubiKeys-urile dvs. acceptă NFC (cum ar fi un YubiKey NEO), vi se va solicita pe dispozitivele mobile ori de câte ori este detectată disponibilitatea NFC." + "message": "Dacă unul din YubiKey-urile dvs. suportă NFC (cum ar fi un YubiKey NEO), vi se va solicita pe dispozitivele mobile ori de câte ori este detectată disponibilitatea NFC." }, "yubikeysUpdated": { - "message": "YubiKeys actualizat" + "message": "YubiKey-urile s-au actualizat" }, "disableAllKeys": { - "message": "Dezactivează toate cheile" + "message": "Dezactivare a tuturor cheilor" }, "twoFactorDuoDesc": { "message": "Introduceți informațiile despre aplicația Bitwarden din panoul dvs. Duo Admin." }, "twoFactorDuoIntegrationKey": { - "message": "Cheie DUO de integrare" + "message": "Cheie de integrare" }, "twoFactorDuoSecretKey": { - "message": "Cheie DUO secretă" + "message": "Cheie secretă" }, "twoFactorDuoApiHostname": { - "message": "Numele gazdei API DUO" + "message": "Numele gazdei API" }, "twoFactorEmailDesc": { - "message": "Urmați acești pași pentru a configura conectarea în doi pași cu e-mail:" + "message": "Urmați acești pași pentru a configura conectarea în două etape cu e-mail:" }, "twoFactorEmailEnterEmail": { - "message": "Introduceți adresa de e-mail la care doriți să o primiți coduri de verificare" + "message": "Introducere de adresă de e-mail la care doriți să primiți codurile de verificare" }, "twoFactorEmailEnterCode": { - "message": "Introduceți codul de verificare din 6 cifre din e-mail" + "message": "Introducere cod de verificare din 6 cifre din e-mail" }, "sendEmail": { - "message": "Trimite e-mail" + "message": "Trimitere e-mail" }, "twoFactorU2fAdd": { - "message": "Adăugați o cheie de securitate FIDO U2F în contul dvs." + "message": "Adăugare de cheie de securitate FIDO U2F în contul dvs." }, "removeU2fConfirmation": { "message": "Sigur doriți să eliminați această cheie de securitate?" @@ -1297,25 +1306,25 @@ "message": "Salvați formularul." }, "twoFactorU2fWarning": { - "message": "Datorită limitării platformei, FIDO U2F nu poate fi utilizat pe toate aplicațiile Bitwarden. Ar trebui să activați un alt furnizor de conectare în doi pași pentru a vă accesa contul atunci când FIDO U2F nu se poate utiliza. Platforme acceptate:" + "message": "Drept consecință a limitărilor platformei, FIDO U2F nu poate fi utilizat pe toate aplicațiile Bitwarden. Ar trebui să activați un alt furnizor de conectare în două etape pentru a vă accesa contul atunci când FIDO U2F nu se poate utiliza. Platforme acceptate:" }, "twoFactorU2fSupportWeb": { "message": "Seiful web și extensiile de browser pe un desktop/laptop cu un browser activat U2F (Chrome, Opera, Vivaldi, sau Firefox cu FIDO U2F activat)." }, "twoFactorU2fWaiting": { - "message": "Așteptând să atingeți butonul de pe cheia de securitate" + "message": "Vă așteptăm ca să atingeți butonul de pe cheia de securitate" }, "twoFactorU2fClickSave": { - "message": "Clicați butonul \"Salvare\" mai jos pentru a activa cheia de securitate de conectarea în doi pași." + "message": "Clicați pe butonul \"Salvare\" mai jos pentru a activa cheia de securitate de conectarea în două etape." }, "twoFactorU2fProblemReadingTryAgain": { "message": "A apărut o problemă la citirea cheii de securitate. Încercați din nou." }, "twoFactorRecoveryYourCode": { - "message": "Codul dvs. de recuperare autentificare în doi pași Bitwarden" + "message": "Codul dvs. Bitwarden de recuperare a autentificării în două etape" }, "twoFactorRecoveryNoCode": { - "message": "Nu ați activat încă niciun furnizor de conectare în doi pași. După ce ați activat un furnizor de conectare în doi pași, puteți reveni aici pentru codul de recuperare." + "message": "Nu ați activat încă niciun furnizor de conectare în două etape. După ce activați un furnizor de conectare în două etape, puteți reveni aici pentru codul de recuperare." }, "printCode": { "message": "Imprimare cod", @@ -1325,16 +1334,16 @@ "message": "Rapoarte" }, "unsecuredWebsitesReport": { - "message": "Raport site-uri nesecurizate" + "message": "Raport de saituri nesecurizate" }, "unsecuredWebsitesReportDesc": { - "message": "Utilizarea site-urilor nesecurizate cu schema http:// poate fi periculoasă. Dacă site-ul permite, ar trebui să îl accesați întotdeauna utilizând schema https://, astfel încât conexiunea dvs. să fie criptată." + "message": "Utilizarea saiturilor nesecurizate cu schema http:// poate fi periculoasă. Dacă saitul permite, ar trebui să îl accesați întotdeauna utilizând schema https://, astfel încât conexiunea dvs. să fie criptată." }, "unsecuredWebsitesFound": { - "message": "Site-uri nesecurizate găsite" + "message": "S-au găsit saituri web nesecurizate" }, "unsecuredWebsitesFoundDesc": { - "message": "Am găsit $COUNT$ articole în seiful dvs. cu URI-uri nesecurizate. Ar trebui să schimbați schema URl-urilor lor în https:// dacă site-ul o permite.", + "message": "Am găsit $COUNT$ articole în seiful dvs. cu URI-uri nesecurizate. Ar trebui să schimbați schema URl-urilor lor în https:// dacă saitul o permite.", "placeholders": { "count": { "content": "$1", @@ -1349,10 +1358,10 @@ "message": "Raport 2FA inactiv" }, "inactive2faReportDesc": { - "message": "Autentificarea cu doi factori (2FA) este o setare importantă de securitate care vă ajută să vă securizați conturile. Dacă site-ul îl oferă, ar trebui să activați întotdeauna autentificarea cu doi factori." + "message": "Autentificarea cu doi factori (2FA) este o setare importantă de securitate care vă ajută să vă securizați conturile. Dacă saitul îl oferă, ar trebui să activați întotdeauna autentificarea cu doi factori." }, "inactive2faFound": { - "message": "Conectări fără 2FA găsite" + "message": "S-au găsit conectări fără 2FA" }, "inactive2faFoundDesc": { "message": "Am găsit $COUNT$ sait(uri) în seiful dvs., care probabil nu au fost configurate cu autentificarea cu doi factori (conform twofactorauth.org). Pentru a proteja în continuare aceste conturi, ar trebui să activați autentificarea cu doi factori.", @@ -1364,22 +1373,22 @@ } }, "noInactive2fa": { - "message": "Nu au fost găsite saituri în seiful dvs. cu o configurație lipsă de autentificare cu doi factori." + "message": "Nu au fost găsite saituri în seiful dvs. cu o configurație de autentificare cu doi factori lipsă." }, "instructions": { "message": "Instrucțiuni" }, "exposedPasswordsReport": { - "message": "Raport de parole expuse" + "message": "Raport de parole dezvăluite" }, "exposedPasswordsReportDesc": { - "message": "Parolele expuse sunt parole care au fost descoperite în breșe cunoscute de date care au fost lansate public sau vândute pe dark web de către hackeri." + "message": "Parolele dezvăluite sunt parole care au fost descoperite în scurgeri cunoscute de date care au fost lansate public sau vândute pe dark web de către hackeri." }, "exposedPasswordsFound": { - "message": "S-au găsit parole expuse" + "message": "S-au găsit parole dezvăluite" }, "exposedPasswordsFoundDesc": { - "message": "Am găsit $COUNT$ articole în seiful dvs. care folosesc parole expuse în breșe de date cunoscute. Ar trebui să le schimbați pentru a utiliza o nouă parolă.", + "message": "Am găsit $COUNT$ articole în seiful dvs. care folosesc parole dezvăluite în scurgeri de date cunoscute. Ar trebui să le schimbați pentru a utiliza o parolă nouă.", "placeholders": { "count": { "content": "$1", @@ -1388,13 +1397,13 @@ } }, "noExposedPasswords": { - "message": "Niciun articol din seiful dvs. nu are parole expuse în breșe de date cunoscute." + "message": "Niciun articol din seiful dvs. nu are parole dezvăluite în scurgeri de date cunoscute." }, "checkExposedPasswords": { - "message": "Verifică parolele compromise" + "message": "Verificați parolele dezvăluite" }, "exposedXTimes": { - "message": "Expusă $COUNT$ dată/ori", + "message": "Dezvăluită de $COUNT$ ori", "placeholders": { "count": { "content": "$1", @@ -1412,7 +1421,7 @@ "message": "S-au găsit parole slabe" }, "weakPasswordsFoundDesc": { - "message": "Am găsit $COUNT$ cu parole slabe articole în seiful dvs. Ar trebui să le actualizați ca să folosească parole puternice.", + "message": "Am găsit $COUNT$ articole cu parole slabe articole în seiful dvs. Ar trebui să le actualizați ca să folosească parole puternice.", "placeholders": { "count": { "content": "$1", @@ -1433,7 +1442,7 @@ "message": "S-au găsit parole refolosite" }, "reusedPasswordsFoundDesc": { - "message": "Am găsit $COUNT$ parolă(e) reutilizată(e) în seiful dvs. Ar trebui să le schimbați la o valoare unică.", + "message": "Am găsit $COUNT$ parole reutilizate în seiful dvs. Ar trebui să le schimbați la o valoare unică.", "placeholders": { "count": { "content": "$1", @@ -1445,7 +1454,7 @@ "message": "Nicio dată de conectare din seiful dvs. nu conține parole reutilizate." }, "reusedXTimes": { - "message": "Refolosit $COUNT$ dată/ori", + "message": "Refolosit $COUNT$ ori", "placeholders": { "count": { "content": "$1", @@ -1457,13 +1466,13 @@ "message": "Raport de scurgere de date" }, "breachDesc": { - "message": "O \"scurgere\" este un incident unde datele unui site au fost accesate ilegal de hackeri apoi expuse public. Verificați tipul de date compromise (e-mail, parole, carduri de credit etc.) și luați măsura adecvată, cum ar fi schimbarea parolelor." + "message": "O \"scurgere\" este un incident unde datele unui sait au fost accesate ilegal de hackeri apoi dezvăluite public. Verificați tipul de date compromise (e-mail, parole, carduri de credit etc.) și luați măsura adecvată, cum ar fi schimbarea parolelor." }, "breachCheckUsernameEmail": { - "message": "Verificați orice nume de utilizator sau adresă e-mail pe care o folosești." + "message": "Verificați orice nume de utilizator sau adresă e-mail pe care o folosiți." }, "checkBreaches": { - "message": "Verificați scurgerile" + "message": "Verificare scurgeri" }, "breachUsernameNotFound": { "message": "$USERNAME$ nu a fost găsit în nicio scurgere de date cunoscută.", @@ -1479,7 +1488,7 @@ "description": "ex. Good News, No Breached Accounts Found!" }, "breachUsernameFound": { - "message": "$USERNAME$ a fost găsit în $COUNT$ diferită(e) scurgere(i) de date online.", + "message": "$USERNAME$ a fost găsit în $COUNT$ diferite scurgeri de date online.", "placeholders": { "username": { "content": "$1", @@ -1498,16 +1507,16 @@ "message": "Date compromise" }, "website": { - "message": "Site web" + "message": "Sait web" }, "affectedUsers": { "message": "Utilizatori afectați" }, "breachOccurred": { - "message": "Scurgere produsă pe" + "message": "Scurgere produsă" }, "breachReported": { - "message": "Scurgere raportată pe" + "message": "Scurgere raportată" }, "reportError": { "message": "A apărut o eroare la încărcarea raportului. Încercați din nou" @@ -1524,7 +1533,7 @@ "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." }, "addCredit": { - "message": "Adaugă credit", + "message": "Adăugare credit", "description": "Add more credit to your account's balance." }, "amount": { @@ -1545,19 +1554,19 @@ "description": "Another way of saying \"Get a premium membership\"" }, "premiumUpdated": { - "message": "Ați făcut upgrade la premium." + "message": "Ați actualizat la Premium." }, "premiumUpgradeUnlockFeatures": { - "message": "Faceți upgrade contului dvs. la un abonament premium și deblocați câteva funcții suplimentare excelente." + "message": "Actualizați-vă contul la un abonament premium și deblocați câteva funcții suplimentare excelente." }, "premiumSignUpStorage": { - "message": "1 GB stocare criptată pentru pentru fișiere atașate." + "message": "1 GB stocare criptată pentru fișiere atașate." }, "premiumSignUpTwoStep": { - "message": "Opțiuni suplimentare de conectare în doi pași, cum ar fi YubiKey, FIDO U2F și Duo." + "message": "Opțiuni suplimentare de conectare în două etape, cum ar fi YubiKey, FIDO U2F și Duo." }, "premiumSignUpReports": { - "message": "Rapoarte de igiena parolelor, sănătatea contului și scurgerile de date pentru păstrarea siguranței seifului." + "message": "Rapoarte privind igiena parolelor, sănătatea contului și breșele de date pentru a vă păstra seiful în siguranță." }, "premiumSignUpTotp": { "message": "Generator de cod de verificare TOTP (2FA) pentru autentificări în seiful dvs." @@ -1581,7 +1590,7 @@ "message": "Add-on-uri" }, "premiumAccess": { - "message": "Acces premium" + "message": "Acces Premium" }, "premiumAccessDesc": { "message": "Puteți adăuga acces premium tuturor membrilor organizației dvs. pentru $PRICE$ /$INTERVAL$.", @@ -1648,7 +1657,7 @@ } }, "paymentChargedWithTrial": { - "message": "Planul dvs. vine cu o încercare gratuită de 7 zile. Metoda dvs. de plată nu va fi facturată până la sfârșitul perioadei de încercare. Facturarea se va face recurent la fiecare $INTERVAL$. Puteți anula oricând.", + "message": "Planul dvs. vine cu o încercare gratuită de 7 zile. Metoda dvs. de plată nu va fi facturată până la sfârșitul perioadei de încercare. Facturarea se va face recurent în fiecare $INTERVAL$. Puteți anula oricând.", "placeholders": { "interval": { "content": "$1", @@ -1659,11 +1668,14 @@ "paymentInformation": { "message": "Informații de plată" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Card de credit" }, "paypalClickSubmit": { - "message": "Clicați pe butonul PayPal pentru a vă conecta la contul PayPal, apoi clicați pe butonul Trimite mai jos pentru a continua." + "message": "Clicați pe butonul PayPal pentru a vă conecta la contul PayPal, apoi clicați pe butonul Trimitere mai jos pentru a continua." }, "cancelSubscription": { "message": "Anulare abonament" @@ -1678,7 +1690,7 @@ "message": "Abonamentul a fost marcat pentru anulare la sfârșitul perioadei curente de facturare." }, "reinstateSubscription": { - "message": "Restabiliți abonamentul" + "message": "Restabilire abonament" }, "reinstateConfirmation": { "message": "Sigur doriți să eliminați cererea de anulare în așteptare și să vă restabiliți abonamentul?" @@ -1687,7 +1699,7 @@ "message": "Abonamentul a fost restabilit." }, "cancelConfirmation": { - "message": "Sunteți sigur că doriți să anulați? Veți pierde accesul la toate funcționalitățile acestui abonament la sfârșitul acestui ciclu de facturare." + "message": "Sigur doriți să anulați? Veți pierde accesul la toate funcționalitățile acestui abonament la sfârșitul acestui ciclu de facturare." }, "canceledSubscription": { "message": "Abonamentul a fost anulat." @@ -1705,25 +1717,25 @@ "message": "Detalii" }, "downloadLicense": { - "message": "Descărcați licența" + "message": "Descărcare licență" }, "updateLicense": { - "message": "Actualizați licența" + "message": "Actualizare licență" }, "updatedLicense": { - "message": "Licență actualizată" + "message": "Licența s-a actualizat" }, "manageSubscription": { - "message": "Gestionați abonamentul" + "message": "Gestionare abonament" }, "storage": { "message": "Stocare" }, "addStorage": { - "message": "Adăugați stocare" + "message": "Adăugare stocare" }, "removeStorage": { - "message": "Eliminați stocare" + "message": "Eliminare stocare" }, "subscriptionStorage": { "message": "Abonamentul dvs. are un total de $MAX_STORAGE$ GB de stocare criptată de fișiere. În prezent folosiți $USED_STORAGE$.", @@ -1739,22 +1751,22 @@ } }, "paymentMethod": { - "message": "Metodă de plată" + "message": "Metoda de plată" }, "noPaymentMethod": { - "message": "Nu există nicio metodă de plată înregistrată." + "message": "Nicio metodă de plată în fișier." }, "addPaymentMethod": { - "message": "Adăugați metoda de plată" + "message": "Adăugare metodă de plată" }, "changePaymentMethod": { - "message": "Schimbați metoda de plată" + "message": "Schimbare metodă de plată" }, "invoices": { "message": "Facturi" }, "noInvoices": { - "message": "Nici o factură." + "message": "Nicio factură." }, "paid": { "message": "Plătit", @@ -1769,7 +1781,7 @@ "description": "Payment/credit transactions." }, "noTransactions": { - "message": "Fără tranzacții." + "message": "Nicio tranzacție." }, "chargeNoun": { "message": "Debit", @@ -1780,7 +1792,7 @@ "description": "Noun. A refunded payment that was charged." }, "chargesStatement": { - "message": "Cheltuielile în contul dvs. vor apărea ca $STATEMENT_NAME$.", + "message": "Orice plați în contul dvs. vor apărea ca $STATEMENT_NAME$.", "placeholders": { "statement_name": { "content": "$1", @@ -1795,10 +1807,10 @@ "message": "GB de stocare de eliminat" }, "storageAddNote": { - "message": "Adăugarea stocării va duce la ajustări ale totalurilor de facturare și la taxarea imediată conform metodei dvs. de facturare. Prima taxă va fi aplicată proporțional la restul ciclului curent de facturare." + "message": "Adăugarea stocării va duce la ajustări ale totalelor de facturare și la facturarea imediată conform metodei dvs. de facturare. Prima facturare va fi aplicată proporțional la restul ciclului curent de facturare." }, "storageRemoveNote": { - "message": "Eliminarea stocării va duce la ajustări ale totalurilor dvs. de facturare, care vor fi proporționate ca credite pentru următoarea taxă de facturare." + "message": "Eliminarea stocării va duce la ajustări ale totalelor dvs. de facturare, care vor fi proporționate ca credite pentru următoarea facturare." }, "adjustedStorage": { "message": "$AMOUNT$ GB de spațiu de stocare ajustat.", @@ -1810,13 +1822,13 @@ } }, "contactSupport": { - "message": "Contactați asistența pentru clienți" + "message": "Contactare asistență pentru clienți" }, "updatedPaymentMethod": { - "message": "Metodă de plată actualizată." + "message": "Metoda de plată s-a actualizat." }, "purchasePremium": { - "message": "Cumpărați Premium" + "message": "Achiziționare abonament Premium" }, "licenseFile": { "message": "Fișier de licență" @@ -1831,16 +1843,16 @@ } }, "uploadLicenseFilePremium": { - "message": "Pentru un upgrade al contului la un abonament premium, trebuie să încărcați un fișier de licență valid." + "message": "Pentru a vă actualiza contul la statutul de membru Premium, trebuie să încărcați un fișier de licență valid." }, "uploadLicenseFileOrg": { - "message": "Pentru a crea o organizație găzduită locală, trebuie să încărcați un fișier de licență valid." + "message": "Pentru a crea o organizație găzduită local, trebuie să încărcați un fișier de licență valid." }, "accountEmailMustBeVerified": { "message": "Adresa de e-mail a contului dvs. trebuie verificată." }, "newOrganizationDesc": { - "message": "Organizațiile vă permit să vă partajați părți din seif cu alții, precum și să gestionați utilizatorii asociați pentru o anumită entitate, cum ar fi o familie, echipă mică sau companie mare." + "message": "Organizațiile vă permit să vă partajați părți din seif cu ceilalți, precum și gestionarea utilizatorilor asociați pentru o anumită entitate, cum ar fi o familie, echipă mică sau companie mare." }, "generalInformation": { "message": "Informații generale" @@ -1852,7 +1864,7 @@ "message": "Acest cont este deținut de un business." }, "billingEmail": { - "message": "E-mail de facturare" + "message": "Adresa e-mail de facturare" }, "businessName": { "message": "Numele businessului" @@ -1893,7 +1905,7 @@ "description": "Free as in 'free beer'." }, "planDescFree": { - "message": "Pentru testare sau pentru utilizatori privați pentru partajarea cu $COUNT$ alt/alți utilizator(i).", + "message": "Pentru testare sau pentru utilizatori privați pentru partajarea cu $COUNT$ alt utilizator.", "placeholders": { "count": { "content": "$1", @@ -1911,10 +1923,10 @@ "message": "Echipe" }, "planDescTeams": { - "message": "Pentru businessuri și alte organizații in echipă." + "message": "Pentru businessuri și alte organizații în echipă." }, "planNameEnterprise": { - "message": "Întreprindere" + "message": "Organizație" }, "planDescEnterprise": { "message": "Pentru businessuri și alte organizații mari." @@ -1962,7 +1974,7 @@ } }, "addShareLimitedUsers": { - "message": "Adăugați și partajați cu până la $COUNT$ utilizatori", + "message": "Adăugare și partajare cu până la $COUNT$ utilizatori", "placeholders": { "count": { "content": "$1", @@ -1971,7 +1983,7 @@ } }, "addShareUnlimitedUsers": { - "message": "Adăugați și partajați cu utilizatori nelimitați" + "message": "Adăugare și partajare cu utilizatori nelimitați" }, "createUnlimitedCollections": { "message": "Creați colecții nelimitate" @@ -1992,22 +2004,22 @@ "message": "Utilizatorii au acces la funcțiile Premium" }, "controlAccessWithGroups": { - "message": "Controlați accesul utilizatorilor cu Grupuri" + "message": "Controlare a accesului utilizatorilor cu Grupuri" }, "syncUsersFromDirectory": { - "message": "Sync your users and Groups from a directory" + "message": "Sincronizare a utilizatorilor și Grupurilor dvs dintr-un director" }, "trackAuditLogs": { - "message": "Track user actions with audit logs" + "message": "Urmăriți acțiunile utilizatorilor cu jurnalele de audit" }, "enforce2faDuo": { - "message": "Enforce 2FA with Duo" + "message": "Impunere 2FA cu Duo" }, "priorityCustomerSupport": { - "message": "Priority customer support" + "message": "Asistență prioritară pentru clienți" }, "xDayFreeTrial": { - "message": "$COUNT$ day free trial, cancel anytime", + "message": "$COUNT$ zile de încercare gratuită, anulați oricând", "placeholders": { "count": { "content": "$1", @@ -2016,115 +2028,115 @@ } }, "monthly": { - "message": "Monthly" + "message": "Lunar" }, "annually": { - "message": "Annually" + "message": "Anual" }, "basePrice": { - "message": "Base Price" + "message": "Preț de bază" }, "organizationCreated": { - "message": "Organization Created" + "message": "Organizația a fost creată" }, "organizationReadyToGo": { - "message": "Your new organization is ready to go!" + "message": "Noua dvs. organizație este pregătită!" }, "organizationUpgraded": { - "message": "Your organization has been upgraded." + "message": "Un upgrade al organizației a fost efectuat." }, "leave": { - "message": "Leave" + "message": "Părăsește" }, "leaveOrganizationConfirmation": { - "message": "Are you sure you want to leave this organization?" + "message": "Sigur doriți să părăsiți această organizație?" }, "leftOrganization": { - "message": "You have left the organization." + "message": "Ați părăsit organizația." }, "defaultCollection": { - "message": "Default Collection" + "message": "Colecție implicită" }, "getHelp": { - "message": "Get Help" + "message": "Obținere ajutor" }, "getApps": { - "message": "Get the Apps" + "message": "Obținere aplicație" }, "loggedInAs": { - "message": "Logged in as" + "message": "Autentificat ca" }, "eventLogs": { - "message": "Event Logs" + "message": "Jurnale evenimente" }, "people": { - "message": "People" + "message": "Persoane" }, "policies": { - "message": "Policies" + "message": "Politici" }, "editPolicy": { - "message": "Edit Policy" + "message": "Editare politici" }, "groups": { - "message": "Groups" + "message": "Grupuri" }, "newGroup": { - "message": "New Group" + "message": "Grup nou" }, "addGroup": { - "message": "Add Group" + "message": "Adăugare grup" }, "editGroup": { - "message": "Edit Group" + "message": "Editare grup" }, "deleteGroupConfirmation": { - "message": "Are you sure you want to delete this group?" + "message": "Sigur doriți să ștergeți acest grup?" }, "removeUserConfirmation": { - "message": "Are you sure you want to remove this user?" + "message": "Sigur doriți să eliminați acest utilizator?" }, "externalId": { - "message": "External Id" + "message": "Id Extern" }, "externalIdDesc": { - "message": "The external id can be used as a reference or to link this resource to an external system such as a user directory." + "message": "Id-ul extern poate fi utilizat ca referință sau pentru a lega această resursă de un sistem extern, cum ar fi un folder utilizator." }, "accessControl": { - "message": "Access Control" + "message": "Controlul accesului" }, "groupAccessAllItems": { - "message": "This group can access and modify all items." + "message": "Acest grup poate accesa și modifica toate articolele." }, "groupAccessSelectedCollections": { - "message": "This group can access only the selected collections." + "message": "Acest grup poate accesa doar colecțiile selectate." }, "readOnly": { - "message": "Read Only" + "message": "Doar pentru citire" }, "newCollection": { - "message": "New Collection" + "message": "Colecție nouă" }, "addCollection": { - "message": "Add Collection" + "message": "Adăugare colecție" }, "editCollection": { - "message": "Edit Collection" + "message": "Editare colecție" }, "deleteCollectionConfirmation": { - "message": "Are you sure you want to delete this collection?" + "message": "Sigur doriți să ștergeți această colecție?" }, "editUser": { - "message": "Edit User" + "message": "Editare utilizator" }, "inviteUser": { - "message": "Invite User" + "message": "Invitare utilizator" }, "inviteUserDesc": { - "message": "Invite a new user to your organization by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + "message": "Invitați un utilizator nou în organizația dvs. introducându-i mai jos adresa de e-mail a contului Bitwarden. Dacă nu au deja un cont Bitwarden, li se va solicita să își creeze un cont nou." }, "inviteMultipleEmailDesc": { - "message": "You can invite up to $COUNT$ users at a time by comma separating a list of email addresses.", + "message": "Puteți invita până la $COUNT$ utilizatori odată separând prin virgulă o listă de adrese de e-mail.", "placeholders": { "count": { "content": "$1", @@ -2133,74 +2145,74 @@ } }, "userUsingTwoStep": { - "message": "This user is using two-step login to protect their account." + "message": "Acest utilizator folosește conectarea în două etape pentru a-și proteja contul." }, "userAccessAllItems": { - "message": "This user can access and modify all items." + "message": "Acest utilizator poate accesa și modifica toate articolele." }, "userAccessSelectedCollections": { - "message": "This user can access only the selected collections." + "message": "Acest utilizator poate accesa doar colecțiile selectate." }, "search": { - "message": "Search" + "message": "Căutare" }, "invited": { - "message": "Invited" + "message": "Invitat" }, "accepted": { - "message": "Accepted" + "message": "Acceptat" }, "confirmed": { - "message": "Confirmed" + "message": "Confirmat" }, "owner": { - "message": "Owner" + "message": "Proprietar" }, "ownerDesc": { - "message": "The highest access user that can manage all aspects of your organization." + "message": "Contul cu cele mai mari privilegii care poate gestiona toate aspectele organizației." }, "admin": { "message": "Admin" }, "adminDesc": { - "message": "Admins can access and manage all items, collections and users in your organization." + "message": "Administratorii pot accesa și gestiona toate articolele, colecțiile și utilizatorii din organizația dvs." }, "user": { - "message": "User" + "message": "Utilizator" }, "userDesc": { - "message": "A regular user with access to assigned collections in your organization." + "message": "Un utilizator obișnuit cu acces la colecțiile alocate din organizația dvs." }, "manager": { "message": "Manager" }, "managerDesc": { - "message": "Managers can access and manage assigned collections in your organization." + "message": "Managerii pot accesa și gestiona colecțiile atribuite în organizația dvs." }, "all": { - "message": "All" + "message": "Tot" }, "refresh": { - "message": "Refresh" + "message": "Reîmprospătare" }, "timestamp": { - "message": "Timestamp" + "message": "Marcă temporală" }, "event": { - "message": "Event" + "message": "Eveniment" }, "unknown": { - "message": "Unknown" + "message": "Necunoscut" }, "loadMore": { - "message": "Load More" + "message": "Încărcați mai mult" }, "mobile": { - "message": "Mobile", + "message": "Mobil", "description": "Mobile app" }, "extension": { - "message": "Extension", + "message": "Extensie", "description": "Browser extension/addon" }, "desktop": { @@ -2208,40 +2220,40 @@ "description": "Desktop app" }, "webVault": { - "message": "Web Vault" + "message": "Seif web" }, "loggedIn": { - "message": "Logged in." + "message": "Autentificat." }, "changedPassword": { - "message": "Changed account password." + "message": "Parola contului a fost modificată." }, "enabledUpdated2fa": { - "message": "Enabled/updated two-step login." + "message": "Conectarea în două etape s-a activat/actualizat." }, "disabled2fa": { - "message": "Disabled two-step login." + "message": "Conexiune în două etape dezactivată." }, "recovered2fa": { - "message": "Recovered account from two-step login." + "message": "Cont recuperat de la conectarea în două etape." }, "failedLogin": { - "message": "Login attempt failed with incorrect password." + "message": "Încercare de conectare eșuată cu o parolă incorectă." }, "failedLogin2fa": { - "message": "Login attempt failed with incorrect two-step login." + "message": "Încercare de conectare eșuată cu verificarea în două etape incorectă." }, "exportedVault": { - "message": "Exported vault." + "message": "Seiful a fost exportat." }, "exportedOrganizationVault": { - "message": "Exported organization vault." + "message": "Seiful organizației a fost exportat." }, "editedOrgSettings": { - "message": "Edited organization settings." + "message": "Setările organizației s-au modificat." }, "createdItemId": { - "message": "Created item $ID$.", + "message": "Element $ID$ creat.", "placeholders": { "id": { "content": "$1", @@ -2250,7 +2262,7 @@ } }, "editedItemId": { - "message": "Edited item $ID$.", + "message": "Element $ID$ editat.", "placeholders": { "id": { "content": "$1", @@ -2259,7 +2271,7 @@ } }, "deletedItemId": { - "message": "Sent item $ID$ to trash.", + "message": "Articolul $ID$ a fost trimis în coșul de reciclare.", "placeholders": { "id": { "content": "$1", @@ -2268,7 +2280,7 @@ } }, "sharedItemId": { - "message": "Shared item $ID$.", + "message": "Element $ID$ partajat.", "placeholders": { "id": { "content": "$1", @@ -2277,7 +2289,7 @@ } }, "viewedItemId": { - "message": "Viewed item $ID$.", + "message": "Element $ID$ vizualizat.", "placeholders": { "id": { "content": "$1", @@ -2286,7 +2298,7 @@ } }, "viewedPasswordItemId": { - "message": "Viewed password for item $ID$.", + "message": "Parola pentru elementul $ID$ a fost vizualizată.", "placeholders": { "id": { "content": "$1", @@ -2295,7 +2307,7 @@ } }, "viewedHiddenFieldItemId": { - "message": "Viewed hidden field for item $ID$.", + "message": "Câmpul ascuns al elementului $ID$ a fost vizualizat.", "placeholders": { "id": { "content": "$1", @@ -2304,7 +2316,7 @@ } }, "viewedSecurityCodeItemId": { - "message": "Viewed security code for item $ID$.", + "message": "Codul de securitate al elementului $ID$ a fost vizualizat.", "placeholders": { "id": { "content": "$1", @@ -2313,7 +2325,7 @@ } }, "copiedPasswordItemId": { - "message": "Copied password for item $ID$.", + "message": "Parola elementului $ID$ s-a copiat.", "placeholders": { "id": { "content": "$1", @@ -2322,7 +2334,7 @@ } }, "copiedHiddenFieldItemId": { - "message": "Copied hidden field for item $ID$.", + "message": "Câmpul ascuns al elementului $ID$ a fost copiat.", "placeholders": { "id": { "content": "$1", @@ -2331,7 +2343,7 @@ } }, "copiedSecurityCodeItemId": { - "message": "Copied security code for item $ID$.", + "message": "Codul de securitate al elementului $ID$ a fost copiat.", "placeholders": { "id": { "content": "$1", @@ -2340,7 +2352,7 @@ } }, "autofilledItemId": { - "message": "Auto-filled item $ID$.", + "message": "Elementul $ID$ s-a completat automat", "placeholders": { "id": { "content": "$1", @@ -2349,7 +2361,7 @@ } }, "createdCollectionId": { - "message": "Created collection $ID$.", + "message": "Colecția $ID$ a fost creată.", "placeholders": { "id": { "content": "$1", @@ -2358,7 +2370,7 @@ } }, "editedCollectionId": { - "message": "Edited collection $ID$.", + "message": "Colecția $ID$ a fost editată.", "placeholders": { "id": { "content": "$1", @@ -2367,7 +2379,7 @@ } }, "deletedCollectionId": { - "message": "Deleted collection $ID$.", + "message": "Colecția $ID$ a fost ștearsă.", "placeholders": { "id": { "content": "$1", @@ -2376,7 +2388,7 @@ } }, "editedPolicyId": { - "message": "Edited policy $ID$.", + "message": "Politica $ID$ a fost editată.", "placeholders": { "id": { "content": "$1", @@ -2385,7 +2397,7 @@ } }, "createdGroupId": { - "message": "Created group $ID$.", + "message": "Grupul $ID$ a fost creat.", "placeholders": { "id": { "content": "$1", @@ -2394,7 +2406,7 @@ } }, "editedGroupId": { - "message": "Edited group $ID$.", + "message": "Grupul $ID$ a fost editat.", "placeholders": { "id": { "content": "$1", @@ -2403,7 +2415,7 @@ } }, "deletedGroupId": { - "message": "Deleted group $ID$.", + "message": "Grupul $ID$ a fost șters.", "placeholders": { "id": { "content": "$1", @@ -2412,7 +2424,7 @@ } }, "removedUserId": { - "message": "Removed user $ID$.", + "message": "Utilizatorul $ID$ a fost eliminat.", "placeholders": { "id": { "content": "$1", @@ -2421,7 +2433,7 @@ } }, "createdAttachmentForItem": { - "message": "Created attachment for item $ID$.", + "message": "Atașamentul elementului $ID$ a fost creat.", "placeholders": { "id": { "content": "$1", @@ -2430,7 +2442,7 @@ } }, "deletedAttachmentForItem": { - "message": "Deleted attachment for item $ID$.", + "message": "Atașamentul elementului $ID$ a fost șters.", "placeholders": { "id": { "content": "$1", @@ -2439,7 +2451,7 @@ } }, "editedCollectionsForItem": { - "message": "Edited collections for item $ID$.", + "message": "Colecțiile elementului $ID$ au fost editate.", "placeholders": { "id": { "content": "$1", @@ -2448,7 +2460,7 @@ } }, "invitedUserId": { - "message": "Invited user $ID$.", + "message": "Utilizatorul $ID$ a fost invitat.", "placeholders": { "id": { "content": "$1", @@ -2457,7 +2469,7 @@ } }, "confirmedUserId": { - "message": "Confirmed user $ID$.", + "message": "Utilizatorul $ID$ a fost confirmat.", "placeholders": { "id": { "content": "$1", @@ -2466,7 +2478,7 @@ } }, "editedUserId": { - "message": "Edited user $ID$.", + "message": "Utilizatorul $ID$ a fost editat.", "placeholders": { "id": { "content": "$1", @@ -2475,7 +2487,16 @@ } }, "editedGroupsForUser": { - "message": "Edited groups for user $ID$.", + "message": "Grupurile utilizatorului $ID$ au fost editate.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", "placeholders": { "id": { "content": "$1", @@ -2484,37 +2505,37 @@ } }, "device": { - "message": "Device" + "message": "Dispozitiv" }, "view": { - "message": "View" + "message": "Afișare" }, "invalidDateRange": { - "message": "Invalid date range." + "message": "Interval de date incorect." }, "errorOccurred": { - "message": "An error has occurred." + "message": "S-a produs o eroare." }, "userAccess": { - "message": "User Access" + "message": "Acces utilizator" }, "userType": { - "message": "User Type" + "message": "Tip de utilizator" }, "groupAccess": { - "message": "Group Access" + "message": "Acces grup" }, "groupAccessUserDesc": { - "message": "Edit the groups that this user belongs to." + "message": "Editați grupurile cu care este asociat acest utilizator." }, "invitedUsers": { - "message": "Invited user(s)." + "message": "Utilizatori invitați." }, "resendInvitation": { - "message": "Resend Invitation" + "message": "Retrimitere invitație" }, "hasBeenReinvited": { - "message": "$USER$ has been reinvited.", + "message": "$USER$ a fost invitat din nou.", "placeholders": { "user": { "content": "$1", @@ -2523,13 +2544,13 @@ } }, "confirm": { - "message": "Confirm" + "message": "Confirmare" }, "confirmUser": { - "message": "Confirm User" + "message": "Confirmare utilizator" }, "hasBeenConfirmed": { - "message": "$USER$ has been confirmed.", + "message": "$USER$ a fost confirmat.", "placeholders": { "user": { "content": "$1", @@ -2538,58 +2559,58 @@ } }, "confirmUsers": { - "message": "Confirm Users" + "message": "Confirmare utilizatori" }, "usersNeedConfirmed": { - "message": "You have users that have accepted their invitation, but still need to be confirmed. Users will not have access to the organization until they are confirmed." + "message": "Aveți utilizatori care au acceptat invitația, dar care încă au nevoie să fie confirmați. Utilizatorii nu vor avea acces la organizație până când nu sunt confirmați." }, "startDate": { - "message": "Start Date" + "message": "Data de început" }, "endDate": { - "message": "End Date" + "message": "Data de sfârșit" }, "verifyEmail": { - "message": "Verify Email" + "message": "Verificare e-mail" }, "verifyEmailDesc": { - "message": "Verify your account's email address to unlock access to all features." + "message": "Verifică adresa de e-mail a contului pentru a debloca accesul la toate funcțiile." }, "verifyEmailFirst": { - "message": "Your account's email address first must be verified." + "message": "Adresa de e-mail a contului dvs. trebuie mai întâi verificată." }, "checkInboxForVerification": { - "message": "Check your email inbox for a verification link." + "message": "Verificați dacă ați primit linkul de verificare prin e-mail." }, "emailVerified": { - "message": "Your email has been verified." + "message": "E-mailul dvs. a fost confirmat." }, "emailVerifiedFailed": { - "message": "Unable to verify your email. Try sending a new verification email." + "message": "E-mailul dvs. nu a putut fi verificat. Încercați să trimiteți un nou e-mail de verificare." }, "updateBrowser": { - "message": "Update Browser" + "message": "Actualizare browser" }, "updateBrowserDesc": { - "message": "You are using an unsupported web browser. The web vault may not function properly." + "message": "Utilizați un browser nesuportat. Seiful web ar putea să nu funcționeze corect." }, "joinOrganization": { - "message": "Join Organization" + "message": "Alăturare la organizație" }, "joinOrganizationDesc": { - "message": "You've been invited to join the organization listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + "message": "Ați fost invitat să vă alăturați organizației listate mai sus. Pentru a accepta invitația, trebuie să vă conectați sau să creați un cont Bitwarden nou." }, "inviteAccepted": { - "message": "Invitation Accepted" + "message": "Invitație acceptată" }, "inviteAcceptedDesc": { - "message": "You can access this organization once an administrator confirms your membership. We'll send you an email when that happens." + "message": "Puteți accesa această organizație după ce un administrator vă confirmă calitatea de membru. Vă vom trimite un e-mail atunci când se întâmplă acest lucru." }, "inviteAcceptFailed": { - "message": "Unable to accept invitation. Ask an organization admin to send a new invitation." + "message": "Imposibil de acceptat invitația. Solicitați unui administrator al organizației să trimită o invitație nouă." }, "inviteAcceptFailedShort": { - "message": "Unable to accept invitation. $DESCRIPTION$", + "message": "Imposibil de acceptat invitația. $DESCRIPTION$", "placeholders": { "description": { "content": "$1", @@ -2598,74 +2619,74 @@ } }, "rememberEmail": { - "message": "Remember email" + "message": "Memorare e-mail" }, "recoverAccountTwoStepDesc": { - "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to disable all two-step providers on your account." + "message": "Dacă nu vă puteți accesa contul prin metodele normale de conectare în două etape, puteți utiliza codul de recuperare în două etape pentru a dezactiva toți furnizorii în două etape din contul dvs." }, "recoverAccountTwoStep": { - "message": "Recover Account Two-Step Login" + "message": "Recuperare autentificare în două etape a contului" }, "twoStepRecoverDisabled": { - "message": "Two-step login has been disabled on your account." + "message": "Conectarea în două etape a fost dezactivată în contul dvs." }, "learnMore": { - "message": "Learn more" + "message": "Aflați mai multe" }, "deleteRecoverDesc": { - "message": "Enter your email address below to recover and delete your account." + "message": "Introduceți adresa de e-mail mai jos pentru a vă recupera și șterge contul." }, "deleteRecoverEmailSent": { - "message": "If your account exists, we've sent you an email with further instructions." + "message": "În cazul în care contul dvs. există, v-am trimis un e-mail cu instrucțiuni suplimentare." }, "deleteRecoverConfirmDesc": { - "message": "You have requested to delete your Bitwarden account. Click the button below to confirm." + "message": "Ați solicitat să ștergeți contul Bitwarden. Clicați pe butonul de mai jos pentru a confirma." }, "myOrganization": { - "message": "My Organization" + "message": "Organizația mea" }, "deleteOrganization": { - "message": "Delete Organization" + "message": "Ștergere organizație" }, "deleteOrganizationDesc": { - "message": "Proceed below to delete this organization and all associated data. Individual user accounts will remain, though they will not be associated to this organization anymore. " + "message": "Continuați în modul indicat mai jos pentru a șterge această organizație și toate datele asociate. Conturile de utilizator individuale vor rămâne, deși nu vor mai fi asociate cu această organizație. " }, "deleteOrganizationWarning": { - "message": "Deleting the organization is permanent. It cannot be undone." + "message": "Ștergerea organizației este definitivă. Nu poate fi anulată." }, "organizationDeleted": { - "message": "Organization Deleted" + "message": "Organizația a fost ștearsă" }, "organizationDeletedDesc": { - "message": "The organization and all associated data has been deleted." + "message": "Organizația și toate datele asociate au fost șterse." }, "organizationUpdated": { - "message": "Organization updated" + "message": "Organizația s-a actualizat" }, "taxInformation": { - "message": "Tax Information" + "message": "Informații fiscale" }, "taxInformationDesc": { - "message": "For customers within the US, ZIP code is required to satisfy sales tax requirements, for other countries you may optionally provide a tax identification number (VAT/GST) and/or address to appear on your invoices." + "message": "Pentru clienții din SUA, codul ZIP este necesar pentru a satisface cerințele privind taxa de vânzare, pentru alte țări, opțional, puteți să furnizați un număr de identificare fiscală (TVA/GST) și/sau o adresă care să apară pe facturile dvs." }, "billingPlan": { "message": "Plan", "description": "A billing plan/package. For example: families, teams, enterprise, etc." }, "changeBillingPlan": { - "message": "Change Plan", + "message": "Modificare plan", "description": "A billing plan/package. For example: families, teams, enterprise, etc." }, "changeBillingPlanUpgrade": { - "message": "Upgrade your account to another plan by providing the information below. Please ensure that you have an active payment method added to the account.", + "message": "Actualizați-vă contului la un alt plan prin furnizarea informațiilor de mai jos. Vă rugăm să vă asigurați că ați adăugat o metodă de plată activă în cont.", "description": "A billing plan/package. For example: families, teams, enterprise, etc." }, "changeBillingPlanDesc": { - "message": "Contact customer support if you would like to change your plan. Please ensure that you have an active payment method added to the account.", + "message": "Contactați asistența pentru clienți dacă doriți să vă schimbați planul. Vă rugăm să vă asigurați că aveți o metodă de plată activă adăugată în cont.", "description": "A billing plan/package. For example: families, teams, enterprise, etc." }, "invoiceNumber": { - "message": "Invoice #$NUMBER$", + "message": "Factura #$NUMBER$", "description": "ex. Invoice #79C66F0-0001", "placeholders": { "number": { @@ -2675,31 +2696,31 @@ } }, "viewInvoice": { - "message": "View Invoice" + "message": "Afișare factură" }, "downloadInvoice": { - "message": "Download Invoice" + "message": "Descărcare factură" }, "verifyBankAccount": { - "message": "Verify Bank Account" + "message": "Verificare contul bancar" }, "verifyBankAccountDesc": { - "message": "We have made two micro-deposits to your bank account (it may take 1-2 business days to show up). Enter these amounts to verify the bank account." + "message": "Am făcut două micro-depozite în contul dvs. bancar (poate dura 1-2 zile lucrătoare pentru a apărea). Introduceți aceste sume pentru a verifica contul bancar." }, "verifyBankAccountInitialDesc": { - "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make two micro-deposits within the next 1-2 business days. Enter these amounts on the organization's billing page to verify the bank account." + "message": "Plata cu un cont bancar este disponibilă numai clienților din Statele Unite. Vi se va cere să vă verificați contul bancar. Vom face două micro-depozite în următoarele 1-2 zile lucrătoare. Introduceți aceste sume pe pagina de facturare a organizației pentru a verifica contul bancar." }, "verifyBankAccountFailureWarning": { - "message": "Failure to verify the bank account will result in a missed payment and your subscription being disabled." + "message": "O eroare la validarea contului dvs. bancar va duce la o plată pierdută, iar abonamentul dvs. va fi dezactivat." }, "verifiedBankAccount": { - "message": "Bank account has been verified." + "message": "Contul bancar a fost verificat." }, "bankAccount": { - "message": "Bank Account" + "message": "Cont bancar" }, "amountX": { - "message": "Amount $COUNT$", + "message": "Suma $COUNT$", "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", "placeholders": { "count": { @@ -2709,37 +2730,37 @@ } }, "routingNumber": { - "message": "Routing Number", + "message": "Cod bancar", "description": "Bank account routing number" }, "accountNumber": { - "message": "Account Number" + "message": "Număr de cont" }, "accountHolderName": { - "message": "Account Holder Name" + "message": "Numele titularului contului" }, "bankAccountType": { - "message": "Account Type" + "message": "Tip de cont" }, "bankAccountTypeCompany": { - "message": "Company (Business)" + "message": "Companie (Business)" }, "bankAccountTypeIndividual": { "message": "Individual (Personal)" }, "enterInstallationId": { - "message": "Enter your installation id" + "message": "Introducere id de instalare" }, "addSeats": { - "message": "Add Seats", + "message": "Adăugare licențe", "description": "Seat = User Seat" }, "removeSeats": { - "message": "Remove Seats", + "message": "Eliminare licențe", "description": "Seat = User Seat" }, "subscriptionUserSeats": { - "message": "Your subscription allows for a total of $COUNT$ users.", + "message": "Abonamentul dvs. permite un total de $COUNT$ utilizatori.", "placeholders": { "count": { "content": "$1", @@ -2748,19 +2769,19 @@ } }, "seatsToAdd": { - "message": "Seats To Add" + "message": "Licențe de adăugat" }, "seatsToRemove": { - "message": "Seats To Remove" + "message": "Licențe de eliminat" }, "seatsAddNote": { - "message": "Adding user seats will result in adjustments to your billing totals and immediately charge your payment method on file. The first charge will be prorated for the remainder of the current billing cycle." + "message": "Adăugarea de licențe utilizator va duce la ajustări ale totalelor de facturare și la facturarea imediată conform metodei dvs. de facturare. Prima facturare va fi aplicată proporțional la restul ciclului curent de facturare." }, "seatsRemoveNote": { - "message": "Removing user seats will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." + "message": "Eliminarea de licențe utilizatori va duce la ajustări ale totalelor dvs. de facturare, care vor fi proporționate ca credite pentru următoarea facturare." }, "adjustedSeats": { - "message": "Adjusted $AMOUNT$ user seats.", + "message": "$AMOUNT$ licențe de utilizator actualizate.", "placeholders": { "amount": { "content": "$1", @@ -2769,250 +2790,253 @@ } }, "keyUpdated": { - "message": "Key Updated" + "message": "Cheia s-a actualizat" }, "updateKeyTitle": { - "message": "Update Key" + "message": "Actualizare cheie" }, "updateEncryptionKey": { - "message": "Update Encryption Key" + "message": "Actualizare cheie de criptare" }, "updateEncryptionKeyShortDesc": { - "message": "You are currently using an outdated encryption scheme." + "message": "În prezent utilizați o schemă de criptare învechită." }, "updateEncryptionKeyDesc": { - "message": "We've moved to larger encryption keys that provide better security and access to newer features. Updating your encryption key is quick and easy. Just type your master password below. This update will eventually become mandatory." + "message": "Ne-am mutat la chei mai mari de criptare care oferă o mai bună securitate și acces la funcții mai noi. Actualizarea cheii de criptare este rapidă și ușoară. Doar tastați parola principală mai jos. Această actualizare va deveni în cele din urmă obligatorie." }, "updateEncryptionKeyWarning": { - "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." + "message": "După actualizarea cheii de criptare, trebuie să vă reconectați în toate aplicațiile Bitwarden pe care le utilizați în prezent (cum ar fi aplicația mobilă sau extensiile browserului). Faptul de a nu vă deconecta și reconecta (care descarcă noua cheie de criptare) poate duce la corupția datelor. Vom încerca să vă deconectăm automat, însă ar putea fi întârziat." + }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." }, "subscription": { - "message": "Subscription" + "message": "Abonament" }, "loading": { - "message": "Loading" + "message": "Se încarcă" }, "upgrade": { - "message": "Upgrade" + "message": "Faceți upgrade" }, "upgradeOrganization": { - "message": "Upgrade Organization" + "message": "Faceți upgrade organizației" }, "upgradeOrganizationDesc": { - "message": "This feature is not available for free organizations. Switch to a paid plan to unlock more features." + "message": "Această funcție nu este disponibilă pentru organizațiile gratuite. Comutați la un plan plătit pentru a debloca mai multe funcții." }, "createOrganizationStep1": { - "message": "Create Organization: Step 1" + "message": "Crearea unei organizații: Pasul 1" }, "createOrganizationCreatePersonalAccount": { - "message": "Before creating your organization, you first need to create a free personal account." + "message": "Înainte de a vă crea organizația, trebuie mai întâi să creați un cont personal gratuit." }, "refunded": { - "message": "Refunded" + "message": "Rambursat" }, "nothingSelected": { - "message": "You have not selected anything." + "message": "Nu ați selectat nimic." }, "acceptPolicies": { - "message": "By checking this box you agree to the following:" + "message": "Dacă bifați această casetă sunteți de acord cu următoarele:" }, "acceptPoliciesError": { - "message": "Terms of Service and Privacy Policy have not been acknowledged." + "message": "Termeni de utilizare și Politica de confidențialitate nu au fost recunoscute." }, "termsOfService": { - "message": "Terms of Service" + "message": "Termeni de utilizare" }, "privacyPolicy": { - "message": "Privacy Policy" + "message": "Politică de confidențialitate" }, "filters": { - "message": "Filters" + "message": "Filtre" }, "vaultTimeout": { - "message": "Vault Timeout" + "message": "Expirare seif" }, "vaultTimeoutDesc": { - "message": "Choose when your vault will timeout and perform the selected action." + "message": "Determină când seiful dvs. va expira și va efectua acțiunea selectată." }, "oneMinute": { - "message": "1 minute" + "message": "1 minut" }, "fiveMinutes": { - "message": "5 minutes" + "message": "5 minute" }, "fifteenMinutes": { - "message": "15 minutes" + "message": "15 minute" }, "thirtyMinutes": { - "message": "30 minutes" + "message": "30 de minute" }, "oneHour": { - "message": "1 hour" + "message": "1 oră" }, "fourHours": { - "message": "4 hours" + "message": "4 ore" }, "onRefresh": { - "message": "On Browser Refresh" + "message": "La reîmprospătarea browserului" }, "dateUpdated": { - "message": "Updated", + "message": "S-a actualizat", "description": "ex. Date this item was updated" }, "datePasswordUpdated": { - "message": "Password Updated", + "message": "Parola s-a actualizat", "description": "ex. Date this password was updated" }, "organizationIsDisabled": { - "message": "Organization is disabled." + "message": "Organizația este dezactivată." }, "licenseIsExpired": { - "message": "License is expired." + "message": "Licența a expirat." }, "updatedUsers": { - "message": "Updated users" + "message": "Utilizatori actualizați" }, "selected": { - "message": "Selected" + "message": "Selectat(e)" }, "ownership": { - "message": "Ownership" + "message": "Proprietate" }, "whoOwnsThisItem": { - "message": "Who owns this item?" + "message": "Cine deține acest element?" }, "strong": { - "message": "Strong", + "message": "Puternică", "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" }, "good": { - "message": "Good", + "message": "Bună", "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" }, "weak": { - "message": "Weak", + "message": "Slabă", "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" }, "veryWeak": { - "message": "Very Weak", + "message": "Foarte slabă", "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" }, "weakMasterPassword": { - "message": "Weak Master Password" + "message": "Parolă principală slabă" }, "weakMasterPasswordDesc": { - "message": "The master password you have chosen is weak. You should use a strong master password (or a passphrase) to properly protect your Bitwarden account. Are you sure you want to use this master password?" + "message": "Parola principală aleasă este slabă. Ar trebui folosită o parolă principală (sau o frază de access) puternică pentru a vă proteja corect contul Bitwarden. Sigur doriți să folosiți această parola principală?" }, "rotateAccountEncKey": { - "message": "Also rotate my account's encryption key" + "message": "De asemenea, revocați cheia de criptare a contului meu" }, "rotateEncKeyTitle": { - "message": "Rotate Encryption Key" + "message": "Revocare cheia de criptare" }, "rotateEncKeyConfirmation": { - "message": "Are you sure you want to rotate your account's encryption key?" + "message": "Sigur doriți să revocați cheia de criptare a contului?" }, "attachmentsNeedFix": { - "message": "This item has old file attachments that need to be fixed." + "message": "Acest element are atașamente vechi care trebuie fixate." }, "attachmentFixDesc": { - "message": "This is an old file attachment the needs to be fixed. Click to learn more." + "message": "Acesta este un atașament de fișier vechi care trebuie reparat. Clicați pentru a afla mai multe." }, "fix": { - "message": "Fix", + "message": "Repară", "description": "This is a verb. ex. 'Fix The Car'" }, "oldAttachmentsNeedFixDesc": { - "message": "There are old file attachments in your vault that need to be fixed before you can rotate your account's encryption key." + "message": "Există atașamente de fișiere vechi în seiful dvs. care trebuie reparate înainte de a putea revoca cheia de criptare a contului." }, "yourAccountsFingerprint": { - "message": "Your account's fingerprint phrase", + "message": "Fraza amprentă a contului dvs.", "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." }, "fingerprintEnsureIntegrityVerify": { - "message": "To ensure the integrity of your encryption keys, please verify the user's fingerprint phrase before continuing.", + "message": "Pentru a asigura integritatea cheilor dvs. de criptare, vă rugăm să verificați fraza amprentă a utilizatorului înainte de a continua.", "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." }, "dontAskFingerprintAgain": { - "message": "Don't ask to verify fingerprint phrase again", + "message": "Nu-mi cereți să introduc din nou fraza amprentă", "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." }, "free": { - "message": "Free", + "message": "Gratuit", "description": "Free, as in 'Free beer'" }, "apiKey": { - "message": "API Key" + "message": "Cheie API" }, "apiKeyDesc": { - "message": "Your API key can be used to authenticate to the Bitwarden public API." + "message": "Cheia dvs. API poate fi utilizată pentru autentificarea la API-ul public Bitwarden." }, "apiKeyRotateDesc": { - "message": "Rotating the API key will invalidate the previous key. You can rotate your API key if you believe that the current key is no longer safe to use." + "message": "Revocarea cheii API va invalida cheia anterioară. Puteți revoca cheia API dacă vi se pare că actuala cheie nu mai este sigur de folosit." }, "apiKeyWarning": { - "message": "Your API key has full access to the organization. It should be kept secret." + "message": "Cheia dvs. API are acces complet la organizație. Ar trebui păstrată secret." }, "userApiKeyDesc": { - "message": "Your API key can be used to authenticate in the Bitwarden CLI." + "message": "Cheia dvs. API poate fi utilizată pentru autentificare în Bitwarden CLI." }, "userApiKeyWarning": { - "message": "Your API key is an alternative authentication mechanism. It should be kept secret." + "message": "Cheia dvs. API este un mecanism alternativ de autentificare. Ar trebui păstrată secret." }, "oauth2ClientCredentials": { - "message": "OAuth 2.0 Client Credentials", + "message": "Acreditări client OAuth 2.0", "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." }, "viewApiKey": { - "message": "View API Key" + "message": "Afișare cheie API" }, "rotateApiKey": { - "message": "Rotate API Key" + "message": "Revocare cheie API" }, "selectOneCollection": { - "message": "You must select at least one collection." + "message": "Trebuie să selectați cel puțin o colecție." }, "couldNotChargeCardPayInvoice": { - "message": "We were not able to charge your card. Please view and pay the unpaid invoice listed below." + "message": "Nu am putut procesa plata cu cardul dvs. Vă rugăm să vizualizați și să plătiți factura neplătită de mai jos." }, "inAppPurchase": { - "message": "In-app Purchase" + "message": "Achiziție în aplicație" }, "cannotPerformInAppPurchase": { - "message": "You cannot perform this action while using an in-app purchase payment method." + "message": "Nu puteți efectua această acțiune în timp ce utilizați ca metodă de plată achiziția în aplicație." }, "manageSubscriptionFromStore": { - "message": "You must manage your subscription from the store where your in-app purchase was made." + "message": "Trebuie să vă gestionați abonamentul din magazinul în care a fost efectuată achiziția în aplicație." }, "minLength": { - "message": "Minimum Length" + "message": "Lungimea minimă" }, "clone": { - "message": "Clone" + "message": "Clonare" }, "masterPassPolicyDesc": { - "message": "Set minimum requirements for master password strength." + "message": "Setează cerințele minime pentru puterea parolei principale." }, "twoStepLoginPolicyDesc": { - "message": "Require users to set up two-step login on their personal accounts." + "message": "Solicită utilizatorilor să configureze conectarea în două etape pentru conturile lor personale." }, "twoStepLoginPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and do not have two-step login enabled for their personal account will be removed from the organization and will receive an email notifying them about the change." + "message": "Membrii organizației care nu sunt Proprietari sau Administratori și nu au activată conectarea în două etape în contul lor personal vor fi eliminați din organizație și vor primi o notificare prin e-mail cu privire la modificare." }, "twoStepLoginPolicyUserWarning": { - "message": "You are a member of an organization that requires two-step login to be enabled on your user account. If you disable all two-step login providers you will be automatically removed from these organizations." + "message": "Sunteți membrul unei organizații care necesită conectarea în două etape activată în contul dvs. de utilizator. Dacă dezactivați toți furnizorii de conectare în două etape, veți fi eliminat automat din aceste organizații." }, "passwordGeneratorPolicyDesc": { - "message": "Set minimum requirements for password generator configuration." + "message": "Setează cerințele minime pentru configurarea generatorului de parole." }, "passwordGeneratorPolicyInEffect": { - "message": "One or more organization policies are affecting your generator settings." + "message": "Una sau mai multe politici organizaționale vă afectează setările generatorului." }, "masterPasswordPolicyInEffect": { - "message": "One or more organization policies require your master password to meet the following requirements:" + "message": "Una sau mai multe politici organizaționale necesită ca parola principală să îndeplinească următoarele cerințe:" }, "policyInEffectMinComplexity": { - "message": "Minimum complexity score of $SCORE$", + "message": "Scor minim de complexitate de $SCORE$", "placeholders": { "score": { "content": "$1", @@ -3021,7 +3045,7 @@ } }, "policyInEffectMinLength": { - "message": "Minimum length of $LENGTH$", + "message": "Lungime minimă de $LENGTH$", "placeholders": { "length": { "content": "$1", @@ -3030,16 +3054,16 @@ } }, "policyInEffectUppercase": { - "message": "Contain one or more uppercase characters" + "message": "Unul sau mai multe caractere majuscule" }, "policyInEffectLowercase": { - "message": "Contain one or more lowercase characters" + "message": "Unul sau mai multe caractere minuscule" }, "policyInEffectNumbers": { - "message": "Contain one or more numbers" + "message": "Una sau mai multe cifre" }, "policyInEffectSpecial": { - "message": "Contain one or more of the following special characters $CHARS$", + "message": "Unul sau mai multe din următoarele caractere: $CHARS$", "placeholders": { "chars": { "content": "$1", @@ -3048,57 +3072,57 @@ } }, "masterPasswordPolicyRequirementsNotMet": { - "message": "Your new master password does not meet the policy requirements." + "message": "Noua dvs. parolă principală nu îndeplinește cerințele politicii." }, "minimumNumberOfWords": { - "message": "Minimum Number of Words" + "message": "Număr minim de cuvinte" }, "defaultType": { - "message": "Default Type" + "message": "Tip implicit" }, "userPreference": { - "message": "User Preference" + "message": "Preferințe utilizator" }, "vaultTimeoutAction": { - "message": "Vault Timeout Action" + "message": "Acțiune la expirarea seifului" }, "vaultTimeoutActionLockDesc": { - "message": "A locked vault requires that you re-enter your master password to access it again." + "message": "Un seif blocat necesită reintroducerea parolei principale pentru a-l accesa din nou." }, "vaultTimeoutActionLogOutDesc": { - "message": "A logged out vault requires that you re-authenticate to access it again." + "message": "Un seif deconectat necesită reautentificarea pentru a-l accesa din nou." }, "lock": { - "message": "Lock", + "message": "Blocare", "description": "Verb form: to make secure or inaccesible by" }, "trash": { - "message": "Trash", + "message": "Coș de reciclare", "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" }, "searchTrash": { - "message": "Search Trash" + "message": "Căutare în coșul de reciclare" }, "permanentlyDelete": { - "message": "Permanently Delete" + "message": "Ștergere definitivă" }, "permanentlyDeleteSelected": { - "message": "Permanently Delete Selected" + "message": "Ștergere definitivă a selecției" }, "permanentlyDeleteItem": { - "message": "Permanently Delete Item" + "message": "Ștergere definitivă a articolului" }, "permanentlyDeleteItemConfirmation": { - "message": "Are you sure you want to permanently delete this item?" + "message": "Sigur doriți să ștergeți definitiv acest articol?" }, "permanentlyDeletedItem": { - "message": "Permanently Deleted item" + "message": "Articolul a fost șters definitiv" }, "permanentlyDeletedItems": { - "message": "Permanently Deleted items" + "message": "Articolele au fost șterse definitiv" }, "permanentlyDeleteSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to permanently delete. Are you sure you want to permanently delete all of these items?", + "message": "Ați selectat $COUNT$ articol(e) pentru ștergere definitivă. Sigur vreți să ștergeți definitiv toate articolele selectate?", "placeholders": { "count": { "content": "$1", @@ -3107,7 +3131,7 @@ } }, "permanentlyDeletedItemId": { - "message": "Permanently Deleted item $ID$.", + "message": "Articolul $ID$ a fost șters definitiv.", "placeholders": { "id": { "content": "$1", @@ -3116,28 +3140,28 @@ } }, "restore": { - "message": "Restore" + "message": "Restabilire" }, "restoreSelected": { - "message": "Restore Selected" + "message": "Restabilire selecție" }, "restoreItem": { - "message": "Restore Item" + "message": "Restabilire articol" }, "restoredItem": { - "message": "Restored Item" + "message": "Articol restabilit" }, "restoredItems": { - "message": "Restored Items" + "message": "Articole restabilite" }, "restoreItemConfirmation": { - "message": "Are you sure you want to restore this item?" + "message": "Sigur doriți să restabiliți acest articol?" }, "restoreItems": { - "message": "Restore items" + "message": "Restabilire articole" }, "restoreSelectedItemsDesc": { - "message": "You have selected $COUNT$ item(s) to restore. Are you sure you want to restore all of these items?", + "message": "Ați selectat $COUNT$ articol(e) pentru restabilire. Sigur vreți să restabiliți toate aceste articole?", "placeholders": { "count": { "content": "$1", @@ -3146,7 +3170,7 @@ } }, "restoredItemId": { - "message": "Restored item $ID$.", + "message": "Elementul $ID$ a fost restabilit.", "placeholders": { "id": { "content": "$1", @@ -3155,199 +3179,454 @@ } }, "vaultTimeoutLogOutConfirmation": { - "message": "Logging out will remove all access to your vault and requires online authentication after the timeout period. Are you sure you want to use this setting?" + "message": "După expirare, accesul la seiful dvs. va fi restricționat și va fi necesară autentificarea on-line. Sigur doriți să utilizați această setare?" }, "vaultTimeoutLogOutConfirmationTitle": { - "message": "Timeout Action Confirmation" + "message": "Confirmare acțiune la expirare" }, "hidePasswords": { - "message": "Hide Passwords" + "message": "Ascundere parole" }, "countryPostalCodeRequiredDesc": { - "message": "We require this information for calculating sales tax and financial reporting only." + "message": "Solicităm aceste informații doar pentru calcularea taxei de vânzare și a raportării financiare." }, "includeVAT": { - "message": "Include VAT/GST Information (optional)" + "message": "Includere informații despre TVA/GST (opțional)" }, "taxIdNumber": { - "message": "VAT/GST Tax ID" + "message": "Codul fiscal TVA/GST" }, "taxInfoUpdated": { - "message": "Tax information updated." + "message": "Informațiile fiscale au fost actualizate." }, "setMasterPassword": { - "message": "Set Master Password" + "message": "Setare parolă principală" }, "ssoCompleteRegistration": { - "message": "In order to complete logging in with SSO, please set a master password to access and protect your vault." + "message": "Pentru a finaliza conectarea cu SSO, vă rugăm să setați o parolă principală pentru a vă accesa și proteja seiful." }, "identifier": { - "message": "Identifier" + "message": "Identificator" }, "organizationIdentifier": { - "message": "Organization Identifier" + "message": "Identificatorul organizației" }, "ssoLogInWithOrgIdentifier": { - "message": "Log in using your organization's single sign-on portal. Please enter your organization's identifier to begin." + "message": "Conectați-vă utilizând portalul de conectare unică al organizației. Pentru a începe, Introduceți vă rog identificatorul organizației dvs." }, "enterpriseSingleSignOn": { - "message": "Enterprise Single Sign-On" + "message": "Conectare unică organizație (SSO)" }, "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." + "message": "Acum puteți închide această filă și puteți continua în extensie." }, "businessPortal": { - "message": "Business Portal", + "message": "Portal de afaceri", "description": "The web portal used by business organizations for configuring certain features." }, "includeAllTeamsFeatures": { - "message": "All Teams features, plus:" + "message": "Toate funcțiile planului Echipe, plus:" }, "includeSsoAuthentication": { - "message": "SSO Authentication via SAML2.0 and OpenID Connect" + "message": "Autentificare SSO prin SAML2.0 și OpenID Connect" }, "includeEnterprisePolicies": { - "message": "Enterprise Policies" + "message": "Politici Organizație" }, "ssoValidationFailed": { - "message": "SSO Validation Failed" + "message": "Validarea SSO nu a reușit" }, "ssoIdentifierRequired": { - "message": "Organization Identifier is required." + "message": "Identificatorul organizației este necesar." }, "unlinkSso": { - "message": "Unlink SSO" + "message": "Deconectare SSO" }, "linkSso": { - "message": "Link SSO" + "message": "Conectare SSO" }, "webPoliciesDeprecationWarning": { - "message": "Policy configuration has been moved, and this page will soon be deprecated. Please click below to use the Business Portal policies page instead." + "message": "Configurarea politicii a fost mutată și această pagină se va deprecia în curând. Vă rugăm să clicați mai jos pentru a utiliza în schimb pagina de politici a portalului de afaceri." }, "singleOrg": { - "message": "Single Organization" + "message": "Organizație Single" }, "singleOrgDesc": { - "message": "Restrict users from being able to join any other organizations." + "message": "Restricționează utilizatorii să se alăture oricărei alte organizații." }, "singleOrgBlockCreateMessage": { - "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." + "message": "Organizația dvs. actuală are o politică care nu vă permite să vă alăturați la mai mult de o organizație. Vă rugăm să contactați administratorii organizației sau să vă înscrieți dintr-un cont Bitwarden diferit." }, "singleOrgPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and are already a member of another organization will be removed from your organization." + "message": "Membrii organizației care nu sunt proprietari sau administratori și sunt deja membri ai unei alte organizații vor fi eliminați din organizația dvs." }, "requireSso": { - "message": "Single Sign-On Authentication" + "message": "Autentificare Single Sign-On" }, "requireSsoPolicyDesc": { - "message": "Require users to log in with the Enterprise Single Sign-On method." + "message": "Solicită utilizatorilor să se conecteze cu metoda Conectare unică organizație (SSO)." }, "prerequisite": { - "message": "Prerequisite" + "message": "Condiție prealabilă" }, "requireSsoPolicyReq": { - "message": "The Single Organization enterprise policy must be enabled before activating this policy." + "message": "Înainte de activarea acestei politici, trebuie activată metoda de conectare \"Single sign-on\" pentru organizație (SSO)." }, "requireSsoPolicyReqError": { - "message": "Single Organization policy not enabled." + "message": "Politica Organizație Single nu este activată." }, "requireSsoExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + "message": "Proprietarii și administratorii organizației sunt exceptați de la aplicarea acestei politici." }, "sendTypeFile": { - "message": "File" + "message": "Fișier" }, "sendTypeText": { "message": "Text" }, "createSend": { - "message": "Create New Send", + "message": "Creare de nou Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "editSend": { - "message": "Edit Send", + "message": "Editare Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "createdSend": { - "message": "Created Send", + "message": "S-a creat un nou Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "editedSend": { - "message": "Edited Send", + "message": "Send-ul a fost editat", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deletedSend": { - "message": "Deleted Send", + "message": "Send-ul a fost șters", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deleteSend": { - "message": "Delete Send", + "message": "Ștergere Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deleteSendConfirmation": { - "message": "Are you sure you want to delete this Send?", + "message": "Sigur doriți să ștergeți acest Send?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "whatTypeOfSend": { - "message": "What type of Send is this?", + "message": "Ce fel de Send este acesta?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deletionDate": { - "message": "Deletion Date" + "message": "Data ștergerii" + }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "expirationDate": { - "message": "Expiration Date" + "message": "Data expirării" + }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "maxAccessCount": { - "message": "Maximum Access Count" + "message": "Număr maxim de accesări" + }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "currentAccessCount": { - "message": "Current Access Count" + "message": "Număr actual de accesări" + }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "disabled": { - "message": "Disabled" + "message": "Dezactivat" }, "sendLink": { - "message": "Send Link", + "message": "Linkul Send-ului", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "copySendLink": { - "message": "Copy Send Link", + "message": "Copiere link Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "removePassword": { - "message": "Remove Password" + "message": "Eliminare parolă" }, "removedPassword": { - "message": "Removed Password" + "message": "Parola a fost eliminată" }, "removePasswordConfirmation": { - "message": "Are you sure you want to remove the password?" + "message": "Sigur doriți să eliminați parola?" + }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "allSends": { - "message": "All Sends" + "message": "Toate Send-urile" + }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" }, "searchSends": { - "message": "Search Sends", + "message": "Căutare în Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendProtectedPassword": { - "message": "This Send is protected with a password. Please type the password below to continue.", + "message": "Acest Send este protejat cu parolă. Vă rugăm să introduceți mai jos parola pentru a continua.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendProtectedPasswordDontKnow": { - "message": "Don't know the password? Ask the Sender for the password needed to access this Send.", + "message": "Nu știți parola? Cereți Expeditorului parola necesară pentru a accesa acest Send.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendHiddenByDefault": { - "message": "This send is hidden by default. You can toggle its visibility using the button below.", + "message": "Acest Send este ascuns în mod implicit. Puteți comuta vizibilitatea acestuia folosind butonul de mai jos.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "downloadFile": { - "message": "Descarcă fișierul" + "message": "Descărcare fișier" + }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "noSendsInList": { - "message": "Nu există Sends de afișat.", + "message": "Niciun Send de afișat.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/ru/messages.json b/locales/ru/messages.json index 49bf061a..9b65be59 100644 --- a/locales/ru/messages.json +++ b/locales/ru/messages.json @@ -347,6 +347,9 @@ "editItem": { "message": "Изменение элемента" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "напр.", "description": "Short abbreviation for 'example'." @@ -461,7 +464,7 @@ "message": "Удалить вложение" }, "deleteItemConfirmation": { - "message": "Вы действительно хотите удалить этот элемент?" + "message": "Вы действительно хотите отправить в корзину?" }, "deletedItem": { "message": "Элемент удален" @@ -790,9 +793,15 @@ "warning": { "message": "Предупреждение" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "Экспортируемый файл содержит данные вашего хранилища в незашифрованном формате. Его не следует хранить или отправлять по небезопасным каналам (например по электронной почте). Удалите его сразу после использования." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "Введите мастер-пароль для экспорта данных из хранилища." }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Платежная информация" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Кредитная карта" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Устройство" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "После обновления ключа шифрования необходимо выполнить выход во всех приложениях Bitwarden, которые вы используете (например, мобильное приложение или расширение браузера). Невыполнение этого требования может привести к повреждению данных (так как при этом загружается ваш новый ключ шифрования). Мы попытаемся автоматически осуществить завершение ваших сессий, однако это может произойти с задержкой." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Подписка" }, @@ -3194,7 +3218,7 @@ "message": "Единая корпоративная авторизация (SSO)" }, "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." + "message": "Теперь вы можете закрыть эту вкладку и продолжить в расширении." }, "businessPortal": { "message": "Корпоративный портал", @@ -3295,15 +3319,35 @@ "deletionDate": { "message": "Дата удаления" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "Дата истечения" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "Максимальное количество доступов" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "Текущее количество доступов" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "Отключено" }, @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "Вы уверены, что хотите удалить пароль?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "Все Sends" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Поиск Sends", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3336,7 +3393,7 @@ "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendProtectedPasswordDontKnow": { - "message": "Не знаете пароль? Запросите его у отправителя, для доступа к этой Send.", + "message": "Не знаете пароль? Для доступа к этой Send, запросите его у отправителя.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendHiddenByDefault": { @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "Скачать файл" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "В списке нет Sends.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/si/messages.json b/locales/si/messages.json index 6f598203..25ff8d42 100644 --- a/locales/si/messages.json +++ b/locales/si/messages.json @@ -347,6 +347,9 @@ "editItem": { "message": "Edit Item" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "ex.", "description": "Short abbreviation for 'example'." @@ -790,9 +793,15 @@ "warning": { "message": "Warning" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "This export contains your vault data in an unencrypted format. You should not store or send the exported file over unsecure channels (such as email). Delete it immediately after you are done using it." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "Enter your master password to export your vault data." }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Payment Information" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Credit Card" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Device" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Subscription" }, @@ -3295,15 +3319,35 @@ "deletionDate": { "message": "Deletion Date" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "Expiration Date" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "Maximum Access Count" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "Current Access Count" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "Disabled" }, @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "Are you sure you want to remove the password?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "All Sends" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Search Sends", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "Download File" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "There are no Sends to list.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/sk/messages.json b/locales/sk/messages.json index e8b79a23..054f7f14 100644 --- a/locales/sk/messages.json +++ b/locales/sk/messages.json @@ -347,6 +347,9 @@ "editItem": { "message": "Upraviť položku" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "napr.", "description": "Short abbreviation for 'example'." @@ -790,9 +793,15 @@ "warning": { "message": "Upozornenie" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "Tento export obsahuje vaše dáta v nešifrovanom formáte. Nemali by ste ich ukladať, ani posielať cez nezabezpečené kanály (napr. email). Okamžite ho odstráňte, keď ho prestanete používať." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "Zadajte vaše hlavné heslo pre export údajov trezoru." }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Informácie o platbe" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Kreditná Karta" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Zariadenie" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "Po aktualizácii šifrovacieho kľúča budete požiadaní o opätovné prihlásenie do všetkých Bitwarden aplikácii ktoré momentálne používate (napríklad mobilné aplikácie, alebo rozšírenia v prehliadači). Ak sa opätovne neprihlásite (touto operáciou sa stiahnu nové šifrovacie kľúče), mohlo by to viesť k poškodeniu uložených dát. Pokúsime sa odhlásiť vás automaticky, ale môže to chvíľu trvať." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Predplatné" }, @@ -3194,7 +3218,7 @@ "message": "Prihlásenie cez prihlasovací formulár spoločnosti (SSO)" }, "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." + "message": "Teraz môžete zavrieť túto kartu a pokračovať v rozšírení." }, "businessPortal": { "message": "Portál spoločnosti", @@ -3295,15 +3319,35 @@ "deletionDate": { "message": "Dátum vymazania" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "Dátum exspirácie" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "Maximálny počet prístupov" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "Súčasný počet prístupov" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "Vypnuté" }, @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "Naozaj chcete odstrániť heslo?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "Všetky Sendy" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Hľadať Sendy", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "Stiahnuť súbor" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "Neexistujú žiadne Sendy na zobrazenie.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/sl/messages.json b/locales/sl/messages.json new file mode 100644 index 00000000..35cd6349 --- /dev/null +++ b/locales/sl/messages.json @@ -0,0 +1,3632 @@ +{ + "pageTitle": { + "message": "$APP_NAME$ Spletni sef", + "description": "The title of the website in the browser window.", + "placeholders": { + "app_name": { + "content": "$1", + "example": "Bitwarden" + } + } + }, + "whatTypeOfItem": { + "message": "Kakšne vrste vnos je to?" + }, + "name": { + "message": "Ime" + }, + "uri": { + "message": "URI" + }, + "uriPosition": { + "message": "URI $POSITION$", + "description": "A listing of URIs. Ex: URI 1, URI 2, URI 3, etc.", + "placeholders": { + "position": { + "content": "$1", + "example": "2" + } + } + }, + "newUri": { + "message": "Nov URI" + }, + "username": { + "message": "Uporabniško ime" + }, + "password": { + "message": "Geslo" + }, + "newPassword": { + "message": "Novo geslo" + }, + "passphrase": { + "message": "Passphrase" + }, + "notes": { + "message": "Zapiski" + }, + "customFields": { + "message": "Custom Fields" + }, + "cardholderName": { + "message": "Cardholder Name" + }, + "number": { + "message": "Številka" + }, + "brand": { + "message": "Znamka" + }, + "expiration": { + "message": "Potek" + }, + "securityCode": { + "message": "Varnostna koda (CVV)" + }, + "identityName": { + "message": "Identity Name" + }, + "company": { + "message": "Podjetje" + }, + "ssn": { + "message": "EMŠO" + }, + "passportNumber": { + "message": "Številka potnega lista" + }, + "licenseNumber": { + "message": "Številka dovoljenja" + }, + "email": { + "message": "E-pošta" + }, + "phone": { + "message": "Telefon" + }, + "january": { + "message": "Januar" + }, + "february": { + "message": "Februar" + }, + "march": { + "message": "Marec" + }, + "april": { + "message": "April" + }, + "may": { + "message": "Maj" + }, + "june": { + "message": "Junij" + }, + "july": { + "message": "Julij" + }, + "august": { + "message": "Avgust" + }, + "september": { + "message": "September" + }, + "october": { + "message": "Oktober" + }, + "november": { + "message": "November" + }, + "december": { + "message": "December" + }, + "title": { + "message": "Naziv" + }, + "mr": { + "message": "G" + }, + "mrs": { + "message": "Ga" + }, + "ms": { + "message": "Gdč" + }, + "dr": { + "message": "Dr" + }, + "expirationMonth": { + "message": "Mesec poteka" + }, + "expirationYear": { + "message": "Leto poteka" + }, + "authenticatorKeyTotp": { + "message": "Authenticator Key (TOTP)" + }, + "folder": { + "message": "Mapa" + }, + "newCustomField": { + "message": "Novo polje po meri" + }, + "value": { + "message": "Vrednost" + }, + "dragToSort": { + "message": "Povleci za sortiranje" + }, + "cfTypeText": { + "message": "Besedilo" + }, + "cfTypeHidden": { + "message": "Skrito" + }, + "cfTypeBoolean": { + "message": "Boolean" + }, + "remove": { + "message": "Remove" + }, + "unassigned": { + "message": "Unassigned" + }, + "noneFolder": { + "message": "No Folder", + "description": "This is the folder for uncategorized items" + }, + "addFolder": { + "message": "Add Folder" + }, + "editFolder": { + "message": "Edit Folder" + }, + "baseDomain": { + "message": "Base domain" + }, + "host": { + "message": "Host", + "description": "A URL's host value. For example, the host of https://sub.domain.com:443 is 'sub.domain.com:443'." + }, + "exact": { + "message": "Exact" + }, + "startsWith": { + "message": "Starts with" + }, + "regEx": { + "message": "Regular expression", + "description": "A programming term, also known as 'RegEx'." + }, + "matchDetection": { + "message": "Match Detection", + "description": "URI match detection for auto-fill." + }, + "defaultMatchDetection": { + "message": "Default match detection", + "description": "Default URI match detection for auto-fill." + }, + "never": { + "message": "Never" + }, + "toggleVisibility": { + "message": "Toggle Visibility" + }, + "toggleCollapse": { + "message": "Toggle Collapse", + "description": "Toggling an expand/collapse state." + }, + "generatePassword": { + "message": "Generate Password" + }, + "checkPassword": { + "message": "Check if password has been exposed." + }, + "passwordExposed": { + "message": "This password has been exposed $VALUE$ time(s) in data breaches. You should change it.", + "placeholders": { + "value": { + "content": "$1", + "example": "2" + } + } + }, + "passwordSafe": { + "message": "This password was not found in any known data breaches. It should be safe to use." + }, + "save": { + "message": "Save" + }, + "cancel": { + "message": "Cancel" + }, + "canceled": { + "message": "Canceled" + }, + "close": { + "message": "Close" + }, + "delete": { + "message": "Delete" + }, + "favorite": { + "message": "Favorite" + }, + "unfavorite": { + "message": "Unfavorite" + }, + "edit": { + "message": "Edit" + }, + "searchCollection": { + "message": "Search Collection" + }, + "searchFolder": { + "message": "Search Folder" + }, + "searchFavorites": { + "message": "Search Favorites" + }, + "searchType": { + "message": "Search Type", + "description": "Search item type" + }, + "searchVault": { + "message": "Search Vault" + }, + "allItems": { + "message": "All Items" + }, + "favorites": { + "message": "Favorites" + }, + "types": { + "message": "Types" + }, + "typeLogin": { + "message": "Login" + }, + "typeCard": { + "message": "Card" + }, + "typeIdentity": { + "message": "Identity" + }, + "typeSecureNote": { + "message": "Secure Note" + }, + "folders": { + "message": "Folders" + }, + "collections": { + "message": "Collections" + }, + "firstName": { + "message": "First Name" + }, + "middleName": { + "message": "Middle Name" + }, + "lastName": { + "message": "Last Name" + }, + "address1": { + "message": "Naslov 1" + }, + "address2": { + "message": "Naslov 2" + }, + "address3": { + "message": "Naslov 3" + }, + "cityTown": { + "message": "Mesto / naselje" + }, + "stateProvince": { + "message": "Regija / provinca" + }, + "zipPostalCode": { + "message": "Poštna številka" + }, + "country": { + "message": "Država" + }, + "shared": { + "message": "Deljeno" + }, + "attachments": { + "message": "Priponke" + }, + "select": { + "message": "Izberi" + }, + "addItem": { + "message": "Dodaj vnos" + }, + "editItem": { + "message": "Uredi vnos" + }, + "viewItem": { + "message": "View Item" + }, + "ex": { + "message": "npr.", + "description": "Short abbreviation for 'example'." + }, + "other": { + "message": "Drugo" + }, + "share": { + "message": "Deli" + }, + "valueCopied": { + "message": "$VALUE$ kopirana", + "description": "Value has been copied to the clipboard.", + "placeholders": { + "value": { + "content": "$1", + "example": "Password" + } + } + }, + "copyValue": { + "message": "Kopiraj vrednost", + "description": "Copy value to clipboard" + }, + "copyPassword": { + "message": "Kopiraj geslo", + "description": "Copy password to clipboard" + }, + "copyUsername": { + "message": "Kopiraj uporabniško ime", + "description": "Copy username to clipboard" + }, + "copyNumber": { + "message": "Kopiraj številko", + "description": "Copy credit card number" + }, + "copySecurityCode": { + "message": "Kopiraj varnostno kodo", + "description": "Copy credit card security code (CVV)" + }, + "copyUri": { + "message": "Kopiraj URI", + "description": "Copy URI to clipboard" + }, + "myVault": { + "message": "Moj sef" + }, + "vault": { + "message": "Sef" + }, + "shareSelected": { + "message": "Deli izbrano" + }, + "deleteSelected": { + "message": "Izbriši izbrano" + }, + "moveSelected": { + "message": "Premakni izbrano" + }, + "selectAll": { + "message": "Izberi vse" + }, + "unselectAll": { + "message": "Odizberi vse" + }, + "launch": { + "message": "Zaženi" + }, + "newAttachment": { + "message": "Dodaj novo priponko" + }, + "deletedAttachment": { + "message": "Izbriši priponko" + }, + "deleteAttachmentConfirmation": { + "message": "Ste prepričani, da želite izbrisati to prilogo?" + }, + "attachmentSaved": { + "message": "Ta priloga je bila shranjena." + }, + "file": { + "message": "Datoteka" + }, + "selectFile": { + "message": "Izberite datoteko." + }, + "maxFileSize": { + "message": "Največja velikost datoteke je 100 MB." + }, + "updateKey": { + "message": "You cannot use this feature until you update your encryption key." + }, + "addedItem": { + "message": "Dodaj vnos" + }, + "editedItem": { + "message": "Uredi vnos" + }, + "sharedItem": { + "message": "Deljeni vnos" + }, + "sharedItems": { + "message": "Deljeni vnosi" + }, + "deleteItem": { + "message": "Izbriši vnos" + }, + "deleteFolder": { + "message": "Izbriši mapo" + }, + "deleteAttachment": { + "message": "Izbriši priponoko" + }, + "deleteItemConfirmation": { + "message": "Do you really want to send to the trash?" + }, + "deletedItem": { + "message": "Vnos poslan v smeti" + }, + "deletedItems": { + "message": "Vnosi poslani v smeti" + }, + "movedItems": { + "message": "Premaknjeni vnosi" + }, + "overwritePasswordConfirmation": { + "message": "Ste prepričani, da želite povoziti obstoječe geslo?" + }, + "editedFolder": { + "message": "Edited folder" + }, + "addedFolder": { + "message": "Added folder" + }, + "deleteFolderConfirmation": { + "message": "Are you sure you want to delete this folder?" + }, + "deletedFolder": { + "message": "Deleted folder" + }, + "loggedOut": { + "message": "Logged out" + }, + "loginExpired": { + "message": "Your login session has expired." + }, + "logOutConfirmation": { + "message": "Are you sure you want to log out?" + }, + "logOut": { + "message": "Log Out" + }, + "ok": { + "message": "Ok" + }, + "yes": { + "message": "Yes" + }, + "no": { + "message": "No" + }, + "loginOrCreateNewAccount": { + "message": "Log in or create a new account to access your secure vault." + }, + "createAccount": { + "message": "Create Account" + }, + "logIn": { + "message": "Log In" + }, + "submit": { + "message": "Submit" + }, + "emailAddressDesc": { + "message": "You'll use your email address to log in." + }, + "yourName": { + "message": "Your Name" + }, + "yourNameDesc": { + "message": "What should we call you?" + }, + "masterPass": { + "message": "Master Password" + }, + "masterPassDesc": { + "message": "The master password is the password you use to access your vault. It is very important that you do not forget your master password. There is no way to recover the password in the event that you forget it." + }, + "masterPassHintDesc": { + "message": "A master password hint can help you remember your password if you forget it." + }, + "reTypeMasterPass": { + "message": "Re-type Master Password" + }, + "masterPassHint": { + "message": "Master Password Hint (optional)" + }, + "masterPassHintLabel": { + "message": "Master Password Hint" + }, + "settings": { + "message": "Settings" + }, + "passwordHint": { + "message": "Password Hint" + }, + "enterEmailToGetHint": { + "message": "Enter your account email address to receive your master password hint." + }, + "getMasterPasswordHint": { + "message": "Get master password hint" + }, + "emailRequired": { + "message": "Email address is required." + }, + "invalidEmail": { + "message": "Invalid email address." + }, + "masterPassRequired": { + "message": "Master password is required." + }, + "masterPassLength": { + "message": "Master password must be at least 8 characters long." + }, + "masterPassDoesntMatch": { + "message": "Master password confirmation does not match." + }, + "newAccountCreated": { + "message": "Your new account has been created! You may now log in." + }, + "masterPassSent": { + "message": "We've sent you an email with your master password hint." + }, + "unexpectedError": { + "message": "An unexpected error has occurred." + }, + "emailAddress": { + "message": "Email Address" + }, + "yourVaultIsLocked": { + "message": "Your vault is locked. Verify your master password to continue." + }, + "unlock": { + "message": "Unlock" + }, + "loggedInAsEmailOn": { + "message": "Logged in as $EMAIL$ on $HOSTNAME$.", + "placeholders": { + "email": { + "content": "$1", + "example": "name@example.com" + }, + "hostname": { + "content": "$2", + "example": "bitwarden.com" + } + } + }, + "invalidMasterPassword": { + "message": "Invalid master password" + }, + "lockNow": { + "message": "Lock Now" + }, + "noItemsInList": { + "message": "There are no items to list." + }, + "noCollectionsInList": { + "message": "There are no collections to list." + }, + "noGroupsInList": { + "message": "There are no groups to list." + }, + "noUsersInList": { + "message": "There are no users to list." + }, + "noEventsInList": { + "message": "There are no events to list." + }, + "newOrganization": { + "message": "New Organization" + }, + "noOrganizationsList": { + "message": "Ne pripadate nobeni organizaciji. Organizacije omogočajo varno deljenje vnosov med uporabniki." + }, + "versionNumber": { + "message": "Različica $VERSION_NUMBER$", + "placeholders": { + "version_number": { + "content": "$1", + "example": "1.2.3" + } + } + }, + "enterVerificationCodeApp": { + "message": "Vnesite 6-mestno potrditveno kodo iz vaše avtorizacijske aplikacije." + }, + "enterVerificationCodeEmail": { + "message": "Vnesite 6-mestno potrditveno kodo, poslano na e-poštni naslov $EMAIL$.", + "placeholders": { + "email": { + "content": "$1", + "example": "example@gmail.com" + } + } + }, + "verificationCodeEmailSent": { + "message": "Potrditveno sporočilo poslano na $EMAIL$.", + "placeholders": { + "email": { + "content": "$1", + "example": "example@gmail.com" + } + } + }, + "rememberMe": { + "message": "Zapomni si me" + }, + "sendVerificationCodeEmailAgain": { + "message": "Ponovno posreduj potrditveno kodo na e-poštni naslov" + }, + "useAnotherTwoStepMethod": { + "message": "Uporabi drug dvostopenjski način vpisa" + }, + "insertYubiKey": { + "message": "Insert your YubiKey into your computer's USB port, then touch its button." + }, + "insertU2f": { + "message": "Insert your security key into your computer's USB port. If it has a button, touch it." + }, + "loginUnavailable": { + "message": "Login Unavailable" + }, + "noTwoStepProviders": { + "message": "This account has two-step login enabled, however, none of the configured two-step providers are supported by this web browser." + }, + "noTwoStepProviders2": { + "message": "Please use a supported web browser (such as Chrome) and/or add additional providers that are better supported across web browsers (such as an authenticator app)." + }, + "twoStepOptions": { + "message": "Two-step Login Options" + }, + "recoveryCodeDesc": { + "message": "Lost access to all of your two-factor providers? Use your recovery code to disable all two-factor providers from your account." + }, + "recoveryCodeTitle": { + "message": "Recovery Code" + }, + "authenticatorAppTitle": { + "message": "Authenticator App" + }, + "authenticatorAppDesc": { + "message": "Use an authenticator app (such as Authy or Google Authenticator) to generate time-based verification codes.", + "description": "'Authy' and 'Google Authenticator' are product names and should not be translated." + }, + "yubiKeyTitle": { + "message": "YubiKey OTP Security Key" + }, + "yubiKeyDesc": { + "message": "Use a YubiKey to access your account. Works with YubiKey 4 series, 5 series, and NEO devices." + }, + "duoDesc": { + "message": "Verify with Duo Security using the Duo Mobile app, SMS, phone call, or U2F security key.", + "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." + }, + "duoOrganizationDesc": { + "message": "Verify with Duo Security for your organization using the Duo Mobile app, SMS, phone call, or U2F security key.", + "description": "'Duo Security' and 'Duo Mobile' are product names and should not be translated." + }, + "u2fDesc": { + "message": "Use any FIDO U2F enabled security key to access your account." + }, + "u2fTitle": { + "message": "FIDO U2F Security Key" + }, + "emailTitle": { + "message": "E-pošta" + }, + "emailDesc": { + "message": "Potrditvene kode vam bodo posredovane po e-pošti." + }, + "continue": { + "message": "Nadaljuj" + }, + "organization": { + "message": "Organizacija" + }, + "organizations": { + "message": "Organizacije" + }, + "shareDesc": { + "message": "Choose an organization that you wish to share this item with. Sharing transfers ownership of the item to the organization. You will no longer be the direct owner of this item once it has been shared." + }, + "shareManyDesc": { + "message": "Choose an organization that you wish to share these items with. Sharing transfers ownership of the items to the organization. You will no longer be the direct owner of these items once they have been shared." + }, + "collectionsDesc": { + "message": "Edit the collections that this item is being shared with. Only organization users with access to these collections will be able to see this item." + }, + "deleteSelectedItemsDesc": { + "message": "You have selected $COUNT$ item(s) to delete. Are you sure you want to delete all of these items?", + "placeholders": { + "count": { + "content": "$1", + "example": "150" + } + } + }, + "moveSelectedItemsDesc": { + "message": "Choose a folder that you would like to move the $COUNT$ selected item(s) to.", + "placeholders": { + "count": { + "content": "$1", + "example": "150" + } + } + }, + "shareSelectedItemsCountDesc": { + "message": "You have selected $COUNT$ item(s). $SHAREABLE_COUNT$ items are sharable, $NONSHAREABLE_COUNT$ are not.", + "placeholders": { + "count": { + "content": "$1", + "example": "10" + }, + "shareable_count": { + "content": "$2", + "example": "8" + }, + "nonshareable_count": { + "content": "$3", + "example": "2" + } + } + }, + "verificationCodeTotp": { + "message": "Verification Code (TOTP)" + }, + "copyVerificationCode": { + "message": "Copy Verification Code" + }, + "warning": { + "message": "Opozorilo" + }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, + "exportWarningDesc": { + "message": "This export contains your vault data in an unencrypted format. You should not store or send the exported file over unsecure channels (such as email). Delete it immediately after you are done using it." + }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, + "exportMasterPassword": { + "message": "Enter your master password to export your vault data." + }, + "exportVault": { + "message": "Izvozi sef" + }, + "fileFormat": { + "message": "Format datoteke" + }, + "exportSuccess": { + "message": "Podatki vašega sefa so bili izvoženi." + }, + "passwordGenerator": { + "message": "Ustvarjalnik gesel" + }, + "minComplexityScore": { + "message": "Najnižja ocena kompleksnosti" + }, + "minNumbers": { + "message": "Najmanj števil" + }, + "minSpecial": { + "message": "Najmanj posebnih znakov", + "description": "Minimum Special Characters" + }, + "ambiguous": { + "message": "Avoid Ambiguous Characters" + }, + "regeneratePassword": { + "message": "Regenerate Password" + }, + "length": { + "message": "Dolžina" + }, + "numWords": { + "message": "Number of Words" + }, + "wordSeparator": { + "message": "Word Separator" + }, + "capitalize": { + "message": "Capitalize", + "description": "Make the first letter of a work uppercase." + }, + "includeNumber": { + "message": "Include Number" + }, + "passwordHistory": { + "message": "Password History" + }, + "noPasswordsInList": { + "message": "There are no passwords to list." + }, + "clear": { + "message": "Clear", + "description": "To clear something out. example: To clear browser history." + }, + "accountUpdated": { + "message": "Account Updated" + }, + "changeEmail": { + "message": "Change Email" + }, + "newEmail": { + "message": "New Email" + }, + "code": { + "message": "Code" + }, + "changeEmailDesc": { + "message": "We have emailed a verification code to $EMAIL$. Please check your email for this code and enter it below to finalize the email address change.", + "placeholders": { + "email": { + "content": "$1", + "example": "john.smith@example.com" + } + } + }, + "loggedOutWarning": { + "message": "Proceeding will log you out of your current session, requiring you to log back in. Active sessions on other devices may continue to remain active for up to one hour." + }, + "emailChanged": { + "message": "Email Changed" + }, + "logBackIn": { + "message": "Please log back in." + }, + "logBackInOthersToo": { + "message": "Please log back in. If you are using other Bitwarden applications log out and back in to those as well." + }, + "changeMasterPassword": { + "message": "Change Master Password" + }, + "masterPasswordChanged": { + "message": "Master Password Changed" + }, + "currentMasterPass": { + "message": "Current Master Password" + }, + "newMasterPass": { + "message": "New Master Password" + }, + "confirmNewMasterPass": { + "message": "Confirm New Master Password" + }, + "encKeySettings": { + "message": "Encryption Key Settings" + }, + "kdfAlgorithm": { + "message": "KDF Algorithm" + }, + "kdfIterations": { + "message": "KDF Iterations" + }, + "kdfIterationsDesc": { + "message": "Higher KDF iterations can help protect your master password from being brute forced by an attacker. We recommend a value of $VALUE$ or more.", + "placeholders": { + "value": { + "content": "$1", + "example": "100,000" + } + } + }, + "kdfIterationsWarning": { + "message": "Setting your KDF iterations too high could result in poor performance when logging into (and unlocking) Bitwarden on devices with slower CPUs. We recommend that you increase the value in increments of $INCREMENT$ and then test all of your devices.", + "placeholders": { + "increment": { + "content": "$1", + "example": "50,000" + } + } + }, + "changeKdf": { + "message": "Change KDF" + }, + "encKeySettingsChanged": { + "message": "Encryption Key Settings Changed" + }, + "dangerZone": { + "message": "Danger Zone" + }, + "dangerZoneDesc": { + "message": "Careful, these actions are not reversible!" + }, + "deauthorizeSessions": { + "message": "Deauthorize Sessions" + }, + "deauthorizeSessionsDesc": { + "message": "Concerned your account is logged in on another device? Proceed below to deauthorize all computers or devices that you have previously used. This security step is recommended if you previously used a public computer or accidentally saved your password on a device that isn't yours. This step will also clear all previously remembered two-step login sessions." + }, + "deauthorizeSessionsWarning": { + "message": "Proceeding will also log you out of your current session, requiring you to log back in. You will also be prompted for two-step login again, if enabled. Active sessions on other devices may continue to remain active for up to one hour." + }, + "sessionsDeauthorized": { + "message": "All Sessions Deauthorized" + }, + "purgeVault": { + "message": "Purge Vault" + }, + "purgedOrganizationVault": { + "message": "Purged organization vault." + }, + "purgeVaultDesc": { + "message": "Proceed below to delete all items and folders in your vault. Items that belong to an organization that you share with will not be deleted." + }, + "purgeOrgVaultDesc": { + "message": "Proceed below to delete all items in the organization's vault." + }, + "purgeVaultWarning": { + "message": "Purging your vault is permanent. It cannot be undone." + }, + "vaultPurged": { + "message": "Your vault has been purged." + }, + "deleteAccount": { + "message": "Delete Account" + }, + "deleteAccountDesc": { + "message": "Proceed below to delete your account and all associated data." + }, + "deleteAccountWarning": { + "message": "Deleting your account is permanent. It cannot be undone." + }, + "accountDeleted": { + "message": "Account Deleted" + }, + "accountDeletedDesc": { + "message": "Your account has been closed and all associated data has been deleted." + }, + "myAccount": { + "message": "My Account" + }, + "tools": { + "message": "Tools" + }, + "importData": { + "message": "Import Data" + }, + "importSuccess": { + "message": "Data has been successfully imported into your vault." + }, + "importFormatError": { + "message": "Data is not formatted correctly. Please check your import file and try again." + }, + "importNothingError": { + "message": "Nothing was imported." + }, + "selectFormat": { + "message": "Select the format of the import file" + }, + "selectImportFile": { + "message": "Select the import file" + }, + "orCopyPasteFileContents": { + "message": "or copy/paste the import file contents" + }, + "instructionsFor": { + "message": "$NAME$ Instructions", + "description": "The title for the import tool instructions.", + "placeholders": { + "name": { + "content": "$1", + "example": "LastPass (csv)" + } + } + }, + "options": { + "message": "Options" + }, + "optionsDesc": { + "message": "Customize your web vault experience." + }, + "optionsUpdated": { + "message": "Options updated" + }, + "language": { + "message": "Language" + }, + "languageDesc": { + "message": "Change the language used by the web vault." + }, + "disableIcons": { + "message": "Disable Website Icons" + }, + "disableIconsDesc": { + "message": "Website Icons provide a recognizable image next to each login item in your vault." + }, + "enableGravatars": { + "message": "Enable Gravatars", + "description": "'Gravatar' is the name of a service. See www.gravatar.com" + }, + "enableGravatarsDesc": { + "message": "Use avatar images loaded from gravatar.com." + }, + "enableFullWidth": { + "message": "Enable Full Width Layout", + "description": "Allows scaling the web vault UI's width" + }, + "enableFullWidthDesc": { + "message": "Allow the web vault to expand the full width of the browser window." + }, + "default": { + "message": "Default" + }, + "domainRules": { + "message": "Domain Rules" + }, + "domainRulesDesc": { + "message": "If you have the same login across multiple different website domains, you can mark the website as \"equivalent\". \"Global\" domains are ones already created for you by Bitwarden." + }, + "globalEqDomains": { + "message": "Global Equivalent Domains" + }, + "customEqDomains": { + "message": "Custom Equivalent Domains" + }, + "exclude": { + "message": "Exclude" + }, + "include": { + "message": "Include" + }, + "customize": { + "message": "Customize" + }, + "newCustomDomain": { + "message": "New Custom Domain" + }, + "newCustomDomainDesc": { + "message": "Enter a list of domains separated by commas. Only \"base\" domains are allowed. Do not enter subdomains. For example, enter \"google.com\" instead of \"www.google.com\". You can also enter \"androidapp://package.name\" to associate an android app with other website domains." + }, + "customDomainX": { + "message": "Custom Domain $INDEX$", + "placeholders": { + "index": { + "content": "$1", + "example": "2" + } + } + }, + "domainsUpdated": { + "message": "Domains updated" + }, + "twoStepLogin": { + "message": "Two-step Login" + }, + "twoStepLoginDesc": { + "message": "Secure your account by requiring an additional step when logging in." + }, + "twoStepLoginOrganizationDesc": { + "message": "Require two-step login for your organization's users by configuring providers at the organization level." + }, + "twoStepLoginRecoveryWarning": { + "message": "Enabling two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (ex. you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." + }, + "viewRecoveryCode": { + "message": "View Recovery Code" + }, + "providers": { + "message": "Providers", + "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." + }, + "enable": { + "message": "Enable" + }, + "enabled": { + "message": "Enabled" + }, + "premium": { + "message": "Premium", + "description": "Premium Membership" + }, + "premiumMembership": { + "message": "Premium Membership" + }, + "premiumRequired": { + "message": "Premium Required" + }, + "premiumRequiredDesc": { + "message": "A premium membership is required to use this feature." + }, + "youHavePremiumAccess": { + "message": "You have premium access" + }, + "alreadyPremiumFromOrg": { + "message": "You already have access to premium features because of an organization you are a member of." + }, + "manage": { + "message": "Manage" + }, + "disable": { + "message": "Disable" + }, + "twoStepLoginProviderEnabled": { + "message": "This two-step login provider is enabled on your account." + }, + "twoStepLoginAuthDesc": { + "message": "Enter your master password to modify two-step login settings." + }, + "twoStepAuthenticatorDesc": { + "message": "Follow these steps to set up two-step login with an authenticator app:" + }, + "twoStepAuthenticatorDownloadApp": { + "message": "Download a two-step authenticator app" + }, + "twoStepAuthenticatorNeedApp": { + "message": "Need a two-step authenticator app? Download one of the following" + }, + "iosDevices": { + "message": "iOS devices" + }, + "androidDevices": { + "message": "Android devices" + }, + "windowsDevices": { + "message": "Windows devices" + }, + "twoStepAuthenticatorAppsRecommended": { + "message": "These apps are recommended, however, other authenticator apps will also work." + }, + "twoStepAuthenticatorScanCode": { + "message": "Scan this QR code with your authenticator app" + }, + "key": { + "message": "Key" + }, + "twoStepAuthenticatorEnterCode": { + "message": "Enter the resulting 6 digit verification code from the app" + }, + "twoStepAuthenticatorReaddDesc": { + "message": "In case you need to add it to another device, below is the QR code (or key) required by your authenticator app." + }, + "twoStepDisableDesc": { + "message": "Are you sure you want to disable this two-step login provider?" + }, + "twoStepDisabled": { + "message": "Two-step login provider disabled." + }, + "twoFactorYubikeyAdd": { + "message": "Add a new YubiKey to your account" + }, + "twoFactorYubikeyPlugIn": { + "message": "Plug the YubiKey into your computer's USB port." + }, + "twoFactorYubikeySelectKey": { + "message": "Select the first empty YubiKey input field below." + }, + "twoFactorYubikeyTouchButton": { + "message": "Touch the YubiKey's button." + }, + "twoFactorYubikeySaveForm": { + "message": "Save the form." + }, + "twoFactorYubikeyWarning": { + "message": "Due to platform limitations, YubiKeys cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when YubiKeys cannot be used. Supported platforms:" + }, + "twoFactorYubikeySupportUsb": { + "message": "Web vault, desktop application, CLI, and all browser extensions on a device with a USB port that can accept your YubiKey." + }, + "twoFactorYubikeySupportMobile": { + "message": "Mobile apps on a device with NFC capabilities or a data port that can accept your YubiKey." + }, + "yubikeyX": { + "message": "YubiKey $INDEX$", + "placeholders": { + "index": { + "content": "$1", + "example": "2" + } + } + }, + "u2fkeyX": { + "message": "U2F Key $INDEX$", + "placeholders": { + "index": { + "content": "$1", + "example": "2" + } + } + }, + "nfcSupport": { + "message": "NFC Support" + }, + "twoFactorYubikeySupportsNfc": { + "message": "One of my keys supports NFC." + }, + "twoFactorYubikeySupportsNfcDesc": { + "message": "If one of your YubiKeys supports NFC (such as a YubiKey NEO), you will be prompted on mobile devices whenever NFC availability is detected." + }, + "yubikeysUpdated": { + "message": "YubiKeys updated" + }, + "disableAllKeys": { + "message": "Disable All Keys" + }, + "twoFactorDuoDesc": { + "message": "Enter the Bitwarden application information from your Duo Admin panel." + }, + "twoFactorDuoIntegrationKey": { + "message": "Integration Key" + }, + "twoFactorDuoSecretKey": { + "message": "Secret Key" + }, + "twoFactorDuoApiHostname": { + "message": "API Hostname" + }, + "twoFactorEmailDesc": { + "message": "Follow these steps to set up two-step login with email:" + }, + "twoFactorEmailEnterEmail": { + "message": "Enter the email that you wish to receive verification codes" + }, + "twoFactorEmailEnterCode": { + "message": "Enter the resulting 6 digit verification code from the email" + }, + "sendEmail": { + "message": "Send Email" + }, + "twoFactorU2fAdd": { + "message": "Add a FIDO U2F security key to your account" + }, + "removeU2fConfirmation": { + "message": "Are you sure you want to remove this security key?" + }, + "readKey": { + "message": "Read Key" + }, + "keyCompromised": { + "message": "Key is compromised." + }, + "twoFactorU2fGiveName": { + "message": "Give the security key a friendly name to identify it." + }, + "twoFactorU2fPlugInReadKey": { + "message": "Plug the security key into your computer's USB port and click the \"Read Key\" button." + }, + "twoFactorU2fTouchButton": { + "message": "If the security key has a button, touch it." + }, + "twoFactorU2fSaveForm": { + "message": "Save the form." + }, + "twoFactorU2fWarning": { + "message": "Due to platform limitations, FIDO U2F cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when FIDO U2F cannot be used. Supported platforms:" + }, + "twoFactorU2fSupportWeb": { + "message": "Web vault and browser extensions on a desktop/laptop with a U2F enabled browser (Chrome, Opera, Vivaldi, or Firefox with FIDO U2F enabled)." + }, + "twoFactorU2fWaiting": { + "message": "Waiting for you to touch the button on your security key" + }, + "twoFactorU2fClickSave": { + "message": "Click the \"Save\" button below to enable this security key for two-step login." + }, + "twoFactorU2fProblemReadingTryAgain": { + "message": "There was a problem reading the security key. Try again." + }, + "twoFactorRecoveryYourCode": { + "message": "Your Bitwarden two-step login recovery code" + }, + "twoFactorRecoveryNoCode": { + "message": "You have not enabled any two-step login providers yet. After you have enabled a two-step login provider you can check back here for your recovery code." + }, + "printCode": { + "message": "Print Code", + "description": "Print 2FA recovery code" + }, + "reports": { + "message": "Reports" + }, + "unsecuredWebsitesReport": { + "message": "Unsecured Websites Report" + }, + "unsecuredWebsitesReportDesc": { + "message": "Using unsecured websites with the http:// scheme can be dangerous. If the website allows, you should always access it using the https:// scheme so that your connection is encrypted." + }, + "unsecuredWebsitesFound": { + "message": "Unsecured Websites Found" + }, + "unsecuredWebsitesFoundDesc": { + "message": "We found $COUNT$ items in your vault with unsecured URIs. You should change their URI scheme to https:// if the website allows it.", + "placeholders": { + "count": { + "content": "$1", + "example": "8" + } + } + }, + "noUnsecuredWebsites": { + "message": "No items in your vault have unsecured URIs." + }, + "inactive2faReport": { + "message": "Inactive 2FA Report" + }, + "inactive2faReportDesc": { + "message": "Two-factor authentication (2FA) is an important security setting that helps secure your accounts. If the website offers it, you should always enable two-factor authentication." + }, + "inactive2faFound": { + "message": "Logins Without 2FA Found" + }, + "inactive2faFoundDesc": { + "message": "We found $COUNT$ website(s) in your vault that may not be configured with two-factor authentication (according to twofactorauth.org). To further protect these accounts, you should enable two-factor authentication.", + "placeholders": { + "count": { + "content": "$1", + "example": "8" + } + } + }, + "noInactive2fa": { + "message": "No websites were found in your vault with a missing two-factor authentication configuration." + }, + "instructions": { + "message": "Instructions" + }, + "exposedPasswordsReport": { + "message": "Exposed Passwords Report" + }, + "exposedPasswordsReportDesc": { + "message": "Exposed passwords are passwords that have been uncovered in known data breaches that were released publicly or sold on the dark web by hackers." + }, + "exposedPasswordsFound": { + "message": "Exposed Passwords Found" + }, + "exposedPasswordsFoundDesc": { + "message": "We found $COUNT$ items in your vault that have passwords that were exposed in known data breaches. You should change them to use a new password.", + "placeholders": { + "count": { + "content": "$1", + "example": "8" + } + } + }, + "noExposedPasswords": { + "message": "No items in your vault have passwords that have been exposed in known data breaches." + }, + "checkExposedPasswords": { + "message": "Check Exposed Passwords" + }, + "exposedXTimes": { + "message": "Exposed $COUNT$ time(s)", + "placeholders": { + "count": { + "content": "$1", + "example": "52" + } + } + }, + "weakPasswordsReport": { + "message": "Weak Passwords Report" + }, + "weakPasswordsReportDesc": { + "message": "Weak passwords can easily be guessed by hackers and automated tools that are used to crack passwords. The Bitwarden password generator can help you create strong passwords." + }, + "weakPasswordsFound": { + "message": "Weak Passwords Found" + }, + "weakPasswordsFoundDesc": { + "message": "We found $COUNT$ items in your vault with passwords that are not strong. You should update them to use stronger passwords.", + "placeholders": { + "count": { + "content": "$1", + "example": "8" + } + } + }, + "noWeakPasswords": { + "message": "No items in your vault have weak passwords." + }, + "reusedPasswordsReport": { + "message": "Reused Passwords Report" + }, + "reusedPasswordsReportDesc": { + "message": "If a service that you use is compromised, reusing the same password elsewhere can allow hackers to easily gain access to more of your online accounts. You should use a unique password for every account or service." + }, + "reusedPasswordsFound": { + "message": "Reused Passwords Found" + }, + "reusedPasswordsFoundDesc": { + "message": "We found $COUNT$ passwords that are being reused in your vault. You should change them to a unique value.", + "placeholders": { + "count": { + "content": "$1", + "example": "8" + } + } + }, + "noReusedPasswords": { + "message": "No logins in your vault have passwords that are being reused." + }, + "reusedXTimes": { + "message": "Reused $COUNT$ times", + "placeholders": { + "count": { + "content": "$1", + "example": "8" + } + } + }, + "dataBreachReport": { + "message": "Data Breach Report" + }, + "breachDesc": { + "message": "A \"breach\" is an incident where a site's data has been illegally accessed by hackers and then released publicly. Review the types of data that were compromised (email addresses, passwords, credit cards etc.) and take appropriate action, such as changing passwords." + }, + "breachCheckUsernameEmail": { + "message": "Check any usernames or email addresses that you use." + }, + "checkBreaches": { + "message": "Check Breaches" + }, + "breachUsernameNotFound": { + "message": "$USERNAME$ was not found in any known data breaches.", + "placeholders": { + "username": { + "content": "$1", + "example": "user@example.com" + } + } + }, + "goodNews": { + "message": "Good News", + "description": "ex. Good News, No Breached Accounts Found!" + }, + "breachUsernameFound": { + "message": "$USERNAME$ was found in $COUNT$ different data breaches online.", + "placeholders": { + "username": { + "content": "$1", + "example": "user@example.com" + }, + "count": { + "content": "$2", + "example": "7" + } + } + }, + "breachFound": { + "message": "Breached Accounts Found" + }, + "compromisedData": { + "message": "Compromised data" + }, + "website": { + "message": "Website" + }, + "affectedUsers": { + "message": "Affected Users" + }, + "breachOccurred": { + "message": "Breach Occurred" + }, + "breachReported": { + "message": "Breach Reported" + }, + "reportError": { + "message": "An error occurred trying to load the report. Try again" + }, + "billing": { + "message": "Billing" + }, + "accountCredit": { + "message": "Account Credit", + "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." + }, + "accountBalance": { + "message": "Account Balance", + "description": "Financial term. In the case of Bitwarden, a positive balance means that you owe money, while a negative balance means that you have a credit (Bitwarden owes you money)." + }, + "addCredit": { + "message": "Add Credit", + "description": "Add more credit to your account's balance." + }, + "amount": { + "message": "Amount", + "description": "Dollar amount, or quantity." + }, + "creditDelayed": { + "message": "Added credit will appear on your account after the payment has been fully processed. Some payment methods are delayed and can take longer to process than others." + }, + "makeSureEnoughCredit": { + "message": "Please make sure that your account has enough credit available for this purchase. If your account does not have enough credit available, your default payment method on file will be used for the difference. You can add credit to your account from the Billing page." + }, + "creditAppliedDesc": { + "message": "Your account's credit can be used to make purchases. Any available credit will be automatically applied towards invoices generated for this account." + }, + "goPremium": { + "message": "Go Premium", + "description": "Another way of saying \"Get a premium membership\"" + }, + "premiumUpdated": { + "message": "You've upgraded to premium." + }, + "premiumUpgradeUnlockFeatures": { + "message": "Upgrade your account to a premium membership and unlock some great additional features." + }, + "premiumSignUpStorage": { + "message": "1 GB encrypted storage for file attachments." + }, + "premiumSignUpTwoStep": { + "message": "Additional two-step login options such as YubiKey, FIDO U2F, and Duo." + }, + "premiumSignUpReports": { + "message": "Password hygiene, account health, and data breach reports to keep your vault safe." + }, + "premiumSignUpTotp": { + "message": "TOTP verification code (2FA) generator for logins in your vault." + }, + "premiumSignUpSupport": { + "message": "Priority customer support." + }, + "premiumSignUpFuture": { + "message": "All future premium features. More coming soon!" + }, + "premiumPrice": { + "message": "All for just $PRICE$ /year!", + "placeholders": { + "price": { + "content": "$1", + "example": "$10" + } + } + }, + "addons": { + "message": "Addons" + }, + "premiumAccess": { + "message": "Premium Access" + }, + "premiumAccessDesc": { + "message": "You can add premium access to all members of your organization for $PRICE$ /$INTERVAL$.", + "placeholders": { + "price": { + "content": "$1", + "example": "$3.33" + }, + "interval": { + "content": "$2", + "example": "'month' or 'year'" + } + } + }, + "additionalStorageGb": { + "message": "Additional Storage (GB)" + }, + "additionalStorageGbDesc": { + "message": "# of additional GB" + }, + "additionalStorageIntervalDesc": { + "message": "Your plan comes with $SIZE$ of encrypted file storage. You can add additional storage for $PRICE$ per GB /$INTERVAL$.", + "placeholders": { + "size": { + "content": "$1", + "example": "1 GB" + }, + "price": { + "content": "$2", + "example": "$4.00" + }, + "interval": { + "content": "$3", + "example": "'month' or 'year'" + } + } + }, + "summary": { + "message": "Summary" + }, + "total": { + "message": "Total" + }, + "year": { + "message": "year" + }, + "month": { + "message": "month" + }, + "monthAbbr": { + "message": "mo.", + "description": "Short abbreviation for 'month'" + }, + "paymentChargedAnnually": { + "message": "Your payment method will be charged immediately and then on a recurring basis each year. You may cancel at any time." + }, + "paymentCharged": { + "message": "Your payment method will be charged immediately and then on a recurring basis each $INTERVAL$. You may cancel at any time.", + "placeholders": { + "interval": { + "content": "$1", + "example": "month or year" + } + } + }, + "paymentChargedWithTrial": { + "message": "Your plan comes with a free 7 day trial. Your payment method will not be charged until the trial has ended. Billing will occur on a recurring basis each $INTERVAL$. You may cancel at any time.", + "placeholders": { + "interval": { + "content": "$1", + "example": "month or year" + } + } + }, + "paymentInformation": { + "message": "Payment Information" + }, + "billingInformation": { + "message": "Billing Information" + }, + "creditCard": { + "message": "Credit Card" + }, + "paypalClickSubmit": { + "message": "Click the PayPal button to log into your PayPal account, then click the Submit button below to continue." + }, + "cancelSubscription": { + "message": "Cancel Subscription" + }, + "subscriptionCanceled": { + "message": "The subscription has been canceled." + }, + "pendingCancellation": { + "message": "Pending Cancellation" + }, + "subscriptionPendingCanceled": { + "message": "The subscription has been marked for cancellation at the end of the current billing period." + }, + "reinstateSubscription": { + "message": "Reinstate Subscription" + }, + "reinstateConfirmation": { + "message": "Are you sure you want to remove the pending cancellation request and reinstate your subscription?" + }, + "reinstated": { + "message": "The subscription has been reinstated." + }, + "cancelConfirmation": { + "message": "Are you sure you want to cancel? You will lose access to all of this subscription's features at the end of this billing cycle." + }, + "canceledSubscription": { + "message": "The subscription has been canceled." + }, + "neverExpires": { + "message": "Never Expires" + }, + "status": { + "message": "Status" + }, + "nextCharge": { + "message": "Next Charge" + }, + "details": { + "message": "Details" + }, + "downloadLicense": { + "message": "Download License" + }, + "updateLicense": { + "message": "Update License" + }, + "updatedLicense": { + "message": "Updated license" + }, + "manageSubscription": { + "message": "Manage Subscription" + }, + "storage": { + "message": "Storage" + }, + "addStorage": { + "message": "Add Storage" + }, + "removeStorage": { + "message": "Remove Storage" + }, + "subscriptionStorage": { + "message": "Your subscription has a total of $MAX_STORAGE$ GB of encrypted file storage. You are currently using $USED_STORAGE$.", + "placeholders": { + "max_storage": { + "content": "$1", + "example": "4" + }, + "used_storage": { + "content": "$2", + "example": "65 MB" + } + } + }, + "paymentMethod": { + "message": "Payment Method" + }, + "noPaymentMethod": { + "message": "No payment method on file." + }, + "addPaymentMethod": { + "message": "Add Payment Method" + }, + "changePaymentMethod": { + "message": "Change Payment Method" + }, + "invoices": { + "message": "Invoices" + }, + "noInvoices": { + "message": "No invoices." + }, + "paid": { + "message": "Paid", + "description": "Past tense status of an invoice. ex. Paid or unpaid." + }, + "unpaid": { + "message": "Unpaid", + "description": "Past tense status of an invoice. ex. Paid or unpaid." + }, + "transactions": { + "message": "Transactions", + "description": "Payment/credit transactions." + }, + "noTransactions": { + "message": "No transactions." + }, + "chargeNoun": { + "message": "Charge", + "description": "Noun. A charge from a payment method." + }, + "refundNoun": { + "message": "Refund", + "description": "Noun. A refunded payment that was charged." + }, + "chargesStatement": { + "message": "Any charges will appear on your statement as $STATEMENT_NAME$.", + "placeholders": { + "statement_name": { + "content": "$1", + "example": "BITWARDEN" + } + } + }, + "gbStorageAdd": { + "message": "GB of Storage To Add" + }, + "gbStorageRemove": { + "message": "GB of Storage To Remove" + }, + "storageAddNote": { + "message": "Adding storage will result in adjustments to your billing totals and immediately charge your payment method on file. The first charge will be prorated for the remainder of the current billing cycle." + }, + "storageRemoveNote": { + "message": "Removing storage will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." + }, + "adjustedStorage": { + "message": "Adjusted $AMOUNT$ GB of storage.", + "placeholders": { + "amount": { + "content": "$1", + "example": "5" + } + } + }, + "contactSupport": { + "message": "Contact Customer Support" + }, + "updatedPaymentMethod": { + "message": "Updated payment method." + }, + "purchasePremium": { + "message": "Purchase Premium" + }, + "licenseFile": { + "message": "License File" + }, + "licenseFileDesc": { + "message": "Your license file will be named something like $FILE_NAME$", + "placeholders": { + "file_name": { + "content": "$1", + "example": "bitwarden_premium_license.json" + } + } + }, + "uploadLicenseFilePremium": { + "message": "To upgrade your account to a premium membership you need to upload a valid license file." + }, + "uploadLicenseFileOrg": { + "message": "To create an on-premises hosted organization you need to upload a valid license file." + }, + "accountEmailMustBeVerified": { + "message": "Your account's email address must be verified." + }, + "newOrganizationDesc": { + "message": "Organizations allow you to share parts of your vault with others as well as manage related users for a specific entity such as a family, small team, or large company." + }, + "generalInformation": { + "message": "General Information" + }, + "organizationName": { + "message": "Organization Name" + }, + "accountOwnedBusiness": { + "message": "This account is owned by a business." + }, + "billingEmail": { + "message": "Billing Email" + }, + "businessName": { + "message": "Business Name" + }, + "chooseYourPlan": { + "message": "Choose Your Plan" + }, + "users": { + "message": "Users" + }, + "userSeats": { + "message": "User Seats" + }, + "additionalUserSeats": { + "message": "Additional User Seats" + }, + "userSeatsDesc": { + "message": "# of user seats" + }, + "userSeatsAdditionalDesc": { + "message": "Your plan comes with $BASE_SEATS$ user seats. You can add additional users for $SEAT_PRICE$ per user /month.", + "placeholders": { + "base_seats": { + "content": "$1", + "example": "5" + }, + "seat_price": { + "content": "$2", + "example": "$2.00" + } + } + }, + "userSeatsHowManyDesc": { + "message": "How many user seats do you need? You can also add additional seats later if needed." + }, + "planNameFree": { + "message": "Free", + "description": "Free as in 'free beer'." + }, + "planDescFree": { + "message": "For testing or personal users to share with $COUNT$ other user.", + "placeholders": { + "count": { + "content": "$1", + "example": "1" + } + } + }, + "planNameFamilies": { + "message": "Families" + }, + "planDescFamilies": { + "message": "For personal use, to share with family & friends." + }, + "planNameTeams": { + "message": "Teams" + }, + "planDescTeams": { + "message": "For businesses and other team organizations." + }, + "planNameEnterprise": { + "message": "Enterprise" + }, + "planDescEnterprise": { + "message": "For businesses and other large organizations." + }, + "freeForever": { + "message": "Free Forever" + }, + "includesXUsers": { + "message": "includes $COUNT$ users", + "placeholders": { + "count": { + "content": "$1", + "example": "5" + } + } + }, + "additionalUsers": { + "message": "Additional Users" + }, + "costPerUser": { + "message": "$COST$ per user", + "placeholders": { + "cost": { + "content": "$1", + "example": "$3" + } + } + }, + "limitedUsers": { + "message": "Limited to $COUNT$ users (including you)", + "placeholders": { + "count": { + "content": "$1", + "example": "2" + } + } + }, + "limitedCollections": { + "message": "Limited to $COUNT$ collections", + "placeholders": { + "count": { + "content": "$1", + "example": "2" + } + } + }, + "addShareLimitedUsers": { + "message": "Add and share with up to $COUNT$ users", + "placeholders": { + "count": { + "content": "$1", + "example": "5" + } + } + }, + "addShareUnlimitedUsers": { + "message": "Add and share with unlimited users" + }, + "createUnlimitedCollections": { + "message": "Create unlimited Collections" + }, + "gbEncryptedFileStorage": { + "message": "$SIZE$ encrypted file storage", + "placeholders": { + "size": { + "content": "$1", + "example": "1 GB" + } + } + }, + "onPremHostingOptional": { + "message": "On-premise hosting (optional)" + }, + "usersGetPremium": { + "message": "Users get access to Premium Features" + }, + "controlAccessWithGroups": { + "message": "Control user access with Groups" + }, + "syncUsersFromDirectory": { + "message": "Sync your users and Groups from a directory" + }, + "trackAuditLogs": { + "message": "Track user actions with audit logs" + }, + "enforce2faDuo": { + "message": "Enforce 2FA with Duo" + }, + "priorityCustomerSupport": { + "message": "Priority customer support" + }, + "xDayFreeTrial": { + "message": "$COUNT$ day free trial, cancel anytime", + "placeholders": { + "count": { + "content": "$1", + "example": "7" + } + } + }, + "monthly": { + "message": "Monthly" + }, + "annually": { + "message": "Annually" + }, + "basePrice": { + "message": "Base Price" + }, + "organizationCreated": { + "message": "Organization Created" + }, + "organizationReadyToGo": { + "message": "Your new organization is ready to go!" + }, + "organizationUpgraded": { + "message": "Your organization has been upgraded." + }, + "leave": { + "message": "Leave" + }, + "leaveOrganizationConfirmation": { + "message": "Are you sure you want to leave this organization?" + }, + "leftOrganization": { + "message": "You have left the organization." + }, + "defaultCollection": { + "message": "Default Collection" + }, + "getHelp": { + "message": "Get Help" + }, + "getApps": { + "message": "Get the Apps" + }, + "loggedInAs": { + "message": "Logged in as" + }, + "eventLogs": { + "message": "Event Logs" + }, + "people": { + "message": "People" + }, + "policies": { + "message": "Policies" + }, + "editPolicy": { + "message": "Edit Policy" + }, + "groups": { + "message": "Groups" + }, + "newGroup": { + "message": "New Group" + }, + "addGroup": { + "message": "Add Group" + }, + "editGroup": { + "message": "Edit Group" + }, + "deleteGroupConfirmation": { + "message": "Are you sure you want to delete this group?" + }, + "removeUserConfirmation": { + "message": "Are you sure you want to remove this user?" + }, + "externalId": { + "message": "External Id" + }, + "externalIdDesc": { + "message": "The external id can be used as a reference or to link this resource to an external system such as a user directory." + }, + "accessControl": { + "message": "Access Control" + }, + "groupAccessAllItems": { + "message": "This group can access and modify all items." + }, + "groupAccessSelectedCollections": { + "message": "This group can access only the selected collections." + }, + "readOnly": { + "message": "Read Only" + }, + "newCollection": { + "message": "New Collection" + }, + "addCollection": { + "message": "Add Collection" + }, + "editCollection": { + "message": "Edit Collection" + }, + "deleteCollectionConfirmation": { + "message": "Are you sure you want to delete this collection?" + }, + "editUser": { + "message": "Edit User" + }, + "inviteUser": { + "message": "Invite User" + }, + "inviteUserDesc": { + "message": "Invite a new user to your organization by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "inviteMultipleEmailDesc": { + "message": "You can invite up to $COUNT$ users at a time by comma separating a list of email addresses.", + "placeholders": { + "count": { + "content": "$1", + "example": "20" + } + } + }, + "userUsingTwoStep": { + "message": "This user is using two-step login to protect their account." + }, + "userAccessAllItems": { + "message": "This user can access and modify all items." + }, + "userAccessSelectedCollections": { + "message": "This user can access only the selected collections." + }, + "search": { + "message": "Search" + }, + "invited": { + "message": "Invited" + }, + "accepted": { + "message": "Accepted" + }, + "confirmed": { + "message": "Confirmed" + }, + "owner": { + "message": "Owner" + }, + "ownerDesc": { + "message": "The highest access user that can manage all aspects of your organization." + }, + "admin": { + "message": "Admin" + }, + "adminDesc": { + "message": "Admins can access and manage all items, collections and users in your organization." + }, + "user": { + "message": "User" + }, + "userDesc": { + "message": "A regular user with access to assigned collections in your organization." + }, + "manager": { + "message": "Manager" + }, + "managerDesc": { + "message": "Managers can access and manage assigned collections in your organization." + }, + "all": { + "message": "All" + }, + "refresh": { + "message": "Refresh" + }, + "timestamp": { + "message": "Timestamp" + }, + "event": { + "message": "Event" + }, + "unknown": { + "message": "Unknown" + }, + "loadMore": { + "message": "Load More" + }, + "mobile": { + "message": "Mobile", + "description": "Mobile app" + }, + "extension": { + "message": "Extension", + "description": "Browser extension/addon" + }, + "desktop": { + "message": "Desktop", + "description": "Desktop app" + }, + "webVault": { + "message": "Web Vault" + }, + "loggedIn": { + "message": "Logged in." + }, + "changedPassword": { + "message": "Changed account password." + }, + "enabledUpdated2fa": { + "message": "Enabled/updated two-step login." + }, + "disabled2fa": { + "message": "Disabled two-step login." + }, + "recovered2fa": { + "message": "Recovered account from two-step login." + }, + "failedLogin": { + "message": "Login attempt failed with incorrect password." + }, + "failedLogin2fa": { + "message": "Login attempt failed with incorrect two-step login." + }, + "exportedVault": { + "message": "Exported vault." + }, + "exportedOrganizationVault": { + "message": "Exported organization vault." + }, + "editedOrgSettings": { + "message": "Edited organization settings." + }, + "createdItemId": { + "message": "Created item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Google" + } + } + }, + "editedItemId": { + "message": "Edited item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Google" + } + } + }, + "deletedItemId": { + "message": "Sent item $ID$ to trash.", + "placeholders": { + "id": { + "content": "$1", + "example": "Google" + } + } + }, + "sharedItemId": { + "message": "Shared item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "'Google'" + } + } + }, + "viewedItemId": { + "message": "Viewed item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Google" + } + } + }, + "viewedPasswordItemId": { + "message": "Viewed password for item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Google" + } + } + }, + "viewedHiddenFieldItemId": { + "message": "Viewed hidden field for item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Google" + } + } + }, + "viewedSecurityCodeItemId": { + "message": "Viewed security code for item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Google" + } + } + }, + "copiedPasswordItemId": { + "message": "Copied password for item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Google" + } + } + }, + "copiedHiddenFieldItemId": { + "message": "Copied hidden field for item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Google" + } + } + }, + "copiedSecurityCodeItemId": { + "message": "Copied security code for item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Google" + } + } + }, + "autofilledItemId": { + "message": "Auto-filled item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Google" + } + } + }, + "createdCollectionId": { + "message": "Created collection $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Server Passwords" + } + } + }, + "editedCollectionId": { + "message": "Edited collection $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Server Passwords" + } + } + }, + "deletedCollectionId": { + "message": "Deleted collection $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Server Passwords" + } + } + }, + "editedPolicyId": { + "message": "Edited policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "createdGroupId": { + "message": "Created group $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Developers" + } + } + }, + "editedGroupId": { + "message": "Edited group $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Developers" + } + } + }, + "deletedGroupId": { + "message": "Deleted group $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Developers" + } + } + }, + "removedUserId": { + "message": "Removed user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, + "createdAttachmentForItem": { + "message": "Created attachment for item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Google" + } + } + }, + "deletedAttachmentForItem": { + "message": "Deleted attachment for item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Google" + } + } + }, + "editedCollectionsForItem": { + "message": "Edited collections for item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Google" + } + } + }, + "invitedUserId": { + "message": "Invited user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, + "confirmedUserId": { + "message": "Confirmed user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, + "editedUserId": { + "message": "Edited user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, + "editedGroupsForUser": { + "message": "Edited groups for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, + "device": { + "message": "Device" + }, + "view": { + "message": "View" + }, + "invalidDateRange": { + "message": "Invalid date range." + }, + "errorOccurred": { + "message": "An error has occurred." + }, + "userAccess": { + "message": "User Access" + }, + "userType": { + "message": "User Type" + }, + "groupAccess": { + "message": "Group Access" + }, + "groupAccessUserDesc": { + "message": "Edit the groups that this user belongs to." + }, + "invitedUsers": { + "message": "Invited user(s)." + }, + "resendInvitation": { + "message": "Resend Invitation" + }, + "hasBeenReinvited": { + "message": "$USER$ has been reinvited.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "confirm": { + "message": "Confirm" + }, + "confirmUser": { + "message": "Confirm User" + }, + "hasBeenConfirmed": { + "message": "$USER$ has been confirmed.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "confirmUsers": { + "message": "Confirm Users" + }, + "usersNeedConfirmed": { + "message": "You have users that have accepted their invitation, but still need to be confirmed. Users will not have access to the organization until they are confirmed." + }, + "startDate": { + "message": "Start Date" + }, + "endDate": { + "message": "End Date" + }, + "verifyEmail": { + "message": "Verify Email" + }, + "verifyEmailDesc": { + "message": "Verify your account's email address to unlock access to all features." + }, + "verifyEmailFirst": { + "message": "Your account's email address first must be verified." + }, + "checkInboxForVerification": { + "message": "Check your email inbox for a verification link." + }, + "emailVerified": { + "message": "Your email has been verified." + }, + "emailVerifiedFailed": { + "message": "Unable to verify your email. Try sending a new verification email." + }, + "updateBrowser": { + "message": "Update Browser" + }, + "updateBrowserDesc": { + "message": "You are using an unsupported web browser. The web vault may not function properly." + }, + "joinOrganization": { + "message": "Join Organization" + }, + "joinOrganizationDesc": { + "message": "You've been invited to join the organization listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "inviteAccepted": { + "message": "Invitation Accepted" + }, + "inviteAcceptedDesc": { + "message": "You can access this organization once an administrator confirms your membership. We'll send you an email when that happens." + }, + "inviteAcceptFailed": { + "message": "Unable to accept invitation. Ask an organization admin to send a new invitation." + }, + "inviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "rememberEmail": { + "message": "Remember email" + }, + "recoverAccountTwoStepDesc": { + "message": "If you cannot access your account through your normal two-step login methods, you can use your two-step login recovery code to disable all two-step providers on your account." + }, + "recoverAccountTwoStep": { + "message": "Recover Account Two-Step Login" + }, + "twoStepRecoverDisabled": { + "message": "Two-step login has been disabled on your account." + }, + "learnMore": { + "message": "Learn more" + }, + "deleteRecoverDesc": { + "message": "Enter your email address below to recover and delete your account." + }, + "deleteRecoverEmailSent": { + "message": "If your account exists, we've sent you an email with further instructions." + }, + "deleteRecoverConfirmDesc": { + "message": "You have requested to delete your Bitwarden account. Click the button below to confirm." + }, + "myOrganization": { + "message": "My Organization" + }, + "deleteOrganization": { + "message": "Delete Organization" + }, + "deleteOrganizationDesc": { + "message": "Proceed below to delete this organization and all associated data. Individual user accounts will remain, though they will not be associated to this organization anymore. " + }, + "deleteOrganizationWarning": { + "message": "Deleting the organization is permanent. It cannot be undone." + }, + "organizationDeleted": { + "message": "Organization Deleted" + }, + "organizationDeletedDesc": { + "message": "The organization and all associated data has been deleted." + }, + "organizationUpdated": { + "message": "Organization updated" + }, + "taxInformation": { + "message": "Tax Information" + }, + "taxInformationDesc": { + "message": "For customers within the US, ZIP code is required to satisfy sales tax requirements, for other countries you may optionally provide a tax identification number (VAT/GST) and/or address to appear on your invoices." + }, + "billingPlan": { + "message": "Plan", + "description": "A billing plan/package. For example: families, teams, enterprise, etc." + }, + "changeBillingPlan": { + "message": "Change Plan", + "description": "A billing plan/package. For example: families, teams, enterprise, etc." + }, + "changeBillingPlanUpgrade": { + "message": "Upgrade your account to another plan by providing the information below. Please ensure that you have an active payment method added to the account.", + "description": "A billing plan/package. For example: families, teams, enterprise, etc." + }, + "changeBillingPlanDesc": { + "message": "Contact customer support if you would like to change your plan. Please ensure that you have an active payment method added to the account.", + "description": "A billing plan/package. For example: families, teams, enterprise, etc." + }, + "invoiceNumber": { + "message": "Invoice #$NUMBER$", + "description": "ex. Invoice #79C66F0-0001", + "placeholders": { + "number": { + "content": "$1", + "example": "79C66F0-0001" + } + } + }, + "viewInvoice": { + "message": "View Invoice" + }, + "downloadInvoice": { + "message": "Download Invoice" + }, + "verifyBankAccount": { + "message": "Verify Bank Account" + }, + "verifyBankAccountDesc": { + "message": "We have made two micro-deposits to your bank account (it may take 1-2 business days to show up). Enter these amounts to verify the bank account." + }, + "verifyBankAccountInitialDesc": { + "message": "Payment with a bank account is only available to customers in the United States. You will be required to verify your bank account. We will make two micro-deposits within the next 1-2 business days. Enter these amounts on the organization's billing page to verify the bank account." + }, + "verifyBankAccountFailureWarning": { + "message": "Failure to verify the bank account will result in a missed payment and your subscription being disabled." + }, + "verifiedBankAccount": { + "message": "Bank account has been verified." + }, + "bankAccount": { + "message": "Bank Account" + }, + "amountX": { + "message": "Amount $COUNT$", + "description": "Used in bank account verification of micro-deposits. Amount, as in a currency amount. Ex. Amount 1 is $2.00, Amount 2 is $1.50", + "placeholders": { + "count": { + "content": "$1", + "example": "1" + } + } + }, + "routingNumber": { + "message": "Routing Number", + "description": "Bank account routing number" + }, + "accountNumber": { + "message": "Account Number" + }, + "accountHolderName": { + "message": "Account Holder Name" + }, + "bankAccountType": { + "message": "Account Type" + }, + "bankAccountTypeCompany": { + "message": "Company (Business)" + }, + "bankAccountTypeIndividual": { + "message": "Individual (Personal)" + }, + "enterInstallationId": { + "message": "Enter your installation id" + }, + "addSeats": { + "message": "Add Seats", + "description": "Seat = User Seat" + }, + "removeSeats": { + "message": "Remove Seats", + "description": "Seat = User Seat" + }, + "subscriptionUserSeats": { + "message": "Your subscription allows for a total of $COUNT$ users.", + "placeholders": { + "count": { + "content": "$1", + "example": "50" + } + } + }, + "seatsToAdd": { + "message": "Seats To Add" + }, + "seatsToRemove": { + "message": "Seats To Remove" + }, + "seatsAddNote": { + "message": "Adding user seats will result in adjustments to your billing totals and immediately charge your payment method on file. The first charge will be prorated for the remainder of the current billing cycle." + }, + "seatsRemoveNote": { + "message": "Removing user seats will result in adjustments to your billing totals that will be prorated as credits toward your next billing charge." + }, + "adjustedSeats": { + "message": "Adjusted $AMOUNT$ user seats.", + "placeholders": { + "amount": { + "content": "$1", + "example": "15" + } + } + }, + "keyUpdated": { + "message": "Key Updated" + }, + "updateKeyTitle": { + "message": "Update Key" + }, + "updateEncryptionKey": { + "message": "Update Encryption Key" + }, + "updateEncryptionKeyShortDesc": { + "message": "You are currently using an outdated encryption scheme." + }, + "updateEncryptionKeyDesc": { + "message": "We've moved to larger encryption keys that provide better security and access to newer features. Updating your encryption key is quick and easy. Just type your master password below. This update will eventually become mandatory." + }, + "updateEncryptionKeyWarning": { + "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." + }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, + "subscription": { + "message": "Subscription" + }, + "loading": { + "message": "Loading" + }, + "upgrade": { + "message": "Upgrade" + }, + "upgradeOrganization": { + "message": "Upgrade Organization" + }, + "upgradeOrganizationDesc": { + "message": "This feature is not available for free organizations. Switch to a paid plan to unlock more features." + }, + "createOrganizationStep1": { + "message": "Create Organization: Step 1" + }, + "createOrganizationCreatePersonalAccount": { + "message": "Before creating your organization, you first need to create a free personal account." + }, + "refunded": { + "message": "Refunded" + }, + "nothingSelected": { + "message": "You have not selected anything." + }, + "acceptPolicies": { + "message": "By checking this box you agree to the following:" + }, + "acceptPoliciesError": { + "message": "Terms of Service and Privacy Policy have not been acknowledged." + }, + "termsOfService": { + "message": "Terms of Service" + }, + "privacyPolicy": { + "message": "Privacy Policy" + }, + "filters": { + "message": "Filters" + }, + "vaultTimeout": { + "message": "Vault Timeout" + }, + "vaultTimeoutDesc": { + "message": "Choose when your vault will timeout and perform the selected action." + }, + "oneMinute": { + "message": "1 minute" + }, + "fiveMinutes": { + "message": "5 minutes" + }, + "fifteenMinutes": { + "message": "15 minutes" + }, + "thirtyMinutes": { + "message": "30 minutes" + }, + "oneHour": { + "message": "1 hour" + }, + "fourHours": { + "message": "4 hours" + }, + "onRefresh": { + "message": "On Browser Refresh" + }, + "dateUpdated": { + "message": "Updated", + "description": "ex. Date this item was updated" + }, + "datePasswordUpdated": { + "message": "Password Updated", + "description": "ex. Date this password was updated" + }, + "organizationIsDisabled": { + "message": "Organization is disabled." + }, + "licenseIsExpired": { + "message": "License is expired." + }, + "updatedUsers": { + "message": "Updated users" + }, + "selected": { + "message": "Selected" + }, + "ownership": { + "message": "Ownership" + }, + "whoOwnsThisItem": { + "message": "Who owns this item?" + }, + "strong": { + "message": "Strong", + "description": "ex. A strong password. Scale: Very Weak -> Weak -> Good -> Strong" + }, + "good": { + "message": "Good", + "description": "ex. A good password. Scale: Very Weak -> Weak -> Good -> Strong" + }, + "weak": { + "message": "Weak", + "description": "ex. A weak password. Scale: Very Weak -> Weak -> Good -> Strong" + }, + "veryWeak": { + "message": "Very Weak", + "description": "ex. A very weak password. Scale: Very Weak -> Weak -> Good -> Strong" + }, + "weakMasterPassword": { + "message": "Weak Master Password" + }, + "weakMasterPasswordDesc": { + "message": "The master password you have chosen is weak. You should use a strong master password (or a passphrase) to properly protect your Bitwarden account. Are you sure you want to use this master password?" + }, + "rotateAccountEncKey": { + "message": "Also rotate my account's encryption key" + }, + "rotateEncKeyTitle": { + "message": "Rotate Encryption Key" + }, + "rotateEncKeyConfirmation": { + "message": "Are you sure you want to rotate your account's encryption key?" + }, + "attachmentsNeedFix": { + "message": "This item has old file attachments that need to be fixed." + }, + "attachmentFixDesc": { + "message": "This is an old file attachment the needs to be fixed. Click to learn more." + }, + "fix": { + "message": "Fix", + "description": "This is a verb. ex. 'Fix The Car'" + }, + "oldAttachmentsNeedFixDesc": { + "message": "There are old file attachments in your vault that need to be fixed before you can rotate your account's encryption key." + }, + "yourAccountsFingerprint": { + "message": "Your account's fingerprint phrase", + "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." + }, + "fingerprintEnsureIntegrityVerify": { + "message": "To ensure the integrity of your encryption keys, please verify the user's fingerprint phrase before continuing.", + "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." + }, + "dontAskFingerprintAgain": { + "message": "Don't ask to verify fingerprint phrase again", + "description": "A 'fingerprint phrase' is a unique word phrase (similar to a passphrase) that a user can use to authenticate their public key with another user, for the purposes of sharing." + }, + "free": { + "message": "Free", + "description": "Free, as in 'Free beer'" + }, + "apiKey": { + "message": "API Key" + }, + "apiKeyDesc": { + "message": "Your API key can be used to authenticate to the Bitwarden public API." + }, + "apiKeyRotateDesc": { + "message": "Rotating the API key will invalidate the previous key. You can rotate your API key if you believe that the current key is no longer safe to use." + }, + "apiKeyWarning": { + "message": "Your API key has full access to the organization. It should be kept secret." + }, + "userApiKeyDesc": { + "message": "Your API key can be used to authenticate in the Bitwarden CLI." + }, + "userApiKeyWarning": { + "message": "Your API key is an alternative authentication mechanism. It should be kept secret." + }, + "oauth2ClientCredentials": { + "message": "OAuth 2.0 Client Credentials", + "description": "'OAuth 2.0' is a programming protocol. It should probably not be translated." + }, + "viewApiKey": { + "message": "View API Key" + }, + "rotateApiKey": { + "message": "Rotate API Key" + }, + "selectOneCollection": { + "message": "You must select at least one collection." + }, + "couldNotChargeCardPayInvoice": { + "message": "We were not able to charge your card. Please view and pay the unpaid invoice listed below." + }, + "inAppPurchase": { + "message": "In-app Purchase" + }, + "cannotPerformInAppPurchase": { + "message": "You cannot perform this action while using an in-app purchase payment method." + }, + "manageSubscriptionFromStore": { + "message": "You must manage your subscription from the store where your in-app purchase was made." + }, + "minLength": { + "message": "Minimum Length" + }, + "clone": { + "message": "Clone" + }, + "masterPassPolicyDesc": { + "message": "Set minimum requirements for master password strength." + }, + "twoStepLoginPolicyDesc": { + "message": "Require users to set up two-step login on their personal accounts." + }, + "twoStepLoginPolicyWarning": { + "message": "Organization members who are not Owners or Administrators and do not have two-step login enabled for their personal account will be removed from the organization and will receive an email notifying them about the change." + }, + "twoStepLoginPolicyUserWarning": { + "message": "You are a member of an organization that requires two-step login to be enabled on your user account. If you disable all two-step login providers you will be automatically removed from these organizations." + }, + "passwordGeneratorPolicyDesc": { + "message": "Set minimum requirements for password generator configuration." + }, + "passwordGeneratorPolicyInEffect": { + "message": "One or more organization policies are affecting your generator settings." + }, + "masterPasswordPolicyInEffect": { + "message": "One or more organization policies require your master password to meet the following requirements:" + }, + "policyInEffectMinComplexity": { + "message": "Minimum complexity score of $SCORE$", + "placeholders": { + "score": { + "content": "$1", + "example": "4" + } + } + }, + "policyInEffectMinLength": { + "message": "Minimum length of $LENGTH$", + "placeholders": { + "length": { + "content": "$1", + "example": "14" + } + } + }, + "policyInEffectUppercase": { + "message": "Contain one or more uppercase characters" + }, + "policyInEffectLowercase": { + "message": "Contain one or more lowercase characters" + }, + "policyInEffectNumbers": { + "message": "Contain one or more numbers" + }, + "policyInEffectSpecial": { + "message": "Contain one or more of the following special characters $CHARS$", + "placeholders": { + "chars": { + "content": "$1", + "example": "!@#$%^&*" + } + } + }, + "masterPasswordPolicyRequirementsNotMet": { + "message": "Your new master password does not meet the policy requirements." + }, + "minimumNumberOfWords": { + "message": "Minimum Number of Words" + }, + "defaultType": { + "message": "Default Type" + }, + "userPreference": { + "message": "User Preference" + }, + "vaultTimeoutAction": { + "message": "Vault Timeout Action" + }, + "vaultTimeoutActionLockDesc": { + "message": "A locked vault requires that you re-enter your master password to access it again." + }, + "vaultTimeoutActionLogOutDesc": { + "message": "A logged out vault requires that you re-authenticate to access it again." + }, + "lock": { + "message": "Lock", + "description": "Verb form: to make secure or inaccesible by" + }, + "trash": { + "message": "Trash", + "description": "Noun: A special folder for holding deleted items that have not yet been permanently deleted" + }, + "searchTrash": { + "message": "Search Trash" + }, + "permanentlyDelete": { + "message": "Permanently Delete" + }, + "permanentlyDeleteSelected": { + "message": "Permanently Delete Selected" + }, + "permanentlyDeleteItem": { + "message": "Permanently Delete Item" + }, + "permanentlyDeleteItemConfirmation": { + "message": "Are you sure you want to permanently delete this item?" + }, + "permanentlyDeletedItem": { + "message": "Permanently Deleted item" + }, + "permanentlyDeletedItems": { + "message": "Permanently Deleted items" + }, + "permanentlyDeleteSelectedItemsDesc": { + "message": "You have selected $COUNT$ item(s) to permanently delete. Are you sure you want to permanently delete all of these items?", + "placeholders": { + "count": { + "content": "$1", + "example": "150" + } + } + }, + "permanentlyDeletedItemId": { + "message": "Permanently Deleted item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Google" + } + } + }, + "restore": { + "message": "Restore" + }, + "restoreSelected": { + "message": "Restore Selected" + }, + "restoreItem": { + "message": "Restore Item" + }, + "restoredItem": { + "message": "Restored Item" + }, + "restoredItems": { + "message": "Restored Items" + }, + "restoreItemConfirmation": { + "message": "Are you sure you want to restore this item?" + }, + "restoreItems": { + "message": "Restore items" + }, + "restoreSelectedItemsDesc": { + "message": "You have selected $COUNT$ item(s) to restore. Are you sure you want to restore all of these items?", + "placeholders": { + "count": { + "content": "$1", + "example": "150" + } + } + }, + "restoredItemId": { + "message": "Restored item $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Google" + } + } + }, + "vaultTimeoutLogOutConfirmation": { + "message": "Logging out will remove all access to your vault and requires online authentication after the timeout period. Are you sure you want to use this setting?" + }, + "vaultTimeoutLogOutConfirmationTitle": { + "message": "Timeout Action Confirmation" + }, + "hidePasswords": { + "message": "Hide Passwords" + }, + "countryPostalCodeRequiredDesc": { + "message": "We require this information for calculating sales tax and financial reporting only." + }, + "includeVAT": { + "message": "Include VAT/GST Information (optional)" + }, + "taxIdNumber": { + "message": "VAT/GST Tax ID" + }, + "taxInfoUpdated": { + "message": "Tax information updated." + }, + "setMasterPassword": { + "message": "Set Master Password" + }, + "ssoCompleteRegistration": { + "message": "In order to complete logging in with SSO, please set a master password to access and protect your vault." + }, + "identifier": { + "message": "Identifier" + }, + "organizationIdentifier": { + "message": "Organization Identifier" + }, + "ssoLogInWithOrgIdentifier": { + "message": "Log in using your organization's single sign-on portal. Please enter your organization's identifier to begin." + }, + "enterpriseSingleSignOn": { + "message": "Enterprise Single Sign-On" + }, + "ssoHandOff": { + "message": "You may now close this tab and continue in the extension." + }, + "businessPortal": { + "message": "Business Portal", + "description": "The web portal used by business organizations for configuring certain features." + }, + "includeAllTeamsFeatures": { + "message": "All Teams features, plus:" + }, + "includeSsoAuthentication": { + "message": "SSO Authentication via SAML2.0 and OpenID Connect" + }, + "includeEnterprisePolicies": { + "message": "Enterprise Policies" + }, + "ssoValidationFailed": { + "message": "SSO Validation Failed" + }, + "ssoIdentifierRequired": { + "message": "Organization Identifier is required." + }, + "unlinkSso": { + "message": "Unlink SSO" + }, + "linkSso": { + "message": "Link SSO" + }, + "webPoliciesDeprecationWarning": { + "message": "Policy configuration has been moved, and this page will soon be deprecated. Please click below to use the Business Portal policies page instead." + }, + "singleOrg": { + "message": "Single Organization" + }, + "singleOrgDesc": { + "message": "Restrict users from being able to join any other organizations." + }, + "singleOrgBlockCreateMessage": { + "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." + }, + "singleOrgPolicyWarning": { + "message": "Organization members who are not Owners or Administrators and are already a member of another organization will be removed from your organization." + }, + "requireSso": { + "message": "Single Sign-On Authentication" + }, + "requireSsoPolicyDesc": { + "message": "Require users to log in with the Enterprise Single Sign-On method." + }, + "prerequisite": { + "message": "Prerequisite" + }, + "requireSsoPolicyReq": { + "message": "The Single Organization enterprise policy must be enabled before activating this policy." + }, + "requireSsoPolicyReqError": { + "message": "Single Organization policy not enabled." + }, + "requireSsoExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "sendTypeFile": { + "message": "File" + }, + "sendTypeText": { + "message": "Text" + }, + "createSend": { + "message": "Create New Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "editSend": { + "message": "Edit Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "createdSend": { + "message": "Created Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "editedSend": { + "message": "Edited Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "deletedSend": { + "message": "Deleted Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "deleteSend": { + "message": "Delete Send", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "deleteSendConfirmation": { + "message": "Are you sure you want to delete this Send?", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "whatTypeOfSend": { + "message": "What type of Send is this?", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "deletionDate": { + "message": "Deletion Date" + }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "expirationDate": { + "message": "Expiration Date" + }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "maxAccessCount": { + "message": "Maximum Access Count" + }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "currentAccessCount": { + "message": "Current Access Count" + }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "disabled": { + "message": "Disabled" + }, + "sendLink": { + "message": "Send Link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "copySendLink": { + "message": "Copy Send Link", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "removePassword": { + "message": "Remove Password" + }, + "removedPassword": { + "message": "Removed Password" + }, + "removePasswordConfirmation": { + "message": "Are you sure you want to remove the password?" + }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "allSends": { + "message": "All Sends" + }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, + "searchSends": { + "message": "Search Sends", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendProtectedPassword": { + "message": "This Send is protected with a password. Please type the password below to continue.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendProtectedPasswordDontKnow": { + "message": "Don't know the password? Ask the Sender for the password needed to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendHiddenByDefault": { + "message": "This send is hidden by default. You can toggle its visibility using the button below.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "downloadFile": { + "message": "Download File" + }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "noSendsInList": { + "message": "There are no Sends to list.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + } +} diff --git a/locales/sr/messages.json b/locales/sr/messages.json index 6bf0ce08..c465d553 100644 --- a/locales/sr/messages.json +++ b/locales/sr/messages.json @@ -92,7 +92,7 @@ "message": "Фебруар" }, "march": { - "message": "Mart" + "message": "Март" }, "april": { "message": "Април" @@ -200,7 +200,7 @@ "description": "A programming term, also known as 'RegEx'." }, "matchDetection": { - "message": "Налажење везе", + "message": "Налажење УРЛ", "description": "URI match detection for auto-fill." }, "defaultMatchDetection": { @@ -347,6 +347,9 @@ "editItem": { "message": "Уреди ставку" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "нпр.", "description": "Short abbreviation for 'example'." @@ -388,7 +391,7 @@ "description": "Copy credit card security code (CVV)" }, "copyUri": { - "message": "Копирај везу", + "message": "Копирај УРЛ", "description": "Copy URI to clipboard" }, "myVault": { @@ -413,7 +416,7 @@ "message": "Поништи избор" }, "launch": { - "message": "Покрени" + "message": "Отвори" }, "newAttachment": { "message": "Додај нови прилог" @@ -790,9 +793,15 @@ "warning": { "message": "Упозорење" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "Овај извоз садржи податке сефа у нешифрираном формату. Не бисте смели да сачувате или шаљете извезену датотеку преко несигурних канала (као што је имејл). Избришите датотеку одмах након што завршите са коришћењем." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "Унети главну лозинку за извоз сефа." }, @@ -834,7 +843,7 @@ "message": "Одвајач речи" }, "capitalize": { - "message": "Велика слова", + "message": "Прво слово велико", "description": "Make the first letter of a work uppercase." }, "includeNumber": { @@ -1082,7 +1091,7 @@ "message": "Прилагођен домен" }, "newCustomDomainDesc": { - "message": "Унесите листу домена одвојених зарезима. Дозвољени су само „основни“ домени. Не уносите поддомене. На пример, унесите \"google.com\" у место \"www.google.com\". Такође можете унети \"androidapp://package.name\" да асоцирате андроид апликацију са другим доменима." + "message": "Унесите листу домена одвојених зарезима. Дозвољени су само „основни“ домени. Не уносите поддомене. На пример, унесите „google.com“ у место „www.google.com“. Такође можете унети „androidapp://package.name“ да асоцирате андроид апликацију са другим доменима." }, "customDomainX": { "message": "Прилагођени домен $INDEX$", @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Информације о плаћању" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Кредитна Картица" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Уређај" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "Након ажурирања кључа за шифровање, мораћете да се одјавите и вратите у све Bitwarden апликације које тренутно користите (као што су мобилна апликација или додаци прегледача). Ако се не одјавите и поново пријавите (чиме се преузима ваш нови кључ за шифровање), може доћи до оштећења података. Покушаћемо аутоматски да се одјавимо, али може доћи до одлагања." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Претплата" }, @@ -3194,7 +3218,7 @@ "message": "Enterprise Једна Пријава" }, "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." + "message": "Можете да затворите овај језичак и да наставите са додатком." }, "businessPortal": { "message": "Пословни портал", @@ -3261,58 +3285,78 @@ "message": "Текст" }, "createSend": { - "message": "Креирај ново 'Send'", + "message": "Креирај ново „Send“", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "editSend": { - "message": "Уреди 'Send'", + "message": "Уреди „Send“", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "createdSend": { - "message": "Креирај 'Send'", + "message": "Креирај „Send“", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "editedSend": { - "message": "'Send' уређено", + "message": "„Send“ уређено", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deletedSend": { - "message": "'Send' обрисано", + "message": "„Send“ обрисано", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deleteSend": { - "message": "Избриши 'Send'", + "message": "Избриши „Send“", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deleteSendConfirmation": { - "message": "Сигурно избрисати овај 'Send'?", + "message": "Сигурно избрисати овај „Send“?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "whatTypeOfSend": { - "message": "Који је ово тип 'Send'?", + "message": "Који је ово тип „Send“-a?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deletionDate": { "message": "Датум брисања" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "Датум истека" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "Максималан број приступа" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "Тренутни број приступа" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "Онемогућено" }, "sendLink": { - "message": "Веза 'Send'", + "message": "УРЛ „Send“", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "copySendLink": { - "message": "Копирај везу 'Send'", + "message": "Копирај УРЛ „Send“", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "removePassword": { @@ -3324,11 +3368,24 @@ "removePasswordConfirmation": { "message": "Да ли сте сигурни да желите уклонити лозинку?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { - "message": "Све 'Send'" + "message": "Све „Send“" + }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" }, "searchSends": { - "message": "Тражи 'Send'", + "message": "Тражи „Send“", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendProtectedPassword": { @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "Преузми датотеку" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { - "message": "Нема 'Send' у листи.", + "message": "Нема „Send“ у листи.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/sv/messages.json b/locales/sv/messages.json index 6ce7f7a4..c7be8b3c 100644 --- a/locales/sv/messages.json +++ b/locales/sv/messages.json @@ -38,7 +38,7 @@ "message": "Lösenord" }, "newPassword": { - "message": "New Password" + "message": "Nytt lösenord" }, "passphrase": { "message": "Lösenordsfras" @@ -347,6 +347,9 @@ "editItem": { "message": "Redigera objekt" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "t.ex.", "description": "Short abbreviation for 'example'." @@ -461,7 +464,7 @@ "message": "Radera bilaga" }, "deleteItemConfirmation": { - "message": "Är du säker på att du vill radera detta objekt?" + "message": "Är du säker på att du vill skicka detta objekt till papperskorgen?" }, "deletedItem": { "message": "Skickade objekt till papperskorgen" @@ -790,9 +793,15 @@ "warning": { "message": "Varning" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "Denna export innehåller ditt valv i ett okrypterat format. Du bör inte lagra eller skicka den exporterade filen över osäkra kanaler (t.ex. e-post). Radera den omedelbart när du är färdig med den." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "Ange ditt huvudlösenord för att exportera ditt valv." }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Betalningsinformation" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Kreditkort" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Enhet" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "Efter att ha uppdaterat din krypteringsnyckel, måste du logga ut och in igen i alla Bitwarden-program som du använder (t.ex. mobilappen och webbläsartillägget). Att inte logga ut och in igen (vilket hämtar din nya krypteringsnyckel) kan resultera i datakorruption. Vi kommer försöka logga ut dig automatiskt, men det kan vara fördröjt." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Abonnemang" }, @@ -2814,10 +2838,10 @@ "message": "Du har inte markerat något." }, "acceptPolicies": { - "message": "By checking this box you agree to the following:" + "message": "Genom att markera denna ruta godkänner du följande:" }, "acceptPoliciesError": { - "message": "Terms of Service and Privacy Policy have not been acknowledged." + "message": "Användarvillkoren och Integritetspolicyn har inte accepterats." }, "termsOfService": { "message": "Användarvillkor" @@ -2954,10 +2978,10 @@ "message": "Din API-nyckel har full tillgång till organisationen. Den bör hållas hemlig." }, "userApiKeyDesc": { - "message": "Your API key can be used to authenticate in the Bitwarden CLI." + "message": "Din API-nyckel kan användas för att autentisera i Bitwardens CLI." }, "userApiKeyWarning": { - "message": "Your API key is an alternative authentication mechanism. It should be kept secret." + "message": "Din API-nyckel är en alternativ autentiseringsmekanism. Den bör hållas hemlig." }, "oauth2ClientCredentials": { "message": "OAuth 2.0 Klientautentiseringsuppgifter", @@ -2997,7 +3021,7 @@ "message": "Kräv att användare konfigurerar tvåstegsverifiering för sina personliga konton." }, "twoStepLoginPolicyWarning": { - "message": "Organisationsmedlemmar som inte har tvåstegsverifiering aktiverat för sina personliga konton kommer tas bort från organisationen och få ett e-postmeddelande om ändringen." + "message": "Medlemmar som inte har tvåstegsverifiering aktiverat för sina personliga konton kommer tas bort från organisationen och få ett e-postmeddelande om ändringen." }, "twoStepLoginPolicyUserWarning": { "message": "Du är medlem i en organisation som kräver att tvåstegsverifiering är aktiverat för ditt användarkonto. Om du inaktiverar alla metoder för tvåstegsverifiering kommer du automatiskt tas bort från dessa organisationer." @@ -3194,7 +3218,7 @@ "message": "Single Sign-On för företag" }, "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." + "message": "Du kan nu stänga denna flik och fortsätta i tillägget." }, "businessPortal": { "message": "Företagets portal", @@ -3222,132 +3246,387 @@ "message": "Länka SSO" }, "webPoliciesDeprecationWarning": { - "message": "Policy configuration has been moved, and this page will soon be deprecated. Please click below to use the Business Portal policies page instead." + "message": "Policykonfigurationen har flyttats, och den här sidan kommer snart att fasas ut. Klicka nedan för att använda företagsportalens sida för policyer istället." }, "singleOrg": { - "message": "Single Organization" + "message": "En organisation" }, "singleOrgDesc": { - "message": "Restrict users from being able to join any other organizations." + "message": "Hindra användare från att gå med i några andra organisationer." }, "singleOrgBlockCreateMessage": { - "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." + "message": "Din nuvarande organisation har en policy som hindrar dig från att gå med i fler än en organisation. Vänligen kontakta din organisations administratörer eller registrera ett annat Bitwarden-konto." }, "singleOrgPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and are already a member of another organization will be removed from your organization." + "message": "Medlemmar som inte är ägare eller administratörer och redan är med i en annan organisation kommer att tas bort från organisationen." }, "requireSso": { - "message": "Single Sign-On Authentication" + "message": "Autentisering med Single Sign-On" }, "requireSsoPolicyDesc": { - "message": "Require users to log in with the Enterprise Single Sign-On method." + "message": "Kräv att användare loggar in med Single Sign-On för företag." }, "prerequisite": { - "message": "Prerequisite" + "message": "Förutsättning" }, "requireSsoPolicyReq": { - "message": "The Single Organization enterprise policy must be enabled before activating this policy." + "message": "Policyn \"En organisation\" måste vara aktiverad innan denna policy kan aktiveras." }, "requireSsoPolicyReqError": { - "message": "Single Organization policy not enabled." + "message": "Policyn \"En organisation\" är inte aktiverad." }, "requireSsoExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + "message": "Organisationens ägare och administratörer är undantagna från denna policy." }, "sendTypeFile": { - "message": "File" + "message": "Fil" }, "sendTypeText": { "message": "Text" }, "createSend": { - "message": "Create New Send", + "message": "Skapa ny försändelse", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "editSend": { - "message": "Edit Send", + "message": "Redigera försändelse", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "createdSend": { - "message": "Created Send", + "message": "Skapade försändelse", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "editedSend": { - "message": "Edited Send", + "message": "Redigerade försändelse", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deletedSend": { - "message": "Deleted Send", + "message": "Raderade försändelse", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deleteSend": { - "message": "Delete Send", + "message": "Radera försändelse", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deleteSendConfirmation": { - "message": "Are you sure you want to delete this Send?", + "message": "Är du säker på att du vill radera denna försändelse?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "whatTypeOfSend": { - "message": "What type of Send is this?", + "message": "Vilken typ av försändelse är detta?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deletionDate": { - "message": "Deletion Date" + "message": "Raderingsdatum" + }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "expirationDate": { - "message": "Expiration Date" + "message": "Utgångsdatum" + }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "maxAccessCount": { - "message": "Maximum Access Count" + "message": "Maximalt antal åtkomster" + }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "currentAccessCount": { - "message": "Current Access Count" + "message": "Nuvarande antal åtkomster" + }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "disabled": { - "message": "Disabled" + "message": "Inaktiverad" }, "sendLink": { - "message": "Send Link", + "message": "Försändelselänk", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "copySendLink": { - "message": "Copy Send Link", + "message": "Kopiera försändelselänk", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "removePassword": { - "message": "Remove Password" + "message": "Ta bort lösenord" }, "removedPassword": { - "message": "Removed Password" + "message": "Tog bort lösenord" }, "removePasswordConfirmation": { - "message": "Are you sure you want to remove the password?" + "message": "Är du säker på att du vill ta bort lösenordet?" + }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "allSends": { - "message": "All Sends" + "message": "Alla försändelser" + }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" }, "searchSends": { - "message": "Search Sends", + "message": "Sök försändelser", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendProtectedPassword": { - "message": "This Send is protected with a password. Please type the password below to continue.", + "message": "Denna försändelse är skyddad med ett lösenord. Vänligen skriv in lösenordet nedan för att fortsätta.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendProtectedPasswordDontKnow": { - "message": "Don't know the password? Ask the Sender for the password needed to access this Send.", + "message": "Vet du inte lösenordet? Fråga avsändaren om lösenordet som behövs för att komma åt denna försändelse.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendHiddenByDefault": { - "message": "This send is hidden by default. You can toggle its visibility using the button below.", + "message": "Denna försändelse är dold som standard. Du kan växla dess synlighet med knappen nedan.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "downloadFile": { - "message": "Download File" + "message": "Ladda ner fil" + }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "noSendsInList": { - "message": "There are no Sends to list.", + "message": "Det finns inga försändelser att visa.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/tr/messages.json b/locales/tr/messages.json index 63c3f597..c239a849 100644 --- a/locales/tr/messages.json +++ b/locales/tr/messages.json @@ -38,7 +38,7 @@ "message": "Parola" }, "newPassword": { - "message": "New Password" + "message": "Yeni Parola" }, "passphrase": { "message": "Kelimelerden Oluşan Parola" @@ -218,7 +218,7 @@ "description": "Toggling an expand/collapse state." }, "generatePassword": { - "message": "Generate Password" + "message": "Parola Üret" }, "checkPassword": { "message": "Parolanız herhangi bir saldırı sonucu açığa çıkmış mı kontrol edin." @@ -303,13 +303,13 @@ "message": "Koleksiyonlar" }, "firstName": { - "message": "İsim" + "message": "İlk Ad" }, "middleName": { - "message": "İkinci İsim" + "message": "İkinci Ad" }, "lastName": { - "message": "Soyisim" + "message": "Soyadı" }, "address1": { "message": "Adres 1" @@ -347,6 +347,9 @@ "editItem": { "message": "Ögeyi Düzenle" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "ör.", "description": "Short abbreviation for 'example'." @@ -461,7 +464,7 @@ "message": "Eki Sil" }, "deleteItemConfirmation": { - "message": "Bu hesabı silmek istediğinize emin misiniz?" + "message": "Bu ögeyi silmek istediğinize emin misiniz?" }, "deletedItem": { "message": "Öge Silindi" @@ -790,9 +793,15 @@ "warning": { "message": "Uyarı" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "This export contains your vault data in an unencrypted format. You should not store or send the exported file over unsecure channels (such as email). Delete it immediately after you are done using it." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "Kasadaki verilerinizi dışa aktarmak için ana parolanızı girin." }, @@ -800,7 +809,7 @@ "message": "Export Vault" }, "fileFormat": { - "message": "File Format" + "message": "Dosya Biçimi" }, "exportSuccess": { "message": "Kasadaki verileriniz dışa aktarıldı." @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Ödeme Bilgileri" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Kredi Kartı" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Aygıt" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Abonelik" }, @@ -2814,10 +2838,10 @@ "message": "Hiçbir şey seçmediniz." }, "acceptPolicies": { - "message": "By checking this box you agree to the following:" + "message": "Bu kutuyu işaretleyerek aşağıdakileri kabul etmiş olursunuz:" }, "acceptPoliciesError": { - "message": "Terms of Service and Privacy Policy have not been acknowledged." + "message": "Hizmet Koşulları ve Gizlilik Politikası kabul edilmemiştir." }, "termsOfService": { "message": "Hizmet Koşulları" @@ -2954,10 +2978,10 @@ "message": "API anahtarınız organizasyona tam erişime sahiptir. Gizli tutulmalıdır." }, "userApiKeyDesc": { - "message": "Your API key can be used to authenticate in the Bitwarden CLI." + "message": "API anahtarınız, Bitwarden CLI'de kimlik doğrulaması için kullanılabilir." }, "userApiKeyWarning": { - "message": "Your API key is an alternative authentication mechanism. It should be kept secret." + "message": "API anahtarınız, alternatif bir kimlik doğrulama mekanizmasıdır. Gizli tutulmalıdır." }, "oauth2ClientCredentials": { "message": "OAuth 2.0 İstemci Bilgileri", @@ -3194,7 +3218,7 @@ "message": "Kurumsal Tek Oturum Açma" }, "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." + "message": "Şimdi bu sekmeyi kapatabilir ve uzantıya devam edebilirsiniz." }, "businessPortal": { "message": "Şirket Portalı", @@ -3222,132 +3246,387 @@ "message": "Tek Oturum Açma (SSO) Bağlantısı Oluştur" }, "webPoliciesDeprecationWarning": { - "message": "Policy configuration has been moved, and this page will soon be deprecated. Please click below to use the Business Portal policies page instead." + "message": "Politika yapılandırması taşındı ve bu sayfa yakında kullanımdan kaldırılacak. Bunun yerine İş Portalı politikaları sayfasını kullanmak için lütfen aşağıyı tıklayın." }, "singleOrg": { - "message": "Single Organization" + "message": "Tek Organizasyon" }, "singleOrgDesc": { - "message": "Restrict users from being able to join any other organizations." + "message": "Kullanıcıların diğer kuruluşlara katılmasını kısıtlayın." }, "singleOrgBlockCreateMessage": { - "message": "Your current organization has a policy that does not allow you to join more than one organization. Please contact your organization admins or sign up from a different Bitwarden account." + "message": "Mevcut kuruluşunuzun, birden fazla kuruluşa katılmanıza izin vermeyen bir politikası var. Lütfen kuruluş yöneticilerinizle iletişime geçin veya farklı bir Bitwarden hesabından kaydolun." }, "singleOrgPolicyWarning": { - "message": "Organization members who are not Owners or Administrators and are already a member of another organization will be removed from your organization." + "message": "Sahip veya Yönetici olmayan ve zaten başka bir kuruluşun üyesi olan kuruluş üyeleri, kuruluşunuzdan kaldırılır." }, "requireSso": { - "message": "Single Sign-On Authentication" + "message": "Tek Oturum Açma Kimlik Doğrulaması" }, "requireSsoPolicyDesc": { - "message": "Require users to log in with the Enterprise Single Sign-On method." + "message": "Kullanıcıların Kurumsal olarak Tek Oturum Açma yöntemiyle oturum açmasını zorunlu kılın." }, "prerequisite": { - "message": "Prerequisite" + "message": "Önkoşul" }, "requireSsoPolicyReq": { - "message": "The Single Organization enterprise policy must be enabled before activating this policy." + "message": "Bu politikayı etkinleştirmeden önce Tek Kuruluş kurumsal politikası etkinleştirilmelidir." }, "requireSsoPolicyReqError": { - "message": "Single Organization policy not enabled." + "message": "Tek Kuruluş politikası etkinleştirilmedi." }, "requireSsoExemption": { - "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + "message": "Kuruluş Sahipleri ve Yöneticiler bu politika uygulamasından muaftır." }, "sendTypeFile": { - "message": "File" + "message": "Dosya" }, "sendTypeText": { - "message": "Text" + "message": "Metin" }, "createSend": { - "message": "Create New Send", + "message": "Yeni Gönderi Oluştur", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "editSend": { - "message": "Edit Send", + "message": "Göndermeyi Düzenle", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "createdSend": { - "message": "Created Send", + "message": "Gönderi Oluşturuldu", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "editedSend": { - "message": "Edited Send", + "message": "Gönderi Düzenlendi", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deletedSend": { - "message": "Deleted Send", + "message": "Gönderi Silindi", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deleteSend": { - "message": "Delete Send", + "message": "Gönderiyi Sil", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deleteSendConfirmation": { - "message": "Are you sure you want to delete this Send?", + "message": "Bu Gönderiyi silmek istediğinizden emin misiniz?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "whatTypeOfSend": { - "message": "What type of Send is this?", + "message": "Bu ne tür bir Gönderme?", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "deletionDate": { - "message": "Deletion Date" + "message": "Silme Tarihi" + }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "expirationDate": { - "message": "Expiration Date" + "message": "Son Kullanma Tarihi" + }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "maxAccessCount": { - "message": "Maximum Access Count" + "message": "Maksimum Gönderi Sayısı" + }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "currentAccessCount": { - "message": "Current Access Count" + "message": "Mevcut Erişim Sayısı" + }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "disabled": { - "message": "Disabled" + "message": "Devre Dışı" }, "sendLink": { - "message": "Send Link", + "message": "Bağlantı gönder", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "copySendLink": { - "message": "Copy Send Link", + "message": "Gönderme Bağlantısını Kopyala", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "removePassword": { - "message": "Remove Password" + "message": "Şifreyi kaldır" }, "removedPassword": { - "message": "Removed Password" + "message": "Parola kaldırıldı" }, "removePasswordConfirmation": { - "message": "Are you sure you want to remove the password?" + "message": "Şifreyi kaldırmak istediğinizden emin misiniz?" + }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "allSends": { - "message": "All Sends" + "message": "Tüm Gönderimler" + }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" }, "searchSends": { - "message": "Search Sends", + "message": "Gönderileri Ara", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendProtectedPassword": { - "message": "This Send is protected with a password. Please type the password below to continue.", + "message": "Bu Gönderim bir şifre ile korunmaktadır. Devam etmek için lütfen şifreyi aşağıya yazın.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendProtectedPasswordDontKnow": { - "message": "Don't know the password? Ask the Sender for the password needed to access this Send.", + "message": "Şifreyi bilmiyor musunuz? Gönderen'den bu Gönderime erişmek için gereken parolayı isteyin.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "sendHiddenByDefault": { - "message": "This send is hidden by default. You can toggle its visibility using the button below.", + "message": "Bu gönderme varsayılan olarak gizlidir. Aşağıdaki düğmeyi kullanarak görünürlüğünü değiştirebilirsiniz.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "downloadFile": { - "message": "Download File" + "message": "Dosyayı indir" + }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." }, "noSendsInList": { - "message": "There are no Sends to list.", + "message": "Listelenecek olay yok.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/uk/messages.json b/locales/uk/messages.json index 2c289f06..e29d543a 100644 --- a/locales/uk/messages.json +++ b/locales/uk/messages.json @@ -269,7 +269,7 @@ "message": "Пошук в обраному" }, "searchType": { - "message": "Типу пошуку", + "message": "Пошук за типом", "description": "Search item type" }, "searchVault": { @@ -347,6 +347,9 @@ "editItem": { "message": "Змінити запис" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "зразок", "description": "Short abbreviation for 'example'." @@ -461,7 +464,7 @@ "message": "Видалити файл" }, "deleteItemConfirmation": { - "message": "Ви дійсно хочете видалити цей запис?" + "message": "Ви дійсно хочете перенести до смітника?" }, "deletedItem": { "message": "Запис перенесено до смітника" @@ -612,19 +615,19 @@ "message": "Заблокувати зараз" }, "noItemsInList": { - "message": "Немає записів для відображення." + "message": "Немає записів." }, "noCollectionsInList": { - "message": "Немає збірок для відображення." + "message": "Немає збірок." }, "noGroupsInList": { - "message": "Немає груп для відображення." + "message": "Немає груп." }, "noUsersInList": { - "message": "Немає користувачів для відображення." + "message": "Немає користувачів." }, "noEventsInList": { - "message": "Немає подій для відображення." + "message": "Немає подій." }, "newOrganization": { "message": "Нова організація" @@ -790,9 +793,15 @@ "warning": { "message": "Попередження" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "Експортовані дані вашого сховища знаходяться в незашифрованому вигляді. Вам не слід зберігати чи надсилати їх через незахищені канали (наприклад, е-поштою). Після використання негайно видаліть їх." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "Введіть головний пароль, щоб експортувати дані сховища." }, @@ -844,7 +853,7 @@ "message": "Історія паролів" }, "noPasswordsInList": { - "message": "Немає паролів для відображення." + "message": "Немає паролів." }, "clear": { "message": "Стерти", @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Інформація про оплату" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Кредитна карта" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Пристрій" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "Після оновлення вашого ключа шифрування вам необхідно вийти з системи і потім виконати повторний вхід у всіх програмах Bitwarden, які ви використовуєте. Збій при виході та повторному вході може призвести до пошкодження даних. Ми спробуємо завершити ваші сеанси автоматично, однак, цей процес може відбутися із затримкою." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Передплата" }, @@ -2973,7 +2997,7 @@ "message": "Ви повинні обрати принаймні одну збірку." }, "couldNotChargeCardPayInvoice": { - "message": "Нам не вдалося виконати оплату з вашої карти. Будь ласка, перегляньте і проведіть оплату за рахунком, вказаним внизу." + "message": "Нам не вдалося виконати оплату з вашої картки. Будь ласка, перегляньте і проведіть оплату за рахунком, вказаним внизу." }, "inAppPurchase": { "message": "Покупка в додатку" @@ -3194,7 +3218,7 @@ "message": "Єдиний корпоративний вхід (SSO)" }, "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." + "message": "Тепер ви можете закрити цю вкладку і продовжити в розширенні." }, "businessPortal": { "message": "Бізнес-портал", @@ -3295,15 +3319,35 @@ "deletionDate": { "message": "Дата видалення" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "Термін дії" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "Максимальна кількість доступів" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "Поточна кількість доступів" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "Вимкнено" }, @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "Ви дійсно хочете вилучити пароль?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "Усі відправлення" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Пошук відправлень", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "Завантажити файл" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "У списку немає відправлень.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/vi/messages.json b/locales/vi/messages.json index 14f0688b..be74d16c 100644 --- a/locales/vi/messages.json +++ b/locales/vi/messages.json @@ -38,7 +38,7 @@ "message": "Mật khẩu" }, "newPassword": { - "message": "New Password" + "message": "Mật khẩu mới" }, "passphrase": { "message": "Cụm từ mật khẩu" @@ -347,6 +347,9 @@ "editItem": { "message": "Chỉnh sửa mục" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "vd.", "description": "Short abbreviation for 'example'." @@ -790,9 +793,15 @@ "warning": { "message": "Cảnh báo" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "Bản trích xuất này chứa dữ liệu kho bạn và không được mã hóa. Bạn không nên lưu trữ hay gửi tập tin trích xuất thông qua phương thức không an toàn (như email). Vui lòng xóa nó ngay lập tức khi bạn đã sử dụng xong." }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "Vui lòng nhập mật khẩu chính để trích xuất kho của bạn." }, @@ -995,19 +1004,19 @@ "message": "Dữ liệu đã được nhập vào kho thành công." }, "importFormatError": { - "message": "Data is not formatted correctly. Please check your import file and try again." + "message": "Dữ liệu không được định dạng đúng cách, vui lòng kiểm tra và thử lại." }, "importNothingError": { "message": "Không có gì đã được nhập." }, "selectFormat": { - "message": "Select the format of the import file" + "message": "Chọn định dạng cho file xuất" }, "selectImportFile": { "message": "Chọn tập tin nhập" }, "orCopyPasteFileContents": { - "message": "or copy/paste the import file contents" + "message": "hoặc sao chép/dán để nhập nội dung file" }, "instructionsFor": { "message": "Chỉ dẫn cho $NAME$", @@ -1035,7 +1044,7 @@ "message": "Thay đổi ngôn ngữ của kho mạng." }, "disableIcons": { - "message": "Disable Website Icons" + "message": "Vô hiệu hóa icon website" }, "disableIconsDesc": { "message": "Website Icons provide a recognizable image next to each login item in your vault." @@ -1055,10 +1064,10 @@ "message": "Allow the web vault to expand the full width of the browser window." }, "default": { - "message": "Default" + "message": "Mặc định" }, "domainRules": { - "message": "Domain Rules" + "message": "Quy luật tên miền" }, "domainRulesDesc": { "message": "If you have the same login across multiple different website domains, you can mark the website as \"equivalent\". \"Global\" domains are ones already created for you by Bitwarden." @@ -1070,16 +1079,16 @@ "message": "Custom Equivalent Domains" }, "exclude": { - "message": "Exclude" + "message": "Ngoại trừ" }, "include": { - "message": "Include" + "message": "Bao gồm" }, "customize": { - "message": "Customize" + "message": "Tùy biến" }, "newCustomDomain": { - "message": "New Custom Domain" + "message": "Tên miền tùy biến mới" }, "newCustomDomainDesc": { "message": "Enter a list of domains separated by commas. Only \"base\" domains are allowed. Do not enter subdomains. For example, enter \"google.com\" instead of \"www.google.com\". You can also enter \"androidapp://package.name\" to associate an android app with other website domains." @@ -1094,13 +1103,13 @@ } }, "domainsUpdated": { - "message": "Domains updated" + "message": "Tên miền được cập nhật" }, "twoStepLogin": { - "message": "Two-step Login" + "message": "Xác thực 2 bước" }, "twoStepLoginDesc": { - "message": "Secure your account by requiring an additional step when logging in." + "message": "Bảo mật tài khoản bằng các phương pháp sau khi đăng nhập." }, "twoStepLoginOrganizationDesc": { "message": "Require two-step login for your organization's users by configuring providers at the organization level." @@ -1109,105 +1118,105 @@ "message": "Enabling two-step login can permanently lock you out of your Bitwarden account. A recovery code allows you to access your account in the event that you can no longer use your normal two-step login provider (ex. you lose your device). Bitwarden support will not be able to assist you if you lose access to your account. We recommend you write down or print the recovery code and keep it in a safe place." }, "viewRecoveryCode": { - "message": "View Recovery Code" + "message": "Hiển thị mã khôi phục" }, "providers": { - "message": "Providers", + "message": "Cung cấp", "description": "Two-step login providers such as YubiKey, Duo, Authenticator apps, Email, etc." }, "enable": { - "message": "Enable" + "message": "Kích hoạt" }, "enabled": { - "message": "Enabled" + "message": "Kích hoạt" }, "premium": { - "message": "Premium", + "message": "Cao cấp", "description": "Premium Membership" }, "premiumMembership": { - "message": "Premium Membership" + "message": "Thành viên trả phí" }, "premiumRequired": { - "message": "Premium Required" + "message": "Cần có tài khoản trả phí" }, "premiumRequiredDesc": { - "message": "A premium membership is required to use this feature." + "message": "Cần nâng cấp tài khoản trả phí để sử dụng chức năng này." }, "youHavePremiumAccess": { - "message": "You have premium access" + "message": "Bạn được truy cập tài khoản trả phí" }, "alreadyPremiumFromOrg": { - "message": "You already have access to premium features because of an organization you are a member of." + "message": "Bạn được truy cập tài khoản trả phí vì tổ chức của bạn đã chi trả cho việc này." }, "manage": { - "message": "Manage" + "message": "Quản lý" }, "disable": { - "message": "Disable" + "message": "Vô hiệu hoá" }, "twoStepLoginProviderEnabled": { "message": "This two-step login provider is enabled on your account." }, "twoStepLoginAuthDesc": { - "message": "Enter your master password to modify two-step login settings." + "message": "Vui lòng nhập mật khẩu chính để chỉnh sửa cài đặt đăng nhập hai bước." }, "twoStepAuthenticatorDesc": { - "message": "Follow these steps to set up two-step login with an authenticator app:" + "message": "Làm theo hướng dẫn để thiếp lập đăng nhập hai bước bằng ứng dụng:" }, "twoStepAuthenticatorDownloadApp": { - "message": "Download a two-step authenticator app" + "message": "Tải về ứng dụng xác thực hai bước" }, "twoStepAuthenticatorNeedApp": { - "message": "Need a two-step authenticator app? Download one of the following" + "message": "Cần ứng dụng xác thực hai bước? Tải theo danh sách sau" }, "iosDevices": { - "message": "iOS devices" + "message": "Thiết bị iOS" }, "androidDevices": { - "message": "Android devices" + "message": "Thiết bị Android" }, "windowsDevices": { - "message": "Windows devices" + "message": "Thiết bị Windows" }, "twoStepAuthenticatorAppsRecommended": { - "message": "These apps are recommended, however, other authenticator apps will also work." + "message": "Những ứng dụng xác thực sau đây được khuyên dùng, thích cái khác cũng được, ko sao." }, "twoStepAuthenticatorScanCode": { - "message": "Scan this QR code with your authenticator app" + "message": "Quét nã QR code bằng ứng dụng xác thực" }, "key": { - "message": "Key" + "message": "Chìa khóa" }, "twoStepAuthenticatorEnterCode": { - "message": "Enter the resulting 6 digit verification code from the app" + "message": "Vui lòng nhập mã 6 bước sinh ra từ ứng dụng xác thực" }, "twoStepAuthenticatorReaddDesc": { - "message": "In case you need to add it to another device, below is the QR code (or key) required by your authenticator app." + "message": "Trong trường hợp bạn cần thêm thiết bị khác, ở dưới là mã QR( hoặc khóa) được yêu cầu bởi ứng dụng xác thực." }, "twoStepDisableDesc": { - "message": "Are you sure you want to disable this two-step login provider?" + "message": "Bạn có chắc muốn vô hiệu hóa xác thực hai bước?" }, "twoStepDisabled": { - "message": "Two-step login provider disabled." + "message": "Xác thực hai bước bị hủy bỏ." }, "twoFactorYubikeyAdd": { - "message": "Add a new YubiKey to your account" + "message": "Thêm khóa Yubikey mới vào tài khoản của bạn" }, "twoFactorYubikeyPlugIn": { - "message": "Plug the YubiKey into your computer's USB port." + "message": "Cắm khóa Yubikey vào cổng USB máy tính của bạn." }, "twoFactorYubikeySelectKey": { "message": "Select the first empty YubiKey input field below." }, "twoFactorYubikeyTouchButton": { - "message": "Touch the YubiKey's button." + "message": "Chạm vào nút bấm trên Yubikey." }, "twoFactorYubikeySaveForm": { - "message": "Save the form." + "message": "Lưu mẫu." }, "twoFactorYubikeyWarning": { - "message": "Due to platform limitations, YubiKeys cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when YubiKeys cannot be used. Supported platforms:" + "message": "Do giới hạn của hệ điều hành, Yubikey KHÔNG thể xài hết được trên các ứng dụng Bitwarden. Bạn nên đăng ký thêm một phương pháp xác thực 2 bước khác khi mà Yubikey không xài được. Hỗ trợ hệ điều hành:" }, "twoFactorYubikeySupportUsb": { "message": "Web vault, desktop application, CLI, and all browser extensions on a device with a USB port that can accept your YubiKey." @@ -1216,7 +1225,7 @@ "message": "Mobile apps on a device with NFC capabilities or a USB port that can accept your YubiKey." }, "yubikeyX": { - "message": "YubiKey $INDEX$", + "message": "Yubikey $INDEX$", "placeholders": { "index": { "content": "$1", @@ -1225,7 +1234,7 @@ } }, "u2fkeyX": { - "message": "U2F Key $INDEX$", + "message": "Thiết bị U2F $INDEX$", "placeholders": { "index": { "content": "$1", @@ -1234,16 +1243,16 @@ } }, "nfcSupport": { - "message": "NFC Support" + "message": "Hỗ trợ NFC" }, "twoFactorYubikeySupportsNfc": { - "message": "One of my keys supports NFC." + "message": "Một trong các khóa bảo mật của tôi có hỗ trợ NFC." }, "twoFactorYubikeySupportsNfcDesc": { - "message": "If one of your YubiKeys supports NFC (such as a YubiKey NEO), you will be prompted on mobile devices whenever NFC availability is detected." + "message": "Nếu một trong các khóa Yubikey có hỗ trợ NFC (ví dụ như Yubikey NEO), bạn sẽ được nhắc nhở trên thiết bị di động khi sóng NFC được phát hiện." }, "yubikeysUpdated": { - "message": "YubiKeys updated" + "message": "Đã cập nhập Yubikey" }, "disableAllKeys": { "message": "Disable All Keys" @@ -1255,7 +1264,7 @@ "message": "Integration Key" }, "twoFactorDuoSecretKey": { - "message": "Secret Key" + "message": "Mã khóa bí mật" }, "twoFactorDuoApiHostname": { "message": "API Hostname" @@ -1270,34 +1279,34 @@ "message": "Enter the resulting 6 digit verification code from the email" }, "sendEmail": { - "message": "Send Email" + "message": "Gửi Email" }, "twoFactorU2fAdd": { "message": "Add a FIDO U2F security key to your account" }, "removeU2fConfirmation": { - "message": "Are you sure you want to remove this security key?" + "message": "Bạn có chắc chắn muốn xóa khóa bảo mật này?" }, "readKey": { "message": "Read Key" }, "keyCompromised": { - "message": "Key is compromised." + "message": "Chìa khóa bị lộ." }, "twoFactorU2fGiveName": { - "message": "Give the security key a friendly name to identify it." + "message": "Đặt cho Yubikey một cái tên để nhận diện." }, "twoFactorU2fPlugInReadKey": { - "message": "Plug the security key into your computer's USB port and click the \"Read Key\" button." + "message": "Cắm khóa bảo mật vào cổng USB và bấm nút trên khóa." }, "twoFactorU2fTouchButton": { - "message": "If the security key has a button, touch it." + "message": "Nếu khóa bảo mật có nút, hãy chạm vào." }, "twoFactorU2fSaveForm": { - "message": "Save the form." + "message": "Lưu mẫu." }, "twoFactorU2fWarning": { - "message": "Due to platform limitations, FIDO U2F cannot be used on all Bitwarden applications. You should enable another two-step login provider so that you can access your account when FIDO U2F cannot be used. Supported platforms:" + "message": "Do giới hạn của hệ điều hành, FIDO U2F KHÔNG thể xài hết được trên các ứng dụng Bitwarden. Bạn nên đăng ký thêm một phương pháp xác thực 2 bước khác khi mà FIDO U2F không xài được. Hỗ trợ hệ điều hành:" }, "twoFactorU2fSupportWeb": { "message": "Web vault and browser extensions on a desktop/laptop with a U2F enabled browser (Chrome, Opera, Vivaldi, or Firefox with FIDO U2F enabled)." @@ -1318,20 +1327,20 @@ "message": "You have not enabled any two-step login providers yet. After you have enabled a two-step login provider you can check back here for your recovery code." }, "printCode": { - "message": "Print Code", + "message": "In mã", "description": "Print 2FA recovery code" }, "reports": { - "message": "Reports" + "message": "Báo cáo" }, "unsecuredWebsitesReport": { - "message": "Unsecured Websites Report" + "message": "Báo cáo trang web không an toàn" }, "unsecuredWebsitesReportDesc": { "message": "Using unsecured websites with the http:// scheme can be dangerous. If the website allows, you should always access it using the https:// scheme so that your connection is encrypted." }, "unsecuredWebsitesFound": { - "message": "Unsecured Websites Found" + "message": "Tìm thấy trang web không an toàn" }, "unsecuredWebsitesFoundDesc": { "message": "We found $COUNT$ items in your vault with unsecured URIs. You should change their URI scheme to https:// if the website allows it.", @@ -1349,13 +1358,13 @@ "message": "Inactive 2FA Report" }, "inactive2faReportDesc": { - "message": "Two-factor authentication (2FA) is an important security setting that helps secure your accounts. If the website offers it, you should always enable two-factor authentication." + "message": "Xác thực 2 bước là một bước quan trọng để bảo vệ tài khoản của bạn khỏi hacker. Nếu trang web cho phép, bạn nên kích hoạt xác thực 2 bước." }, "inactive2faFound": { "message": "Logins Without 2FA Found" }, "inactive2faFoundDesc": { - "message": "We found $COUNT$ website(s) in your vault that may not be configured with two-factor authentication (according to twofactorauth.org). To further protect these accounts, you should enable two-factor authentication.", + "message": "Tìm thấy $COUNT$ trang web trong kho của bạn có thể thiếu xác thực 2 bước. Để đảm bảo an toàn, bạn nên kích hoạt xác thực 2 bước", "placeholders": { "count": { "content": "$1", @@ -1364,19 +1373,19 @@ } }, "noInactive2fa": { - "message": "No websites were found in your vault with a missing two-factor authentication configuration." + "message": "Không tìm thấy trang web thiếu bảo mật 2 bước trong kho của bạn." }, "instructions": { - "message": "Instructions" + "message": "Hướng dẫn" }, "exposedPasswordsReport": { - "message": "Exposed Passwords Report" + "message": "Báo cáo mật khẩu bị rò rỉ" }, "exposedPasswordsReportDesc": { - "message": "Exposed passwords are passwords that have been uncovered in known data breaches that were released publicly or sold on the dark web by hackers." + "message": "Mật khẩu bị rò rĩ là mật khẩu đã bị hacker hack được trong các vụ rò rĩ dữ liệu được thông báo công khai hoặc được bán trên web đen( dark web) bởi hacker" }, "exposedPasswordsFound": { - "message": "Exposed Passwords Found" + "message": "Phát hiện mật khẩu bị rò rĩ" }, "exposedPasswordsFoundDesc": { "message": "We found $COUNT$ items in your vault that have passwords that were exposed in known data breaches. You should change them to use a new password.", @@ -1391,7 +1400,7 @@ "message": "No items in your vault have passwords that have been exposed in known data breaches." }, "checkExposedPasswords": { - "message": "Check Exposed Passwords" + "message": "Kiểm tra mật khẩu bị rò rỉ" }, "exposedXTimes": { "message": "Exposed $COUNT$ time(s)", @@ -1403,13 +1412,13 @@ } }, "weakPasswordsReport": { - "message": "Weak Passwords Report" + "message": "Báo cáo mật khẩu không đảm bảo an toàn" }, "weakPasswordsReportDesc": { - "message": "Weak passwords can easily be guessed by hackers and automated tools that are used to crack passwords. The Bitwarden password generator can help you create strong passwords." + "message": "Mật khẩu không an toàn có thể bị hacker và công cụ dò mật khẩu tự động đoán được dễ dàng . Chế độ tạo mật khẩu tự động của Bitwarden sẽ khắc phục vấn đề này." }, "weakPasswordsFound": { - "message": "Weak Passwords Found" + "message": "Phát hiện mật khẩu không an toàn" }, "weakPasswordsFoundDesc": { "message": "We found $COUNT$ items in your vault with passwords that are not strong. You should update them to use stronger passwords.", @@ -1424,13 +1433,13 @@ "message": "No items in your vault have weak passwords." }, "reusedPasswordsReport": { - "message": "Reused Passwords Report" + "message": "Báo cáo mật khẩu tái sử dụng" }, "reusedPasswordsReportDesc": { "message": "If a service that you use is compromised, reusing the same password elsewhere can allow hackers to easily gain access to more of your online accounts. You should use a unique password for every account or service." }, "reusedPasswordsFound": { - "message": "Reused Passwords Found" + "message": "Phát hiện mật khẩu tái sử dụng" }, "reusedPasswordsFoundDesc": { "message": "We found $COUNT$ passwords that are being reused in your vault. You should change them to a unique value.", @@ -1454,7 +1463,7 @@ } }, "dataBreachReport": { - "message": "Data Breach Report" + "message": "Báo cáo dữ liệu bị rò rĩ" }, "breachDesc": { "message": "A \"breach\" is an incident where a site's data has been illegally accessed by hackers and then released publicly. Review the types of data that were compromised (email addresses, passwords, credit cards etc.) and take appropriate action, such as changing passwords." @@ -1475,7 +1484,7 @@ } }, "goodNews": { - "message": "Good News", + "message": "Tin tốt!", "description": "ex. Good News, No Breached Accounts Found!" }, "breachUsernameFound": { @@ -1498,7 +1507,7 @@ "message": "Compromised data" }, "website": { - "message": "Website" + "message": "Trang web" }, "affectedUsers": { "message": "Affected Users" @@ -1513,7 +1522,7 @@ "message": "An error occurred trying to load the report. Try again" }, "billing": { - "message": "Billing" + "message": "Hóa đơn" }, "accountCredit": { "message": "Account Credit", @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "Payment Information" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "Credit Card" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Device" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "Subscription" }, @@ -3295,15 +3319,35 @@ "deletionDate": { "message": "Deletion Date" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "Expiration Date" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "Maximum Access Count" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "Current Access Count" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "Disabled" }, @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "Are you sure you want to remove the password?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "All Sends" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Search Sends", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "Download File" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "There are no Sends to list.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/zh_CN/messages.json b/locales/zh_CN/messages.json index f759c916..6c0c1513 100644 --- a/locales/zh_CN/messages.json +++ b/locales/zh_CN/messages.json @@ -347,6 +347,9 @@ "editItem": { "message": "编辑项目" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "例如", "description": "Short abbreviation for 'example'." @@ -627,7 +630,7 @@ "message": "没有可列出的事件。" }, "newOrganization": { - "message": "新的组织" + "message": "新建组织" }, "noOrganizationsList": { "message": "您没有加入任何组织。同一组织的用户可以安全地与其他用户共享项目。" @@ -790,9 +793,15 @@ "warning": { "message": "警告" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "导出的密码库数据包含未加密格式。您不应该通过不安全的渠道(例如电子邮件)来存储或发送导出的文件。用完后请立即将其删除。" }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "输入主密码来导出你的密码库数据。" }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "支付信息" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "信用卡" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "设备" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "更新加密密钥后,您需要登出所有正在使用的 Bitwarden 应用(比如手机版应用或者浏览器扩展)后重新登录。登出失败或者重新登录失败(下载新的加密密钥)可能会导致数据损坏。我们会尝试自动为您登出,但是,可能会有所延迟。" }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "订阅" }, @@ -2942,10 +2966,10 @@ "description": "Free, as in 'Free beer'" }, "apiKey": { - "message": "API密钥" + "message": "API 密钥" }, "apiKeyDesc": { - "message": "您的 API 密钥可以用来验证 Bitwarden 公共API。" + "message": "您的 API 密钥可以用来验证 Bitwarden 公共 API。" }, "apiKeyRotateDesc": { "message": "轮换 API 密钥将使前一个密钥无效。如果你认为当前密钥不再安全,你可以轮换您的 API 密钥。" @@ -3194,7 +3218,7 @@ "message": "企业单点登录(SSO)" }, "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." + "message": "您现在可以在扩展中关闭此标签并继续。" }, "businessPortal": { "message": "业务门户", @@ -3237,7 +3261,7 @@ "message": "非所有者或管理员并且已是其他组织成员的组织成员将从您的组织中移除。" }, "requireSso": { - "message": "单点登录验证身份" + "message": "单点登录认证" }, "requireSsoPolicyDesc": { "message": "要求用户使用企业单点登录(SSO)方式登录。" @@ -3295,15 +3319,35 @@ "deletionDate": { "message": "删除日期" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "到期日期" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "最大访问次数" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "当前访问次数" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "已禁用" }, @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "确定移除此密码?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "所有 Send" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "搜索 Send", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "下载文件" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "没有可列出的 Send。", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/locales/zh_TW/messages.json b/locales/zh_TW/messages.json index cf9c7edf..ff42994e 100644 --- a/locales/zh_TW/messages.json +++ b/locales/zh_TW/messages.json @@ -347,6 +347,9 @@ "editItem": { "message": "編輯項目" }, + "viewItem": { + "message": "View Item" + }, "ex": { "message": "例如", "description": "Short abbreviation for 'example'." @@ -790,9 +793,15 @@ "warning": { "message": "警告" }, + "confirmVaultExport": { + "message": "Confirm Vault Export" + }, "exportWarningDesc": { "message": "您的密碼將匯出成未加密的. csv 檔案。您不應將它存放或經由未經加密的方式傳送(例如電子郵件)。用完後請立即將它刪除。" }, + "encExportWarningDesc": { + "message": "This export encrypts your data using your account's encryption key. If you ever rotate your account's encryption key you should export again since you will not be able to decrypt this export file." + }, "exportMasterPassword": { "message": "輸入您的主密碼以匯出密碼庫資料。" }, @@ -1659,6 +1668,9 @@ "paymentInformation": { "message": "付款資訊" }, + "billingInformation": { + "message": "Billing Information" + }, "creditCard": { "message": "信用卡" }, @@ -2483,6 +2495,15 @@ } } }, + "unlinkedSsoUser": { + "message": "Unlinked SSO for user $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "裝置" }, @@ -2786,6 +2807,9 @@ "updateEncryptionKeyWarning": { "message": "After updating your encryption key, you are required to log out and back in to all Bitwarden applications that you are currently using (such as the mobile app or browser extensions). Failure to log out and back in (which downloads your new encryption key) may result in data corruption. We will attempt to log you out automatically, however, it may be delayed." }, + "updateEncryptionKeyExportWarning": { + "message": "Any encrypted exports that you have saved will also become invalid." + }, "subscription": { "message": "訂閱" }, @@ -3194,7 +3218,7 @@ "message": "Enterprise Single Sign-On" }, "ssoHandOff": { - "message": "You may now close this tab and continue in the extension." + "message": "您現在可以關閉此分頁,並且回到擴充套件繼續。" }, "businessPortal": { "message": "Business Portal", @@ -3295,15 +3319,35 @@ "deletionDate": { "message": "刪除日期" }, + "deletionDateDesc": { + "message": "The Send will be permanently deleted on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "expirationDate": { "message": "到期日" }, + "expirationDateDesc": { + "message": "If set, access to this Send will expire on the specified date and time.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "maxAccessCount": { "message": "最大存取次數" }, + "maxAccessCountDesc": { + "message": "If set, users will no longer be able to access this send once the maximum access count is reached.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "currentAccessCount": { "message": "目前已存取次數" }, + "sendPasswordDesc": { + "message": "Optionally require a password for users to access this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "sendNotesDesc": { + "message": "Private notes about this Send.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "disabled": { "message": "已停用" }, @@ -3324,9 +3368,22 @@ "removePasswordConfirmation": { "message": "您確定要移除密碼嗎?" }, + "disableThisSend": { + "message": "Disable this Send so that no one can access it.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "allSends": { "message": "All Sends" }, + "maxAccessCountReached": { + "message": "Max access count reached" + }, + "pendingDeletion": { + "message": "Pending deletion" + }, + "expired": { + "message": "Expired" + }, "searchSends": { "message": "Search Sends", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." @@ -3346,8 +3403,230 @@ "downloadFile": { "message": "下載檔案" }, + "sendAccessUnavailable": { + "message": "The Send you are trying to access does not exist or is no longer available.", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, "noSendsInList": { "message": "There are no Sends to list.", "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." + }, + "emergencyAccess": { + "message": "Emergency Access" + }, + "emergencyAccessDesc": { + "message": "Grant and manage emergency access for trusted contacts. Trusted contacts may request access to either View or Takeover your account in case of a emergency. Visit our help page for more information and details into how zero knowledge sharing works." + }, + "trustedEmergencyContacts": { + "message": "Trusted emergency contacts" + }, + "noTrustedContacts": { + "message": "You have not added any emergency contacts yet, invite a trusted contact to get started." + }, + "addEmergencyContact": { + "message": "Add emergency contact" + }, + "designatedEmergencyContacts": { + "message": "Designated as emergency contact" + }, + "noGrantedAccess": { + "message": "You have not been designated as an emergency contact for anyone yet." + }, + "inviteEmergencyContact": { + "message": "Invite emergency contact" + }, + "editEmergencyContact": { + "message": "Edit emergency contact" + }, + "inviteEmergencyContactDesc": { + "message": "Invite a new emergency contact by entering their Bitwarden account email address below. If they do not have a Bitwarden account already, they will be prompted to create a new account." + }, + "emergencyAccessRecoveryInitiated": { + "message": "Emergency Access Initiated" + }, + "emergencyAccessRecoveryApproved": { + "message": "Emergency Access Approved" + }, + "viewDesc": { + "message": "Can view all items in your own vault." + }, + "takeover": { + "message": "Takeover" + }, + "takeoverDesc": { + "message": "Can reset your account with a new master password." + }, + "waitTime": { + "message": "Wait Time" + }, + "waitTimeDesc": { + "message": "Time required before automatically granting access." + }, + "oneDay": { + "message": "1 day" + }, + "days": { + "message": "$DAYS$ days", + "placeholders": { + "days": { + "content": "$1", + "example": "1" + } + } + }, + "invitedUser": { + "message": "Invited user." + }, + "acceptEmergencyAccess": { + "message": "You've been invited to become an emergency contact for the user listed above. To accept the invitation, you need to log in or create a new Bitwarden account." + }, + "emergencyInviteAcceptFailed": { + "message": "Unable to accept invitation. Ask the user to send a new invitation." + }, + "emergencyInviteAcceptFailedShort": { + "message": "Unable to accept invitation. $DESCRIPTION$", + "placeholders": { + "description": { + "content": "$1", + "example": "You must enable 2FA on your user account before you can join this organization." + } + } + }, + "emergencyInviteAcceptedDesc": { + "message": "You can access the emergency options for this user after your identity has been confirmed. We'll send you an email when that happens." + }, + "requestAccess": { + "message": "Request Access" + }, + "requestAccessConfirmation": { + "message": "Are you sure you want to request emergency access? You will be provided access after $WAITTIME$ day(s) or whenever the user manually approves the request.", + "placeholders": { + "waittime": { + "content": "$1", + "example": "1" + } + } + }, + "requestSent": { + "message": "Emergency access requested for $USER$. We'll notify you by email when it's possible to continue.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "approve": { + "message": "Approve" + }, + "reject": { + "message": "Reject" + }, + "approveAccessConfirmation": { + "message": "Are you sure you want to approve emergency access? This will allow $USER$ to $ACTION$ your account.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + }, + "action": { + "content": "$2", + "example": "View" + } + } + }, + "emergencyApproved": { + "message": "Emergency access approved." + }, + "emergencyRejected": { + "message": "Emergency access rejected" + }, + "passwordResetFor": { + "message": "Password reset for $USER$. You can now login using the new password.", + "placeholders": { + "user": { + "content": "$1", + "example": "John Smith" + } + } + }, + "personalOwnership": { + "message": "Personal Ownership" + }, + "personalOwnershipPolicyDesc": { + "message": "Require users to save vault items to an organization by removing the personal ownership option." + }, + "personalOwnershipExemption": { + "message": "Organization Owners and Administrators are exempt from this policy's enforcement." + }, + "personalOwnershipSubmitError": { + "message": "Due to an Enterprise Policy, you are restricted from saving items to your personal vault. Change the Ownership option to an organization and choose from available Collections." + }, + "modifiedPolicyId": { + "message": "Modified policy $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "Master Password" + } + } + }, + "planPrice": { + "message": "Plan price" + }, + "estimatedTax": { + "message": "Estimated tax" + }, + "custom": { + "message": "Custom" + }, + "customDesc": { + "message": "Allows more granular control of user permissions for advanced configurations." + }, + "permissions": { + "message": "Permissions" + }, + "accessBusinessPortal": { + "message": "Access Business Portal" + }, + "accessEventLogs": { + "message": "Access Event Logs" + }, + "accessImportExport": { + "message": "Access Import/Export" + }, + "accessReports": { + "message": "Access Reports" + }, + "manageAllCollections": { + "message": "Manage All Collections" + }, + "manageAssignedCollections": { + "message": "Manage Assigned Collections" + }, + "manageGroups": { + "message": "Manage Groups" + }, + "managePolicies": { + "message": "Manage Policies" + }, + "manageSso": { + "message": "Manage SSO" + }, + "manageUsers": { + "message": "Manage Users" + }, + "disableRequireSsoError": { + "message": "You must manually disable the Single Sign-On Authentication policy before this policy can be disabled." + }, + "personalOwnershipPolicyInEffect": { + "message": "An organization policy is affecting your ownership options." + }, + "personalOwnershipCheckboxDesc": { + "message": "Disable personal ownership for organization users" + }, + "textHiddenByDefault": { + "message": "When accessing the Send, hide the text by default", + "description": "'Send' is a noun and the name of a feature called 'Bitwarden Send'. It should not be translated." } } diff --git a/sso-connector.html b/sso-connector.html index 77ab7671..61311ab3 100644 --- a/sso-connector.html +++ b/sso-connector.html @@ -13,7 +13,7 @@ - +
@@ -26,6 +26,6 @@
- + diff --git a/u2f-connector.html b/u2f-connector.html index f2e45d10..80575b93 100644 --- a/u2f-connector.html +++ b/u2f-connector.html @@ -7,6 +7,6 @@ - + diff --git a/version.json b/version.json index 38772c42..19c1984b 100644 --- a/version.json +++ b/version.json @@ -1 +1 @@ -{"version":"2.17.1"} \ No newline at end of file +{"version":"2.18.0"} \ No newline at end of file