From 2b0ebf0a472409b01e8ad00b327c45326930055a Mon Sep 17 00:00:00 2001 From: Mo Date: Fri, 18 Feb 2022 08:04:04 -0600 Subject: [PATCH] chore: upgrade deps --- package.json | 80 +- public/components/checksums.json | 6 +- .../dist/dist.min.js | 2 +- .../package.json | 6 +- yarn.lock | 4048 +++++++---------- 5 files changed, 1607 insertions(+), 2535 deletions(-) diff --git a/package.json b/package.json index 7865e1fee..d8c1d52e9 100644 --- a/package.json +++ b/package.json @@ -21,73 +21,73 @@ "prepare": "husky install" }, "devDependencies": { - "@babel/core": "^7.15.8", - "@babel/plugin-transform-react-jsx": "^7.14.9", - "@babel/preset-env": "^7.15.8", - "@babel/preset-typescript": "^7.15.0", + "@babel/core": "^7.17.5", + "@babel/plugin-transform-react-jsx": "^7.17.3", + "@babel/preset-env": "^7.16.11", + "@babel/preset-typescript": "^7.16.7", "@reach/disclosure": "^0.16.2", "@reach/visually-hidden": "^0.16.0", "@svgr/webpack": "^6.2.1", - "@types/jest": "^27.0.3", - "@types/lodash": "^4.14.176", - "@types/react": "^17.0.31", - "@typescript-eslint/eslint-plugin": "^5.1.0", - "@typescript-eslint/parser": "^5.1.0", + "@types/jest": "^27.4.0", + "@types/lodash": "^4.14.178", + "@types/react": "^17.0.39", + "@typescript-eslint/eslint-plugin": "^5.12.0", + "@typescript-eslint/parser": "^5.12.0", "apply-loader": "^2.0.0", "babel-eslint": "^10.1.0", "babel-loader": "^8.2.3", "connect": "^3.7.0", - "copy-webpack-plugin": "^10.2.0", - "css-loader": "^6.4.0", - "dotenv": "^10.0.0", - "eslint": "^8.0.1", + "copy-webpack-plugin": "^10.2.4", + "css-loader": "^6.6.0", + "dotenv": "^16.0.0", + "eslint": "^8.9.0", "eslint-config-prettier": "^8.3.0", - "eslint-plugin-react": "^7.26.1", - "eslint-plugin-react-hooks": "^4.2.1-beta-149b420f6-20211119", + "eslint-plugin-react": "^7.28.0", + "eslint-plugin-react-hooks": "^4.3.0", "file-loader": "^6.2.0", - "html-webpack-plugin": "^5.4.0", + "html-webpack-plugin": "^5.5.0", "husky": "^7.0.4", "identity-obj-proxy": "^3.0.0", - "jest": "^27.3.1", - "lint-staged": ">=10", + "jest": "^27.5.1", + "lint-staged": ">=12", "lodash": "^4.17.21", - "mini-css-extract-plugin": "^2.4.3", - "node-sass": "^6.0.1", - "prettier": "^2.5.0", - "pretty-quick": "^3.1.2", - "sass-loader": "^12.2.0", - "serve-static": "^1.14.1", - "@standardnotes/stylekit": "5.7.0", + "mini-css-extract-plugin": "^2.5.3", + "node-sass": "^7.0.1", + "prettier": "^2.5.1", + "pretty-quick": "^3.1.3", + "sass-loader": "^12.6.0", + "serve-static": "^1.14.2", + "@standardnotes/stylekit": "5.8.0", "svg-jest": "^1.0.1", - "ts-jest": "^27.0.7", + "ts-jest": "^27.1.3", "ts-loader": "^9.2.6", - "typescript": "4.4.4", + "typescript": "4.5.5", "typescript-eslint": "0.0.1-alpha.0", - "webpack": "^5.59.1", - "webpack-cli": "^4.9.1", - "webpack-dev-server": "^4.3.1", + "webpack": "^5.69.1", + "webpack-cli": "^4.9.2", + "webpack-dev-server": "^4.7.4", "webpack-merge": "^5.8.0" }, "dependencies": { - "@bugsnag/js": "^7.13.2", + "@bugsnag/js": "^7.16.1", "@reach/alert": "^0.16.0", "@reach/alert-dialog": "^0.16.2", "@reach/checkbox": "^0.16.0", "@reach/dialog": "^0.16.2", "@reach/listbox": "^0.16.2", "@reach/tooltip": "^0.16.2", - "@standardnotes/components": "1.7.3", - "@standardnotes/features": "1.32.6", - "@standardnotes/snjs": "2.61.0", + "@standardnotes/components": "1.7.4", + "@standardnotes/features": "1.32.8", + "@standardnotes/snjs": "2.61.4", "@standardnotes/settings": "^1.11.3", "@standardnotes/sncrypto-web": "1.7.0", - "mobx": "^6.3.5", - "mobx-react-lite": "^3.2.2", - "preact": "^10.5.15", + "mobx": "^6.4.0", + "mobx-react-lite": "^3.3.0", + "preact": "^10.6.6", "qrcode.react": "^1.0.1", - "react-dnd": "^14.0.4", - "react-dnd-html5-backend": "^14.0.2", - "react-dnd-touch-backend": "^14.1.1" + "react-dnd": "^15.1.1", + "react-dnd-html5-backend": "^15.1.2", + "react-dnd-touch-backend": "^15.1.1" }, "lint-staged": { "app/**/*.{js,ts,jsx,tsx}": "eslint --cache --fix", diff --git a/public/components/checksums.json b/public/components/checksums.json index 8cd1699bf..c746c489b 100644 --- a/public/components/checksums.json +++ b/public/components/checksums.json @@ -40,9 +40,9 @@ "binary": "4e08fb2de17ab480787a1e042b2d43106e2798093e760fc507ed773401d27c71" }, "org.standardnotes.bold-editor": { - "version": "1.3.3", - "base64": "51a5d2e77aacbcfda21b4a3429e9fe3fb6b61175e5188b6ec26854432ac41fc2", - "binary": "a30533208fbc33f115786ff912b6d605052adda03a62b47513ce390931fe11d1" + "version": "1.3.5", + "base64": "bcecfd1a6ee1909c9f484890cf58d6d52479f8d33c16e1d5d916d1a78a75b90f", + "binary": "84d6ca88665d4d6a1aeb456f8acce1a662bfe4550128aac1fb748abed974f236" }, "org.standardnotes.plus-editor": { "version": "1.6.1", diff --git a/public/components/org.standardnotes.bold-editor/dist/dist.min.js b/public/components/org.standardnotes.bold-editor/dist/dist.min.js index 89837a1e0..9e240858e 100644 --- a/public/components/org.standardnotes.bold-editor/dist/dist.min.js +++ b/public/components/org.standardnotes.bold-editor/dist/dist.min.js @@ -1,2 +1,2 @@ /*! For license information please see dist.min.js.LICENSE.txt */ -(()=>{var e={856:function(e){e.exports=function(){"use strict";function e(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t1?n-1:0),i=1;i/gm),z=s(/^data-[\-\w.\u00B7-\uFFFF]/),U=s(/^aria-[\-\w]+$/),H=s(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),K=s(/^(?:\w+script|data):/i),W=s(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),V="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function q(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t0&&void 0!==arguments[0]?arguments[0]:$(),t=function(e){return Q(e)};if(t.version="2.2.9",t.removed=[],!e||!e.document||9!==e.document.nodeType)return t.isSupported=!1,t;var n=e.document,r=e.document,i=e.DocumentFragment,a=e.HTMLTemplateElement,s=e.Node,u=e.Element,c=e.NodeFilter,l=e.NamedNodeMap,f=void 0===l?e.NamedNodeMap||e.MozNamedAttrMap:l,x=e.Text,S=e.Comment,G=e.DOMParser,Y=e.trustedTypes,X=u.prototype,Z=C(X,"cloneNode"),ee=C(X,"nextSibling"),te=C(X,"childNodes"),ne=C(X,"parentNode");if("function"==typeof a){var re=r.createElement("template");re.content&&re.content.ownerDocument&&(r=re.content.ownerDocument)}var ie=J(Y,n),ae=ie&&Ne?ie.createHTML(""):"",oe=r,se=oe.implementation,ue=oe.createNodeIterator,ce=oe.createDocumentFragment,le=n.importNode,fe={};try{fe=E(r).documentMode?r.documentMode:{}}catch(e){}var pe={};t.isSupported="function"==typeof ne&&se&&void 0!==se.createHTMLDocument&&9!==fe;var de=j,he=B,me=z,ye=U,ve=K,ge=W,be=H,ke=null,we=_({},[].concat(q(I),q(R),q(T),q(A),q(O))),xe=null,Se=_({},[].concat(q(M),q(P),q(N),q(L))),_e=null,Ee=null,Ce=!0,Ie=!0,Re=!1,Te=!1,De=!1,Ae=!1,Fe=!1,Oe=!1,Me=!1,Pe=!0,Ne=!1,Le=!0,je=!0,Be=!1,ze={},Ue=_({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),He=null,Ke=_({},["audio","video","img","source","image","track"]),We=null,Ve=_({},["alt","class","for","id","label","name","pattern","placeholder","summary","title","value","style","xmlns"]),qe="http://www.w3.org/1998/Math/MathML",$e="http://www.w3.org/2000/svg",Je="http://www.w3.org/1999/xhtml",Qe=Je,Ge=!1,Ye=null,Xe=r.createElement("form"),Ze=function(e){Ye&&Ye===e||(e&&"object"===(void 0===e?"undefined":V(e))||(e={}),e=E(e),ke="ALLOWED_TAGS"in e?_({},e.ALLOWED_TAGS):we,xe="ALLOWED_ATTR"in e?_({},e.ALLOWED_ATTR):Se,We="ADD_URI_SAFE_ATTR"in e?_(E(Ve),e.ADD_URI_SAFE_ATTR):Ve,He="ADD_DATA_URI_TAGS"in e?_(E(Ke),e.ADD_DATA_URI_TAGS):Ke,_e="FORBID_TAGS"in e?_({},e.FORBID_TAGS):{},Ee="FORBID_ATTR"in e?_({},e.FORBID_ATTR):{},ze="USE_PROFILES"in e&&e.USE_PROFILES,Ce=!1!==e.ALLOW_ARIA_ATTR,Ie=!1!==e.ALLOW_DATA_ATTR,Re=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Te=e.SAFE_FOR_TEMPLATES||!1,De=e.WHOLE_DOCUMENT||!1,Oe=e.RETURN_DOM||!1,Me=e.RETURN_DOM_FRAGMENT||!1,Pe=!1!==e.RETURN_DOM_IMPORT,Ne=e.RETURN_TRUSTED_TYPE||!1,Fe=e.FORCE_BODY||!1,Le=!1!==e.SANITIZE_DOM,je=!1!==e.KEEP_CONTENT,Be=e.IN_PLACE||!1,be=e.ALLOWED_URI_REGEXP||be,Qe=e.NAMESPACE||Je,Te&&(Ie=!1),Me&&(Oe=!0),ze&&(ke=_({},[].concat(q(O))),xe=[],!0===ze.html&&(_(ke,I),_(xe,M)),!0===ze.svg&&(_(ke,R),_(xe,P),_(xe,L)),!0===ze.svgFilters&&(_(ke,T),_(xe,P),_(xe,L)),!0===ze.mathMl&&(_(ke,A),_(xe,N),_(xe,L))),e.ADD_TAGS&&(ke===we&&(ke=E(ke)),_(ke,e.ADD_TAGS)),e.ADD_ATTR&&(xe===Se&&(xe=E(xe)),_(xe,e.ADD_ATTR)),e.ADD_URI_SAFE_ATTR&&_(We,e.ADD_URI_SAFE_ATTR),je&&(ke["#text"]=!0),De&&_(ke,["html","head","body"]),ke.table&&(_(ke,["tbody"]),delete _e.tbody),o&&o(e),Ye=e)},et=_({},["mi","mo","mn","ms","mtext"]),tt=_({},["foreignobject","desc","title","annotation-xml"]),nt=_({},R);_(nt,T),_(nt,D);var rt=_({},A);_(rt,F);var it=function(e){var t=ne(e);t&&t.tagName||(t={namespaceURI:Je,tagName:"template"});var n=m(e.tagName),r=m(t.tagName);if(e.namespaceURI===$e)return t.namespaceURI===Je?"svg"===n:t.namespaceURI===qe?"svg"===n&&("annotation-xml"===r||et[r]):Boolean(nt[n]);if(e.namespaceURI===qe)return t.namespaceURI===Je?"math"===n:t.namespaceURI===$e?"math"===n&&tt[r]:Boolean(rt[n]);if(e.namespaceURI===Je){if(t.namespaceURI===$e&&!tt[r])return!1;if(t.namespaceURI===qe&&!et[r])return!1;var i=_({},["title","style","font","a","script"]);return!rt[n]&&(i[n]||!nt[n])}return!1},at=function(e){h(t.removed,{element:e});try{e.parentNode.removeChild(e)}catch(t){try{e.outerHTML=ae}catch(t){e.remove()}}},ot=function(e,n){try{h(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch(e){h(t.removed,{attribute:null,from:n})}if(n.removeAttribute(e),"is"===e&&!xe[e])if(Oe||Me)try{at(n)}catch(e){}else try{n.setAttribute(e,"")}catch(e){}},st=function(e){var t=void 0,n=void 0;if(Fe)e=""+e;else{var i=y(e,/^[\r\n\t ]+/);n=i&&i[0]}var a=ie?ie.createHTML(e):e;if(Qe===Je)try{t=(new G).parseFromString(a,"text/html")}catch(e){}if(!t||!t.documentElement){t=se.createDocument(Qe,"template",null);try{t.documentElement.innerHTML=Ge?"":a}catch(e){}}var o=t.body||t.documentElement;return e&&n&&o.insertBefore(r.createTextNode(n),o.childNodes[0]||null),De?t.documentElement:o},ut=function(e){return ue.call(e.ownerDocument||e,e,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT,null,!1)},ct=function(e){return!(e instanceof x||e instanceof S||"string"==typeof e.nodeName&&"string"==typeof e.textContent&&"function"==typeof e.removeChild&&e.attributes instanceof f&&"function"==typeof e.removeAttribute&&"function"==typeof e.setAttribute&&"string"==typeof e.namespaceURI&&"function"==typeof e.insertBefore)},lt=function(e){return"object"===(void 0===s?"undefined":V(s))?e instanceof s:e&&"object"===(void 0===e?"undefined":V(e))&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName},ft=function(e,n,r){pe[e]&&p(pe[e],(function(e){e.call(t,n,r,Ye)}))},pt=function(e){var n=void 0;if(ft("beforeSanitizeElements",e,null),ct(e))return at(e),!0;if(y(e.nodeName,/[\u0080-\uFFFF]/))return at(e),!0;var r=m(e.nodeName);if(ft("uponSanitizeElement",e,{tagName:r,allowedTags:ke}),!lt(e.firstElementChild)&&(!lt(e.content)||!lt(e.content.firstElementChild))&&k(/<[/\w]/g,e.innerHTML)&&k(/<[/\w]/g,e.textContent))return at(e),!0;if(!ke[r]||_e[r]){if(je&&!Ue[r]){var i=ne(e)||e.parentNode,a=te(e)||e.childNodes;if(a&&i)for(var o=a.length-1;o>=0;--o)i.insertBefore(Z(a[o],!0),ee(e))}return at(e),!0}return e instanceof u&&!it(e)?(at(e),!0):"noscript"!==r&&"noembed"!==r||!k(/<\/no(script|embed)/i,e.innerHTML)?(Te&&3===e.nodeType&&(n=e.textContent,n=v(n,de," "),n=v(n,he," "),e.textContent!==n&&(h(t.removed,{element:e.cloneNode()}),e.textContent=n)),ft("afterSanitizeElements",e,null),!1):(at(e),!0)},dt=function(e,t,n){if(Le&&("id"===t||"name"===t)&&(n in r||n in Xe))return!1;if(Ie&&k(me,t));else if(Ce&&k(ye,t));else{if(!xe[t]||Ee[t])return!1;if(We[t]);else if(k(be,v(n,ge,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==g(n,"data:")||!He[e])if(Re&&!k(ve,v(n,ge,"")));else if(n)return!1}return!0},ht=function(e){var n=void 0,r=void 0,i=void 0,a=void 0;ft("beforeSanitizeAttributes",e,null);var o=e.attributes;if(o){var s={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:xe};for(a=o.length;a--;){var u=n=o[a],c=u.name,l=u.namespaceURI;if(r=b(n.value),i=m(c),s.attrName=i,s.attrValue=r,s.keepAttr=!0,s.forceKeepAttr=void 0,ft("uponSanitizeAttribute",e,s),r=s.attrValue,!s.forceKeepAttr&&(ot(c,e),s.keepAttr))if(k(/\/>/i,r))ot(c,e);else{Te&&(r=v(r,de," "),r=v(r,he," "));var f=e.nodeName.toLowerCase();if(dt(f,i,r))try{l?e.setAttributeNS(l,c,r):e.setAttribute(c,r),d(t.removed)}catch(e){}}}ft("afterSanitizeAttributes",e,null)}},mt=function e(t){var n=void 0,r=ut(t);for(ft("beforeSanitizeShadowDOM",t,null);n=r.nextNode();)ft("uponSanitizeShadowNode",n,null),pt(n)||(n.content instanceof i&&e(n.content),ht(n));ft("afterSanitizeShadowDOM",t,null)};return t.sanitize=function(r,a){var o=void 0,u=void 0,c=void 0,l=void 0,f=void 0;if((Ge=!r)&&(r="\x3c!--\x3e"),"string"!=typeof r&&!lt(r)){if("function"!=typeof r.toString)throw w("toString is not a function");if("string"!=typeof(r=r.toString()))throw w("dirty is not a string, aborting")}if(!t.isSupported){if("object"===V(e.toStaticHTML)||"function"==typeof e.toStaticHTML){if("string"==typeof r)return e.toStaticHTML(r);if(lt(r))return e.toStaticHTML(r.outerHTML)}return r}if(Ae||Ze(a),t.removed=[],"string"==typeof r&&(Be=!1),Be);else if(r instanceof s)1===(u=(o=st("\x3c!----\x3e")).ownerDocument.importNode(r,!0)).nodeType&&"BODY"===u.nodeName||"HTML"===u.nodeName?o=u:o.appendChild(u);else{if(!Oe&&!Te&&!De&&-1===r.indexOf("<"))return ie&&Ne?ie.createHTML(r):r;if(!(o=st(r)))return Oe?null:ae}o&&Fe&&at(o.firstChild);for(var p=ut(Be?r:o);c=p.nextNode();)3===c.nodeType&&c===l||pt(c)||(c.content instanceof i&&mt(c.content),ht(c),l=c);if(l=null,Be)return r;if(Oe){if(Me)for(f=ce.call(o.ownerDocument);o.firstChild;)f.appendChild(o.firstChild);else f=o;return Pe&&(f=le.call(n,f,!0)),f}var d=De?o.outerHTML:o.innerHTML;return Te&&(d=v(d,de," "),d=v(d,he," ")),ie&&Ne?ie.createHTML(d):d},t.setConfig=function(e){Ze(e),Ae=!0},t.clearConfig=function(){Ye=null,Ae=!1},t.isValidAttribute=function(e,t,n){Ye||Ze({});var r=m(e),i=m(t);return dt(r,i,n)},t.addHook=function(e,t){"function"==typeof t&&(pe[e]=pe[e]||[],h(pe[e],t))},t.removeHook=function(e){pe[e]&&d(pe[e])},t.removeHooks=function(e){pe[e]&&(pe[e]=[])},t.removeAllHooks=function(){pe={}},t}return Q()}()},166:e=>{e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=4)}([function(e,t,n){(function(t){e.exports=function(){function e(t,n,r){function i(o,s){if(!n[o]){if(!t[o]){if(a)return a(o,!0);var u=new Error("Cannot find module '"+o+"'");throw u.code="MODULE_NOT_FOUND",u}var c=n[o]={exports:{}};t[o][0].call(c.exports,(function(e){return i(t[o][1][e]||e)}),c,c.exports,e,t,n,r)}return n[o].exports}for(var a=!1,o=0;o>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],r=0;r>>2]>>>24-r%4*8&255;n.push((i>>>4).toString(16)),n.push((15&i).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new o.init(n,t/2)}},c=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new o.init(n,t)}},l=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=r.BufferedBlockAlgorithm=a.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=l.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,r=n.words,i=n.sigBytes,a=this.blockSize,s=i/(4*a);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var u=0;u>>2]>>>24-i%4*8&255)<<16|(t[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|t[i+2>>>2]>>>24-(i+2)%4*8&255,o=0;4>o&&i+.75*o>>6*(3-o)&63));if(t=r.charAt(64))for(;e.length%4;)e.push(t);return e.join("")},parse:function(e){var t=e.length,r=this._map;(i=r.charAt(64))&&-1!=(i=e.indexOf(i))&&(t=i);for(var i=[],a=0,o=0;o>>6-o%4*2;i[a>>>2]|=(s|u)<<24-a%4*8,a++}return n.create(i,a)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},function(e){function t(e,t,n,r,i,a,o){return((e=e+(t&n|~t&r)+i+o)<>>32-a)+t}function n(e,t,n,r,i,a,o){return((e=e+(t&r|n&~r)+i+o)<>>32-a)+t}function r(e,t,n,r,i,a,o){return((e=e+(t^n^r)+i+o)<>>32-a)+t}function i(e,t,n,r,i,a,o){return((e=e+(n^(t|~r))+i+o)<>>32-a)+t}for(var a=u,o=(c=a.lib).WordArray,s=c.Hasher,c=a.algo,l=[],f=0;64>f;f++)l[f]=4294967296*e.abs(e.sin(f+1))|0;c=c.MD5=s.extend({_doReset:function(){this._hash=new o.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,a){for(var o=0;16>o;o++){var s=e[u=a+o];e[u]=16711935&(s<<8|s>>>24)|4278255360&(s<<24|s>>>8)}o=this._hash.words;var u=e[a+0],c=(s=e[a+1],e[a+2]),f=e[a+3],p=e[a+4],d=e[a+5],h=e[a+6],m=e[a+7],y=e[a+8],v=e[a+9],g=e[a+10],b=e[a+11],k=e[a+12],w=e[a+13],x=e[a+14],S=e[a+15],_=t(_=o[0],I=o[1],C=o[2],E=o[3],u,7,l[0]),E=t(E,_,I,C,s,12,l[1]),C=t(C,E,_,I,c,17,l[2]),I=t(I,C,E,_,f,22,l[3]);_=t(_,I,C,E,p,7,l[4]),E=t(E,_,I,C,d,12,l[5]),C=t(C,E,_,I,h,17,l[6]),I=t(I,C,E,_,m,22,l[7]),_=t(_,I,C,E,y,7,l[8]),E=t(E,_,I,C,v,12,l[9]),C=t(C,E,_,I,g,17,l[10]),I=t(I,C,E,_,b,22,l[11]),_=t(_,I,C,E,k,7,l[12]),E=t(E,_,I,C,w,12,l[13]),C=t(C,E,_,I,x,17,l[14]),_=n(_,I=t(I,C,E,_,S,22,l[15]),C,E,s,5,l[16]),E=n(E,_,I,C,h,9,l[17]),C=n(C,E,_,I,b,14,l[18]),I=n(I,C,E,_,u,20,l[19]),_=n(_,I,C,E,d,5,l[20]),E=n(E,_,I,C,g,9,l[21]),C=n(C,E,_,I,S,14,l[22]),I=n(I,C,E,_,p,20,l[23]),_=n(_,I,C,E,v,5,l[24]),E=n(E,_,I,C,x,9,l[25]),C=n(C,E,_,I,f,14,l[26]),I=n(I,C,E,_,y,20,l[27]),_=n(_,I,C,E,w,5,l[28]),E=n(E,_,I,C,c,9,l[29]),C=n(C,E,_,I,m,14,l[30]),_=r(_,I=n(I,C,E,_,k,20,l[31]),C,E,d,4,l[32]),E=r(E,_,I,C,y,11,l[33]),C=r(C,E,_,I,b,16,l[34]),I=r(I,C,E,_,x,23,l[35]),_=r(_,I,C,E,s,4,l[36]),E=r(E,_,I,C,p,11,l[37]),C=r(C,E,_,I,m,16,l[38]),I=r(I,C,E,_,g,23,l[39]),_=r(_,I,C,E,w,4,l[40]),E=r(E,_,I,C,u,11,l[41]),C=r(C,E,_,I,f,16,l[42]),I=r(I,C,E,_,h,23,l[43]),_=r(_,I,C,E,v,4,l[44]),E=r(E,_,I,C,k,11,l[45]),C=r(C,E,_,I,S,16,l[46]),_=i(_,I=r(I,C,E,_,c,23,l[47]),C,E,u,6,l[48]),E=i(E,_,I,C,m,10,l[49]),C=i(C,E,_,I,x,15,l[50]),I=i(I,C,E,_,d,21,l[51]),_=i(_,I,C,E,k,6,l[52]),E=i(E,_,I,C,f,10,l[53]),C=i(C,E,_,I,g,15,l[54]),I=i(I,C,E,_,s,21,l[55]),_=i(_,I,C,E,y,6,l[56]),E=i(E,_,I,C,S,10,l[57]),C=i(C,E,_,I,h,15,l[58]),I=i(I,C,E,_,w,21,l[59]),_=i(_,I,C,E,p,6,l[60]),E=i(E,_,I,C,b,10,l[61]),C=i(C,E,_,I,c,15,l[62]),I=i(I,C,E,_,v,21,l[63]),o[0]=o[0]+_|0,o[1]=o[1]+I|0,o[2]=o[2]+C|0,o[3]=o[3]+E|0},_doFinalize:function(){var t=this._data,n=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;n[i>>>5]|=128<<24-i%32;var a=e.floor(r/4294967296);for(n[15+(i+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),n[14+(i+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),t.sigBytes=4*(n.length+1),this._process(),n=(t=this._hash).words,r=0;4>r;r++)i=n[r],n[r]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8);return t},clone:function(){var e=s.clone.call(this);return e._hash=this._hash.clone(),e}}),a.MD5=s._createHelper(c),a.HmacMD5=s._createHmacHelper(c)}(Math),function(){var e,t=u,n=(e=t.lib).Base,r=e.WordArray,i=(e=t.algo).EvpKDF=n.extend({cfg:n.extend({keySize:4,hasher:e.MD5,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var n=(s=this.cfg).hasher.create(),i=r.create(),a=i.words,o=s.keySize,s=s.iterations;a.length>>2]}},t.BlockCipher=s.extend({cfg:s.cfg.extend({mode:c,padding:f}),reset:function(){s.reset.call(this);var e=(t=this.cfg).iv,t=t.mode;if(this._xformMode==this._ENC_XFORM_MODE)var n=t.createEncryptor;else n=t.createDecryptor,this._minBufferSize=1;this._mode=n.call(t,this,e&&e.words)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);var t=this._process(!0)}else t=this._process(!0),e.unpad(t);return t},blockSize:4});var p=t.CipherParams=n.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),d=(c=(h.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext;return((e=e.salt)?r.create([1398893684,1701076831]).concat(e).concat(t):t).toString(a)},parse:function(e){var t=(e=a.parse(e)).words;if(1398893684==t[0]&&1701076831==t[1]){var n=r.create(t.slice(2,4));t.splice(0,4),e.sigBytes-=16}return p.create({ciphertext:e,salt:n})}},t.SerializableCipher=n.extend({cfg:n.extend({format:c}),encrypt:function(e,t,n,r){r=this.cfg.extend(r);var i=e.createEncryptor(n,r);return t=i.finalize(t),i=i.cfg,p.create({ciphertext:t,key:n,iv:i.iv,algorithm:e,mode:i.mode,padding:i.padding,blockSize:e.blockSize,formatter:r.format})},decrypt:function(e,t,n,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),e.createDecryptor(n,r).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}})),h=(h.kdf={}).OpenSSL={execute:function(e,t,n,i){return i||(i=r.random(8)),e=o.create({keySize:t+n}).compute(e,i),n=r.create(e.words.slice(t),4*n),e.sigBytes=4*t,p.create({key:e,iv:n,salt:i})}},m=t.PasswordBasedCipher=d.extend({cfg:d.cfg.extend({kdf:h}),encrypt:function(e,t,n,r){return n=(r=this.cfg.extend(r)).kdf.execute(n,e.keySize,e.ivSize),r.iv=n.iv,(e=d.encrypt.call(this,e,t,n.key,r)).mixIn(n),e},decrypt:function(e,t,n,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),n=r.kdf.execute(n,e.keySize,e.ivSize,t.salt),r.iv=n.iv,d.decrypt.call(this,e,t,n.key,r)}})}(),function(){for(var e=u,t=e.lib.BlockCipher,n=e.algo,r=[],i=[],a=[],o=[],s=[],c=[],l=[],f=[],p=[],d=[],h=[],m=0;256>m;m++)h[m]=128>m?m<<1:m<<1^283;var y=0,v=0;for(m=0;256>m;m++){var g=(g=v^v<<1^v<<2^v<<3^v<<4)>>>8^255&g^99;r[y]=g,i[g]=y;var b=h[y],k=h[b],w=h[k],x=257*h[g]^16843008*g;a[y]=x<<24|x>>>8,o[y]=x<<16|x>>>16,s[y]=x<<8|x>>>24,c[y]=x,x=16843009*w^65537*k^257*b^16843008*y,l[g]=x<<24|x>>>8,f[g]=x<<16|x>>>16,p[g]=x<<8|x>>>24,d[g]=x,y?(y=b^h[h[h[w^b]]],v^=h[h[v]]):y=v=1}var S=[0,1,2,4,8,16,32,64,128,27,54];n=n.AES=t.extend({_doReset:function(){for(var e=(n=this._key).words,t=n.sigBytes/4,n=4*((this._nRounds=t+6)+1),i=this._keySchedule=[],a=0;a>>24]<<24|r[o>>>16&255]<<16|r[o>>>8&255]<<8|r[255&o]):(o=r[(o=o<<8|o>>>24)>>>24]<<24|r[o>>>16&255]<<16|r[o>>>8&255]<<8|r[255&o],o^=S[a/t|0]<<24),i[a]=i[a-t]^o}for(e=this._invKeySchedule=[],t=0;tt||4>=a?o:l[r[o>>>24]]^f[r[o>>>16&255]]^p[r[o>>>8&255]]^d[r[255&o]]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,a,o,s,c,r)},decryptBlock:function(e,t){var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n,this._doCryptBlock(e,t,this._invKeySchedule,l,f,p,d,i),n=e[t+1],e[t+1]=e[t+3],e[t+3]=n},_doCryptBlock:function(e,t,n,r,i,a,o,s){for(var u=this._nRounds,c=e[t]^n[0],l=e[t+1]^n[1],f=e[t+2]^n[2],p=e[t+3]^n[3],d=4,h=1;h>>24]^i[l>>>16&255]^a[f>>>8&255]^o[255&p]^n[d++],y=r[l>>>24]^i[f>>>16&255]^a[p>>>8&255]^o[255&c]^n[d++],v=r[f>>>24]^i[p>>>16&255]^a[c>>>8&255]^o[255&l]^n[d++];p=r[p>>>24]^i[c>>>16&255]^a[l>>>8&255]^o[255&f]^n[d++],c=m,l=y,f=v}m=(s[c>>>24]<<24|s[l>>>16&255]<<16|s[f>>>8&255]<<8|s[255&p])^n[d++],y=(s[l>>>24]<<24|s[f>>>16&255]<<16|s[p>>>8&255]<<8|s[255&c])^n[d++],v=(s[f>>>24]<<24|s[p>>>16&255]<<16|s[c>>>8&255]<<8|s[255&l])^n[d++],p=(s[p>>>24]<<24|s[c>>>16&255]<<16|s[l>>>8&255]<<8|s[255&f])^n[d++],e[t]=m,e[t+1]=y,e[t+2]=v,e[t+3]=p},keySize:8}),e.AES=t._createHelper(n)}(),u=u||function(e,t){var n={},r=n.lib={},i=function(){},a=r.Base={extend:function(e){i.prototype=this;var t=new i;return e&&t.mixIn(e),t.hasOwnProperty("init")||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},o=r.WordArray=a.extend({init:function(e,n){e=this.words=e||[],this.sigBytes=n!=t?n:4*e.length},toString:function(e){return(e||u).stringify(this)},concat:function(e){var t=this.words,n=e.words,r=this.sigBytes;if(e=e.sigBytes,this.clamp(),r%4)for(var i=0;i>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],r=0;r>>2]>>>24-r%4*8&255;n.push((i>>>4).toString(16)),n.push((15&i).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new o.init(n,t/2)}},c=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new o.init(n,t)}},l=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=r.BufferedBlockAlgorithm=a.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=l.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,r=n.words,i=n.sigBytes,a=this.blockSize,s=i/(4*a);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var u=0;ul;){var f;e:{f=c;for(var p=e.sqrt(f),d=2;d<=p;d++)if(!(f%d)){f=!1;break e}f=!0}f&&(8>l&&(a[l]=s(e.pow(c,.5))),o[l]=s(e.pow(c,1/3)),l++),c++}var h=[];i=i.SHA256=r.extend({_doReset:function(){this._hash=new n.init(a.slice(0))},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],i=n[1],a=n[2],s=n[3],u=n[4],c=n[5],l=n[6],f=n[7],p=0;64>p;p++){if(16>p)h[p]=0|e[t+p];else{var d=h[p-15],m=h[p-2];h[p]=((d<<25|d>>>7)^(d<<14|d>>>18)^d>>>3)+h[p-7]+((m<<15|m>>>17)^(m<<13|m>>>19)^m>>>10)+h[p-16]}d=f+((u<<26|u>>>6)^(u<<21|u>>>11)^(u<<7|u>>>25))+(u&c^~u&l)+o[p]+h[p],m=((r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22))+(r&i^r&a^i&a),f=l,l=c,c=u,u=s+d|0,s=a,a=i,i=r,r=d+m|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+s|0,n[4]=n[4]+u|0,n[5]=n[5]+c|0,n[6]=n[6]+l|0,n[7]=n[7]+f|0},_doFinalize:function(){var t=this._data,n=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;return n[i>>>5]|=128<<24-i%32,n[14+(i+64>>>9<<4)]=e.floor(r/4294967296),n[15+(i+64>>>9<<4)]=r,t.sigBytes=4*n.length,this._process(),this._hash},clone:function(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e}}),t.SHA256=r._createHelper(i),t.HmacSHA256=r._createHmacHelper(i)}(Math),a=(i=u).enc.Utf8,i.algo.HMAC=i.lib.Base.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=a.parse(t));var n=e.blockSize,r=4*n;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),o=this._iKey=t.clone(),s=i.words,u=o.words,c=0;c>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],r=0;r>>2]>>>24-r%4*8&255;n.push((i>>>4).toString(16)),n.push((15&i).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new o.init(n,t/2)}},c=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new o.init(n,t)}},l=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=r.BufferedBlockAlgorithm=a.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=l.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,r=n.words,i=n.sigBytes,a=this.blockSize,s=i/(4*a);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var u=0;uc;c++)s[c]=e();a=a.SHA512=n.extend({_doReset:function(){this._hash=new i.init([new r.init(1779033703,4089235720),new r.init(3144134277,2227873595),new r.init(1013904242,4271175723),new r.init(2773480762,1595750129),new r.init(1359893119,2917565137),new r.init(2600822924,725511199),new r.init(528734635,4215389547),new r.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var n=(f=this._hash.words)[0],r=f[1],i=f[2],a=f[3],u=f[4],c=f[5],l=f[6],f=f[7],p=n.high,d=n.low,h=r.high,m=r.low,y=i.high,v=i.low,g=a.high,b=a.low,k=u.high,w=u.low,x=c.high,S=c.low,_=l.high,E=l.low,C=f.high,I=f.low,R=p,T=d,D=h,A=m,F=y,O=v,M=g,P=b,N=k,L=w,j=x,B=S,z=_,U=E,H=C,K=I,W=0;80>W;W++){var V=s[W];if(16>W)var q=V.high=0|e[t+2*W],$=V.low=0|e[t+2*W+1];else{q=(($=(q=s[W-15]).high)>>>1|(J=q.low)<<31)^($>>>8|J<<24)^$>>>7;var J=(J>>>1|$<<31)^(J>>>8|$<<24)^(J>>>7|$<<25),Q=(($=(Q=s[W-2]).high)>>>19|(G=Q.low)<<13)^($<<3|G>>>29)^$>>>6,G=(G>>>19|$<<13)^(G<<3|$>>>29)^(G>>>6|$<<26),Y=($=s[W-7]).high,X=(Z=s[W-16]).high,Z=Z.low;q=(q=(q=q+Y+(($=J+$.low)>>>0>>0?1:0))+Q+(($+=G)>>>0>>0?1:0))+X+(($+=Z)>>>0>>0?1:0),V.high=q,V.low=$}Y=N&j^~N&z,Z=L&B^~L&U,V=R&D^R&F^D&F;var ee=T&A^T&O^A&O,te=(J=(R>>>28|T<<4)^(R<<30|T>>>2)^(R<<25|T>>>7),Q=(T>>>28|R<<4)^(T<<30|R>>>2)^(T<<25|R>>>7),(G=o[W]).high),ne=G.low;X=H+((N>>>14|L<<18)^(N>>>18|L<<14)^(N<<23|L>>>9))+((G=K+((L>>>14|N<<18)^(L>>>18|N<<14)^(L<<23|N>>>9)))>>>0>>0?1:0),H=z,K=U,z=j,U=B,j=N,B=L,N=M+(X=(X=(X=X+Y+((G+=Z)>>>0>>0?1:0))+te+((G+=ne)>>>0>>0?1:0))+q+((G+=$)>>>0<$>>>0?1:0))+((L=P+G|0)>>>0

>>0?1:0)|0,M=F,P=O,F=D,O=A,D=R,A=T,R=X+(V=J+V+(($=Q+ee)>>>0>>0?1:0))+((T=G+$|0)>>>0>>0?1:0)|0}d=n.low=d+T,n.high=p+R+(d>>>0>>0?1:0),m=r.low=m+A,r.high=h+D+(m>>>0>>0?1:0),v=i.low=v+O,i.high=y+F+(v>>>0>>0?1:0),b=a.low=b+P,a.high=g+M+(b>>>0

>>0?1:0),w=u.low=w+L,u.high=k+N+(w>>>0>>0?1:0),S=c.low=S+B,c.high=x+j+(S>>>0>>0?1:0),E=l.low=E+U,l.high=_+z+(E>>>0>>0?1:0),I=f.low=I+K,f.high=C+H+(I>>>0>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[30+(r+128>>>10<<5)]=Math.floor(n/4294967296),t[31+(r+128>>>10<<5)]=n,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32}),t.SHA512=n._createHelper(a),t.HmacSHA512=n._createHmacHelper(a)}(),s=(o=u).enc.Utf8,o.algo.HMAC=o.lib.Base.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=s.parse(t));var n=e.blockSize,r=4*n;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),a=this._iKey=t.clone(),o=i.words,u=a.words,c=0;c>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],r=0;r>>2]>>>24-r%4*8&255;n.push((i>>>4).toString(16)),n.push((15&i).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new o.init(n,t/2)}},c=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new o.init(n,t)}},l=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=r.BufferedBlockAlgorithm=a.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=l.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,r=n.words,i=n.sigBytes,a=this.blockSize,s=i/(4*a);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var u=0;uc;c++){if(16>c)r[c]=0|e[t+c];else{var l=r[c-3]^r[c-8]^r[c-14]^r[c-16];r[c]=l<<1|l>>>31}l=(i<<5|i>>>27)+u+r[c],l=20>c?l+(1518500249+(a&o|~a&s)):40>c?l+(1859775393+(a^o^s)):60>c?l+((a&o|a&s|o&s)-1894007588):l+((a^o^s)-899497514),u=s,s=o,o=a<<30|a>>>2,a=i,i=l}n[0]=n[0]+i|0,n[1]=n[1]+a|0,n[2]=n[2]+o|0,n[3]=n[3]+s|0,n[4]=n[4]+u|0},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[14+(r+64>>>9<<4)]=Math.floor(n/4294967296),t[15+(r+64>>>9<<4)]=n,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});e.SHA1=n._createHelper(i),e.HmacSHA1=n._createHmacHelper(i)}(),function(){var e=u,t=e.enc.Utf8;e.algo.HMAC=e.lib.Base.extend({init:function(e,n){e=this._hasher=new e.init,"string"==typeof n&&(n=t.parse(n));var r=e.blockSize,i=4*r;n.sigBytes>i&&(n=e.finalize(n)),n.clamp();for(var a=this._oKey=n.clone(),o=this._iKey=n.clone(),s=a.words,u=o.words,c=0;c>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],r=0;r>>2]>>>24-r%4*8&255;n.push((i>>>4).toString(16)),n.push((15&i).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new o.init(n,t/2)}},c=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new o.init(n,t)}},l=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=r.BufferedBlockAlgorithm=a.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=l.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,r=n.words,i=n.sigBytes,a=this.blockSize,s=i/(4*a);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var u=0;uc;c++){if(16>c)r[c]=0|e[t+c];else{var l=r[c-3]^r[c-8]^r[c-14]^r[c-16];r[c]=l<<1|l>>>31}l=(i<<5|i>>>27)+u+r[c],l=20>c?l+(1518500249+(a&o|~a&s)):40>c?l+(1859775393+(a^o^s)):60>c?l+((a&o|a&s|o&s)-1894007588):l+((a^o^s)-899497514),u=s,s=o,o=a<<30|a>>>2,a=i,i=l}n[0]=n[0]+i|0,n[1]=n[1]+a|0,n[2]=n[2]+o|0,n[3]=n[3]+s|0,n[4]=n[4]+u|0},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[14+(r+64>>>9<<4)]=Math.floor(n/4294967296),t[15+(r+64>>>9<<4)]=n,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});e.SHA1=n._createHelper(i),e.HmacSHA1=n._createHmacHelper(i)}(),Object.defineProperty(r,"__esModule",{value:!0}),r.StandardFile=r.SFItemTransformer=r.SFCryptoWeb=r.SFCryptoJS=r.SFAbstractCrypto=r.SFItemHistoryEntry=r.SFItemHistory=r.SFHistorySession=r.SFPrivileges=r.SFPredicate=r.SFItemParams=r.SFItem=r.SFSyncManager=r.SFStorageManager=r.SFSingletonManager=r.SFSessionHistoryManager=r.SFPrivilegesManager=r.SFModelManager=r.SFMigrationManager=r.SFHttpManager=r.SFAuthManager=r.SFAlertManager=void 0;var E=function(){function e(){w(this,e)}return S(e,[{key:"alert",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){window.alert(t.text),e()})));case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"confirm",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){window.confirm(t.text)?e():n()})));case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()}]),e}();r.SFAlertManager=E;var C=function(){function e(t,n,r,i){w(this,e),e.DidSignOutEvent="DidSignOutEvent",e.WillSignInEvent="WillSignInEvent",e.DidSignInEvent="DidSignInEvent",this.httpManager=n,this.storageManager=t,this.alertManager=r||new E,this.$timeout=i||setTimeout.bind(window),this.eventHandlers=[]}return S(e,[{key:"addEventHandler",value:function(e){return this.eventHandlers.push(e),e}},{key:"removeEventHandler",value:function(e){_.pull(this.eventHandlers,e)}},{key:"notifyEvent",value:function(e,t){var n=!0,r=!1,i=void 0;try{for(var a,o=this.eventHandlers[Symbol.iterator]();!(n=(a=o.next()).done);n=!0)(0,a.value)(e,t||{})}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}}},{key:"saveKeys",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._keys=t,e.next=3,this.storageManager.setItem("mk",t.mk);case 3:return e.next=5,this.storageManager.setItem("ak",t.ak);case 5:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"signout",value:function(){var t=k(regeneratorRuntime.mark((function t(n){var r=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this._keys=null,this._authParams=null,!n){t.next=6;break}return t.abrupt("return",this.storageManager.clearAllData().then((function(){r.notifyEvent(e.DidSignOutEvent)})));case 6:this.notifyEvent(e.DidSignOutEvent);case 7:case"end":return t.stop()}}),t,this)})));function n(e){return t.apply(this,arguments)}return n}()},{key:"keys",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._keys){e.next=11;break}return e.next=3,this.storageManager.getItem("mk");case 3:if(t=e.sent){e.next=6;break}return e.abrupt("return",null);case 6:return e.t0=t,e.next=9,this.storageManager.getItem("ak");case 9:e.t1=e.sent,this._keys={mk:e.t0,ak:e.t1};case 11:return e.abrupt("return",this._keys);case 12:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"getAuthParams",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._authParams){e.next=5;break}return e.next=3,this.storageManager.getItem("auth_params");case 3:t=e.sent,this._authParams=JSON.parse(t);case 5:if(!this._authParams||this._authParams.version){e.next=9;break}return e.next=8,this.defaultProtocolVersion();case 8:this._authParams.version=e.sent;case 9:return e.abrupt("return",this._authParams);case 10:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"defaultProtocolVersion",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.keys();case 2:if(!(t=e.sent)||!t.ak){e.next=7;break}return e.abrupt("return","002");case 7:return e.abrupt("return","001");case 8:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"protocolVersion",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getAuthParams();case 2:if(!(t=e.sent)||!t.version){e.next=5;break}return e.abrupt("return",t.version);case 5:return e.abrupt("return",this.defaultProtocolVersion());case 6:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"getAuthParamsForEmail",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r){var i,a=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(i=_.merge({email:n},r)).api=R.getApiVersion(),e.abrupt("return",new Promise((function(e,n){var r=t+"/auth/params";a.httpManager.getAbsolute(r,i,(function(t){e(t)}),(function(t){console.error("Error getting auth params",t),"object"!==g(t)&&(t={error:{message:"A server error occurred while trying to sign in. Please try again."}}),e(t)}))})));case 3:case"end":return e.stop()}}),e)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"lock",value:function(){this.locked=!0}},{key:"unlock",value:function(){this.locked=!1}},{key:"isLocked",value:function(){return 1==this.locked}},{key:"unlockAndResolve",value:function(e,t){this.unlock(),e(t)}},{key:"login",value:function(){var t=k(regeneratorRuntime.mark((function t(n,r,i,a,o){var s=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",new Promise(function(){var t=k(regeneratorRuntime.mark((function t(u,c){var l,f,p,d,h,m,y,v,b,w,x,S;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,s.keys();case 2:if(null==t.sent){t.next=6;break}return u({error:{message:"Cannot log in because already signed in."}}),t.abrupt("return");case 6:if(!s.isLocked()){t.next=9;break}return u({error:{message:"Login already in progress."}}),t.abrupt("return");case 9:return s.lock(),s.notifyEvent(e.WillSignInEvent),t.next=13,s.getAuthParamsForEmail(n,r,o);case 13:if((l=t.sent).identifier=r,!l.error){t.next=18;break}return s.unlockAndResolve(u,l),t.abrupt("return");case 18:if(l&&l.pw_cost){t.next=21;break}return s.unlockAndResolve(u,{error:{message:"Invalid email or password."}}),t.abrupt("return");case 21:if(SFJS.supportedVersions().includes(l.version)){t.next=25;break}return f=SFJS.isVersionNewerThanLibraryVersion(l.version)?"This version of the application does not support your newer account type. Please upgrade to the latest version of Standard Notes to sign in.":"The protocol version associated with your account is outdated and no longer supported by this application. Please visit standardnotes.org/help/security for more information.",s.unlockAndResolve(u,{error:{message:f}}),t.abrupt("return");case 25:if(!SFJS.isProtocolVersionOutdated(l.version)){t.next=32;break}return p="The encryption version for your account, ".concat(l.version,", is outdated and requires upgrade. You may proceed with login, but are advised to perform a security update using the web or desktop application. Please visit standardnotes.org/help/security for more information."),d=!1,t.next=30,s.alertManager.confirm({title:"Update Needed",text:p,confirmButtonText:"Sign In"}).catch((function(){s.unlockAndResolve(u,{error:{}}),d=!0}));case 30:if(!d){t.next=32;break}return t.abrupt("return");case 32:if(SFJS.supportsPasswordDerivationCost(l.pw_cost)){t.next=36;break}return h="Your account was created on a platform with higher security capabilities than this browser supports. If we attempted to generate your login keys here, it would take hours. Please use a browser with more up to date security capabilities, like Google Chrome or Firefox, to log in.",s.unlockAndResolve(u,{error:{message:h}}),t.abrupt("return");case 36:if(m=SFJS.costMinimumForVersion(l.version),!(l.pw_cost5&&void 0!==u[5]&&u[5],e.abrupt("return",new Promise(function(){var e=k(regeneratorRuntime.mark((function e(u,c){var l;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((l=new XMLHttpRequest).onreadystatechange=function(){if(4==l.readyState){var e=l.responseText;if(e)try{e=JSON.parse(e)}catch(e){}l.status>=200&&l.status<=299?s.$timeout((function(){i(e),u(e)})):(console.error("Request error:",e),s.$timeout((function(){a(e,l.status),c(e)})))}},"get"==t&&Object.keys(r).length>0&&(n=s.urlForUrlAndParams(n,r)),l.open(t,n,!0),l.setRequestHeader("Content-type","application/json"),!o){e.next=8;break}return e.next=8,s.setAuthHeadersForRequest(l);case 8:"post"==t||"patch"==t?l.send(JSON.stringify(r)):l.send();case 9:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}()));case 2:case"end":return e.stop()}}),e)})));function t(t,n,r,i,a){return e.apply(this,arguments)}return t}()},{key:"urlForUrlAndParams",value:function(e,t){var n=Object.keys(t).map((function(e){return e+"="+encodeURIComponent(t[e])})).join("&");return e.includes("?")?e+"&"+n:e+"?"+n}}]),e}();r.SFHttpManager=R;var T=function(){function e(t,n,r,i){var a=this;w(this,e),this.modelManager=t,this.syncManager=n,this.storageManager=r,this.completionHandlers=[],this.loadMigrations();var o=!1,s=i.addEventHandler((function(e){e==C.DidSignInEvent&&(o=!0)}));this.receivedLocalDataEvent=n.initialDataLoaded(),this.syncManager.addEventHandler(function(){var e=k(regeneratorRuntime.mark((function e(t,n){var r,u,c,l,f,p,d,h,m;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(u="sync:completed"==t,!(r="local-data-loaded"==t)&&!u){e.next=40;break}if(r?a.receivedLocalDataEvent=!0:u&&(a.receivedSyncCompletedEvent=!0),!a.receivedLocalDataEvent||!a.receivedSyncCompletedEvent){e.next=40;break}if(!o){e.next=39;break}return o=!1,i.removeEventHandler(s),e.next=10,a.getCompletedMigrations();case 10:c=e.sent.slice(),l=!0,f=!1,p=void 0,e.prev=14,d=c[Symbol.iterator]();case 16:if(l=(h=d.next()).done){e.next=25;break}return m=h.value,e.next=20,a.migrationForEncodedName(m);case 20:e.sent.runOnlyOnce||_.pull(a._completed,m);case 22:l=!0,e.next=16;break;case 25:e.next=31;break;case 27:e.prev=27,e.t0=e.catch(14),f=!0,p=e.t0;case 31:e.prev=31,e.prev=32,l||null==d.return||d.return();case 34:if(e.prev=34,!f){e.next=37;break}throw p;case 37:return e.finish(34);case 38:return e.finish(31);case 39:a.runPendingMigrations();case 40:case"end":return e.stop()}}),e,null,[[14,27,31,39],[32,,34,38]])})));return function(t,n){return e.apply(this,arguments)}}())}return S(e,[{key:"addCompletionHandler",value:function(e){this.completionHandlers.push(e)}},{key:"removeCompletionHandler",value:function(e){_.pull(this.completionHandlers,e)}},{key:"migrationForEncodedName",value:function(){var e=k(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.decode(t);case 2:return n=e.sent,e.abrupt("return",this.migrations.find((function(e){return e.name==n})));case 4:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"loadMigrations",value:function(){this.migrations=this.registeredMigrations()}},{key:"registeredMigrations",value:function(){}},{key:"runPendingMigrations",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t,n,r,i,a,o,s,u,c,l,f,p,d,h,m,y,v,g,b,k,w,x,S,_,E,C,I,R;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getPendingMigrations();case 2:for(t=e.sent,n=!0,r=!1,i=void 0,e.prev=6,a=t[Symbol.iterator]();!(n=(o=a.next()).done);n=!0)(s=o.value).items=[];e.next=14;break;case 10:e.prev=10,e.t0=e.catch(6),r=!0,i=e.t0;case 14:e.prev=14,e.prev=15,n||null==a.return||a.return();case 17:if(e.prev=17,!r){e.next=20;break}throw i;case 20:return e.finish(17);case 21:return e.finish(14);case 22:u=!0,c=!1,l=void 0,e.prev=25,f=this.modelManager.allNondummyItems[Symbol.iterator]();case 27:if(u=(p=f.next()).done){e.next=51;break}for(d=p.value,h=!0,m=!1,y=void 0,e.prev=32,v=t[Symbol.iterator]();!(h=(g=v.next()).done);h=!0)s=g.value,d.content_type==s.content_type&&s.items.push(d);e.next=40;break;case 36:e.prev=36,e.t1=e.catch(32),m=!0,y=e.t1;case 40:e.prev=40,e.prev=41,h||null==v.return||v.return();case 43:if(e.prev=43,!m){e.next=46;break}throw y;case 46:return e.finish(43);case 47:return e.finish(40);case 48:u=!0,e.next=27;break;case 51:e.next=57;break;case 53:e.prev=53,e.t2=e.catch(25),c=!0,l=e.t2;case 57:e.prev=57,e.prev=58,u||null==f.return||f.return();case 60:if(e.prev=60,!c){e.next=63;break}throw l;case 63:return e.finish(60);case 64:return e.finish(57);case 65:b=!0,k=!1,w=void 0,e.prev=68,x=t[Symbol.iterator]();case 70:if(b=(S=x.next()).done){e.next=81;break}if(!((s=S.value).items&&s.items.length>0||s.customHandler)){e.next=77;break}return e.next=75,this.runMigration(s,s.items);case 75:e.next=78;break;case 77:this.markMigrationCompleted(s);case 78:b=!0,e.next=70;break;case 81:e.next=87;break;case 83:e.prev=83,e.t3=e.catch(68),k=!0,w=e.t3;case 87:e.prev=87,e.prev=88,b||null==x.return||x.return();case 90:if(e.prev=90,!k){e.next=93;break}throw w;case 93:return e.finish(90);case 94:return e.finish(87);case 95:for(_=!0,E=!1,C=void 0,e.prev=98,I=this.completionHandlers[Symbol.iterator]();!(_=(R=I.next()).done);_=!0)(0,R.value)();e.next=106;break;case 102:e.prev=102,e.t4=e.catch(98),E=!0,C=e.t4;case 106:e.prev=106,e.prev=107,_||null==I.return||I.return();case 109:if(e.prev=109,!E){e.next=112;break}throw C;case 112:return e.finish(109);case 113:return e.finish(106);case 114:case"end":return e.stop()}}),e,this,[[6,10,14,22],[15,,17,21],[25,53,57,65],[32,36,40,48],[41,,43,47],[58,,60,64],[68,83,87,95],[88,,90,94],[98,102,106,114],[107,,109,113]])})));function t(){return e.apply(this,arguments)}return t}()},{key:"encode",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",window.btoa(t));case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"decode",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",window.atob(t));case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"getCompletedMigrations",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._completed){e.next=5;break}return e.next=3,this.storageManager.getItem("migrations");case 3:t=e.sent,this._completed=t?JSON.parse(t):[];case 5:return e.abrupt("return",this._completed);case 6:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"getPendingMigrations",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t,n,r,i,a,o,s,u;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getCompletedMigrations();case 2:t=e.sent,n=[],r=!0,i=!1,a=void 0,e.prev=7,o=this.migrations[Symbol.iterator]();case 9:if(r=(s=o.next()).done){e.next=22;break}return u=s.value,e.t0=t,e.next=14,this.encode(u.name);case 14:if(e.t1=e.sent,e.t2=e.t0.indexOf.call(e.t0,e.t1),e.t3=-1,e.t2!=e.t3){e.next=19;break}n.push(u);case 19:r=!0,e.next=9;break;case 22:e.next=28;break;case 24:e.prev=24,e.t4=e.catch(7),i=!0,a=e.t4;case 28:e.prev=28,e.prev=29,r||null==o.return||o.return();case 31:if(e.prev=31,!i){e.next=34;break}throw a;case 34:return e.finish(31);case 35:return e.finish(28);case 36:return e.abrupt("return",n);case 37:case"end":return e.stop()}}),e,this,[[7,24,28,36],[29,,31,35]])})));function t(){return e.apply(this,arguments)}return t}()},{key:"markMigrationCompleted",value:function(){var e=k(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getCompletedMigrations();case 2:return n=e.sent,e.t0=n,e.next=6,this.encode(t.name);case 6:e.t1=e.sent,e.t0.push.call(e.t0,e.t1),this.storageManager.setItem("migrations",JSON.stringify(n)),t.running=!1;case 10:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"runMigration",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n){var r=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.running){e.next=2;break}return e.abrupt("return");case 2:if(console.log("Running migration:",t.name),t.running=!0,!t.customHandler){e.next=8;break}return e.abrupt("return",t.customHandler().then((function(){r.markMigrationCompleted(t)})));case 8:return e.abrupt("return",t.handler(n).then((function(){r.markMigrationCompleted(t)})));case 9:case"end":return e.stop()}}),e)})));function t(t,n){return e.apply(this,arguments)}return t}()}]),e}();r.SFMigrationManager=T;var D=function(){function e(t){w(this,e),e.MappingSourceRemoteRetrieved="MappingSourceRemoteRetrieved",e.MappingSourceRemoteSaved="MappingSourceRemoteSaved",e.MappingSourceLocalSaved="MappingSourceLocalSaved",e.MappingSourceLocalRetrieved="MappingSourceLocalRetrieved",e.MappingSourceLocalDirtied="MappingSourceLocalDirtied",e.MappingSourceComponentRetrieved="MappingSourceComponentRetrieved",e.MappingSourceDesktopInstalled="MappingSourceDesktopInstalled",e.MappingSourceRemoteActionRetrieved="MappingSourceRemoteActionRetrieved",e.MappingSourceFileImport="MappingSourceFileImport",e.isMappingSourceRetrieved=function(t){return[e.MappingSourceRemoteRetrieved,e.MappingSourceComponentRetrieved,e.MappingSourceRemoteActionRetrieved].includes(t)},this.$timeout=t||setTimeout.bind(window),this.itemSyncObservers=[],this.items=[],this.itemsHash={},this.missedReferences={},this.uuidChangeObservers=[]}return S(e,[{key:"handleSignout",value:function(){this.items.length=0,this.itemsHash={},this.missedReferences={}}},{key:"addModelUuidChangeObserver",value:function(e,t){this.uuidChangeObservers.push({id:e,callback:t})}},{key:"notifyObserversOfUuidChange",value:function(e,t){var n=!0,r=!1,i=void 0;try{for(var a,o=this.uuidChangeObservers[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value;try{s.callback(e,t)}catch(e){console.error("Notify observers of uuid change exception:",e)}}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}}},{key:"alternateUUIDForItem",value:function(){var t=k(regeneratorRuntime.mark((function t(n){var r,i,a,o,s,u,c;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=this.createItem(n),t.next=3,SFJS.crypto.generateUUID();case 3:for(r.uuid=t.sent,r.informReferencesOfUUIDChange(n.uuid,r.uuid),this.informModelsOfUUIDChangeForItem(r,n.uuid,r.uuid),i=!0,a=!1,o=void 0,t.prev=9,s=n.referencingObjects[Symbol.iterator]();!(i=(u=s.next()).done);i=!0)(c=u.value).setIsNoLongerBeingReferencedBy(n),n.setIsNoLongerBeingReferencedBy(c),c.addItemAsRelationship(r);t.next=17;break;case 13:t.prev=13,t.t0=t.catch(9),a=!0,o=t.t0;case 17:t.prev=17,t.prev=18,i||null==s.return||s.return();case 20:if(t.prev=20,!a){t.next=23;break}throw o;case 23:return t.finish(20);case 24:return t.finish(17);case 25:return this.setItemsDirty(n.referencingObjects,!0),this.resolveReferencesForItem(r),this.loggingEnabled&&console.log(n.uuid,"--\x3e",r.uuid),n.deleted=!0,n.content.references=[],this.setItemDirty(n,!1,!1,e.MappingSourceLocalSaved),t.next=33,this.mapResponseItemsToLocalModels([n],e.MappingSourceLocalSaved);case 33:return this.addItem(r),this.setItemDirty(r,!0,!0,e.MappingSourceLocalSaved),this.notifyObserversOfUuidChange(n,r),t.abrupt("return",r);case 37:case"end":return t.stop()}}),t,this,[[9,13,17,25],[18,,20,24]])})));function n(e){return t.apply(this,arguments)}return n}()},{key:"informModelsOfUUIDChangeForItem",value:function(e,t,n){var r=!0,i=!1,a=void 0;try{for(var o,s=this.items[Symbol.iterator]();!(r=(o=s.next()).done);r=!0)o.value.potentialItemOfInterestHasChangedItsUUID(e,t,n)}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}}},{key:"didSyncModelsOffline",value:function(t){this.notifySyncObserversOfModels(t,e.MappingSourceLocalSaved)}},{key:"mapResponseItemsToLocalModels",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.mapResponseItemsToLocalModelsWithOptions({items:t,source:n,sourceKey:r}));case 1:case"end":return e.stop()}}),e,this)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"mapResponseItemsToLocalModelsOmittingFields",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r,i){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.mapResponseItemsToLocalModelsWithOptions({items:t,omitFields:n,source:r,sourceKey:i}));case 1:case"end":return e.stop()}}),e,this)})));function t(t,n,r,i){return e.apply(this,arguments)}return t}()},{key:"mapResponseItemsToLocalModelsWithOptions",value:function(){var e=k(regeneratorRuntime.mark((function e(t){var n,r,i,a,o,s,u,c,l,f,p,d,m,y,v,g,b,k,w,x,S,_,E,C,I,R,T,D,A,F,O,M,P,N,L,j,B,z,U;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.items,r=t.omitFields,i=t.source,a=t.sourceKey,t.options,o=[],s=[],u=[],c=!0,l=!1,f=void 0,e.prev=5,p=n[Symbol.iterator]();case 7:if(c=(d=p.next()).done){e.next=58;break}if(m=d.value){e.next=11;break}return e.abrupt("continue",55);case 11:if(y=!m.content&&!m.errorDecrypting,m.content_type&&m.uuid&&!y||m.deleted){e.next=16;break}return console.error("Server response item is corrupt:",m),e.abrupt("continue",55);case 16:if(!Array.isArray(r)){e.next=36;break}for(v=!0,g=!1,b=void 0,e.prev=20,k=r[Symbol.iterator]();!(v=(w=k.next()).done);v=!0)x=w.value,delete m[x];e.next=28;break;case 24:e.prev=24,e.t0=e.catch(20),g=!0,b=e.t0;case 28:e.prev=28,e.prev=29,v||null==k.return||k.return();case 31:if(e.prev=31,!g){e.next=34;break}throw b;case 34:return e.finish(31);case 35:return e.finish(28);case 36:if((S=this.findItem(m.uuid))&&(S.updateFromJSON(m),S.dummy=!1),_=m.content_type||S&&S.content_type,!this.acceptableContentTypes||this.acceptableContentTypes.includes(_)){e.next=42;break}return e.abrupt("continue",55);case 42:if(E=!1,1!=m.deleted){e.next=50;break}if(!m.dirty){e.next=48;break}E=!0,e.next=50;break;case 48:return S&&(o.push(S),u.push(S),this.removeItemLocally(S)),e.abrupt("continue",55);case 50:S||(S=this.createItem(m)),this.addItem(S,E),S.errorDecrypting||u.push(S),o.push(S),s.push(m);case 55:c=!0,e.next=7;break;case 58:e.next=64;break;case 60:e.prev=60,e.t1=e.catch(5),l=!0,f=e.t1;case 64:e.prev=64,e.prev=65,c||null==p.return||p.return();case 67:if(e.prev=67,!l){e.next=70;break}throw f;case 70:return e.finish(67);case 71:return e.finish(64);case 72:for(C=!0,I=!1,R=void 0,e.prev=75,T=s.entries()[Symbol.iterator]();!(C=(D=T.next()).done);C=!0)A=h(D.value,2),F=A[0],O=A[1],M=o[F],O.content&&this.resolveReferencesForItem(M),M.didFinishSyncing();e.next=83;break;case 79:e.prev=79,e.t2=e.catch(75),I=!0,R=e.t2;case 83:e.prev=83,e.prev=84,C||null==T.return||T.return();case 86:if(e.prev=86,!I){e.next=89;break}throw R;case 89:return e.finish(86);case 90:return e.finish(83);case 91:for(P=this.popMissedReferenceStructsForObjects(s),N=!0,L=!1,j=void 0,e.prev=95,B=function(){var e=U.value,t=o.find((function(t){return t.uuid==e.reference_uuid}));t&&e.for_item.addItemAsRelationship(t)},z=P[Symbol.iterator]();!(N=(U=z.next()).done);N=!0)B();e.next=104;break;case 100:e.prev=100,e.t3=e.catch(95),L=!0,j=e.t3;case 104:e.prev=104,e.prev=105,N||null==z.return||z.return();case 107:if(e.prev=107,!L){e.next=110;break}throw j;case 110:return e.finish(107);case 111:return e.finish(104);case 112:return e.next=114,this.notifySyncObserversOfModels(u,i,a);case 114:return e.abrupt("return",o);case 115:case"end":return e.stop()}}),e,this,[[5,60,64,72],[20,24,28,36],[29,,31,35],[65,,67,71],[75,79,83,91],[84,,86,90],[95,100,104,112],[105,,107,111]])})));function t(t){return e.apply(this,arguments)}return t}()},{key:"missedReferenceBuildKey",value:function(e,t){return"".concat(e,":").concat(t)}},{key:"popMissedReferenceStructsForObjects",value:function(e){if(!e||0==e.length)return[];for(var t=[],n=[],r=e.map((function(e){return e.uuid})),i=r[0].length,a=0,o=Object.keys(this.missedReferences);a1&&void 0!==arguments[1]&&arguments[1];if(!e.errorDecrypting){var n=e.contentObject;if(e.updateLocalRelationships(),n.references){var r=n.references.slice().map((function(e){return e.uuid})),i=!0,a=this.findItems(r,i),o=!0,s=!1,u=void 0;try{for(var c,l=a.entries()[Symbol.iterator]();!(o=(c=l.next()).done);o=!0){var f=h(c.value,2),p=f[0],d=f[1];if(d)e.addItemAsRelationship(d),t&&this.setItemDirty(d,!0);else{var m=r[p],y=this.missedReferenceBuildKey(m,e.uuid);if(!this.missedReferences[y]){var v={reference_uuid:m,for_item:e};this.missedReferences[y]=v}}}}catch(e){s=!0,u=e}finally{try{o||null==l.return||l.return()}finally{if(s)throw u}}}}}},{key:"notifySyncObserversOfModels",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r){var i,a,o,s,u,c,l,f=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=this.itemSyncObservers.sort((function(e,t){return e.priority0)){e.next=25;break}return e.next=25,f._callSyncObserverCallbackWithTimeout(i,a,o,s,n,r);case 25:case"end":return e.stop()}}),e,null,[[6,10,14,22],[15,,17,21]])})),c=i[Symbol.iterator]();case 7:if(a=(l=c.next()).done){e.next=12;break}return e.delegateYield(u(),"t0",9);case 9:a=!0,e.next=7;break;case 12:e.next=18;break;case 14:e.prev=14,e.t1=e.catch(4),o=!0,s=e.t1;case 18:e.prev=18,e.prev=19,a||null==c.return||c.return();case 21:if(e.prev=21,!o){e.next=24;break}throw s;case 24:return e.finish(21);case 25:return e.finish(18);case 26:case"end":return e.stop()}}),e,this,[[4,14,18,26],[19,,21,25]])})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"_callSyncObserverCallbackWithTimeout",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r,i,a,o){var s=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,u){s.$timeout((function(){try{t.callback(n,r,i,a,o)}catch(e){console.error("Sync observer exception",e)}finally{e()}}))})));case 1:case"end":return e.stop()}}),e)})));function t(t,n,r,i,a,o){return e.apply(this,arguments)}return t}()},{key:"setItemDirty",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;this.setItemsDirty([e],t,n,r,i)}},{key:"setItemsDirty",value:function(t){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0,o=!0,s=!1,u=void 0;try{for(var c,l=t[Symbol.iterator]();!(o=(c=l.next()).done);o=!0)c.value.setDirty(n,r)}catch(e){s=!0,u=e}finally{try{o||null==l.return||l.return()}finally{if(s)throw u}}this.notifySyncObserversOfModels(t,i||e.MappingSourceLocalDirtied,a)}},{key:"createItem",value:function(t){var n=e.ContentTypeClassMapping&&e.ContentTypeClassMapping[t.content_type];return n||(n=z),new n(t)}},{key:"createDuplicateItemFromResponseItem",value:function(){var e=k(regeneratorRuntime.mark((function e(t){var n,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("function"!=typeof t.setDirty){e.next=3;break}return console.error("Attempting to create conflicted copy of non-response item."),e.abrupt("return",null);case 3:return n=JSON.parse(JSON.stringify(t)),e.next=6,SFJS.crypto.generateUUID();case 6:return n.uuid=e.sent,r=this.createItem(n),e.abrupt("return",r);case 9:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"duplicateItemAndAddAsConflict",value:function(e){return this.duplicateItemWithCustomContentAndAddAsConflict({content:e.content,duplicateOf:e})}},{key:"duplicateItemWithCustomContentAndAddAsConflict",value:function(e){var t=e.content,n=e.duplicateOf,r=this.duplicateItemWithCustomContent({content:t,duplicateOf:n});return this.addDuplicatedItemAsConflict({duplicate:r,duplicateOf:n}),r}},{key:"addDuplicatedItemAsConflict",value:function(e){var t=e.duplicate,n=e.duplicateOf;this.addDuplicatedItem(t,n),t.content.conflict_of=n.uuid}},{key:"duplicateItemWithCustomContent",value:function(e){var t=e.content,n=e.duplicateOf,r=new n.constructor({content:t});return r.created_at=n.created_at,r.content_type||(r.content_type=n.content_type),r}},{key:"duplicateItemAndAdd",value:function(e){var t=this.duplicateItemWithoutAdding(e);return this.addDuplicatedItem(t,e),t}},{key:"duplicateItemWithoutAdding",value:function(e){var t=new e.constructor({content:e.content});return t.created_at=e.created_at,t.content_type||(t.content_type=e.content_type),t}},{key:"addDuplicatedItem",value:function(e,t){this.addItem(e);var n=!0,r=!1,i=void 0;try{for(var a,o=t.referencingObjects[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value;s.addItemAsRelationship(e),this.setItemDirty(s,!0)}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}this.resolveReferencesForItem(e),this.setItemDirty(e,!0)}},{key:"addItem",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.addItems([e],t)}},{key:"addItems",value:function(e){var t=this;e.forEach((function(e){t.itemsHash[e.uuid]||(t.itemsHash[e.uuid]=e,t.items.push(e))}))}},{key:"addItemSyncObserver",value:function(e,t,n){this.addItemSyncObserverWithPriority({id:e,types:t,callback:n,priority:1})}},{key:"addItemSyncObserverWithPriority",value:function(e){var t=e.id,n=e.priority,r=e.types,i=e.callback;Array.isArray(r)||(r=[r]),this.itemSyncObservers.push({id:t,types:r,priority:n,callback:i})}},{key:"removeItemSyncObserver",value:function(e){_.remove(this.itemSyncObservers,_.find(this.itemSyncObservers,{id:e}))}},{key:"getDirtyItems",value:function(){return this.items.filter((function(e){return 1==e.dirty&&!e.dummy&&(!e.errorDecrypting||e.deleted)}))}},{key:"clearDirtyItems",value:function(e){var t=!0,n=!1,r=void 0;try{for(var i,a=e[Symbol.iterator]();!(t=(i=a.next()).done);t=!0)i.value.setDirty(!1)}catch(e){n=!0,r=e}finally{try{t||null==a.return||a.return()}finally{if(n)throw r}}}},{key:"removeAndDirtyAllRelationshipsForItem",value:function(e){if(!e.errorDecrypting){var t=!0,n=!1,r=void 0;try{for(var i,a=e.content.references[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var o=i.value,s=this.findItem(o.uuid);s&&(e.removeItemAsRelationship(s),s.hasRelationshipWithItem(e)&&(s.removeItemAsRelationship(e),this.setItemDirty(s,!0)))}}catch(e){n=!0,r=e}finally{try{t||null==a.return||a.return()}finally{if(n)throw r}}}var u=!0,c=!1,l=void 0;try{for(var f,p=e.referencingObjects[Symbol.iterator]();!(u=(f=p.next()).done);u=!0){var d=f.value;d.removeItemAsRelationship(e),this.setItemDirty(d,!0)}}catch(e){c=!0,l=e}finally{try{u||null==p.return||p.return()}finally{if(c)throw l}}e.referencingObjects=[]}},{key:"setAllItemsDirty",value:function(){var e=this.allItems;this.setItemsDirty(e,!0)}},{key:"setItemToBeDeleted",value:function(e){e.deleted=!0,e.dummy||this.setItemDirty(e,!0),this.removeAndDirtyAllRelationshipsForItem(e)}},{key:"removeItemLocally",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:_.remove(this.items,{uuid:t.uuid}),delete this.itemsHash[t.uuid],t.isBeingRemovedLocally();case 3:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"allItemsMatchingTypes",value:function(e){return this.allItems.filter((function(t){return(_.includes(e,t.content_type)||_.includes(e,"*"))&&!t.dummy}))}},{key:"invalidItems",value:function(){return this.allItems.filter((function(e){return e.errorDecrypting}))}},{key:"validItemsForContentType",value:function(e){return this.allItems.filter((function(t){return t.content_type==e&&!t.errorDecrypting}))}},{key:"findItem",value:function(e){return this.itemsHash[e]}},{key:"findItems",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done);r=!0){var u=o.value,c=this.itemsHash[u];(c||t)&&n.push(c)}}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}},{key:"itemsMatchingPredicate",value:function(e){return this.itemsMatchingPredicates([e])}},{key:"itemsMatchingPredicates",value:function(e){return this.filterItemsWithPredicates(this.allItems,e)}},{key:"filterItemsWithPredicates",value:function(e,t){return e.filter((function(e){var n=!0,r=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value;if(!e.satisfiesPredicate(s))return!1}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}return!0}))}},{key:"importItems",value:function(){var t=k(regeneratorRuntime.mark((function t(n){var r,i,a,o,s,u,c,l,f,p,d,h,m,y,v,g,b,k,w,x,S,_,E,C,I,R,T;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:r=[],i={},a=!0,o=!1,s=void 0,t.prev=5,u=n[Symbol.iterator]();case 7:if(a=(c=u.next()).done){t.next=18;break}if(l=c.value,f=this.findItem(l.uuid)){t.next=13;break}return i[l.uuid]={},t.abrupt("continue",15);case 13:p=this.duplicateItemWithoutAdding(f),i[l.uuid]={frozenValue:p,itemRef:f};case 15:a=!0,t.next=7;break;case 18:t.next=24;break;case 20:t.prev=20,t.t0=t.catch(5),o=!0,s=t.t0;case 24:t.prev=24,t.prev=25,a||null==u.return||u.return();case 27:if(t.prev=27,!o){t.next=30;break}throw s;case 30:return t.finish(27);case 31:return t.finish(24);case 32:d=!0,h=!1,m=void 0,t.prev=35,y=n[Symbol.iterator]();case 37:if(d=(v=y.next()).done){t.next=52;break}if(g=v.value,b=i[g.uuid],k=b.frozenValue,w=b.itemRef,!k||w.errorDecrypting){t.next=47;break}return t.next=43,this.createDuplicateItemFromResponseItem(g);case 43:x=t.sent,g.deleted||k.isItemContentEqualWith(x)||(this.addDuplicatedItemAsConflict({duplicate:x,duplicateOf:w}),r.push(x)),t.next=49;break;case 47:r.push(g),w&&w.errorDecrypting&&(w.errorDecrypting=!1);case 49:d=!0,t.next=37;break;case 52:t.next=58;break;case 54:t.prev=54,t.t1=t.catch(35),h=!0,m=t.t1;case 58:t.prev=58,t.prev=59,d||null==y.return||y.return();case 61:if(t.prev=61,!h){t.next=64;break}throw m;case 64:return t.finish(61);case 65:return t.finish(58);case 66:return t.next=68,this.mapResponseItemsToLocalModels(r,e.MappingSourceFileImport);case 68:for(S=t.sent,_=!0,E=!1,C=void 0,t.prev=72,I=S[Symbol.iterator]();!(_=(R=I.next()).done);_=!0)T=R.value,this.setItemDirty(T,!0,!1),T.deleted=!1;t.next=80;break;case 76:t.prev=76,t.t2=t.catch(72),E=!0,C=t.t2;case 80:t.prev=80,t.prev=81,_||null==I.return||I.return();case 83:if(t.prev=83,!E){t.next=86;break}throw C;case 86:return t.finish(83);case 87:return t.finish(80);case 88:return t.abrupt("return",S);case 89:case"end":return t.stop()}}),t,this,[[5,20,24,32],[25,,27,31],[35,54,58,66],[59,,61,65],[72,76,80,88],[81,,83,87]])})));function n(e){return t.apply(this,arguments)}return n}()},{key:"getAllItemsJSONData",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.getJSONDataForItems(this.allItems,t,n,r));case 1:case"end":return e.stop()}}),e,this)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"getJSONDataForItems",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r,i){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Promise.all(t.map((function(e){return new U(e,n,r).paramsForExportFile()}))).then((function(e){if(i&&0==e.length)return null;var t={items:e};return n&&(t.auth_params=r),JSON.stringify(t,null,2)})));case 1:case"end":return e.stop()}}),e)})));function t(t,n,r,i){return e.apply(this,arguments)}return t}()},{key:"computeDataIntegrityHash",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t,n,r,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,t=this.allNondummyItems.sort((function(e,t){return t.updated_at-e.updated_at})),n=t.map((function(e){return e.updatedAtTimestamp()})),r=n.join(","),e.next=6,SFJS.crypto.sha256(r);case 6:return i=e.sent,e.abrupt("return",i);case 10:return e.prev=10,e.t0=e.catch(0),console.error("Error computing data integrity hash",e.t0),e.abrupt("return",null);case 14:case"end":return e.stop()}}),e,this,[[0,10]])})));function t(){return e.apply(this,arguments)}return t}()},{key:"allItems",get:function(){return this.items.slice()}},{key:"allNondummyItems",get:function(){return this.items.filter((function(e){return!e.dummy}))}}]),e}();r.SFModelManager=D;var A=function(){function e(t,n,r){w(this,e),this.modelManager=t,this.syncManager=n,this.singletonManager=r,this.loadPrivileges(),e.CredentialAccountPassword="CredentialAccountPassword",e.CredentialLocalPasscode="CredentialLocalPasscode",e.ActionManageExtensions="ActionManageExtensions",e.ActionManageBackups="ActionManageBackups",e.ActionViewProtectedNotes="ActionViewProtectedNotes",e.ActionManagePrivileges="ActionManagePrivileges",e.ActionManagePasscode="ActionManagePasscode",e.ActionDeleteNote="ActionDeleteNote",e.SessionExpiresAtKey="SessionExpiresAtKey",e.SessionLengthKey="SessionLengthKey",e.SessionLengthNone=0,e.SessionLengthFiveMinutes=300,e.SessionLengthOneHour=3600,e.SessionLengthOneWeek=604800,this.availableActions=[e.ActionViewProtectedNotes,e.ActionDeleteNote,e.ActionManagePasscode,e.ActionManageBackups,e.ActionManageExtensions,e.ActionManagePrivileges],this.availableCredentials=[e.CredentialAccountPassword,e.CredentialLocalPasscode],this.sessionLengths=[e.SessionLengthNone,e.SessionLengthFiveMinutes,e.SessionLengthOneHour,e.SessionLengthOneWeek,e.SessionLengthIndefinite]}return S(e,[{key:"setDelegate",value:function(e){this.delegate=e}},{key:"getAvailableActions",value:function(){return this.availableActions}},{key:"getAvailableCredentials",value:function(){return this.availableCredentials}},{key:"netCredentialsForAction",value:function(){var t=k(regeneratorRuntime.mark((function t(n){var r,i,a,o,s,u,c,l;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getPrivileges();case 2:t.t0=n,r=t.sent.getCredentialsForAction(t.t0),i=[],a=!0,o=!1,s=void 0,t.prev=8,u=r[Symbol.iterator]();case 10:if(a=(c=u.next()).done){t.next=27;break}if((l=c.value)!=e.CredentialAccountPassword){t.next=19;break}return t.next=15,this.delegate.isOffline();case 15:t.sent||i.push(l),t.next=24;break;case 19:if(l!=e.CredentialLocalPasscode){t.next=24;break}return t.next=22,this.delegate.hasLocalPasscode();case 22:t.sent&&i.push(l);case 24:a=!0,t.next=10;break;case 27:t.next=33;break;case 29:t.prev=29,t.t1=t.catch(8),o=!0,s=t.t1;case 33:t.prev=33,t.prev=34,a||null==u.return||u.return();case 36:if(t.prev=36,!o){t.next=39;break}throw s;case 39:return t.finish(36);case 40:return t.finish(33);case 41:return t.abrupt("return",i);case 42:case"end":return t.stop()}}),t,this,[[8,29,33,41],[34,,36,40]])})));function n(e){return t.apply(this,arguments)}return n}()},{key:"loadPrivileges",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.loadPromise){e.next=2;break}return e.abrupt("return",this.loadPromise);case 2:return this.loadPromise=new Promise((function(e,n){var r=K.contentType(),i=new H("content_type","=",r);t.singletonManager.registerSingleton([i],(function(n){t.privileges=n,e(n)}),function(){var n=k(regeneratorRuntime.mark((function n(i){var a;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(a=new K({content_type:r}),SFJS.crypto.generateUUIDSync){n.next=4;break}return n.next=4,a.initUUID();case 4:t.modelManager.addItem(a),t.modelManager.setItemDirty(a,!0),t.syncManager.sync(),i(a),e(a);case 9:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}())})),e.abrupt("return",this.loadPromise);case 4:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"getPrivileges",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.privileges){e.next=4;break}return e.abrupt("return",this.privileges);case 4:return e.abrupt("return",this.loadPrivileges());case 5:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"displayInfoForCredential",value:function(t){var n={};return n[e.CredentialAccountPassword]={label:"Account Password",prompt:"Please enter your account password."},n[e.CredentialLocalPasscode]={label:"Local Passcode",prompt:"Please enter your local passcode."},n[t]}},{key:"displayInfoForAction",value:function(t){var n={};return n[e.ActionManageExtensions]={label:"Manage Extensions"},n[e.ActionManageBackups]={label:"Download/Import Backups"},n[e.ActionViewProtectedNotes]={label:"View Protected Notes"},n[e.ActionManagePrivileges]={label:"Manage Privileges"},n[e.ActionManagePasscode]={label:"Manage Passcode"},n[e.ActionDeleteNote]={label:"Delete Notes"},n[t]}},{key:"getSessionLengthOptions",value:function(){return[{value:e.SessionLengthNone,label:"Don't Remember"},{value:e.SessionLengthFiveMinutes,label:"5 Minutes"},{value:e.SessionLengthOneHour,label:"1 Hour"},{value:e.SessionLengthOneWeek,label:"1 Week"}]}},{key:"setSessionLength",value:function(){var t=k(regeneratorRuntime.mark((function t(n){var r;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=n,a=void 0,(a=new Date).setSeconds(a.getSeconds()+i),r=a,t.abrupt("return",Promise.all([this.delegate.saveToStorage(e.SessionExpiresAtKey,JSON.stringify(r)),this.delegate.saveToStorage(e.SessionLengthKey,JSON.stringify(n))]));case 3:case"end":return t.stop()}var i,a}),t,this)})));function n(e){return t.apply(this,arguments)}return n}()},{key:"clearSession",value:function(){var t=k(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.setSessionLength(e.SessionLengthNone));case 1:case"end":return t.stop()}}),t,this)})));function n(){return t.apply(this,arguments)}return n}()},{key:"getSelectedSessionLength",value:function(){var t=k(regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.delegate.getFromStorage(e.SessionLengthKey);case 2:if(!(n=t.sent)){t.next=7;break}return t.abrupt("return",JSON.parse(n));case 7:return t.abrupt("return",e.SessionLengthNone);case 8:case"end":return t.stop()}}),t,this)})));function n(){return t.apply(this,arguments)}return n}()},{key:"getSessionExpirey",value:function(){var t=k(regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.delegate.getFromStorage(e.SessionExpiresAtKey);case 2:if(!(n=t.sent)){t.next=7;break}return t.abrupt("return",new Date(JSON.parse(n)));case 7:return t.abrupt("return",new Date);case 8:case"end":return t.stop()}}),t,this)})));function n(){return t.apply(this,arguments)}return n}()},{key:"actionHasPrivilegesConfigured",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.netCredentialsForAction(t);case 2:return e.t0=e.sent.length,e.abrupt("return",e.t0>0);case 4:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"actionRequiresPrivilege",value:function(){var e=k(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getSessionExpirey();case 2:if(!(e.sent>new Date)){e.next=5;break}return e.abrupt("return",!1);case 5:return e.next=7,this.netCredentialsForAction(t);case 7:return n=e.sent,e.abrupt("return",n.length>0);case 9:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"savePrivileges",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getPrivileges();case 2:t=e.sent,this.modelManager.setItemDirty(t,!0),this.syncManager.sync();case 5:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"authenticateAction",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n){var r,i,a,o,s,u,c,l,f;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.netCredentialsForAction(t);case 2:r=e.sent,i=[],a=[],o=!0,s=!1,u=void 0,e.prev=7,c=r[Symbol.iterator]();case 9:if(o=(l=c.next()).done){e.next=18;break}return f=l.value,e.next=13,this._verifyAuthenticationParameters(f,n[f]);case 13:e.sent?i.push(f):a.push(f);case 15:o=!0,e.next=9;break;case 18:e.next=24;break;case 20:e.prev=20,e.t0=e.catch(7),s=!0,u=e.t0;case 24:e.prev=24,e.prev=25,o||null==c.return||c.return();case 27:if(e.prev=27,!s){e.next=30;break}throw u;case 30:return e.finish(27);case 31:return e.finish(24);case 32:return e.abrupt("return",{success:0==a.length,successfulCredentials:i,failedCredentials:a});case 33:case"end":return e.stop()}}),e,this,[[7,20,24,32],[25,,27,31]])})));function t(t,n){return e.apply(this,arguments)}return t}()},{key:"_verifyAuthenticationParameters",value:function(){var t=k(regeneratorRuntime.mark((function t(n,r){var i,a,o=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(i=function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.delegate.verifyAccountPassword(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),a=function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.delegate.verifyLocalPasscode(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),n!=e.CredentialAccountPassword){t.next=6;break}return t.abrupt("return",i(r));case 6:if(n!=e.CredentialLocalPasscode){t.next=8;break}return t.abrupt("return",a(r));case 8:case"end":return t.stop()}}),t)})));function n(e,n){return t.apply(this,arguments)}return n}()}]),e}();r.SFPrivilegesManager=A;var F="sessionHistory_persist",O="sessionHistory_revisions",M="sessionHistory_autoOptimize",P=function(){function e(t,n,r,i,a){var o=this;w(this,e),this.modelManager=t,this.storageManager=n,this.$timeout=a||setTimeout.bind(window),this.keyRequestHandler=r,this.loadFromDisk().then((function(){o.modelManager.addItemSyncObserver("session-history",i,(function(e,t,n,r,i){if(r!==D.MappingSourceLocalDirtied){var a=!0,s=!1,u=void 0;try{for(var c,l=e[Symbol.iterator]();!(a=(c=l.next()).done);a=!0){var f=c.value;try{o.addHistoryEntryForItem(f)}catch(e){console.log("Caught exception while trying to add item history entry",e)}}}catch(e){s=!0,u=e}finally{try{a||null==l.return||l.return()}finally{if(s)throw u}}}}))}))}return S(e,[{key:"encryptionParams",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.keyRequestHandler());case 1:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"addHistoryEntryForItem",value:function(e){var t=this,n={uuid:e.uuid,content_type:e.content_type,updated_at:e.updated_at,content:e.getContentCopy()},r=this.historySession.addEntryForItem(n);this.autoOptimize&&this.historySession.optimizeHistoryForItem(e),r&&this.diskEnabled&&(this.diskTimeout&&(this.$timeout.hasOwnProperty("cancel")?this.$timeout.cancel(this.diskTimeout):clearTimeout(this.diskTimeout)),this.diskTimeout=this.$timeout((function(){t.saveToDisk()}),2e3))}},{key:"historyForItem",value:function(e){return this.historySession.historyForItem(e)}},{key:"clearHistoryForItem",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.historySession.clearItemHistory(t),e.abrupt("return",this.saveToDisk());case 2:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"clearAllHistory",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.historySession.clearAllHistory(),e.abrupt("return",this.storageManager.removeItem(O));case 2:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"toggleDiskSaving",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.diskEnabled=!this.diskEnabled,!this.diskEnabled){e.next=6;break}this.storageManager.setItem(F,JSON.stringify(!0)),this.saveToDisk(),e.next=8;break;case 6:return this.storageManager.setItem(F,JSON.stringify(!1)),e.abrupt("return",this.storageManager.removeItem(O));case 8:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"saveToDisk",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t,n=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.diskEnabled){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,this.encryptionParams();case 4:t=e.sent,new U(this.historySession,t.keys,t.auth_params).paramsForSync().then((function(e){n.storageManager.setItem(O,JSON.stringify(e))}));case 7:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"loadFromDisk",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t,n,r,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.storageManager.getItem(F);case 2:return(t=e.sent)&&(this.diskEnabled=JSON.parse(t)),e.next=6,this.storageManager.getItem(O);case 6:if(!(n=e.sent)){e.next=18;break}return n=JSON.parse(n),e.next=11,this.encryptionParams();case 11:return r=e.sent,e.next=14,SFJS.itemTransformer.decryptItem(n,r.keys);case 14:i=new W(n),this.historySession=i,e.next=19;break;case 18:this.historySession=new W;case 19:return e.next=21,this.storageManager.getItem(M);case 21:a=e.sent,this.autoOptimize=!a||JSON.parse(a);case 23:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"toggleAutoOptimize",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.autoOptimize=!this.autoOptimize,this.autoOptimize?this.storageManager.setItem(M,JSON.stringify(!0)):this.storageManager.setItem(M,JSON.stringify(!1));case 2:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()}]),e}();r.SFSessionHistoryManager=P;var N=function(){function e(t,n){var r=this;w(this,e),this.syncManager=n,this.modelManager=t,this.singletonHandlers=[],t.addItemSyncObserverWithPriority({id:"sf-singleton-manager",types:"*",priority:-1,callback:function(e,n,i,a,o){a!==D.MappingSourceLocalDirtied&&r.resolveSingletons(t.allNondummyItems,null,!0)}}),n.addEventHandler((function(e,n){if("local-data-loaded"==e)r.resolveSingletons(t.allNondummyItems,null,!0),r.initialDataLoaded=!0;else if("sync:completed"==e){if(!r.initialDataLoaded)return;r.resolveSingletons(n.retrievedItems,n.savedItems)}})),t.addModelUuidChangeObserver("singleton-manager",(function(e,t){var n=!0,i=!1,a=void 0;try{for(var o,s=r.singletonHandlers[Symbol.iterator]();!(n=(o=s.next()).done);n=!0){var u=o.value;u.singleton&&H.ItemSatisfiesPredicates(t,u.predicates)&&(u.singleton=null,r.resolveSingletons([t]))}}catch(e){i=!0,a=e}finally{try{n||null==s.return||s.return()}finally{if(i)throw a}}}))}return S(e,[{key:"registerSingleton",value:function(e,t,n){this.singletonHandlers.push({predicates:e,resolutionCallback:t,createBlock:n})}},{key:"resolveSingletons",value:function(e,t,n){var r=this;e=e||[],t=t||[];var i=!0,a=!1,o=void 0;try{for(var s,u=function(){var i=s.value,a=i.predicates.slice(),o=r.modelManager.filterItemsWithPredicates(e,a),u=function(){i.createBlock&&(i.pendingCreateBlockCallback=!0,i.createBlock((function(e){i.singleton=e,i.pendingCreateBlockCallback=!1,i.resolutionCallback&&i.resolutionCallback(e)})))},c=r.modelManager.filterItemsWithPredicates(t,a).length;if(o.length>0||c>0){var l=r.modelManager.itemsMatchingPredicates(a);if(l.length>=2){var f=l.sort((function(e,t){return e.errorDecrypting?1:t.errorDecrypting||e.created_at=this.MaxDiscordanceBeforeOutOfSync&&(this.outOfSync||(this.outOfSync=!0,this.notifyEvent("enter-out-of-sync"))),e.abrupt("return",!1);case 13:return this.outOfSync&&(this.outOfSync=!1,this.notifyEvent("exit-out-of-sync")),this.syncDiscordance=0,e.abrupt("return",!0);case 16:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"isOutOfSync",value:function(){return this.outOfSync}},{key:"getServerURL",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.storageManager.getItem("server");case 2:if(e.t0=e.sent,e.t0){e.next=5;break}e.t0=window._default_sf_server;case 5:return e.abrupt("return",e.t0);case 6:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"getSyncURL",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getServerURL();case 2:return e.t0=e.sent,e.abrupt("return",e.t0+"/items/sync");case 4:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"registerSyncStatusObserver",value:function(e){var t={key:new Date,callback:e};return this.syncStatusObservers.push(t),t}},{key:"removeSyncStatusObserver",value:function(e){_.pull(this.syncStatusObservers,e)}},{key:"syncStatusDidChange",value:function(){var e=this;this.syncStatusObservers.forEach((function(t){t.callback(e.syncStatus)}))}},{key:"addEventHandler",value:function(e){return this.eventHandlers.push(e),e}},{key:"removeEventHandler",value:function(e){_.pull(this.eventHandlers,e)}},{key:"notifyEvent",value:function(e,t){var n=!0,r=!1,i=void 0;try{for(var a,o=this.eventHandlers[Symbol.iterator]();!(n=(a=o.next()).done);n=!0)(0,a.value)(e,t||{})}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}}},{key:"setKeyRequestHandler",value:function(e){this.keyRequestHandler=e}},{key:"getActiveKeyInfo",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.keyRequestHandler(t));case 1:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"initialDataLoaded",value:function(){return!0===this._initialDataLoaded}},{key:"_sortLocalItems",value:function(e){var t=this;return e.sort((function(e,n){var r=new Date(n.updated_at)-new Date(e.updated_at),i=t.contentTypeLoadPriority,a=0,o=0;return i&&(a=i.indexOf(e.content_type),o=i.indexOf(n.content_type),-1==a&&(a=i.length),-1==o&&(o=i.length)),a==o?r:a0&&void 0!==u[0]?u[0]:{},r=n.incrementalCallback,i=n.batchSize,!(a=n.options)||!a.simulateHighLatency){t.next=5;break}return o=a.simulatedLatency||1e3,t.next=5,this._awaitSleep(o);case 5:if(!this.loadLocalDataPromise){t.next=7;break}return t.abrupt("return",this.loadLocalDataPromise);case 7:return i||(i=100),this.loadLocalDataPromise=this.storageManager.getAllModels().then((function(t){var n=(t=(t=s._sortLocalItems(t)).filter((function(e){var t=s.modelManager.findItem(e.uuid);return!t||new Date(e.dirtiedDate)>t.dirtiedDate}))).length,a=0,o=[],u=function(){var c=k(regeneratorRuntime.mark((function c(){var l,f;return regeneratorRuntime.wrap((function(c){for(;;)switch(c.prev=c.next){case 0:return l=t.slice(a,a+i),c.next=3,s.handleItemsResponse(l,null,D.MappingSourceLocalRetrieved,e.KeyRequestLoadLocal);case 3:if(f=c.sent,o.push(f),!((a+=l.length)0)){t.next=23;break}return t.next=23,Promise.all(u.map(function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",i.storageManager.deleteModel(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 23:return t.next=25,i.getActiveKeyInfo(e.KeyRequestSaveLocal);case 25:if(m=t.sent,!(s.length>0)){t.next=33;break}return t.next=29,Promise.all(s.map(function(){var e=k(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=new U(t,m.keys,m.auth_params),e.next=3,n.paramsForLocalStorage();case 3:return n=e.sent,r&&delete n.dirty,e.abrupt("return",n);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())).catch((function(e){return o(e)}));case 29:return y=t.sent,t.next=32,i.storageManager.saveModels(y).catch((function(e){console.error("Error writing items",e),i.syncStatus.localError=e,i.syncStatusDidChange(),o()}));case 32:i.syncStatus.localError&&(i.syncStatus.localError=null,i.syncStatusDidChange());case 33:a();case 34:case"end":return t.stop()}}),t,null,[[4,8,12,20],[13,,15,19]])})));return function(e,n){return t.apply(this,arguments)}}()));case 3:case"end":return t.stop()}}),t)})));function n(e,n){return t.apply(this,arguments)}return n}()},{key:"syncOffline",value:function(){var e=k(regeneratorRuntime.mark((function e(t){var n,r,i,a,o,s=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(n=!0,r=!1,i=void 0,e.prev=3,a=t[Symbol.iterator]();!(n=(o=a.next()).done);n=!0)o.value.updated_at=new Date;e.next=11;break;case 7:e.prev=7,e.t0=e.catch(3),r=!0,i=e.t0;case 11:e.prev=11,e.prev=12,n||null==a.return||a.return();case 14:if(e.prev=14,!r){e.next=17;break}throw i;case 17:return e.finish(14);case 18:return e.finish(11);case 19:return e.abrupt("return",this.writeItemsToLocalStorage(t,!0).then((function(e){var n=!0,r=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var u=a.value;u.deleted&&s.modelManager.removeItemLocally(u)}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}return s.modelManager.clearDirtyItems(t),s.modelManager.didSyncModelsOffline(t),s.notifyEvent("sync:completed",{savedItems:t}),{saved_items:t}})));case 20:case"end":return e.stop()}}),e,this,[[3,7,11,19],[12,,14,18]])})));function t(t){return e.apply(this,arguments)}return t}()},{key:"markAllItemsDirtyAndSaveOffline",value:function(){var e=k(regeneratorRuntime.mark((function e(t){var n,r,i,a,o,s,u,c,l,f,p,d,h;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t){e.next=28;break}n=this.modelManager.allNondummyItems.filter((function(e){return!e.errorDecrypting})).slice(),r=!0,i=!1,a=void 0,e.prev=5,o=n[Symbol.iterator]();case 7:if(r=(s=o.next()).done){e.next=14;break}return u=s.value,e.next=11,this.modelManager.alternateUUIDForItem(u);case 11:r=!0,e.next=7;break;case 14:e.next=20;break;case 16:e.prev=16,e.t0=e.catch(5),i=!0,a=e.t0;case 20:e.prev=20,e.prev=21,r||null==o.return||o.return();case 23:if(e.prev=23,!i){e.next=26;break}throw a;case 26:return e.finish(23);case 27:return e.finish(20);case 28:for(c=this.modelManager.allNondummyItems,l=!0,f=!1,p=void 0,e.prev=32,d=c[Symbol.iterator]();!(l=(h=d.next()).done);l=!0)h.value.setDirty(!0);e.next=40;break;case 36:e.prev=36,e.t1=e.catch(32),f=!0,p=e.t1;case 40:e.prev=40,e.prev=41,l||null==d.return||d.return();case 43:if(e.prev=43,!f){e.next=46;break}throw p;case 46:return e.finish(43);case 47:return e.finish(40);case 48:return e.abrupt("return",this.writeItemsToLocalStorage(c,!1));case 49:case"end":return e.stop()}}),e,this,[[5,16,20,28],[21,,23,27],[32,36,40,48],[41,,43,47]])})));function t(t){return e.apply(this,arguments)}return t}()},{key:"setSyncToken",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._syncToken=t,e.next=3,this.storageManager.setItem("syncToken",t);case 3:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"getSyncToken",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._syncToken){e.next=4;break}return e.next=3,this.storageManager.getItem("syncToken");case 3:this._syncToken=e.sent;case 4:return e.abrupt("return",this._syncToken);case 5:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"setCursorToken",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._cursorToken=t,!t){e.next=6;break}return e.next=4,this.storageManager.setItem("cursorToken",t);case 4:e.next=8;break;case 6:return e.next=8,this.storageManager.removeItem("cursorToken");case 8:case"end":return e.stop()}}),e,this)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"getCursorToken",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._cursorToken){e.next=4;break}return e.next=3,this.storageManager.getItem("cursorToken");case 3:this._cursorToken=e.sent;case 4:return e.abrupt("return",this._cursorToken);case 5:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"clearQueuedCallbacks",value:function(){this._queuedCallbacks=[]}},{key:"callQueuedCallbacks",value:function(e){var t=this.queuedCallbacks;if(t.length){var n=!0,r=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(n=(a=o.next()).done);n=!0)(0,a.value)(e)}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}this.clearQueuedCallbacks()}}},{key:"beginCheckingIfSyncIsTakingTooLong",value:function(){this.syncStatus.checker&&this.stopCheckingIfSyncIsTakingTooLong(),this.syncStatus.checker=this.$interval(function(){(new Date-this.syncStatus.syncStart)/1e3>5&&(this.notifyEvent("sync:taking-too-long"),this.stopCheckingIfSyncIsTakingTooLong())}.bind(this),500)}},{key:"stopCheckingIfSyncIsTakingTooLong",value:function(){this.$interval.hasOwnProperty("cancel")?this.$interval.cancel(this.syncStatus.checker):clearInterval(this.syncStatus.checker),this.syncStatus.checker=null}},{key:"lockSyncing",value:function(){this.syncLocked=!0}},{key:"unlockSyncing",value:function(){this.syncLocked=!1}},{key:"sync",value:function(){var t=k(regeneratorRuntime.mark((function t(){var n,r=this,i=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=i.length>0&&void 0!==i[0]?i[0]:{},!this.syncLocked){t.next=4;break}return console.log("Sync Locked, Returning;"),t.abrupt("return");case 4:return t.abrupt("return",new Promise(function(){var t=k(regeneratorRuntime.mark((function t(i,a){var o,s,u,c,l,f,p,d,h,m,y,v,g,b;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n||(n={}),o=r.modelManager.getDirtyItems(),s=o.filter((function(e){return!r.lastDirtyItemsSave||e.dirtiedDate>r.lastDirtyItemsSave})),t.next=5,r.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 5:if(u=t.sent,c=r.syncStatus.syncOpInProgress,l=r.initialDataLoaded(),!c&&l){t.next=16;break}return r.performSyncAgainOnCompletion=!0,r.lastDirtyItemsSave=new Date,t.next=13,r.writeItemsToLocalStorage(s,!1);case 13:return c&&(r.queuedCallbacks.push(i),r.loggingEnabled&&console.warn("Attempting to sync while existing sync is in progress.")),l||(r.loggingEnabled&&console.warn("(1) Attempting to perform online sync before local data has loaded"),i()),t.abrupt("return");case 16:if(r.syncStatus.syncOpInProgress=!0,!u.offline){t.next=19;break}return t.abrupt("return",r.syncOffline(o).then((function(e){r.syncStatus.syncOpInProgress=!1,i(e)})).catch((function(e){r.notifyEvent("sync-exception",e)})));case 19:if(r.initialDataLoaded()){t.next=22;break}return console.error("Attempting to perform online sync before local data has loaded"),t.abrupt("return");case 22:return r.loggingEnabled&&console.log("Syncing online user."),f=r.syncStatus.needsMoreSync,r.syncStatus.syncStart=new Date,r.beginCheckingIfSyncIsTakingTooLong(),p=r.PerSyncItemUploadLimit,(d=o.slice(0,p)).lengthr.syncStatus.total&&(r.syncStatus.total=r.syncStatus.current),r.syncStatusDidChange(),t.next=34,r.writeItemsToLocalStorage(s,!1);case 34:return r.lastDirtyItemsSave=new Date,n.onPreSyncSave&&n.onPreSyncSave(),r.allRetreivedItems||(r.allRetreivedItems=[]),r.allSavedItems||(r.allSavedItems=[]),(h={}).limit=r.ServerItemDownloadLimit,n.performIntegrityCheck&&(h.compute_integrity=!0),t.prev=41,t.next=44,Promise.all(d.map((function(e){var t=new U(e,u.keys,u.auth_params);return t.additionalFields=n.additionalFields,t.paramsForSync()}))).then((function(e){h.items=e}));case 44:t.next=49;break;case 46:t.prev=46,t.t0=t.catch(41),r.notifyEvent("sync-exception",t.t0);case 49:for(m=!0,y=!1,v=void 0,t.prev=52,g=d[Symbol.iterator]();!(m=(b=g.next()).done);m=!0)b.value.dirtyCount=0;t.next=60;break;case 56:t.prev=56,t.t1=t.catch(52),y=!0,v=t.t1;case 60:t.prev=60,t.prev=61,m||null==g.return||g.return();case 63:if(t.prev=63,!y){t.next=66;break}throw v;case 66:return t.finish(63);case 67:return t.finish(60);case 68:return t.next=70,r.getSyncToken();case 70:return h.sync_token=t.sent,t.next=73,r.getCursorToken();case 73:return h.cursor_token=t.sent,h.api=R.getApiVersion(),r.loggingEnabled&&console.log("Syncing with params",h),t.prev=76,t.t2=r.httpManager,t.next=80,r.getSyncURL();case 80:t.t3=t.sent,t.t4=h,t.t5=function(e){r.handleSyncSuccess(d,e,n).then((function(){i(e)})).catch((function(e){console.log("Caught sync success exception:",e),r.handleSyncError(e,null,o).then((function(t){r.notifyEvent("sync-exception",e),i(t)}))}))},t.t6=function(e,t){r.handleSyncError(e,t,o).then((function(e){i(e)}))},t.t2.postAuthenticatedAbsolute.call(t.t2,t.t3,t.t4,t.t5,t.t6),t.next=90;break;case 87:t.prev=87,t.t7=t.catch(76),console.log("Sync exception caught:",t.t7);case 90:case"end":return t.stop()}}),t,null,[[41,46],[52,56,60,68],[61,,63,67],[76,87]])})));return function(e,n){return t.apply(this,arguments)}}()));case 5:case"end":return t.stop()}}),t,this)})));function n(){return t.apply(this,arguments)}return n}()},{key:"_awaitSleep",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.warn("Simulating high latency sync request",t),e.abrupt("return",new Promise((function(e,n){setTimeout((function(){e()}),t)})));case 2:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"handleSyncSuccess",value:function(){var t=k(regeneratorRuntime.mark((function t(n,r,i){var a,o,s,u,c,l,f,p,d,h,m,y,v,g,b,k,w=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!i.simulateHighLatency){t.next=4;break}return a=i.simulatedLatency||1e3,t.next=4,this._awaitSleep(a);case 4:for(this.syncStatus.error=null,this.loggingEnabled&&console.log("Sync response",r),o=this.allSavedItems.map((function(e){return e.uuid})),s=r.saved_items.map((function(e){return e.uuid})),r.retrieved_items=r.retrieved_items.filter((function(e){var t=o.includes(e.uuid),n=s.includes(e.uuid);if(t||n)return!1;var r=w.modelManager.findItem(e.uuid);return!r||!r.dirty})),u=[],c=!0,l=!1,f=void 0,t.prev=13,p=n[Symbol.iterator]();!(c=(d=p.next()).done);c=!0)0==(h=d.value).dirtyCount&&u.push(h);t.next=21;break;case 17:t.prev=17,t.t0=t.catch(13),l=!0,f=t.t0;case 21:t.prev=21,t.prev=22,c||null==p.return||p.return();case 24:if(t.prev=24,!l){t.next=27;break}throw f;case 27:return t.finish(24);case 28:return t.finish(21);case 29:return this.modelManager.clearDirtyItems(u),t.next=32,this.handleItemsResponse(r.retrieved_items,null,D.MappingSourceRemoteRetrieved,e.KeyRequestLoadSaveAccount);case 32:return m=t.sent,this.allRetreivedItems=this.allRetreivedItems.concat(m),this.syncStatus.retrievedCount=this.allRetreivedItems.length,y=["content","auth_hash"],t.next=38,this.handleItemsResponse(r.saved_items,y,D.MappingSourceRemoteSaved,e.KeyRequestLoadSaveAccount);case 38:return v=t.sent,this.allSavedItems=this.allSavedItems.concat(v),g=r.unsaved,t.next=43,this.deprecated_handleUnsavedItemsResponse(g);case 43:return t.next=45,this.handleConflictsResponse(r.conflicts);case 45:if(b=t.sent,k=b&&b.length>0,!b){t.next=50;break}return t.next=50,this.writeItemsToLocalStorage(b,!1);case 50:return t.next=52,this.writeItemsToLocalStorage(v,!1);case 52:return t.next=54,this.writeItemsToLocalStorage(m,!1);case 54:if(!r.integrity_hash||r.cursor_token){t.next=59;break}return t.next=57,this.handleServerIntegrityHash(r.integrity_hash);case 57:t.sent||this.syncDiscordance=this.majorDataChangeThreshold||v.length>=this.majorDataChangeThreshold||g&&g.length>=this.majorDataChangeThreshold||b&&b.length>=this.majorDataChangeThreshold)&&this.notifyEvent("major-data-change"),this.callQueuedCallbacks(r),this.notifyEvent("sync:completed",{retrievedItems:this.allRetreivedItems,savedItems:this.allSavedItems}),this.allRetreivedItems=[],this.allSavedItems=[],this.performSyncAgainOnCompletion&&(this.performSyncAgainOnCompletion=!1,setTimeout((function(){w.sync(i)}),10)),t.abrupt("return",r);case 88:case"end":return t.stop()}}),t,this,[[13,17,21,29],[22,,24,28]])})));function n(e,n,r){return t.apply(this,arguments)}return n}()},{key:"handleSyncError",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.log("Sync error: ",t),401==n&&this.notifyEvent("sync-session-invalid"),t?"string"==typeof t&&(t={error:{message:t}}):t={error:{message:"Could not connect to server."}},this.syncStatus.syncOpInProgress=!1,this.syncStatus.error=t.error,this.syncStatusDidChange(),this.writeItemsToLocalStorage(r,!1),this.modelManager.didSyncModelsOffline(r),this.stopCheckingIfSyncIsTakingTooLong(),this.notifyEvent("sync:error",t.error),this.callQueuedCallbacks({error:"Sync error"}),e.abrupt("return",t);case 12:case"end":return e.stop()}}),e,this)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"handleItemsResponse",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r,i){var a,o,s;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getActiveKeyInfo(i);case 2:return a=e.sent.keys,e.next=5,SFJS.itemTransformer.decryptMultipleItems(t,a);case 5:return e.next=7,this.modelManager.mapResponseItemsToLocalModelsOmittingFields(t,n,r);case 7:return o=e.sent,(s=o.filter((function(e){var t=e.errorDecryptingValueChanged;return e.errorDecryptingValueChanged=!1,t}))).length>0&&this.writeItemsToLocalStorage(s,!1),e.abrupt("return",o);case 11:case"end":return e.stop()}}),e,this)})));function t(t,n,r,i){return e.apply(this,arguments)}return t}()},{key:"refreshErroredItems",value:function(){var t=k(regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!((n=this.modelManager.allNondummyItems.filter((function(e){return 1==e.errorDecrypting}))).length>0)){t.next=3;break}return t.abrupt("return",this.handleItemsResponse(n,null,D.MappingSourceLocalRetrieved,e.KeyRequestLoadSaveAccount));case 3:case"end":return t.stop()}}),t,this)})));function n(){return t.apply(this,arguments)}return n}()},{key:"handleConflictsResponse",value:function(){var t=k(regeneratorRuntime.mark((function t(n){var r,i,a,o,s,u,c,l,f,p,d,h,m,y,v,g,b,k,w,x,S,_,E,C,I,R,T,A,F,O,M,P;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n&&0!=n.length){t.next=2;break}return t.abrupt("return");case 2:this.loggingEnabled&&console.log("Handle Conflicted Items:",n),r={},i=!0,a=!1,o=void 0,t.prev=7,s=n[Symbol.iterator]();case 9:if(i=(u=s.next()).done){t.next=21;break}if(c=u.value,l=c.server_item||c.unsaved_item,f=this.modelManager.findItem(l.uuid)){t.next=16;break}return r[l.uuid]={},t.abrupt("continue",18);case 16:p=f.getContentCopy(),r[l.uuid]={frozenContent:p,itemRef:f};case 18:i=!0,t.next=9;break;case 21:t.next=27;break;case 23:t.prev=23,t.t0=t.catch(7),a=!0,o=t.t0;case 27:t.prev=27,t.prev=28,i||null==s.return||s.return();case 30:if(t.prev=30,!a){t.next=33;break}throw o;case 33:return t.finish(30);case 34:return t.finish(27);case 35:d=[],h=!0,m=!1,y=void 0,t.prev=39,v=n[Symbol.iterator]();case 41:if(h=(g=v.next()).done){t.next=91;break}return b=g.value,k=b.server_item||b.unsaved_item,t.t1=SFJS.itemTransformer,t.t2=[k],t.next=48,this.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 48:return t.t3=t.sent.keys,t.next=51,t.t1.decryptMultipleItems.call(t.t1,t.t2,t.t3);case 51:if(w=r[k.uuid],x=w.frozenContent,S=w.itemRef){t.next=54;break}return t.abrupt("continue",88);case 54:if(d.push(S),"uuid_conflict"!==b.type){t.next=62;break}return t.next=58,this.modelManager.alternateUUIDForItem(S);case 58:_=t.sent,d.push(_),t.next=88;break;case 62:if("sync_conflict"!==b.type){t.next=86;break}return t.next=65,this.modelManager.createDuplicateItemFromResponseItem(k);case 65:if(E=t.sent,C=this.modelManager.duplicateItemWithCustomContent({content:x,duplicateOf:S}),I=!C.isItemContentEqualWith(E),R=!S.isItemContentEqualWith(E),T=!1,A=!1,F=!1,O=!1,k.deleted||S.deleted?O=!0:I?(M=20,(new Date-S.client_updated_at)/1e30&&void 0!==arguments[0]?arguments[0]:{};return new Promise(function(){var r=k(regeneratorRuntime.mark((function r(i,a){var o;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return o={limit:n.limit||500,sync_token:n.syncToken,cursor_token:n.cursorToken,content_type:n.contentType,event:n.event,api:R.getApiVersion()},r.prev=1,r.t0=t.httpManager,r.next=5,t.getSyncURL();case 5:r.t1=r.sent,r.t2=o,r.t3=function(){var r=k(regeneratorRuntime.mark((function r(a){var o,s;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return n.retrievedItems||(n.retrievedItems=[]),o=a.retrieved_items,r.next=4,t.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 4:return s=r.sent.keys,r.next=7,SFJS.itemTransformer.decryptMultipleItems(o,s);case 7:n.retrievedItems=n.retrievedItems.concat(o.map((function(e){return t.modelManager.createItem(e)}))),n.syncToken=a.sync_token,n.cursorToken=a.cursor_token,n.cursorToken?t.stateless_downloadAllItems(n).then(i):i(n.retrievedItems);case 11:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}(),r.t4=function(e,t){a(e)},r.t0.postAuthenticatedAbsolute.call(r.t0,r.t1,r.t2,r.t3,r.t4),r.next=16;break;case 12:r.prev=12,r.t5=r.catch(1),console.log("Download all items exception caught:",r.t5),a(r.t5);case 16:case"end":return r.stop()}}),r,null,[[1,12]])})));return function(e,t){return r.apply(this,arguments)}}())}},{key:"resolveOutOfSync",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.stateless_downloadAllItems({event:"resolve-out-of-sync"}).then(function(){var e=k(regeneratorRuntime.mark((function e(n){var r,i,a,o,s,u,c,l;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=[],i=!0,a=!1,o=void 0,e.prev=4,s=n[Symbol.iterator]();case 6:if(i=(u=s.next()).done){e.next=18;break}if(c=u.value,!(l=t.modelManager.findItem(c.uuid))){e.next=14;break}if(c.isItemContentEqualWith(l)){e.next=14;break}return e.next=14,t.modelManager.duplicateItemAndAddAsConflict(l);case 14:r.push(c);case 15:i=!0,e.next=6;break;case 18:e.next=24;break;case 20:e.prev=20,e.t0=e.catch(4),a=!0,o=e.t0;case 24:e.prev=24,e.prev=25,i||null==s.return||s.return();case 27:if(e.prev=27,!a){e.next=30;break}throw o;case 30:return e.finish(27);case 31:return e.finish(24);case 32:return e.next=34,t.modelManager.mapResponseItemsToLocalModelsWithOptions({items:r,source:D.MappingSourceRemoteRetrieved});case 34:return e.next=36,t.writeItemsToLocalStorage(t.modelManager.allNondummyItems);case 36:return e.abrupt("return",t.sync({performIntegrityCheck:!0}));case 37:case"end":return e.stop()}}),e,null,[[4,20,24,32],[25,,27,31]])})));return function(t){return e.apply(this,arguments)}}()));case 1:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"handleSignout",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.outOfSync=!1,this.loadLocalDataPromise=null,this.performSyncAgainOnCompletion=!1,this.syncStatus.syncOpInProgress=!1,this._queuedCallbacks=[],this.syncStatus={},e.abrupt("return",this.clearSyncToken());case 7:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"clearSyncToken",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._syncToken=null,this._cursorToken=null,e.abrupt("return",this.storageManager.removeItem("syncToken"));case 3:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"__setLocalDataNotLoaded",value:function(){this.loadLocalDataPromise=null,this._initialDataLoaded=!1}},{key:"queuedCallbacks",get:function(){return this._queuedCallbacks||(this._queuedCallbacks=[]),this._queuedCallbacks}}]),e}();r.SFSyncManager=B;var z=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};w(this,e),this.content={},this.referencingObjects=[],this.updateFromJSON(t),this.uuid||"undefined"!=typeof SFJS&&SFJS.crypto.generateUUIDSync&&(this.uuid=SFJS.crypto.generateUUIDSync()),"object"!==g(this.content)||this.content.references||(this.content.references=[])}return S(e,[{key:"initUUID",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.uuid){e.next=4;break}return e.next=3,SFJS.crypto.generateUUID();case 3:this.uuid=e.sent;case 4:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"updateFromJSON",value:function(t){if(t){this.deleted=t.deleted,this.uuid=t.uuid,this.enc_item_key=t.enc_item_key,this.auth_hash=t.auth_hash,this.auth_params=t.auth_params;for(var n=0,r=["errorDecrypting","dirty","dirtyCount","dirtiedDate","dummy"];n"==n.operator?m>h:"<="==n.operator?m<=h:">="==n.operator?m>=h:"startsWith"==n.operator?m.startsWith(h):"in"==n.operator?-1!=h.indexOf(m):"includes"==n.operator?this.resolveIncludesPredicate(m,h):"matches"==n.operator&&new RegExp(h).test(m)}},{key:"resolveIncludesPredicate",value:function(t,n){if("string"==typeof n)return t.includes(n);var r;r=Array.isArray(n)?e.fromArray(n):n;var i=!0,a=!1,o=void 0;try{for(var s,u=t[Symbol.iterator]();!(i=(s=u.next()).done);i=!0){var c=s.value;if(this.ObjectSatisfiesPredicate(c,r))return!0}}catch(e){a=!0,o=e}finally{try{i||null==u.return||u.return()}finally{if(a)throw o}}return!1}},{key:"ItemSatisfiesPredicate",value:function(t,n){return Array.isArray(n)&&(n=e.fromArray(n)),this.ObjectSatisfiesPredicate(t,n)}},{key:"ItemSatisfiesPredicates",value:function(e,t){var n=!0,r=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value;if(!this.ItemSatisfiesPredicate(e,s))return!1}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}return!0}},{key:"DateFromString",value:function(e){var t=e.split("."),n=t[1],r=new Date,i=parseInt(t[0]);return"days"==n?r.setDate(r.getDate()-i):"hours"==n&&r.setHours(r.getHours()-i),r}},{key:"IsRecursiveOperator",value:function(e){return["and","or"].includes(e)}}]),e}();r.SFPredicate=H;var K=function(e){function t(e){var n;return w(this,t),(n=c(this,f(t).call(this,e))).content.desktopPrivileges||(n.content.desktopPrivileges={}),n}return p(t,e),S(t,null,[{key:"contentType",value:function(){return"SN|Privileges"}}]),S(t,[{key:"setCredentialsForAction",value:function(e,t){this.content.desktopPrivileges[e]=t}},{key:"getCredentialsForAction",value:function(e){return this.content.desktopPrivileges[e]||[]}},{key:"toggleCredentialForAction",value:function(e,t){this.isCredentialRequiredForAction(e,t)?this.removeCredentialForAction(e,t):this.addCredentialForAction(e,t)}},{key:"removeCredentialForAction",value:function(e,t){_.pull(this.content.desktopPrivileges[e],t)}},{key:"addCredentialForAction",value:function(e,t){var n=this.getCredentialsForAction(e);n.push(t),this.setCredentialsForAction(e,n)}},{key:"isCredentialRequiredForAction",value:function(e,t){return this.getCredentialsForAction(e).includes(t)}}]),t}(z);r.SFPrivileges=K;var W=function(e){function t(e){var n;return w(this,t),(n=c(this,f(t).call(this,e))).content.itemUUIDToItemHistoryMapping||(n.content.itemUUIDToItemHistoryMapping={}),Object.keys(n.content.itemUUIDToItemHistoryMapping).forEach((function(e){var t=n.content.itemUUIDToItemHistoryMapping[e];n.content.itemUUIDToItemHistoryMapping[e]=new V(t)})),n}return p(t,e),S(t,[{key:"addEntryForItem",value:function(e){return this.historyForItem(e).addHistoryEntryForItem(e)}},{key:"historyForItem",value:function(e){var t=this.content.itemUUIDToItemHistoryMapping[e.uuid];return t||(t=this.content.itemUUIDToItemHistoryMapping[e.uuid]=new V),t}},{key:"clearItemHistory",value:function(e){this.historyForItem(e).clear()}},{key:"clearAllHistory",value:function(){this.content.itemUUIDToItemHistoryMapping={}}},{key:"optimizeHistoryForItem",value:function(e){var n=this.historyForItem(e);n.entries.length>t.LargeItemEntryAmountThreshold&&n.optimize()}}]),t}(z);r.SFHistorySession=W,W.LargeItemEntryAmountThreshold=60;var V=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(w(this,e),this.entries||(this.entries=[]),t.entries){var n=!0,r=!1,i=void 0;try{for(var a,o=t.entries[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value,u=this.createEntryForItem(s.item);u.setPreviousEntry(this.getLastEntry()),this.entries.push(u)}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}}}return S(e,[{key:"createEntryForItem",value:function(t){var n=e.HistoryEntryClassMapping&&e.HistoryEntryClassMapping[t.content_type];return n||(n=q),new n(t)}},{key:"getLastEntry",value:function(){return this.entries[this.entries.length-1]}},{key:"addHistoryEntryForItem",value:function(e){var t=this.createEntryForItem(e),n=this.getLastEntry();if(t.setPreviousEntry(n),!t.isSameAsEntry(n))return this.entries.push(t),t}},{key:"clear",value:function(){this.entries.length=0}},{key:"optimize",value:function(){var t=this,n=[],r=function(t){return t.deltaSize()>e.LargeEntryDeltaThreshold},i=function(e,i,a){if(a?n.push(e):-1!==(i=n.indexOf(e))&&n.splice(i,1),a&&r(e)&&-1==e.operationVector()){var o=t.entries[i-1];o&&n.push(o)}};this.entries.forEach((function(e,n){if(0==n||n==t.entries.length-1)i(e,n,!0);else{var a=r(e);i(e,n,a)}})),this.entries=this.entries.filter((function(e,t){return-1!==n.indexOf(e)}))}}]),e}();r.SFItemHistory=V,V.LargeEntryDeltaThreshold=15;var q=function(){function e(t){w(this,e),this.item=z.deepMerge({},t),this.defaultContentKeyToDiffOn="text",this.textCharDiffLength=0,"string"==typeof this.item.updated_at&&(this.item.updated_at=new Date(this.item.updated_at))}return S(e,[{key:"setPreviousEntry",value:function(e){this.hasPreviousEntry=null!=e,this.item.content[this.defaultContentKeyToDiffOn]&&(this.textCharDiffLength=e?this.item.content[this.defaultContentKeyToDiffOn].length-e.item.content[this.defaultContentKeyToDiffOn].length:this.item.content[this.defaultContentKeyToDiffOn].length)}},{key:"operationVector",value:function(){return null!=this.textCharDiffLength?this.hasPreviousEntry&&0!=this.textCharDiffLength?this.textCharDiffLength<0?-1:1:0:1}},{key:"deltaSize",value:function(){return null!=this.textCharDiffLength?Math.abs(this.textCharDiffLength):1}},{key:"isSameAsEntry",value:function(e){if(!e)return!1;var t=new z(this.item),n=new z(e.item);return t.isItemContentEqualWith(n)}}]),e}();r.SFItemHistoryEntry=q,I="undefined"!=typeof window?window:void 0!==e?e:null;var $=function(){function e(){w(this,e),this.DefaultPBKDF2Length=768}return S(e,[{key:"generateUUIDSync",value:function(){var e=I.crypto||I.msCrypto;if(e){var t=new Uint32Array(4);e.getRandomValues(t);var n=-1;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){n++;var r=t[n>>3]>>n%8*4&15;return("x"==e?r:3&r|8).toString(16)}))}var r=(new Date).getTime();return I.performance&&"function"==typeof I.performance.now&&(r+=performance.now()),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=(r+16*Math.random())%16|0;return r=Math.floor(r/16),("x"==e?t:3&t|8).toString(16)}))}},{key:"generateUUID",value:function(){var e=k(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.generateUUIDSync());case 1:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"timingSafeEqual",value:function(e,t){var n=String(e),r=String(t),i=n.length,a=0;i!==r.length&&(r=n,a=1);for(var o=0;o0&&void 0!==d[0]?d[0]:{},n=t.ciphertextToAuth,r=t.contentCiphertext,i=t.encryptionKey,a=t.iv,o=t.authHash,s=t.authKey,!(d.length>1?d[1]:void 0)||o){e.next=5;break}return console.error("Auth hash is required."),e.abrupt("return");case 5:if(!o){e.next=12;break}return e.next=8,this.hmac256(n,s);case 8:if(c=e.sent,!1!==this.timingSafeEqual(o,c)){e.next=12;break}return console.error("Auth hash does not match, returning null."),e.abrupt("return",null);case 12:return l=u.enc.Hex.parse(i),f=u.enc.Hex.parse(a||""),p=u.AES.decrypt(r,l,{iv:f,mode:u.mode.CBC,padding:u.pad.Pkcs7}),e.abrupt("return",p.toString(u.enc.Utf8));case 16:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"encryptText",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r){var i,a,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=u.enc.Hex.parse(n),a=u.enc.Hex.parse(r||""),o=u.AES.encrypt(t,i,{iv:a,mode:u.mode.CBC,padding:u.pad.Pkcs7}),e.abrupt("return",o.toString());case 4:case"end":return e.stop()}}),e)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"generateRandomKey",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",u.lib.WordArray.random(t/8).toString());case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"generateItemEncryptionKey",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t,n,r,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=512,n=1,e.next=4,this.generateRandomKey(t);case 4:return r=e.sent,e.next=7,this.generateRandomKey(t);case 7:return i=e.sent,e.abrupt("return",this.pbkdf2(i,r,n,t));case 9:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"firstHalfOfKey",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.substring(0,t.length/2));case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"secondHalfOfKey",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.substring(t.length/2,t.length));case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"base64",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",I.btoa(encodeURIComponent(t).replace(/%([0-9A-F]{2})/g,(function(e,t){return String.fromCharCode("0x"+t)}))));case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"base64Decode",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",I.atob(t));case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"sha256",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",u.SHA256(t).toString());case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"hmac256",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n){var r,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=u.enc.Hex.parse(n),i=u.enc.Utf8.parse(t),a=u.HmacSHA256(i,r).toString(),e.abrupt("return",a);case 4:case"end":return e.stop()}}),e)})));function t(t,n){return e.apply(this,arguments)}return t}()},{key:"generateSalt",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r,i){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.sha256([t,"SF",n,r,i].join(":"));case 2:return a=e.sent,e.abrupt("return",a);case 4:case"end":return e.stop()}}),e,this)})));function t(t,n,r,i){return e.apply(this,arguments)}return t}()},{key:"generateSymmetricKeyPair",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t,n,r,i,a,o,s,u,c,l,f=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=f.length>0&&void 0!==f[0]?f[0]:{},n=t.password,r=t.pw_salt,i=t.pw_cost,e.next=3,this.pbkdf2(n,r,i,this.DefaultPBKDF2Length);case 3:return a=e.sent,o=a.length,s=o/3,u=a.slice(0,s),c=a.slice(s,2*s),l=a.slice(2*s,3*s),e.abrupt("return",[u,c,l]);case 10:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"computeEncryptionKeysForUser",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("003"!=n.version){e.next=9;break}if(n.identifier){e.next=4;break}return console.error("authParams is missing identifier."),e.abrupt("return");case 4:return e.next=6,this.generateSalt(n.identifier,n.version,n.pw_cost,n.pw_nonce);case 6:r=e.sent,e.next=10;break;case 9:r=n.pw_salt;case 10:return e.abrupt("return",this.generateSymmetricKeyPair({password:t,pw_salt:r,pw_cost:n.pw_cost}).then((function(e){return{pw:e[0],mk:e[1],ak:e[2]}})));case 11:case"end":return e.stop()}}),e,this)})));function t(t,n){return e.apply(this,arguments)}return t}()},{key:"generateInitialKeysAndAuthParamsForUser",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n){var r,i,a,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=this.SFJS.version,i=this.SFJS.defaultPasswordGenerationCost,e.next=4,this.generateRandomKey(256);case 4:return a=e.sent,e.next=7,this.generateSalt(t,r,i,a);case 7:return o=e.sent,e.abrupt("return",this.generateSymmetricKeyPair({password:n,pw_salt:o,pw_cost:i}).then((function(e){var n={pw_nonce:a,pw_cost:i,identifier:t,version:r};return{keys:{pw:e[0],mk:e[1],ak:e[2]},authParams:n}})));case 9:case"end":return e.stop()}}),e,this)})));function t(t,n){return e.apply(this,arguments)}return t}()}]),e}();r.SFAbstractCrypto=$;var J=function(e){function t(){return w(this,t),c(this,f(t).apply(this,arguments))}return p(t,e),S(t,[{key:"pbkdf2",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r,i){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a={keySize:i/32,hasher:u.algo.SHA512,iterations:r},e.abrupt("return",u.PBKDF2(t,n,a).toString());case 2:case"end":return e.stop()}}),e)})));function t(t,n,r,i){return e.apply(this,arguments)}return t}()}]),t}($);r.SFCryptoJS=J;var Q=(I="undefined"!=typeof window?window:void 0!==e?e:null).crypto?I.crypto.subtle:null,G=function(e){function t(){return w(this,t),c(this,f(t).apply(this,arguments))}return p(t,e),S(t,[{key:"pbkdf2",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r,i){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.webCryptoImportKey(t,"PBKDF2",["deriveBits"]);case 2:if(a=e.sent){e.next=6;break}return console.log("Key is null, unable to continue"),e.abrupt("return",null);case 6:return e.abrupt("return",this.webCryptoDeriveBits(a,n,r,i));case 7:case"end":return e.stop()}}),e,this)})));function t(t,n,r,i){return e.apply(this,arguments)}return t}()},{key:"generateRandomKey",value:function(){var e=k(regeneratorRuntime.mark((function e(t){var n,r=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=!0,e.abrupt("return",Q.generateKey({name:"AES-CBC",length:t},n,["encrypt","decrypt"]).then((function(e){return Q.exportKey("raw",e).then(function(){var e=k(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,r.arrayBufferToHexString(new Uint8Array(t));case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){console.error("Error exporting key",e)}))})).catch((function(e){console.error("Error generating key",e)})));case 2:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"generateItemEncryptionKey",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=256,e.abrupt("return",Promise.all([this.generateRandomKey(t),this.generateRandomKey(t)]).then((function(e){return e.join("")})));case 2:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"encryptText",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r){var i,a,o,s,u,c=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!r){e.next=6;break}return e.next=3,this.hexStringToArrayBuffer(r);case 3:e.t0=e.sent,e.next=7;break;case 6:e.t0=new ArrayBuffer(16);case 7:return i=e.t0,a={name:"AES-CBC",iv:i},e.next=11,this.hexStringToArrayBuffer(n);case 11:return o=e.sent,e.next=14,this.webCryptoImportKey(o,a.name,["encrypt"]);case 14:return s=e.sent,e.next=17,this.stringToArrayBuffer(t);case 17:return u=e.sent,e.abrupt("return",crypto.subtle.encrypt(a,s,u).then(function(){var e=k(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,c.arrayBufferToBase64(t);case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 19:case"end":return e.stop()}}),e,this)})));function t(t,n,r){return e.apply(this,arguments)}return t}()},{key:"decryptText",value:function(){var e=k(regeneratorRuntime.mark((function e(){var t,n,r,i,a,o,s,u,c,l,f,p,d,h=this,m=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=m.length>0&&void 0!==m[0]?m[0]:{},n=t.ciphertextToAuth,r=t.contentCiphertext,i=t.encryptionKey,a=t.iv,o=t.authHash,s=t.authKey,!(m.length>1?m[1]:void 0)||o){e.next=5;break}return console.error("Auth hash is required."),e.abrupt("return");case 5:if(!o){e.next=12;break}return e.next=8,this.hmac256(n,s);case 8:if(u=e.sent,!1!==this.timingSafeEqual(o,u)){e.next=12;break}return console.error("Auth hash does not match, returning null. ".concat(o," != ").concat(u)),e.abrupt("return",null);case 12:if(!a){e.next=18;break}return e.next=15,this.hexStringToArrayBuffer(a);case 15:e.t0=e.sent,e.next=19;break;case 18:e.t0=new ArrayBuffer(16);case 19:return c=e.t0,l={name:"AES-CBC",iv:c},e.next=23,this.hexStringToArrayBuffer(i);case 23:return f=e.sent,e.next=26,this.webCryptoImportKey(f,l.name,["decrypt"]);case 26:return p=e.sent,e.next=29,this.base64ToArrayBuffer(r);case 29:return d=e.sent,e.abrupt("return",crypto.subtle.decrypt(l,p,d).then(function(){var e=k(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,h.arrayBufferToString(t);case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){console.error("Error decrypting:",e)})));case 31:case"end":return e.stop()}}),e,this)})));function t(){return e.apply(this,arguments)}return t}()},{key:"hmac256",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n){var r,i,a,o=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.hexStringToArrayBuffer(n);case 2:return r=e.sent,e.next=5,this.webCryptoImportKey(r,"HMAC",["sign"],{name:"SHA-256"});case 5:return i=e.sent,e.next=8,this.stringToArrayBuffer(t);case 8:return a=e.sent,e.abrupt("return",crypto.subtle.sign({name:"HMAC"},i,a).then(function(){var e=k(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o.arrayBufferToHexString(t);case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){console.error("Error computing hmac",e)})));case 10:case"end":return e.stop()}}),e,this)})));function t(t,n){return e.apply(this,arguments)}return t}()},{key:"webCryptoImportKey",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r,i){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("string"!=typeof t){e.next=6;break}return e.next=3,this.stringToArrayBuffer(t);case 3:e.t0=e.sent,e.next=7;break;case 6:e.t0=t;case 7:return a=e.t0,e.abrupt("return",Q.importKey("raw",a,{name:n,hash:i},!1,r).then((function(e){return e})).catch((function(e){return console.error(e),null})));case 9:case"end":return e.stop()}}),e,this)})));function t(t,n,r,i){return e.apply(this,arguments)}return t}()},{key:"webCryptoDeriveBits",value:function(){var e=k(regeneratorRuntime.mark((function e(t,n,r,i){var a,o=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.stringToArrayBuffer(n);case 2:return e.t0=e.sent,e.t1=r,e.t2={name:"SHA-512"},a={name:"PBKDF2",salt:e.t0,iterations:e.t1,hash:e.t2},e.abrupt("return",Q.deriveBits(a,t,i).then(function(){var e=k(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o.arrayBufferToHexString(new Uint8Array(t));case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){return console.error(e),null})));case 7:case"end":return e.stop()}}),e,this)})));function t(t,n,r,i){return e.apply(this,arguments)}return t}()},{key:"stringToArrayBuffer",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){var r=new Blob([t]),i=new FileReader;i.onload=function(t){e(t.target.result)},i.readAsArrayBuffer(r)})));case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"arrayBufferToString",value:function(){var e=k(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){var r=new Blob([t]),i=new FileReader;i.onload=function(t){e(t.target.result)},i.readAsText(r)})));case 1:case"end":return e.stop()}}),e)})));function t(t){return e.apply(this,arguments)}return t}()},{key:"arrayBufferToHexString",value:function(){var e=k(regeneratorRuntime.mark((function e(t){var n,r,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(n=new Uint8Array(t),r="",a=0;a5e3)||this.crypto instanceof G}},{key:"supportedVersions",value:function(){return["001","002","003"]}},{key:"isVersionNewerThanLibraryVersion",value:function(e){var t=this.version();return parseInt(e)>parseInt(t)}},{key:"isProtocolVersionOutdated",value:function(e){var t={"001":Date.parse("2018-01-01"),"002":Date.parse("2020-01-01")}[e];return!!t&&new Date>t}},{key:"costMinimumForVersion",value:function(e){return{"001":3e3,"002":3e3,"003":11e4}[e]}},{key:"defaultPasswordGenerationCost",value:function(){return this.costMinimumForVersion(this.version())}}]),e}();if(r.StandardFile=X,I)try{I.StandardFile=X,I.SFJS=new X,I.SFCryptoWeb=G,I.SFCryptoJS=J,I.SFItemTransformer=Y,I.SFModelManager=D,I.SFItem=z,I.SFItemParams=U,I.SFHttpManager=R,I.SFStorageManager=L,I.SFSyncManager=B,I.SFAuthManager=C,I.SFMigrationManager=T,I.SFAlertManager=E,I.SFPredicate=H,I.SFHistorySession=W,I.SFSessionHistoryManager=P,I.SFItemHistory=V,I.SFItemHistoryEntry=q,I.SFPrivilegesManager=A,I.SFPrivileges=K,I.SFSingletonManager=N}catch(e){console.log("Exception while exporting window variables",e)}}).call(this,void 0!==t?t:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1])(1)}).call(t,n(3))},function(e,t){!function(t){"use strict";var n,r=Object.prototype,i=r.hasOwnProperty,a="function"==typeof Symbol?Symbol:{},o=a.iterator||"@@iterator",s=a.asyncIterator||"@@asyncIterator",u=a.toStringTag||"@@toStringTag",c="object"==typeof e,l=t.regeneratorRuntime;if(l)c&&(e.exports=l);else{(l=t.regeneratorRuntime=c?e.exports:{}).wrap=k;var f="suspendedStart",p="suspendedYield",d="executing",h="completed",m={},y={};y[o]=function(){return this};var v=Object.getPrototypeOf,g=v&&v(v(A([])));g&&g!==r&&i.call(g,o)&&(y=g);var b=_.prototype=x.prototype=Object.create(y);S.prototype=b.constructor=_,_.constructor=S,_[u]=S.displayName="GeneratorFunction",l.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===S||"GeneratorFunction"===(t.displayName||t.name))},l.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,_):(e.__proto__=_,u in e||(e[u]="GeneratorFunction")),e.prototype=Object.create(b),e},l.awrap=function(e){return{__await:e}},E(C.prototype),C.prototype[s]=function(){return this},l.AsyncIterator=C,l.async=function(e,t,n,r){var i=new C(k(e,t,n,r));return l.isGeneratorFunction(t)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},E(b),b[u]="Generator",b[o]=function(){return this},b.toString=function(){return"[object Generator]"},l.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},l.values=A,D.prototype={constructor:D,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=n,this.done=!1,this.delegate=null,this.method="next",this.arg=n,this.tryEntries.forEach(T),!e)for(var t in this)"t"===t.charAt(0)&&i.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=n)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function r(r,i){return s.type="throw",s.arg=e,t.next=r,i&&(t.method="next",t.arg=n),!!i}for(var a=this.tryEntries.length-1;a>=0;--a){var o=this.tryEntries[a],s=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var u=i.call(o,"catchLoc"),c=i.call(o,"finallyLoc");if(u&&c){if(this.prev=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&i.call(r,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),T(n),m}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;T(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:A(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=n),m}}}function k(e,t,n,r){var i=t&&t.prototype instanceof x?t:x,a=Object.create(i.prototype),o=new D(r||[]);return a._invoke=function(e,t,n){var r=f;return function(i,a){if(r===d)throw new Error("Generator is already running");if(r===h){if("throw"===i)throw a;return F()}for(n.method=i,n.arg=a;;){var o=n.delegate;if(o){var s=I(o,n);if(s){if(s===m)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===f)throw r=h,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=d;var u=w(e,t,n);if("normal"===u.type){if(r=n.done?h:p,u.arg===m)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r=h,n.method="throw",n.arg=u.arg)}}}(e,n,o),a}function w(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}function x(){}function S(){}function _(){}function E(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function C(e){function t(n,r,a,o){var s=w(e[n],e,r);if("throw"!==s.type){var u=s.arg,c=u.value;return c&&"object"==typeof c&&i.call(c,"__await")?Promise.resolve(c.__await).then((function(e){t("next",e,a,o)}),(function(e){t("throw",e,a,o)})):Promise.resolve(c).then((function(e){u.value=e,a(u)}),o)}o(s.arg)}var n;this._invoke=function(e,r){function i(){return new Promise((function(n,i){t(e,r,n,i)}))}return n=n?n.then(i,i):i()}}function I(e,t){var r=e.iterator[t.method];if(r===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=n,I(e,t),"throw"===t.method))return m;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return m}var i=w(r,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,m;var a=i.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=n),t.delegate=null,m):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,m)}function R(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function T(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function D(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(R,this),this.reset(!0)}function A(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,a=function t(){for(;++r=0?this.items[c]=u:this.items.push(u);case 15:n=!0,l.next=5;break;case 18:l.next=24;break;case 20:l.prev=20,l.t0=l.catch(3),r=!0,i=l.t0;case 24:l.prev=24,l.prev=25,n||null==o.return||o.return();case 27:if(l.prev=27,!r){l.next=30;break}throw i;case 30:return l.finish(27);case 31:return l.finish(24);case 32:this.notifyObserversOfEvent(e.BridgeEventReceivedItems);case 33:case"end":return l.stop()}}),null,this,[[3,20,24,32],[25,,27,31]])}},{key:"indexOfItem",value:function(e){for(var t in this.items)if(this.items[t].uuid==e.uuid)return t;return-1}},{key:"removeItemFromItems",value:function(e){this.items=this.items.filter((function(t){return t.uuid!==e.uuid}))}},{key:"createItem",value:function(e,t){this.createItems([e],t)}},{key:"createItems",value:function(e,t){this.componentManager.createItems(e,(function(e){t&&t(e.map((function(e){return new a.SFItem(e)})))}))}},{key:"saveItem",value:function(e){return regeneratorRuntime.async((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.saveItems([e]));case 1:case"end":return t.stop()}}),null,this)}},{key:"saveItems",value:function(t){var n=this;return regeneratorRuntime.async((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",new Promise((function(r,i){n.componentManager.saveItems(t,(function(t){r(t),n.notifyObserversOfEvent(e.BridgeEventSavedItem)}))})));case 1:case"end":return r.stop()}}))}},{key:"indexOfItem",value:function(e){for(var t in this.items)if(this.items[t].uuid==e.uuid)return t;return-1}},{key:"deleteItem",value:function(e,t){this.deleteItems([e],t)}},{key:"deleteItems",value:function(e,t){this.componentManager.deleteItems(e,t)}},{key:"removeItemFromItems",value:function(e){this.items=this.items.filter((function(t){return t.uuid!==e.uuid}))}}])&&o(t.prototype,n),r&&o(t,r),e}();s(u,"FileItemContentTypeKey","SN|FileSafe|File"),s(u,"FileSafeCredentialsContentType","SN|FileSafe|Credentials"),s(u,"FileDescriptorContentTypeKey","SN|FileSafe|FileMetadata"),s(u,"FileSafeIntegrationContentTypeKey","SN|FileSafe|Integration"),s(u,"BridgeEventLoadedCredentials","BridgeEventLoadedCredentials"),s(u,"BridgeEventReceivedItems","BridgeEventReceivedItems"),s(u,"BridgeEventSavedItem","BridgeEventSavedItem")},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"default",(function(){return p}));var r=n(2),i=n(7),a=n(8),o=n(9),s=n(10),u=n(12),c=n(0);n.n(c);function l(e,t){for(var n=0;n(t=$(t,e)).length)n=e;else{var r=0,i=-1,a=-1,o=(n=t).length;for(0>r&&(r=-r>o?0:o+r),0>(i=i>o?o:i)&&(i+=o),o=r>i?0:i-r>>>0,r>>>=0,i=Array(o);++aa?Ge:o,a=1),t=Object(t);++is))return!1;if((u=a.get(e))&&a.get(t))return u==t;var u=-1,c=!0,l=2&n?new E:Ge;for(a.set(e,t),a.set(t,e);++u(n=null==n?0:Me(n))&&(n=$t(r+n,0)),h(e,ae(t,3),n)):-1}function be(e){return null!=e&&e.length?M(e,1):[]}function ke(e){var t=null==e?0:e.length;return t?e[t-1]:Ge}function we(e,t){var n;if(e&&e.length&&t&&t.length){var r=m,i=-1,a=(n=t).length;for(e===n&&(n=Y(n));++i=e}function Re(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Te(e){return null!=e&&"object"==typeof e}function De(e){return!(!Te(e)||"[object Object]"!=L(e))&&(null===(e=Nt(e))||"function"==typeof(e=It.call(e,"constructor")&&e.constructor)&&e instanceof e&&Ct.call(e)==Dt)}function Ae(e){return"string"==typeof e||!_n(e)&&Te(e)&&"[object String]"==L(e)}function Fe(e){return"symbol"==typeof e||Te(e)&&"[object Symbol]"==L(e)}function Oe(e){return e?(e=Pe(e))===Ye||e===-Ye?17976931348623157e292*(0>e?-1:1):e==e?e:0:0===e?e:0}function Me(e){var t=(e=Oe(e))%1;return e==e?t?e-t:e:0}function Pe(e){if("number"==typeof e)return e;if(Fe(e))return Xe;if(Re(e)&&(e=Re(e="function"==typeof e.valueOf?e.valueOf():e)?e+"":e),"string"!=typeof e)return 0===e?e:+e;e=e.replace(rt,"");var t=st.test(e);return t||ct.test(e)?ht(e.slice(2),t?2:8):ot.test(e)?Xe:+e}function Ne(e){return X(e,Ue(e))}function Le(e){return null==e?"":V(e)}function je(e,t,n){return(e=null==e?Ge:P(e,t))===Ge?n:e}function Be(e,t){var n;if(n=null!=e){for(var r,i=-1,a=(r=$(t,n=e)).length,o=!1;++i(e=D(t,e))||(e==t.length-1?t.pop():Bt.call(t,e,1),--this.size,0))},S.prototype.get=function(e){var t=this.__data__;return 0>(e=D(t,e))?Ge:t[e][1]},S.prototype.has=function(e){return-1r?(++this.size,n.push([e,t])):n[r][1]=t,this},_.prototype.clear=function(){this.size=0,this.__data__={hash:new x,map:new(Yt||S),string:new x}},_.prototype.delete=function(e){return e=oe(this,e).delete(e),this.size-=e?1:0,e},_.prototype.get=function(e){return oe(this,e).get(e)},_.prototype.has=function(e){return oe(this,e).has(e)},_.prototype.set=function(e,t){var n=oe(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},E.prototype.add=E.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},E.prototype.has=function(e){return this.__data__.has(e)},C.prototype.clear=function(){this.__data__=new S,this.size=0},C.prototype.delete=function(e){var t=this.__data__;return e=t.delete(e),this.size=t.size,e},C.prototype.get=function(e){return this.__data__.get(e)},C.prototype.has=function(e){return this.__data__.has(e)},C.prototype.set=function(e,t){var n=this.__data__;if(n instanceof S){var r=n.__data__;if(!Yt||199>r.length)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new _(r)}return n.set(e,t),this.size=n.size,this};var pn=function(e,t){if(null==e)return e;if(!_e(e))return function(e,t){return e&&dn(e,t,ze)}(e,t);for(var n=e.length,r=-1,i=Object(e);++rn&&(n=$t(r+n,0)),Ae(e)?n<=r&&-10){var i=!0,a=!1,o=void 0;try{for(var s,u=t.integrations[Symbol.iterator]();!(i=(s=u.next()).done);i=!0){var c=s.value;if(c!=e){t.setIntegrationAsDefault(c);break}}}catch(e){a=!0,o=e}finally{try{i||null==u.return||u.return()}finally{if(a)throw o}}}}))}},{key:"integrations",get:function(){return this.extensionBridge.filterItems(a.a.FileSafeIntegrationContentTypeKey)}}])&&o(t.prototype,n),r&&o(t,r),e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var r=n(1),i=(n.n(r),n(0)),a=(n.n(i),n(2));function o(e,t){for(var n=0;n0&&(e=n.credentials[0]),e})),s(this,"setCredentialAsDefault",(function(e){var t=n.getDefaultCredentials();t&&(t.content.isDefault=!1),e.content.isDefault=!0,n.extensionBridge.saveItems([t,e])})),s(this,"deleteCredential",(function(e){n.extensionBridge.deleteItem(e)})),this.extensionBridge=r,this.onCredentialLoad=i,this.credentials=[],this.extensionBridge.addEventHandler((function(e){e==a.a.BridgeEventReceivedItems&&n.reloadCredentials()}))}var t,n,r;return t=e,(n=[{key:"reloadCredentials",value:function(){this.credentials=[];var e=this.extensionBridge.filterItems(a.a.FileSafeCredentialsContentType);if(0!=e.length){var t=!0,n=!1,r=void 0;try{for(var i,o=e[Symbol.iterator]();!(t=(i=o.next()).done);t=!0){var s=i.value;this.credentials.find((function(e){return e.uuid==s.uuid}))||this.credentials.push(s)}}catch(e){n=!0,r=e}finally{try{t||null==o.return||o.return()}finally{if(n)throw r}}this.onCredentialLoad(),this.credentials.length>0&&this.didLoadCredentials()}}},{key:"createNewCredentials",value:function(){var e,t,n,r,o;return regeneratorRuntime.async((function(s){for(;;)switch(s.prev=s.next){case 0:return e=256,s.next=3,regeneratorRuntime.awrap(SFJS.crypto.generateRandomKey(e));case 3:return t=s.sent,s.next=6,regeneratorRuntime.awrap(SFJS.crypto.generateRandomKey(e));case 6:return n=s.sent,s.next=9,regeneratorRuntime.awrap(SFJS.crypto.generateInitialKeysAndAuthParamsForUser(t,n));case 9:return(r=s.sent).isDefault=0==this.credentials.length,o=new i.SFItem({content_type:a.a.FileSafeCredentialsContentType,content:r}),this.extensionBridge.saveItem(o),this.didLoadCredentials(),s.abrupt("return",o);case 15:case"end":return s.stop()}}),null,this)}},{key:"didLoadCredentials",value:function(){this.extensionBridge.notifyObserversOfEvent(a.a.BridgeEventLoadedCredentials)}},{key:"credentialForFileDescriptor",value:function(e){return this.credentials.find((function(t){return e.content.references.find((function(e){return e.uuid==t.uuid}))}))}},{key:"getAllCredentials",value:function(){return this.credentials}},{key:"saveCredential",value:function(e){this.extensionBridge.saveItem(e)}}])&&o(t.prototype,n),r&&o(t,r),e}()},function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var r=n(1),i=(n.n(r),n(0)),a=(n.n(i),n(11)),o=n.n(a),s=n(2);function u(e,t){for(var n=0;n3&&void 0!==arguments[3]&&arguments[3],a=document.createElement("a");a.setAttribute("download",t);var o=this.tempUrlForData(e,n);a.href=o,a.setAttribute("target","_blank"),i?window.location.href=a.href:(document.body.appendChild(a),a.click(),a.remove()),setTimeout((function(){r.revokeTempUrl(o)}),500)}},{key:"tempUrlForData",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t||"text/json"}))}},{key:"revokeTempUrl",value:function(e){window.URL.revokeObjectURL(e)}},{key:"copyTextToClipboard",value:function(e){if(window.clipboardData&&window.clipboardData.setData)return clipboardData.setData("Text",e);var t;if(document.queryCommandSupported&&document.queryCommandSupported("copy"))try{(t=document.createElement("textarea")).setAttribute("readonly",!0),t.setAttribute("contenteditable",!0),t.style.position="fixed",t.value=e,document.body.appendChild(t),t.focus(),t.select();var n=document.createRange();n.selectNodeContents(t);var r=window.getSelection();r.removeAllRanges(),r.addRange(n),t.setSelectionRange(0,t.value.length),document.execCommand("copy")}catch(e){console.error(e)}finally{document.body.removeChild(t)}}}],(n=null)&&r(t.prototype,n),i&&r(t,i),e}()}])},418:e=>{"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;function i(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,a){for(var o,s,u=i(e),c=1;c{"use strict";var r=n(294),i=n(418),a=n(840);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n

\n `}templateString(){let e,t;return this.buttons?(e=`\n
\n ${this.buttonsString()}\n
\n `,t=""):(e="",t='style="padding-bottom: 8px"'),`\n
\n
\n
\n
\n
\n
\n
\n ${this.title?`
${this.title}
`:""}\n\n
\n ${this.text?`

${this.text}

`:""}\n
\n\n ${e}\n
\n
\n
\n
\n
\n
\n `}dismiss(){this.onElement.removeChild(this.element),document.removeEventListener("keyup",this.keyupListener)}primaryButton(){let e=this.buttons.find((e=>!0===e.primary));return e||(e=this.buttons[this.buttons.length-1]),e}present({onElement:e}={}){e||(e=document.body),this.onElement=e,this.element=document.createElement("div"),this.element.className="sn-component",this.element.innerHTML=this.templateString().trim(),this.buttons&&(document.addEventListener("keyup",this.keyupListener),this.buttons.forEach(((e,t)=>{this.element.querySelector(`#button-${t}`).onclick=()=>{e.action&&e.action(),this.dismiss()}}))),e.appendChild(this.element)}}}},t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}return n.m=e,n.x=e=>{},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={388:0},t=[[754]],r=e=>{},i=(i,a)=>{for(var o,s,[u,c,l,f]=a,p=0,d=[];p{}),r}a.forEach(i.bind(null,0)),a.push=i.bind(null,a.push.bind(a));var s=n.x;n.x=()=>(n.x=s||(e=>{}),(r=o)())})(),n.x()})()},e.exports=t()},256:(e,t,n)=>{var r;self,e.exports=(r=n(974),(()=>{var e,t,n={156:e=>{self,e.exports=(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},t={};let n,r,i,a;var o;e.d(t,{default:()=>E}),function(e){e.SetSize="set-size",e.StreamItems="stream-items",e.StreamContextItem="stream-context-item",e.SaveItems="save-items",e.SelectItem="select-item",e.AssociateItem="associate-item",e.DeassociateItem="deassociate-item",e.ClearSelection="clear-selection",e.CreateItem="create-item",e.CreateItems="create-items",e.DeleteItems="delete-items",e.SetComponentData="set-component-data",e.InstallLocalComponent="install-local-component",e.ToggleActivateComponent="toggle-activate-component",e.RequestPermissions="request-permissions",e.PresentConflictResolution="present-conflict-resolution",e.DuplicateItem="duplicate-item",e.ComponentRegistered="component-registered",e.ActivateThemes="themes",e.Reply="reply",e.SaveSuccess="save-success",e.SaveError="save-error",e.ThemesActivated="themes-activated",e.KeyDown="key-down",e.KeyUp="key-up",e.Click="click"}(n||(n={})),function(e){e[e.Web=1]="Web",e[e.Desktop=2]="Desktop",e[e.Mobile=3]="Mobile"}(r||(r={})),function(e){e.Any="*",e.Item="SF|Item",e.RootKey="SN|RootKey|NoSync",e.ItemsKey="SN|ItemsKey",e.EncryptedStorage="SN|EncryptedStorage",e.Note="Note",e.Tag="Tag",e.SmartTag="SN|SmartTag",e.Component="SN|Component",e.Editor="SN|Editor",e.ActionsExtension="Extension",e.UserPrefs="SN|UserPreferences",e.HistorySession="SN|HistorySession",e.Theme="SN|Theme",e.Mfa="SF|MFA",e.ServerExtension="SF|Extension",e.FilesafeCredentials="SN|FileSafe|Credentials",e.FilesafeFileMetadata="SN|FileSafe|FileMetadata",e.FilesafeIntegration="SN|FileSafe|Integration",e.ExtensionRepo="SN|ExtensionRepo"}(i||(i={})),function(e){e.Pinned="pinned",e.Archived="archived",e.Locked="locked",e.UserModifiedDate="client_updated_at",e.DefaultEditor="defaultEditor",e.MobileRules="mobileRules",e.NotAvailableOnMobile="notAvailableOnMobile",e.MobileActive="mobileActive",e.LastSize="lastSize",e.PrefersPlainEditor="prefersPlainEditor",e.ComponentInstallError="installError"}(a||(a={}));var s=new Uint8Array(16);function u(){if(!o&&!(o="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return o(s)}const c=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,l=function(e){return"string"==typeof e&&c.test(e)};for(var f=[],p=0;p<256;++p)f.push((p+256).toString(16).substr(1));const d=function(e,t,n){var r=(e=e||{}).random||(e.rng||u)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(var i=0;i<16;++i)t[n+i]=r[i];return t}return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(f[e[t+0]]+f[e[t+1]]+f[e[t+2]]+f[e[t+3]]+"-"+f[e[t+4]]+f[e[t+5]]+"-"+f[e[t+6]]+f[e[t+7]]+"-"+f[e[t+8]]+f[e[t+9]]+"-"+f[e[t+10]]+f[e[t+11]]+f[e[t+12]]+f[e[t+13]]+f[e[t+14]]+f[e[t+15]]).toLowerCase();if(!l(n))throw TypeError("Stringified UUID is invalid");return n}(r)},h=e=>{var t;const n={[r.Web]:"web",[r.Desktop]:"desktop",[r.Mobile]:"mobile"};return null!==(t=n[e])&&void 0!==t?t:n[r.Web]},m=e=>null!=e,y=()=>{};class v{static get isSupported(){return!(!window.console&&!console)}static get info(){return v.isSupported&&this.enabled?console.log.bind(console):y}static get error(){return v.isSupported?console.error.bind(console):y}}var g,b,k,w;function x(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function S(e){for(var t=1;t0&&(this.initialPermissions=n),m(null==r?void 0:r.coallesedSaving)&&(this.coallesedSaving=r.coallesedSaving),m(null==r?void 0:r.coallesedSavingDelay)&&(this.coallesedSavingDelay=r.coallesedSavingDelay),m(null==r?void 0:r.acceptsThemes)&&(this.component.acceptsThemes=null===(o=null==r?void 0:r.acceptsThemes)||void 0===o||o),m(i)&&(this.onReadyCallback=i),m(a)&&(this.onThemesChangeCallback=a),v.enabled=null!==(t=null==r?void 0:r.debug)&&void 0!==t&&t}deinit(){this.onReadyCallback=void 0,this.component={acceptsThemes:!0,activeThemes:[]},this.messageQueue=[],this.sentMessages=[],this.lastStreamedItem=void 0,this.pendingSaveItems=void 0,this.pendingSaveTimeout=void 0,this.pendingSaveParams=void 0,this.messageHandler&&(this.contentWindow.document.removeEventListener("message",this.messageHandler),this.contentWindow.removeEventListener("message",this.messageHandler)),this.keyDownEventListener&&this.contentWindow.removeEventListener("keydown",this.keyDownEventListener),this.keyUpEventListener&&this.contentWindow.removeEventListener("keyup",this.keyUpEventListener),this.clickEventListener&&this.contentWindow.removeEventListener("click",this.clickEventListener)}registerMessageHandler(){this.messageHandler=e=>{if(v.info("Components API Message received:",e.data),document.referrer&&new URL(document.referrer).origin!==new URL(e.origin).origin)return;const{data:t}=e,r=(e=>{if("string"!=typeof e)return!1;try{const t=JSON.parse(e),n=Object.prototype.toString.call(t);return"[object Object]"===n||"[object Array]"===n}catch(e){return!1}})(t)?JSON.parse(t):t;if(r){if(void 0===this.component.origin&&r.action===n.ComponentRegistered)this.component.origin=e.origin;else if(e.origin!==this.component.origin)return;this.handleMessage(r)}else v.error("Invalid data received. Skipping...")},this.contentWindow.document.addEventListener("message",this.messageHandler,!1),this.contentWindow.addEventListener("message",this.messageHandler,!1),v.info("Waiting for messages...")}registerKeyboardEventListeners(){this.keyDownEventListener=e=>{v.info("A key has been pressed: ".concat(e.key)),e.ctrlKey?this.keyDownEvent(w.Ctrl):e.shiftKey?this.keyDownEvent(w.Shift):(e.metaKey||"Meta"===e.key)&&this.keyDownEvent(w.Meta)},this.keyUpEventListener=e=>{v.info("A key has been released: ".concat(e.key)),"Control"===e.key?this.keyUpEvent(w.Ctrl):"Shift"===e.key?this.keyUpEvent(w.Shift):"Meta"===e.key&&this.keyUpEvent(w.Meta)},this.contentWindow.addEventListener("keydown",this.keyDownEventListener,!1),this.contentWindow.addEventListener("keyup",this.keyUpEventListener,!1)}registerMouseEventListeners(){this.clickEventListener=e=>{v.info("A click has been performed."),this.mouseClickEvent()},this.contentWindow.addEventListener("click",this.clickEventListener,!1)}handleMessage(e){switch(e.action){case n.ComponentRegistered:this.component.sessionKey=e.sessionKey,e.componentData&&(this.component.data=e.componentData),this.onReady(e.data),v.info("Component successfully registered with payload:",e);break;case n.ActivateThemes:this.activateThemes(e.data.themes);break;default:{var t,r;if(!e.original)return;const n=null===(t=this.sentMessages)||void 0===t?void 0:t.filter((t=>{var n;return t.messageId===(null===(n=e.original)||void 0===n?void 0:n.messageId)}))[0];if(!n){const e=this.contentWindow.document.title,t=("The extension '".concat(e,"' is attempting to communicate with Standard Notes, ")+"but an error is preventing it from doing so. Please restart this extension and try again.").replace(" "," ");return void v.info(t)}null==n||null===(r=n.callback)||void 0===r||r.call(n,e.data);break}}}onReady(e){this.component.environment=e.environment,this.component.platform=e.platform,this.component.uuid=e.uuid,this.initialPermissions&&this.initialPermissions.length>0&&this.requestPermissions(this.initialPermissions);for(const e of this.messageQueue)this.postMessage(e.action,e.data,e.callback);this.messageQueue=[],v.info("Data passed to onReady:",e),this.activateThemes(e.activeThemeUrls||[]),this.postMessage(n.ThemesActivated,{}),this.onReadyCallback&&this.onReadyCallback()}getSelfComponentUUID(){return this.component.uuid}isRunningInDesktopApplication(){return this.component.environment===h(r.Desktop)}isRunningInMobileApplication(){return this.component.environment===h(r.Mobile)}getComponentDataValueForKey(e){if(this.component.data)return this.component.data[e]}setComponentDataValueForKey(e,t){if(!this.component.data)throw new Error("The component has not been initialized.");if(!e||e&&0===e.length)throw new Error("The key for the data value should be a valid string.");this.component.data=S(S({},this.component.data),{},{[e]:t}),this.postMessage(n.SetComponentData,{componentData:this.component.data})}clearComponentData(){this.component.data={},this.postMessage(n.SetComponentData,{componentData:this.component.data})}postMessage(e,t,n){if(!this.component.sessionKey)return void this.messageQueue.push({action:e,data:t,api:k.Component,callback:n});const r={action:e,data:t,messageId:this.generateUUID(),sessionKey:this.component.sessionKey,api:k.Component},i=JSON.parse(JSON.stringify(r));let a;i.callback=n,this.sentMessages.push(i),a=this.isRunningInMobileApplication()?JSON.stringify(r):r,v.info("Posting message:",a),this.contentWindow.parent.postMessage(a,this.component.origin)}requestPermissions(e,t){this.postMessage(n.RequestPermissions,{permissions:e},(()=>{t&&t()}))}activateThemes(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(!this.component.acceptsThemes)return;v.info("Incoming themes:",e);const{activeThemes:t}=this.component;if(t&&t.sort().toString()==e.sort().toString())return;let n=e;const r=[];for(const i of t)e.includes(i)?n=n.filter((e=>e!==i)):r.push(i);v.info("Deactivating themes:",r),v.info("Activating themes:",n);for(const e of r)this.deactivateTheme(e);this.component.activeThemes=e;for(const e of n){if(!e)continue;const t=this.contentWindow.document.createElement("link");t.id=btoa(e),t.href=e,t.type="text/css",t.rel="stylesheet",t.media="screen,print",t.className="custom-theme",this.contentWindow.document.getElementsByTagName("head")[0].appendChild(t)}this.onThemesChangeCallback&&this.onThemesChangeCallback()}themeElementForUrl(e){return Array.from(this.contentWindow.document.getElementsByClassName("custom-theme")).slice().find((t=>t.id==btoa(e)))}deactivateTheme(e){const t=this.themeElementForUrl(e);t&&t.parentNode&&(t.setAttribute("disabled","true"),t.parentNode.removeChild(t))}generateUUID(){return d()}get platform(){return this.component.platform}get environment(){return this.component.environment}streamItems(e,t){this.postMessage(n.StreamItems,{content_types:e},(e=>{t(e.items)}))}streamContextItem(e){this.postMessage(n.StreamContextItem,{},(t=>{const{item:n}=t;(!this.lastStreamedItem||this.lastStreamedItem.uuid!==n.uuid)&&this.pendingSaveTimeout&&(clearTimeout(this.pendingSaveTimeout),this.performSavingOfItems(this.pendingSaveParams),this.pendingSaveTimeout=void 0,this.pendingSaveParams=void 0),this.lastStreamedItem=n,e(this.lastStreamedItem)}))}selectItem(e){this.postMessage(n.SelectItem,{item:this.jsonObjectForItem(e)})}clearSelection(){this.postMessage(n.ClearSelection,{content_type:i.Tag})}createItem(e,t){this.postMessage(n.CreateItem,{item:this.jsonObjectForItem(e)},(e=>{let{item:n}=e;!n&&e.items&&e.items.length>0&&(n=e.items[0]),this.associateItem(n),t&&t(n)}))}createItems(e,t){const r=e.map((e=>this.jsonObjectForItem(e)));this.postMessage(n.CreateItems,{items:r},(e=>{t&&t(e.items)}))}associateItem(e){this.postMessage(n.AssociateItem,{item:this.jsonObjectForItem(e)})}deassociateItem(e){this.postMessage(n.DeassociateItem,{item:this.jsonObjectForItem(e)})}deleteItem(e,t){this.deleteItems([e],t)}deleteItems(e,t){const r={items:e.map((e=>this.jsonObjectForItem(e)))};this.postMessage(n.DeleteItems,r,(e=>{t&&t(e)}))}sendCustomEvent(e,t,n){this.postMessage(e,t,(e=>{n&&n(e)}))}saveItem(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.saveItems([e],t,n)}saveItemWithPresave(e,t,n){this.saveItemsWithPresave([e],t,n)}saveItemsWithPresave(e,t,n){this.saveItems(e,n,!1,t)}performSavingOfItems(e){let{items:t,presave:r,callback:i}=e;const a=setTimeout((()=>{this.concernTimeouts.forEach((e=>clearTimeout(e))),alert("This editor is unable to communicate with Standard Notes. Your changes may not be saved. Please backup your changes, then restart the application and try again.")}),5e3);this.concernTimeouts.push(a),r&&r();const o=[];for(const e of t)o.push(this.jsonObjectForItem(e));this.postMessage(n.SaveItems,{items:o},(()=>{this.concernTimeouts.forEach((e=>clearTimeout(e))),null==i||i()}))}saveItems(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0;if(this.pendingSaveItems||(this.pendingSaveItems=[]),this.coallesedSaving&&!n){this.pendingSaveTimeout&&clearTimeout(this.pendingSaveTimeout);const n=e.map((e=>e.uuid)),i=this.pendingSaveItems.filter((e=>!n.includes(e.uuid)));this.pendingSaveItems=i.concat(e),this.pendingSaveParams={items:this.pendingSaveItems,presave:r,callback:t},this.pendingSaveTimeout=setTimeout((()=>{this.performSavingOfItems(this.pendingSaveParams),this.pendingSaveItems=[],this.pendingSaveTimeout=void 0,this.pendingSaveParams=null}),this.coallesedSavingDelay)}else this.performSavingOfItems({items:e,presave:r,callback:t})}setSize(e,t){this.postMessage(n.SetSize,{type:"container",width:e,height:t})}keyDownEvent(e){this.postMessage(n.KeyDown,{keyboardModifier:e})}keyUpEvent(e){this.postMessage(n.KeyUp,{keyboardModifier:e})}mouseClickEvent(){this.postMessage(n.Click,{})}jsonObjectForItem(e){const t=Object.assign({},e);return t.children=null,t.parent=null,t}getItemAppDataValue(e,t){var n,r;return null==e||null===(n=e.content)||void 0===n||null===(r=n.appData)||void 0===r?void 0:r["org.standardnotes.sn"][t]}}return t.default})()},695:e=>{"use strict";e.exports=r}},i={};function a(e){var t=i[e];if(void 0!==t)return t.exports;var r=i[e]={exports:{}};return n[e](r,r.exports,a),r.exports}a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(n,r){if(1&r&&(n=this(n)),8&r)return n;if("object"==typeof n&&n){if(4&r&&n.__esModule)return n;if(16&r&&"function"==typeof n.then)return n}var i=Object.create(null);a.r(i);var o={};e=e||[null,t({}),t([]),t(t)];for(var s=2&r&&n;"object"==typeof s&&!~e.indexOf(s);s=t(s))Object.getOwnPropertyNames(s).forEach((e=>o[e]=()=>n[e]));return o.default=()=>n,a.d(i,o),i},a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return(()=>{"use strict";a.d(o,{default:()=>d});var e=a(156),t=a.n(e);const n=async e=>{await new Promise((t=>setTimeout(t,1e3*e)))};function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class i{constructor(e){this.options=e,r(this,"uuidToFileTempUrlAndTypeMapping",{}),r(this,"currentlyLoadingIds",[]),r(this,"statusElementMapping",{}),r(this,"fileTypeToElementType",{"image/png":"img","image/jpg":"img","image/jpeg":"img","image/gif":"img","image/tiff":"img","image/bmp":"img","video/mp4":"video","audio/mpeg":"audio","audio/mp3":"audio"})}fileTypeForElementType(e){return this.fileTypeToElementType[e.toLowerCase()]}loadFileSafeElements(){const e=this.options.getElementsBySelector("*[fsplaceholder]");for(const t of e)this.loadFileSafeElement(t)}async loadFileSafeElement(e){var t;const{fileSafeInstance:r}=this.options,i=e.getAttribute("fsid"),a=null!==(t=e.getAttribute("fsName"))&&void 0!==t?t:"",o=a&&"undefined"!=a?a:"file";if(!i)return!1;const s=this.uuidToFileTempUrlAndTypeMapping[i];if(s)return this.insertMediaElement({fsid:i,fsElement:e,url:s.url,fileType:s.fileType,fsName:s.fsName}),!1;if(this.currentlyLoadingIds.includes(i))return!1;const u=r.findFileDescriptor(i);if(!u)return this.setStatus({fsElement:e,fsid:i,status:"Unable to find ".concat(o," ").concat(i,"."),removable:!0}),!1;const c='[fsid="'.concat(u.uuid,'"][fscollapsable]');if(document.querySelectorAll("img".concat(c,", figure").concat(c,", video").concat(c,", audio").concat(c)).length>0)return!1;this.currentlyLoadingIds.push(i),this.setStatus({fsElement:e,fsid:i,status:"Downloading ".concat(o,"...")}),await n(.05);const l=await r.downloadFileFromDescriptor(u).catch((()=>{this.setStatus({fsElement:e,fsid:i,status:"Unable to download ".concat(o," ").concat(i,".")})}));if(!l)return!1;this.setStatus({fsElement:e,fsid:i,status:"Decrypting ".concat(o,"...")}),await n(.05);const f=await r.decryptFile({fileDescriptor:u,fileItem:l}).catch((()=>{this.setStatus({fsElement:e,fsid:i,status:"Unable to decrypt ".concat(o," ").concat(i,".")})}));if(!f)return!1;this.setStatus({fsElement:e,fsid:i}),await n(.05);const p=u.content.fileType,d=r.createTemporaryFileUrl({base64Data:f.decryptedData,dataType:p});return this.insertMediaElement({fsid:i,fileType:p,fsName:a,fsElement:e,url:d}),(()=>{this.currentlyLoadingIds.splice(this.currentlyLoadingIds.indexOf(i),1)})(),this.uuidToFileTempUrlAndTypeMapping[i]={fileType:p,url:d,fsName:a},!0}insertMediaElement(e){let t,{url:n,fsid:r,fsName:i,fileType:a,fsElement:o}=e;switch(this.fileTypeForElementType(a)){case"img":t=this.createImageElement({url:n,fsid:r,fsName:i,fsElement:o});break;case"video":t=this.createVideoElement({url:n,fsid:r,fileType:a,fsName:i,fsElement:o});break;case"audio":t=this.createAudioElement({url:n,fsid:r,fsName:i});break;default:t=this.createDownloadElement({url:n,fsid:r,fsName:i})}this.insertElementNearElement(t,o),o.remove()}wrapElementInTag(e){let{element:t,tagName:n,fsid:r,fsName:i}=e;const a=document.createElement(n);return a.setAttribute("fsid",r),a.setAttribute("fsName",i),a.setAttribute("fscollapsable","true"),a.setAttribute("contenteditable","true"),a.append(t),a}createImageElement(e){let{url:t,fsid:n,fsName:r,fsElement:i}=e;const a=document.createElement("img");a.setAttribute("src",t),a.setAttribute("srcset","".concat(t," 2x")),a.setAttribute("fsid",n),a.setAttribute("fsName",r),a.setAttribute("fscollapsable","true");const o=i.getAttribute("width");o&&a.setAttribute("width",o);const s=i.getAttribute("height");return s&&a.setAttribute("height",s),a}createVideoElement(e){let{url:t,fsid:n,fileType:r,fsName:i,fsElement:a}=e;const o=document.createElement("video");o.setAttribute("controls","true"),o.setAttribute("fsid",n),o.setAttribute("fsName",i),o.setAttribute("fscollapsable","true");const s=a.getAttribute("width");s&&o.setAttribute("width",s);const u=a.getAttribute("height");u&&o.setAttribute("height",u);const c=document.createElement("source");return c.setAttribute("src",t),c.setAttribute("type",r),o.append(c),this.wrapElementInTag({fsid:n,fsName:i,element:o,tagName:"p"})}createDownloadElement(e){let{url:t,fsid:n,fsName:r}=e;const i=document.createElement("a");return i.setAttribute("fsid",n),i.setAttribute("fsName",r),i.setAttribute("ghost","true"),i.setAttribute("fscollapsable","true"),i.setAttribute("href",t),i.textContent="".concat(r),i}createAudioElement(e){let{url:t,fsid:n,fsName:r}=e;const i=document.createElement("audio");return i.setAttribute("src",t),i.setAttribute("controls","true"),i.setAttribute("fsid",n),i.setAttribute("fsName",r),i.setAttribute("fscollapsable","true"),this.wrapElementInTag({fsid:n,fsName:r,element:i,tagName:"p"})}setStatus(e){let{status:t,fsElement:n,fsid:r,removable:i=!1}=e;if(r){const e=this.statusElementMapping[r];e&&(e.remove(),delete this.statusElementMapping[r])}if(t){let e=document.createElement("label");return e.setAttribute("id",r),e.setAttribute("ghost","true"),e.setAttribute("contenteditable","false"),e.style.fontWeight="bold",e.textContent=t,i&&(e.style.userSelect="all"),e=this.insertElementNearElement(e,n),r&&(this.statusElementMapping[r]=e),e}}insertStatusAtCursor(e){const t=Math.random().toString(36).substring(7);return this.setStatus({status:e,fsid:t,fsElement:null}),t}removeCursorStatus(e){const t=this.options.getElementsBySelector("#".concat(e));t.length>0&&t[0].remove()}insertElementNearElement(e,t){const n=this.options.preprocessElement(e);let r="child";if(t&&"figure"==n.tagName.toLowerCase()){const e=t.closest("p");e&&(t=e,r="afterend")}return this.options.insertElement(n,t,r),n}}class s{constructor(e){this.options=e}onKeyUp(e){let{isEnter:t,isPaste:n,isSpace:r}=e;(t||n||r)&&this.searchPatterns({searchPreviousLine:null!=t&&t})}searchPatterns(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{searchPreviousLine:!1};const t=e.searchPreviousLine?this.options.getPreviousLineText():this.options.getCurrentLineText();for(const n of this.options.patterns){const r=n.regex.exec(t);if(!r)continue;const i=r[0];if(i){const t=n.callback(i);this.replaceSelection(n.regex,t,e.searchPreviousLine)}}}replaceSelection(e,t,n){var r,i,a;null!==(r=this.options)&&void 0!==r&&r.beforeExpand&&this.options.beforeExpand(),this.options.replaceText({regex:e,replacement:t,searchPreviousLine:n}),null!==(i=this.options)&&void 0!==i&&i.afterExpand&&(null===(a=this.options)||void 0===a||a.afterExpand())}}const u=/(

)?\[FileSafe[^\]]*\](<\/p>)?/g,c=e=>e.replace(u,(e=>f(e))),l=e=>"[FileSafe:".concat(e.uuid,":").concat(e.content.fileName,"]"),f=e=>{const t=(e=(e=(e=e.replace("

","")).replace("

","")).replace("[","").replace("]","")).split(":"),n=t[1],r=t[2],i=t[3];let a="";if(i){const e=i.split("x");a="width=".concat(e[0]," height=").concat(e[1])}return"

")};function p(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class d{constructor(e,t){this.delegate=e,this.options=t,p(this,"fileIdsPendingAssociation",[]),p(this,"componentRelay",void 0),p(this,"fileLoader",void 0),p(this,"textExpander",void 0),p(this,"fileSafeLoading",void 0),p(this,"fileSafeClass",void 0),p(this,"fileSafeInstance",void 0),p(this,"note",void 0),p(this,"ignoreNextTextChange",void 0),p(this,"needsFileSafeElementLoad",void 0),p(this,"previousText",void 0),this.connectToBridge(),this.options.supportsFileSafe&&(this.fileSafeLoading=this.importFileSafe())}connectToBridge(){const{coallesedSaving:e,coallesedSavingDelay:n,mode:r,supportsFileSafe:i}=this.options;this.componentRelay=new(t())({targetWindow:window,options:{coallesedSaving:e,coallesedSavingDelay:n},onReady:()=>{const{platform:e}=this.componentRelay;e&&document.documentElement.classList.add(e)},onThemesChange:this.delegate.onThemesChange}),this.componentRelay.streamContextItem((async e=>{let t=!0;this.note&&this.note.uuid==e.uuid&&(t=!1);const n=this.note;if(i){const t=this.fileSafeClass.getSFItemClass();this.note=new t(e),this.fileSafeInstance.setCurrentNote(this.note)}else this.note=e;if(e.isMetadataUpdate)return;let a=e.content.text;if("html"===r&&t&&(/<[a-z][\s\S]*>/i.test(a)||(this.ignoreNextTextChange=!0)),this.previousText=a,i&&(this.needsFileSafeElementLoad=!0,a=c(a)),this.delegate.onNoteValueChange&&await this.delegate.onNoteValueChange(e),this.delegate.setEditorRawText(a),this.delegate.onNoteLockToggle){var o,s;const e=null!==(o=this.componentRelay.getItemAppDataValue(n,"locked"))&&void 0!==o&&o,t=null!==(s=this.componentRelay.getItemAppDataValue(this.note,"locked"))&&void 0!==s&&s;e!==t&&this.delegate.onNoteLockToggle(t)}var u,l;t&&(null===(u=(l=this.delegate).clearUndoHistory)||void 0===u||u.call(l))}))}async importFileSafe(){return Promise.resolve().then(a.t.bind(a,695,23)).then((e=>(this.fileSafeClass=e.default,this.configureFileSafe(),this.fileSafeInstance)))}configureFileSafe(){const e=["getCurrentLineText","getPreviousLineText","replaceText","getElementsBySelector","insertElement","preprocessElement","insertRawText"];for(const t of e)if(!this.delegate[t])throw Error("Missing ".concat(t," delegate function."));this.fileSafeInstance=new this.fileSafeClass({componentManager:this.componentRelay}),this.fileSafeInstance.addDataChangeObserver((()=>{const e=this.fileSafeInstance.getAllFileDescriptors();if(this.note&&this.fileIdsPendingAssociation.length>0){let t=!1;for(const n of this.fileIdsPendingAssociation.slice()){const r=e.find((e=>e.uuid==n));if(!r)continue;t=!0,this.fileIdsPendingAssociation.splice(this.fileIdsPendingAssociation.indexOf(n),1);const i=l(r);this.delegate.insertRawText(i)}t&&this.textExpander.searchPatterns()}e.length>0&&this.fileLoader.loadFileSafeElements()})),this.fileSafeInstance.addNewFileDescriptorHandler((e=>{this.fileIdsPendingAssociation.push(e.uuid)})),this.fileLoader=new i({fileSafeInstance:this.fileSafeInstance,getElementsBySelector:this.delegate.getElementsBySelector,insertElement:this.delegate.insertElement,preprocessElement:this.delegate.preprocessElement}),this.textExpander=new s({afterExpand:()=>this.fileLoader.loadFileSafeElements(),getCurrentLineText:this.delegate.getCurrentLineText,getPreviousLineText:this.delegate.getPreviousLineText,replaceText:this.delegate.replaceText,patterns:[{regex:u,callback:e=>c(e)}]})}async getFileSafe(){return!this.fileSafeInstance&&this.fileSafeLoading?this.fileSafeLoading:this.importFileSafe()}onEditorKeyUp(e){let{isSpace:t,isEnter:n}=e;this.textExpander.onKeyUp({isSpace:t,isEnter:n})}onEditorPaste(){this.textExpander.onKeyUp({isPaste:!0})}onEditorValueChanged(e){const{mode:t,supportsFileSafe:n}=this.options;if(this.needsFileSafeElementLoad&&(this.needsFileSafeElementLoad=!1,this.fileLoader.loadFileSafeElements()),this.ignoreNextTextChange)return void(this.ignoreNextTextChange=!1);if(n&&(e=(e=>{const t=(new DOMParser).parseFromString(e,"text/html"),n=t.querySelectorAll("*[fscollapsable]");for(const e of n){const t=e.getAttribute("fsid"),n=e.getAttribute("fsname"),r=e.getAttribute("width"),i=e.getAttribute("height"),a=["FileSafe",t,n];if(r&&i){const e="".concat(r,"x").concat(i);a.push(e)}const o="

[".concat(a.join(":"),"]

");e.insertAdjacentHTML("afterend",o),e.remove()}return t.querySelectorAll("*[ghost]").forEach((e=>e.remove())),t.body.innerHTML})(e),this.previousText==e))return;if(this.previousText=e,!this.note)return;const r=this.note;this.componentRelay.saveItemWithPresave(r,(()=>{if(r.content.text=e,this.delegate.generateCustomPreview){var n;const t=this.delegate.generateCustomPreview(e);r.content.preview_plain=null!==(n=t.plain)&&void 0!==n?n:" ",r.content.preview_html=t.html}else{if("html"===t){let t=e.replace(u,(e=>""));t=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:90;return e.length<=t?e:e.substring(0,t)+"..."}((e=>{const t=document.implementation.createHTMLDocument().body;return t.innerHTML=e,t.textContent||t.innerText||""})(t)),r.content.preview_plain=t.length>0?t:" "}else r.content.preview_plain=e;r.content.preview_html=null}}))}canUploadFiles(){const e=this.fileSafeInstance.getAllCredentials(),t=this.fileSafeInstance.getAllIntegrations();return e.length>0&&t.length>0}async uploadJSFileObject(e){const t=this.fileLoader.insertStatusAtCursor("Processing file...");return this.fileSafeInstance.encryptAndUploadJavaScriptFileObject(e).then((()=>{this.fileLoader.removeCursorStatus(t)}))}saveItemWithPresave(e,t){this.componentRelay.saveItemWithPresave(e,t)}get platform(){return this.componentRelay.platform}get environment(){return this.componentRelay.environment}canUseFileSafe(){return this.fileSafeInstance.hasLegacyAccess()}}})(),o.default})())},742:(e,t,n)=>{e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=14)}([function(e,t){e.exports=n(886)},function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},function(e,t,n){e.exports=n(13)},function(e,t){function n(t){return e.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},n(t)}e.exports=n},function(e,t){function n(e,t){for(var n=0;n=0;--i){var a=this.tryEntries[i],o=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var s=n.call(a,"catchLoc"),u=n.call(a,"finallyLoc");if(s&&u){if(this.prev=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),w(n),c}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;w(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:S(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),c}},e}(e.exports);try{regeneratorRuntime=r}catch(e){Function("r","regeneratorRuntime = r")(r)}},function(e,t,n){"use strict";n.r(t);var r=n(0),i=n.n(r),a=n(10),o=n.n(a),s=n(6),u=n.n(s),c=n(5),l=n.n(c),f=n(7),p=n.n(f),d=n(8),h=n.n(d),m=n(4),y=n.n(m),v=n(2),g=n.n(v),b=n(1),k=n.n(b);function w(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return x(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?x(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function x(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&!t.content.isDefault&&i.a.createElement("a",{className:"info",onClick:function(){e.setCredentialAsDefault(t)}},"Make Default"),i.a.createElement("a",{className:"info",onClick:function(){e.exportCredential(t)}},"Export"),i.a.createElement("a",{className:"danger",onClick:function(){e.deleteCredential(t)}},"Delete")))))}))))}}]),n}(i.a.Component),E=n(3),C=n.n(E),I=n(9),R=n.n(I),T=function(){function e(t){var n=t.credentialManager,r=t.integrationManager;u()(this,e),this.credentialManager=n,this.integrationManager=r}var t;return l()(e,[{key:"getMessages",value:(t=R()(C.a.mark((function e(){var t,n;return C.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=[],e.next=3,this.credentialManager.getDefaultCredentials();case 3:return e.sent||t.push({message:"Create keys by selecting Create New under Keys.",css:"sk-base"}),(n=this.integrationManager.integrations)&&0!=n.length||t.push({message:"Add a new integration by selecting Add New under Integrations",css:"sk-base"}),e.abrupt("return",t);case 8:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}();var D=function(e){p()(n,e);var t=function(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=y()(e);if(t){var i=y()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return h()(this,n)}}(n);function n(e){var r;return u()(this,n),(r=t.call(this,e)).state={},r}return l()(n,[{key:"render",value:function(){return i.a.createElement("div",{id:"messages"},i.a.createElement("div",{className:"title"},"Complete the following steps before uploading your first file:"),i.a.createElement("ul",null,this.props.messages.map((function(e){return i.a.createElement("li",{dangerouslySetInnerHTML:{__html:e.message},className:e.css})}))))}}]),n}(i.a.Component);var A=function(e){p()(n,e);var t=function(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=y()(e);if(t){var i=y()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return h()(this,n)}}(n);function n(e){var r;return u()(this,n),r=t.call(this,e),k()(g()(r),"setStatusForFile",(function(e,t,n){r.setState({fileStatusFile:e,fileStatus:t,hasStatusSpinner:n})})),k()(g()(r),"decryptFileDescriptor",function(){var e=R()(C.a.mark((function e(t){var n,i;return C.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=S.get().filesafe.integrationForFileDescriptor(t)){e.next=4;break}return alert("Unable to find integration for file. If you have deleted the integration, please re-add it and try again."),e.abrupt("return");case 4:return i=S.get().filesafe.displayStringForIntegration(n),r.setStatusForFile(t,"Downloading from ".concat(i,"..."),!0),e.abrupt("return",S.get().filesafe.downloadFileFromDescriptor(t).then((function(e){return r.setStatusForFile(t,"Decrypting...",!0),S.get().filesafe.decryptFile({fileDescriptor:t,fileItem:e}).then((function(e){return{base64Data:e.decryptedData,fileName:t.content.fileName,fileType:t.content.fileType}})).catch((function(e){console.error("filesafe-embed | error decrypting file:",e),r.flashErrorForFileDescriptor(t,"Error decrypting file.")}))})).catch((function(e){console.error("Error downloading file",e),r.flashErrorForFileDescriptor(t,"Error downloading file.")})));case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),k()(g()(r),"downloadFile",function(){var e=R()(C.a.mark((function e(t){var n,i;return C.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!r.isMobile){e.next=5;break}return n=S.get().filesafe.getPlatform(),alert("Downloading files is not currently supported on ".concat("ios"==n?"iOS":"Android",".")),e.abrupt("return");case 5:return e.next=7,r.decryptFileDescriptor(t);case 7:if(i=e.sent){e.next=11;break}return console.error("decryptFile returned nil data"),e.abrupt("return");case 11:S.get().filesafe.downloadBase64Data(i),r.setStatusForFile(t,null);case 13:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),k()(g()(r),"previewFile",function(){var e=R()(C.a.mark((function e(t){var n,i;return C.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,r.decryptFileDescriptor(t);case 2:n=e.sent,i=S.get().filesafe.createTemporaryFileUrl({base64Data:n.base64Data,dataType:n.fileType}),r.setStatusForFile(t,null),r.setState({previewUrl:i,previewingFile:t});case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),k()(g()(r),"onClickPreview",(function(){setTimeout((function(){r.revokePreview()}),500)})),k()(g()(r),"selectFile",(function(e,t){e.target.focus(),r.state.selectedFile==t?(r.setState({selectedFile:null}),r.delegate.onSelectFile&&r.delegate.onSelectFile(null)):(r.setState({selectedFile:t}),r.delegate.onSelectFile&&r.delegate.onSelectFile(t)),r.revokePreview()})),k()(g()(r),"deleteFile",(function(e){S.get().filesafe.deleteFileFromDescriptor(e)})),k()(g()(r),"copyInsertionLink",(function(e){var t="[FileSafe:".concat(e.uuid,":").concat(e.content.fileName,"]");S.get().filesafe.copyTextToClipboard(t),r.setState({copiedLink:e}),setTimeout((function(){r.setState({copiedLink:null})}),1e3)})),k()(g()(r),"isFileSelected",(function(e){return r.state.selectedFile==e})),k()(g()(r),"elementForFile",(function(e){var t,n=S.get().filesafe.integrationForFileDescriptor(e);t=n?S.get().filesafe.displayStringForIntegration(n):"Integration Not Found";var a=e.content.serverMetadata.file_path,o=r.state.previewUrl&&r.state.previewingFile==e,s=r.state.fileStatusFile==e&&r.state.fileStatus,u=r.state.hasStatusSpinner;return i.a.createElement("div",{className:"file-item-container "+(r.isFileSelected(e)?"expanded":"")},i.a.createElement("div",{onClick:function(t){r.selectFile(t,e)},className:"file-item-button sk-button info "+(r.isFileSelected(e)?"selected":void 0)},i.a.createElement("div",{className:"sk-label"},e.content.fileName),s&&i.a.createElement("div",{className:"file-download-status sk-horizontal-group"},u&&i.a.createElement("div",{className:"sk-spinner x-small"}),i.a.createElement("div",{className:"file-status-label"},r.state.fileStatus)),r.isFileSelected(e)&&i.a.createElement("div",{className:"file-item-options-wrapper"},i.a.createElement("div",{onClick:function(e){e.stopPropagation()},className:"sk-app-bar file-item-options"},i.a.createElement("div",{className:"center"},i.a.createElement("div",{onClick:function(t){t.stopPropagation(),r.downloadFile(e)},className:"sk-app-bar-item"},i.a.createElement("div",{className:"sk-label contrast "+(r.isMobile?"disabled":"")},"Download")),i.a.createElement("div",{className:"sk-app-bar-item border"}),r.supportsPreviews&&o&&i.a.createElement("a",{className:"sk-app-bar-item",href:r.state.previewUrl,onClick:function(e){e.stopPropagation(),r.onClickPreview()},target:"_blank"},i.a.createElement("div",{className:"sk-label contrast"},"Open Preview")),r.supportsPreviews&&!o&&i.a.createElement("div",{onClick:function(t){t.stopPropagation(),r.previewFile(e)},className:"sk-app-bar-item"},i.a.createElement("div",{className:"sk-label contrast "+(r.isMobile?"disabled":"")},"Preview")),r.supportsPreviews&&i.a.createElement("div",{className:"sk-app-bar-item border"}),i.a.createElement("div",{onClick:function(t){t.stopPropagation(),r.copyInsertionLink(e)},className:"sk-app-bar-item"},i.a.createElement("div",{className:"sk-label contrast"},r.state.copiedLink==e?"Copied":"Copy Insert Link")),i.a.createElement("div",{className:"sk-app-bar-item border"}),i.a.createElement("div",{onClick:function(t){t.stopPropagation(),r.deleteFile(e)},className:"sk-app-bar-item"},i.a.createElement("div",{className:"sk-label contrast"},"Delete")))),i.a.createElement("div",{className:"file-location"},i.a.createElement("strong",null,t),i.a.createElement("span",null," ",a)))))})),r.state={},r.delegate=S.get().getDelegate(),r}return l()(n,[{key:"revokePreview",value:function(){this.state.previewUrl&&S.get().filesafe.revokeTempUrl(this.state.previewUrl),this.setState({previewUrl:null,previewingFile:null})}},{key:"flashErrorForFileDescriptor",value:function(e,t){var n=this;this.setStatusForFile(e,t,!1),setTimeout((function(){n.setStatusForFile(null)}),2500)}},{key:"render",value:function(){var e=this;return this.props.files.map((function(t){return e.elementForFile(t)}))}},{key:"supportsPreviews",get:function(){if(void 0!==this._supportsPreview)return this._supportsPreview;var e=S.get().filesafe.getEnvironment();if(null==e)return!1;this._supportsPreview="web"==e}},{key:"isMobile",get:function(){return S.get().filesafe.isMobile()}}]),n}(i.a.Component);function F(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return O(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?O(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n5e7)){r.next=14;break}return alert("The maximum upload size is ".concat(50," megabytes per file.")),n.setState({status:null}),e(),r.abrupt("return");case 14:return r.next=16,SFJS.crypto.arrayBufferToBase64(u);case 16:return c=r.sent,r.next=19,n.encryptFile(c,t.name,t.type);case 19:e();case 20:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}(),n.setState({status:"Reading file..."}),t.name.endsWith(".sf")||t.name.endsWith(".json")?(a=!0,i.readAsText(t)):i.readAsArrayBuffer(t)})));case 4:case"end":return e.stop()}}),e)}))),function(e){return a.apply(this,arguments)})},{key:"decryptDraggedFile",value:(r=R()(C.a.mark((function e(t){var n,r,i,a,o,s=this;return C.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.setState({status:"Decrypting..."}),n=S.get().filesafe.getAllCredentials(),r=function(){var e=R()(C.a.mark((function e(n){return C.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,r){S.get().filesafe.decryptFile({fileItem:t,credential:n}).then((function(t){var n=t.decryptedItem;S.get().filesafe.downloadBase64Data({base64Data:t.decryptedData,fileName:n.content.fileName,fileType:n.content.fileType}),s.setState({status:null}),e(!0)})).catch((function(e){console.error("Error decrypting:",e),s.flashError("Error decrypting file."),r(!1)}))})));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),i=F(n),e.prev=4,i.s();case 6:if((a=i.n()).done){e.next=15;break}return o=a.value,e.next=10,r(o);case 10:if(!e.sent){e.next=13;break}return e.abrupt("return");case 13:e.next=6;break;case 15:e.next=20;break;case 17:e.prev=17,e.t0=e.catch(4),i.e(e.t0);case 20:return e.prev=20,i.f(),e.finish(20);case 23:case"end":return e.stop()}}),e,this,[[4,17,20,23]])}))),function(e){return r.apply(this,arguments)})},{key:"wait",value:(n=R()(C.a.mark((function e(t){return C.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){setTimeout((function(){e()}),1e3*t)})));case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"encryptFile",value:(t=R()(C.a.mark((function e(t,n,r){var i,a,o=this;return C.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=S.get().filesafe.getDefaultCredentials()){e.next=5;break}return this.setState({status:null}),alert("Please set up at least one key before attempting to upload a file. To do this, press Expand, and select Create New in the Keys section."),e.abrupt("return");case 5:if(a=S.get().filesafe.getDefaultIntegration()){e.next=10;break}return this.setState({status:null}),alert("Please set up at least one integration before attempting to upload a file. To do this, press Expand, and select Add New in the Integrations section."),e.abrupt("return");case 10:return this.setState({status:"Encrypting..."}),e.abrupt("return",S.get().filesafe.encryptFile({data:t,inputFileName:n,fileType:r,credential:i}).then(function(){var e=R()(C.a.mark((function e(t){return C.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o.setState({status:"Uploading to ".concat(S.get().filesafe.displayStringForIntegration(a),"...")}),e.next=3,o.wait(.5);case 3:return e.abrupt("return",S.get().filesafe.uploadFile({fileItem:t,inputFileName:n,fileType:r,credential:i}).then((function(){o.setState({status:"Upload Success."}),setTimeout((function(){o.setState({status:null})}),2e3)})).catch((function(e){console.error("fs-embed | error uploading file:",e),o.flashError("Error uploading file.")})));case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 12:case"end":return e.stop()}}),e,this)}))),function(e,n,r){return t.apply(this,arguments)})},{key:"flashError",value:function(e){var t=this;this.setState({status:e,statusClass:"danger"}),setTimeout((function(){t.setState({status:null,statusClass:null})}),2500)}},{key:"render",value:function(){var e=this,t=this.state.statusClass?this.state.statusClass:"info",n="info"==t;return i.a.createElement("div",{className:"sn-component files-view"},i.a.createElement("div",{className:"sk-panel-row align-top"},i.a.createElement("div",{className:"files"},this.state.messages.length>0&&i.a.createElement("div",{id:"messages-container",className:"sk-panel-section"},i.a.createElement(D,{messages:this.state.messages})),this.state.status&&i.a.createElement("div",{id:"file-upload-status",className:"sk-horizontal-group"},n&&i.a.createElement("div",{className:"sk-spinner info small"}),i.a.createElement("div",{className:t},this.state.status)),i.a.createElement("div",{id:"add-file-button-container"},i.a.createElement("div",{className:"file sk-button info"},i.a.createElement("label",{className:"no-style"},i.a.createElement("input",{type:"file",style:{display:"none"},onChange:function(t){e.handleDroppedFiles(t.target.files)}}),i.a.createElement("div",{id:"attach-file-button-label",className:"sk-label"},"Attach File")))),i.a.createElement(A,{files:this.state.noteFiles}))))}},{key:"rootElement",get:function(){return document.getElementById("filesafe-embed")}},{key:"dropContainer",get:function(){return document.getElementById("files-view")}},{key:"fileInput",get:function(){return document.getElementById("file-input")}}]),c}(i.a.Component);var P=function(e){p()(n,e);var t=function(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=y()(e);if(t){var i=y()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return h()(this,n)}}(n);function n(e){var r;return u()(this,n),r=t.call(this,e),k()(g()(r),"toggleVisibility",(function(){r.setState({expanded:!r.state.expanded})})),r.state={expanded:!1,files:S.get().filesafe.getAllFileDescriptors()||[]},S.get().addDataChangeObserver((function(){r.setState({files:S.get().filesafe.getAllFileDescriptors()})})),r}return l()(n,[{key:"render",value:function(){return i.a.createElement("div",{className:"files-view"},i.a.createElement("div",{className:"sk-panel-row justify-left"},i.a.createElement("div",{className:"sk-horizontal-group"},i.a.createElement("div",{className:"sk-panel-section-title"},"All Files ",i.a.createElement("span",{style:{fontWeight:"normal"}},"(",this.state.files.length,")")),i.a.createElement("a",{className:"info",onClick:this.toggleVisibility},this.state.expanded?"Hide":"Show"))),this.state.expanded&&i.a.createElement("div",{className:"sk-panel-row"},i.a.createElement("div",{className:"files"},i.a.createElement(A,{files:this.state.files}))))}}]),n}(i.a.Component);var N=function(e){p()(n,e);var t=function(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=y()(e);if(t){var i=y()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return h()(this,n)}}(n);function n(e){var r;return u()(this,n),r=t.call(this,e),k()(g()(r),"handleKeyPress",(function(e){"Enter"===e.key&&r.submitIntegrationCode()})),k()(g()(r),"handleTextChange",(function(e){var t=e.target.value;r.setState({integrationCode:t})})),k()(g()(r),"submitIntegrationCode",(function(){var e=r.state.integrationCode;e&&0!=e.length&&S.get().filesafe.saveIntegrationFromCode(e).then((function(){r.setState({integrationCode:null,showInputForm:!1}),r.reloadIntegrations()})).catch((function(){alert("Invalid integration code. Ensure the correct value is copied and try again.")}))})),k()(g()(r),"addNewIntegrationClicked",(function(){window.open(S.get().defaultRelayServerUrl(),"_blank"),r.setState({showInputForm:!0})})),k()(g()(r),"cancelIntegrationForm",(function(){r.setState({showInputForm:!1})})),k()(g()(r),"deleteIntegration",(function(e){S.get().filesafe.deleteIntegration(e)})),k()(g()(r),"setIntegrationAsDefaultUploadSource",(function(e){S.get().filesafe.setIntegrationAsDefault(e)})),r.state={integrations:S.get().filesafe.getAllIntegrations()||[]},S.get().addDataChangeObserver((function(){r.reloadIntegrations()})),r}return l()(n,[{key:"reloadIntegrations",value:function(){var e=S.get().filesafe.getAllIntegrations();this.setState({integrations:e})}},{key:"componentDidMount",value:function(){}},{key:"componentWillUnmount",value:function(){}},{key:"displayStringForIntegration",value:function(e){return S.get().filesafe.displayStringForIntegration(e)}},{key:"render",value:function(){var e=this,t=this.state.integrations.length>1;return i.a.createElement("div",null,i.a.createElement("div",{className:"sk-panel-row"},i.a.createElement("div",{className:"sk-h2 sk-bold"},"Integrations"),!this.state.showInputForm&&i.a.createElement("div",{className:"sk-button info no-border",onClick:this.addNewIntegrationClicked},i.a.createElement("div",{className:"sk-label"},"Add New"))),i.a.createElement("div",{id:"integrations"},this.state.showInputForm&&i.a.createElement("div",{className:"sk-notification info"},i.a.createElement("strong",null,"New Integration"),i.a.createElement("p",{className:"sk-p"},"A new browser tab has opened—if not, try ",i.a.createElement("a",{href:S.get().defaultRelayServerUrl(),target:"_blank"},"this link"),". Complete the authentication flow and enter the code you receive below."),i.a.createElement("div",{className:"sk-panel-row"}),i.a.createElement("input",{className:"title sk-input contrast",type:"text",placeholder:"Enter integration code",value:this.state.integrationCode,onChange:this.handleTextChange,onKeyPress:this.handleKeyPress}),i.a.createElement("div",{className:"sk-button-group",style:{marginTop:10}},i.a.createElement("div",{className:"sk-button neutral",onClick:this.cancelIntegrationForm},i.a.createElement("a",{className:"sk-label"},"Cancel")),i.a.createElement("div",{className:"sk-button sk-base",onClick:this.submitIntegrationCode},i.a.createElement("a",{className:"sk-label"},"Submit"))))),i.a.createElement("div",{className:"list-container"},this.state.integrations.map((function(n){return i.a.createElement("div",{className:"list-item sk-horizontal-group top"},i.a.createElement("div",{className:"sk-circle x-small "+(n.content.isDefaultUploadSource?"info":"sk-secondary-contrast")}),i.a.createElement("div",null,i.a.createElement("div",{className:"sk-panel-row condensed sk-bold"},e.displayStringForIntegration(n)),i.a.createElement("div",{className:"sk-panel-row condensed"},i.a.createElement("div",{className:"sk-horizontal-group"},t&&!n.content.isDefaultUploadSource&&i.a.createElement("a",{className:"info",onClick:function(){e.setIntegrationAsDefaultUploadSource(n)}},"Make Default"),i.a.createElement("a",{className:"danger",onClick:function(){e.deleteIntegration(n)}},"Delete")))))}))))}}]),n}(i.a.Component);var L=function(e){p()(n,e);var t=function(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=y()(e);if(t){var i=y()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return h()(this,n)}}(n);function n(e){var r;return u()(this,n),(r=t.call(this,e)).state={hasLegacyAccess:!1},S.get().addDataChangeObserver((function(){r.setState({hasLegacyAccess:S.get().filesafe.hasLegacyAccess()})})),r}return l()(n,[{key:"render",value:function(){return this.state.hasLegacyAccess?i.a.createElement("div",{id:"home",className:"sk-panel static"},i.a.createElement("div",{id:"main-content",className:"sk-panel-content"},i.a.createElement("div",{className:"sk-panel-section"},i.a.createElement(M,null)),i.a.createElement("div",{className:"sk-panel-section"},i.a.createElement(N,null)),i.a.createElement("div",{className:"sk-panel-section"},i.a.createElement(_,null)),i.a.createElement("div",{className:"sk-panel-section"},i.a.createElement(P,null)))):i.a.createElement("div",{id:"home",className:"sk-panel static"},i.a.createElement("div",{id:"main-content",className:"sk-panel-content"},i.a.createElement("div",{className:"sk-panel-section"},i.a.createElement("div",{class:"sk-notification danger"},i.a.createElement("div",{class:"sk-notification-title"},"Deprecated"),i.a.createElement("div",{class:"sk-notification-text"},i.a.createElement("p",{className:"sk-p"},"FileSafe is deprecated and no longer offered to new users as of February 9th, 2022."),i.a.createElement("p",{className:"sk-p"},"Existing users who have the extension installed, will continue to have access to it indefinitely."))))))}}]),n}(i.a.Component);var j=function(e){p()(n,e);var t=function(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=y()(e);if(t){var i=y()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return h()(this,n)}}(n);function n(e){return u()(this,n),t.call(this,e)}return l()(n,null,[{key:"renderInElement",value:function(e,t,r){S.get().setFilesafeInstance(t),S.get().setDelegate(r),o.a.render(i.a.createElement(n),e)}},{key:"unload",value:function(e){S.get().unload(),o.a.unmountComponentAtNode(e)}}]),l()(n,[{key:"render",value:function(){return i.a.createElement("div",{id:"filesafe-embed"},i.a.createElement("div",{className:"sn-component"},i.a.createElement(L,null)))}}]),n}(i.a.Component);t.default={FilesafeEmbed:j,React:i.a,ReactDOM:o.a}}])},470:e=>{"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;function i(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,a){for(var o,s,u=i(e),c=1;c{"use strict";var r=n(886),i=n(470),a=n(404);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n

>>0?1:0),w=u.low=w+L,u.high=k+N+(w>>>0>>0?1:0),S=c.low=S+B,c.high=x+j+(S>>>0>>0?1:0),E=l.low=E+U,l.high=_+z+(E>>>0>>0?1:0),I=f.low=I+K,f.high=C+H+(I>>>0>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[30+(r+128>>>10<<5)]=Math.floor(n/4294967296),t[31+(r+128>>>10<<5)]=n,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32}),t.SHA512=n._createHelper(a),t.HmacSHA512=n._createHmacHelper(a)}(),s=(o=u).enc.Utf8,o.algo.HMAC=o.lib.Base.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=s.parse(t));var n=e.blockSize,r=4*n;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),a=this._iKey=t.clone(),o=i.words,u=a.words,c=0;c>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],r=0;r>>2]>>>24-r%4*8&255;n.push((i>>>4).toString(16)),n.push((15&i).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new o.init(n,t/2)}},c=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new o.init(n,t)}},l=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=r.BufferedBlockAlgorithm=a.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=l.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,r=n.words,i=n.sigBytes,a=this.blockSize,s=i/(4*a);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var u=0;uc;c++){if(16>c)r[c]=0|e[t+c];else{var l=r[c-3]^r[c-8]^r[c-14]^r[c-16];r[c]=l<<1|l>>>31}l=(i<<5|i>>>27)+u+r[c],l=20>c?l+(1518500249+(a&o|~a&s)):40>c?l+(1859775393+(a^o^s)):60>c?l+((a&o|a&s|o&s)-1894007588):l+((a^o^s)-899497514),u=s,s=o,o=a<<30|a>>>2,a=i,i=l}n[0]=n[0]+i|0,n[1]=n[1]+a|0,n[2]=n[2]+o|0,n[3]=n[3]+s|0,n[4]=n[4]+u|0},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[14+(r+64>>>9<<4)]=Math.floor(n/4294967296),t[15+(r+64>>>9<<4)]=n,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});e.SHA1=n._createHelper(i),e.HmacSHA1=n._createHmacHelper(i)}(),function(){var e=u,t=e.enc.Utf8;e.algo.HMAC=e.lib.Base.extend({init:function(e,n){e=this._hasher=new e.init,"string"==typeof n&&(n=t.parse(n));var r=e.blockSize,i=4*r;n.sigBytes>i&&(n=e.finalize(n)),n.clamp();for(var a=this._oKey=n.clone(),o=this._iKey=n.clone(),s=a.words,u=o.words,c=0;c>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],r=0;r>>2]>>>24-r%4*8&255;n.push((i>>>4).toString(16)),n.push((15&i).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new o.init(n,t/2)}},c=s.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new o.init(n,t)}},l=s.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},f=r.BufferedBlockAlgorithm=a.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=l.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,r=n.words,i=n.sigBytes,a=this.blockSize,s=i/(4*a);if(t=(s=t?e.ceil(s):e.max((0|s)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var u=0;uc;c++){if(16>c)r[c]=0|e[t+c];else{var l=r[c-3]^r[c-8]^r[c-14]^r[c-16];r[c]=l<<1|l>>>31}l=(i<<5|i>>>27)+u+r[c],l=20>c?l+(1518500249+(a&o|~a&s)):40>c?l+(1859775393+(a^o^s)):60>c?l+((a&o|a&s|o&s)-1894007588):l+((a^o^s)-899497514),u=s,s=o,o=a<<30|a>>>2,a=i,i=l}n[0]=n[0]+i|0,n[1]=n[1]+a|0,n[2]=n[2]+o|0,n[3]=n[3]+s|0,n[4]=n[4]+u|0},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[14+(r+64>>>9<<4)]=Math.floor(n/4294967296),t[15+(r+64>>>9<<4)]=n,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});e.SHA1=n._createHelper(i),e.HmacSHA1=n._createHmacHelper(i)}(),Object.defineProperty(r,"__esModule",{value:!0}),r.StandardFile=r.SFItemTransformer=r.SFCryptoWeb=r.SFCryptoJS=r.SFAbstractCrypto=r.SFItemHistoryEntry=r.SFItemHistory=r.SFHistorySession=r.SFPrivileges=r.SFPredicate=r.SFItemParams=r.SFItem=r.SFSyncManager=r.SFStorageManager=r.SFSingletonManager=r.SFSessionHistoryManager=r.SFPrivilegesManager=r.SFModelManager=r.SFMigrationManager=r.SFHttpManager=r.SFAuthManager=r.SFAlertManager=void 0;var k=function(){function e(){v(this,e)}var t,n;return b(e,[{key:"alert",value:(n=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){window.alert(t.text),e()})));case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"confirm",value:(t=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){window.confirm(t.text)?e():n()})));case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),e}();r.SFAlertManager=k;var w=function(){function e(t,n,r,i){v(this,e),e.DidSignOutEvent="DidSignOutEvent",e.WillSignInEvent="WillSignInEvent",e.DidSignInEvent="DidSignInEvent",this.httpManager=n,this.storageManager=t,this.alertManager=r||new k,this.$timeout=i||setTimeout.bind(window),this.eventHandlers=[]}var t,n,r,i,a,o,s,u,c,l;return b(e,[{key:"addEventHandler",value:function(e){return this.eventHandlers.push(e),e}},{key:"removeEventHandler",value:function(e){_.pull(this.eventHandlers,e)}},{key:"notifyEvent",value:function(e,t){var n=!0,r=!1,i=void 0;try{for(var a,o=this.eventHandlers[Symbol.iterator]();!(n=(a=o.next()).done);n=!0)(0,a.value)(e,t||{})}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}}},{key:"saveKeys",value:(l=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._keys=t,e.next=3,this.storageManager.setItem("mk",t.mk);case 3:return e.next=5,this.storageManager.setItem("ak",t.ak);case 5:case"end":return e.stop()}}),e,this)}))),function(e){return l.apply(this,arguments)})},{key:"signout",value:(c=y(regeneratorRuntime.mark((function t(n){var r=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this._keys=null,this._authParams=null,!n){t.next=6;break}return t.abrupt("return",this.storageManager.clearAllData().then((function(){r.notifyEvent(e.DidSignOutEvent)})));case 6:this.notifyEvent(e.DidSignOutEvent);case 7:case"end":return t.stop()}}),t,this)}))),function(e){return c.apply(this,arguments)})},{key:"keys",value:(u=y(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._keys){e.next=11;break}return e.next=3,this.storageManager.getItem("mk");case 3:if(t=e.sent){e.next=6;break}return e.abrupt("return",null);case 6:return e.t0=t,e.next=9,this.storageManager.getItem("ak");case 9:e.t1=e.sent,this._keys={mk:e.t0,ak:e.t1};case 11:return e.abrupt("return",this._keys);case 12:case"end":return e.stop()}}),e,this)}))),function(){return u.apply(this,arguments)})},{key:"getAuthParams",value:(s=y(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._authParams){e.next=5;break}return e.next=3,this.storageManager.getItem("auth_params");case 3:t=e.sent,this._authParams=JSON.parse(t);case 5:if(!this._authParams||this._authParams.version){e.next=9;break}return e.next=8,this.defaultProtocolVersion();case 8:this._authParams.version=e.sent;case 9:return e.abrupt("return",this._authParams);case 10:case"end":return e.stop()}}),e,this)}))),function(){return s.apply(this,arguments)})},{key:"defaultProtocolVersion",value:(o=y(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.keys();case 2:if(!(t=e.sent)||!t.ak){e.next=7;break}return e.abrupt("return","002");case 7:return e.abrupt("return","001");case 8:case"end":return e.stop()}}),e,this)}))),function(){return o.apply(this,arguments)})},{key:"protocolVersion",value:(a=y(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getAuthParams();case 2:if(!(t=e.sent)||!t.version){e.next=5;break}return e.abrupt("return",t.version);case 5:return e.abrupt("return",this.defaultProtocolVersion());case 6:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"getAuthParamsForEmail",value:(i=y(regeneratorRuntime.mark((function e(t,n,r){var i,a=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(i=_.merge({email:n},r)).api=S.getApiVersion(),e.abrupt("return",new Promise((function(e,n){var r=t+"/auth/params";a.httpManager.getAbsolute(r,i,(function(t){e(t)}),(function(t){console.error("Error getting auth params",t),"object"!==h(t)&&(t={error:{message:"A server error occurred while trying to sign in. Please try again."}}),e(t)}))})));case 3:case"end":return e.stop()}}),e)}))),function(e,t,n){return i.apply(this,arguments)})},{key:"lock",value:function(){this.locked=!0}},{key:"unlock",value:function(){this.locked=!1}},{key:"isLocked",value:function(){return 1==this.locked}},{key:"unlockAndResolve",value:function(e,t){this.unlock(),e(t)}},{key:"login",value:(r=y(regeneratorRuntime.mark((function t(n,r,i,a,o){var s=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",new Promise(function(){var t=y(regeneratorRuntime.mark((function t(u,c){var l,f,p,d,m,v,g,b,k,w;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,s.keys();case 2:if(null==t.sent){t.next=6;break}return u({error:{message:"Cannot log in because already signed in."}}),t.abrupt("return");case 6:if(!s.isLocked()){t.next=9;break}return u({error:{message:"Login already in progress."}}),t.abrupt("return");case 9:return s.lock(),s.notifyEvent(e.WillSignInEvent),t.next=13,s.getAuthParamsForEmail(n,r,o);case 13:if((l=t.sent).identifier=r,!l.error){t.next=18;break}return s.unlockAndResolve(u,l),t.abrupt("return");case 18:if(l&&l.pw_cost){t.next=21;break}return s.unlockAndResolve(u,{error:{message:"Invalid email or password."}}),t.abrupt("return");case 21:if(SFJS.supportedVersions().includes(l.version)){t.next=25;break}return f=SFJS.isVersionNewerThanLibraryVersion(l.version)?"This version of the application does not support your newer account type. Please upgrade to the latest version of Standard Notes to sign in.":"The protocol version associated with your account is outdated and no longer supported by this application. Please visit standardnotes.org/help/security for more information.",s.unlockAndResolve(u,{error:{message:f}}),t.abrupt("return");case 25:if(!SFJS.isProtocolVersionOutdated(l.version)){t.next=32;break}return p="The encryption version for your account, ".concat(l.version,", is outdated and requires upgrade. You may proceed with login, but are advised to perform a security update using the web or desktop application. Please visit standardnotes.org/help/security for more information."),d=!1,t.next=30,s.alertManager.confirm({title:"Update Needed",text:p,confirmButtonText:"Sign In"}).catch((function(){s.unlockAndResolve(u,{error:{}}),d=!0}));case 30:if(!d){t.next=32;break}return t.abrupt("return");case 32:if(SFJS.supportsPasswordDerivationCost(l.pw_cost)){t.next=36;break}return s.unlockAndResolve(u,{error:{message:"Your account was created on a platform with higher security capabilities than this browser supports. If we attempted to generate your login keys here, it would take hours. Please use a browser with more up to date security capabilities, like Google Chrome or Firefox, to log in."}}),t.abrupt("return");case 36:if(m=SFJS.costMinimumForVersion(l.version),!(l.pw_cost5&&void 0!==u[5]&&u[5],e.abrupt("return",new Promise(function(){var e=y(regeneratorRuntime.mark((function e(u,c){var l;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((l=new XMLHttpRequest).onreadystatechange=function(){if(4==l.readyState){var e=l.responseText;if(e)try{e=JSON.parse(e)}catch(e){}l.status>=200&&l.status<=299?s.$timeout((function(){i(e),u(e)})):(console.error("Request error:",e),s.$timeout((function(){a(e,l.status),c(e)})))}},"get"==t&&Object.keys(r).length>0&&(n=s.urlForUrlAndParams(n,r)),l.open(t,n,!0),l.setRequestHeader("Content-type","application/json"),!o){e.next=8;break}return e.next=8,s.setAuthHeadersForRequest(l);case 8:"post"==t||"patch"==t?l.send(JSON.stringify(r)):l.send();case 9:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}()));case 2:case"end":return e.stop()}}),e)}))),function(e,n,r,i,a){return t.apply(this,arguments)})},{key:"urlForUrlAndParams",value:function(e,t){var n=Object.keys(t).map((function(e){return e+"="+encodeURIComponent(t[e])})).join("&");return e.includes("?")?e+"&"+n:e+"?"+n}}]),e}();r.SFHttpManager=S;var E=function(){function e(t,n,r,i){var a=this;v(this,e),this.modelManager=t,this.syncManager=n,this.storageManager=r,this.completionHandlers=[],this.loadMigrations();var o=!1,s=i.addEventHandler((function(e){e==w.DidSignInEvent&&(o=!0)}));this.receivedLocalDataEvent=n.initialDataLoaded(),this.syncManager.addEventHandler(function(){var e=y(regeneratorRuntime.mark((function e(t,n){var r,u,c,l,f,p,d,h,m;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(u="sync:completed"==t,!(r="local-data-loaded"==t)&&!u){e.next=40;break}if(r?a.receivedLocalDataEvent=!0:u&&(a.receivedSyncCompletedEvent=!0),!a.receivedLocalDataEvent||!a.receivedSyncCompletedEvent){e.next=40;break}if(!o){e.next=39;break}return o=!1,i.removeEventHandler(s),e.next=10,a.getCompletedMigrations();case 10:c=e.sent.slice(),l=!0,f=!1,p=void 0,e.prev=14,d=c[Symbol.iterator]();case 16:if(l=(h=d.next()).done){e.next=25;break}return m=h.value,e.next=20,a.migrationForEncodedName(m);case 20:e.sent.runOnlyOnce||_.pull(a._completed,m);case 22:l=!0,e.next=16;break;case 25:e.next=31;break;case 27:e.prev=27,e.t0=e.catch(14),f=!0,p=e.t0;case 31:e.prev=31,e.prev=32,l||null==d.return||d.return();case 34:if(e.prev=34,!f){e.next=37;break}throw p;case 37:return e.finish(34);case 38:return e.finish(31);case 39:a.runPendingMigrations();case 40:case"end":return e.stop()}}),e,null,[[14,27,31,39],[32,,34,38]])})));return function(t,n){return e.apply(this,arguments)}}())}var t,n,r,i,a,o,s,u;return b(e,[{key:"addCompletionHandler",value:function(e){this.completionHandlers.push(e)}},{key:"removeCompletionHandler",value:function(e){_.pull(this.completionHandlers,e)}},{key:"migrationForEncodedName",value:(u=y(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.decode(t);case 2:return n=e.sent,e.abrupt("return",this.migrations.find((function(e){return e.name==n})));case 4:case"end":return e.stop()}}),e,this)}))),function(e){return u.apply(this,arguments)})},{key:"loadMigrations",value:function(){this.migrations=this.registeredMigrations()}},{key:"registeredMigrations",value:function(){}},{key:"runPendingMigrations",value:(s=y(regeneratorRuntime.mark((function e(){var t,n,r,i,a,o,s,u,c,l,f,p,d,h,m,y,v,g,b,k,w,x,S,_,E,C,I,R;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getPendingMigrations();case 2:for(t=e.sent,n=!0,r=!1,i=void 0,e.prev=6,a=t[Symbol.iterator]();!(n=(o=a.next()).done);n=!0)(s=o.value).items=[];e.next=14;break;case 10:e.prev=10,e.t0=e.catch(6),r=!0,i=e.t0;case 14:e.prev=14,e.prev=15,n||null==a.return||a.return();case 17:if(e.prev=17,!r){e.next=20;break}throw i;case 20:return e.finish(17);case 21:return e.finish(14);case 22:u=!0,c=!1,l=void 0,e.prev=25,f=this.modelManager.allNondummyItems[Symbol.iterator]();case 27:if(u=(p=f.next()).done){e.next=51;break}for(d=p.value,h=!0,m=!1,y=void 0,e.prev=32,v=t[Symbol.iterator]();!(h=(g=v.next()).done);h=!0)s=g.value,d.content_type==s.content_type&&s.items.push(d);e.next=40;break;case 36:e.prev=36,e.t1=e.catch(32),m=!0,y=e.t1;case 40:e.prev=40,e.prev=41,h||null==v.return||v.return();case 43:if(e.prev=43,!m){e.next=46;break}throw y;case 46:return e.finish(43);case 47:return e.finish(40);case 48:u=!0,e.next=27;break;case 51:e.next=57;break;case 53:e.prev=53,e.t2=e.catch(25),c=!0,l=e.t2;case 57:e.prev=57,e.prev=58,u||null==f.return||f.return();case 60:if(e.prev=60,!c){e.next=63;break}throw l;case 63:return e.finish(60);case 64:return e.finish(57);case 65:b=!0,k=!1,w=void 0,e.prev=68,x=t[Symbol.iterator]();case 70:if(b=(S=x.next()).done){e.next=81;break}if(!((s=S.value).items&&s.items.length>0||s.customHandler)){e.next=77;break}return e.next=75,this.runMigration(s,s.items);case 75:e.next=78;break;case 77:this.markMigrationCompleted(s);case 78:b=!0,e.next=70;break;case 81:e.next=87;break;case 83:e.prev=83,e.t3=e.catch(68),k=!0,w=e.t3;case 87:e.prev=87,e.prev=88,b||null==x.return||x.return();case 90:if(e.prev=90,!k){e.next=93;break}throw w;case 93:return e.finish(90);case 94:return e.finish(87);case 95:for(_=!0,E=!1,C=void 0,e.prev=98,I=this.completionHandlers[Symbol.iterator]();!(_=(R=I.next()).done);_=!0)(0,R.value)();e.next=106;break;case 102:e.prev=102,e.t4=e.catch(98),E=!0,C=e.t4;case 106:e.prev=106,e.prev=107,_||null==I.return||I.return();case 109:if(e.prev=109,!E){e.next=112;break}throw C;case 112:return e.finish(109);case 113:return e.finish(106);case 114:case"end":return e.stop()}}),e,this,[[6,10,14,22],[15,,17,21],[25,53,57,65],[32,36,40,48],[41,,43,47],[58,,60,64],[68,83,87,95],[88,,90,94],[98,102,106,114],[107,,109,113]])}))),function(){return s.apply(this,arguments)})},{key:"encode",value:(o=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",window.btoa(t));case 1:case"end":return e.stop()}}),e)}))),function(e){return o.apply(this,arguments)})},{key:"decode",value:(a=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",window.atob(t));case 1:case"end":return e.stop()}}),e)}))),function(e){return a.apply(this,arguments)})},{key:"getCompletedMigrations",value:(i=y(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._completed){e.next=5;break}return e.next=3,this.storageManager.getItem("migrations");case 3:t=e.sent,this._completed=t?JSON.parse(t):[];case 5:return e.abrupt("return",this._completed);case 6:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:"getPendingMigrations",value:(r=y(regeneratorRuntime.mark((function e(){var t,n,r,i,a,o,s,u;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getCompletedMigrations();case 2:t=e.sent,n=[],r=!0,i=!1,a=void 0,e.prev=7,o=this.migrations[Symbol.iterator]();case 9:if(r=(s=o.next()).done){e.next=22;break}return u=s.value,e.t0=t,e.next=14,this.encode(u.name);case 14:if(e.t1=e.sent,e.t2=e.t0.indexOf.call(e.t0,e.t1),e.t3=-1,e.t2!=e.t3){e.next=19;break}n.push(u);case 19:r=!0,e.next=9;break;case 22:e.next=28;break;case 24:e.prev=24,e.t4=e.catch(7),i=!0,a=e.t4;case 28:e.prev=28,e.prev=29,r||null==o.return||o.return();case 31:if(e.prev=31,!i){e.next=34;break}throw a;case 34:return e.finish(31);case 35:return e.finish(28);case 36:return e.abrupt("return",n);case 37:case"end":return e.stop()}}),e,this,[[7,24,28,36],[29,,31,35]])}))),function(){return r.apply(this,arguments)})},{key:"markMigrationCompleted",value:(n=y(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getCompletedMigrations();case 2:return n=e.sent,e.t0=n,e.next=6,this.encode(t.name);case 6:e.t1=e.sent,e.t0.push.call(e.t0,e.t1),this.storageManager.setItem("migrations",JSON.stringify(n)),t.running=!1;case 10:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"runMigration",value:(t=y(regeneratorRuntime.mark((function e(t,n){var r=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.running){e.next=2;break}return e.abrupt("return");case 2:if(console.log("Running migration:",t.name),t.running=!0,!t.customHandler){e.next=8;break}return e.abrupt("return",t.customHandler().then((function(){r.markMigrationCompleted(t)})));case 8:return e.abrupt("return",t.handler(n).then((function(){r.markMigrationCompleted(t)})));case 9:case"end":return e.stop()}}),e)}))),function(e,n){return t.apply(this,arguments)})}]),e}();r.SFMigrationManager=E;var C=function(){function e(t){v(this,e),e.MappingSourceRemoteRetrieved="MappingSourceRemoteRetrieved",e.MappingSourceRemoteSaved="MappingSourceRemoteSaved",e.MappingSourceLocalSaved="MappingSourceLocalSaved",e.MappingSourceLocalRetrieved="MappingSourceLocalRetrieved",e.MappingSourceLocalDirtied="MappingSourceLocalDirtied",e.MappingSourceComponentRetrieved="MappingSourceComponentRetrieved",e.MappingSourceDesktopInstalled="MappingSourceDesktopInstalled",e.MappingSourceRemoteActionRetrieved="MappingSourceRemoteActionRetrieved",e.MappingSourceFileImport="MappingSourceFileImport",e.isMappingSourceRetrieved=function(t){return[e.MappingSourceRemoteRetrieved,e.MappingSourceComponentRetrieved,e.MappingSourceRemoteActionRetrieved].includes(t)},this.$timeout=t||setTimeout.bind(window),this.itemSyncObservers=[],this.items=[],this.itemsHash={},this.missedReferences={},this.uuidChangeObservers=[]}var t,n,r,i,a,o,s,u,c,l,f,p;return b(e,[{key:"handleSignout",value:function(){this.items.length=0,this.itemsHash={},this.missedReferences={}}},{key:"addModelUuidChangeObserver",value:function(e,t){this.uuidChangeObservers.push({id:e,callback:t})}},{key:"notifyObserversOfUuidChange",value:function(e,t){var n=!0,r=!1,i=void 0;try{for(var a,o=this.uuidChangeObservers[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value;try{s.callback(e,t)}catch(e){console.error("Notify observers of uuid change exception:",e)}}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}}},{key:"alternateUUIDForItem",value:(p=y(regeneratorRuntime.mark((function t(n){var r,i,a,o,s,u,c;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=this.createItem(n),t.next=3,SFJS.crypto.generateUUID();case 3:for(r.uuid=t.sent,r.informReferencesOfUUIDChange(n.uuid,r.uuid),this.informModelsOfUUIDChangeForItem(r,n.uuid,r.uuid),i=!0,a=!1,o=void 0,t.prev=9,s=n.referencingObjects[Symbol.iterator]();!(i=(u=s.next()).done);i=!0)(c=u.value).setIsNoLongerBeingReferencedBy(n),n.setIsNoLongerBeingReferencedBy(c),c.addItemAsRelationship(r);t.next=17;break;case 13:t.prev=13,t.t0=t.catch(9),a=!0,o=t.t0;case 17:t.prev=17,t.prev=18,i||null==s.return||s.return();case 20:if(t.prev=20,!a){t.next=23;break}throw o;case 23:return t.finish(20);case 24:return t.finish(17);case 25:return this.setItemsDirty(n.referencingObjects,!0),this.resolveReferencesForItem(r),this.loggingEnabled&&console.log(n.uuid,"--\x3e",r.uuid),n.deleted=!0,n.content.references=[],this.setItemDirty(n,!1,!1,e.MappingSourceLocalSaved),t.next=33,this.mapResponseItemsToLocalModels([n],e.MappingSourceLocalSaved);case 33:return this.addItem(r),this.setItemDirty(r,!0,!0,e.MappingSourceLocalSaved),this.notifyObserversOfUuidChange(n,r),t.abrupt("return",r);case 37:case"end":return t.stop()}}),t,this,[[9,13,17,25],[18,,20,24]])}))),function(e){return p.apply(this,arguments)})},{key:"informModelsOfUUIDChangeForItem",value:function(e,t,n){var r=!0,i=!1,a=void 0;try{for(var o,s=this.items[Symbol.iterator]();!(r=(o=s.next()).done);r=!0)o.value.potentialItemOfInterestHasChangedItsUUID(e,t,n)}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}}},{key:"didSyncModelsOffline",value:function(t){this.notifySyncObserversOfModels(t,e.MappingSourceLocalSaved)}},{key:"mapResponseItemsToLocalModels",value:(f=y(regeneratorRuntime.mark((function e(t,n,r){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.mapResponseItemsToLocalModelsWithOptions({items:t,source:n,sourceKey:r}));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return f.apply(this,arguments)})},{key:"mapResponseItemsToLocalModelsOmittingFields",value:(l=y(regeneratorRuntime.mark((function e(t,n,r,i){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.mapResponseItemsToLocalModelsWithOptions({items:t,omitFields:n,source:r,sourceKey:i}));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t,n,r){return l.apply(this,arguments)})},{key:"mapResponseItemsToLocalModelsWithOptions",value:(c=y(regeneratorRuntime.mark((function e(t){var n,r,i,a,o,s,u,c,l,f,p,h,m,y,v,g,b,k,w,x,S,_,E,C,I,R,T,D,A,F,O,M,P,N,L,j,B,z,U;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.items,r=t.omitFields,i=t.source,a=t.sourceKey,t.options,o=[],s=[],u=[],c=!0,l=!1,f=void 0,e.prev=5,p=n[Symbol.iterator]();case 7:if(c=(h=p.next()).done){e.next=58;break}if(m=h.value){e.next=11;break}return e.abrupt("continue",55);case 11:if(y=!m.content&&!m.errorDecrypting,m.content_type&&m.uuid&&!y||m.deleted){e.next=16;break}return console.error("Server response item is corrupt:",m),e.abrupt("continue",55);case 16:if(!Array.isArray(r)){e.next=36;break}for(v=!0,g=!1,b=void 0,e.prev=20,k=r[Symbol.iterator]();!(v=(w=k.next()).done);v=!0)x=w.value,delete m[x];e.next=28;break;case 24:e.prev=24,e.t0=e.catch(20),g=!0,b=e.t0;case 28:e.prev=28,e.prev=29,v||null==k.return||k.return();case 31:if(e.prev=31,!g){e.next=34;break}throw b;case 34:return e.finish(31);case 35:return e.finish(28);case 36:if((S=this.findItem(m.uuid))&&(S.updateFromJSON(m),S.dummy=!1),_=m.content_type||S&&S.content_type,!this.acceptableContentTypes||this.acceptableContentTypes.includes(_)){e.next=42;break}return e.abrupt("continue",55);case 42:if(E=!1,1!=m.deleted){e.next=50;break}if(!m.dirty){e.next=48;break}E=!0,e.next=50;break;case 48:return S&&(o.push(S),u.push(S),this.removeItemLocally(S)),e.abrupt("continue",55);case 50:S||(S=this.createItem(m)),this.addItem(S,E),S.errorDecrypting||u.push(S),o.push(S),s.push(m);case 55:c=!0,e.next=7;break;case 58:e.next=64;break;case 60:e.prev=60,e.t1=e.catch(5),l=!0,f=e.t1;case 64:e.prev=64,e.prev=65,c||null==p.return||p.return();case 67:if(e.prev=67,!l){e.next=70;break}throw f;case 70:return e.finish(67);case 71:return e.finish(64);case 72:for(C=!0,I=!1,R=void 0,e.prev=75,T=s.entries()[Symbol.iterator]();!(C=(D=T.next()).done);C=!0)A=d(D.value,2),F=A[0],O=A[1],M=o[F],O.content&&this.resolveReferencesForItem(M),M.didFinishSyncing();e.next=83;break;case 79:e.prev=79,e.t2=e.catch(75),I=!0,R=e.t2;case 83:e.prev=83,e.prev=84,C||null==T.return||T.return();case 86:if(e.prev=86,!I){e.next=89;break}throw R;case 89:return e.finish(86);case 90:return e.finish(83);case 91:for(P=this.popMissedReferenceStructsForObjects(s),N=!0,L=!1,j=void 0,e.prev=95,B=function(){var e=U.value,t=o.find((function(t){return t.uuid==e.reference_uuid}));t&&e.for_item.addItemAsRelationship(t)},z=P[Symbol.iterator]();!(N=(U=z.next()).done);N=!0)B();e.next=104;break;case 100:e.prev=100,e.t3=e.catch(95),L=!0,j=e.t3;case 104:e.prev=104,e.prev=105,N||null==z.return||z.return();case 107:if(e.prev=107,!L){e.next=110;break}throw j;case 110:return e.finish(107);case 111:return e.finish(104);case 112:return e.next=114,this.notifySyncObserversOfModels(u,i,a);case 114:return e.abrupt("return",o);case 115:case"end":return e.stop()}}),e,this,[[5,60,64,72],[20,24,28,36],[29,,31,35],[65,,67,71],[75,79,83,91],[84,,86,90],[95,100,104,112],[105,,107,111]])}))),function(e){return c.apply(this,arguments)})},{key:"missedReferenceBuildKey",value:function(e,t){return"".concat(e,":").concat(t)}},{key:"popMissedReferenceStructsForObjects",value:function(e){if(!e||0==e.length)return[];for(var t=[],n=[],r=e.map((function(e){return e.uuid})),i=r[0].length,a=0,o=Object.keys(this.missedReferences);a1&&void 0!==arguments[1]&&arguments[1];if(!e.errorDecrypting){var n=e.contentObject;if(e.updateLocalRelationships(),n.references){var r=n.references.slice(),i=r.map((function(e){return e.uuid})),a=!0,o=this.findItems(i,a),s=!0,u=!1,c=void 0;try{for(var l,f=o.entries()[Symbol.iterator]();!(s=(l=f.next()).done);s=!0){var p=d(l.value,2),h=p[0],m=p[1];if(m)e.addItemAsRelationship(m),t&&this.setItemDirty(m,!0);else{var y=i[h],v=this.missedReferenceBuildKey(y,e.uuid);if(!this.missedReferences[v]){var g={reference_uuid:y,for_item:e};this.missedReferences[v]=g}}}}catch(e){u=!0,c=e}finally{try{s||null==f.return||f.return()}finally{if(u)throw c}}}}}},{key:"notifySyncObserversOfModels",value:(u=y(regeneratorRuntime.mark((function e(t,n,r){var i,a,o,s,u,c,l,f=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=this.itemSyncObservers.sort((function(e,t){return e.priority0)){e.next=25;break}return e.next=25,f._callSyncObserverCallbackWithTimeout(i,a,o,s,n,r);case 25:case"end":return e.stop()}}),e,null,[[6,10,14,22],[15,,17,21]])})),c=i[Symbol.iterator]();case 7:if(a=(l=c.next()).done){e.next=12;break}return e.delegateYield(u(),"t0",9);case 9:a=!0,e.next=7;break;case 12:e.next=18;break;case 14:e.prev=14,e.t1=e.catch(4),o=!0,s=e.t1;case 18:e.prev=18,e.prev=19,a||null==c.return||c.return();case 21:if(e.prev=21,!o){e.next=24;break}throw s;case 24:return e.finish(21);case 25:return e.finish(18);case 26:case"end":return e.stop()}}),e,this,[[4,14,18,26],[19,,21,25]])}))),function(e,t,n){return u.apply(this,arguments)})},{key:"_callSyncObserverCallbackWithTimeout",value:(s=y(regeneratorRuntime.mark((function e(t,n,r,i,a,o){var s=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,u){s.$timeout((function(){try{t.callback(n,r,i,a,o)}catch(e){console.error("Sync observer exception",e)}finally{e()}}))})));case 1:case"end":return e.stop()}}),e)}))),function(e,t,n,r,i,a){return s.apply(this,arguments)})},{key:"setItemDirty",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;this.setItemsDirty([e],t,n,r,i)}},{key:"setItemsDirty",value:function(t){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0,o=!0,s=!1,u=void 0;try{for(var c,l=t[Symbol.iterator]();!(o=(c=l.next()).done);o=!0){var f=c.value;f.setDirty(n,r)}}catch(e){s=!0,u=e}finally{try{o||null==l.return||l.return()}finally{if(s)throw u}}this.notifySyncObserversOfModels(t,i||e.MappingSourceLocalDirtied,a)}},{key:"createItem",value:function(t){var n=e.ContentTypeClassMapping&&e.ContentTypeClassMapping[t.content_type];return n||(n=O),new n(t)}},{key:"createDuplicateItemFromResponseItem",value:(o=y(regeneratorRuntime.mark((function e(t){var n,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("function"!=typeof t.setDirty){e.next=3;break}return console.error("Attempting to create conflicted copy of non-response item."),e.abrupt("return",null);case 3:return n=JSON.parse(JSON.stringify(t)),e.next=6,SFJS.crypto.generateUUID();case 6:return n.uuid=e.sent,r=this.createItem(n),e.abrupt("return",r);case 9:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"duplicateItemAndAddAsConflict",value:function(e){return this.duplicateItemWithCustomContentAndAddAsConflict({content:e.content,duplicateOf:e})}},{key:"duplicateItemWithCustomContentAndAddAsConflict",value:function(e){var t=e.content,n=e.duplicateOf,r=this.duplicateItemWithCustomContent({content:t,duplicateOf:n});return this.addDuplicatedItemAsConflict({duplicate:r,duplicateOf:n}),r}},{key:"addDuplicatedItemAsConflict",value:function(e){var t=e.duplicate,n=e.duplicateOf;this.addDuplicatedItem(t,n),t.content.conflict_of=n.uuid}},{key:"duplicateItemWithCustomContent",value:function(e){var t=e.content,n=e.duplicateOf,r=new n.constructor({content:t});return r.created_at=n.created_at,r.content_type||(r.content_type=n.content_type),r}},{key:"duplicateItemAndAdd",value:function(e){var t=this.duplicateItemWithoutAdding(e);return this.addDuplicatedItem(t,e),t}},{key:"duplicateItemWithoutAdding",value:function(e){var t=new e.constructor({content:e.content});return t.created_at=e.created_at,t.content_type||(t.content_type=e.content_type),t}},{key:"addDuplicatedItem",value:function(e,t){this.addItem(e);var n=!0,r=!1,i=void 0;try{for(var a,o=t.referencingObjects[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value;s.addItemAsRelationship(e),this.setItemDirty(s,!0)}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}this.resolveReferencesForItem(e),this.setItemDirty(e,!0)}},{key:"addItem",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.addItems([e],t)}},{key:"addItems",value:function(e){var t=this;e.forEach((function(e){t.itemsHash[e.uuid]||(t.itemsHash[e.uuid]=e,t.items.push(e))}))}},{key:"addItemSyncObserver",value:function(e,t,n){this.addItemSyncObserverWithPriority({id:e,types:t,callback:n,priority:1})}},{key:"addItemSyncObserverWithPriority",value:function(e){var t=e.id,n=e.priority,r=e.types,i=e.callback;Array.isArray(r)||(r=[r]),this.itemSyncObservers.push({id:t,types:r,priority:n,callback:i})}},{key:"removeItemSyncObserver",value:function(e){_.remove(this.itemSyncObservers,_.find(this.itemSyncObservers,{id:e}))}},{key:"getDirtyItems",value:function(){return this.items.filter((function(e){return 1==e.dirty&&!e.dummy&&(!e.errorDecrypting||e.deleted)}))}},{key:"clearDirtyItems",value:function(e){var t=!0,n=!1,r=void 0;try{for(var i,a=e[Symbol.iterator]();!(t=(i=a.next()).done);t=!0)i.value.setDirty(!1)}catch(e){n=!0,r=e}finally{try{t||null==a.return||a.return()}finally{if(n)throw r}}}},{key:"removeAndDirtyAllRelationshipsForItem",value:function(e){if(!e.errorDecrypting){var t=!0,n=!1,r=void 0;try{for(var i,a=e.content.references[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var o=i.value,s=this.findItem(o.uuid);s&&(e.removeItemAsRelationship(s),s.hasRelationshipWithItem(e)&&(s.removeItemAsRelationship(e),this.setItemDirty(s,!0)))}}catch(e){n=!0,r=e}finally{try{t||null==a.return||a.return()}finally{if(n)throw r}}}var u=!0,c=!1,l=void 0;try{for(var f,p=e.referencingObjects[Symbol.iterator]();!(u=(f=p.next()).done);u=!0){var d=f.value;d.removeItemAsRelationship(e),this.setItemDirty(d,!0)}}catch(e){c=!0,l=e}finally{try{u||null==p.return||p.return()}finally{if(c)throw l}}e.referencingObjects=[]}},{key:"setAllItemsDirty",value:function(){var e=this.allItems;this.setItemsDirty(e,!0)}},{key:"setItemToBeDeleted",value:function(e){e.deleted=!0,e.dummy||this.setItemDirty(e,!0),this.removeAndDirtyAllRelationshipsForItem(e)}},{key:"removeItemLocally",value:(a=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:_.remove(this.items,{uuid:t.uuid}),delete this.itemsHash[t.uuid],t.isBeingRemovedLocally();case 3:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"allItemsMatchingTypes",value:function(e){return this.allItems.filter((function(t){return(_.includes(e,t.content_type)||_.includes(e,"*"))&&!t.dummy}))}},{key:"invalidItems",value:function(){return this.allItems.filter((function(e){return e.errorDecrypting}))}},{key:"validItemsForContentType",value:function(e){return this.allItems.filter((function(t){return t.content_type==e&&!t.errorDecrypting}))}},{key:"findItem",value:function(e){return this.itemsHash[e]}},{key:"findItems",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=[],r=!0,i=!1,a=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done);r=!0){var u=o.value,c=this.itemsHash[u];(c||t)&&n.push(c)}}catch(e){i=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw a}}return n}},{key:"itemsMatchingPredicate",value:function(e){return this.itemsMatchingPredicates([e])}},{key:"itemsMatchingPredicates",value:function(e){return this.filterItemsWithPredicates(this.allItems,e)}},{key:"filterItemsWithPredicates",value:function(e,t){return e.filter((function(e){var n=!0,r=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value;if(!e.satisfiesPredicate(s))return!1}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}return!0}))}},{key:"importItems",value:(i=y(regeneratorRuntime.mark((function t(n){var r,i,a,o,s,u,c,l,f,p,d,h,m,y,v,g,b,k,w,x,S,_,E,C,I,R,T;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:r=[],i={},a=!0,o=!1,s=void 0,t.prev=5,u=n[Symbol.iterator]();case 7:if(a=(c=u.next()).done){t.next=18;break}if(l=c.value,f=this.findItem(l.uuid)){t.next=13;break}return i[l.uuid]={},t.abrupt("continue",15);case 13:p=this.duplicateItemWithoutAdding(f),i[l.uuid]={frozenValue:p,itemRef:f};case 15:a=!0,t.next=7;break;case 18:t.next=24;break;case 20:t.prev=20,t.t0=t.catch(5),o=!0,s=t.t0;case 24:t.prev=24,t.prev=25,a||null==u.return||u.return();case 27:if(t.prev=27,!o){t.next=30;break}throw s;case 30:return t.finish(27);case 31:return t.finish(24);case 32:d=!0,h=!1,m=void 0,t.prev=35,y=n[Symbol.iterator]();case 37:if(d=(v=y.next()).done){t.next=52;break}if(g=v.value,b=i[g.uuid],k=b.frozenValue,w=b.itemRef,!k||w.errorDecrypting){t.next=47;break}return t.next=43,this.createDuplicateItemFromResponseItem(g);case 43:x=t.sent,g.deleted||k.isItemContentEqualWith(x)||(this.addDuplicatedItemAsConflict({duplicate:x,duplicateOf:w}),r.push(x)),t.next=49;break;case 47:r.push(g),w&&w.errorDecrypting&&(w.errorDecrypting=!1);case 49:d=!0,t.next=37;break;case 52:t.next=58;break;case 54:t.prev=54,t.t1=t.catch(35),h=!0,m=t.t1;case 58:t.prev=58,t.prev=59,d||null==y.return||y.return();case 61:if(t.prev=61,!h){t.next=64;break}throw m;case 64:return t.finish(61);case 65:return t.finish(58);case 66:return t.next=68,this.mapResponseItemsToLocalModels(r,e.MappingSourceFileImport);case 68:for(S=t.sent,_=!0,E=!1,C=void 0,t.prev=72,I=S[Symbol.iterator]();!(_=(R=I.next()).done);_=!0)T=R.value,this.setItemDirty(T,!0,!1),T.deleted=!1;t.next=80;break;case 76:t.prev=76,t.t2=t.catch(72),E=!0,C=t.t2;case 80:t.prev=80,t.prev=81,_||null==I.return||I.return();case 83:if(t.prev=83,!E){t.next=86;break}throw C;case 86:return t.finish(83);case 87:return t.finish(80);case 88:return t.abrupt("return",S);case 89:case"end":return t.stop()}}),t,this,[[5,20,24,32],[25,,27,31],[35,54,58,66],[59,,61,65],[72,76,80,88],[81,,83,87]])}))),function(e){return i.apply(this,arguments)})},{key:"getAllItemsJSONData",value:(r=y(regeneratorRuntime.mark((function e(t,n,r){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.getJSONDataForItems(this.allItems,t,n,r));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return r.apply(this,arguments)})},{key:"getJSONDataForItems",value:(n=y(regeneratorRuntime.mark((function e(t,n,r,i){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Promise.all(t.map((function(e){return new M(e,n,r).paramsForExportFile()}))).then((function(e){if(i&&0==e.length)return null;var t={items:e};return n&&(t.auth_params=r),JSON.stringify(t,null,2)})));case 1:case"end":return e.stop()}}),e)}))),function(e,t,r,i){return n.apply(this,arguments)})},{key:"computeDataIntegrityHash",value:(t=y(regeneratorRuntime.mark((function e(){var t,n,r,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,t=this.allNondummyItems.sort((function(e,t){return t.updated_at-e.updated_at})),n=t.map((function(e){return e.updatedAtTimestamp()})),r=n.join(","),e.next=6,SFJS.crypto.sha256(r);case 6:return i=e.sent,e.abrupt("return",i);case 10:return e.prev=10,e.t0=e.catch(0),console.error("Error computing data integrity hash",e.t0),e.abrupt("return",null);case 14:case"end":return e.stop()}}),e,this,[[0,10]])}))),function(){return t.apply(this,arguments)})},{key:"allItems",get:function(){return this.items.slice()}},{key:"allNondummyItems",get:function(){return this.items.filter((function(e){return!e.dummy}))}}]),e}();r.SFModelManager=C;var I=function(){function e(t,n,r){v(this,e),this.modelManager=t,this.syncManager=n,this.singletonManager=r,this.loadPrivileges(),e.CredentialAccountPassword="CredentialAccountPassword",e.CredentialLocalPasscode="CredentialLocalPasscode",e.ActionManageExtensions="ActionManageExtensions",e.ActionManageBackups="ActionManageBackups",e.ActionViewProtectedNotes="ActionViewProtectedNotes",e.ActionManagePrivileges="ActionManagePrivileges",e.ActionManagePasscode="ActionManagePasscode",e.ActionDeleteNote="ActionDeleteNote",e.SessionExpiresAtKey="SessionExpiresAtKey",e.SessionLengthKey="SessionLengthKey",e.SessionLengthNone=0,e.SessionLengthFiveMinutes=300,e.SessionLengthOneHour=3600,e.SessionLengthOneWeek=604800,this.availableActions=[e.ActionViewProtectedNotes,e.ActionDeleteNote,e.ActionManagePasscode,e.ActionManageBackups,e.ActionManageExtensions,e.ActionManagePrivileges],this.availableCredentials=[e.CredentialAccountPassword,e.CredentialLocalPasscode],this.sessionLengths=[e.SessionLengthNone,e.SessionLengthFiveMinutes,e.SessionLengthOneHour,e.SessionLengthOneWeek,e.SessionLengthIndefinite]}var t,n,r,i,a,o,s,u,c,l,f,p;return b(e,[{key:"setDelegate",value:function(e){this.delegate=e}},{key:"getAvailableActions",value:function(){return this.availableActions}},{key:"getAvailableCredentials",value:function(){return this.availableCredentials}},{key:"netCredentialsForAction",value:(p=y(regeneratorRuntime.mark((function t(n){var r,i,a,o,s,u,c,l;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getPrivileges();case 2:t.t0=n,r=t.sent.getCredentialsForAction(t.t0),i=[],a=!0,o=!1,s=void 0,t.prev=8,u=r[Symbol.iterator]();case 10:if(a=(c=u.next()).done){t.next=27;break}if((l=c.value)!=e.CredentialAccountPassword){t.next=19;break}return t.next=15,this.delegate.isOffline();case 15:t.sent||i.push(l),t.next=24;break;case 19:if(l!=e.CredentialLocalPasscode){t.next=24;break}return t.next=22,this.delegate.hasLocalPasscode();case 22:t.sent&&i.push(l);case 24:a=!0,t.next=10;break;case 27:t.next=33;break;case 29:t.prev=29,t.t1=t.catch(8),o=!0,s=t.t1;case 33:t.prev=33,t.prev=34,a||null==u.return||u.return();case 36:if(t.prev=36,!o){t.next=39;break}throw s;case 39:return t.finish(36);case 40:return t.finish(33);case 41:return t.abrupt("return",i);case 42:case"end":return t.stop()}}),t,this,[[8,29,33,41],[34,,36,40]])}))),function(e){return p.apply(this,arguments)})},{key:"loadPrivileges",value:(f=y(regeneratorRuntime.mark((function e(){var t=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.loadPromise){e.next=2;break}return e.abrupt("return",this.loadPromise);case 2:return this.loadPromise=new Promise((function(e,n){var r=N.contentType(),i=new P("content_type","=",r);t.singletonManager.registerSingleton([i],(function(n){t.privileges=n,e(n)}),function(){var n=y(regeneratorRuntime.mark((function n(i){var a;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(a=new N({content_type:r}),SFJS.crypto.generateUUIDSync){n.next=4;break}return n.next=4,a.initUUID();case 4:t.modelManager.addItem(a),t.modelManager.setItemDirty(a,!0),t.syncManager.sync(),i(a),e(a);case 9:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}())})),e.abrupt("return",this.loadPromise);case 4:case"end":return e.stop()}}),e,this)}))),function(){return f.apply(this,arguments)})},{key:"getPrivileges",value:(l=y(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.privileges){e.next=4;break}return e.abrupt("return",this.privileges);case 4:return e.abrupt("return",this.loadPrivileges());case 5:case"end":return e.stop()}}),e,this)}))),function(){return l.apply(this,arguments)})},{key:"displayInfoForCredential",value:function(t){var n={};return n[e.CredentialAccountPassword]={label:"Account Password",prompt:"Please enter your account password."},n[e.CredentialLocalPasscode]={label:"Local Passcode",prompt:"Please enter your local passcode."},n[t]}},{key:"displayInfoForAction",value:function(t){var n={};return n[e.ActionManageExtensions]={label:"Manage Extensions"},n[e.ActionManageBackups]={label:"Download/Import Backups"},n[e.ActionViewProtectedNotes]={label:"View Protected Notes"},n[e.ActionManagePrivileges]={label:"Manage Privileges"},n[e.ActionManagePasscode]={label:"Manage Passcode"},n[e.ActionDeleteNote]={label:"Delete Notes"},n[t]}},{key:"getSessionLengthOptions",value:function(){return[{value:e.SessionLengthNone,label:"Don't Remember"},{value:e.SessionLengthFiveMinutes,label:"5 Minutes"},{value:e.SessionLengthOneHour,label:"1 Hour"},{value:e.SessionLengthOneWeek,label:"1 Week"}]}},{key:"setSessionLength",value:(c=y(regeneratorRuntime.mark((function t(n){var r;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=n,a=void 0,(a=new Date).setSeconds(a.getSeconds()+i),r=a,t.abrupt("return",Promise.all([this.delegate.saveToStorage(e.SessionExpiresAtKey,JSON.stringify(r)),this.delegate.saveToStorage(e.SessionLengthKey,JSON.stringify(n))]));case 3:case"end":return t.stop()}var i,a}),t,this)}))),function(e){return c.apply(this,arguments)})},{key:"clearSession",value:(u=y(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.setSessionLength(e.SessionLengthNone));case 1:case"end":return t.stop()}}),t,this)}))),function(){return u.apply(this,arguments)})},{key:"getSelectedSessionLength",value:(s=y(regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.delegate.getFromStorage(e.SessionLengthKey);case 2:if(!(n=t.sent)){t.next=7;break}return t.abrupt("return",JSON.parse(n));case 7:return t.abrupt("return",e.SessionLengthNone);case 8:case"end":return t.stop()}}),t,this)}))),function(){return s.apply(this,arguments)})},{key:"getSessionExpirey",value:(o=y(regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.delegate.getFromStorage(e.SessionExpiresAtKey);case 2:if(!(n=t.sent)){t.next=7;break}return t.abrupt("return",new Date(JSON.parse(n)));case 7:return t.abrupt("return",new Date);case 8:case"end":return t.stop()}}),t,this)}))),function(){return o.apply(this,arguments)})},{key:"actionHasPrivilegesConfigured",value:(a=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.netCredentialsForAction(t);case 2:return e.t0=e.sent.length,e.abrupt("return",e.t0>0);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"actionRequiresPrivilege",value:(i=y(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getSessionExpirey();case 2:if(!(e.sent>new Date)){e.next=5;break}return e.abrupt("return",!1);case 5:return e.next=7,this.netCredentialsForAction(t);case 7:return n=e.sent,e.abrupt("return",n.length>0);case 9:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"savePrivileges",value:(r=y(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getPrivileges();case 2:t=e.sent,this.modelManager.setItemDirty(t,!0),this.syncManager.sync();case 5:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"authenticateAction",value:(n=y(regeneratorRuntime.mark((function e(t,n){var r,i,a,o,s,u,c,l,f;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.netCredentialsForAction(t);case 2:r=e.sent,i=[],a=[],o=!0,s=!1,u=void 0,e.prev=7,c=r[Symbol.iterator]();case 9:if(o=(l=c.next()).done){e.next=18;break}return f=l.value,e.next=13,this._verifyAuthenticationParameters(f,n[f]);case 13:e.sent?i.push(f):a.push(f);case 15:o=!0,e.next=9;break;case 18:e.next=24;break;case 20:e.prev=20,e.t0=e.catch(7),s=!0,u=e.t0;case 24:e.prev=24,e.prev=25,o||null==c.return||c.return();case 27:if(e.prev=27,!s){e.next=30;break}throw u;case 30:return e.finish(27);case 31:return e.finish(24);case 32:return e.abrupt("return",{success:0==a.length,successfulCredentials:i,failedCredentials:a});case 33:case"end":return e.stop()}}),e,this,[[7,20,24,32],[25,,27,31]])}))),function(e,t){return n.apply(this,arguments)})},{key:"_verifyAuthenticationParameters",value:(t=y(regeneratorRuntime.mark((function t(n,r){var i,a,o=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(i=function(){var e=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.delegate.verifyAccountPassword(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),a=function(){var e=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.delegate.verifyLocalPasscode(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),n!=e.CredentialAccountPassword){t.next=6;break}return t.abrupt("return",i(r));case 6:if(n!=e.CredentialLocalPasscode){t.next=8;break}return t.abrupt("return",a(r));case 8:case"end":return t.stop()}}),t)}))),function(e,n){return t.apply(this,arguments)})}]),e}();r.SFPrivilegesManager=I;var R=function(){function e(t,n,r,i,a){var o=this;v(this,e),this.modelManager=t,this.storageManager=n,this.$timeout=a||setTimeout.bind(window),this.keyRequestHandler=r,this.loadFromDisk().then((function(){o.modelManager.addItemSyncObserver("session-history",i,(function(e,t,n,r,i){if(r!==C.MappingSourceLocalDirtied){var a=!0,s=!1,u=void 0;try{for(var c,l=e[Symbol.iterator]();!(a=(c=l.next()).done);a=!0){var f=c.value;try{o.addHistoryEntryForItem(f)}catch(e){console.log("Caught exception while trying to add item history entry",e)}}}catch(e){s=!0,u=e}finally{try{a||null==l.return||l.return()}finally{if(s)throw u}}}}))}))}var t,n,r,i,a,o,s;return b(e,[{key:"encryptionParams",value:(s=y(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.keyRequestHandler());case 1:case"end":return e.stop()}}),e,this)}))),function(){return s.apply(this,arguments)})},{key:"addHistoryEntryForItem",value:function(e){var t=this,n={uuid:e.uuid,content_type:e.content_type,updated_at:e.updated_at,content:e.getContentCopy()},r=this.historySession.addEntryForItem(n);this.autoOptimize&&this.historySession.optimizeHistoryForItem(e),r&&this.diskEnabled&&(this.diskTimeout&&(this.$timeout.hasOwnProperty("cancel")?this.$timeout.cancel(this.diskTimeout):clearTimeout(this.diskTimeout)),this.diskTimeout=this.$timeout((function(){t.saveToDisk()}),2e3))}},{key:"historyForItem",value:function(e){return this.historySession.historyForItem(e)}},{key:"clearHistoryForItem",value:(o=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.historySession.clearItemHistory(t),e.abrupt("return",this.saveToDisk());case 2:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"clearAllHistory",value:(a=y(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.historySession.clearAllHistory(),e.abrupt("return",this.storageManager.removeItem("sessionHistory_revisions"));case 2:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"toggleDiskSaving",value:(i=y(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.diskEnabled=!this.diskEnabled,!this.diskEnabled){e.next=6;break}this.storageManager.setItem("sessionHistory_persist",JSON.stringify(!0)),this.saveToDisk(),e.next=8;break;case 6:return this.storageManager.setItem("sessionHistory_persist",JSON.stringify(!1)),e.abrupt("return",this.storageManager.removeItem("sessionHistory_revisions"));case 8:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:"saveToDisk",value:(r=y(regeneratorRuntime.mark((function e(){var t,n=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.diskEnabled){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,this.encryptionParams();case 4:t=e.sent,new M(this.historySession,t.keys,t.auth_params).paramsForSync().then((function(e){n.storageManager.setItem("sessionHistory_revisions",JSON.stringify(e))}));case 7:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"loadFromDisk",value:(n=y(regeneratorRuntime.mark((function e(){var t,n,r,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.storageManager.getItem("sessionHistory_persist");case 2:return(t=e.sent)&&(this.diskEnabled=JSON.parse(t)),e.next=6,this.storageManager.getItem("sessionHistory_revisions");case 6:if(!(n=e.sent)){e.next=18;break}return n=JSON.parse(n),e.next=11,this.encryptionParams();case 11:return r=e.sent,e.next=14,SFJS.itemTransformer.decryptItem(n,r.keys);case 14:i=new L(n),this.historySession=i,e.next=19;break;case 18:this.historySession=new L;case 19:return e.next=21,this.storageManager.getItem("sessionHistory_autoOptimize");case 21:a=e.sent,this.autoOptimize=!a||JSON.parse(a);case 23:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"toggleAutoOptimize",value:(t=y(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.autoOptimize=!this.autoOptimize,this.autoOptimize?this.storageManager.setItem("sessionHistory_autoOptimize",JSON.stringify(!0)):this.storageManager.setItem("sessionHistory_autoOptimize",JSON.stringify(!1));case 2:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}();r.SFSessionHistoryManager=R;var T=function(){function e(t,n){var r=this;v(this,e),this.syncManager=n,this.modelManager=t,this.singletonHandlers=[],t.addItemSyncObserverWithPriority({id:"sf-singleton-manager",types:"*",priority:-1,callback:function(e,n,i,a,o){a!==C.MappingSourceLocalDirtied&&r.resolveSingletons(t.allNondummyItems,null,!0)}}),n.addEventHandler((function(e,n){if("local-data-loaded"==e)r.resolveSingletons(t.allNondummyItems,null,!0),r.initialDataLoaded=!0;else if("sync:completed"==e){if(!r.initialDataLoaded)return;r.resolveSingletons(n.retrievedItems,n.savedItems)}})),t.addModelUuidChangeObserver("singleton-manager",(function(e,t){var n=!0,i=!1,a=void 0;try{for(var o,s=r.singletonHandlers[Symbol.iterator]();!(n=(o=s.next()).done);n=!0){var u=o.value;u.singleton&&P.ItemSatisfiesPredicates(t,u.predicates)&&(u.singleton=null,r.resolveSingletons([t]))}}catch(e){i=!0,a=e}finally{try{n||null==s.return||s.return()}finally{if(i)throw a}}}))}return b(e,[{key:"registerSingleton",value:function(e,t,n){this.singletonHandlers.push({predicates:e,resolutionCallback:t,createBlock:n})}},{key:"resolveSingletons",value:function(e,t,n){var r=this;e=e||[],t=t||[];var i=!0,a=!1,o=void 0;try{for(var s,u=function(){var i=s.value,a=i.predicates.slice(),o=r.modelManager.filterItemsWithPredicates(e,a),u=function(){i.createBlock&&(i.pendingCreateBlockCallback=!0,i.createBlock((function(e){i.singleton=e,i.pendingCreateBlockCallback=!1,i.resolutionCallback&&i.resolutionCallback(e)})))},c=r.modelManager.filterItemsWithPredicates(t,a).length;if(o.length>0||c>0){var l=r.modelManager.itemsMatchingPredicates(a);if(l.length>=2){var f=l.sort((function(e,t){return e.errorDecrypting?1:t.errorDecrypting||e.created_at=this.MaxDiscordanceBeforeOutOfSync&&(this.outOfSync||(this.outOfSync=!0,this.notifyEvent("enter-out-of-sync"))),e.abrupt("return",!1);case 13:return this.outOfSync&&(this.outOfSync=!1,this.notifyEvent("exit-out-of-sync")),this.syncDiscordance=0,e.abrupt("return",!0);case 16:case"end":return e.stop()}}),e,this)}))),function(e){return T.apply(this,arguments)})},{key:"isOutOfSync",value:function(){return this.outOfSync}},{key:"getServerURL",value:(R=y(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.storageManager.getItem("server");case 2:if(e.t0=e.sent,e.t0){e.next=5;break}e.t0=window._default_sf_server;case 5:return e.abrupt("return",e.t0);case 6:case"end":return e.stop()}}),e,this)}))),function(){return R.apply(this,arguments)})},{key:"getSyncURL",value:(I=y(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getServerURL();case 2:return e.t0=e.sent,e.abrupt("return",e.t0+"/items/sync");case 4:case"end":return e.stop()}}),e,this)}))),function(){return I.apply(this,arguments)})},{key:"registerSyncStatusObserver",value:function(e){var t={key:new Date,callback:e};return this.syncStatusObservers.push(t),t}},{key:"removeSyncStatusObserver",value:function(e){_.pull(this.syncStatusObservers,e)}},{key:"syncStatusDidChange",value:function(){var e=this;this.syncStatusObservers.forEach((function(t){t.callback(e.syncStatus)}))}},{key:"addEventHandler",value:function(e){return this.eventHandlers.push(e),e}},{key:"removeEventHandler",value:function(e){_.pull(this.eventHandlers,e)}},{key:"notifyEvent",value:function(e,t){var n=!0,r=!1,i=void 0;try{for(var a,o=this.eventHandlers[Symbol.iterator]();!(n=(a=o.next()).done);n=!0)(0,a.value)(e,t||{})}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}}},{key:"setKeyRequestHandler",value:function(e){this.keyRequestHandler=e}},{key:"getActiveKeyInfo",value:(E=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.keyRequestHandler(t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return E.apply(this,arguments)})},{key:"initialDataLoaded",value:function(){return!0===this._initialDataLoaded}},{key:"_sortLocalItems",value:function(e){var t=this;return e.sort((function(e,n){var r=new Date(n.updated_at)-new Date(e.updated_at),i=t.contentTypeLoadPriority,a=0,o=0;return i&&(a=i.indexOf(e.content_type),o=i.indexOf(n.content_type),-1==a&&(a=i.length),-1==o&&(o=i.length)),a==o?r:a0&&void 0!==u[0]?u[0]:{},r=n.incrementalCallback,i=n.batchSize,!(a=n.options)||!a.simulateHighLatency){t.next=5;break}return o=a.simulatedLatency||1e3,t.next=5,this._awaitSleep(o);case 5:if(!this.loadLocalDataPromise){t.next=7;break}return t.abrupt("return",this.loadLocalDataPromise);case 7:return i||(i=100),this.loadLocalDataPromise=this.storageManager.getAllModels().then((function(t){var n=(t=(t=s._sortLocalItems(t)).filter((function(e){var t=s.modelManager.findItem(e.uuid);return!t||new Date(e.dirtiedDate)>t.dirtiedDate}))).length,a=0,o=[],u=function(){var c=y(regeneratorRuntime.mark((function c(){var l,f;return regeneratorRuntime.wrap((function(c){for(;;)switch(c.prev=c.next){case 0:return l=t.slice(a,a+i),c.next=3,s.handleItemsResponse(l,null,C.MappingSourceLocalRetrieved,e.KeyRequestLoadLocal);case 3:if(f=c.sent,o.push(f),!((a+=l.length)0)){t.next=23;break}return t.next=23,Promise.all(u.map(function(){var e=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",i.storageManager.deleteModel(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 23:return t.next=25,i.getActiveKeyInfo(e.KeyRequestSaveLocal);case 25:if(m=t.sent,!(s.length>0)){t.next=33;break}return t.next=29,Promise.all(s.map(function(){var e=y(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=new M(t,m.keys,m.auth_params),e.next=3,n.paramsForLocalStorage();case 3:return n=e.sent,r&&delete n.dirty,e.abrupt("return",n);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())).catch((function(e){return o(e)}));case 29:return v=t.sent,t.next=32,i.storageManager.saveModels(v).catch((function(e){console.error("Error writing items",e),i.syncStatus.localError=e,i.syncStatusDidChange(),o()}));case 32:i.syncStatus.localError&&(i.syncStatus.localError=null,i.syncStatusDidChange());case 33:a();case 34:case"end":return t.stop()}}),t,null,[[4,8,12,20],[13,,15,19]])})));return function(e,n){return t.apply(this,arguments)}}()));case 3:case"end":return t.stop()}}),t)}))),function(e,t){return w.apply(this,arguments)})},{key:"syncOffline",value:(k=y(regeneratorRuntime.mark((function e(t){var n,r,i,a,o,s=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(n=!0,r=!1,i=void 0,e.prev=3,a=t[Symbol.iterator]();!(n=(o=a.next()).done);n=!0)o.value.updated_at=new Date;e.next=11;break;case 7:e.prev=7,e.t0=e.catch(3),r=!0,i=e.t0;case 11:e.prev=11,e.prev=12,n||null==a.return||a.return();case 14:if(e.prev=14,!r){e.next=17;break}throw i;case 17:return e.finish(14);case 18:return e.finish(11);case 19:return e.abrupt("return",this.writeItemsToLocalStorage(t,!0).then((function(e){var n=!0,r=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var u=a.value;u.deleted&&s.modelManager.removeItemLocally(u)}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}return s.modelManager.clearDirtyItems(t),s.modelManager.didSyncModelsOffline(t),s.notifyEvent("sync:completed",{savedItems:t}),{saved_items:t}})));case 20:case"end":return e.stop()}}),e,this,[[3,7,11,19],[12,,14,18]])}))),function(e){return k.apply(this,arguments)})},{key:"markAllItemsDirtyAndSaveOffline",value:(g=y(regeneratorRuntime.mark((function e(t){var n,r,i,a,o,s,u,c,l,f,p,d,h;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t){e.next=28;break}n=this.modelManager.allNondummyItems.filter((function(e){return!e.errorDecrypting})).slice(),r=!0,i=!1,a=void 0,e.prev=5,o=n[Symbol.iterator]();case 7:if(r=(s=o.next()).done){e.next=14;break}return u=s.value,e.next=11,this.modelManager.alternateUUIDForItem(u);case 11:r=!0,e.next=7;break;case 14:e.next=20;break;case 16:e.prev=16,e.t0=e.catch(5),i=!0,a=e.t0;case 20:e.prev=20,e.prev=21,r||null==o.return||o.return();case 23:if(e.prev=23,!i){e.next=26;break}throw a;case 26:return e.finish(23);case 27:return e.finish(20);case 28:for(c=this.modelManager.allNondummyItems,l=!0,f=!1,p=void 0,e.prev=32,d=c[Symbol.iterator]();!(l=(h=d.next()).done);l=!0)h.value.setDirty(!0);e.next=40;break;case 36:e.prev=36,e.t1=e.catch(32),f=!0,p=e.t1;case 40:e.prev=40,e.prev=41,l||null==d.return||d.return();case 43:if(e.prev=43,!f){e.next=46;break}throw p;case 46:return e.finish(43);case 47:return e.finish(40);case 48:return e.abrupt("return",this.writeItemsToLocalStorage(c,!1));case 49:case"end":return e.stop()}}),e,this,[[5,16,20,28],[21,,23,27],[32,36,40,48],[41,,43,47]])}))),function(e){return g.apply(this,arguments)})},{key:"setSyncToken",value:(m=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._syncToken=t,e.next=3,this.storageManager.setItem("syncToken",t);case 3:case"end":return e.stop()}}),e,this)}))),function(e){return m.apply(this,arguments)})},{key:"getSyncToken",value:(h=y(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._syncToken){e.next=4;break}return e.next=3,this.storageManager.getItem("syncToken");case 3:this._syncToken=e.sent;case 4:return e.abrupt("return",this._syncToken);case 5:case"end":return e.stop()}}),e,this)}))),function(){return h.apply(this,arguments)})},{key:"setCursorToken",value:(d=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._cursorToken=t,!t){e.next=6;break}return e.next=4,this.storageManager.setItem("cursorToken",t);case 4:e.next=8;break;case 6:return e.next=8,this.storageManager.removeItem("cursorToken");case 8:case"end":return e.stop()}}),e,this)}))),function(e){return d.apply(this,arguments)})},{key:"getCursorToken",value:(p=y(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._cursorToken){e.next=4;break}return e.next=3,this.storageManager.getItem("cursorToken");case 3:this._cursorToken=e.sent;case 4:return e.abrupt("return",this._cursorToken);case 5:case"end":return e.stop()}}),e,this)}))),function(){return p.apply(this,arguments)})},{key:"clearQueuedCallbacks",value:function(){this._queuedCallbacks=[]}},{key:"callQueuedCallbacks",value:function(e){var t=this.queuedCallbacks;if(t.length){var n=!0,r=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(n=(a=o.next()).done);n=!0)(0,a.value)(e)}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}this.clearQueuedCallbacks()}}},{key:"beginCheckingIfSyncIsTakingTooLong",value:function(){this.syncStatus.checker&&this.stopCheckingIfSyncIsTakingTooLong(),this.syncStatus.checker=this.$interval(function(){(new Date-this.syncStatus.syncStart)/1e3>5&&(this.notifyEvent("sync:taking-too-long"),this.stopCheckingIfSyncIsTakingTooLong())}.bind(this),500)}},{key:"stopCheckingIfSyncIsTakingTooLong",value:function(){this.$interval.hasOwnProperty("cancel")?this.$interval.cancel(this.syncStatus.checker):clearInterval(this.syncStatus.checker),this.syncStatus.checker=null}},{key:"lockSyncing",value:function(){this.syncLocked=!0}},{key:"unlockSyncing",value:function(){this.syncLocked=!1}},{key:"sync",value:(f=y(regeneratorRuntime.mark((function t(){var n,r=this,i=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=i.length>0&&void 0!==i[0]?i[0]:{},!this.syncLocked){t.next=4;break}return console.log("Sync Locked, Returning;"),t.abrupt("return");case 4:return t.abrupt("return",new Promise(function(){var t=y(regeneratorRuntime.mark((function t(i,a){var o,s,u,c,l,f,p,d,h,m,y,v,g,b;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n||(n={}),o=r.modelManager.getDirtyItems(),s=o.filter((function(e){return!r.lastDirtyItemsSave||e.dirtiedDate>r.lastDirtyItemsSave})),t.next=5,r.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 5:if(u=t.sent,c=r.syncStatus.syncOpInProgress,l=r.initialDataLoaded(),!c&&l){t.next=16;break}return r.performSyncAgainOnCompletion=!0,r.lastDirtyItemsSave=new Date,t.next=13,r.writeItemsToLocalStorage(s,!1);case 13:return c&&(r.queuedCallbacks.push(i),r.loggingEnabled&&console.warn("Attempting to sync while existing sync is in progress.")),l||(r.loggingEnabled&&console.warn("(1) Attempting to perform online sync before local data has loaded"),i()),t.abrupt("return");case 16:if(r.syncStatus.syncOpInProgress=!0,!u.offline){t.next=19;break}return t.abrupt("return",r.syncOffline(o).then((function(e){r.syncStatus.syncOpInProgress=!1,i(e)})).catch((function(e){r.notifyEvent("sync-exception",e)})));case 19:if(r.initialDataLoaded()){t.next=22;break}return console.error("Attempting to perform online sync before local data has loaded"),t.abrupt("return");case 22:return r.loggingEnabled&&console.log("Syncing online user."),f=r.syncStatus.needsMoreSync,r.syncStatus.syncStart=new Date,r.beginCheckingIfSyncIsTakingTooLong(),p=r.PerSyncItemUploadLimit,(d=o.slice(0,p)).lengthr.syncStatus.total&&(r.syncStatus.total=r.syncStatus.current),r.syncStatusDidChange(),t.next=34,r.writeItemsToLocalStorage(s,!1);case 34:return r.lastDirtyItemsSave=new Date,n.onPreSyncSave&&n.onPreSyncSave(),r.allRetreivedItems||(r.allRetreivedItems=[]),r.allSavedItems||(r.allSavedItems=[]),(h={}).limit=r.ServerItemDownloadLimit,n.performIntegrityCheck&&(h.compute_integrity=!0),t.prev=41,t.next=44,Promise.all(d.map((function(e){var t=new M(e,u.keys,u.auth_params);return t.additionalFields=n.additionalFields,t.paramsForSync()}))).then((function(e){h.items=e}));case 44:t.next=49;break;case 46:t.prev=46,t.t0=t.catch(41),r.notifyEvent("sync-exception",t.t0);case 49:for(m=!0,y=!1,v=void 0,t.prev=52,g=d[Symbol.iterator]();!(m=(b=g.next()).done);m=!0)b.value.dirtyCount=0;t.next=60;break;case 56:t.prev=56,t.t1=t.catch(52),y=!0,v=t.t1;case 60:t.prev=60,t.prev=61,m||null==g.return||g.return();case 63:if(t.prev=63,!y){t.next=66;break}throw v;case 66:return t.finish(63);case 67:return t.finish(60);case 68:return t.next=70,r.getSyncToken();case 70:return h.sync_token=t.sent,t.next=73,r.getCursorToken();case 73:return h.cursor_token=t.sent,h.api=S.getApiVersion(),r.loggingEnabled&&console.log("Syncing with params",h),t.prev=76,t.t2=r.httpManager,t.next=80,r.getSyncURL();case 80:t.t3=t.sent,t.t4=h,t.t5=function(e){r.handleSyncSuccess(d,e,n).then((function(){i(e)})).catch((function(e){console.log("Caught sync success exception:",e),r.handleSyncError(e,null,o).then((function(t){r.notifyEvent("sync-exception",e),i(t)}))}))},t.t6=function(e,t){r.handleSyncError(e,t,o).then((function(e){i(e)}))},t.t2.postAuthenticatedAbsolute.call(t.t2,t.t3,t.t4,t.t5,t.t6),t.next=90;break;case 87:t.prev=87,t.t7=t.catch(76),console.log("Sync exception caught:",t.t7);case 90:case"end":return t.stop()}}),t,null,[[41,46],[52,56,60,68],[61,,63,67],[76,87]])})));return function(e,n){return t.apply(this,arguments)}}()));case 5:case"end":return t.stop()}}),t,this)}))),function(){return f.apply(this,arguments)})},{key:"_awaitSleep",value:(l=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.warn("Simulating high latency sync request",t),e.abrupt("return",new Promise((function(e,n){setTimeout((function(){e()}),t)})));case 2:case"end":return e.stop()}}),e)}))),function(e){return l.apply(this,arguments)})},{key:"handleSyncSuccess",value:(c=y(regeneratorRuntime.mark((function t(n,r,i){var a,o,s,u,c,l,f,p,d,h,m,y,v,g,b,k,w=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!i.simulateHighLatency){t.next=4;break}return a=i.simulatedLatency||1e3,t.next=4,this._awaitSleep(a);case 4:for(this.syncStatus.error=null,this.loggingEnabled&&console.log("Sync response",r),o=this.allSavedItems.map((function(e){return e.uuid})),s=r.saved_items.map((function(e){return e.uuid})),r.retrieved_items=r.retrieved_items.filter((function(e){var t=o.includes(e.uuid),n=s.includes(e.uuid);if(t||n)return!1;var r=w.modelManager.findItem(e.uuid);return!r||!r.dirty})),u=[],c=!0,l=!1,f=void 0,t.prev=13,p=n[Symbol.iterator]();!(c=(d=p.next()).done);c=!0)0==(h=d.value).dirtyCount&&u.push(h);t.next=21;break;case 17:t.prev=17,t.t0=t.catch(13),l=!0,f=t.t0;case 21:t.prev=21,t.prev=22,c||null==p.return||p.return();case 24:if(t.prev=24,!l){t.next=27;break}throw f;case 27:return t.finish(24);case 28:return t.finish(21);case 29:return this.modelManager.clearDirtyItems(u),t.next=32,this.handleItemsResponse(r.retrieved_items,null,C.MappingSourceRemoteRetrieved,e.KeyRequestLoadSaveAccount);case 32:return m=t.sent,this.allRetreivedItems=this.allRetreivedItems.concat(m),this.syncStatus.retrievedCount=this.allRetreivedItems.length,y=["content","auth_hash"],t.next=38,this.handleItemsResponse(r.saved_items,y,C.MappingSourceRemoteSaved,e.KeyRequestLoadSaveAccount);case 38:return v=t.sent,this.allSavedItems=this.allSavedItems.concat(v),g=r.unsaved,t.next=43,this.deprecated_handleUnsavedItemsResponse(g);case 43:return t.next=45,this.handleConflictsResponse(r.conflicts);case 45:if(b=t.sent,k=b&&b.length>0,!b){t.next=50;break}return t.next=50,this.writeItemsToLocalStorage(b,!1);case 50:return t.next=52,this.writeItemsToLocalStorage(v,!1);case 52:return t.next=54,this.writeItemsToLocalStorage(m,!1);case 54:if(!r.integrity_hash||r.cursor_token){t.next=59;break}return t.next=57,this.handleServerIntegrityHash(r.integrity_hash);case 57:t.sent||this.syncDiscordance=this.majorDataChangeThreshold||v.length>=this.majorDataChangeThreshold||g&&g.length>=this.majorDataChangeThreshold||b&&b.length>=this.majorDataChangeThreshold)&&this.notifyEvent("major-data-change"),this.callQueuedCallbacks(r),this.notifyEvent("sync:completed",{retrievedItems:this.allRetreivedItems,savedItems:this.allSavedItems}),this.allRetreivedItems=[],this.allSavedItems=[],this.performSyncAgainOnCompletion&&(this.performSyncAgainOnCompletion=!1,setTimeout((function(){w.sync(i)}),10)),t.abrupt("return",r);case 88:case"end":return t.stop()}}),t,this,[[13,17,21,29],[22,,24,28]])}))),function(e,t,n){return c.apply(this,arguments)})},{key:"handleSyncError",value:(u=y(regeneratorRuntime.mark((function e(t,n,r){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.log("Sync error: ",t),401==n&&this.notifyEvent("sync-session-invalid"),t?"string"==typeof t&&(t={error:{message:t}}):t={error:{message:"Could not connect to server."}},this.syncStatus.syncOpInProgress=!1,this.syncStatus.error=t.error,this.syncStatusDidChange(),this.writeItemsToLocalStorage(r,!1),this.modelManager.didSyncModelsOffline(r),this.stopCheckingIfSyncIsTakingTooLong(),this.notifyEvent("sync:error",t.error),this.callQueuedCallbacks({error:"Sync error"}),e.abrupt("return",t);case 12:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return u.apply(this,arguments)})},{key:"handleItemsResponse",value:(s=y(regeneratorRuntime.mark((function e(t,n,r,i){var a,o,s;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getActiveKeyInfo(i);case 2:return a=e.sent.keys,e.next=5,SFJS.itemTransformer.decryptMultipleItems(t,a);case 5:return e.next=7,this.modelManager.mapResponseItemsToLocalModelsOmittingFields(t,n,r);case 7:return o=e.sent,(s=o.filter((function(e){var t=e.errorDecryptingValueChanged;return e.errorDecryptingValueChanged=!1,t}))).length>0&&this.writeItemsToLocalStorage(s,!1),e.abrupt("return",o);case 11:case"end":return e.stop()}}),e,this)}))),function(e,t,n,r){return s.apply(this,arguments)})},{key:"refreshErroredItems",value:(o=y(regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!((n=this.modelManager.allNondummyItems.filter((function(e){return 1==e.errorDecrypting}))).length>0)){t.next=3;break}return t.abrupt("return",this.handleItemsResponse(n,null,C.MappingSourceLocalRetrieved,e.KeyRequestLoadSaveAccount));case 3:case"end":return t.stop()}}),t,this)}))),function(){return o.apply(this,arguments)})},{key:"handleConflictsResponse",value:(a=y(regeneratorRuntime.mark((function t(n){var r,i,a,o,s,u,c,l,f,p,d,h,m,y,v,g,b,k,w,x,S,_,E,I,R,T,D,A,F,M,P;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n&&0!=n.length){t.next=2;break}return t.abrupt("return");case 2:this.loggingEnabled&&console.log("Handle Conflicted Items:",n),r={},i=!0,a=!1,o=void 0,t.prev=7,s=n[Symbol.iterator]();case 9:if(i=(u=s.next()).done){t.next=21;break}if(c=u.value,l=c.server_item||c.unsaved_item,f=this.modelManager.findItem(l.uuid)){t.next=16;break}return r[l.uuid]={},t.abrupt("continue",18);case 16:p=f.getContentCopy(),r[l.uuid]={frozenContent:p,itemRef:f};case 18:i=!0,t.next=9;break;case 21:t.next=27;break;case 23:t.prev=23,t.t0=t.catch(7),a=!0,o=t.t0;case 27:t.prev=27,t.prev=28,i||null==s.return||s.return();case 30:if(t.prev=30,!a){t.next=33;break}throw o;case 33:return t.finish(30);case 34:return t.finish(27);case 35:d=[],h=!0,m=!1,y=void 0,t.prev=39,v=n[Symbol.iterator]();case 41:if(h=(g=v.next()).done){t.next=91;break}return b=g.value,k=b.server_item||b.unsaved_item,t.t1=SFJS.itemTransformer,t.t2=[k],t.next=48,this.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 48:return t.t3=t.sent.keys,t.next=51,t.t1.decryptMultipleItems.call(t.t1,t.t2,t.t3);case 51:if(w=r[k.uuid],x=w.frozenContent,S=w.itemRef){t.next=54;break}return t.abrupt("continue",88);case 54:if(d.push(S),"uuid_conflict"!==b.type){t.next=62;break}return t.next=58,this.modelManager.alternateUUIDForItem(S);case 58:_=t.sent,d.push(_),t.next=88;break;case 62:if("sync_conflict"!==b.type){t.next=86;break}return t.next=65,this.modelManager.createDuplicateItemFromResponseItem(k);case 65:if(E=t.sent,I=this.modelManager.duplicateItemWithCustomContent({content:x,duplicateOf:S}),R=!I.isItemContentEqualWith(E),T=!S.isItemContentEqualWith(E),D=!1,A=!1,F=!1,M=!1,k.deleted||S.deleted?M=!0:R?(new Date-S.client_updated_at)/1e3<20?(F=!0,A=!0):(D=!0,M=!0):T?O.AreItemContentsEqual({leftContent:S.content,rightContent:E.content,keysToIgnore:S.keysToIgnoreWhenCheckingContentEquality().concat(["references"]),appDataKeysToIgnore:S.appDataKeysToIgnoreWhenCheckingContentEquality()})?F=!0:(D=!0,M=!0):M=!0,!D){t.next=79;break}return t.next=77,this.modelManager.duplicateItemWithCustomContentAndAddAsConflict({content:x,duplicateOf:S});case 77:P=t.sent,d.push(P);case 79:if(A&&(this.modelManager.addDuplicatedItemAsConflict({duplicate:E,duplicateOf:S}),d.push(E)),!M){t.next=83;break}return t.next=83,this.modelManager.mapResponseItemsToLocalModelsOmittingFields([k],null,C.MappingSourceRemoteRetrieved);case 83:F&&(S.updated_at=E.updated_at,S.setDirty(!0)),t.next=88;break;case 86:return console.error("Unsupported conflict type",b.type),t.abrupt("continue",88);case 88:h=!0,t.next=41;break;case 91:t.next=97;break;case 93:t.prev=93,t.t4=t.catch(39),m=!0,y=t.t4;case 97:t.prev=97,t.prev=98,h||null==v.return||v.return();case 100:if(t.prev=100,!m){t.next=103;break}throw y;case 103:return t.finish(100);case 104:return t.finish(97);case 105:return t.abrupt("return",d);case 106:case"end":return t.stop()}}),t,this,[[7,23,27,35],[28,,30,34],[39,93,97,105],[98,,100,104]])}))),function(e){return a.apply(this,arguments)})},{key:"deprecated_handleUnsavedItemsResponse",value:(i=y(regeneratorRuntime.mark((function t(n){var r,i,a,o,s,u,c,l,f,p;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n&&0!=n.length){t.next=2;break}return t.abrupt("return");case 2:this.loggingEnabled&&console.log("Handle Unsaved Items:",n),r=!0,i=!1,a=void 0,t.prev=6,o=n[Symbol.iterator]();case 8:if(r=(s=o.next()).done){t.next=35;break}return u=s.value,c=u.item,t.t0=SFJS.itemTransformer,t.t1=[c],t.next=15,this.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 15:return t.t2=t.sent.keys,t.next=18,t.t0.decryptMultipleItems.call(t.t0,t.t1,t.t2);case 18:if(l=this.modelManager.findItem(c.uuid)){t.next=21;break}return t.abrupt("continue",32);case 21:if("uuid_conflict"!==(f=u.error).tag){t.next=27;break}return t.next=25,this.modelManager.alternateUUIDForItem(l);case 25:t.next=32;break;case 27:if("sync_conflict"!==f.tag){t.next=32;break}return t.next=30,this.modelManager.createDuplicateItemFromResponseItem(c);case 30:p=t.sent,c.deleted||l.isItemContentEqualWith(p)||this.modelManager.addDuplicatedItemAsConflict({duplicate:p,duplicateOf:l});case 32:r=!0,t.next=8;break;case 35:t.next=41;break;case 37:t.prev=37,t.t3=t.catch(6),i=!0,a=t.t3;case 41:t.prev=41,t.prev=42,r||null==o.return||o.return();case 44:if(t.prev=44,!i){t.next=47;break}throw a;case 47:return t.finish(44);case 48:return t.finish(41);case 49:case"end":return t.stop()}}),t,this,[[6,37,41,49],[42,,44,48]])}))),function(e){return i.apply(this,arguments)})},{key:"stateless_downloadAllItems",value:function(){var t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new Promise(function(){var r=y(regeneratorRuntime.mark((function r(i,a){var o;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return o={limit:n.limit||500,sync_token:n.syncToken,cursor_token:n.cursorToken,content_type:n.contentType,event:n.event,api:S.getApiVersion()},r.prev=1,r.t0=t.httpManager,r.next=5,t.getSyncURL();case 5:r.t1=r.sent,r.t2=o,r.t3=function(){var r=y(regeneratorRuntime.mark((function r(a){var o,s;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return n.retrievedItems||(n.retrievedItems=[]),o=a.retrieved_items,r.next=4,t.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 4:return s=r.sent.keys,r.next=7,SFJS.itemTransformer.decryptMultipleItems(o,s);case 7:n.retrievedItems=n.retrievedItems.concat(o.map((function(e){return t.modelManager.createItem(e)}))),n.syncToken=a.sync_token,n.cursorToken=a.cursor_token,n.cursorToken?t.stateless_downloadAllItems(n).then(i):i(n.retrievedItems);case 11:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}(),r.t4=function(e,t){a(e)},r.t0.postAuthenticatedAbsolute.call(r.t0,r.t1,r.t2,r.t3,r.t4),r.next=16;break;case 12:r.prev=12,r.t5=r.catch(1),console.log("Download all items exception caught:",r.t5),a(r.t5);case 16:case"end":return r.stop()}}),r,null,[[1,12]])})));return function(e,t){return r.apply(this,arguments)}}())}},{key:"resolveOutOfSync",value:(r=y(regeneratorRuntime.mark((function e(){var t=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.stateless_downloadAllItems({event:"resolve-out-of-sync"}).then(function(){var e=y(regeneratorRuntime.mark((function e(n){var r,i,a,o,s,u,c,l;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=[],i=!0,a=!1,o=void 0,e.prev=4,s=n[Symbol.iterator]();case 6:if(i=(u=s.next()).done){e.next=18;break}if(c=u.value,!(l=t.modelManager.findItem(c.uuid))){e.next=14;break}if(c.isItemContentEqualWith(l)){e.next=14;break}return e.next=14,t.modelManager.duplicateItemAndAddAsConflict(l);case 14:r.push(c);case 15:i=!0,e.next=6;break;case 18:e.next=24;break;case 20:e.prev=20,e.t0=e.catch(4),a=!0,o=e.t0;case 24:e.prev=24,e.prev=25,i||null==s.return||s.return();case 27:if(e.prev=27,!a){e.next=30;break}throw o;case 30:return e.finish(27);case 31:return e.finish(24);case 32:return e.next=34,t.modelManager.mapResponseItemsToLocalModelsWithOptions({items:r,source:C.MappingSourceRemoteRetrieved});case 34:return e.next=36,t.writeItemsToLocalStorage(t.modelManager.allNondummyItems);case 36:return e.abrupt("return",t.sync({performIntegrityCheck:!0}));case 37:case"end":return e.stop()}}),e,null,[[4,20,24,32],[25,,27,31]])})));return function(t){return e.apply(this,arguments)}}()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"handleSignout",value:(n=y(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.outOfSync=!1,this.loadLocalDataPromise=null,this.performSyncAgainOnCompletion=!1,this.syncStatus.syncOpInProgress=!1,this._queuedCallbacks=[],this.syncStatus={},e.abrupt("return",this.clearSyncToken());case 7:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"clearSyncToken",value:(t=y(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._syncToken=null,this._cursorToken=null,e.abrupt("return",this.storageManager.removeItem("syncToken"));case 3:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"__setLocalDataNotLoaded",value:function(){this.loadLocalDataPromise=null,this._initialDataLoaded=!1}},{key:"queuedCallbacks",get:function(){return this._queuedCallbacks||(this._queuedCallbacks=[]),this._queuedCallbacks}}]),e}();r.SFSyncManager=F;var O=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};v(this,e),this.content={},this.referencingObjects=[],this.updateFromJSON(t),this.uuid||"undefined"!=typeof SFJS&&SFJS.crypto.generateUUIDSync&&(this.uuid=SFJS.crypto.generateUUIDSync()),"object"!==h(this.content)||this.content.references||(this.content.references=[])}var t;return b(e,[{key:"initUUID",value:(t=y(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.uuid){e.next=4;break}return e.next=3,SFJS.crypto.generateUUID();case 3:this.uuid=e.sent;case 4:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"updateFromJSON",value:function(t){if(t){this.deleted=t.deleted,this.uuid=t.uuid,this.enc_item_key=t.enc_item_key,this.auth_hash=t.auth_hash,this.auth_params=t.auth_params;for(var n=0,r=["errorDecrypting","dirty","dirtyCount","dirtiedDate","dummy"];n"==n.operator?m>h:"<="==n.operator?m<=h:">="==n.operator?m>=h:"startsWith"==n.operator?m.startsWith(h):"in"==n.operator?-1!=h.indexOf(m):"includes"==n.operator?this.resolveIncludesPredicate(m,h):"matches"==n.operator&&new RegExp(h).test(m)}},{key:"resolveIncludesPredicate",value:function(t,n){if("string"==typeof n)return t.includes(n);var r;r=Array.isArray(n)?e.fromArray(n):n;var i=!0,a=!1,o=void 0;try{for(var s,u=t[Symbol.iterator]();!(i=(s=u.next()).done);i=!0){var c=s.value;if(this.ObjectSatisfiesPredicate(c,r))return!0}}catch(e){a=!0,o=e}finally{try{i||null==u.return||u.return()}finally{if(a)throw o}}return!1}},{key:"ItemSatisfiesPredicate",value:function(t,n){return Array.isArray(n)&&(n=e.fromArray(n)),this.ObjectSatisfiesPredicate(t,n)}},{key:"ItemSatisfiesPredicates",value:function(e,t){var n=!0,r=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value;if(!this.ItemSatisfiesPredicate(e,s))return!1}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}return!0}},{key:"DateFromString",value:function(e){var t=e.split("."),n=t[1],r=new Date,i=parseInt(t[0]);return"days"==n?r.setDate(r.getDate()-i):"hours"==n&&r.setHours(r.getHours()-i),r}},{key:"IsRecursiveOperator",value:function(e){return["and","or"].includes(e)}}]),e}();r.SFPredicate=P;var N=function(e){function t(e){var n;return v(this,t),(n=c(this,l(t).call(this,e))).content.desktopPrivileges||(n.content.desktopPrivileges={}),n}return f(t,e),b(t,null,[{key:"contentType",value:function(){return"SN|Privileges"}}]),b(t,[{key:"setCredentialsForAction",value:function(e,t){this.content.desktopPrivileges[e]=t}},{key:"getCredentialsForAction",value:function(e){return this.content.desktopPrivileges[e]||[]}},{key:"toggleCredentialForAction",value:function(e,t){this.isCredentialRequiredForAction(e,t)?this.removeCredentialForAction(e,t):this.addCredentialForAction(e,t)}},{key:"removeCredentialForAction",value:function(e,t){_.pull(this.content.desktopPrivileges[e],t)}},{key:"addCredentialForAction",value:function(e,t){var n=this.getCredentialsForAction(e);n.push(t),this.setCredentialsForAction(e,n)}},{key:"isCredentialRequiredForAction",value:function(e,t){return this.getCredentialsForAction(e).includes(t)}}]),t}(O);r.SFPrivileges=N;var L=function(e){function t(e){var n;return v(this,t),(n=c(this,l(t).call(this,e))).content.itemUUIDToItemHistoryMapping||(n.content.itemUUIDToItemHistoryMapping={}),Object.keys(n.content.itemUUIDToItemHistoryMapping).forEach((function(e){var t=n.content.itemUUIDToItemHistoryMapping[e];n.content.itemUUIDToItemHistoryMapping[e]=new j(t)})),n}return f(t,e),b(t,[{key:"addEntryForItem",value:function(e){return this.historyForItem(e).addHistoryEntryForItem(e)}},{key:"historyForItem",value:function(e){var t=this.content.itemUUIDToItemHistoryMapping[e.uuid];return t||(t=this.content.itemUUIDToItemHistoryMapping[e.uuid]=new j),t}},{key:"clearItemHistory",value:function(e){this.historyForItem(e).clear()}},{key:"clearAllHistory",value:function(){this.content.itemUUIDToItemHistoryMapping={}}},{key:"optimizeHistoryForItem",value:function(e){var n=this.historyForItem(e);n.entries.length>t.LargeItemEntryAmountThreshold&&n.optimize()}}]),t}(O);r.SFHistorySession=L,L.LargeItemEntryAmountThreshold=60;var j=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(v(this,e),this.entries||(this.entries=[]),t.entries){var n=!0,r=!1,i=void 0;try{for(var a,o=t.entries[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value,u=this.createEntryForItem(s.item);u.setPreviousEntry(this.getLastEntry()),this.entries.push(u)}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}}}return b(e,[{key:"createEntryForItem",value:function(t){var n=e.HistoryEntryClassMapping&&e.HistoryEntryClassMapping[t.content_type];return n||(n=B),new n(t)}},{key:"getLastEntry",value:function(){return this.entries[this.entries.length-1]}},{key:"addHistoryEntryForItem",value:function(e){var t=this.createEntryForItem(e),n=this.getLastEntry();if(t.setPreviousEntry(n),!t.isSameAsEntry(n))return this.entries.push(t),t}},{key:"clear",value:function(){this.entries.length=0}},{key:"optimize",value:function(){var t=this,n=[],r=function(t){return t.deltaSize()>e.LargeEntryDeltaThreshold},i=function(e,i,a){if(a?n.push(e):-1!==(i=n.indexOf(e))&&n.splice(i,1),a&&r(e)&&-1==e.operationVector()){var o=t.entries[i-1];o&&n.push(o)}};this.entries.forEach((function(e,n){if(0==n||n==t.entries.length-1)i(e,n,!0);else{var a=r(e);i(e,n,a)}})),this.entries=this.entries.filter((function(e,t){return-1!==n.indexOf(e)}))}}]),e}();r.SFItemHistory=j,j.LargeEntryDeltaThreshold=15;var B=function(){function e(t){v(this,e),this.item=O.deepMerge({},t),this.defaultContentKeyToDiffOn="text",this.textCharDiffLength=0,"string"==typeof this.item.updated_at&&(this.item.updated_at=new Date(this.item.updated_at))}return b(e,[{key:"setPreviousEntry",value:function(e){this.hasPreviousEntry=null!=e,this.item.content[this.defaultContentKeyToDiffOn]&&(this.textCharDiffLength=e?this.item.content[this.defaultContentKeyToDiffOn].length-e.item.content[this.defaultContentKeyToDiffOn].length:this.item.content[this.defaultContentKeyToDiffOn].length)}},{key:"operationVector",value:function(){return null!=this.textCharDiffLength?this.hasPreviousEntry&&0!=this.textCharDiffLength?this.textCharDiffLength<0?-1:1:0:1}},{key:"deltaSize",value:function(){return null!=this.textCharDiffLength?Math.abs(this.textCharDiffLength):1}},{key:"isSameAsEntry",value:function(e){if(!e)return!1;var t=new O(this.item),n=new O(e.item);return t.isItemContentEqualWith(n)}}]),e}();r.SFItemHistoryEntry=B,x="undefined"!=typeof window?window:void 0!==e?e:null;var z=function(){function e(){v(this,e),this.DefaultPBKDF2Length=768}var t,n,r,i,a,o,s,c,l,f,p,d,h,m,g;return b(e,[{key:"generateUUIDSync",value:function(){var e=x.crypto||x.msCrypto;if(e){var t=new Uint32Array(4);e.getRandomValues(t);var n=-1;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){n++;var r=t[n>>3]>>n%8*4&15;return("x"==e?r:3&r|8).toString(16)}))}var r=(new Date).getTime();return x.performance&&"function"==typeof x.performance.now&&(r+=performance.now()),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=(r+16*Math.random())%16|0;return r=Math.floor(r/16),("x"==e?t:3&t|8).toString(16)}))}},{key:"generateUUID",value:(g=y(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.generateUUIDSync());case 1:case"end":return e.stop()}}),e,this)}))),function(){return g.apply(this,arguments)})},{key:"timingSafeEqual",value:function(e,t){var n=String(e),r=String(t),i=n.length,a=0;i!==r.length&&(r=n,a=1);for(var o=0;o0&&void 0!==d[0]?d[0]:{},n=t.ciphertextToAuth,r=t.contentCiphertext,i=t.encryptionKey,a=t.iv,o=t.authHash,s=t.authKey,!(d.length>1?d[1]:void 0)||o){e.next=5;break}return console.error("Auth hash is required."),e.abrupt("return");case 5:if(!o){e.next=12;break}return e.next=8,this.hmac256(n,s);case 8:if(c=e.sent,!1!==this.timingSafeEqual(o,c)){e.next=12;break}return console.error("Auth hash does not match, returning null."),e.abrupt("return",null);case 12:return l=u.enc.Hex.parse(i),f=u.enc.Hex.parse(a||""),p=u.AES.decrypt(r,l,{iv:f,mode:u.mode.CBC,padding:u.pad.Pkcs7}),e.abrupt("return",p.toString(u.enc.Utf8));case 16:case"end":return e.stop()}}),e,this)}))),function(){return m.apply(this,arguments)})},{key:"encryptText",value:(h=y(regeneratorRuntime.mark((function e(t,n,r){var i,a,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=u.enc.Hex.parse(n),a=u.enc.Hex.parse(r||""),o=u.AES.encrypt(t,i,{iv:a,mode:u.mode.CBC,padding:u.pad.Pkcs7}),e.abrupt("return",o.toString());case 4:case"end":return e.stop()}}),e)}))),function(e,t,n){return h.apply(this,arguments)})},{key:"generateRandomKey",value:(d=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",u.lib.WordArray.random(t/8).toString());case 1:case"end":return e.stop()}}),e)}))),function(e){return d.apply(this,arguments)})},{key:"generateItemEncryptionKey",value:(p=y(regeneratorRuntime.mark((function e(){var t,n,r,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=512,n=1,e.next=4,this.generateRandomKey(t);case 4:return r=e.sent,e.next=7,this.generateRandomKey(t);case 7:return i=e.sent,e.abrupt("return",this.pbkdf2(i,r,n,t));case 9:case"end":return e.stop()}}),e,this)}))),function(){return p.apply(this,arguments)})},{key:"firstHalfOfKey",value:(f=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.substring(0,t.length/2));case 1:case"end":return e.stop()}}),e)}))),function(e){return f.apply(this,arguments)})},{key:"secondHalfOfKey",value:(l=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.substring(t.length/2,t.length));case 1:case"end":return e.stop()}}),e)}))),function(e){return l.apply(this,arguments)})},{key:"base64",value:(c=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",x.btoa(encodeURIComponent(t).replace(/%([0-9A-F]{2})/g,(function(e,t){return String.fromCharCode("0x"+t)}))));case 1:case"end":return e.stop()}}),e)}))),function(e){return c.apply(this,arguments)})},{key:"base64Decode",value:(s=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",x.atob(t));case 1:case"end":return e.stop()}}),e)}))),function(e){return s.apply(this,arguments)})},{key:"sha256",value:(o=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",u.SHA256(t).toString());case 1:case"end":return e.stop()}}),e)}))),function(e){return o.apply(this,arguments)})},{key:"hmac256",value:(a=y(regeneratorRuntime.mark((function e(t,n){var r,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=u.enc.Hex.parse(n),i=u.enc.Utf8.parse(t),a=u.HmacSHA256(i,r).toString(),e.abrupt("return",a);case 4:case"end":return e.stop()}}),e)}))),function(e,t){return a.apply(this,arguments)})},{key:"generateSalt",value:(i=y(regeneratorRuntime.mark((function e(t,n,r,i){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.sha256([t,"SF",n,r,i].join(":"));case 2:return a=e.sent,e.abrupt("return",a);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t,n,r){return i.apply(this,arguments)})},{key:"generateSymmetricKeyPair",value:(r=y(regeneratorRuntime.mark((function e(){var t,n,r,i,a,o,s,u,c,l,f=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=f.length>0&&void 0!==f[0]?f[0]:{},n=t.password,r=t.pw_salt,i=t.pw_cost,e.next=3,this.pbkdf2(n,r,i,this.DefaultPBKDF2Length);case 3:return a=e.sent,o=a.length,s=o/3,u=a.slice(0,s),c=a.slice(s,2*s),l=a.slice(2*s,3*s),e.abrupt("return",[u,c,l]);case 10:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"computeEncryptionKeysForUser",value:(n=y(regeneratorRuntime.mark((function e(t,n){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("003"!=n.version){e.next=9;break}if(n.identifier){e.next=4;break}return console.error("authParams is missing identifier."),e.abrupt("return");case 4:return e.next=6,this.generateSalt(n.identifier,n.version,n.pw_cost,n.pw_nonce);case 6:r=e.sent,e.next=10;break;case 9:r=n.pw_salt;case 10:return e.abrupt("return",this.generateSymmetricKeyPair({password:t,pw_salt:r,pw_cost:n.pw_cost}).then((function(e){return{pw:e[0],mk:e[1],ak:e[2]}})));case 11:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"generateInitialKeysAndAuthParamsForUser",value:(t=y(regeneratorRuntime.mark((function e(t,n){var r,i,a,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=this.SFJS.version,i=this.SFJS.defaultPasswordGenerationCost,e.next=4,this.generateRandomKey(256);case 4:return a=e.sent,e.next=7,this.generateSalt(t,r,i,a);case 7:return o=e.sent,e.abrupt("return",this.generateSymmetricKeyPair({password:n,pw_salt:o,pw_cost:i}).then((function(e){var n={pw_nonce:a,pw_cost:i,identifier:t,version:r};return{keys:{pw:e[0],mk:e[1],ak:e[2]},authParams:n}})));case 9:case"end":return e.stop()}}),e,this)}))),function(e,n){return t.apply(this,arguments)})}]),e}();r.SFAbstractCrypto=z;var U=function(e){function t(){return v(this,t),c(this,l(t).apply(this,arguments))}var n;return f(t,e),b(t,[{key:"pbkdf2",value:(n=y(regeneratorRuntime.mark((function e(t,n,r,i){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a={keySize:i/32,hasher:u.algo.SHA512,iterations:r},e.abrupt("return",u.PBKDF2(t,n,a).toString());case 2:case"end":return e.stop()}}),e)}))),function(e,t,r,i){return n.apply(this,arguments)})}]),t}(z);r.SFCryptoJS=U;var H=(x="undefined"!=typeof window?window:void 0!==e?e:null).crypto?x.crypto.subtle:null,K=function(e){function t(){return v(this,t),c(this,l(t).apply(this,arguments))}var n,r,i,a,o,s,u,p,d,h,m,g,k,w;return f(t,e),b(t,[{key:"pbkdf2",value:(w=y(regeneratorRuntime.mark((function e(t,n,r,i){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.webCryptoImportKey(t,"PBKDF2",["deriveBits"]);case 2:if(a=e.sent){e.next=6;break}return console.log("Key is null, unable to continue"),e.abrupt("return",null);case 6:return e.abrupt("return",this.webCryptoDeriveBits(a,n,r,i));case 7:case"end":return e.stop()}}),e,this)}))),function(e,t,n,r){return w.apply(this,arguments)})},{key:"generateRandomKey",value:(k=y(regeneratorRuntime.mark((function e(t){var n=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",H.generateKey({name:"AES-CBC",length:t},!0,["encrypt","decrypt"]).then((function(e){return H.exportKey("raw",e).then(function(){var e=y(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,n.arrayBufferToHexString(new Uint8Array(t));case 2:return r=e.sent,e.abrupt("return",r);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){console.error("Error exporting key",e)}))})).catch((function(e){console.error("Error generating key",e)})));case 2:case"end":return e.stop()}}),e)}))),function(e){return k.apply(this,arguments)})},{key:"generateItemEncryptionKey",value:(g=y(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Promise.all([this.generateRandomKey(256),this.generateRandomKey(256)]).then((function(e){return e.join("")})));case 2:case"end":return e.stop()}}),e,this)}))),function(){return g.apply(this,arguments)})},{key:"encryptText",value:(m=y(regeneratorRuntime.mark((function e(t,n,r){var i,a,o,s,u,c=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!r){e.next=6;break}return e.next=3,this.hexStringToArrayBuffer(r);case 3:e.t0=e.sent,e.next=7;break;case 6:e.t0=new ArrayBuffer(16);case 7:return i=e.t0,a={name:"AES-CBC",iv:i},e.next=11,this.hexStringToArrayBuffer(n);case 11:return o=e.sent,e.next=14,this.webCryptoImportKey(o,a.name,["encrypt"]);case 14:return s=e.sent,e.next=17,this.stringToArrayBuffer(t);case 17:return u=e.sent,e.abrupt("return",crypto.subtle.encrypt(a,s,u).then(function(){var e=y(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,c.arrayBufferToBase64(t);case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 19:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return m.apply(this,arguments)})},{key:"decryptText",value:(h=y(regeneratorRuntime.mark((function e(){var t,n,r,i,a,o,s,u,c,l,f,p,d,h=this,m=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=m.length>0&&void 0!==m[0]?m[0]:{},n=t.ciphertextToAuth,r=t.contentCiphertext,i=t.encryptionKey,a=t.iv,o=t.authHash,s=t.authKey,!(m.length>1?m[1]:void 0)||o){e.next=5;break}return console.error("Auth hash is required."),e.abrupt("return");case 5:if(!o){e.next=12;break}return e.next=8,this.hmac256(n,s);case 8:if(u=e.sent,!1!==this.timingSafeEqual(o,u)){e.next=12;break}return console.error("Auth hash does not match, returning null. ".concat(o," != ").concat(u)),e.abrupt("return",null);case 12:if(!a){e.next=18;break}return e.next=15,this.hexStringToArrayBuffer(a);case 15:e.t0=e.sent,e.next=19;break;case 18:e.t0=new ArrayBuffer(16);case 19:return c=e.t0,l={name:"AES-CBC",iv:c},e.next=23,this.hexStringToArrayBuffer(i);case 23:return f=e.sent,e.next=26,this.webCryptoImportKey(f,l.name,["decrypt"]);case 26:return p=e.sent,e.next=29,this.base64ToArrayBuffer(r);case 29:return d=e.sent,e.abrupt("return",crypto.subtle.decrypt(l,p,d).then(function(){var e=y(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,h.arrayBufferToString(t);case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){console.error("Error decrypting:",e)})));case 31:case"end":return e.stop()}}),e,this)}))),function(){return h.apply(this,arguments)})},{key:"hmac256",value:(d=y(regeneratorRuntime.mark((function e(t,n){var r,i,a,o=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.hexStringToArrayBuffer(n);case 2:return r=e.sent,e.next=5,this.webCryptoImportKey(r,"HMAC",["sign"],{name:"SHA-256"});case 5:return i=e.sent,e.next=8,this.stringToArrayBuffer(t);case 8:return a=e.sent,e.abrupt("return",crypto.subtle.sign({name:"HMAC"},i,a).then(function(){var e=y(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o.arrayBufferToHexString(t);case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){console.error("Error computing hmac",e)})));case 10:case"end":return e.stop()}}),e,this)}))),function(e,t){return d.apply(this,arguments)})},{key:"webCryptoImportKey",value:(p=y(regeneratorRuntime.mark((function e(t,n,r,i){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("string"!=typeof t){e.next=6;break}return e.next=3,this.stringToArrayBuffer(t);case 3:e.t0=e.sent,e.next=7;break;case 6:e.t0=t;case 7:return a=e.t0,e.abrupt("return",H.importKey("raw",a,{name:n,hash:i},!1,r).then((function(e){return e})).catch((function(e){return console.error(e),null})));case 9:case"end":return e.stop()}}),e,this)}))),function(e,t,n,r){return p.apply(this,arguments)})},{key:"webCryptoDeriveBits",value:(u=y(regeneratorRuntime.mark((function e(t,n,r,i){var a,o=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.stringToArrayBuffer(n);case 2:return e.t0=e.sent,e.t1=r,e.t2={name:"SHA-512"},a={name:"PBKDF2",salt:e.t0,iterations:e.t1,hash:e.t2},e.abrupt("return",H.deriveBits(a,t,i).then(function(){var e=y(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o.arrayBufferToHexString(new Uint8Array(t));case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){return console.error(e),null})));case 7:case"end":return e.stop()}}),e,this)}))),function(e,t,n,r){return u.apply(this,arguments)})},{key:"stringToArrayBuffer",value:(s=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){var r=new Blob([t]),i=new FileReader;i.onload=function(t){e(t.target.result)},i.readAsArrayBuffer(r)})));case 1:case"end":return e.stop()}}),e)}))),function(e){return s.apply(this,arguments)})},{key:"arrayBufferToString",value:(o=y(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){var r=new Blob([t]),i=new FileReader;i.onload=function(t){e(t.target.result)},i.readAsText(r)})));case 1:case"end":return e.stop()}}),e)}))),function(e){return o.apply(this,arguments)})},{key:"arrayBufferToHexString",value:(a=y(regeneratorRuntime.mark((function e(t){var n,r,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(n=new Uint8Array(t),r="",a=0;a5e3)||this.crypto instanceof K}},{key:"supportedVersions",value:function(){return["001","002","003"]}},{key:"isVersionNewerThanLibraryVersion",value:function(e){var t=this.version();return parseInt(e)>parseInt(t)}},{key:"isProtocolVersionOutdated",value:function(e){var t={"001":Date.parse("2018-01-01"),"002":Date.parse("2020-01-01")}[e];return!!t&&new Date>t}},{key:"costMinimumForVersion",value:function(e){return{"001":3e3,"002":3e3,"003":11e4}[e]}},{key:"defaultPasswordGenerationCost",value:function(){return this.costMinimumForVersion(this.version())}}]),e}();if(r.StandardFile=V,x)try{x.StandardFile=V,x.SFJS=new V,x.SFCryptoWeb=K,x.SFCryptoJS=U,x.SFItemTransformer=W,x.SFModelManager=C,x.SFItem=O,x.SFItemParams=M,x.SFHttpManager=S,x.SFStorageManager=D,x.SFSyncManager=F,x.SFAuthManager=w,x.SFMigrationManager=E,x.SFAlertManager=k,x.SFPredicate=P,x.SFHistorySession=L,x.SFSessionHistoryManager=R,x.SFItemHistory=j,x.SFItemHistoryEntry=B,x.SFPrivilegesManager=I,x.SFPrivileges=N,x.SFSingletonManager=T}catch(e){console.log("Exception while exporting window variables",e)}}).call(this,void 0!==t?t:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1])(1)}).call(this,n(2))},function(e,t){!function(t){"use strict";var n=Object.prototype,r=n.hasOwnProperty,i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",o=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag",u="object"==typeof e,c=t.regeneratorRuntime;if(c)u&&(e.exports=c);else{(c=t.regeneratorRuntime=u?e.exports:{}).wrap=m;var l={},f={};f[a]=function(){return this};var p=Object.getPrototypeOf,d=p&&p(p(C([])));d&&d!==n&&r.call(d,a)&&(f=d);var h=b.prototype=v.prototype=Object.create(f);g.prototype=h.constructor=b,b.constructor=g,b[s]=g.displayName="GeneratorFunction",c.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},c.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,s in e||(e[s]="GeneratorFunction")),e.prototype=Object.create(h),e},c.awrap=function(e){return{__await:e}},k(w.prototype),w.prototype[o]=function(){return this},c.AsyncIterator=w,c.async=function(e,t,n,r){var i=new w(m(e,t,n,r));return c.isGeneratorFunction(t)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},k(h),h[s]="Generator",h[a]=function(){return this},h.toString=function(){return"[object Generator]"},c.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},c.values=C,E.prototype={constructor:E,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(n,r){return o.type="throw",o.arg=e,t.next=n,r&&(t.method="next",t.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],o=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(s&&u){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),_(n),l}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;_(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:C(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),l}}}function m(e,t,n,r){var i=t&&t.prototype instanceof v?t:v,a=Object.create(i.prototype),o=new E(r||[]);return a._invoke=function(e,t,n){var r="suspendedStart";return function(i,a){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw a;return{value:void 0,done:!0}}for(n.method=i,n.arg=a;;){var o=n.delegate;if(o){var s=x(o,n);if(s){if(s===l)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var u=y(e,t,n);if("normal"===u.type){if(r=n.done?"completed":"suspendedYield",u.arg===l)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r="completed",n.method="throw",n.arg=u.arg)}}}(e,n,o),a}function y(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}function v(){}function g(){}function b(){}function k(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function w(e){var t;this._invoke=function(n,i){function a(){return new Promise((function(t,a){!function t(n,i,a,o){var s=y(e[n],e,i);if("throw"!==s.type){var u=s.arg,c=u.value;return c&&"object"==typeof c&&r.call(c,"__await")?Promise.resolve(c.__await).then((function(e){t("next",e,a,o)}),(function(e){t("throw",e,a,o)})):Promise.resolve(c).then((function(e){u.value=e,a(u)}),o)}o(s.arg)}(n,i,t,a)}))}return t=t?t.then(a,a):a()}}function x(e,t){var n=e.iterator[t.method];if(void 0===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,x(e,t),"throw"===t.method))return l;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return l}var r=y(n,e.iterator,t.arg);if("throw"===r.type)return t.method="throw",t.arg=r.arg,t.delegate=null,l;var i=r.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,l):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,l)}function S(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function E(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function C(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n(t=V(t,e)).length)n=e;else{var r=0,i=-1,a=-1,o=(n=t).length;for(0>r&&(r=-r>o?0:o+r),0>(i=i>o?o:i)&&(i+=o),o=r>i?0:i-r>>>0,r>>>=0,i=Array(o);++aa?Je:o,a=1),t=Object(t);++is))return!1;if((u=a.get(e))&&a.get(t))return u==t;var u=-1,c=!0,l=2&n?new E:Je;for(a.set(e,t),a.set(t,e);++u(n=null==n?0:Fe(n))&&(n=Vt(r+n,0)),h(e,re(t,3),n)):-1}function ve(e){return null!=e&&e.length?function e(t,n,r,i,a){var o=-1,s=t.length;for(r||(r=ue),a||(a=[]);++o=e}function Ce(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Ie(e){return null!=e&&"object"==typeof e}function Re(e){return!(!Ie(e)||"[object Object]"!=N(e))&&(null===(e=Mt(e))||"function"==typeof(e=Et.call(e,"constructor")&&e.constructor)&&e instanceof e&&_t.call(e)==Rt)}function Te(e){return"string"==typeof e||!xn(e)&&Ie(e)&&"[object String]"==N(e)}function De(e){return"symbol"==typeof e||Ie(e)&&"[object Symbol]"==N(e)}function Ae(e){return e?(e=Oe(e))===Qe||e===-Qe?17976931348623157e292*(0>e?-1:1):e==e?e:0:0===e?e:0}function Fe(e){var t=(e=Ae(e))%1;return e==e?t?e-t:e:0}function Oe(e){if("number"==typeof e)return e;if(De(e))return Ge;if(Ce(e)&&(e=Ce(e="function"==typeof e.valueOf?e.valueOf():e)?e+"":e),"string"!=typeof e)return 0===e?e:+e;e=e.replace(tt,"");var t=at.test(e);return t||st.test(e)?pt(e.slice(2),t?2:8):it.test(e)?Ge:+e}function Me(e){return G(e,Be(e))}function Pe(e){return null==e?"":K(e)}function Ne(e,t,n){return(e=null==e?Je:M(e,t))===Je?n:e}function Le(e,t){var n;if(n=null!=e){for(var r,i=-1,a=(r=V(t,n=e)).length,o=!1;++i(e=D(t,e))||(e==t.length-1?t.pop():Lt.call(t,e,1),--this.size,0))},S.prototype.get=function(e){var t=this.__data__;return 0>(e=D(t,e))?Je:t[e][1]},S.prototype.has=function(e){return-1r?(++this.size,n.push([e,t])):n[r][1]=t,this},_.prototype.clear=function(){this.size=0,this.__data__={hash:new x,map:new(Qt||S),string:new x}},_.prototype.delete=function(e){return e=ie(this,e).delete(e),this.size-=e?1:0,e},_.prototype.get=function(e){return ie(this,e).get(e)},_.prototype.has=function(e){return ie(this,e).has(e)},_.prototype.set=function(e,t){var n=ie(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},E.prototype.add=E.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},E.prototype.has=function(e){return this.__data__.has(e)},C.prototype.clear=function(){this.__data__=new S,this.size=0},C.prototype.delete=function(e){var t=this.__data__;return e=t.delete(e),this.size=t.size,e},C.prototype.get=function(e){return this.__data__.get(e)},C.prototype.has=function(e){return this.__data__.has(e)},C.prototype.set=function(e,t){var n=this.__data__;if(n instanceof S){var r=n.__data__;if(!Qt||199>r.length)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new _(r)}return n.set(e,t),this.size=n.size,this};var ln=function(e,t){if(null==e)return e;if(!xe(e))return function(e,t){return e&&fn(e,t,je)}(e,t);for(var n=e.length,r=-1,i=Object(e);++rn&&(n=Vt(r+n,0)),Te(e)?n<=r&&-1=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,u=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){u=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(u)throw a}}}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0?this.items[u]=s:this.items.push(s);case 13:t.next=3;break;case 15:t.next=20;break;case 17:t.prev=17,t.t0=t.catch(1),i.e(t.t0);case 20:return t.prev=20,i.f(),t.finish(20);case 23:this.notifyObserversOfEvent(e.BridgeEventReceivedItems);case 24:case"end":return t.stop()}}),t,this,[[1,17,20,23]])}))),function(e){return c.apply(this,arguments)})},{key:"indexOfItem",value:function(e){for(var t in this.items)if(this.items[t].uuid==e.uuid)return t;return-1}},{key:"removeItemFromItems",value:function(e){this.items=this.items.filter((function(t){return t.uuid!==e.uuid}))}},{key:"createItem",value:function(e,t){this.createItems([e],t)}},{key:"createItems",value:function(e,t){this.componentManager.createItems(e,(function(e){t&&t(e.map((function(e){return new r.SFItem(e)})))}))}},{key:"saveItem",value:(s=a(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.saveItems([t]));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"saveItems",value:(i=a(regeneratorRuntime.mark((function t(n){var r=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",new Promise((function(t,i){r.componentManager.saveItems(n,(function(n){t(n),r.notifyObserversOfEvent(e.BridgeEventSavedItem)}))})));case 1:case"end":return t.stop()}}),t)}))),function(e){return i.apply(this,arguments)})},{key:"indexOfItem",value:function(e){for(var t in this.items)if(this.items[t].uuid==e.uuid)return t;return-1}},{key:"deleteItem",value:function(e,t){this.deleteItems([e],t)}},{key:"deleteItems",value:function(e,t){this.componentManager.deleteItems(e,t)}},{key:"removeItemFromItems",value:function(e){this.items=this.items.filter((function(t){return t.uuid!==e.uuid}))}}])&&u(t.prototype,n),e}();function f(e,t,n,r,i,a,o){try{var s=e[a](o),u=s.value}catch(e){return void n(e)}s.done?t(u):Promise.resolve(u).then(r,i)}function p(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var a=e.apply(t,n);function o(e){f(a,r,i,o,s,"next",e)}function s(e){f(a,r,i,o,s,"throw",e)}o(void 0)}))}}function d(e,t){for(var n=0;n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0){var i,a=m(t.integrations);try{for(a.s();!(i=a.n()).done;){var o=i.value;if(o!=e){t.setIntegrationAsDefault(o);break}}}catch(e){a.e(e)}finally{a.f()}}}))}},{key:"integrations",get:function(){return this.extensionBridge.filterItems(l.FileSafeIntegrationContentTypeKey)}}])&&g(t.prototype,n),e}();function k(e,t,n,r,i,a,o){try{var s=e[a](o),u=s.value}catch(e){return void n(e)}s.done?t(u):Promise.resolve(u).then(r,i)}function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&(e=n.credentials[0]),e})),S(this,"setCredentialAsDefault",(function(e){var t=n.getDefaultCredentials();t&&(t.content.isDefault=!1),e.content.isDefault=!0,n.extensionBridge.saveItems([t,e])})),S(this,"deleteCredential",(function(e){n.extensionBridge.deleteItem(e)})),this.extensionBridge=r,this.onCredentialLoad=i,this.credentials=[],this.extensionBridge.addEventHandler((function(e){e==l.BridgeEventReceivedItems&&n.reloadCredentials()}))}var t,n,i,a;return t=e,(n=[{key:"reloadCredentials",value:function(){var e=this;this.credentials=[];var t=this.extensionBridge.filterItems(l.FileSafeCredentialsContentType);if(0!=t.length){var n,r=function(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return w(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?w(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}(t);try{var i=function(){var t=n.value;e.credentials.find((function(e){e.uuid,t.uuid}))||e.credentials.push(t)};for(r.s();!(n=r.n()).done;)i()}catch(e){r.e(e)}finally{r.f()}this.onCredentialLoad(),this.credentials.length>0&&this.didLoadCredentials()}}},{key:"createNewCredentials",value:(i=regeneratorRuntime.mark((function e(){var t,n,i,a,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=256,e.next=3,SFJS.crypto.generateRandomKey(t);case 3:return n=e.sent,e.next=6,SFJS.crypto.generateRandomKey(t);case 6:return i=e.sent,e.next=9,SFJS.crypto.generateInitialKeysAndAuthParamsForUser(n,i);case 9:return(a=e.sent).isDefault=0==this.credentials.length,o=new r.SFItem({content_type:l.FileSafeCredentialsContentType,content:a}),this.extensionBridge.saveItem(o),this.didLoadCredentials(),e.abrupt("return",o);case 15:case"end":return e.stop()}}),e,this)})),a=function(){var e=this,t=arguments;return new Promise((function(n,r){var a=i.apply(e,t);function o(e){k(a,n,r,o,s,"next",e)}function s(e){k(a,n,r,o,s,"throw",e)}o(void 0)}))},function(){return a.apply(this,arguments)})},{key:"didLoadCredentials",value:function(){this.extensionBridge.notifyObserversOfEvent(l.BridgeEventLoadedCredentials)}},{key:"credentialForFileDescriptor",value:function(e){return this.credentials.find((function(t){return e.content.references.find((function(e){return e.uuid==t.uuid}))}))}},{key:"getAllCredentials",value:function(){return this.credentials}},{key:"saveCredential",value:function(e){this.extensionBridge.saveItem(e)}}])&&x(t.prototype,n),e}(),E=function(){return new Worker(n.p+"filesafe-js/EncryptionWorker.js")};function C(e,t,n,r,i,a,o){try{var s=e[a](o),u=s.value}catch(e){return void n(e)}s.done?t(u):Promise.resolve(u).then(r,i)}function I(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var a=e.apply(t,n);function o(e){C(a,r,i,o,s,"next",e)}function s(e){C(a,r,i,o,s,"throw",e)}o(void 0)}))}}function R(e,t){for(var n=0;n3&&void 0!==arguments[3]&&arguments[3],a=document.createElement("a");a.setAttribute("download",t);var o=this.tempUrlForData(e,n);a.href=o,a.setAttribute("target","_blank"),i?window.location.href=a.href:(document.body.appendChild(a),a.click(),a.remove()),setTimeout((function(){r.revokeTempUrl(o)}),500)}},{key:"tempUrlForData",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t||"text/json"}))}},{key:"revokeTempUrl",value:function(e){window.URL.revokeObjectURL(e)}},{key:"copyTextToClipboard",value:function(e){if(window.clipboardData&&window.clipboardData.setData)return clipboardData.setData("Text",e);var t;if(document.queryCommandSupported&&document.queryCommandSupported("copy"))try{(t=document.createElement("textarea")).setAttribute("readonly",!0),t.setAttribute("contenteditable",!0),t.style.position="fixed",t.value=e,document.body.appendChild(t),t.focus(),t.select();var n=document.createRange();n.selectNodeContents(t);var r=window.getSelection();r.removeAllRanges(),r.addRange(n),t.setSelectionRange(0,t.value.length),document.execCommand("copy")}catch(e){console.error(e)}finally{document.body.removeChild(t)}}}],null&&A(t.prototype,null),n&&A(t,n),e}();function O(e,t,n,r,i,a,o){try{var s=e[a](o),u=s.value}catch(e){return void n(e)}s.done?t(u):Promise.resolve(u).then(r,i)}function M(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var a=e.apply(t,n);function o(e){O(a,r,i,o,s,"next",e)}function s(e){O(a,r,i,o,s,"throw",e)}o(void 0)}))}}function P(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return N(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?N(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function N(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&this.getAllIntegrations().length>0),t=Boolean(this.getAllFileDescriptors().length>0);return e||t}}]),e}()}])}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var a=t[r]={exports:{}};return e[r].call(a.exports,a,a.exports,n),a.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";var e=n(294),t=n(935),r=n(742),i=n.n(r),a=n(256),o=n.n(a),s=n(856),u=n.n(s),c=n(308);n(166);function l(e){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function f(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function p(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n{var e={637:(e,t,n)=>{var r;self,e.exports=(r=n(166),(()=>{var e,t,n={156:e=>{self,e.exports=(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},t={};let n,r,i,a;var o;e.d(t,{default:()=>_}),function(e){e.SetSize="set-size",e.StreamItems="stream-items",e.StreamContextItem="stream-context-item",e.SaveItems="save-items",e.SelectItem="select-item",e.AssociateItem="associate-item",e.DeassociateItem="deassociate-item",e.ClearSelection="clear-selection",e.CreateItem="create-item",e.CreateItems="create-items",e.DeleteItems="delete-items",e.SetComponentData="set-component-data",e.InstallLocalComponent="install-local-component",e.ToggleActivateComponent="toggle-activate-component",e.RequestPermissions="request-permissions",e.PresentConflictResolution="present-conflict-resolution",e.DuplicateItem="duplicate-item",e.ComponentRegistered="component-registered",e.ActivateThemes="themes",e.Reply="reply",e.SaveSuccess="save-success",e.SaveError="save-error",e.ThemesActivated="themes-activated",e.KeyDown="key-down",e.KeyUp="key-up",e.Click="click"}(n||(n={})),function(e){e[e.Web=1]="Web",e[e.Desktop=2]="Desktop",e[e.Mobile=3]="Mobile"}(r||(r={})),function(e){e.Any="*",e.Item="SF|Item",e.RootKey="SN|RootKey|NoSync",e.ItemsKey="SN|ItemsKey",e.EncryptedStorage="SN|EncryptedStorage",e.Note="Note",e.Tag="Tag",e.SmartTag="SN|SmartTag",e.Component="SN|Component",e.Editor="SN|Editor",e.ActionsExtension="Extension",e.UserPrefs="SN|UserPreferences",e.HistorySession="SN|HistorySession",e.Theme="SN|Theme",e.Mfa="SF|MFA",e.ServerExtension="SF|Extension",e.FilesafeCredentials="SN|FileSafe|Credentials",e.FilesafeFileMetadata="SN|FileSafe|FileMetadata",e.FilesafeIntegration="SN|FileSafe|Integration",e.ExtensionRepo="SN|ExtensionRepo"}(i||(i={})),function(e){e.Pinned="pinned",e.Archived="archived",e.Locked="locked",e.UserModifiedDate="client_updated_at",e.DefaultEditor="defaultEditor",e.MobileRules="mobileRules",e.NotAvailableOnMobile="notAvailableOnMobile",e.MobileActive="mobileActive",e.LastSize="lastSize",e.PrefersPlainEditor="prefersPlainEditor",e.ComponentInstallError="installError"}(a||(a={}));var u=new Uint8Array(16);function s(){if(!o&&!(o="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return o(u)}const l=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,c=function(e){return"string"==typeof e&&l.test(e)};for(var f=[],d=0;d<256;++d)f.push((d+256).toString(16).substr(1));const p=function(e,t,n){var r=(e=e||{}).random||(e.rng||s)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){n=n||0;for(var i=0;i<16;++i)t[n+i]=r[i];return t}return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=(f[e[t+0]]+f[e[t+1]]+f[e[t+2]]+f[e[t+3]]+"-"+f[e[t+4]]+f[e[t+5]]+"-"+f[e[t+6]]+f[e[t+7]]+"-"+f[e[t+8]]+f[e[t+9]]+"-"+f[e[t+10]]+f[e[t+11]]+f[e[t+12]]+f[e[t+13]]+f[e[t+14]]+f[e[t+15]]).toLowerCase();if(!c(n))throw TypeError("Stringified UUID is invalid");return n}(r)},h=e=>{var t;const n={[r.Web]:"web",[r.Desktop]:"desktop",[r.Mobile]:"mobile"};return null!==(t=n[e])&&void 0!==t?t:n[r.Web]},m=e=>null!=e,v=()=>{};class y{static get isSupported(){return!(!window.console&&!console)}static get info(){return y.isSupported&&this.enabled?console.log.bind(console):v}static get error(){return y.isSupported?console.error.bind(console):v}}var g,b,k,w;function x(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function S(e){for(var t=1;t0&&(this.initialPermissions=n),m(null==r?void 0:r.coallesedSaving)&&(this.coallesedSaving=r.coallesedSaving),m(null==r?void 0:r.coallesedSavingDelay)&&(this.coallesedSavingDelay=r.coallesedSavingDelay),m(null==r?void 0:r.acceptsThemes)&&(this.component.acceptsThemes=null===(o=null==r?void 0:r.acceptsThemes)||void 0===o||o),m(i)&&(this.onReadyCallback=i),m(a)&&(this.onThemesChangeCallback=a),y.enabled=null!==(t=null==r?void 0:r.debug)&&void 0!==t&&t}deinit(){this.onReadyCallback=void 0,this.component={acceptsThemes:!0,activeThemes:[]},this.messageQueue=[],this.sentMessages=[],this.lastStreamedItem=void 0,this.pendingSaveItems=void 0,this.pendingSaveTimeout=void 0,this.pendingSaveParams=void 0,this.messageHandler&&(this.contentWindow.document.removeEventListener("message",this.messageHandler),this.contentWindow.removeEventListener("message",this.messageHandler)),this.keyDownEventListener&&this.contentWindow.removeEventListener("keydown",this.keyDownEventListener),this.keyUpEventListener&&this.contentWindow.removeEventListener("keyup",this.keyUpEventListener),this.clickEventListener&&this.contentWindow.removeEventListener("click",this.clickEventListener)}registerMessageHandler(){this.messageHandler=e=>{if(y.info("Components API Message received:",e.data),document.referrer&&new URL(document.referrer).origin!==new URL(e.origin).origin)return;const{data:t}=e,r=(e=>{if("string"!=typeof e)return!1;try{const t=JSON.parse(e),n=Object.prototype.toString.call(t);return"[object Object]"===n||"[object Array]"===n}catch(e){return!1}})(t)?JSON.parse(t):t;if(r){if(void 0===this.component.origin&&r.action===n.ComponentRegistered)this.component.origin=e.origin;else if(e.origin!==this.component.origin)return;this.handleMessage(r)}else y.error("Invalid data received. Skipping...")},this.contentWindow.document.addEventListener("message",this.messageHandler,!1),this.contentWindow.addEventListener("message",this.messageHandler,!1),y.info("Waiting for messages...")}registerKeyboardEventListeners(){this.keyDownEventListener=e=>{y.info("A key has been pressed: ".concat(e.key)),e.ctrlKey?this.keyDownEvent(w.Ctrl):e.shiftKey?this.keyDownEvent(w.Shift):(e.metaKey||"Meta"===e.key)&&this.keyDownEvent(w.Meta)},this.keyUpEventListener=e=>{y.info("A key has been released: ".concat(e.key)),"Control"===e.key?this.keyUpEvent(w.Ctrl):"Shift"===e.key?this.keyUpEvent(w.Shift):"Meta"===e.key&&this.keyUpEvent(w.Meta)},this.contentWindow.addEventListener("keydown",this.keyDownEventListener,!1),this.contentWindow.addEventListener("keyup",this.keyUpEventListener,!1)}registerMouseEventListeners(){this.clickEventListener=e=>{y.info("A click has been performed."),this.mouseClickEvent()},this.contentWindow.addEventListener("click",this.clickEventListener,!1)}handleMessage(e){switch(e.action){case n.ComponentRegistered:this.component.sessionKey=e.sessionKey,e.componentData&&(this.component.data=e.componentData),this.onReady(e.data),y.info("Component successfully registered with payload:",e);break;case n.ActivateThemes:this.activateThemes(e.data.themes);break;default:{var t,r;if(!e.original)return;const n=null===(t=this.sentMessages)||void 0===t?void 0:t.filter((t=>{var n;return t.messageId===(null===(n=e.original)||void 0===n?void 0:n.messageId)}))[0];if(!n){const e=this.contentWindow.document.title,t=("The extension '".concat(e,"' is attempting to communicate with Standard Notes, ")+"but an error is preventing it from doing so. Please restart this extension and try again.").replace(" "," ");return void y.info(t)}null==n||null===(r=n.callback)||void 0===r||r.call(n,e.data);break}}}onReady(e){this.component.environment=e.environment,this.component.platform=e.platform,this.component.uuid=e.uuid,this.initialPermissions&&this.initialPermissions.length>0&&this.requestPermissions(this.initialPermissions);for(const e of this.messageQueue)this.postMessage(e.action,e.data,e.callback);this.messageQueue=[],y.info("Data passed to onReady:",e),this.activateThemes(e.activeThemeUrls||[]),this.postMessage(n.ThemesActivated,{}),this.onReadyCallback&&this.onReadyCallback()}getSelfComponentUUID(){return this.component.uuid}isRunningInDesktopApplication(){return this.component.environment===h(r.Desktop)}isRunningInMobileApplication(){return this.component.environment===h(r.Mobile)}getComponentDataValueForKey(e){if(this.component.data)return this.component.data[e]}setComponentDataValueForKey(e,t){if(!this.component.data)throw new Error("The component has not been initialized.");if(!e||e&&0===e.length)throw new Error("The key for the data value should be a valid string.");this.component.data=S(S({},this.component.data),{},{[e]:t}),this.postMessage(n.SetComponentData,{componentData:this.component.data})}clearComponentData(){this.component.data={},this.postMessage(n.SetComponentData,{componentData:this.component.data})}postMessage(e,t,n){if(!this.component.sessionKey)return void this.messageQueue.push({action:e,data:t,api:k.Component,callback:n});const r={action:e,data:t,messageId:this.generateUUID(),sessionKey:this.component.sessionKey,api:k.Component},i=JSON.parse(JSON.stringify(r));let a;i.callback=n,this.sentMessages.push(i),a=this.isRunningInMobileApplication()?JSON.stringify(r):r,y.info("Posting message:",a),this.contentWindow.parent.postMessage(a,this.component.origin)}requestPermissions(e,t){this.postMessage(n.RequestPermissions,{permissions:e},(()=>{t&&t()}))}activateThemes(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];if(!this.component.acceptsThemes)return;y.info("Incoming themes:",e);const{activeThemes:t}=this.component;if(t&&t.sort().toString()==e.sort().toString())return;let n=e;const r=[];for(const i of t)e.includes(i)?n=n.filter((e=>e!==i)):r.push(i);y.info("Deactivating themes:",r),y.info("Activating themes:",n);for(const e of r)this.deactivateTheme(e);this.component.activeThemes=e;for(const e of n){if(!e)continue;const t=this.contentWindow.document.createElement("link");t.id=btoa(e),t.href=e,t.type="text/css",t.rel="stylesheet",t.media="screen,print",t.className="custom-theme",this.contentWindow.document.getElementsByTagName("head")[0].appendChild(t)}this.onThemesChangeCallback&&this.onThemesChangeCallback()}themeElementForUrl(e){return Array.from(this.contentWindow.document.getElementsByClassName("custom-theme")).slice().find((t=>t.id==btoa(e)))}deactivateTheme(e){const t=this.themeElementForUrl(e);t&&t.parentNode&&(t.setAttribute("disabled","true"),t.parentNode.removeChild(t))}generateUUID(){return p()}get platform(){return this.component.platform}get environment(){return this.component.environment}streamItems(e,t){this.postMessage(n.StreamItems,{content_types:e},(e=>{t(e.items)}))}streamContextItem(e){this.postMessage(n.StreamContextItem,{},(t=>{const{item:n}=t;(!this.lastStreamedItem||this.lastStreamedItem.uuid!==n.uuid)&&this.pendingSaveTimeout&&(clearTimeout(this.pendingSaveTimeout),this.performSavingOfItems(this.pendingSaveParams),this.pendingSaveTimeout=void 0,this.pendingSaveParams=void 0),this.lastStreamedItem=n,e(this.lastStreamedItem)}))}selectItem(e){this.postMessage(n.SelectItem,{item:this.jsonObjectForItem(e)})}clearSelection(){this.postMessage(n.ClearSelection,{content_type:i.Tag})}createItem(e,t){this.postMessage(n.CreateItem,{item:this.jsonObjectForItem(e)},(e=>{let{item:n}=e;!n&&e.items&&e.items.length>0&&(n=e.items[0]),this.associateItem(n),t&&t(n)}))}createItems(e,t){const r=e.map((e=>this.jsonObjectForItem(e)));this.postMessage(n.CreateItems,{items:r},(e=>{t&&t(e.items)}))}associateItem(e){this.postMessage(n.AssociateItem,{item:this.jsonObjectForItem(e)})}deassociateItem(e){this.postMessage(n.DeassociateItem,{item:this.jsonObjectForItem(e)})}deleteItem(e,t){this.deleteItems([e],t)}deleteItems(e,t){const r={items:e.map((e=>this.jsonObjectForItem(e)))};this.postMessage(n.DeleteItems,r,(e=>{t&&t(e)}))}sendCustomEvent(e,t,n){this.postMessage(e,t,(e=>{n&&n(e)}))}saveItem(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.saveItems([e],t,n)}saveItemWithPresave(e,t,n){this.saveItemsWithPresave([e],t,n)}saveItemsWithPresave(e,t,n){this.saveItems(e,n,!1,t)}performSavingOfItems(e){let{items:t,presave:r,callback:i}=e;const a=setTimeout((()=>{this.concernTimeouts.forEach((e=>clearTimeout(e))),alert("This editor is unable to communicate with Standard Notes. Your changes may not be saved. Please backup your changes, then restart the application and try again.")}),5e3);this.concernTimeouts.push(a),r&&r();const o=[];for(const e of t)o.push(this.jsonObjectForItem(e));this.postMessage(n.SaveItems,{items:o},(()=>{this.concernTimeouts.forEach((e=>clearTimeout(e))),null==i||i()}))}saveItems(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0;if(this.pendingSaveItems||(this.pendingSaveItems=[]),this.coallesedSaving&&!n){this.pendingSaveTimeout&&clearTimeout(this.pendingSaveTimeout);const n=e.map((e=>e.uuid)),i=this.pendingSaveItems.filter((e=>!n.includes(e.uuid)));this.pendingSaveItems=i.concat(e),this.pendingSaveParams={items:this.pendingSaveItems,presave:r,callback:t},this.pendingSaveTimeout=setTimeout((()=>{this.performSavingOfItems(this.pendingSaveParams),this.pendingSaveItems=[],this.pendingSaveTimeout=void 0,this.pendingSaveParams=null}),this.coallesedSavingDelay)}else this.performSavingOfItems({items:e,presave:r,callback:t})}setSize(e,t){this.postMessage(n.SetSize,{type:"container",width:e,height:t})}keyDownEvent(e){this.postMessage(n.KeyDown,{keyboardModifier:e})}keyUpEvent(e){this.postMessage(n.KeyUp,{keyboardModifier:e})}mouseClickEvent(){this.postMessage(n.Click,{})}jsonObjectForItem(e){const t=Object.assign({},e);return t.children=null,t.parent=null,t}getItemAppDataValue(e,t){var n,r;return null==e||null===(n=e.content)||void 0===n||null===(r=n.appData)||void 0===r?void 0:r["org.standardnotes.sn"][t]}}return t.default})()},695:e=>{"use strict";e.exports=r}},i={};function a(e){var t=i[e];if(void 0!==t)return t.exports;var r=i[e]={exports:{}};return n[e](r,r.exports,a),r.exports}a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(n,r){if(1&r&&(n=this(n)),8&r)return n;if("object"==typeof n&&n){if(4&r&&n.__esModule)return n;if(16&r&&"function"==typeof n.then)return n}var i=Object.create(null);a.r(i);var o={};e=e||[null,t({}),t([]),t(t)];for(var u=2&r&&n;"object"==typeof u&&!~e.indexOf(u);u=t(u))Object.getOwnPropertyNames(u).forEach((e=>o[e]=()=>n[e]));return o.default=()=>n,a.d(i,o),i},a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return(()=>{"use strict";a.d(o,{default:()=>p});var e=a(156),t=a.n(e);const n=async e=>{await new Promise((t=>setTimeout(t,1e3*e)))};function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class i{constructor(e){this.options=e,r(this,"uuidToFileTempUrlAndTypeMapping",{}),r(this,"currentlyLoadingIds",[]),r(this,"statusElementMapping",{}),r(this,"fileTypeToElementType",{"image/png":"img","image/jpg":"img","image/jpeg":"img","image/gif":"img","image/tiff":"img","image/bmp":"img","video/mp4":"video","audio/mpeg":"audio","audio/mp3":"audio"})}fileTypeForElementType(e){return this.fileTypeToElementType[e.toLowerCase()]}loadFileSafeElements(){const e=this.options.getElementsBySelector("*[fsplaceholder]");for(const t of e)this.loadFileSafeElement(t)}async loadFileSafeElement(e){var t;const{fileSafeInstance:r}=this.options,i=e.getAttribute("fsid"),a=null!==(t=e.getAttribute("fsName"))&&void 0!==t?t:"",o=a&&"undefined"!=a?a:"file";if(!i)return!1;const u=this.uuidToFileTempUrlAndTypeMapping[i];if(u)return this.insertMediaElement({fsid:i,fsElement:e,url:u.url,fileType:u.fileType,fsName:u.fsName}),!1;if(this.currentlyLoadingIds.includes(i))return!1;const s=r.findFileDescriptor(i);if(!s)return this.setStatus({fsElement:e,fsid:i,status:"Unable to find ".concat(o," ").concat(i,"."),removable:!0}),!1;const l='[fsid="'.concat(s.uuid,'"][fscollapsable]');if(document.querySelectorAll("img".concat(l,", figure").concat(l,", video").concat(l,", audio").concat(l)).length>0)return!1;this.currentlyLoadingIds.push(i),this.setStatus({fsElement:e,fsid:i,status:"Downloading ".concat(o,"...")}),await n(.05);const c=await r.downloadFileFromDescriptor(s).catch((()=>{this.setStatus({fsElement:e,fsid:i,status:"Unable to download ".concat(o," ").concat(i,".")})}));if(!c)return!1;this.setStatus({fsElement:e,fsid:i,status:"Decrypting ".concat(o,"...")}),await n(.05);const f=await r.decryptFile({fileDescriptor:s,fileItem:c}).catch((()=>{this.setStatus({fsElement:e,fsid:i,status:"Unable to decrypt ".concat(o," ").concat(i,".")})}));if(!f)return!1;this.setStatus({fsElement:e,fsid:i}),await n(.05);const d=s.content.fileType,p=r.createTemporaryFileUrl({base64Data:f.decryptedData,dataType:d});return this.insertMediaElement({fsid:i,fileType:d,fsName:a,fsElement:e,url:p}),(()=>{this.currentlyLoadingIds.splice(this.currentlyLoadingIds.indexOf(i),1)})(),this.uuidToFileTempUrlAndTypeMapping[i]={fileType:d,url:p,fsName:a},!0}insertMediaElement(e){let t,{url:n,fsid:r,fsName:i,fileType:a,fsElement:o}=e;switch(this.fileTypeForElementType(a)){case"img":t=this.createImageElement({url:n,fsid:r,fsName:i,fsElement:o});break;case"video":t=this.createVideoElement({url:n,fsid:r,fileType:a,fsName:i,fsElement:o});break;case"audio":t=this.createAudioElement({url:n,fsid:r,fsName:i});break;default:t=this.createDownloadElement({url:n,fsid:r,fsName:i})}this.insertElementNearElement(t,o),o.remove()}wrapElementInTag(e){let{element:t,tagName:n,fsid:r,fsName:i}=e;const a=document.createElement(n);return a.setAttribute("fsid",r),a.setAttribute("fsName",i),a.setAttribute("fscollapsable","true"),a.setAttribute("contenteditable","true"),a.append(t),a}createImageElement(e){let{url:t,fsid:n,fsName:r,fsElement:i}=e;const a=document.createElement("img");a.setAttribute("src",t),a.setAttribute("srcset","".concat(t," 2x")),a.setAttribute("fsid",n),a.setAttribute("fsName",r),a.setAttribute("fscollapsable","true");const o=i.getAttribute("width");o&&a.setAttribute("width",o);const u=i.getAttribute("height");return u&&a.setAttribute("height",u),a}createVideoElement(e){let{url:t,fsid:n,fileType:r,fsName:i,fsElement:a}=e;const o=document.createElement("video");o.setAttribute("controls","true"),o.setAttribute("fsid",n),o.setAttribute("fsName",i),o.setAttribute("fscollapsable","true");const u=a.getAttribute("width");u&&o.setAttribute("width",u);const s=a.getAttribute("height");s&&o.setAttribute("height",s);const l=document.createElement("source");return l.setAttribute("src",t),l.setAttribute("type",r),o.append(l),this.wrapElementInTag({fsid:n,fsName:i,element:o,tagName:"p"})}createDownloadElement(e){let{url:t,fsid:n,fsName:r}=e;const i=document.createElement("a");return i.setAttribute("fsid",n),i.setAttribute("fsName",r),i.setAttribute("ghost","true"),i.setAttribute("fscollapsable","true"),i.setAttribute("href",t),i.textContent="".concat(r),i}createAudioElement(e){let{url:t,fsid:n,fsName:r}=e;const i=document.createElement("audio");return i.setAttribute("src",t),i.setAttribute("controls","true"),i.setAttribute("fsid",n),i.setAttribute("fsName",r),i.setAttribute("fscollapsable","true"),this.wrapElementInTag({fsid:n,fsName:r,element:i,tagName:"p"})}setStatus(e){let{status:t,fsElement:n,fsid:r,removable:i=!1}=e;if(r){const e=this.statusElementMapping[r];e&&(e.remove(),delete this.statusElementMapping[r])}if(t){let e=document.createElement("label");return e.setAttribute("id",r),e.setAttribute("ghost","true"),e.setAttribute("contenteditable","false"),e.style.fontWeight="bold",e.textContent=t,i&&(e.style.userSelect="all"),e=this.insertElementNearElement(e,n),r&&(this.statusElementMapping[r]=e),e}}insertStatusAtCursor(e){const t=Math.random().toString(36).substring(7);return this.setStatus({status:e,fsid:t,fsElement:null}),t}removeCursorStatus(e){const t=this.options.getElementsBySelector("#".concat(e));t.length>0&&t[0].remove()}insertElementNearElement(e,t){const n=this.options.preprocessElement(e);let r="child";if(t&&"figure"==n.tagName.toLowerCase()){const e=t.closest("p");e&&(t=e,r="afterend")}return this.options.insertElement(n,t,r),n}}class u{constructor(e){this.options=e}onKeyUp(e){let{isEnter:t,isPaste:n,isSpace:r}=e;(t||n||r)&&this.searchPatterns({searchPreviousLine:null!=t&&t})}searchPatterns(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{searchPreviousLine:!1};const t=e.searchPreviousLine?this.options.getPreviousLineText():this.options.getCurrentLineText();for(const n of this.options.patterns){const r=n.regex.exec(t);if(!r)continue;const i=r[0];if(i){const t=n.callback(i);this.replaceSelection(n.regex,t,e.searchPreviousLine)}}}replaceSelection(e,t,n){var r,i,a;null!==(r=this.options)&&void 0!==r&&r.beforeExpand&&this.options.beforeExpand(),this.options.replaceText({regex:e,replacement:t,searchPreviousLine:n}),null!==(i=this.options)&&void 0!==i&&i.afterExpand&&(null===(a=this.options)||void 0===a||a.afterExpand())}}const s=/(

)?\[FileSafe[^\]]*\](<\/p>)?/g,l=e=>e.replace(s,(e=>f(e))),c=e=>"[FileSafe:".concat(e.uuid,":").concat(e.content.fileName,"]"),f=e=>{const t=(e=(e=(e=e.replace("

","")).replace("

","")).replace("[","").replace("]","")).split(":"),n=t[1],r=t[2],i=t[3];let a="";if(i){const e=i.split("x");a="width=".concat(e[0]," height=").concat(e[1])}return"

")};function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class p{constructor(e,t){this.delegate=e,this.options=t,d(this,"fileIdsPendingAssociation",[]),d(this,"componentRelay",void 0),d(this,"fileLoader",void 0),d(this,"textExpander",void 0),d(this,"fileSafeLoading",void 0),d(this,"fileSafeClass",void 0),d(this,"fileSafeInstance",void 0),d(this,"note",void 0),d(this,"ignoreNextTextChange",void 0),d(this,"needsFileSafeElementLoad",void 0),d(this,"previousText",void 0),this.connectToBridge(),this.options.supportsFileSafe&&(this.fileSafeLoading=this.importFileSafe())}connectToBridge(){const{coallesedSaving:e,coallesedSavingDelay:n,mode:r,supportsFileSafe:i}=this.options;this.componentRelay=new(t())({targetWindow:window,options:{coallesedSaving:e,coallesedSavingDelay:n},onReady:()=>{const{platform:e}=this.componentRelay;e&&document.documentElement.classList.add(e)},onThemesChange:this.delegate.onThemesChange}),this.componentRelay.streamContextItem((async e=>{let t=!0;this.note&&this.note.uuid==e.uuid&&(t=!1);const n=this.note;if(i){const t=this.fileSafeClass.getSFItemClass();this.note=new t(e),this.fileSafeInstance.setCurrentNote(this.note)}else this.note=e;if(e.isMetadataUpdate)return;let a=e.content.text;if("html"===r&&t&&(/<[a-z][\s\S]*>/i.test(a)||(this.ignoreNextTextChange=!0)),this.previousText=a,i&&(this.needsFileSafeElementLoad=!0,a=l(a)),this.delegate.onNoteValueChange&&await this.delegate.onNoteValueChange(e),this.delegate.setEditorRawText(a),this.delegate.onNoteLockToggle){var o,u;const e=null!==(o=this.componentRelay.getItemAppDataValue(n,"locked"))&&void 0!==o&&o,t=null!==(u=this.componentRelay.getItemAppDataValue(this.note,"locked"))&&void 0!==u&&u;e!==t&&this.delegate.onNoteLockToggle(t)}var s,c;t&&(null===(s=(c=this.delegate).clearUndoHistory)||void 0===s||s.call(c))}))}async importFileSafe(){return Promise.resolve().then(a.t.bind(a,695,23)).then((e=>(this.fileSafeClass=e.default,this.configureFileSafe(),this.fileSafeInstance)))}configureFileSafe(){const e=["getCurrentLineText","getPreviousLineText","replaceText","getElementsBySelector","insertElement","preprocessElement","insertRawText"];for(const t of e)if(!this.delegate[t])throw Error("Missing ".concat(t," delegate function."));this.fileSafeInstance=new this.fileSafeClass({componentManager:this.componentRelay}),this.fileSafeInstance.addDataChangeObserver((()=>{const e=this.fileSafeInstance.getAllFileDescriptors();if(this.note&&this.fileIdsPendingAssociation.length>0){let t=!1;for(const n of this.fileIdsPendingAssociation.slice()){const r=e.find((e=>e.uuid==n));if(!r)continue;t=!0,this.fileIdsPendingAssociation.splice(this.fileIdsPendingAssociation.indexOf(n),1);const i=c(r);this.delegate.insertRawText(i)}t&&this.textExpander.searchPatterns()}e.length>0&&this.fileLoader.loadFileSafeElements()})),this.fileSafeInstance.addNewFileDescriptorHandler((e=>{this.fileIdsPendingAssociation.push(e.uuid)})),this.fileLoader=new i({fileSafeInstance:this.fileSafeInstance,getElementsBySelector:this.delegate.getElementsBySelector,insertElement:this.delegate.insertElement,preprocessElement:this.delegate.preprocessElement}),this.textExpander=new u({afterExpand:()=>this.fileLoader.loadFileSafeElements(),getCurrentLineText:this.delegate.getCurrentLineText,getPreviousLineText:this.delegate.getPreviousLineText,replaceText:this.delegate.replaceText,patterns:[{regex:s,callback:e=>l(e)}]})}async getFileSafe(){return!this.fileSafeInstance&&this.fileSafeLoading?this.fileSafeLoading:this.importFileSafe()}onEditorKeyUp(e){let{isSpace:t,isEnter:n}=e;this.textExpander.onKeyUp({isSpace:t,isEnter:n})}onEditorPaste(){this.textExpander.onKeyUp({isPaste:!0})}onEditorValueChanged(e){const{mode:t,supportsFileSafe:n}=this.options;if(this.needsFileSafeElementLoad&&(this.needsFileSafeElementLoad=!1,this.fileLoader.loadFileSafeElements()),this.ignoreNextTextChange)return void(this.ignoreNextTextChange=!1);if(n&&(e=(e=>{const t=(new DOMParser).parseFromString(e,"text/html"),n=t.querySelectorAll("*[fscollapsable]");for(const e of n){const t=e.getAttribute("fsid"),n=e.getAttribute("fsname"),r=e.getAttribute("width"),i=e.getAttribute("height"),a=["FileSafe",t,n];if(r&&i){const e="".concat(r,"x").concat(i);a.push(e)}const o="

[".concat(a.join(":"),"]

");e.insertAdjacentHTML("afterend",o),e.remove()}return t.querySelectorAll("*[ghost]").forEach((e=>e.remove())),t.body.innerHTML})(e),this.previousText==e))return;if(this.previousText=e,!this.note)return;const r=this.note;this.componentRelay.saveItemWithPresave(r,(()=>{if(r.content.text=e,this.delegate.generateCustomPreview){var n;const t=this.delegate.generateCustomPreview(e);r.content.preview_plain=null!==(n=t.plain)&&void 0!==n?n:" ",r.content.preview_html=t.html}else{if("html"===t){let t=e.replace(s,(e=>""));t=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:90;return e.length<=t?e:e.substring(0,t)+"..."}((e=>{const t=document.implementation.createHTMLDocument().body;return t.innerHTML=e,t.textContent||t.innerText||""})(t)),r.content.preview_plain=t.length>0?t:" "}else r.content.preview_plain=e;r.content.preview_html=null}}))}canUploadFiles(){const e=this.fileSafeInstance.getAllCredentials(),t=this.fileSafeInstance.getAllIntegrations();return e.length>0&&t.length>0}async uploadJSFileObject(e){const t=this.fileLoader.insertStatusAtCursor("Processing file...");return this.fileSafeInstance.encryptAndUploadJavaScriptFileObject(e).then((()=>{this.fileLoader.removeCursorStatus(t)}))}saveItemWithPresave(e,t){this.componentRelay.saveItemWithPresave(e,t)}get platform(){return this.componentRelay.platform}get environment(){return this.componentRelay.environment}canUseFileSafe(){return this.fileSafeInstance.hasLegacyAccess()}}})(),o.default})())},856:function(e){e.exports=function(){"use strict";function e(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t1?n-1:0),i=1;i/gm),U=u(/^data-[\-\w.\u00B7-\uFFFF]/),B=u(/^aria-[\-\w]+$/),H=u(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),W=u(/^(?:\w+script|data):/i),K=u(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),V="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function $(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t0&&void 0!==arguments[0]?arguments[0]:q(),t=function(e){return J(e)};if(t.version="2.2.9",t.removed=[],!e||!e.document||9!==e.document.nodeType)return t.isSupported=!1,t;var n=e.document,r=e.document,i=e.DocumentFragment,a=e.HTMLTemplateElement,u=e.Node,s=e.Element,l=e.NodeFilter,c=e.NamedNodeMap,f=void 0===c?e.NamedNodeMap||e.MozNamedAttrMap:c,x=e.Text,S=e.Comment,G=e.DOMParser,Y=e.trustedTypes,X=s.prototype,Z=C(X,"cloneNode"),ee=C(X,"nextSibling"),te=C(X,"childNodes"),ne=C(X,"parentNode");if("function"==typeof a){var re=r.createElement("template");re.content&&re.content.ownerDocument&&(r=re.content.ownerDocument)}var ie=Q(Y,n),ae=ie&&Ne?ie.createHTML(""):"",oe=r,ue=oe.implementation,se=oe.createNodeIterator,le=oe.createDocumentFragment,ce=n.importNode,fe={};try{fe=_(r).documentMode?r.documentMode:{}}catch(e){}var de={};t.isSupported="function"==typeof ne&&ue&&void 0!==ue.createHTMLDocument&&9!==fe;var pe=j,he=z,me=U,ve=B,ye=W,ge=K,be=H,ke=null,we=E({},[].concat($(T),$(I),$(R),$(O),$(F))),xe=null,Se=E({},[].concat($(A),$(M),$(N),$(L))),Ee=null,_e=null,Ce=!0,Te=!0,Ie=!1,Re=!1,Pe=!1,Oe=!1,De=!1,Fe=!1,Ae=!1,Me=!0,Ne=!1,Le=!0,je=!0,ze=!1,Ue={},Be=E({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),He=null,We=E({},["audio","video","img","source","image","track"]),Ke=null,Ve=E({},["alt","class","for","id","label","name","pattern","placeholder","summary","title","value","style","xmlns"]),$e="http://www.w3.org/1998/Math/MathML",qe="http://www.w3.org/2000/svg",Qe="http://www.w3.org/1999/xhtml",Je=Qe,Ge=!1,Ye=null,Xe=r.createElement("form"),Ze=function(e){Ye&&Ye===e||(e&&"object"===(void 0===e?"undefined":V(e))||(e={}),e=_(e),ke="ALLOWED_TAGS"in e?E({},e.ALLOWED_TAGS):we,xe="ALLOWED_ATTR"in e?E({},e.ALLOWED_ATTR):Se,Ke="ADD_URI_SAFE_ATTR"in e?E(_(Ve),e.ADD_URI_SAFE_ATTR):Ve,He="ADD_DATA_URI_TAGS"in e?E(_(We),e.ADD_DATA_URI_TAGS):We,Ee="FORBID_TAGS"in e?E({},e.FORBID_TAGS):{},_e="FORBID_ATTR"in e?E({},e.FORBID_ATTR):{},Ue="USE_PROFILES"in e&&e.USE_PROFILES,Ce=!1!==e.ALLOW_ARIA_ATTR,Te=!1!==e.ALLOW_DATA_ATTR,Ie=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Re=e.SAFE_FOR_TEMPLATES||!1,Pe=e.WHOLE_DOCUMENT||!1,Fe=e.RETURN_DOM||!1,Ae=e.RETURN_DOM_FRAGMENT||!1,Me=!1!==e.RETURN_DOM_IMPORT,Ne=e.RETURN_TRUSTED_TYPE||!1,De=e.FORCE_BODY||!1,Le=!1!==e.SANITIZE_DOM,je=!1!==e.KEEP_CONTENT,ze=e.IN_PLACE||!1,be=e.ALLOWED_URI_REGEXP||be,Je=e.NAMESPACE||Qe,Re&&(Te=!1),Ae&&(Fe=!0),Ue&&(ke=E({},[].concat($(F))),xe=[],!0===Ue.html&&(E(ke,T),E(xe,A)),!0===Ue.svg&&(E(ke,I),E(xe,M),E(xe,L)),!0===Ue.svgFilters&&(E(ke,R),E(xe,M),E(xe,L)),!0===Ue.mathMl&&(E(ke,O),E(xe,N),E(xe,L))),e.ADD_TAGS&&(ke===we&&(ke=_(ke)),E(ke,e.ADD_TAGS)),e.ADD_ATTR&&(xe===Se&&(xe=_(xe)),E(xe,e.ADD_ATTR)),e.ADD_URI_SAFE_ATTR&&E(Ke,e.ADD_URI_SAFE_ATTR),je&&(ke["#text"]=!0),Pe&&E(ke,["html","head","body"]),ke.table&&(E(ke,["tbody"]),delete Ee.tbody),o&&o(e),Ye=e)},et=E({},["mi","mo","mn","ms","mtext"]),tt=E({},["foreignobject","desc","title","annotation-xml"]),nt=E({},I);E(nt,R),E(nt,P);var rt=E({},O);E(rt,D);var it=function(e){var t=ne(e);t&&t.tagName||(t={namespaceURI:Qe,tagName:"template"});var n=m(e.tagName),r=m(t.tagName);if(e.namespaceURI===qe)return t.namespaceURI===Qe?"svg"===n:t.namespaceURI===$e?"svg"===n&&("annotation-xml"===r||et[r]):Boolean(nt[n]);if(e.namespaceURI===$e)return t.namespaceURI===Qe?"math"===n:t.namespaceURI===qe?"math"===n&&tt[r]:Boolean(rt[n]);if(e.namespaceURI===Qe){if(t.namespaceURI===qe&&!tt[r])return!1;if(t.namespaceURI===$e&&!et[r])return!1;var i=E({},["title","style","font","a","script"]);return!rt[n]&&(i[n]||!nt[n])}return!1},at=function(e){h(t.removed,{element:e});try{e.parentNode.removeChild(e)}catch(t){try{e.outerHTML=ae}catch(t){e.remove()}}},ot=function(e,n){try{h(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch(e){h(t.removed,{attribute:null,from:n})}if(n.removeAttribute(e),"is"===e&&!xe[e])if(Fe||Ae)try{at(n)}catch(e){}else try{n.setAttribute(e,"")}catch(e){}},ut=function(e){var t=void 0,n=void 0;if(De)e=""+e;else{var i=v(e,/^[\r\n\t ]+/);n=i&&i[0]}var a=ie?ie.createHTML(e):e;if(Je===Qe)try{t=(new G).parseFromString(a,"text/html")}catch(e){}if(!t||!t.documentElement){t=ue.createDocument(Je,"template",null);try{t.documentElement.innerHTML=Ge?"":a}catch(e){}}var o=t.body||t.documentElement;return e&&n&&o.insertBefore(r.createTextNode(n),o.childNodes[0]||null),Pe?t.documentElement:o},st=function(e){return se.call(e.ownerDocument||e,e,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT,null,!1)},lt=function(e){return!(e instanceof x||e instanceof S||"string"==typeof e.nodeName&&"string"==typeof e.textContent&&"function"==typeof e.removeChild&&e.attributes instanceof f&&"function"==typeof e.removeAttribute&&"function"==typeof e.setAttribute&&"string"==typeof e.namespaceURI&&"function"==typeof e.insertBefore)},ct=function(e){return"object"===(void 0===u?"undefined":V(u))?e instanceof u:e&&"object"===(void 0===e?"undefined":V(e))&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName},ft=function(e,n,r){de[e]&&d(de[e],(function(e){e.call(t,n,r,Ye)}))},dt=function(e){var n=void 0;if(ft("beforeSanitizeElements",e,null),lt(e))return at(e),!0;if(v(e.nodeName,/[\u0080-\uFFFF]/))return at(e),!0;var r=m(e.nodeName);if(ft("uponSanitizeElement",e,{tagName:r,allowedTags:ke}),!ct(e.firstElementChild)&&(!ct(e.content)||!ct(e.content.firstElementChild))&&k(/<[/\w]/g,e.innerHTML)&&k(/<[/\w]/g,e.textContent))return at(e),!0;if(!ke[r]||Ee[r]){if(je&&!Be[r]){var i=ne(e)||e.parentNode,a=te(e)||e.childNodes;if(a&&i)for(var o=a.length-1;o>=0;--o)i.insertBefore(Z(a[o],!0),ee(e))}return at(e),!0}return e instanceof s&&!it(e)?(at(e),!0):"noscript"!==r&&"noembed"!==r||!k(/<\/no(script|embed)/i,e.innerHTML)?(Re&&3===e.nodeType&&(n=e.textContent,n=y(n,pe," "),n=y(n,he," "),e.textContent!==n&&(h(t.removed,{element:e.cloneNode()}),e.textContent=n)),ft("afterSanitizeElements",e,null),!1):(at(e),!0)},pt=function(e,t,n){if(Le&&("id"===t||"name"===t)&&(n in r||n in Xe))return!1;if(Te&&k(me,t));else if(Ce&&k(ve,t));else{if(!xe[t]||_e[t])return!1;if(Ke[t]);else if(k(be,y(n,ge,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==g(n,"data:")||!He[e])if(Ie&&!k(ye,y(n,ge,"")));else if(n)return!1}return!0},ht=function(e){var n=void 0,r=void 0,i=void 0,a=void 0;ft("beforeSanitizeAttributes",e,null);var o=e.attributes;if(o){var u={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:xe};for(a=o.length;a--;){var s=n=o[a],l=s.name,c=s.namespaceURI;if(r=b(n.value),i=m(l),u.attrName=i,u.attrValue=r,u.keepAttr=!0,u.forceKeepAttr=void 0,ft("uponSanitizeAttribute",e,u),r=u.attrValue,!u.forceKeepAttr&&(ot(l,e),u.keepAttr))if(k(/\/>/i,r))ot(l,e);else{Re&&(r=y(r,pe," "),r=y(r,he," "));var f=e.nodeName.toLowerCase();if(pt(f,i,r))try{c?e.setAttributeNS(c,l,r):e.setAttribute(l,r),p(t.removed)}catch(e){}}}ft("afterSanitizeAttributes",e,null)}},mt=function e(t){var n=void 0,r=st(t);for(ft("beforeSanitizeShadowDOM",t,null);n=r.nextNode();)ft("uponSanitizeShadowNode",n,null),dt(n)||(n.content instanceof i&&e(n.content),ht(n));ft("afterSanitizeShadowDOM",t,null)};return t.sanitize=function(r,a){var o=void 0,s=void 0,l=void 0,c=void 0,f=void 0;if((Ge=!r)&&(r="\x3c!--\x3e"),"string"!=typeof r&&!ct(r)){if("function"!=typeof r.toString)throw w("toString is not a function");if("string"!=typeof(r=r.toString()))throw w("dirty is not a string, aborting")}if(!t.isSupported){if("object"===V(e.toStaticHTML)||"function"==typeof e.toStaticHTML){if("string"==typeof r)return e.toStaticHTML(r);if(ct(r))return e.toStaticHTML(r.outerHTML)}return r}if(Oe||Ze(a),t.removed=[],"string"==typeof r&&(ze=!1),ze);else if(r instanceof u)1===(s=(o=ut("\x3c!----\x3e")).ownerDocument.importNode(r,!0)).nodeType&&"BODY"===s.nodeName||"HTML"===s.nodeName?o=s:o.appendChild(s);else{if(!Fe&&!Re&&!Pe&&-1===r.indexOf("<"))return ie&&Ne?ie.createHTML(r):r;if(!(o=ut(r)))return Fe?null:ae}o&&De&&at(o.firstChild);for(var d=st(ze?r:o);l=d.nextNode();)3===l.nodeType&&l===c||dt(l)||(l.content instanceof i&&mt(l.content),ht(l),c=l);if(c=null,ze)return r;if(Fe){if(Ae)for(f=le.call(o.ownerDocument);o.firstChild;)f.appendChild(o.firstChild);else f=o;return Me&&(f=ce.call(n,f,!0)),f}var p=Pe?o.outerHTML:o.innerHTML;return Re&&(p=y(p,pe," "),p=y(p,he," ")),ie&&Ne?ie.createHTML(p):p},t.setConfig=function(e){Ze(e),Oe=!0},t.clearConfig=function(){Ye=null,Oe=!1},t.isValidAttribute=function(e,t,n){Ye||Ze({});var r=m(e),i=m(t);return pt(r,i,n)},t.addHook=function(e,t){"function"==typeof t&&(de[e]=de[e]||[],h(de[e],t))},t.removeHook=function(e){de[e]&&p(de[e])},t.removeHooks=function(e){de[e]&&(de[e]=[])},t.removeAllHooks=function(){de={}},t}return J()}()},166:e=>{e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=5)}([function(e,t,n){(function(t){e.exports=function e(t,n,r){function i(o,u){if(!n[o]){if(!t[o]){if(a)return a(o,!0);var s=new Error("Cannot find module '"+o+"'");throw s.code="MODULE_NOT_FOUND",s}var l=n[o]={exports:{}};t[o][0].call(l.exports,(function(e){return i(t[o][1][e]||e)}),l,l.exports,e,t,n,r)}return n[o].exports}for(var a=!1,o=0;o>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],r=0;r>>2]>>>24-r%4*8&255;n.push((i>>>4).toString(16)),n.push((15&i).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new o.init(n,t/2)}},l=u.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new o.init(n,t)}},c=u.Utf8={stringify:function(e){try{return decodeURIComponent(escape(l.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return l.parse(unescape(encodeURIComponent(e)))}},f=r.BufferedBlockAlgorithm=a.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=c.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,r=n.words,i=n.sigBytes,a=this.blockSize,u=i/(4*a);if(t=(u=t?e.ceil(u):e.max((0|u)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var s=0;s>>2]>>>24-i%4*8&255)<<16|(t[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|t[i+2>>>2]>>>24-(i+2)%4*8&255,o=0;4>o&&i+.75*o>>6*(3-o)&63));if(t=r.charAt(64))for(;e.length%4;)e.push(t);return e.join("")},parse:function(e){var t=e.length,r=this._map;(i=r.charAt(64))&&-1!=(i=e.indexOf(i))&&(t=i);for(var i=[],a=0,o=0;o>>6-o%4*2;i[a>>>2]|=(u|s)<<24-a%4*8,a++}return n.create(i,a)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},function(e){function t(e,t,n,r,i,a,o){return((e=e+(t&n|~t&r)+i+o)<>>32-a)+t}function n(e,t,n,r,i,a,o){return((e=e+(t&r|n&~r)+i+o)<>>32-a)+t}function r(e,t,n,r,i,a,o){return((e=e+(t^n^r)+i+o)<>>32-a)+t}function i(e,t,n,r,i,a,o){return((e=e+(n^(t|~r))+i+o)<>>32-a)+t}for(var a=s,o=(l=a.lib).WordArray,u=l.Hasher,l=a.algo,c=[],f=0;64>f;f++)c[f]=4294967296*e.abs(e.sin(f+1))|0;l=l.MD5=u.extend({_doReset:function(){this._hash=new o.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,a){for(var o=0;16>o;o++){var u=e[s=a+o];e[s]=16711935&(u<<8|u>>>24)|4278255360&(u<<24|u>>>8)}o=this._hash.words;var s=e[a+0],l=(u=e[a+1],e[a+2]),f=e[a+3],d=e[a+4],p=e[a+5],h=e[a+6],m=e[a+7],v=e[a+8],y=e[a+9],g=e[a+10],b=e[a+11],k=e[a+12],w=e[a+13],x=e[a+14],S=e[a+15],E=t(E=o[0],T=o[1],C=o[2],_=o[3],s,7,c[0]),_=t(_,E,T,C,u,12,c[1]),C=t(C,_,E,T,l,17,c[2]),T=t(T,C,_,E,f,22,c[3]);E=t(E,T,C,_,d,7,c[4]),_=t(_,E,T,C,p,12,c[5]),C=t(C,_,E,T,h,17,c[6]),T=t(T,C,_,E,m,22,c[7]),E=t(E,T,C,_,v,7,c[8]),_=t(_,E,T,C,y,12,c[9]),C=t(C,_,E,T,g,17,c[10]),T=t(T,C,_,E,b,22,c[11]),E=t(E,T,C,_,k,7,c[12]),_=t(_,E,T,C,w,12,c[13]),C=t(C,_,E,T,x,17,c[14]),E=n(E,T=t(T,C,_,E,S,22,c[15]),C,_,u,5,c[16]),_=n(_,E,T,C,h,9,c[17]),C=n(C,_,E,T,b,14,c[18]),T=n(T,C,_,E,s,20,c[19]),E=n(E,T,C,_,p,5,c[20]),_=n(_,E,T,C,g,9,c[21]),C=n(C,_,E,T,S,14,c[22]),T=n(T,C,_,E,d,20,c[23]),E=n(E,T,C,_,y,5,c[24]),_=n(_,E,T,C,x,9,c[25]),C=n(C,_,E,T,f,14,c[26]),T=n(T,C,_,E,v,20,c[27]),E=n(E,T,C,_,w,5,c[28]),_=n(_,E,T,C,l,9,c[29]),C=n(C,_,E,T,m,14,c[30]),E=r(E,T=n(T,C,_,E,k,20,c[31]),C,_,p,4,c[32]),_=r(_,E,T,C,v,11,c[33]),C=r(C,_,E,T,b,16,c[34]),T=r(T,C,_,E,x,23,c[35]),E=r(E,T,C,_,u,4,c[36]),_=r(_,E,T,C,d,11,c[37]),C=r(C,_,E,T,m,16,c[38]),T=r(T,C,_,E,g,23,c[39]),E=r(E,T,C,_,w,4,c[40]),_=r(_,E,T,C,s,11,c[41]),C=r(C,_,E,T,f,16,c[42]),T=r(T,C,_,E,h,23,c[43]),E=r(E,T,C,_,y,4,c[44]),_=r(_,E,T,C,k,11,c[45]),C=r(C,_,E,T,S,16,c[46]),E=i(E,T=r(T,C,_,E,l,23,c[47]),C,_,s,6,c[48]),_=i(_,E,T,C,m,10,c[49]),C=i(C,_,E,T,x,15,c[50]),T=i(T,C,_,E,p,21,c[51]),E=i(E,T,C,_,k,6,c[52]),_=i(_,E,T,C,f,10,c[53]),C=i(C,_,E,T,g,15,c[54]),T=i(T,C,_,E,u,21,c[55]),E=i(E,T,C,_,v,6,c[56]),_=i(_,E,T,C,S,10,c[57]),C=i(C,_,E,T,h,15,c[58]),T=i(T,C,_,E,w,21,c[59]),E=i(E,T,C,_,d,6,c[60]),_=i(_,E,T,C,b,10,c[61]),C=i(C,_,E,T,l,15,c[62]),T=i(T,C,_,E,y,21,c[63]),o[0]=o[0]+E|0,o[1]=o[1]+T|0,o[2]=o[2]+C|0,o[3]=o[3]+_|0},_doFinalize:function(){var t=this._data,n=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;n[i>>>5]|=128<<24-i%32;var a=e.floor(r/4294967296);for(n[15+(i+64>>>9<<4)]=16711935&(a<<8|a>>>24)|4278255360&(a<<24|a>>>8),n[14+(i+64>>>9<<4)]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8),t.sigBytes=4*(n.length+1),this._process(),n=(t=this._hash).words,r=0;4>r;r++)i=n[r],n[r]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8);return t},clone:function(){var e=u.clone.call(this);return e._hash=this._hash.clone(),e}}),a.MD5=u._createHelper(l),a.HmacMD5=u._createHmacHelper(l)}(Math),function(){var e,t=s,n=(e=t.lib).Base,r=e.WordArray,i=(e=t.algo).EvpKDF=n.extend({cfg:n.extend({keySize:4,hasher:e.MD5,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var n=(u=this.cfg).hasher.create(),i=r.create(),a=i.words,o=u.keySize,u=u.iterations;a.length>>2]}},t.BlockCipher=u.extend({cfg:u.cfg.extend({mode:l,padding:f}),reset:function(){u.reset.call(this);var e=(t=this.cfg).iv,t=t.mode;if(this._xformMode==this._ENC_XFORM_MODE)var n=t.createEncryptor;else n=t.createDecryptor,this._minBufferSize=1;this._mode=n.call(t,this,e&&e.words)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);var t=this._process(!0)}else t=this._process(!0),e.unpad(t);return t},blockSize:4});var d=t.CipherParams=n.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),p=(l=(h.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext;return((e=e.salt)?r.create([1398893684,1701076831]).concat(e).concat(t):t).toString(a)},parse:function(e){var t=(e=a.parse(e)).words;if(1398893684==t[0]&&1701076831==t[1]){var n=r.create(t.slice(2,4));t.splice(0,4),e.sigBytes-=16}return d.create({ciphertext:e,salt:n})}},t.SerializableCipher=n.extend({cfg:n.extend({format:l}),encrypt:function(e,t,n,r){r=this.cfg.extend(r);var i=e.createEncryptor(n,r);return t=i.finalize(t),i=i.cfg,d.create({ciphertext:t,key:n,iv:i.iv,algorithm:e,mode:i.mode,padding:i.padding,blockSize:e.blockSize,formatter:r.format})},decrypt:function(e,t,n,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),e.createDecryptor(n,r).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}})),h=(h.kdf={}).OpenSSL={execute:function(e,t,n,i){return i||(i=r.random(8)),e=o.create({keySize:t+n}).compute(e,i),n=r.create(e.words.slice(t),4*n),e.sigBytes=4*t,d.create({key:e,iv:n,salt:i})}},m=t.PasswordBasedCipher=p.extend({cfg:p.cfg.extend({kdf:h}),encrypt:function(e,t,n,r){return n=(r=this.cfg.extend(r)).kdf.execute(n,e.keySize,e.ivSize),r.iv=n.iv,(e=p.encrypt.call(this,e,t,n.key,r)).mixIn(n),e},decrypt:function(e,t,n,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),n=r.kdf.execute(n,e.keySize,e.ivSize,t.salt),r.iv=n.iv,p.decrypt.call(this,e,t,n.key,r)}})}(),function(){for(var e=s,t=e.lib.BlockCipher,n=e.algo,r=[],i=[],a=[],o=[],u=[],l=[],c=[],f=[],d=[],p=[],h=[],m=0;256>m;m++)h[m]=128>m?m<<1:m<<1^283;var v=0,y=0;for(m=0;256>m;m++){var g=(g=y^y<<1^y<<2^y<<3^y<<4)>>>8^255&g^99;r[v]=g,i[g]=v;var b=h[v],k=h[b],w=h[k],x=257*h[g]^16843008*g;a[v]=x<<24|x>>>8,o[v]=x<<16|x>>>16,u[v]=x<<8|x>>>24,l[v]=x,x=16843009*w^65537*k^257*b^16843008*v,c[g]=x<<24|x>>>8,f[g]=x<<16|x>>>16,d[g]=x<<8|x>>>24,p[g]=x,v?(v=b^h[h[h[w^b]]],y^=h[h[y]]):v=y=1}var S=[0,1,2,4,8,16,32,64,128,27,54];n=n.AES=t.extend({_doReset:function(){for(var e=(n=this._key).words,t=n.sigBytes/4,n=4*((this._nRounds=t+6)+1),i=this._keySchedule=[],a=0;a>>24]<<24|r[o>>>16&255]<<16|r[o>>>8&255]<<8|r[255&o]):(o=r[(o=o<<8|o>>>24)>>>24]<<24|r[o>>>16&255]<<16|r[o>>>8&255]<<8|r[255&o],o^=S[a/t|0]<<24),i[a]=i[a-t]^o}for(e=this._invKeySchedule=[],t=0;tt||4>=a?o:c[r[o>>>24]]^f[r[o>>>16&255]]^d[r[o>>>8&255]]^p[r[255&o]]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,a,o,u,l,r)},decryptBlock:function(e,t){var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n,this._doCryptBlock(e,t,this._invKeySchedule,c,f,d,p,i),n=e[t+1],e[t+1]=e[t+3],e[t+3]=n},_doCryptBlock:function(e,t,n,r,i,a,o,u){for(var s=this._nRounds,l=e[t]^n[0],c=e[t+1]^n[1],f=e[t+2]^n[2],d=e[t+3]^n[3],p=4,h=1;h>>24]^i[c>>>16&255]^a[f>>>8&255]^o[255&d]^n[p++],v=r[c>>>24]^i[f>>>16&255]^a[d>>>8&255]^o[255&l]^n[p++],y=r[f>>>24]^i[d>>>16&255]^a[l>>>8&255]^o[255&c]^n[p++];d=r[d>>>24]^i[l>>>16&255]^a[c>>>8&255]^o[255&f]^n[p++],l=m,c=v,f=y}m=(u[l>>>24]<<24|u[c>>>16&255]<<16|u[f>>>8&255]<<8|u[255&d])^n[p++],v=(u[c>>>24]<<24|u[f>>>16&255]<<16|u[d>>>8&255]<<8|u[255&l])^n[p++],y=(u[f>>>24]<<24|u[d>>>16&255]<<16|u[l>>>8&255]<<8|u[255&c])^n[p++],d=(u[d>>>24]<<24|u[l>>>16&255]<<16|u[c>>>8&255]<<8|u[255&f])^n[p++],e[t]=m,e[t+1]=v,e[t+2]=y,e[t+3]=d},keySize:8}),e.AES=t._createHelper(n)}(),s=s||function(e,t){var n={},r=n.lib={},i=function(){},a=r.Base={extend:function(e){i.prototype=this;var t=new i;return e&&t.mixIn(e),t.hasOwnProperty("init")||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},o=r.WordArray=a.extend({init:function(e,t){e=this.words=e||[],this.sigBytes=null!=t?t:4*e.length},toString:function(e){return(e||s).stringify(this)},concat:function(e){var t=this.words,n=e.words,r=this.sigBytes;if(e=e.sigBytes,this.clamp(),r%4)for(var i=0;i>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],r=0;r>>2]>>>24-r%4*8&255;n.push((i>>>4).toString(16)),n.push((15&i).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new o.init(n,t/2)}},l=u.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new o.init(n,t)}},c=u.Utf8={stringify:function(e){try{return decodeURIComponent(escape(l.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return l.parse(unescape(encodeURIComponent(e)))}},f=r.BufferedBlockAlgorithm=a.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=c.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,r=n.words,i=n.sigBytes,a=this.blockSize,u=i/(4*a);if(t=(u=t?e.ceil(u):e.max((0|u)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var s=0;sc;){var f;e:{f=l;for(var d=e.sqrt(f),p=2;p<=d;p++)if(!(f%p)){f=!1;break e}f=!0}f&&(8>c&&(a[c]=u(e.pow(l,.5))),o[c]=u(e.pow(l,1/3)),c++),l++}var h=[];i=i.SHA256=r.extend({_doReset:function(){this._hash=new n.init(a.slice(0))},_doProcessBlock:function(e,t){for(var n=this._hash.words,r=n[0],i=n[1],a=n[2],u=n[3],s=n[4],l=n[5],c=n[6],f=n[7],d=0;64>d;d++){if(16>d)h[d]=0|e[t+d];else{var p=h[d-15],m=h[d-2];h[d]=((p<<25|p>>>7)^(p<<14|p>>>18)^p>>>3)+h[d-7]+((m<<15|m>>>17)^(m<<13|m>>>19)^m>>>10)+h[d-16]}p=f+((s<<26|s>>>6)^(s<<21|s>>>11)^(s<<7|s>>>25))+(s&l^~s&c)+o[d]+h[d],m=((r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22))+(r&i^r&a^i&a),f=c,c=l,l=s,s=u+p|0,u=a,a=i,i=r,r=p+m|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+u|0,n[4]=n[4]+s|0,n[5]=n[5]+l|0,n[6]=n[6]+c|0,n[7]=n[7]+f|0},_doFinalize:function(){var t=this._data,n=t.words,r=8*this._nDataBytes,i=8*t.sigBytes;return n[i>>>5]|=128<<24-i%32,n[14+(i+64>>>9<<4)]=e.floor(r/4294967296),n[15+(i+64>>>9<<4)]=r,t.sigBytes=4*n.length,this._process(),this._hash},clone:function(){var e=r.clone.call(this);return e._hash=this._hash.clone(),e}}),t.SHA256=r._createHelper(i),t.HmacSHA256=r._createHmacHelper(i)}(Math),a=(i=s).enc.Utf8,i.algo.HMAC=i.lib.Base.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=a.parse(t));var n=e.blockSize,r=4*n;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),o=this._iKey=t.clone(),u=i.words,s=o.words,l=0;l>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],r=0;r>>2]>>>24-r%4*8&255;n.push((i>>>4).toString(16)),n.push((15&i).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new o.init(n,t/2)}},l=u.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new o.init(n,t)}},c=u.Utf8={stringify:function(e){try{return decodeURIComponent(escape(l.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return l.parse(unescape(encodeURIComponent(e)))}},f=r.BufferedBlockAlgorithm=a.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=c.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,r=n.words,i=n.sigBytes,a=this.blockSize,u=i/(4*a);if(t=(u=t?e.ceil(u):e.max((0|u)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var s=0;sl;l++)u[l]=e();a=a.SHA512=n.extend({_doReset:function(){this._hash=new i.init([new r.init(1779033703,4089235720),new r.init(3144134277,2227873595),new r.init(1013904242,4271175723),new r.init(2773480762,1595750129),new r.init(1359893119,2917565137),new r.init(2600822924,725511199),new r.init(528734635,4215389547),new r.init(1541459225,327033209)])},_doProcessBlock:function(e,t){for(var n=(f=this._hash.words)[0],r=f[1],i=f[2],a=f[3],s=f[4],l=f[5],c=f[6],f=f[7],d=n.high,p=n.low,h=r.high,m=r.low,v=i.high,y=i.low,g=a.high,b=a.low,k=s.high,w=s.low,x=l.high,S=l.low,E=c.high,_=c.low,C=f.high,T=f.low,I=d,R=p,P=h,O=m,D=v,F=y,A=g,M=b,N=k,L=w,j=x,z=S,U=E,B=_,H=C,W=T,K=0;80>K;K++){var V=u[K];if(16>K)var $=V.high=0|e[t+2*K],q=V.low=0|e[t+2*K+1];else{$=((q=($=u[K-15]).high)>>>1|(Q=$.low)<<31)^(q>>>8|Q<<24)^q>>>7;var Q=(Q>>>1|q<<31)^(Q>>>8|q<<24)^(Q>>>7|q<<25),J=((q=(J=u[K-2]).high)>>>19|(G=J.low)<<13)^(q<<3|G>>>29)^q>>>6,G=(G>>>19|q<<13)^(G<<3|q>>>29)^(G>>>6|q<<26),Y=(q=u[K-7]).high,X=(Z=u[K-16]).high,Z=Z.low;$=($=($=$+Y+((q=Q+q.low)>>>0>>0?1:0))+J+((q+=G)>>>0>>0?1:0))+X+((q+=Z)>>>0>>0?1:0),V.high=$,V.low=q}Y=N&j^~N&U,Z=L&z^~L&B,V=I&P^I&D^P&D;var ee=R&O^R&F^O&F,te=(Q=(I>>>28|R<<4)^(I<<30|R>>>2)^(I<<25|R>>>7),J=(R>>>28|I<<4)^(R<<30|I>>>2)^(R<<25|I>>>7),(G=o[K]).high),ne=G.low;X=H+((N>>>14|L<<18)^(N>>>18|L<<14)^(N<<23|L>>>9))+((G=W+((L>>>14|N<<18)^(L>>>18|N<<14)^(L<<23|N>>>9)))>>>0>>0?1:0),H=U,W=B,U=j,B=z,j=N,z=L,N=A+(X=(X=(X=X+Y+((G+=Z)>>>0>>0?1:0))+te+((G+=ne)>>>0>>0?1:0))+$+((G+=q)>>>0>>0?1:0))+((L=M+G|0)>>>0>>0?1:0)|0,A=D,M=F,D=P,F=O,P=I,O=R,I=X+(V=Q+V+((q=J+ee)>>>0>>0?1:0))+((R=G+q|0)>>>0>>0?1:0)|0}p=n.low=p+R,n.high=d+I+(p>>>0>>0?1:0),m=r.low=m+O,r.high=h+P+(m>>>0>>0?1:0),y=i.low=y+F,i.high=v+D+(y>>>0>>0?1:0),b=a.low=b+M,a.high=g+A+(b>>>0>>0?1:0),w=s.low=w+L,s.high=k+N+(w>>>0>>0?1:0),S=l.low=S+z,l.high=x+j+(S>>>0>>0?1:0),_=c.low=_+B,c.high=E+U+(_>>>0>>0?1:0),T=f.low=T+W,f.high=C+H+(T>>>0>>0?1:0)},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[30+(r+128>>>10<<5)]=Math.floor(n/4294967296),t[31+(r+128>>>10<<5)]=n,e.sigBytes=4*t.length,this._process(),this._hash.toX32()},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e},blockSize:32}),t.SHA512=n._createHelper(a),t.HmacSHA512=n._createHmacHelper(a)}(),u=(o=s).enc.Utf8,o.algo.HMAC=o.lib.Base.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=u.parse(t));var n=e.blockSize,r=4*n;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),a=this._iKey=t.clone(),o=i.words,s=a.words,l=0;l>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],r=0;r>>2]>>>24-r%4*8&255;n.push((i>>>4).toString(16)),n.push((15&i).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new o.init(n,t/2)}},l=u.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new o.init(n,t)}},c=u.Utf8={stringify:function(e){try{return decodeURIComponent(escape(l.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return l.parse(unescape(encodeURIComponent(e)))}},f=r.BufferedBlockAlgorithm=a.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=c.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,r=n.words,i=n.sigBytes,a=this.blockSize,u=i/(4*a);if(t=(u=t?e.ceil(u):e.max((0|u)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var s=0;sl;l++){if(16>l)r[l]=0|e[t+l];else{var c=r[l-3]^r[l-8]^r[l-14]^r[l-16];r[l]=c<<1|c>>>31}c=(i<<5|i>>>27)+s+r[l],c=20>l?c+(1518500249+(a&o|~a&u)):40>l?c+(1859775393+(a^o^u)):60>l?c+((a&o|a&u|o&u)-1894007588):c+((a^o^u)-899497514),s=u,u=o,o=a<<30|a>>>2,a=i,i=c}n[0]=n[0]+i|0,n[1]=n[1]+a|0,n[2]=n[2]+o|0,n[3]=n[3]+u|0,n[4]=n[4]+s|0},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[14+(r+64>>>9<<4)]=Math.floor(n/4294967296),t[15+(r+64>>>9<<4)]=n,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});e.SHA1=n._createHelper(i),e.HmacSHA1=n._createHmacHelper(i)}(),function(){var e=s,t=e.enc.Utf8;e.algo.HMAC=e.lib.Base.extend({init:function(e,n){e=this._hasher=new e.init,"string"==typeof n&&(n=t.parse(n));var r=e.blockSize,i=4*r;n.sigBytes>i&&(n=e.finalize(n)),n.clamp();for(var a=this._oKey=n.clone(),o=this._iKey=n.clone(),u=a.words,s=o.words,l=0;l>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=a.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],r=0;r>>2]>>>24-r%4*8&255;n.push((i>>>4).toString(16)),n.push((15&i).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new o.init(n,t/2)}},l=u.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new o.init(n,t)}},c=u.Utf8={stringify:function(e){try{return decodeURIComponent(escape(l.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return l.parse(unescape(encodeURIComponent(e)))}},f=r.BufferedBlockAlgorithm=a.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=c.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,r=n.words,i=n.sigBytes,a=this.blockSize,u=i/(4*a);if(t=(u=t?e.ceil(u):e.max((0|u)-this._minBufferSize,0))*a,i=e.min(4*t,i),t){for(var s=0;sl;l++){if(16>l)r[l]=0|e[t+l];else{var c=r[l-3]^r[l-8]^r[l-14]^r[l-16];r[l]=c<<1|c>>>31}c=(i<<5|i>>>27)+s+r[l],c=20>l?c+(1518500249+(a&o|~a&u)):40>l?c+(1859775393+(a^o^u)):60>l?c+((a&o|a&u|o&u)-1894007588):c+((a^o^u)-899497514),s=u,u=o,o=a<<30|a>>>2,a=i,i=c}n[0]=n[0]+i|0,n[1]=n[1]+a|0,n[2]=n[2]+o|0,n[3]=n[3]+u|0,n[4]=n[4]+s|0},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[14+(r+64>>>9<<4)]=Math.floor(n/4294967296),t[15+(r+64>>>9<<4)]=n,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});e.SHA1=n._createHelper(i),e.HmacSHA1=n._createHmacHelper(i)}(),Object.defineProperty(r,"__esModule",{value:!0}),r.StandardFile=r.SFItemTransformer=r.SFCryptoWeb=r.SFCryptoJS=r.SFAbstractCrypto=r.SFItemHistoryEntry=r.SFItemHistory=r.SFHistorySession=r.SFPrivileges=r.SFPredicate=r.SFItemParams=r.SFItem=r.SFSyncManager=r.SFStorageManager=r.SFSingletonManager=r.SFSessionHistoryManager=r.SFPrivilegesManager=r.SFModelManager=r.SFMigrationManager=r.SFHttpManager=r.SFAuthManager=r.SFAlertManager=void 0;var k=function(){function e(){y(this,e)}var t,n;return b(e,[{key:"alert",value:(n=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){window.alert(t.text),e()})));case 1:case"end":return e.stop()}}),e)}))),function(e){return n.apply(this,arguments)})},{key:"confirm",value:(t=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){window.confirm(t.text)?e():n()})));case 1:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)})}]),e}();r.SFAlertManager=k;var w=function(){function e(t,n,r,i){y(this,e),e.DidSignOutEvent="DidSignOutEvent",e.WillSignInEvent="WillSignInEvent",e.DidSignInEvent="DidSignInEvent",this.httpManager=n,this.storageManager=t,this.alertManager=r||new k,this.$timeout=i||setTimeout.bind(window),this.eventHandlers=[]}var t,n,r,i,a,o,u,s,l,c;return b(e,[{key:"addEventHandler",value:function(e){return this.eventHandlers.push(e),e}},{key:"removeEventHandler",value:function(e){_.pull(this.eventHandlers,e)}},{key:"notifyEvent",value:function(e,t){var n=!0,r=!1,i=void 0;try{for(var a,o=this.eventHandlers[Symbol.iterator]();!(n=(a=o.next()).done);n=!0)(0,a.value)(e,t||{})}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}}},{key:"saveKeys",value:(c=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._keys=t,e.next=3,this.storageManager.setItem("mk",t.mk);case 3:return e.next=5,this.storageManager.setItem("ak",t.ak);case 5:case"end":return e.stop()}}),e,this)}))),function(e){return c.apply(this,arguments)})},{key:"signout",value:(l=v(regeneratorRuntime.mark((function t(n){var r=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this._keys=null,this._authParams=null,!n){t.next=6;break}return t.abrupt("return",this.storageManager.clearAllData().then((function(){r.notifyEvent(e.DidSignOutEvent)})));case 6:this.notifyEvent(e.DidSignOutEvent);case 7:case"end":return t.stop()}}),t,this)}))),function(e){return l.apply(this,arguments)})},{key:"keys",value:(s=v(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._keys){e.next=11;break}return e.next=3,this.storageManager.getItem("mk");case 3:if(t=e.sent){e.next=6;break}return e.abrupt("return",null);case 6:return e.t0=t,e.next=9,this.storageManager.getItem("ak");case 9:e.t1=e.sent,this._keys={mk:e.t0,ak:e.t1};case 11:return e.abrupt("return",this._keys);case 12:case"end":return e.stop()}}),e,this)}))),function(){return s.apply(this,arguments)})},{key:"getAuthParams",value:(u=v(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._authParams){e.next=5;break}return e.next=3,this.storageManager.getItem("auth_params");case 3:t=e.sent,this._authParams=JSON.parse(t);case 5:if(!this._authParams||this._authParams.version){e.next=9;break}return e.next=8,this.defaultProtocolVersion();case 8:this._authParams.version=e.sent;case 9:return e.abrupt("return",this._authParams);case 10:case"end":return e.stop()}}),e,this)}))),function(){return u.apply(this,arguments)})},{key:"defaultProtocolVersion",value:(o=v(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.keys();case 2:if(!(t=e.sent)||!t.ak){e.next=7;break}return e.abrupt("return","002");case 7:return e.abrupt("return","001");case 8:case"end":return e.stop()}}),e,this)}))),function(){return o.apply(this,arguments)})},{key:"protocolVersion",value:(a=v(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getAuthParams();case 2:if(!(t=e.sent)||!t.version){e.next=5;break}return e.abrupt("return",t.version);case 5:return e.abrupt("return",this.defaultProtocolVersion());case 6:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"getAuthParamsForEmail",value:(i=v(regeneratorRuntime.mark((function e(t,n,r){var i,a=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(i=_.merge({email:n},r)).api=S.getApiVersion(),e.abrupt("return",new Promise((function(e,n){var r=t+"/auth/params";a.httpManager.getAbsolute(r,i,(function(t){e(t)}),(function(t){console.error("Error getting auth params",t),"object"!==h(t)&&(t={error:{message:"A server error occurred while trying to sign in. Please try again."}}),e(t)}))})));case 3:case"end":return e.stop()}}),e)}))),function(e,t,n){return i.apply(this,arguments)})},{key:"lock",value:function(){this.locked=!0}},{key:"unlock",value:function(){this.locked=!1}},{key:"isLocked",value:function(){return 1==this.locked}},{key:"unlockAndResolve",value:function(e,t){this.unlock(),e(t)}},{key:"login",value:(r=v(regeneratorRuntime.mark((function t(n,r,i,a,o){var u=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",new Promise(function(){var t=v(regeneratorRuntime.mark((function t(s,l){var c,f,d,p,m,y,g,b,k,w;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,u.keys();case 2:if(null==t.sent){t.next=6;break}return s({error:{message:"Cannot log in because already signed in."}}),t.abrupt("return");case 6:if(!u.isLocked()){t.next=9;break}return s({error:{message:"Login already in progress."}}),t.abrupt("return");case 9:return u.lock(),u.notifyEvent(e.WillSignInEvent),t.next=13,u.getAuthParamsForEmail(n,r,o);case 13:if((c=t.sent).identifier=r,!c.error){t.next=18;break}return u.unlockAndResolve(s,c),t.abrupt("return");case 18:if(c&&c.pw_cost){t.next=21;break}return u.unlockAndResolve(s,{error:{message:"Invalid email or password."}}),t.abrupt("return");case 21:if(SFJS.supportedVersions().includes(c.version)){t.next=25;break}return f=SFJS.isVersionNewerThanLibraryVersion(c.version)?"This version of the application does not support your newer account type. Please upgrade to the latest version of Standard Notes to sign in.":"The protocol version associated with your account is outdated and no longer supported by this application. Please visit standardnotes.org/help/security for more information.",u.unlockAndResolve(s,{error:{message:f}}),t.abrupt("return");case 25:if(!SFJS.isProtocolVersionOutdated(c.version)){t.next=32;break}return d="The encryption version for your account, ".concat(c.version,", is outdated and requires upgrade. You may proceed with login, but are advised to perform a security update using the web or desktop application. Please visit standardnotes.org/help/security for more information."),p=!1,t.next=30,u.alertManager.confirm({title:"Update Needed",text:d,confirmButtonText:"Sign In"}).catch((function(){u.unlockAndResolve(s,{error:{}}),p=!0}));case 30:if(!p){t.next=32;break}return t.abrupt("return");case 32:if(SFJS.supportsPasswordDerivationCost(c.pw_cost)){t.next=36;break}return u.unlockAndResolve(s,{error:{message:"Your account was created on a platform with higher security capabilities than this browser supports. If we attempted to generate your login keys here, it would take hours. Please use a browser with more up to date security capabilities, like Google Chrome or Firefox, to log in."}}),t.abrupt("return");case 36:if(m=SFJS.costMinimumForVersion(c.version),!(c.pw_cost5&&void 0!==s[5]&&s[5],e.abrupt("return",new Promise(function(){var e=v(regeneratorRuntime.mark((function e(s,l){var c;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((c=new XMLHttpRequest).onreadystatechange=function(){if(4==c.readyState){var e=c.responseText;if(e)try{e=JSON.parse(e)}catch(e){}c.status>=200&&c.status<=299?u.$timeout((function(){i(e),s(e)})):(console.error("Request error:",e),u.$timeout((function(){a(e,c.status),l(e)})))}},"get"==t&&Object.keys(r).length>0&&(n=u.urlForUrlAndParams(n,r)),c.open(t,n,!0),c.setRequestHeader("Content-type","application/json"),!o){e.next=8;break}return e.next=8,u.setAuthHeadersForRequest(c);case 8:"post"==t||"patch"==t?c.send(JSON.stringify(r)):c.send();case 9:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}()));case 2:case"end":return e.stop()}}),e)}))),function(e,n,r,i,a){return t.apply(this,arguments)})},{key:"urlForUrlAndParams",value:function(e,t){var n=Object.keys(t).map((function(e){return e+"="+encodeURIComponent(t[e])})).join("&");return e.includes("?")?e+"&"+n:e+"?"+n}}]),e}();r.SFHttpManager=S;var E=function(){function e(t,n,r,i){var a=this;y(this,e),this.modelManager=t,this.syncManager=n,this.storageManager=r,this.completionHandlers=[],this.loadMigrations();var o=!1,u=i.addEventHandler((function(e){e==w.DidSignInEvent&&(o=!0)}));this.receivedLocalDataEvent=n.initialDataLoaded(),this.syncManager.addEventHandler(function(){var e=v(regeneratorRuntime.mark((function e(t,n){var r,s,l,c,f,d,p,h,m;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s="sync:completed"==t,!(r="local-data-loaded"==t)&&!s){e.next=40;break}if(r?a.receivedLocalDataEvent=!0:s&&(a.receivedSyncCompletedEvent=!0),!a.receivedLocalDataEvent||!a.receivedSyncCompletedEvent){e.next=40;break}if(!o){e.next=39;break}return o=!1,i.removeEventHandler(u),e.next=10,a.getCompletedMigrations();case 10:l=e.sent.slice(),c=!0,f=!1,d=void 0,e.prev=14,p=l[Symbol.iterator]();case 16:if(c=(h=p.next()).done){e.next=25;break}return m=h.value,e.next=20,a.migrationForEncodedName(m);case 20:e.sent.runOnlyOnce||_.pull(a._completed,m);case 22:c=!0,e.next=16;break;case 25:e.next=31;break;case 27:e.prev=27,e.t0=e.catch(14),f=!0,d=e.t0;case 31:e.prev=31,e.prev=32,c||null==p.return||p.return();case 34:if(e.prev=34,!f){e.next=37;break}throw d;case 37:return e.finish(34);case 38:return e.finish(31);case 39:a.runPendingMigrations();case 40:case"end":return e.stop()}}),e,null,[[14,27,31,39],[32,,34,38]])})));return function(t,n){return e.apply(this,arguments)}}())}var t,n,r,i,a,o,u,s;return b(e,[{key:"addCompletionHandler",value:function(e){this.completionHandlers.push(e)}},{key:"removeCompletionHandler",value:function(e){_.pull(this.completionHandlers,e)}},{key:"migrationForEncodedName",value:(s=v(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.decode(t);case 2:return n=e.sent,e.abrupt("return",this.migrations.find((function(e){return e.name==n})));case 4:case"end":return e.stop()}}),e,this)}))),function(e){return s.apply(this,arguments)})},{key:"loadMigrations",value:function(){this.migrations=this.registeredMigrations()}},{key:"registeredMigrations",value:function(){}},{key:"runPendingMigrations",value:(u=v(regeneratorRuntime.mark((function e(){var t,n,r,i,a,o,u,s,l,c,f,d,p,h,m,v,y,g,b,k,w,x,S,E,_,C,T,I;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getPendingMigrations();case 2:for(t=e.sent,n=!0,r=!1,i=void 0,e.prev=6,a=t[Symbol.iterator]();!(n=(o=a.next()).done);n=!0)(u=o.value).items=[];e.next=14;break;case 10:e.prev=10,e.t0=e.catch(6),r=!0,i=e.t0;case 14:e.prev=14,e.prev=15,n||null==a.return||a.return();case 17:if(e.prev=17,!r){e.next=20;break}throw i;case 20:return e.finish(17);case 21:return e.finish(14);case 22:s=!0,l=!1,c=void 0,e.prev=25,f=this.modelManager.allNondummyItems[Symbol.iterator]();case 27:if(s=(d=f.next()).done){e.next=51;break}for(p=d.value,h=!0,m=!1,v=void 0,e.prev=32,y=t[Symbol.iterator]();!(h=(g=y.next()).done);h=!0)u=g.value,p.content_type==u.content_type&&u.items.push(p);e.next=40;break;case 36:e.prev=36,e.t1=e.catch(32),m=!0,v=e.t1;case 40:e.prev=40,e.prev=41,h||null==y.return||y.return();case 43:if(e.prev=43,!m){e.next=46;break}throw v;case 46:return e.finish(43);case 47:return e.finish(40);case 48:s=!0,e.next=27;break;case 51:e.next=57;break;case 53:e.prev=53,e.t2=e.catch(25),l=!0,c=e.t2;case 57:e.prev=57,e.prev=58,s||null==f.return||f.return();case 60:if(e.prev=60,!l){e.next=63;break}throw c;case 63:return e.finish(60);case 64:return e.finish(57);case 65:b=!0,k=!1,w=void 0,e.prev=68,x=t[Symbol.iterator]();case 70:if(b=(S=x.next()).done){e.next=81;break}if(!((u=S.value).items&&u.items.length>0||u.customHandler)){e.next=77;break}return e.next=75,this.runMigration(u,u.items);case 75:e.next=78;break;case 77:this.markMigrationCompleted(u);case 78:b=!0,e.next=70;break;case 81:e.next=87;break;case 83:e.prev=83,e.t3=e.catch(68),k=!0,w=e.t3;case 87:e.prev=87,e.prev=88,b||null==x.return||x.return();case 90:if(e.prev=90,!k){e.next=93;break}throw w;case 93:return e.finish(90);case 94:return e.finish(87);case 95:for(E=!0,_=!1,C=void 0,e.prev=98,T=this.completionHandlers[Symbol.iterator]();!(E=(I=T.next()).done);E=!0)(0,I.value)();e.next=106;break;case 102:e.prev=102,e.t4=e.catch(98),_=!0,C=e.t4;case 106:e.prev=106,e.prev=107,E||null==T.return||T.return();case 109:if(e.prev=109,!_){e.next=112;break}throw C;case 112:return e.finish(109);case 113:return e.finish(106);case 114:case"end":return e.stop()}}),e,this,[[6,10,14,22],[15,,17,21],[25,53,57,65],[32,36,40,48],[41,,43,47],[58,,60,64],[68,83,87,95],[88,,90,94],[98,102,106,114],[107,,109,113]])}))),function(){return u.apply(this,arguments)})},{key:"encode",value:(o=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",window.btoa(t));case 1:case"end":return e.stop()}}),e)}))),function(e){return o.apply(this,arguments)})},{key:"decode",value:(a=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",window.atob(t));case 1:case"end":return e.stop()}}),e)}))),function(e){return a.apply(this,arguments)})},{key:"getCompletedMigrations",value:(i=v(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._completed){e.next=5;break}return e.next=3,this.storageManager.getItem("migrations");case 3:t=e.sent,this._completed=t?JSON.parse(t):[];case 5:return e.abrupt("return",this._completed);case 6:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:"getPendingMigrations",value:(r=v(regeneratorRuntime.mark((function e(){var t,n,r,i,a,o,u,s;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getCompletedMigrations();case 2:t=e.sent,n=[],r=!0,i=!1,a=void 0,e.prev=7,o=this.migrations[Symbol.iterator]();case 9:if(r=(u=o.next()).done){e.next=22;break}return s=u.value,e.t0=t,e.next=14,this.encode(s.name);case 14:if(e.t1=e.sent,e.t2=e.t0.indexOf.call(e.t0,e.t1),e.t3=-1,e.t2!=e.t3){e.next=19;break}n.push(s);case 19:r=!0,e.next=9;break;case 22:e.next=28;break;case 24:e.prev=24,e.t4=e.catch(7),i=!0,a=e.t4;case 28:e.prev=28,e.prev=29,r||null==o.return||o.return();case 31:if(e.prev=31,!i){e.next=34;break}throw a;case 34:return e.finish(31);case 35:return e.finish(28);case 36:return e.abrupt("return",n);case 37:case"end":return e.stop()}}),e,this,[[7,24,28,36],[29,,31,35]])}))),function(){return r.apply(this,arguments)})},{key:"markMigrationCompleted",value:(n=v(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getCompletedMigrations();case 2:return n=e.sent,e.t0=n,e.next=6,this.encode(t.name);case 6:e.t1=e.sent,e.t0.push.call(e.t0,e.t1),this.storageManager.setItem("migrations",JSON.stringify(n)),t.running=!1;case 10:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"runMigration",value:(t=v(regeneratorRuntime.mark((function e(t,n){var r=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.running){e.next=2;break}return e.abrupt("return");case 2:if(console.log("Running migration:",t.name),t.running=!0,!t.customHandler){e.next=8;break}return e.abrupt("return",t.customHandler().then((function(){r.markMigrationCompleted(t)})));case 8:return e.abrupt("return",t.handler(n).then((function(){r.markMigrationCompleted(t)})));case 9:case"end":return e.stop()}}),e)}))),function(e,n){return t.apply(this,arguments)})}]),e}();r.SFMigrationManager=E;var C=function(){function e(t){y(this,e),e.MappingSourceRemoteRetrieved="MappingSourceRemoteRetrieved",e.MappingSourceRemoteSaved="MappingSourceRemoteSaved",e.MappingSourceLocalSaved="MappingSourceLocalSaved",e.MappingSourceLocalRetrieved="MappingSourceLocalRetrieved",e.MappingSourceLocalDirtied="MappingSourceLocalDirtied",e.MappingSourceComponentRetrieved="MappingSourceComponentRetrieved",e.MappingSourceDesktopInstalled="MappingSourceDesktopInstalled",e.MappingSourceRemoteActionRetrieved="MappingSourceRemoteActionRetrieved",e.MappingSourceFileImport="MappingSourceFileImport",e.isMappingSourceRetrieved=function(t){return[e.MappingSourceRemoteRetrieved,e.MappingSourceComponentRetrieved,e.MappingSourceRemoteActionRetrieved].includes(t)},this.$timeout=t||setTimeout.bind(window),this.itemSyncObservers=[],this.items=[],this.itemsHash={},this.missedReferences={},this.uuidChangeObservers=[]}var t,n,r,i,a,o,u,s,l,c,f,d;return b(e,[{key:"handleSignout",value:function(){this.items.length=0,this.itemsHash={},this.missedReferences={}}},{key:"addModelUuidChangeObserver",value:function(e,t){this.uuidChangeObservers.push({id:e,callback:t})}},{key:"notifyObserversOfUuidChange",value:function(e,t){var n=!0,r=!1,i=void 0;try{for(var a,o=this.uuidChangeObservers[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var u=a.value;try{u.callback(e,t)}catch(e){console.error("Notify observers of uuid change exception:",e)}}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}}},{key:"alternateUUIDForItem",value:(d=v(regeneratorRuntime.mark((function t(n){var r,i,a,o,u,s,l;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=this.createItem(n),t.next=3,SFJS.crypto.generateUUID();case 3:for(r.uuid=t.sent,r.informReferencesOfUUIDChange(n.uuid,r.uuid),this.informModelsOfUUIDChangeForItem(r,n.uuid,r.uuid),i=!0,a=!1,o=void 0,t.prev=9,u=n.referencingObjects[Symbol.iterator]();!(i=(s=u.next()).done);i=!0)(l=s.value).setIsNoLongerBeingReferencedBy(n),n.setIsNoLongerBeingReferencedBy(l),l.addItemAsRelationship(r);t.next=17;break;case 13:t.prev=13,t.t0=t.catch(9),a=!0,o=t.t0;case 17:t.prev=17,t.prev=18,i||null==u.return||u.return();case 20:if(t.prev=20,!a){t.next=23;break}throw o;case 23:return t.finish(20);case 24:return t.finish(17);case 25:return this.setItemsDirty(n.referencingObjects,!0),this.resolveReferencesForItem(r),this.loggingEnabled&&console.log(n.uuid,"--\x3e",r.uuid),n.deleted=!0,n.content.references=[],this.setItemDirty(n,!1,!1,e.MappingSourceLocalSaved),t.next=33,this.mapResponseItemsToLocalModels([n],e.MappingSourceLocalSaved);case 33:return this.addItem(r),this.setItemDirty(r,!0,!0,e.MappingSourceLocalSaved),this.notifyObserversOfUuidChange(n,r),t.abrupt("return",r);case 37:case"end":return t.stop()}}),t,this,[[9,13,17,25],[18,,20,24]])}))),function(e){return d.apply(this,arguments)})},{key:"informModelsOfUUIDChangeForItem",value:function(e,t,n){var r=!0,i=!1,a=void 0;try{for(var o,u=this.items[Symbol.iterator]();!(r=(o=u.next()).done);r=!0)o.value.potentialItemOfInterestHasChangedItsUUID(e,t,n)}catch(e){i=!0,a=e}finally{try{r||null==u.return||u.return()}finally{if(i)throw a}}}},{key:"didSyncModelsOffline",value:function(t){this.notifySyncObserversOfModels(t,e.MappingSourceLocalSaved)}},{key:"mapResponseItemsToLocalModels",value:(f=v(regeneratorRuntime.mark((function e(t,n,r){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.mapResponseItemsToLocalModelsWithOptions({items:t,source:n,sourceKey:r}));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return f.apply(this,arguments)})},{key:"mapResponseItemsToLocalModelsOmittingFields",value:(c=v(regeneratorRuntime.mark((function e(t,n,r,i){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.mapResponseItemsToLocalModelsWithOptions({items:t,omitFields:n,source:r,sourceKey:i}));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t,n,r){return c.apply(this,arguments)})},{key:"mapResponseItemsToLocalModelsWithOptions",value:(l=v(regeneratorRuntime.mark((function e(t){var n,r,i,a,o,u,s,l,c,f,d,h,m,v,y,g,b,k,w,x,S,E,_,C,T,I,R,P,O,D,F,A,M,N,L,j,z,U,B;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.items,r=t.omitFields,i=t.source,a=t.sourceKey,t.options,o=[],u=[],s=[],l=!0,c=!1,f=void 0,e.prev=5,d=n[Symbol.iterator]();case 7:if(l=(h=d.next()).done){e.next=58;break}if(m=h.value){e.next=11;break}return e.abrupt("continue",55);case 11:if(v=!m.content&&!m.errorDecrypting,m.content_type&&m.uuid&&!v||m.deleted){e.next=16;break}return console.error("Server response item is corrupt:",m),e.abrupt("continue",55);case 16:if(!Array.isArray(r)){e.next=36;break}for(y=!0,g=!1,b=void 0,e.prev=20,k=r[Symbol.iterator]();!(y=(w=k.next()).done);y=!0)x=w.value,delete m[x];e.next=28;break;case 24:e.prev=24,e.t0=e.catch(20),g=!0,b=e.t0;case 28:e.prev=28,e.prev=29,y||null==k.return||k.return();case 31:if(e.prev=31,!g){e.next=34;break}throw b;case 34:return e.finish(31);case 35:return e.finish(28);case 36:if((S=this.findItem(m.uuid))&&(S.updateFromJSON(m),S.dummy=!1),E=m.content_type||S&&S.content_type,!this.acceptableContentTypes||this.acceptableContentTypes.includes(E)){e.next=42;break}return e.abrupt("continue",55);case 42:if(_=!1,1!=m.deleted){e.next=50;break}if(!m.dirty){e.next=48;break}_=!0,e.next=50;break;case 48:return S&&(o.push(S),s.push(S),this.removeItemLocally(S)),e.abrupt("continue",55);case 50:S||(S=this.createItem(m)),this.addItem(S,_),S.errorDecrypting||s.push(S),o.push(S),u.push(m);case 55:l=!0,e.next=7;break;case 58:e.next=64;break;case 60:e.prev=60,e.t1=e.catch(5),c=!0,f=e.t1;case 64:e.prev=64,e.prev=65,l||null==d.return||d.return();case 67:if(e.prev=67,!c){e.next=70;break}throw f;case 70:return e.finish(67);case 71:return e.finish(64);case 72:for(C=!0,T=!1,I=void 0,e.prev=75,R=u.entries()[Symbol.iterator]();!(C=(P=R.next()).done);C=!0)O=p(P.value,2),D=O[0],F=O[1],A=o[D],F.content&&this.resolveReferencesForItem(A),A.didFinishSyncing();e.next=83;break;case 79:e.prev=79,e.t2=e.catch(75),T=!0,I=e.t2;case 83:e.prev=83,e.prev=84,C||null==R.return||R.return();case 86:if(e.prev=86,!T){e.next=89;break}throw I;case 89:return e.finish(86);case 90:return e.finish(83);case 91:for(M=this.popMissedReferenceStructsForObjects(u),N=!0,L=!1,j=void 0,e.prev=95,z=function(){var e=B.value,t=o.find((function(t){return t.uuid==e.reference_uuid}));t&&e.for_item.addItemAsRelationship(t)},U=M[Symbol.iterator]();!(N=(B=U.next()).done);N=!0)z();e.next=104;break;case 100:e.prev=100,e.t3=e.catch(95),L=!0,j=e.t3;case 104:e.prev=104,e.prev=105,N||null==U.return||U.return();case 107:if(e.prev=107,!L){e.next=110;break}throw j;case 110:return e.finish(107);case 111:return e.finish(104);case 112:return e.next=114,this.notifySyncObserversOfModels(s,i,a);case 114:return e.abrupt("return",o);case 115:case"end":return e.stop()}}),e,this,[[5,60,64,72],[20,24,28,36],[29,,31,35],[65,,67,71],[75,79,83,91],[84,,86,90],[95,100,104,112],[105,,107,111]])}))),function(e){return l.apply(this,arguments)})},{key:"missedReferenceBuildKey",value:function(e,t){return"".concat(e,":").concat(t)}},{key:"popMissedReferenceStructsForObjects",value:function(e){if(!e||0==e.length)return[];for(var t=[],n=[],r=e.map((function(e){return e.uuid})),i=r[0].length,a=0,o=Object.keys(this.missedReferences);a1&&void 0!==arguments[1]&&arguments[1];if(!e.errorDecrypting){var n=e.contentObject;if(e.updateLocalRelationships(),n.references){var r=n.references.slice(),i=r.map((function(e){return e.uuid})),a=!0,o=this.findItems(i,a),u=!0,s=!1,l=void 0;try{for(var c,f=o.entries()[Symbol.iterator]();!(u=(c=f.next()).done);u=!0){var d=p(c.value,2),h=d[0],m=d[1];if(m)e.addItemAsRelationship(m),t&&this.setItemDirty(m,!0);else{var v=i[h],y=this.missedReferenceBuildKey(v,e.uuid);if(!this.missedReferences[y]){var g={reference_uuid:v,for_item:e};this.missedReferences[y]=g}}}}catch(e){s=!0,l=e}finally{try{u||null==f.return||f.return()}finally{if(s)throw l}}}}}},{key:"notifySyncObserversOfModels",value:(s=v(regeneratorRuntime.mark((function e(t,n,r){var i,a,o,u,s,l,c,f=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=this.itemSyncObservers.sort((function(e,t){return e.priority0)){e.next=25;break}return e.next=25,f._callSyncObserverCallbackWithTimeout(i,a,o,u,n,r);case 25:case"end":return e.stop()}}),e,null,[[6,10,14,22],[15,,17,21]])})),l=i[Symbol.iterator]();case 7:if(a=(c=l.next()).done){e.next=12;break}return e.delegateYield(s(),"t0",9);case 9:a=!0,e.next=7;break;case 12:e.next=18;break;case 14:e.prev=14,e.t1=e.catch(4),o=!0,u=e.t1;case 18:e.prev=18,e.prev=19,a||null==l.return||l.return();case 21:if(e.prev=21,!o){e.next=24;break}throw u;case 24:return e.finish(21);case 25:return e.finish(18);case 26:case"end":return e.stop()}}),e,this,[[4,14,18,26],[19,,21,25]])}))),function(e,t,n){return s.apply(this,arguments)})},{key:"_callSyncObserverCallbackWithTimeout",value:(u=v(regeneratorRuntime.mark((function e(t,n,r,i,a,o){var u=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,s){u.$timeout((function(){try{t.callback(n,r,i,a,o)}catch(e){console.error("Sync observer exception",e)}finally{e()}}))})));case 1:case"end":return e.stop()}}),e)}))),function(e,t,n,r,i,a){return u.apply(this,arguments)})},{key:"setItemDirty",value:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;this.setItemsDirty([e],t,n,r,i)}},{key:"setItemsDirty",value:function(t){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0,o=!0,u=!1,s=void 0;try{for(var l,c=t[Symbol.iterator]();!(o=(l=c.next()).done);o=!0){var f=l.value;f.setDirty(n,r)}}catch(e){u=!0,s=e}finally{try{o||null==c.return||c.return()}finally{if(u)throw s}}this.notifySyncObserversOfModels(t,i||e.MappingSourceLocalDirtied,a)}},{key:"createItem",value:function(t){var n=e.ContentTypeClassMapping&&e.ContentTypeClassMapping[t.content_type];return n||(n=F),new n(t)}},{key:"createDuplicateItemFromResponseItem",value:(o=v(regeneratorRuntime.mark((function e(t){var n,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("function"!=typeof t.setDirty){e.next=3;break}return console.error("Attempting to create conflicted copy of non-response item."),e.abrupt("return",null);case 3:return n=JSON.parse(JSON.stringify(t)),e.next=6,SFJS.crypto.generateUUID();case 6:return n.uuid=e.sent,r=this.createItem(n),e.abrupt("return",r);case 9:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"duplicateItemAndAddAsConflict",value:function(e){return this.duplicateItemWithCustomContentAndAddAsConflict({content:e.content,duplicateOf:e})}},{key:"duplicateItemWithCustomContentAndAddAsConflict",value:function(e){var t=e.content,n=e.duplicateOf,r=this.duplicateItemWithCustomContent({content:t,duplicateOf:n});return this.addDuplicatedItemAsConflict({duplicate:r,duplicateOf:n}),r}},{key:"addDuplicatedItemAsConflict",value:function(e){var t=e.duplicate,n=e.duplicateOf;this.addDuplicatedItem(t,n),t.content.conflict_of=n.uuid}},{key:"duplicateItemWithCustomContent",value:function(e){var t=e.content,n=e.duplicateOf,r=new n.constructor({content:t});return r.created_at=n.created_at,r.content_type||(r.content_type=n.content_type),r}},{key:"duplicateItemAndAdd",value:function(e){var t=this.duplicateItemWithoutAdding(e);return this.addDuplicatedItem(t,e),t}},{key:"duplicateItemWithoutAdding",value:function(e){var t=new e.constructor({content:e.content});return t.created_at=e.created_at,t.content_type||(t.content_type=e.content_type),t}},{key:"addDuplicatedItem",value:function(e,t){this.addItem(e);var n=!0,r=!1,i=void 0;try{for(var a,o=t.referencingObjects[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var u=a.value;u.addItemAsRelationship(e),this.setItemDirty(u,!0)}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}this.resolveReferencesForItem(e),this.setItemDirty(e,!0)}},{key:"addItem",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.addItems([e],t)}},{key:"addItems",value:function(e){var t=this;e.forEach((function(e){t.itemsHash[e.uuid]||(t.itemsHash[e.uuid]=e,t.items.push(e))}))}},{key:"addItemSyncObserver",value:function(e,t,n){this.addItemSyncObserverWithPriority({id:e,types:t,callback:n,priority:1})}},{key:"addItemSyncObserverWithPriority",value:function(e){var t=e.id,n=e.priority,r=e.types,i=e.callback;Array.isArray(r)||(r=[r]),this.itemSyncObservers.push({id:t,types:r,priority:n,callback:i})}},{key:"removeItemSyncObserver",value:function(e){_.remove(this.itemSyncObservers,_.find(this.itemSyncObservers,{id:e}))}},{key:"getDirtyItems",value:function(){return this.items.filter((function(e){return 1==e.dirty&&!e.dummy&&(!e.errorDecrypting||e.deleted)}))}},{key:"clearDirtyItems",value:function(e){var t=!0,n=!1,r=void 0;try{for(var i,a=e[Symbol.iterator]();!(t=(i=a.next()).done);t=!0)i.value.setDirty(!1)}catch(e){n=!0,r=e}finally{try{t||null==a.return||a.return()}finally{if(n)throw r}}}},{key:"removeAndDirtyAllRelationshipsForItem",value:function(e){if(!e.errorDecrypting){var t=!0,n=!1,r=void 0;try{for(var i,a=e.content.references[Symbol.iterator]();!(t=(i=a.next()).done);t=!0){var o=i.value,u=this.findItem(o.uuid);u&&(e.removeItemAsRelationship(u),u.hasRelationshipWithItem(e)&&(u.removeItemAsRelationship(e),this.setItemDirty(u,!0)))}}catch(e){n=!0,r=e}finally{try{t||null==a.return||a.return()}finally{if(n)throw r}}}var s=!0,l=!1,c=void 0;try{for(var f,d=e.referencingObjects[Symbol.iterator]();!(s=(f=d.next()).done);s=!0){var p=f.value;p.removeItemAsRelationship(e),this.setItemDirty(p,!0)}}catch(e){l=!0,c=e}finally{try{s||null==d.return||d.return()}finally{if(l)throw c}}e.referencingObjects=[]}},{key:"setAllItemsDirty",value:function(){var e=this.allItems;this.setItemsDirty(e,!0)}},{key:"setItemToBeDeleted",value:function(e){e.deleted=!0,e.dummy||this.setItemDirty(e,!0),this.removeAndDirtyAllRelationshipsForItem(e)}},{key:"removeItemLocally",value:(a=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:_.remove(this.items,{uuid:t.uuid}),delete this.itemsHash[t.uuid],t.isBeingRemovedLocally();case 3:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"allItemsMatchingTypes",value:function(e){return this.allItems.filter((function(t){return(_.includes(e,t.content_type)||_.includes(e,"*"))&&!t.dummy}))}},{key:"invalidItems",value:function(){return this.allItems.filter((function(e){return e.errorDecrypting}))}},{key:"validItemsForContentType",value:function(e){return this.allItems.filter((function(t){return t.content_type==e&&!t.errorDecrypting}))}},{key:"findItem",value:function(e){return this.itemsHash[e]}},{key:"findItems",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=[],r=!0,i=!1,a=void 0;try{for(var o,u=e[Symbol.iterator]();!(r=(o=u.next()).done);r=!0){var s=o.value,l=this.itemsHash[s];(l||t)&&n.push(l)}}catch(e){i=!0,a=e}finally{try{r||null==u.return||u.return()}finally{if(i)throw a}}return n}},{key:"itemsMatchingPredicate",value:function(e){return this.itemsMatchingPredicates([e])}},{key:"itemsMatchingPredicates",value:function(e){return this.filterItemsWithPredicates(this.allItems,e)}},{key:"filterItemsWithPredicates",value:function(e,t){return e.filter((function(e){var n=!0,r=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var u=a.value;if(!e.satisfiesPredicate(u))return!1}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}return!0}))}},{key:"importItems",value:(i=v(regeneratorRuntime.mark((function t(n){var r,i,a,o,u,s,l,c,f,d,p,h,m,v,y,g,b,k,w,x,S,E,_,C,T,I,R;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:r=[],i={},a=!0,o=!1,u=void 0,t.prev=5,s=n[Symbol.iterator]();case 7:if(a=(l=s.next()).done){t.next=18;break}if(c=l.value,f=this.findItem(c.uuid)){t.next=13;break}return i[c.uuid]={},t.abrupt("continue",15);case 13:d=this.duplicateItemWithoutAdding(f),i[c.uuid]={frozenValue:d,itemRef:f};case 15:a=!0,t.next=7;break;case 18:t.next=24;break;case 20:t.prev=20,t.t0=t.catch(5),o=!0,u=t.t0;case 24:t.prev=24,t.prev=25,a||null==s.return||s.return();case 27:if(t.prev=27,!o){t.next=30;break}throw u;case 30:return t.finish(27);case 31:return t.finish(24);case 32:p=!0,h=!1,m=void 0,t.prev=35,v=n[Symbol.iterator]();case 37:if(p=(y=v.next()).done){t.next=52;break}if(g=y.value,b=i[g.uuid],k=b.frozenValue,w=b.itemRef,!k||w.errorDecrypting){t.next=47;break}return t.next=43,this.createDuplicateItemFromResponseItem(g);case 43:x=t.sent,g.deleted||k.isItemContentEqualWith(x)||(this.addDuplicatedItemAsConflict({duplicate:x,duplicateOf:w}),r.push(x)),t.next=49;break;case 47:r.push(g),w&&w.errorDecrypting&&(w.errorDecrypting=!1);case 49:p=!0,t.next=37;break;case 52:t.next=58;break;case 54:t.prev=54,t.t1=t.catch(35),h=!0,m=t.t1;case 58:t.prev=58,t.prev=59,p||null==v.return||v.return();case 61:if(t.prev=61,!h){t.next=64;break}throw m;case 64:return t.finish(61);case 65:return t.finish(58);case 66:return t.next=68,this.mapResponseItemsToLocalModels(r,e.MappingSourceFileImport);case 68:for(S=t.sent,E=!0,_=!1,C=void 0,t.prev=72,T=S[Symbol.iterator]();!(E=(I=T.next()).done);E=!0)R=I.value,this.setItemDirty(R,!0,!1),R.deleted=!1;t.next=80;break;case 76:t.prev=76,t.t2=t.catch(72),_=!0,C=t.t2;case 80:t.prev=80,t.prev=81,E||null==T.return||T.return();case 83:if(t.prev=83,!_){t.next=86;break}throw C;case 86:return t.finish(83);case 87:return t.finish(80);case 88:return t.abrupt("return",S);case 89:case"end":return t.stop()}}),t,this,[[5,20,24,32],[25,,27,31],[35,54,58,66],[59,,61,65],[72,76,80,88],[81,,83,87]])}))),function(e){return i.apply(this,arguments)})},{key:"getAllItemsJSONData",value:(r=v(regeneratorRuntime.mark((function e(t,n,r){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.getJSONDataForItems(this.allItems,t,n,r));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return r.apply(this,arguments)})},{key:"getJSONDataForItems",value:(n=v(regeneratorRuntime.mark((function e(t,n,r,i){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Promise.all(t.map((function(e){return new A(e,n,r).paramsForExportFile()}))).then((function(e){if(i&&0==e.length)return null;var t={items:e};return n&&(t.auth_params=r),JSON.stringify(t,null,2)})));case 1:case"end":return e.stop()}}),e)}))),function(e,t,r,i){return n.apply(this,arguments)})},{key:"computeDataIntegrityHash",value:(t=v(regeneratorRuntime.mark((function e(){var t,n,r,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,t=this.allNondummyItems.sort((function(e,t){return t.updated_at-e.updated_at})),n=t.map((function(e){return e.updatedAtTimestamp()})),r=n.join(","),e.next=6,SFJS.crypto.sha256(r);case 6:return i=e.sent,e.abrupt("return",i);case 10:return e.prev=10,e.t0=e.catch(0),console.error("Error computing data integrity hash",e.t0),e.abrupt("return",null);case 14:case"end":return e.stop()}}),e,this,[[0,10]])}))),function(){return t.apply(this,arguments)})},{key:"allItems",get:function(){return this.items.slice()}},{key:"allNondummyItems",get:function(){return this.items.filter((function(e){return!e.dummy}))}}]),e}();r.SFModelManager=C;var T=function(){function e(t,n,r){y(this,e),this.modelManager=t,this.syncManager=n,this.singletonManager=r,this.loadPrivileges(),e.CredentialAccountPassword="CredentialAccountPassword",e.CredentialLocalPasscode="CredentialLocalPasscode",e.ActionManageExtensions="ActionManageExtensions",e.ActionManageBackups="ActionManageBackups",e.ActionViewProtectedNotes="ActionViewProtectedNotes",e.ActionManagePrivileges="ActionManagePrivileges",e.ActionManagePasscode="ActionManagePasscode",e.ActionDeleteNote="ActionDeleteNote",e.SessionExpiresAtKey="SessionExpiresAtKey",e.SessionLengthKey="SessionLengthKey",e.SessionLengthNone=0,e.SessionLengthFiveMinutes=300,e.SessionLengthOneHour=3600,e.SessionLengthOneWeek=604800,this.availableActions=[e.ActionViewProtectedNotes,e.ActionDeleteNote,e.ActionManagePasscode,e.ActionManageBackups,e.ActionManageExtensions,e.ActionManagePrivileges],this.availableCredentials=[e.CredentialAccountPassword,e.CredentialLocalPasscode],this.sessionLengths=[e.SessionLengthNone,e.SessionLengthFiveMinutes,e.SessionLengthOneHour,e.SessionLengthOneWeek,e.SessionLengthIndefinite]}var t,n,r,i,a,o,u,s,l,c,f,d;return b(e,[{key:"setDelegate",value:function(e){this.delegate=e}},{key:"getAvailableActions",value:function(){return this.availableActions}},{key:"getAvailableCredentials",value:function(){return this.availableCredentials}},{key:"netCredentialsForAction",value:(d=v(regeneratorRuntime.mark((function t(n){var r,i,a,o,u,s,l,c;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getPrivileges();case 2:t.t0=n,r=t.sent.getCredentialsForAction(t.t0),i=[],a=!0,o=!1,u=void 0,t.prev=8,s=r[Symbol.iterator]();case 10:if(a=(l=s.next()).done){t.next=27;break}if((c=l.value)!=e.CredentialAccountPassword){t.next=19;break}return t.next=15,this.delegate.isOffline();case 15:t.sent||i.push(c),t.next=24;break;case 19:if(c!=e.CredentialLocalPasscode){t.next=24;break}return t.next=22,this.delegate.hasLocalPasscode();case 22:t.sent&&i.push(c);case 24:a=!0,t.next=10;break;case 27:t.next=33;break;case 29:t.prev=29,t.t1=t.catch(8),o=!0,u=t.t1;case 33:t.prev=33,t.prev=34,a||null==s.return||s.return();case 36:if(t.prev=36,!o){t.next=39;break}throw u;case 39:return t.finish(36);case 40:return t.finish(33);case 41:return t.abrupt("return",i);case 42:case"end":return t.stop()}}),t,this,[[8,29,33,41],[34,,36,40]])}))),function(e){return d.apply(this,arguments)})},{key:"loadPrivileges",value:(f=v(regeneratorRuntime.mark((function e(){var t=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.loadPromise){e.next=2;break}return e.abrupt("return",this.loadPromise);case 2:return this.loadPromise=new Promise((function(e,n){var r=N.contentType(),i=new M("content_type","=",r);t.singletonManager.registerSingleton([i],(function(n){t.privileges=n,e(n)}),function(){var n=v(regeneratorRuntime.mark((function n(i){var a;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(a=new N({content_type:r}),SFJS.crypto.generateUUIDSync){n.next=4;break}return n.next=4,a.initUUID();case 4:t.modelManager.addItem(a),t.modelManager.setItemDirty(a,!0),t.syncManager.sync(),i(a),e(a);case 9:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}())})),e.abrupt("return",this.loadPromise);case 4:case"end":return e.stop()}}),e,this)}))),function(){return f.apply(this,arguments)})},{key:"getPrivileges",value:(c=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.privileges){e.next=4;break}return e.abrupt("return",this.privileges);case 4:return e.abrupt("return",this.loadPrivileges());case 5:case"end":return e.stop()}}),e,this)}))),function(){return c.apply(this,arguments)})},{key:"displayInfoForCredential",value:function(t){var n={};return n[e.CredentialAccountPassword]={label:"Account Password",prompt:"Please enter your account password."},n[e.CredentialLocalPasscode]={label:"Local Passcode",prompt:"Please enter your local passcode."},n[t]}},{key:"displayInfoForAction",value:function(t){var n={};return n[e.ActionManageExtensions]={label:"Manage Extensions"},n[e.ActionManageBackups]={label:"Download/Import Backups"},n[e.ActionViewProtectedNotes]={label:"View Protected Notes"},n[e.ActionManagePrivileges]={label:"Manage Privileges"},n[e.ActionManagePasscode]={label:"Manage Passcode"},n[e.ActionDeleteNote]={label:"Delete Notes"},n[t]}},{key:"getSessionLengthOptions",value:function(){return[{value:e.SessionLengthNone,label:"Don't Remember"},{value:e.SessionLengthFiveMinutes,label:"5 Minutes"},{value:e.SessionLengthOneHour,label:"1 Hour"},{value:e.SessionLengthOneWeek,label:"1 Week"}]}},{key:"setSessionLength",value:(l=v(regeneratorRuntime.mark((function t(n){var r;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return i=n,a=void 0,(a=new Date).setSeconds(a.getSeconds()+i),r=a,t.abrupt("return",Promise.all([this.delegate.saveToStorage(e.SessionExpiresAtKey,JSON.stringify(r)),this.delegate.saveToStorage(e.SessionLengthKey,JSON.stringify(n))]));case 3:case"end":return t.stop()}var i,a}),t,this)}))),function(e){return l.apply(this,arguments)})},{key:"clearSession",value:(s=v(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",this.setSessionLength(e.SessionLengthNone));case 1:case"end":return t.stop()}}),t,this)}))),function(){return s.apply(this,arguments)})},{key:"getSelectedSessionLength",value:(u=v(regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.delegate.getFromStorage(e.SessionLengthKey);case 2:if(!(n=t.sent)){t.next=7;break}return t.abrupt("return",JSON.parse(n));case 7:return t.abrupt("return",e.SessionLengthNone);case 8:case"end":return t.stop()}}),t,this)}))),function(){return u.apply(this,arguments)})},{key:"getSessionExpirey",value:(o=v(regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.delegate.getFromStorage(e.SessionExpiresAtKey);case 2:if(!(n=t.sent)){t.next=7;break}return t.abrupt("return",new Date(JSON.parse(n)));case 7:return t.abrupt("return",new Date);case 8:case"end":return t.stop()}}),t,this)}))),function(){return o.apply(this,arguments)})},{key:"actionHasPrivilegesConfigured",value:(a=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.netCredentialsForAction(t);case 2:return e.t0=e.sent.length,e.abrupt("return",e.t0>0);case 4:case"end":return e.stop()}}),e,this)}))),function(e){return a.apply(this,arguments)})},{key:"actionRequiresPrivilege",value:(i=v(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getSessionExpirey();case 2:if(!(e.sent>new Date)){e.next=5;break}return e.abrupt("return",!1);case 5:return e.next=7,this.netCredentialsForAction(t);case 7:return n=e.sent,e.abrupt("return",n.length>0);case 9:case"end":return e.stop()}}),e,this)}))),function(e){return i.apply(this,arguments)})},{key:"savePrivileges",value:(r=v(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getPrivileges();case 2:t=e.sent,this.modelManager.setItemDirty(t,!0),this.syncManager.sync();case 5:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"authenticateAction",value:(n=v(regeneratorRuntime.mark((function e(t,n){var r,i,a,o,u,s,l,c,f;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.netCredentialsForAction(t);case 2:r=e.sent,i=[],a=[],o=!0,u=!1,s=void 0,e.prev=7,l=r[Symbol.iterator]();case 9:if(o=(c=l.next()).done){e.next=18;break}return f=c.value,e.next=13,this._verifyAuthenticationParameters(f,n[f]);case 13:e.sent?i.push(f):a.push(f);case 15:o=!0,e.next=9;break;case 18:e.next=24;break;case 20:e.prev=20,e.t0=e.catch(7),u=!0,s=e.t0;case 24:e.prev=24,e.prev=25,o||null==l.return||l.return();case 27:if(e.prev=27,!u){e.next=30;break}throw s;case 30:return e.finish(27);case 31:return e.finish(24);case 32:return e.abrupt("return",{success:0==a.length,successfulCredentials:i,failedCredentials:a});case 33:case"end":return e.stop()}}),e,this,[[7,20,24,32],[25,,27,31]])}))),function(e,t){return n.apply(this,arguments)})},{key:"_verifyAuthenticationParameters",value:(t=v(regeneratorRuntime.mark((function t(n,r){var i,a,o=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(i=function(){var e=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.delegate.verifyAccountPassword(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),a=function(){var e=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",o.delegate.verifyLocalPasscode(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),n!=e.CredentialAccountPassword){t.next=6;break}return t.abrupt("return",i(r));case 6:if(n!=e.CredentialLocalPasscode){t.next=8;break}return t.abrupt("return",a(r));case 8:case"end":return t.stop()}}),t)}))),function(e,n){return t.apply(this,arguments)})}]),e}();r.SFPrivilegesManager=T;var I=function(){function e(t,n,r,i,a){var o=this;y(this,e),this.modelManager=t,this.storageManager=n,this.$timeout=a||setTimeout.bind(window),this.keyRequestHandler=r,this.loadFromDisk().then((function(){o.modelManager.addItemSyncObserver("session-history",i,(function(e,t,n,r,i){if(r!==C.MappingSourceLocalDirtied){var a=!0,u=!1,s=void 0;try{for(var l,c=e[Symbol.iterator]();!(a=(l=c.next()).done);a=!0){var f=l.value;try{o.addHistoryEntryForItem(f)}catch(e){console.log("Caught exception while trying to add item history entry",e)}}}catch(e){u=!0,s=e}finally{try{a||null==c.return||c.return()}finally{if(u)throw s}}}}))}))}var t,n,r,i,a,o,u;return b(e,[{key:"encryptionParams",value:(u=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.keyRequestHandler());case 1:case"end":return e.stop()}}),e,this)}))),function(){return u.apply(this,arguments)})},{key:"addHistoryEntryForItem",value:function(e){var t=this,n={uuid:e.uuid,content_type:e.content_type,updated_at:e.updated_at,content:e.getContentCopy()},r=this.historySession.addEntryForItem(n);this.autoOptimize&&this.historySession.optimizeHistoryForItem(e),r&&this.diskEnabled&&(this.diskTimeout&&(this.$timeout.hasOwnProperty("cancel")?this.$timeout.cancel(this.diskTimeout):clearTimeout(this.diskTimeout)),this.diskTimeout=this.$timeout((function(){t.saveToDisk()}),2e3))}},{key:"historyForItem",value:function(e){return this.historySession.historyForItem(e)}},{key:"clearHistoryForItem",value:(o=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.historySession.clearItemHistory(t),e.abrupt("return",this.saveToDisk());case 2:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"clearAllHistory",value:(a=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.historySession.clearAllHistory(),e.abrupt("return",this.storageManager.removeItem("sessionHistory_revisions"));case 2:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"toggleDiskSaving",value:(i=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.diskEnabled=!this.diskEnabled,!this.diskEnabled){e.next=6;break}this.storageManager.setItem("sessionHistory_persist",JSON.stringify(!0)),this.saveToDisk(),e.next=8;break;case 6:return this.storageManager.setItem("sessionHistory_persist",JSON.stringify(!1)),e.abrupt("return",this.storageManager.removeItem("sessionHistory_revisions"));case 8:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:"saveToDisk",value:(r=v(regeneratorRuntime.mark((function e(){var t,n=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.diskEnabled){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,this.encryptionParams();case 4:t=e.sent,new A(this.historySession,t.keys,t.auth_params).paramsForSync().then((function(e){n.storageManager.setItem("sessionHistory_revisions",JSON.stringify(e))}));case 7:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"loadFromDisk",value:(n=v(regeneratorRuntime.mark((function e(){var t,n,r,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.storageManager.getItem("sessionHistory_persist");case 2:return(t=e.sent)&&(this.diskEnabled=JSON.parse(t)),e.next=6,this.storageManager.getItem("sessionHistory_revisions");case 6:if(!(n=e.sent)){e.next=18;break}return n=JSON.parse(n),e.next=11,this.encryptionParams();case 11:return r=e.sent,e.next=14,SFJS.itemTransformer.decryptItem(n,r.keys);case 14:i=new L(n),this.historySession=i,e.next=19;break;case 18:this.historySession=new L;case 19:return e.next=21,this.storageManager.getItem("sessionHistory_autoOptimize");case 21:a=e.sent,this.autoOptimize=!a||JSON.parse(a);case 23:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"toggleAutoOptimize",value:(t=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this.autoOptimize=!this.autoOptimize,this.autoOptimize?this.storageManager.setItem("sessionHistory_autoOptimize",JSON.stringify(!0)):this.storageManager.setItem("sessionHistory_autoOptimize",JSON.stringify(!1));case 2:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})}]),e}();r.SFSessionHistoryManager=I;var R=function(){function e(t,n){var r=this;y(this,e),this.syncManager=n,this.modelManager=t,this.singletonHandlers=[],t.addItemSyncObserverWithPriority({id:"sf-singleton-manager",types:"*",priority:-1,callback:function(e,n,i,a,o){a!==C.MappingSourceLocalDirtied&&r.resolveSingletons(t.allNondummyItems,null,!0)}}),n.addEventHandler((function(e,n){if("local-data-loaded"==e)r.resolveSingletons(t.allNondummyItems,null,!0),r.initialDataLoaded=!0;else if("sync:completed"==e){if(!r.initialDataLoaded)return;r.resolveSingletons(n.retrievedItems,n.savedItems)}})),t.addModelUuidChangeObserver("singleton-manager",(function(e,t){var n=!0,i=!1,a=void 0;try{for(var o,u=r.singletonHandlers[Symbol.iterator]();!(n=(o=u.next()).done);n=!0){var s=o.value;s.singleton&&M.ItemSatisfiesPredicates(t,s.predicates)&&(s.singleton=null,r.resolveSingletons([t]))}}catch(e){i=!0,a=e}finally{try{n||null==u.return||u.return()}finally{if(i)throw a}}}))}return b(e,[{key:"registerSingleton",value:function(e,t,n){this.singletonHandlers.push({predicates:e,resolutionCallback:t,createBlock:n})}},{key:"resolveSingletons",value:function(e,t,n){var r=this;e=e||[],t=t||[];var i=!0,a=!1,o=void 0;try{for(var u,s=function(){var i=u.value,a=i.predicates.slice(),o=r.modelManager.filterItemsWithPredicates(e,a),s=function(){i.createBlock&&(i.pendingCreateBlockCallback=!0,i.createBlock((function(e){i.singleton=e,i.pendingCreateBlockCallback=!1,i.resolutionCallback&&i.resolutionCallback(e)})))},l=r.modelManager.filterItemsWithPredicates(t,a).length;if(o.length>0||l>0){var c=r.modelManager.itemsMatchingPredicates(a);if(c.length>=2){var f=c.sort((function(e,t){return e.errorDecrypting?1:t.errorDecrypting||e.created_at=this.MaxDiscordanceBeforeOutOfSync&&(this.outOfSync||(this.outOfSync=!0,this.notifyEvent("enter-out-of-sync"))),e.abrupt("return",!1);case 13:return this.outOfSync&&(this.outOfSync=!1,this.notifyEvent("exit-out-of-sync")),this.syncDiscordance=0,e.abrupt("return",!0);case 16:case"end":return e.stop()}}),e,this)}))),function(e){return R.apply(this,arguments)})},{key:"isOutOfSync",value:function(){return this.outOfSync}},{key:"getServerURL",value:(I=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.storageManager.getItem("server");case 2:if(e.t0=e.sent,e.t0){e.next=5;break}e.t0=window._default_sf_server;case 5:return e.abrupt("return",e.t0);case 6:case"end":return e.stop()}}),e,this)}))),function(){return I.apply(this,arguments)})},{key:"getSyncURL",value:(T=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getServerURL();case 2:return e.t0=e.sent,e.abrupt("return",e.t0+"/items/sync");case 4:case"end":return e.stop()}}),e,this)}))),function(){return T.apply(this,arguments)})},{key:"registerSyncStatusObserver",value:function(e){var t={key:new Date,callback:e};return this.syncStatusObservers.push(t),t}},{key:"removeSyncStatusObserver",value:function(e){_.pull(this.syncStatusObservers,e)}},{key:"syncStatusDidChange",value:function(){var e=this;this.syncStatusObservers.forEach((function(t){t.callback(e.syncStatus)}))}},{key:"addEventHandler",value:function(e){return this.eventHandlers.push(e),e}},{key:"removeEventHandler",value:function(e){_.pull(this.eventHandlers,e)}},{key:"notifyEvent",value:function(e,t){var n=!0,r=!1,i=void 0;try{for(var a,o=this.eventHandlers[Symbol.iterator]();!(n=(a=o.next()).done);n=!0)(0,a.value)(e,t||{})}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}}},{key:"setKeyRequestHandler",value:function(e){this.keyRequestHandler=e}},{key:"getActiveKeyInfo",value:(E=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.keyRequestHandler(t));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return E.apply(this,arguments)})},{key:"initialDataLoaded",value:function(){return!0===this._initialDataLoaded}},{key:"_sortLocalItems",value:function(e){var t=this;return e.sort((function(e,n){var r=new Date(n.updated_at)-new Date(e.updated_at),i=t.contentTypeLoadPriority,a=0,o=0;return i&&(a=i.indexOf(e.content_type),o=i.indexOf(n.content_type),-1==a&&(a=i.length),-1==o&&(o=i.length)),a==o?r:a0&&void 0!==s[0]?s[0]:{},r=n.incrementalCallback,i=n.batchSize,!(a=n.options)||!a.simulateHighLatency){t.next=5;break}return o=a.simulatedLatency||1e3,t.next=5,this._awaitSleep(o);case 5:if(!this.loadLocalDataPromise){t.next=7;break}return t.abrupt("return",this.loadLocalDataPromise);case 7:return i||(i=100),this.loadLocalDataPromise=this.storageManager.getAllModels().then((function(t){var n=(t=(t=u._sortLocalItems(t)).filter((function(e){var t=u.modelManager.findItem(e.uuid);return!t||new Date(e.dirtiedDate)>t.dirtiedDate}))).length,a=0,o=[],s=function(){var l=v(regeneratorRuntime.mark((function l(){var c,f;return regeneratorRuntime.wrap((function(l){for(;;)switch(l.prev=l.next){case 0:return c=t.slice(a,a+i),l.next=3,u.handleItemsResponse(c,null,C.MappingSourceLocalRetrieved,e.KeyRequestLoadLocal);case 3:if(f=l.sent,o.push(f),!((a+=c.length)0)){t.next=23;break}return t.next=23,Promise.all(s.map(function(){var e=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",i.storageManager.deleteModel(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 23:return t.next=25,i.getActiveKeyInfo(e.KeyRequestSaveLocal);case 25:if(m=t.sent,!(u.length>0)){t.next=33;break}return t.next=29,Promise.all(u.map(function(){var e=v(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=new A(t,m.keys,m.auth_params),e.next=3,n.paramsForLocalStorage();case 3:return n=e.sent,r&&delete n.dirty,e.abrupt("return",n);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())).catch((function(e){return o(e)}));case 29:return y=t.sent,t.next=32,i.storageManager.saveModels(y).catch((function(e){console.error("Error writing items",e),i.syncStatus.localError=e,i.syncStatusDidChange(),o()}));case 32:i.syncStatus.localError&&(i.syncStatus.localError=null,i.syncStatusDidChange());case 33:a();case 34:case"end":return t.stop()}}),t,null,[[4,8,12,20],[13,,15,19]])})));return function(e,n){return t.apply(this,arguments)}}()));case 3:case"end":return t.stop()}}),t)}))),function(e,t){return w.apply(this,arguments)})},{key:"syncOffline",value:(k=v(regeneratorRuntime.mark((function e(t){var n,r,i,a,o,u=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(n=!0,r=!1,i=void 0,e.prev=3,a=t[Symbol.iterator]();!(n=(o=a.next()).done);n=!0)o.value.updated_at=new Date;e.next=11;break;case 7:e.prev=7,e.t0=e.catch(3),r=!0,i=e.t0;case 11:e.prev=11,e.prev=12,n||null==a.return||a.return();case 14:if(e.prev=14,!r){e.next=17;break}throw i;case 17:return e.finish(14);case 18:return e.finish(11);case 19:return e.abrupt("return",this.writeItemsToLocalStorage(t,!0).then((function(e){var n=!0,r=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var s=a.value;s.deleted&&u.modelManager.removeItemLocally(s)}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}return u.modelManager.clearDirtyItems(t),u.modelManager.didSyncModelsOffline(t),u.notifyEvent("sync:completed",{savedItems:t}),{saved_items:t}})));case 20:case"end":return e.stop()}}),e,this,[[3,7,11,19],[12,,14,18]])}))),function(e){return k.apply(this,arguments)})},{key:"markAllItemsDirtyAndSaveOffline",value:(g=v(regeneratorRuntime.mark((function e(t){var n,r,i,a,o,u,s,l,c,f,d,p,h;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t){e.next=28;break}n=this.modelManager.allNondummyItems.filter((function(e){return!e.errorDecrypting})).slice(),r=!0,i=!1,a=void 0,e.prev=5,o=n[Symbol.iterator]();case 7:if(r=(u=o.next()).done){e.next=14;break}return s=u.value,e.next=11,this.modelManager.alternateUUIDForItem(s);case 11:r=!0,e.next=7;break;case 14:e.next=20;break;case 16:e.prev=16,e.t0=e.catch(5),i=!0,a=e.t0;case 20:e.prev=20,e.prev=21,r||null==o.return||o.return();case 23:if(e.prev=23,!i){e.next=26;break}throw a;case 26:return e.finish(23);case 27:return e.finish(20);case 28:for(l=this.modelManager.allNondummyItems,c=!0,f=!1,d=void 0,e.prev=32,p=l[Symbol.iterator]();!(c=(h=p.next()).done);c=!0)h.value.setDirty(!0);e.next=40;break;case 36:e.prev=36,e.t1=e.catch(32),f=!0,d=e.t1;case 40:e.prev=40,e.prev=41,c||null==p.return||p.return();case 43:if(e.prev=43,!f){e.next=46;break}throw d;case 46:return e.finish(43);case 47:return e.finish(40);case 48:return e.abrupt("return",this.writeItemsToLocalStorage(l,!1));case 49:case"end":return e.stop()}}),e,this,[[5,16,20,28],[21,,23,27],[32,36,40,48],[41,,43,47]])}))),function(e){return g.apply(this,arguments)})},{key:"setSyncToken",value:(m=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._syncToken=t,e.next=3,this.storageManager.setItem("syncToken",t);case 3:case"end":return e.stop()}}),e,this)}))),function(e){return m.apply(this,arguments)})},{key:"getSyncToken",value:(h=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._syncToken){e.next=4;break}return e.next=3,this.storageManager.getItem("syncToken");case 3:this._syncToken=e.sent;case 4:return e.abrupt("return",this._syncToken);case 5:case"end":return e.stop()}}),e,this)}))),function(){return h.apply(this,arguments)})},{key:"setCursorToken",value:(p=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._cursorToken=t,!t){e.next=6;break}return e.next=4,this.storageManager.setItem("cursorToken",t);case 4:e.next=8;break;case 6:return e.next=8,this.storageManager.removeItem("cursorToken");case 8:case"end":return e.stop()}}),e,this)}))),function(e){return p.apply(this,arguments)})},{key:"getCursorToken",value:(d=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._cursorToken){e.next=4;break}return e.next=3,this.storageManager.getItem("cursorToken");case 3:this._cursorToken=e.sent;case 4:return e.abrupt("return",this._cursorToken);case 5:case"end":return e.stop()}}),e,this)}))),function(){return d.apply(this,arguments)})},{key:"clearQueuedCallbacks",value:function(){this._queuedCallbacks=[]}},{key:"callQueuedCallbacks",value:function(e){var t=this.queuedCallbacks;if(t.length){var n=!0,r=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(n=(a=o.next()).done);n=!0)(0,a.value)(e)}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}this.clearQueuedCallbacks()}}},{key:"beginCheckingIfSyncIsTakingTooLong",value:function(){this.syncStatus.checker&&this.stopCheckingIfSyncIsTakingTooLong(),this.syncStatus.checker=this.$interval(function(){(new Date-this.syncStatus.syncStart)/1e3>5&&(this.notifyEvent("sync:taking-too-long"),this.stopCheckingIfSyncIsTakingTooLong())}.bind(this),500)}},{key:"stopCheckingIfSyncIsTakingTooLong",value:function(){this.$interval.hasOwnProperty("cancel")?this.$interval.cancel(this.syncStatus.checker):clearInterval(this.syncStatus.checker),this.syncStatus.checker=null}},{key:"lockSyncing",value:function(){this.syncLocked=!0}},{key:"unlockSyncing",value:function(){this.syncLocked=!1}},{key:"sync",value:(f=v(regeneratorRuntime.mark((function t(){var n,r=this,i=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=i.length>0&&void 0!==i[0]?i[0]:{},!this.syncLocked){t.next=4;break}return console.log("Sync Locked, Returning;"),t.abrupt("return");case 4:return t.abrupt("return",new Promise(function(){var t=v(regeneratorRuntime.mark((function t(i,a){var o,u,s,l,c,f,d,p,h,m,v,y,g,b;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n||(n={}),o=r.modelManager.getDirtyItems(),u=o.filter((function(e){return!r.lastDirtyItemsSave||e.dirtiedDate>r.lastDirtyItemsSave})),t.next=5,r.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 5:if(s=t.sent,l=r.syncStatus.syncOpInProgress,c=r.initialDataLoaded(),!l&&c){t.next=16;break}return r.performSyncAgainOnCompletion=!0,r.lastDirtyItemsSave=new Date,t.next=13,r.writeItemsToLocalStorage(u,!1);case 13:return l&&(r.queuedCallbacks.push(i),r.loggingEnabled&&console.warn("Attempting to sync while existing sync is in progress.")),c||(r.loggingEnabled&&console.warn("(1) Attempting to perform online sync before local data has loaded"),i()),t.abrupt("return");case 16:if(r.syncStatus.syncOpInProgress=!0,!s.offline){t.next=19;break}return t.abrupt("return",r.syncOffline(o).then((function(e){r.syncStatus.syncOpInProgress=!1,i(e)})).catch((function(e){r.notifyEvent("sync-exception",e)})));case 19:if(r.initialDataLoaded()){t.next=22;break}return console.error("Attempting to perform online sync before local data has loaded"),t.abrupt("return");case 22:return r.loggingEnabled&&console.log("Syncing online user."),f=r.syncStatus.needsMoreSync,r.syncStatus.syncStart=new Date,r.beginCheckingIfSyncIsTakingTooLong(),d=r.PerSyncItemUploadLimit,(p=o.slice(0,d)).lengthr.syncStatus.total&&(r.syncStatus.total=r.syncStatus.current),r.syncStatusDidChange(),t.next=34,r.writeItemsToLocalStorage(u,!1);case 34:return r.lastDirtyItemsSave=new Date,n.onPreSyncSave&&n.onPreSyncSave(),r.allRetreivedItems||(r.allRetreivedItems=[]),r.allSavedItems||(r.allSavedItems=[]),(h={}).limit=r.ServerItemDownloadLimit,n.performIntegrityCheck&&(h.compute_integrity=!0),t.prev=41,t.next=44,Promise.all(p.map((function(e){var t=new A(e,s.keys,s.auth_params);return t.additionalFields=n.additionalFields,t.paramsForSync()}))).then((function(e){h.items=e}));case 44:t.next=49;break;case 46:t.prev=46,t.t0=t.catch(41),r.notifyEvent("sync-exception",t.t0);case 49:for(m=!0,v=!1,y=void 0,t.prev=52,g=p[Symbol.iterator]();!(m=(b=g.next()).done);m=!0)b.value.dirtyCount=0;t.next=60;break;case 56:t.prev=56,t.t1=t.catch(52),v=!0,y=t.t1;case 60:t.prev=60,t.prev=61,m||null==g.return||g.return();case 63:if(t.prev=63,!v){t.next=66;break}throw y;case 66:return t.finish(63);case 67:return t.finish(60);case 68:return t.next=70,r.getSyncToken();case 70:return h.sync_token=t.sent,t.next=73,r.getCursorToken();case 73:return h.cursor_token=t.sent,h.api=S.getApiVersion(),r.loggingEnabled&&console.log("Syncing with params",h),t.prev=76,t.t2=r.httpManager,t.next=80,r.getSyncURL();case 80:t.t3=t.sent,t.t4=h,t.t5=function(e){r.handleSyncSuccess(p,e,n).then((function(){i(e)})).catch((function(e){console.log("Caught sync success exception:",e),r.handleSyncError(e,null,o).then((function(t){r.notifyEvent("sync-exception",e),i(t)}))}))},t.t6=function(e,t){r.handleSyncError(e,t,o).then((function(e){i(e)}))},t.t2.postAuthenticatedAbsolute.call(t.t2,t.t3,t.t4,t.t5,t.t6),t.next=90;break;case 87:t.prev=87,t.t7=t.catch(76),console.log("Sync exception caught:",t.t7);case 90:case"end":return t.stop()}}),t,null,[[41,46],[52,56,60,68],[61,,63,67],[76,87]])})));return function(e,n){return t.apply(this,arguments)}}()));case 5:case"end":return t.stop()}}),t,this)}))),function(){return f.apply(this,arguments)})},{key:"_awaitSleep",value:(c=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.warn("Simulating high latency sync request",t),e.abrupt("return",new Promise((function(e,n){setTimeout((function(){e()}),t)})));case 2:case"end":return e.stop()}}),e)}))),function(e){return c.apply(this,arguments)})},{key:"handleSyncSuccess",value:(l=v(regeneratorRuntime.mark((function t(n,r,i){var a,o,u,s,l,c,f,d,p,h,m,v,y,g,b,k,w=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!i.simulateHighLatency){t.next=4;break}return a=i.simulatedLatency||1e3,t.next=4,this._awaitSleep(a);case 4:for(this.syncStatus.error=null,this.loggingEnabled&&console.log("Sync response",r),o=this.allSavedItems.map((function(e){return e.uuid})),u=r.saved_items.map((function(e){return e.uuid})),r.retrieved_items=r.retrieved_items.filter((function(e){var t=o.includes(e.uuid),n=u.includes(e.uuid);if(t||n)return!1;var r=w.modelManager.findItem(e.uuid);return!r||!r.dirty})),s=[],l=!0,c=!1,f=void 0,t.prev=13,d=n[Symbol.iterator]();!(l=(p=d.next()).done);l=!0)0==(h=p.value).dirtyCount&&s.push(h);t.next=21;break;case 17:t.prev=17,t.t0=t.catch(13),c=!0,f=t.t0;case 21:t.prev=21,t.prev=22,l||null==d.return||d.return();case 24:if(t.prev=24,!c){t.next=27;break}throw f;case 27:return t.finish(24);case 28:return t.finish(21);case 29:return this.modelManager.clearDirtyItems(s),t.next=32,this.handleItemsResponse(r.retrieved_items,null,C.MappingSourceRemoteRetrieved,e.KeyRequestLoadSaveAccount);case 32:return m=t.sent,this.allRetreivedItems=this.allRetreivedItems.concat(m),this.syncStatus.retrievedCount=this.allRetreivedItems.length,v=["content","auth_hash"],t.next=38,this.handleItemsResponse(r.saved_items,v,C.MappingSourceRemoteSaved,e.KeyRequestLoadSaveAccount);case 38:return y=t.sent,this.allSavedItems=this.allSavedItems.concat(y),g=r.unsaved,t.next=43,this.deprecated_handleUnsavedItemsResponse(g);case 43:return t.next=45,this.handleConflictsResponse(r.conflicts);case 45:if(b=t.sent,k=b&&b.length>0,!b){t.next=50;break}return t.next=50,this.writeItemsToLocalStorage(b,!1);case 50:return t.next=52,this.writeItemsToLocalStorage(y,!1);case 52:return t.next=54,this.writeItemsToLocalStorage(m,!1);case 54:if(!r.integrity_hash||r.cursor_token){t.next=59;break}return t.next=57,this.handleServerIntegrityHash(r.integrity_hash);case 57:t.sent||this.syncDiscordance=this.majorDataChangeThreshold||y.length>=this.majorDataChangeThreshold||g&&g.length>=this.majorDataChangeThreshold||b&&b.length>=this.majorDataChangeThreshold)&&this.notifyEvent("major-data-change"),this.callQueuedCallbacks(r),this.notifyEvent("sync:completed",{retrievedItems:this.allRetreivedItems,savedItems:this.allSavedItems}),this.allRetreivedItems=[],this.allSavedItems=[],this.performSyncAgainOnCompletion&&(this.performSyncAgainOnCompletion=!1,setTimeout((function(){w.sync(i)}),10)),t.abrupt("return",r);case 88:case"end":return t.stop()}}),t,this,[[13,17,21,29],[22,,24,28]])}))),function(e,t,n){return l.apply(this,arguments)})},{key:"handleSyncError",value:(s=v(regeneratorRuntime.mark((function e(t,n,r){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.log("Sync error: ",t),401==n&&this.notifyEvent("sync-session-invalid"),t?"string"==typeof t&&(t={error:{message:t}}):t={error:{message:"Could not connect to server."}},this.syncStatus.syncOpInProgress=!1,this.syncStatus.error=t.error,this.syncStatusDidChange(),this.writeItemsToLocalStorage(r,!1),this.modelManager.didSyncModelsOffline(r),this.stopCheckingIfSyncIsTakingTooLong(),this.notifyEvent("sync:error",t.error),this.callQueuedCallbacks({error:"Sync error"}),e.abrupt("return",t);case 12:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return s.apply(this,arguments)})},{key:"handleItemsResponse",value:(u=v(regeneratorRuntime.mark((function e(t,n,r,i){var a,o,u;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.getActiveKeyInfo(i);case 2:return a=e.sent.keys,e.next=5,SFJS.itemTransformer.decryptMultipleItems(t,a);case 5:return e.next=7,this.modelManager.mapResponseItemsToLocalModelsOmittingFields(t,n,r);case 7:return o=e.sent,(u=o.filter((function(e){var t=e.errorDecryptingValueChanged;return e.errorDecryptingValueChanged=!1,t}))).length>0&&this.writeItemsToLocalStorage(u,!1),e.abrupt("return",o);case 11:case"end":return e.stop()}}),e,this)}))),function(e,t,n,r){return u.apply(this,arguments)})},{key:"refreshErroredItems",value:(o=v(regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!((n=this.modelManager.allNondummyItems.filter((function(e){return 1==e.errorDecrypting}))).length>0)){t.next=3;break}return t.abrupt("return",this.handleItemsResponse(n,null,C.MappingSourceLocalRetrieved,e.KeyRequestLoadSaveAccount));case 3:case"end":return t.stop()}}),t,this)}))),function(){return o.apply(this,arguments)})},{key:"handleConflictsResponse",value:(a=v(regeneratorRuntime.mark((function t(n){var r,i,a,o,u,s,l,c,f,d,p,h,m,v,y,g,b,k,w,x,S,E,_,T,I,R,P,O,D,A,M;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n&&0!=n.length){t.next=2;break}return t.abrupt("return");case 2:this.loggingEnabled&&console.log("Handle Conflicted Items:",n),r={},i=!0,a=!1,o=void 0,t.prev=7,u=n[Symbol.iterator]();case 9:if(i=(s=u.next()).done){t.next=21;break}if(l=s.value,c=l.server_item||l.unsaved_item,f=this.modelManager.findItem(c.uuid)){t.next=16;break}return r[c.uuid]={},t.abrupt("continue",18);case 16:d=f.getContentCopy(),r[c.uuid]={frozenContent:d,itemRef:f};case 18:i=!0,t.next=9;break;case 21:t.next=27;break;case 23:t.prev=23,t.t0=t.catch(7),a=!0,o=t.t0;case 27:t.prev=27,t.prev=28,i||null==u.return||u.return();case 30:if(t.prev=30,!a){t.next=33;break}throw o;case 33:return t.finish(30);case 34:return t.finish(27);case 35:p=[],h=!0,m=!1,v=void 0,t.prev=39,y=n[Symbol.iterator]();case 41:if(h=(g=y.next()).done){t.next=91;break}return b=g.value,k=b.server_item||b.unsaved_item,t.t1=SFJS.itemTransformer,t.t2=[k],t.next=48,this.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 48:return t.t3=t.sent.keys,t.next=51,t.t1.decryptMultipleItems.call(t.t1,t.t2,t.t3);case 51:if(w=r[k.uuid],x=w.frozenContent,S=w.itemRef){t.next=54;break}return t.abrupt("continue",88);case 54:if(p.push(S),"uuid_conflict"!==b.type){t.next=62;break}return t.next=58,this.modelManager.alternateUUIDForItem(S);case 58:E=t.sent,p.push(E),t.next=88;break;case 62:if("sync_conflict"!==b.type){t.next=86;break}return t.next=65,this.modelManager.createDuplicateItemFromResponseItem(k);case 65:if(_=t.sent,T=this.modelManager.duplicateItemWithCustomContent({content:x,duplicateOf:S}),I=!T.isItemContentEqualWith(_),R=!S.isItemContentEqualWith(_),P=!1,O=!1,D=!1,A=!1,k.deleted||S.deleted?A=!0:I?(new Date-S.client_updated_at)/1e3<20?(D=!0,O=!0):(P=!0,A=!0):R?F.AreItemContentsEqual({leftContent:S.content,rightContent:_.content,keysToIgnore:S.keysToIgnoreWhenCheckingContentEquality().concat(["references"]),appDataKeysToIgnore:S.appDataKeysToIgnoreWhenCheckingContentEquality()})?D=!0:(P=!0,A=!0):A=!0,!P){t.next=79;break}return t.next=77,this.modelManager.duplicateItemWithCustomContentAndAddAsConflict({content:x,duplicateOf:S});case 77:M=t.sent,p.push(M);case 79:if(O&&(this.modelManager.addDuplicatedItemAsConflict({duplicate:_,duplicateOf:S}),p.push(_)),!A){t.next=83;break}return t.next=83,this.modelManager.mapResponseItemsToLocalModelsOmittingFields([k],null,C.MappingSourceRemoteRetrieved);case 83:D&&(S.updated_at=_.updated_at,S.setDirty(!0)),t.next=88;break;case 86:return console.error("Unsupported conflict type",b.type),t.abrupt("continue",88);case 88:h=!0,t.next=41;break;case 91:t.next=97;break;case 93:t.prev=93,t.t4=t.catch(39),m=!0,v=t.t4;case 97:t.prev=97,t.prev=98,h||null==y.return||y.return();case 100:if(t.prev=100,!m){t.next=103;break}throw v;case 103:return t.finish(100);case 104:return t.finish(97);case 105:return t.abrupt("return",p);case 106:case"end":return t.stop()}}),t,this,[[7,23,27,35],[28,,30,34],[39,93,97,105],[98,,100,104]])}))),function(e){return a.apply(this,arguments)})},{key:"deprecated_handleUnsavedItemsResponse",value:(i=v(regeneratorRuntime.mark((function t(n){var r,i,a,o,u,s,l,c,f,d;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n&&0!=n.length){t.next=2;break}return t.abrupt("return");case 2:this.loggingEnabled&&console.log("Handle Unsaved Items:",n),r=!0,i=!1,a=void 0,t.prev=6,o=n[Symbol.iterator]();case 8:if(r=(u=o.next()).done){t.next=35;break}return s=u.value,l=s.item,t.t0=SFJS.itemTransformer,t.t1=[l],t.next=15,this.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 15:return t.t2=t.sent.keys,t.next=18,t.t0.decryptMultipleItems.call(t.t0,t.t1,t.t2);case 18:if(c=this.modelManager.findItem(l.uuid)){t.next=21;break}return t.abrupt("continue",32);case 21:if("uuid_conflict"!==(f=s.error).tag){t.next=27;break}return t.next=25,this.modelManager.alternateUUIDForItem(c);case 25:t.next=32;break;case 27:if("sync_conflict"!==f.tag){t.next=32;break}return t.next=30,this.modelManager.createDuplicateItemFromResponseItem(l);case 30:d=t.sent,l.deleted||c.isItemContentEqualWith(d)||this.modelManager.addDuplicatedItemAsConflict({duplicate:d,duplicateOf:c});case 32:r=!0,t.next=8;break;case 35:t.next=41;break;case 37:t.prev=37,t.t3=t.catch(6),i=!0,a=t.t3;case 41:t.prev=41,t.prev=42,r||null==o.return||o.return();case 44:if(t.prev=44,!i){t.next=47;break}throw a;case 47:return t.finish(44);case 48:return t.finish(41);case 49:case"end":return t.stop()}}),t,this,[[6,37,41,49],[42,,44,48]])}))),function(e){return i.apply(this,arguments)})},{key:"stateless_downloadAllItems",value:function(){var t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new Promise(function(){var r=v(regeneratorRuntime.mark((function r(i,a){var o;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return o={limit:n.limit||500,sync_token:n.syncToken,cursor_token:n.cursorToken,content_type:n.contentType,event:n.event,api:S.getApiVersion()},r.prev=1,r.t0=t.httpManager,r.next=5,t.getSyncURL();case 5:r.t1=r.sent,r.t2=o,r.t3=function(){var r=v(regeneratorRuntime.mark((function r(a){var o,u;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return n.retrievedItems||(n.retrievedItems=[]),o=a.retrieved_items,r.next=4,t.getActiveKeyInfo(e.KeyRequestLoadSaveAccount);case 4:return u=r.sent.keys,r.next=7,SFJS.itemTransformer.decryptMultipleItems(o,u);case 7:n.retrievedItems=n.retrievedItems.concat(o.map((function(e){return t.modelManager.createItem(e)}))),n.syncToken=a.sync_token,n.cursorToken=a.cursor_token,n.cursorToken?t.stateless_downloadAllItems(n).then(i):i(n.retrievedItems);case 11:case"end":return r.stop()}}),r)})));return function(e){return r.apply(this,arguments)}}(),r.t4=function(e,t){a(e)},r.t0.postAuthenticatedAbsolute.call(r.t0,r.t1,r.t2,r.t3,r.t4),r.next=16;break;case 12:r.prev=12,r.t5=r.catch(1),console.log("Download all items exception caught:",r.t5),a(r.t5);case 16:case"end":return r.stop()}}),r,null,[[1,12]])})));return function(e,t){return r.apply(this,arguments)}}())}},{key:"resolveOutOfSync",value:(r=v(regeneratorRuntime.mark((function e(){var t=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.stateless_downloadAllItems({event:"resolve-out-of-sync"}).then(function(){var e=v(regeneratorRuntime.mark((function e(n){var r,i,a,o,u,s,l,c;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r=[],i=!0,a=!1,o=void 0,e.prev=4,u=n[Symbol.iterator]();case 6:if(i=(s=u.next()).done){e.next=18;break}if(l=s.value,!(c=t.modelManager.findItem(l.uuid))){e.next=14;break}if(l.isItemContentEqualWith(c)){e.next=14;break}return e.next=14,t.modelManager.duplicateItemAndAddAsConflict(c);case 14:r.push(l);case 15:i=!0,e.next=6;break;case 18:e.next=24;break;case 20:e.prev=20,e.t0=e.catch(4),a=!0,o=e.t0;case 24:e.prev=24,e.prev=25,i||null==u.return||u.return();case 27:if(e.prev=27,!a){e.next=30;break}throw o;case 30:return e.finish(27);case 31:return e.finish(24);case 32:return e.next=34,t.modelManager.mapResponseItemsToLocalModelsWithOptions({items:r,source:C.MappingSourceRemoteRetrieved});case 34:return e.next=36,t.writeItemsToLocalStorage(t.modelManager.allNondummyItems);case 36:return e.abrupt("return",t.sync({performIntegrityCheck:!0}));case 37:case"end":return e.stop()}}),e,null,[[4,20,24,32],[25,,27,31]])})));return function(t){return e.apply(this,arguments)}}()));case 1:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"handleSignout",value:(n=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this.outOfSync=!1,this.loadLocalDataPromise=null,this.performSyncAgainOnCompletion=!1,this.syncStatus.syncOpInProgress=!1,this._queuedCallbacks=[],this.syncStatus={},e.abrupt("return",this.clearSyncToken());case 7:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"clearSyncToken",value:(t=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return this._syncToken=null,this._cursorToken=null,e.abrupt("return",this.storageManager.removeItem("syncToken"));case 3:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"__setLocalDataNotLoaded",value:function(){this.loadLocalDataPromise=null,this._initialDataLoaded=!1}},{key:"queuedCallbacks",get:function(){return this._queuedCallbacks||(this._queuedCallbacks=[]),this._queuedCallbacks}}]),e}();r.SFSyncManager=D;var F=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};y(this,e),this.content={},this.referencingObjects=[],this.updateFromJSON(t),this.uuid||"undefined"!=typeof SFJS&&SFJS.crypto.generateUUIDSync&&(this.uuid=SFJS.crypto.generateUUIDSync()),"object"!==h(this.content)||this.content.references||(this.content.references=[])}var t;return b(e,[{key:"initUUID",value:(t=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.uuid){e.next=4;break}return e.next=3,SFJS.crypto.generateUUID();case 3:this.uuid=e.sent;case 4:case"end":return e.stop()}}),e,this)}))),function(){return t.apply(this,arguments)})},{key:"updateFromJSON",value:function(t){if(t){this.deleted=t.deleted,this.uuid=t.uuid,this.enc_item_key=t.enc_item_key,this.auth_hash=t.auth_hash,this.auth_params=t.auth_params;for(var n=0,r=["errorDecrypting","dirty","dirtyCount","dirtiedDate","dummy"];n"==n.operator?m>h:"<="==n.operator?m<=h:">="==n.operator?m>=h:"startsWith"==n.operator?m.startsWith(h):"in"==n.operator?-1!=h.indexOf(m):"includes"==n.operator?this.resolveIncludesPredicate(m,h):"matches"==n.operator&&new RegExp(h).test(m)}},{key:"resolveIncludesPredicate",value:function(t,n){if("string"==typeof n)return t.includes(n);var r;r=Array.isArray(n)?e.fromArray(n):n;var i=!0,a=!1,o=void 0;try{for(var u,s=t[Symbol.iterator]();!(i=(u=s.next()).done);i=!0){var l=u.value;if(this.ObjectSatisfiesPredicate(l,r))return!0}}catch(e){a=!0,o=e}finally{try{i||null==s.return||s.return()}finally{if(a)throw o}}return!1}},{key:"ItemSatisfiesPredicate",value:function(t,n){return Array.isArray(n)&&(n=e.fromArray(n)),this.ObjectSatisfiesPredicate(t,n)}},{key:"ItemSatisfiesPredicates",value:function(e,t){var n=!0,r=!1,i=void 0;try{for(var a,o=t[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var u=a.value;if(!this.ItemSatisfiesPredicate(e,u))return!1}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}return!0}},{key:"DateFromString",value:function(e){var t=e.split("."),n=t[1],r=new Date,i=parseInt(t[0]);return"days"==n?r.setDate(r.getDate()-i):"hours"==n&&r.setHours(r.getHours()-i),r}},{key:"IsRecursiveOperator",value:function(e){return["and","or"].includes(e)}}]),e}();r.SFPredicate=M;var N=function(e){function t(e){var n;return y(this,t),(n=l(this,c(t).call(this,e))).content.desktopPrivileges||(n.content.desktopPrivileges={}),n}return f(t,e),b(t,null,[{key:"contentType",value:function(){return"SN|Privileges"}}]),b(t,[{key:"setCredentialsForAction",value:function(e,t){this.content.desktopPrivileges[e]=t}},{key:"getCredentialsForAction",value:function(e){return this.content.desktopPrivileges[e]||[]}},{key:"toggleCredentialForAction",value:function(e,t){this.isCredentialRequiredForAction(e,t)?this.removeCredentialForAction(e,t):this.addCredentialForAction(e,t)}},{key:"removeCredentialForAction",value:function(e,t){_.pull(this.content.desktopPrivileges[e],t)}},{key:"addCredentialForAction",value:function(e,t){var n=this.getCredentialsForAction(e);n.push(t),this.setCredentialsForAction(e,n)}},{key:"isCredentialRequiredForAction",value:function(e,t){return this.getCredentialsForAction(e).includes(t)}}]),t}(F);r.SFPrivileges=N;var L=function(e){function t(e){var n;return y(this,t),(n=l(this,c(t).call(this,e))).content.itemUUIDToItemHistoryMapping||(n.content.itemUUIDToItemHistoryMapping={}),Object.keys(n.content.itemUUIDToItemHistoryMapping).forEach((function(e){var t=n.content.itemUUIDToItemHistoryMapping[e];n.content.itemUUIDToItemHistoryMapping[e]=new j(t)})),n}return f(t,e),b(t,[{key:"addEntryForItem",value:function(e){return this.historyForItem(e).addHistoryEntryForItem(e)}},{key:"historyForItem",value:function(e){var t=this.content.itemUUIDToItemHistoryMapping[e.uuid];return t||(t=this.content.itemUUIDToItemHistoryMapping[e.uuid]=new j),t}},{key:"clearItemHistory",value:function(e){this.historyForItem(e).clear()}},{key:"clearAllHistory",value:function(){this.content.itemUUIDToItemHistoryMapping={}}},{key:"optimizeHistoryForItem",value:function(e){var n=this.historyForItem(e);n.entries.length>t.LargeItemEntryAmountThreshold&&n.optimize()}}]),t}(F);r.SFHistorySession=L,L.LargeItemEntryAmountThreshold=60;var j=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(y(this,e),this.entries||(this.entries=[]),t.entries){var n=!0,r=!1,i=void 0;try{for(var a,o=t.entries[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var u=a.value,s=this.createEntryForItem(u.item);s.setPreviousEntry(this.getLastEntry()),this.entries.push(s)}}catch(e){r=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(r)throw i}}}}return b(e,[{key:"createEntryForItem",value:function(t){var n=e.HistoryEntryClassMapping&&e.HistoryEntryClassMapping[t.content_type];return n||(n=z),new n(t)}},{key:"getLastEntry",value:function(){return this.entries[this.entries.length-1]}},{key:"addHistoryEntryForItem",value:function(e){var t=this.createEntryForItem(e),n=this.getLastEntry();if(t.setPreviousEntry(n),!t.isSameAsEntry(n))return this.entries.push(t),t}},{key:"clear",value:function(){this.entries.length=0}},{key:"optimize",value:function(){var t=this,n=[],r=function(t){return t.deltaSize()>e.LargeEntryDeltaThreshold},i=function(e,i,a){if(a?n.push(e):-1!==(i=n.indexOf(e))&&n.splice(i,1),a&&r(e)&&-1==e.operationVector()){var o=t.entries[i-1];o&&n.push(o)}};this.entries.forEach((function(e,n){if(0==n||n==t.entries.length-1)i(e,n,!0);else{var a=r(e);i(e,n,a)}})),this.entries=this.entries.filter((function(e,t){return-1!==n.indexOf(e)}))}}]),e}();r.SFItemHistory=j,j.LargeEntryDeltaThreshold=15;var z=function(){function e(t){y(this,e),this.item=F.deepMerge({},t),this.defaultContentKeyToDiffOn="text",this.textCharDiffLength=0,"string"==typeof this.item.updated_at&&(this.item.updated_at=new Date(this.item.updated_at))}return b(e,[{key:"setPreviousEntry",value:function(e){this.hasPreviousEntry=null!=e,this.item.content[this.defaultContentKeyToDiffOn]&&(this.textCharDiffLength=e?this.item.content[this.defaultContentKeyToDiffOn].length-e.item.content[this.defaultContentKeyToDiffOn].length:this.item.content[this.defaultContentKeyToDiffOn].length)}},{key:"operationVector",value:function(){return null!=this.textCharDiffLength?this.hasPreviousEntry&&0!=this.textCharDiffLength?this.textCharDiffLength<0?-1:1:0:1}},{key:"deltaSize",value:function(){return null!=this.textCharDiffLength?Math.abs(this.textCharDiffLength):1}},{key:"isSameAsEntry",value:function(e){if(!e)return!1;var t=new F(this.item),n=new F(e.item);return t.isItemContentEqualWith(n)}}]),e}();r.SFItemHistoryEntry=z,x="undefined"!=typeof window?window:void 0!==e?e:null;var U=function(){function e(){y(this,e),this.DefaultPBKDF2Length=768}var t,n,r,i,a,o,u,l,c,f,d,p,h,m,g;return b(e,[{key:"generateUUIDSync",value:function(){var e=x.crypto||x.msCrypto;if(e){var t=new Uint32Array(4);e.getRandomValues(t);var n=-1;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){n++;var r=t[n>>3]>>n%8*4&15;return("x"==e?r:3&r|8).toString(16)}))}var r=(new Date).getTime();return x.performance&&"function"==typeof x.performance.now&&(r+=performance.now()),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=(r+16*Math.random())%16|0;return r=Math.floor(r/16),("x"==e?t:3&t|8).toString(16)}))}},{key:"generateUUID",value:(g=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.generateUUIDSync());case 1:case"end":return e.stop()}}),e,this)}))),function(){return g.apply(this,arguments)})},{key:"timingSafeEqual",value:function(e,t){var n=String(e),r=String(t),i=n.length,a=0;i!==r.length&&(r=n,a=1);for(var o=0;o0&&void 0!==p[0]?p[0]:{},n=t.ciphertextToAuth,r=t.contentCiphertext,i=t.encryptionKey,a=t.iv,o=t.authHash,u=t.authKey,!(p.length>1?p[1]:void 0)||o){e.next=5;break}return console.error("Auth hash is required."),e.abrupt("return");case 5:if(!o){e.next=12;break}return e.next=8,this.hmac256(n,u);case 8:if(l=e.sent,!1!==this.timingSafeEqual(o,l)){e.next=12;break}return console.error("Auth hash does not match, returning null."),e.abrupt("return",null);case 12:return c=s.enc.Hex.parse(i),f=s.enc.Hex.parse(a||""),d=s.AES.decrypt(r,c,{iv:f,mode:s.mode.CBC,padding:s.pad.Pkcs7}),e.abrupt("return",d.toString(s.enc.Utf8));case 16:case"end":return e.stop()}}),e,this)}))),function(){return m.apply(this,arguments)})},{key:"encryptText",value:(h=v(regeneratorRuntime.mark((function e(t,n,r){var i,a,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=s.enc.Hex.parse(n),a=s.enc.Hex.parse(r||""),o=s.AES.encrypt(t,i,{iv:a,mode:s.mode.CBC,padding:s.pad.Pkcs7}),e.abrupt("return",o.toString());case 4:case"end":return e.stop()}}),e)}))),function(e,t,n){return h.apply(this,arguments)})},{key:"generateRandomKey",value:(p=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",s.lib.WordArray.random(t/8).toString());case 1:case"end":return e.stop()}}),e)}))),function(e){return p.apply(this,arguments)})},{key:"generateItemEncryptionKey",value:(d=v(regeneratorRuntime.mark((function e(){var t,n,r,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=512,n=1,e.next=4,this.generateRandomKey(t);case 4:return r=e.sent,e.next=7,this.generateRandomKey(t);case 7:return i=e.sent,e.abrupt("return",this.pbkdf2(i,r,n,t));case 9:case"end":return e.stop()}}),e,this)}))),function(){return d.apply(this,arguments)})},{key:"firstHalfOfKey",value:(f=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.substring(0,t.length/2));case 1:case"end":return e.stop()}}),e)}))),function(e){return f.apply(this,arguments)})},{key:"secondHalfOfKey",value:(c=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t.substring(t.length/2,t.length));case 1:case"end":return e.stop()}}),e)}))),function(e){return c.apply(this,arguments)})},{key:"base64",value:(l=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",x.btoa(encodeURIComponent(t).replace(/%([0-9A-F]{2})/g,(function(e,t){return String.fromCharCode("0x"+t)}))));case 1:case"end":return e.stop()}}),e)}))),function(e){return l.apply(this,arguments)})},{key:"base64Decode",value:(u=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",x.atob(t));case 1:case"end":return e.stop()}}),e)}))),function(e){return u.apply(this,arguments)})},{key:"sha256",value:(o=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",s.SHA256(t).toString());case 1:case"end":return e.stop()}}),e)}))),function(e){return o.apply(this,arguments)})},{key:"hmac256",value:(a=v(regeneratorRuntime.mark((function e(t,n){var r,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=s.enc.Hex.parse(n),i=s.enc.Utf8.parse(t),a=s.HmacSHA256(i,r).toString(),e.abrupt("return",a);case 4:case"end":return e.stop()}}),e)}))),function(e,t){return a.apply(this,arguments)})},{key:"generateSalt",value:(i=v(regeneratorRuntime.mark((function e(t,n,r,i){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.sha256([t,"SF",n,r,i].join(":"));case 2:return a=e.sent,e.abrupt("return",a);case 4:case"end":return e.stop()}}),e,this)}))),function(e,t,n,r){return i.apply(this,arguments)})},{key:"generateSymmetricKeyPair",value:(r=v(regeneratorRuntime.mark((function e(){var t,n,r,i,a,o,u,s,l,c,f=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=f.length>0&&void 0!==f[0]?f[0]:{},n=t.password,r=t.pw_salt,i=t.pw_cost,e.next=3,this.pbkdf2(n,r,i,this.DefaultPBKDF2Length);case 3:return a=e.sent,o=a.length,u=o/3,s=a.slice(0,u),l=a.slice(u,2*u),c=a.slice(2*u,3*u),e.abrupt("return",[s,l,c]);case 10:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"computeEncryptionKeysForUser",value:(n=v(regeneratorRuntime.mark((function e(t,n){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("003"!=n.version){e.next=9;break}if(n.identifier){e.next=4;break}return console.error("authParams is missing identifier."),e.abrupt("return");case 4:return e.next=6,this.generateSalt(n.identifier,n.version,n.pw_cost,n.pw_nonce);case 6:r=e.sent,e.next=10;break;case 9:r=n.pw_salt;case 10:return e.abrupt("return",this.generateSymmetricKeyPair({password:t,pw_salt:r,pw_cost:n.pw_cost}).then((function(e){return{pw:e[0],mk:e[1],ak:e[2]}})));case 11:case"end":return e.stop()}}),e,this)}))),function(e,t){return n.apply(this,arguments)})},{key:"generateInitialKeysAndAuthParamsForUser",value:(t=v(regeneratorRuntime.mark((function e(t,n){var r,i,a,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=this.SFJS.version,i=this.SFJS.defaultPasswordGenerationCost,e.next=4,this.generateRandomKey(256);case 4:return a=e.sent,e.next=7,this.generateSalt(t,r,i,a);case 7:return o=e.sent,e.abrupt("return",this.generateSymmetricKeyPair({password:n,pw_salt:o,pw_cost:i}).then((function(e){var n={pw_nonce:a,pw_cost:i,identifier:t,version:r};return{keys:{pw:e[0],mk:e[1],ak:e[2]},authParams:n}})));case 9:case"end":return e.stop()}}),e,this)}))),function(e,n){return t.apply(this,arguments)})}]),e}();r.SFAbstractCrypto=U;var B=function(e){function t(){return y(this,t),l(this,c(t).apply(this,arguments))}var n;return f(t,e),b(t,[{key:"pbkdf2",value:(n=v(regeneratorRuntime.mark((function e(t,n,r,i){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a={keySize:i/32,hasher:s.algo.SHA512,iterations:r},e.abrupt("return",s.PBKDF2(t,n,a).toString());case 2:case"end":return e.stop()}}),e)}))),function(e,t,r,i){return n.apply(this,arguments)})}]),t}(U);r.SFCryptoJS=B;var H=(x="undefined"!=typeof window?window:void 0!==e?e:null).crypto?x.crypto.subtle:null,W=function(e){function t(){return y(this,t),l(this,c(t).apply(this,arguments))}var n,r,i,a,o,u,s,d,p,h,m,g,k,w;return f(t,e),b(t,[{key:"pbkdf2",value:(w=v(regeneratorRuntime.mark((function e(t,n,r,i){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.webCryptoImportKey(t,"PBKDF2",["deriveBits"]);case 2:if(a=e.sent){e.next=6;break}return console.log("Key is null, unable to continue"),e.abrupt("return",null);case 6:return e.abrupt("return",this.webCryptoDeriveBits(a,n,r,i));case 7:case"end":return e.stop()}}),e,this)}))),function(e,t,n,r){return w.apply(this,arguments)})},{key:"generateRandomKey",value:(k=v(regeneratorRuntime.mark((function e(t){var n=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",H.generateKey({name:"AES-CBC",length:t},!0,["encrypt","decrypt"]).then((function(e){return H.exportKey("raw",e).then(function(){var e=v(regeneratorRuntime.mark((function e(t){var r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,n.arrayBufferToHexString(new Uint8Array(t));case 2:return r=e.sent,e.abrupt("return",r);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){console.error("Error exporting key",e)}))})).catch((function(e){console.error("Error generating key",e)})));case 2:case"end":return e.stop()}}),e)}))),function(e){return k.apply(this,arguments)})},{key:"generateItemEncryptionKey",value:(g=v(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Promise.all([this.generateRandomKey(256),this.generateRandomKey(256)]).then((function(e){return e.join("")})));case 2:case"end":return e.stop()}}),e,this)}))),function(){return g.apply(this,arguments)})},{key:"encryptText",value:(m=v(regeneratorRuntime.mark((function e(t,n,r){var i,a,o,u,s,l=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!r){e.next=6;break}return e.next=3,this.hexStringToArrayBuffer(r);case 3:e.t0=e.sent,e.next=7;break;case 6:e.t0=new ArrayBuffer(16);case 7:return i=e.t0,a={name:"AES-CBC",iv:i},e.next=11,this.hexStringToArrayBuffer(n);case 11:return o=e.sent,e.next=14,this.webCryptoImportKey(o,a.name,["encrypt"]);case 14:return u=e.sent,e.next=17,this.stringToArrayBuffer(t);case 17:return s=e.sent,e.abrupt("return",crypto.subtle.encrypt(a,u,s).then(function(){var e=v(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,l.arrayBufferToBase64(t);case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 19:case"end":return e.stop()}}),e,this)}))),function(e,t,n){return m.apply(this,arguments)})},{key:"decryptText",value:(h=v(regeneratorRuntime.mark((function e(){var t,n,r,i,a,o,u,s,l,c,f,d,p,h=this,m=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=m.length>0&&void 0!==m[0]?m[0]:{},n=t.ciphertextToAuth,r=t.contentCiphertext,i=t.encryptionKey,a=t.iv,o=t.authHash,u=t.authKey,!(m.length>1?m[1]:void 0)||o){e.next=5;break}return console.error("Auth hash is required."),e.abrupt("return");case 5:if(!o){e.next=12;break}return e.next=8,this.hmac256(n,u);case 8:if(s=e.sent,!1!==this.timingSafeEqual(o,s)){e.next=12;break}return console.error("Auth hash does not match, returning null. ".concat(o," != ").concat(s)),e.abrupt("return",null);case 12:if(!a){e.next=18;break}return e.next=15,this.hexStringToArrayBuffer(a);case 15:e.t0=e.sent,e.next=19;break;case 18:e.t0=new ArrayBuffer(16);case 19:return l=e.t0,c={name:"AES-CBC",iv:l},e.next=23,this.hexStringToArrayBuffer(i);case 23:return f=e.sent,e.next=26,this.webCryptoImportKey(f,c.name,["decrypt"]);case 26:return d=e.sent,e.next=29,this.base64ToArrayBuffer(r);case 29:return p=e.sent,e.abrupt("return",crypto.subtle.decrypt(c,d,p).then(function(){var e=v(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,h.arrayBufferToString(t);case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){console.error("Error decrypting:",e)})));case 31:case"end":return e.stop()}}),e,this)}))),function(){return h.apply(this,arguments)})},{key:"hmac256",value:(p=v(regeneratorRuntime.mark((function e(t,n){var r,i,a,o=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.hexStringToArrayBuffer(n);case 2:return r=e.sent,e.next=5,this.webCryptoImportKey(r,"HMAC",["sign"],{name:"SHA-256"});case 5:return i=e.sent,e.next=8,this.stringToArrayBuffer(t);case 8:return a=e.sent,e.abrupt("return",crypto.subtle.sign({name:"HMAC"},i,a).then(function(){var e=v(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o.arrayBufferToHexString(t);case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){console.error("Error computing hmac",e)})));case 10:case"end":return e.stop()}}),e,this)}))),function(e,t){return p.apply(this,arguments)})},{key:"webCryptoImportKey",value:(d=v(regeneratorRuntime.mark((function e(t,n,r,i){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("string"!=typeof t){e.next=6;break}return e.next=3,this.stringToArrayBuffer(t);case 3:e.t0=e.sent,e.next=7;break;case 6:e.t0=t;case 7:return a=e.t0,e.abrupt("return",H.importKey("raw",a,{name:n,hash:i},!1,r).then((function(e){return e})).catch((function(e){return console.error(e),null})));case 9:case"end":return e.stop()}}),e,this)}))),function(e,t,n,r){return d.apply(this,arguments)})},{key:"webCryptoDeriveBits",value:(s=v(regeneratorRuntime.mark((function e(t,n,r,i){var a,o=this;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.stringToArrayBuffer(n);case 2:return e.t0=e.sent,e.t1=r,e.t2={name:"SHA-512"},a={name:"PBKDF2",salt:e.t0,iterations:e.t1,hash:e.t2},e.abrupt("return",H.deriveBits(a,t,i).then(function(){var e=v(regeneratorRuntime.mark((function e(t){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o.arrayBufferToHexString(new Uint8Array(t));case 2:return n=e.sent,e.abrupt("return",n);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){return console.error(e),null})));case 7:case"end":return e.stop()}}),e,this)}))),function(e,t,n,r){return s.apply(this,arguments)})},{key:"stringToArrayBuffer",value:(u=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){var r=new Blob([t]),i=new FileReader;i.onload=function(t){e(t.target.result)},i.readAsArrayBuffer(r)})));case 1:case"end":return e.stop()}}),e)}))),function(e){return u.apply(this,arguments)})},{key:"arrayBufferToString",value:(o=v(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,n){var r=new Blob([t]),i=new FileReader;i.onload=function(t){e(t.target.result)},i.readAsText(r)})));case 1:case"end":return e.stop()}}),e)}))),function(e){return o.apply(this,arguments)})},{key:"arrayBufferToHexString",value:(a=v(regeneratorRuntime.mark((function e(t){var n,r,i,a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(n=new Uint8Array(t),r="",a=0;a5e3)||this.crypto instanceof W}},{key:"supportedVersions",value:function(){return["001","002","003"]}},{key:"isVersionNewerThanLibraryVersion",value:function(e){var t=this.version();return parseInt(e)>parseInt(t)}},{key:"isProtocolVersionOutdated",value:function(e){var t={"001":Date.parse("2018-01-01"),"002":Date.parse("2020-01-01")}[e];return!!t&&new Date>t}},{key:"costMinimumForVersion",value:function(e){return{"001":3e3,"002":3e3,"003":11e4}[e]}},{key:"defaultPasswordGenerationCost",value:function(){return this.costMinimumForVersion(this.version())}}]),e}();if(r.StandardFile=V,x)try{x.StandardFile=V,x.SFJS=new V,x.SFCryptoWeb=W,x.SFCryptoJS=B,x.SFItemTransformer=K,x.SFModelManager=C,x.SFItem=F,x.SFItemParams=A,x.SFHttpManager=S,x.SFStorageManager=P,x.SFSyncManager=D,x.SFAuthManager=w,x.SFMigrationManager=E,x.SFAlertManager=k,x.SFPredicate=M,x.SFHistorySession=L,x.SFSessionHistoryManager=I,x.SFItemHistory=j,x.SFItemHistoryEntry=z,x.SFPrivilegesManager=T,x.SFPrivileges=N,x.SFSingletonManager=R}catch(e){console.log("Exception while exporting window variables",e)}}).call(this,void 0!==t?t:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1])(1)}).call(this,n(2))},function(e,t){!function(t){"use strict";var n=Object.prototype,r=n.hasOwnProperty,i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",o=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag",s="object"==typeof e,l=t.regeneratorRuntime;if(l)s&&(e.exports=l);else{(l=t.regeneratorRuntime=s?e.exports:{}).wrap=m;var c={},f={};f[a]=function(){return this};var d=Object.getPrototypeOf,p=d&&d(d(C([])));p&&p!==n&&r.call(p,a)&&(f=p);var h=b.prototype=y.prototype=Object.create(f);g.prototype=h.constructor=b,b.constructor=g,b[u]=g.displayName="GeneratorFunction",l.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},l.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,b):(e.__proto__=b,u in e||(e[u]="GeneratorFunction")),e.prototype=Object.create(h),e},l.awrap=function(e){return{__await:e}},k(w.prototype),w.prototype[o]=function(){return this},l.AsyncIterator=w,l.async=function(e,t,n,r){var i=new w(m(e,t,n,r));return l.isGeneratorFunction(t)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},k(h),h[u]="Generator",h[a]=function(){return this},h.toString=function(){return"[object Generator]"},l.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},l.values=C,_.prototype={constructor:_,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(E),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(n,r){return o.type="throw",o.arg=e,t.next=n,r&&(t.method="next",t.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],o=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var u=r.call(a,"catchLoc"),s=r.call(a,"finallyLoc");if(u&&s){if(this.prev=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),E(n),c}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;E(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:C(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),c}}}function m(e,t,n,r){var i=t&&t.prototype instanceof y?t:y,a=Object.create(i.prototype),o=new _(r||[]);return a._invoke=function(e,t,n){var r="suspendedStart";return function(i,a){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw a;return{value:void 0,done:!0}}for(n.method=i,n.arg=a;;){var o=n.delegate;if(o){var u=x(o,n);if(u){if(u===c)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var s=v(e,t,n);if("normal"===s.type){if(r=n.done?"completed":"suspendedYield",s.arg===c)continue;return{value:s.arg,done:n.done}}"throw"===s.type&&(r="completed",n.method="throw",n.arg=s.arg)}}}(e,n,o),a}function v(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}function y(){}function g(){}function b(){}function k(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function w(e){var t;this._invoke=function(n,i){function a(){return new Promise((function(t,a){!function t(n,i,a,o){var u=v(e[n],e,i);if("throw"!==u.type){var s=u.arg,l=s.value;return l&&"object"==typeof l&&r.call(l,"__await")?Promise.resolve(l.__await).then((function(e){t("next",e,a,o)}),(function(e){t("throw",e,a,o)})):Promise.resolve(l).then((function(e){s.value=e,a(s)}),o)}o(u.arg)}(n,i,t,a)}))}return t=t?t.then(a,a):a()}}function x(e,t){var n=e.iterator[t.method];if(void 0===n){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,x(e,t),"throw"===t.method))return c;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return c}var r=v(n,e.iterator,t.arg);if("throw"===r.type)return t.method="throw",t.arg=r.arg,t.delegate=null,c;var i=r.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,c):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,c)}function S(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function E(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function _(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(S,this),this.reset(!0)}function C(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n(t=V(t,e)).length)n=e;else{var r=0,i=-1,a=-1,o=(n=t).length;for(0>r&&(r=-r>o?0:o+r),0>(i=i>o?o:i)&&(i+=o),o=r>i?0:i-r>>>0,r>>>=0,i=Array(o);++aa?Qe:o,a=1),t=Object(t);++iu))return!1;if((s=a.get(e))&&a.get(t))return s==t;var s=-1,l=!0,c=2&n?new _:Qe;for(a.set(e,t),a.set(t,e);++s(n=null==n?0:De(n))&&(n=Vt(r+n,0)),h(e,re(t,3),n)):-1}function ye(e){return null!=e&&e.length?function e(t,n,r,i,a){var o=-1,u=t.length;for(r||(r=se),a||(a=[]);++o=e}function Ce(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Te(e){return null!=e&&"object"==typeof e}function Ie(e){return!(!Te(e)||"[object Object]"!=N(e))&&(null===(e=At(e))||"function"==typeof(e=_t.call(e,"constructor")&&e.constructor)&&e instanceof e&&Et.call(e)==It)}function Re(e){return"string"==typeof e||!xn(e)&&Te(e)&&"[object String]"==N(e)}function Pe(e){return"symbol"==typeof e||Te(e)&&"[object Symbol]"==N(e)}function Oe(e){return e?(e=Fe(e))===Je||e===-Je?17976931348623157e292*(0>e?-1:1):e==e?e:0:0===e?e:0}function De(e){var t=(e=Oe(e))%1;return e==e?t?e-t:e:0}function Fe(e){if("number"==typeof e)return e;if(Pe(e))return Ge;if(Ce(e)&&(e=Ce(e="function"==typeof e.valueOf?e.valueOf():e)?e+"":e),"string"!=typeof e)return 0===e?e:+e;e=e.replace(tt,"");var t=at.test(e);return t||ut.test(e)?dt(e.slice(2),t?2:8):it.test(e)?Ge:+e}function Ae(e){return G(e,ze(e))}function Me(e){return null==e?"":W(e)}function Ne(e,t,n){return(e=null==e?Qe:A(e,t))===Qe?n:e}function Le(e,t){var n;if(n=null!=e){for(var r,i=-1,a=(r=V(t,n=e)).length,o=!1;++i(e=P(t,e))||(e==t.length-1?t.pop():Lt.call(t,e,1),--this.size,0))},S.prototype.get=function(e){var t=this.__data__;return 0>(e=P(t,e))?Qe:t[e][1]},S.prototype.has=function(e){return-1r?(++this.size,n.push([e,t])):n[r][1]=t,this},E.prototype.clear=function(){this.size=0,this.__data__={hash:new x,map:new(Jt||S),string:new x}},E.prototype.delete=function(e){return e=ie(this,e).delete(e),this.size-=e?1:0,e},E.prototype.get=function(e){return ie(this,e).get(e)},E.prototype.has=function(e){return ie(this,e).has(e)},E.prototype.set=function(e,t){var n=ie(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},_.prototype.add=_.prototype.push=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},_.prototype.has=function(e){return this.__data__.has(e)},C.prototype.clear=function(){this.__data__=new S,this.size=0},C.prototype.delete=function(e){var t=this.__data__;return e=t.delete(e),this.size=t.size,e},C.prototype.get=function(e){return this.__data__.get(e)},C.prototype.has=function(e){return this.__data__.has(e)},C.prototype.set=function(e,t){var n=this.__data__;if(n instanceof S){var r=n.__data__;if(!Jt||199>r.length)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new E(r)}return n.set(e,t),this.size=n.size,this};var cn=function(e,t){if(null==e)return e;if(!xe(e))return function(e,t){return e&&fn(e,t,je)}(e,t);for(var n=e.length,r=-1,i=Object(e);++rn&&(n=Vt(r+n,0)),Re(e)?n<=r&&-1=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0?this.items[s]=u:this.items.push(u);case 13:t.next=3;break;case 15:t.next=20;break;case 17:t.prev=17,t.t0=t.catch(1),i.e(t.t0);case 20:return t.prev=20,i.f(),t.finish(20);case 23:this.notifyObserversOfEvent(e.BridgeEventReceivedItems);case 24:case"end":return t.stop()}}),t,this,[[1,17,20,23]])}))),function(e){return l.apply(this,arguments)})},{key:"indexOfItem",value:function(e){for(var t in this.items)if(this.items[t].uuid==e.uuid)return t;return-1}},{key:"removeItemFromItems",value:function(e){this.items=this.items.filter((function(t){return t.uuid!==e.uuid}))}},{key:"createItem",value:function(e,t){this.createItems([e],t)}},{key:"createItems",value:function(e,t){this.componentManager.createItems(e,(function(e){t&&t(e.map((function(e){return new r.SFItem(e)})))}))}},{key:"saveItem",value:(u=a(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.saveItems([t]));case 1:case"end":return e.stop()}}),e,this)}))),function(e){return u.apply(this,arguments)})},{key:"saveItems",value:(i=a(regeneratorRuntime.mark((function t(n){var r=this;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",new Promise((function(t,i){r.componentManager.saveItems(n,(function(n){t(n),r.notifyObserversOfEvent(e.BridgeEventSavedItem)}))})));case 1:case"end":return t.stop()}}),t)}))),function(e){return i.apply(this,arguments)})},{key:"indexOfItem",value:function(e){for(var t in this.items)if(this.items[t].uuid==e.uuid)return t;return-1}},{key:"deleteItem",value:function(e,t){this.deleteItems([e],t)}},{key:"deleteItems",value:function(e,t){this.componentManager.deleteItems(e,t)}},{key:"removeItemFromItems",value:function(e){this.items=this.items.filter((function(t){return t.uuid!==e.uuid}))}}])&&s(t.prototype,n),e}();function f(e,t,n,r,i,a,o){try{var u=e[a](o),s=u.value}catch(e){return void n(e)}u.done?t(s):Promise.resolve(s).then(r,i)}function d(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var a=e.apply(t,n);function o(e){f(a,r,i,o,u,"next",e)}function u(e){f(a,r,i,o,u,"throw",e)}o(void 0)}))}}function p(e,t){for(var n=0;n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,u=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){u=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(u)throw a}}}}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0){var i,a=m(t.integrations);try{for(a.s();!(i=a.n()).done;){var o=i.value;if(o!=e){t.setIntegrationAsDefault(o);break}}}catch(e){a.e(e)}finally{a.f()}}}))}},{key:"integrations",get:function(){return this.extensionBridge.filterItems(c.FileSafeIntegrationContentTypeKey)}}])&&g(t.prototype,n),e}();function k(e,t,n,r,i,a,o){try{var u=e[a](o),s=u.value}catch(e){return void n(e)}u.done?t(s):Promise.resolve(s).then(r,i)}function w(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&(e=n.credentials[0]),e})),S(this,"setCredentialAsDefault",(function(e){var t=n.getDefaultCredentials();t&&(t.content.isDefault=!1),e.content.isDefault=!0,n.extensionBridge.saveItems([t,e])})),S(this,"deleteCredential",(function(e){n.extensionBridge.deleteItem(e)})),this.extensionBridge=r,this.onCredentialLoad=i,this.credentials=[],this.extensionBridge.addEventHandler((function(e){e==c.BridgeEventReceivedItems&&n.reloadCredentials()}))}var t,n,i,a;return t=e,(n=[{key:"reloadCredentials",value:function(){var e=this;this.credentials=[];var t=this.extensionBridge.filterItems(c.FileSafeCredentialsContentType);if(0!=t.length){var n,r=function(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return w(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?w(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,u=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){u=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(u)throw a}}}}(t);try{var i=function(){var t=n.value;e.credentials.find((function(e){e.uuid,t.uuid}))||e.credentials.push(t)};for(r.s();!(n=r.n()).done;)i()}catch(e){r.e(e)}finally{r.f()}this.onCredentialLoad(),this.credentials.length>0&&this.didLoadCredentials()}}},{key:"createNewCredentials",value:(i=regeneratorRuntime.mark((function e(){var t,n,i,a,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=256,e.next=3,SFJS.crypto.generateRandomKey(t);case 3:return n=e.sent,e.next=6,SFJS.crypto.generateRandomKey(t);case 6:return i=e.sent,e.next=9,SFJS.crypto.generateInitialKeysAndAuthParamsForUser(n,i);case 9:return(a=e.sent).isDefault=0==this.credentials.length,o=new r.SFItem({content_type:c.FileSafeCredentialsContentType,content:a}),this.extensionBridge.saveItem(o),this.didLoadCredentials(),e.abrupt("return",o);case 15:case"end":return e.stop()}}),e,this)})),a=function(){var e=this,t=arguments;return new Promise((function(n,r){var a=i.apply(e,t);function o(e){k(a,n,r,o,u,"next",e)}function u(e){k(a,n,r,o,u,"throw",e)}o(void 0)}))},function(){return a.apply(this,arguments)})},{key:"didLoadCredentials",value:function(){this.extensionBridge.notifyObserversOfEvent(c.BridgeEventLoadedCredentials)}},{key:"credentialForFileDescriptor",value:function(e){return this.credentials.find((function(t){return e.content.references.find((function(e){return e.uuid==t.uuid}))}))}},{key:"getAllCredentials",value:function(){return this.credentials}},{key:"saveCredential",value:function(e){this.extensionBridge.saveItem(e)}}])&&x(t.prototype,n),e}(),_=function(){return new Worker(n.p+"filesafe-js/EncryptionWorker.js")};function C(e,t,n,r,i,a,o){try{var u=e[a](o),s=u.value}catch(e){return void n(e)}u.done?t(s):Promise.resolve(s).then(r,i)}function T(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var a=e.apply(t,n);function o(e){C(a,r,i,o,u,"next",e)}function u(e){C(a,r,i,o,u,"throw",e)}o(void 0)}))}}function I(e,t){for(var n=0;n3&&void 0!==arguments[3]&&arguments[3],a=document.createElement("a");a.setAttribute("download",t);var o=this.tempUrlForData(e,n);a.href=o,a.setAttribute("target","_blank"),i?window.location.href=a.href:(document.body.appendChild(a),a.click(),a.remove()),setTimeout((function(){r.revokeTempUrl(o)}),500)}},{key:"tempUrlForData",value:function(e,t){return window.URL.createObjectURL(new Blob([e],{type:t||"text/json"}))}},{key:"revokeTempUrl",value:function(e){window.URL.revokeObjectURL(e)}},{key:"copyTextToClipboard",value:function(e){if(window.clipboardData&&window.clipboardData.setData)return clipboardData.setData("Text",e);var t;if(document.queryCommandSupported&&document.queryCommandSupported("copy"))try{(t=document.createElement("textarea")).setAttribute("readonly",!0),t.setAttribute("contenteditable",!0),t.style.position="fixed",t.value=e,document.body.appendChild(t),t.focus(),t.select();var n=document.createRange();n.selectNodeContents(t);var r=window.getSelection();r.removeAllRanges(),r.addRange(n),t.setSelectionRange(0,t.value.length),document.execCommand("copy")}catch(e){console.error(e)}finally{document.body.removeChild(t)}}}],null&&O(t.prototype,null),n&&O(t,n),e}();function F(e,t,n,r,i,a,o){try{var u=e[a](o),s=u.value}catch(e){return void n(e)}u.done?t(s):Promise.resolve(s).then(r,i)}function A(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var a=e.apply(t,n);function o(e){F(a,r,i,o,u,"next",e)}function u(e){F(a,r,i,o,u,"throw",e)}o(void 0)}))}}function M(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return N(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?N(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,u=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return o=e.done,e},e:function(e){u=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(u)throw a}}}}function N(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&this.getAllIntegrations().length>0),t=Boolean(this.getAllFileDescriptors().length>0);return e||t}}]),e}()}])},418:e=>{"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;function i(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,a){for(var o,u,s=i(e),l=1;l{"use strict";var r=n(294),i=n(418),a=n(840);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n

>>0?1:0)|0,M=F,P=O,F=D,O=A,D=R,A=T,R=X+(V=J+V+(($=Q+ee)>>>0>>0?1:0))+((T=G+$|0)>>>0>>0?1:0)|0}d=n.low=d+T,n.high=p+R+(d>>>0>>0?1:0),m=r.low=m+A,r.high=h+D+(m>>>0>>0?1:0),v=i.low=v+O,i.high=y+F+(v>>>0>>0?1:0),b=a.low=b+P,a.high=g+M+(b>>>0