UNPKG

alasql

Version:

AlaSQL.js - JavaScript SQL database library for relational and graph data manipulation with support of localStorage, IndexedDB, and Excel

8 lines 163 kB
// PouchDB 3.2.1 // // (c) 2012-2014 Dale Harvey and the PouchDB team // PouchDB may be freely distributed under the Apache license, version 2.0. // For all details and documentation: // http://pouchdb.com !function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;"undefined"!=typeof window?t=window:"undefined"!=typeof global?t=global:"undefined"!=typeof self&&(t=self),t.PouchDB=e()}}(function(){var define,module,exports;return function e(t,n,r){function o(s,a){if(!n[s]){if(!t[s]){var u="function"==typeof require&&require;if(!a&&u)return u(s,!0);if(i)return i(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var f=n[s]={exports:{}};t[s][0].call(f.exports,function(e){var n=t[s][1][e];return o(n?n:e)},f,f.exports,e,t,n,r)}return n[s].exports}for(var i="function"==typeof require&&require,s=0;s<r.length;s++)o(r[s]);return o}({1:[function(e,t){"use strict";function n(e,t){for(var n=0;n<e.length;n++)if(t(e[n],n)===!0)return e[n];return!1}function r(e){return function(t,n){t||n[0]&&n[0].error?e(t||n[0]):e(null,n.length?n[0]:n)}}function o(e){var t={},n=[];return u.traverseRevTree(e,function(e,r,o,i){var s=r+"-"+o;return e&&(t[s]=0),void 0!==i&&n.push({from:i,to:s}),s}),n.reverse(),n.forEach(function(e){t[e.from]=void 0===t[e.from]?1+t[e.to]:Math.min(t[e.from],1+t[e.to])}),t}function i(e,t,n){var r="limit"in t?t.keys.slice(t.skip,t.limit+t.skip):t.skip>0?t.keys.slice(t.skip):t.keys;if(t.descending&&r.reverse(),!r.length)return e._allDocs({limit:0},n);var o={offset:t.skip};return h.all(r.map(function(n){var r=a.extend(!0,{key:n,deleted:"ok"},t);return["limit","skip","keys"].forEach(function(e){delete r[e]}),new h(function(t,i){e._allDocs(r,function(e,r){return e?i(e):(o.total_rows=r.total_rows,void t(r.rows[0]||{key:n,error:"not_found"}))})})})).then(function(e){return o.rows=e,o})}function s(){var e=this;f.call(this);var t,n=0,r=["change","delete","create","update"];this.on("newListener",function(o){if(~r.indexOf(o)){if(n)return void n++;n++;var i=0;t=this.changes({conflicts:!0,include_docs:!0,continuous:!0,since:"now",onChange:function(t){t.seq<=i||(i=t.seq,e.emit("change",t),t.doc._deleted?e.emit("delete",t):"1"===t.doc._rev.split("-")[0]?e.emit("create",t):e.emit("update",t))}})}}),this.on("removeListener",function(e){~r.indexOf(e)&&(n--,n||t.cancel())})}var a=e("./utils"),u=e("./merge"),c=e("./deps/errors"),f=e("events").EventEmitter,l=e("./deps/upsert"),d=e("./changes"),h=a.Promise;a.inherits(s,f),t.exports=s,s.prototype.post=a.adapterFun("post",function(e,t,n){return"function"==typeof t&&(n=t,t={}),"object"!=typeof e||Array.isArray(e)?n(c.error(c.NOT_AN_OBJECT)):void this.bulkDocs({docs:[e]},t,r(n))}),s.prototype.put=a.adapterFun("put",a.getArguments(function(e){var t,n,o,i,s=e.shift(),u="_id"in s;if("object"!=typeof s||Array.isArray(s))return(i=e.pop())(c.error(c.NOT_AN_OBJECT));for(s=a.clone(s);;)if(t=e.shift(),n=typeof t,"string"!==n||u?"string"!==n||!u||"_rev"in s?"object"===n?o=t:"function"===n&&(i=t):s._rev=t:(s._id=t,u=!0),!e.length)break;o=o||{};var f=a.invalidIdError(s._id);return f?i(f):a.isLocalId(s._id)&&"function"==typeof this._putLocal?s._deleted?this._removeLocal(s,i):this._putLocal(s,i):void this.bulkDocs({docs:[s]},o,r(i))})),s.prototype.putAttachment=a.adapterFun("putAttachment",function(e,t,n,r,o,i){function s(e){return e._attachments=e._attachments||{},e._attachments[t]={content_type:o,data:r},a.put(e)}var a=this;return"function"==typeof o&&(i=o,o=r,r=n,n=null),"undefined"==typeof o&&(o=r,r=n,n=null),a.get(e).then(function(e){if(e._rev!==n)throw c.error(c.REV_CONFLICT);return s(e)},function(t){if(t.reason===c.MISSING_DOC.message)return s({_id:e});throw t})}),s.prototype.removeAttachment=a.adapterFun("removeAttachment",function(e,t,n,r){var o=this;o.get(e,function(e,i){return e?void r(e):i._rev!==n?void r(c.error(c.REV_CONFLICT)):i._attachments?(delete i._attachments[t],0===Object.keys(i._attachments).length&&delete i._attachments,void o.put(i,r)):r()})}),s.prototype.remove=a.adapterFun("remove",function(e,t,n,o){var i;"string"==typeof t?(i={_id:e,_rev:t},"function"==typeof n&&(o=n,n={})):(i=e,"function"==typeof t?(o=t,n={}):(o=n,n=t)),n=a.clone(n||{}),n.was_delete=!0;var s={_id:i._id,_rev:i._rev||n.rev};return s._deleted=!0,a.isLocalId(s._id)&&"function"==typeof this._removeLocal?this._removeLocal(i,o):void this.bulkDocs({docs:[s]},n,r(o))}),s.prototype.revsDiff=a.adapterFun("revsDiff",function(e,t,n){function r(e,t){c.has(e)||c.set(e,{missing:[]}),c.get(e).missing.push(t)}function o(t,n){var o=e[t].slice(0);u.traverseRevTree(n,function(e,n,i,s,a){var u=n+"-"+i,c=o.indexOf(u);-1!==c&&(o.splice(c,1),"available"!==a.status&&r(t,u))}),o.forEach(function(e){r(t,e)})}"function"==typeof t&&(n=t,t={}),t=a.clone(t);var i=Object.keys(e);if(!i.length)return n(null,{});var s=0,c=new a.Map;i.map(function(t){this._getRevisionTree(t,function(r,a){if(r&&404===r.status&&"missing"===r.message)c.set(t,{missing:e[t]});else{if(r)return n(r);o(t,a)}if(++s===i.length){var u={};return c.forEach(function(e,t){u[t]=e}),n(null,u)}})},this)}),s.prototype.compactDocument=a.adapterFun("compactDocument",function(e,t,n){var r=this;this._getRevisionTree(e,function(i,s){if(i)return n(i);var a=o(s),c=[],f=[];Object.keys(a).forEach(function(e){a[e]>t&&c.push(e)}),u.traverseRevTree(s,function(e,t,n,r,o){var i=t+"-"+n;"available"===o.status&&-1!==c.indexOf(i)&&f.push(i)}),r._doCompaction(e,f,n)})}),s.prototype.compact=a.adapterFun("compact",function(e,t){"function"==typeof e&&(t=e,e={});var n=this;e=a.clone(e||{}),n.get("_local/compaction")["catch"](function(){return!1}).then(function(r){return"function"==typeof n._compact?(r&&r.last_seq&&(e.last_seq=r.last_seq),n._compact(e,t)):void 0})}),s.prototype._compact=function(e,t){function n(){l(c,"_local/compaction",function(e){return!e.last_seq||e.last_seq<i?(e.last_seq=i,e):!1},function(){t()})}function r(){a--,!a&&s&&n()}function o(e){a++,c.compactDocument(e.id,0).then(r,t)}var i,s=!1,a=0,u={returnDocs:!1},c=this;e.last_seq&&(u.since=e.last_seq),c.changes(u).on("change",o).on("complete",function(e){s=!0,i=e.last_seq,a||n()}).on("error",t)},s.prototype.get=a.adapterFun("get",function(e,t,r){function o(){var n=[],o=i.length;return o?void i.forEach(function(i){s.get(e,{rev:i,revs:t.revs,attachments:t.attachments},function(e,t){n.push(e?{missing:i}:{ok:t}),o--,o||r(null,n)})}):r(null,n)}if("function"==typeof t&&(r=t,t={}),"string"!=typeof e)return r(c.error(c.INVALID_ID));if(a.isLocalId(e)&&"function"==typeof this._getLocal)return this._getLocal(e,r);var i=[],s=this;if(!t.open_revs)return this._get(e,t,function(e,o){if(t=a.clone(t),e)return r(e);var i=o.doc,c=o.metadata,f=o.ctx;if(t.conflicts){var l=u.collectConflicts(c);l.length&&(i._conflicts=l)}if(a.isDeleted(c,i._rev)&&(i._deleted=!0),t.revs||t.revs_info){var d=u.rootToLeaf(c.rev_tree),h=n(d,function(e){return-1!==e.ids.map(function(e){return e.id}).indexOf(i._rev.split("-")[1])}),p=h.ids.map(function(e){return e.id}).indexOf(i._rev.split("-")[1])+1,v=h.ids.length-p;if(h.ids.splice(p,v),h.ids.reverse(),t.revs&&(i._revisions={start:h.pos+h.ids.length-1,ids:h.ids.map(function(e){return e.id})}),t.revs_info){var g=h.pos+h.ids.length;i._revs_info=h.ids.map(function(e){return g--,{rev:g+"-"+e.id,status:e.opts.status}})}}if(t.local_seq&&(i._local_seq=o.metadata.seq),t.attachments&&i._attachments){var m=i._attachments,_=Object.keys(m).length;if(0===_)return r(null,i);Object.keys(m).forEach(function(e){this._getAttachment(m[e],{encode:!0,ctx:f},function(t,n){var o=i._attachments[e];o.data=n,delete o.stub,delete o.length,--_||r(null,i)})},s)}else{if(i._attachments)for(var y in i._attachments)i._attachments.hasOwnProperty(y)&&(i._attachments[y].stub=!0);r(null,i)}});if("all"===t.open_revs)this._getRevisionTree(e,function(e,t){e&&(t=[]),i=u.collectLeaves(t).map(function(e){return e.rev}),o()});else{if(!Array.isArray(t.open_revs))return r(c.error(c.UNKNOWN_ERROR,"function_clause"));i=t.open_revs;for(var f=0;f<i.length;f++){var l=i[f];if("string"!=typeof l||!/^\d+-/.test(l))return r(c.error(c.INVALID_REV))}o()}}),s.prototype.getAttachment=a.adapterFun("getAttachment",function(e,t,n,r){var o=this;n instanceof Function&&(r=n,n={}),n=a.clone(n),this._get(e,n,function(e,i){return e?r(e):i.doc._attachments&&i.doc._attachments[t]?(n.ctx=i.ctx,void o._getAttachment(i.doc._attachments[t],n,r)):r(c.error(c.MISSING_DOC))})}),s.prototype.allDocs=a.adapterFun("allDocs",function(e,t){if("function"==typeof e&&(t=e,e={}),e=a.clone(e),e.skip="undefined"!=typeof e.skip?e.skip:0,"keys"in e){if(!Array.isArray(e.keys))return t(new TypeError("options.keys must be an array"));var n=["startkey","endkey","key"].filter(function(t){return t in e})[0];if(n)return void t(c.error(c.QUERY_PARSE_ERROR,"Query parameter `"+n+"` is not compatible with multi-get"));if("http"!==this.type())return i(this,e,t)}return this._allDocs(e,t)}),s.prototype.changes=function(e,t){return"function"==typeof e&&(t=e,e={}),new d(this,e,t)},s.prototype.close=a.adapterFun("close",function(e){return this._closed=!0,this._close(e)}),s.prototype.info=a.adapterFun("info",function(e){var t=this;this._info(function(n,r){return n?e(n):(r.db_name=r.db_name||t._db_name,r.auto_compaction=!(!t.auto_compaction||"http"===t.type()),void e(null,r))})}),s.prototype.id=a.adapterFun("id",function(e){return this._id(e)}),s.prototype.type=function(){return"function"==typeof this._type?this._type():this.adapter},s.prototype.bulkDocs=a.adapterFun("bulkDocs",function(e,t,n){if("function"==typeof t&&(n=t,t={}),t=a.clone(t),Array.isArray(e)&&(e={docs:e}),!e||!e.docs||!Array.isArray(e.docs))return n(c.error(c.MISSING_BULK_DOCS));for(var r=0;r<e.docs.length;++r)if("object"!=typeof e.docs[r]||Array.isArray(e.docs[r]))return n(c.error(c.NOT_AN_OBJECT));return e=a.clone(e),"new_edits"in t||(t.new_edits="new_edits"in e?e.new_edits:!0),t.new_edits||"http"===this.type()||e.docs.sort(function(e,t){var n=a.compare(e._id,t._id);if(0!==n)return n;var r=e._revisions?e._revisions.start:0,o=t._revisions?t._revisions.start:0;return a.compare(r,o)}),e.docs.forEach(function(e){e._deleted&&delete e._attachments}),this._bulkDocs(e,t,function(e,r){return e?n(e):(t.new_edits||(r=r.filter(function(e){return e.error})),void n(null,r))})}),s.prototype.registerDependentDatabase=a.adapterFun("registerDependentDatabase",function(e,t){function n(t){return t.dependentDbs=t.dependentDbs||{},t.dependentDbs[e]?!1:(t.dependentDbs[e]=!0,t)}var r=new this.constructor(e,this.__opts||{});l(this,"_local/_pouch_dependentDbs",n,function(e){return e?t(e):t(null,{db:r})})})},{"./changes":12,"./deps/errors":18,"./deps/upsert":22,"./merge":26,"./utils":31,events:39}],2:[function(e,t){(function(n,r){"use strict";function o(e){return/^_(design|local)/.test(e)?e:encodeURIComponent(e)}function i(e){return e._attachments&&Object.keys(e._attachments)?d.Promise.all(Object.keys(e._attachments).map(function(t){var n=e._attachments[t];if(n.data&&"string"!=typeof n.data){if(v)return new d.Promise(function(e){d.readAsBinaryString(n.data,function(t){n.data=d.btoa(t),e()})});n.data=n.data.toString("base64")}})):d.Promise.resolve()}function s(e,t){if(/http(s?):/.test(e)){var n=d.parseUri(e);n.remote=!0,(n.user||n.password)&&(n.auth={username:n.user,password:n.password});var r=n.path.replace(/(^\/|\/$)/g,"").split("/");if(n.db=r.pop(),n.path=r.join("/"),t=t||{},t=d.clone(t),n.headers=t.headers||{},t.auth||n.auth){var o=t.auth||n.auth,i=d.btoa(o.username+":"+o.password);n.headers.Authorization="Basic "+i}return t.headers&&(n.headers=t.headers),n}return{host:"",path:"/",db:e,auth:!1}}function a(e,t){return u(e,e.db+"/"+t)}function u(e,t){if(e.remote){var n=e.path?"/":"";return e.protocol+"://"+e.host+":"+e.port+"/"+e.path+n+t}return"/"+t}function c(e,t){function n(e,t){var n=d.extend({},y,e);return p(n.method+" "+n.url),d.ajax(n,t)}function c(e){return e.split("/").map(encodeURIComponent).join("/")}var g=this;g.getHost=e.getHost?e.getHost:s;var m=g.getHost(e.name,e),_=a(m,"");g.getUrl=function(){return _},g.getHeaders=function(){return d.clone(m.headers)};var y=e.ajax||{};e=d.clone(e);var b=function(){n({headers:m.headers,method:"PUT",url:_},function(e){e&&401===e.status?n({headers:m.headers,method:"HEAD",url:_},function(e){e?t(e):t(null,g)}):e&&412!==e.status?t(e):t(null,g)})};e.skipSetup||n({headers:m.headers,method:"GET",url:_},function(e){e?404===e.status?(d.explain404("PouchDB is just detecting if the remote DB exists."),b()):t(e):t(null,g)}),g.type=function(){return"http"},g.id=d.adapterFun("id",function(e){n({headers:m.headers,method:"GET",url:u(m,"")},function(t,n){var r=n&&n.uuid?n.uuid+m.db:a(m,"");e(null,r)})}),g.request=d.adapterFun("request",function(e,t){e.headers=m.headers,e.url=a(m,e.url),n(e,t)}),g.compact=d.adapterFun("compact",function(e,t){"function"==typeof e&&(t=e,e={}),e=d.clone(e),n({headers:m.headers,url:a(m,"_compact"),method:"POST"},function(){function n(){g.info(function(r,o){o.compact_running?setTimeout(n,e.interval||200):t()})}"function"==typeof t&&n()})}),g._info=function(e){n({headers:m.headers,method:"GET",url:a(m,"")},function(t,n){t?e(t):(n.host=a(m,""),e(null,n))})},g.get=d.adapterFun("get",function(e,t,r){"function"==typeof t&&(r=t,t={}),t=d.clone(t),void 0===t.auto_encode&&(t.auto_encode=!0);var i=[];t.revs&&i.push("revs=true"),t.revs_info&&i.push("revs_info=true"),t.local_seq&&i.push("local_seq=true"),t.open_revs&&("all"!==t.open_revs&&(t.open_revs=JSON.stringify(t.open_revs)),i.push("open_revs="+t.open_revs)),t.attachments&&i.push("attachments=true"),t.rev&&i.push("rev="+t.rev),t.conflicts&&i.push("conflicts="+t.conflicts),i=i.join("&"),i=""===i?"":"?"+i,t.auto_encode&&(e=o(e));var s={headers:m.headers,method:"GET",url:a(m,e+i)},u=e.split("/");(u.length>1&&"_design"!==u[0]&&"_local"!==u[0]||u.length>2&&"_design"===u[0]&&"_local"!==u[0])&&(s.binary=!0),n(s,function(e,t,n){return e?r(e):void r(null,t,n)})}),g.remove=d.adapterFun("remove",function(e,t,r,i){var s;"string"==typeof t?(s={_id:e,_rev:t},"function"==typeof r&&(i=r,r={})):(s=e,"function"==typeof t?(i=t,r={}):(i=r,r=t));var u=s._rev||r.rev;n({headers:m.headers,method:"DELETE",url:a(m,o(s._id))+"?rev="+u},i)}),g.getAttachment=d.adapterFun("getAttachment",function(e,t,n,r){"function"==typeof n&&(r=n,n={}),n=d.clone(n),void 0===n.auto_encode&&(n.auto_encode=!0),n.auto_encode&&(e=o(e)),n.auto_encode=!1,g.get(e+"/"+c(t),n,r)}),g.removeAttachment=d.adapterFun("removeAttachment",function(e,t,r,i){var s=a(m,o(e)+"/"+c(t))+"?rev="+r;n({headers:m.headers,method:"DELETE",url:s},i)}),g.putAttachment=d.adapterFun("putAttachment",function(e,t,i,s,u,f){"function"==typeof u&&(f=u,u=s,s=i,i=null),"undefined"==typeof u&&(u=s,s=i,i=null);var l=o(e)+"/"+c(t),p=a(m,l);if(i&&(p+="?rev="+i),"string"==typeof s){var g;try{g=d.atob(s)}catch(_){return f(h.error(h.BAD_ARG,"Attachments need to be base64 encoded"))}s=v?d.createBlob([d.fixBinary(g)],{type:u}):g?new r(g,"binary"):""}var y={headers:d.clone(m.headers),method:"PUT",url:p,processData:!1,body:s,timeout:6e4};y.headers["Content-Type"]=u,n(y,f)}),g.put=d.adapterFun("put",d.getArguments(function(e){var t,r,s,u=e.shift(),c="_id"in u,f=e.pop();return"object"!=typeof u||Array.isArray(u)?f(h.error(h.NOT_AN_OBJECT)):(u=d.clone(u),void i(u).then(function(){for(;;)if(t=e.shift(),r=typeof t,"string"!==r||c?"string"!==r||!c||"_rev"in u?"object"===r&&(s=d.clone(t)):u._rev=t:(u._id=t,c=!0),!e.length)break;s=s||{};var i=d.invalidIdError(u._id);if(i)throw i;var l=[];s&&"undefined"!=typeof s.new_edits&&l.push("new_edits="+s.new_edits),l=l.join("&"),""!==l&&(l="?"+l),n({headers:m.headers,method:"PUT",url:a(m,o(u._id))+l,body:u},function(e,t){return e?f(e):(t.ok=!0,void f(null,t))})})["catch"](f))})),g.post=d.adapterFun("post",function(e,t,n){return"function"==typeof t&&(n=t,t={}),t=d.clone(t),"object"!=typeof e?n(h.error(h.NOT_AN_OBJECT)):("_id"in e||(e._id=d.uuid()),void g.put(e,t,function(e,t){return e?n(e):(t.ok=!0,void n(null,t))}))}),g._bulkDocs=function(e,t,r){"undefined"!=typeof t.new_edits&&(e.new_edits=t.new_edits),d.Promise.all(e.docs.map(i)).then(function(){n({headers:m.headers,method:"POST",url:a(m,"_bulk_docs"),body:e},function(e,t){return e?r(e):(t.forEach(function(e){e.ok=!0}),void r(null,t))})})["catch"](r)},g.allDocs=d.adapterFun("allDocs",function(e,t){"function"==typeof e&&(t=e,e={}),e=d.clone(e);var r,o=[],i="GET";if(e.conflicts&&o.push("conflicts=true"),e.descending&&o.push("descending=true"),e.include_docs&&o.push("include_docs=true"),e.attachments&&o.push("attachments=true"),e.key&&o.push("key="+encodeURIComponent(JSON.stringify(e.key))),e.startkey&&o.push("startkey="+encodeURIComponent(JSON.stringify(e.startkey))),e.endkey&&o.push("endkey="+encodeURIComponent(JSON.stringify(e.endkey))),"undefined"!=typeof e.inclusive_end&&o.push("inclusive_end="+!!e.inclusive_end),"undefined"!=typeof e.limit&&o.push("limit="+e.limit),"undefined"!=typeof e.skip&&o.push("skip="+e.skip),o=o.join("&"),""!==o&&(o="?"+o),"undefined"!=typeof e.keys){var s="keys="+encodeURIComponent(JSON.stringify(e.keys));s.length+o.length+1<=l?o+=(-1!==o.indexOf("?")?"&":"?")+s:(i="POST",r=JSON.stringify({keys:e.keys}))}n({headers:m.headers,method:i,url:a(m,"_all_docs"+o),body:r},t)}),g._changes=function(e){var t="batch_size"in e?e.batch_size:f;e=d.clone(e),e.timeout=e.timeout||3e4;var r={timeout:e.timeout-5e3},o="undefined"!=typeof e.limit?e.limit:!1;0===o&&(o=1);var i;i="returnDocs"in e?e.returnDocs:!0;var s=o;if(e.style&&(r.style=e.style),(e.include_docs||e.filter&&"function"==typeof e.filter)&&(r.include_docs=!0),e.attachments&&(r.attachments=!0),e.continuous&&(r.feed="longpoll"),e.conflicts&&(r.conflicts=!0),e.descending&&(r.descending=!0),e.filter&&"string"==typeof e.filter&&(r.filter=e.filter,"_view"===e.filter&&e.view&&"string"==typeof e.view&&(r.view=e.view)),e.query_params&&"object"==typeof e.query_params)for(var u in e.query_params)e.query_params.hasOwnProperty(u)&&(r[u]=e.query_params[u]);var c,p="GET";if(e.doc_ids){r.filter="_doc_ids";var v=JSON.stringify(e.doc_ids);v.length<l?r.doc_ids=v:(p="POST",c={doc_ids:e.doc_ids})}if(e.continuous&&g._useSSE)return g.sse(e,r,i);var _,y,b=function(i,u){if(!e.aborted){r.since=i,"object"==typeof r.since&&(r.since=JSON.stringify(r.since)),e.descending?o&&(r.limit=s):r.limit=!o||s>t?t:s;var f="?"+Object.keys(r).map(function(e){return e+"="+r[e]}).join("&"),l={headers:m.headers,method:p,url:a(m,"_changes"+f),timeout:e.timeout,body:c};y=i,e.aborted||(_=n(l,u))}},w=10,E=0,S={results:[]},A=function(n,r){if(!e.aborted){var a=0;if(r&&r.results){a=r.results.length,S.last_seq=r.last_seq;var u={};u.query=e.query_params,r.results=r.results.filter(function(t){s--;var n=d.filterChange(e)(t);return n&&(i&&S.results.push(t),d.call(e.onChange,t)),n})}else if(n)return e.aborted=!0,void d.call(e.complete,n);r&&r.last_seq&&(y=r.last_seq);var c=o&&0>=s||r&&t>a||e.descending;if((!e.continuous||o&&0>=s)&&c)d.call(e.complete,null,S);else{n?E+=1:E=0;var f=1<<E,l=w*f,p=e.maximumWait||3e4;if(l>p)return void d.call(e.complete,n||h.error(h.UNKNOWN_ERROR));setTimeout(function(){b(y,A)},l)}}};return b(e.since||0,A),{cancel:function(){e.aborted=!0,_&&_.abort()}}},g.sse=function(e,t,n){function r(t){var r=JSON.parse(t.data);n&&c.results.push(r),c.last_seq=r.seq,d.call(e.onChange,r)}function o(t){return u.removeEventListener("message",r,!1),l===!1?(g._useSSE=!1,void(f=g._changes(e))):(u.close(),void d.call(e.complete,t))}t.feed="eventsource",t.since=e.since||0,t.limit=e.limit,delete t.timeout;var i="?"+Object.keys(t).map(function(e){return e+"="+t[e]}).join("&"),s=a(m,"_changes"+i),u=new EventSource(s),c={results:[],last_seq:!1},f=!1,l=!1;return u.addEventListener("message",r,!1),u.onopen=function(){l=!0},u.onerror=o,{cancel:function(){return f?f.cancel():(u.removeEventListener("message",r,!1),void u.close())}}},g._useSSE=!1,g.revsDiff=d.adapterFun("revsDiff",function(e,t,r){"function"==typeof t&&(r=t,t={}),n({headers:m.headers,method:"POST",url:a(m,"_revs_diff"),body:JSON.stringify(e)},r)}),g._close=function(e){e()},g.destroy=d.adapterFun("destroy",function(e){n({url:a(m,""),method:"DELETE",headers:m.headers},function(t,n){t?(g.emit("error",t),e(t)):(g.emit("destroyed"),e(null,n))})})}var f=25,l=1800,d=e("../../utils"),h=e("../../deps/errors"),p=e("debug")("pouchdb:http"),v="undefined"==typeof n||n.browser;c.destroy=d.toPromise(function(e,t,n){var r=s(e,t);t=t||{},"function"==typeof t&&(n=t,t={}),t=d.clone(t),t.headers=r.headers,t.method="DELETE",t.url=a(r,"");var o=t.ajax||{};t=d.extend({},t,o),d.ajax(t,n)}),c.valid=function(){return!0},t.exports=c}).call(this,e("_process"),e("buffer").Buffer)},{"../../deps/errors":18,"../../utils":31,_process:40,buffer:35,debug:41}],3:[function(e,t){"use strict";function n(e,t,n,i,s,m){function _(){var e=[f,c,u,d,l,a];I=i.transaction(e,"readwrite"),I.onerror=g(m),I.ontimeout=g(m),I.oncomplete=w,q=I.objectStore(f),L=I.objectStore(c),C=I.objectStore(u),D=I.objectStore(a),S(function(e){return e?(J=!0,m(e)):void b()})}function y(){r.processDocs(j,n,F,I,U,A,t)}function b(){function e(){++n===j.length&&y()}function t(t){var n=p(t.target.result);n&&F.set(n.id,n),e()}if(j.length)for(var n=0,o=0,i=j.length;i>o;o++){var s=j[o];if(s._id&&r.isLocalId(s._id))e();else{var a=q.get(s.metadata.id);a.onsuccess=t}}}function w(){J||(s.notify(n._name),n._docCount=-1,m(null,U))}function E(e,t){var n=C.get(e);n.onsuccess=function(n){if(n.target.result)t();else{var r=o.error(o.MISSING_STUB,"unknown stub attachment with digest "+e);r.status=412,t(r)}}}function S(e){function t(){++o===n.length&&e(r)}var n=[];if(j.forEach(function(e){e.data&&e.data._attachments&&Object.keys(e.data._attachments).forEach(function(t){var r=e.data._attachments[t];r.stub&&n.push(r.digest)})}),!n.length)return e();var r,o=0;n.forEach(function(e){E(e,function(e){e&&!r&&(r=e),t()})})}function A(e,t,n,r,o,i,s){var a=e.data;a._id=e.metadata.id,a._rev=e.metadata.rev,n&&(a._deleted=!0);var u=a._attachments&&Object.keys(a._attachments).length;return u?k(e,t,n,r,o,s):void R(e,t,n,r,o,s)}function T(e){var t=r.compactTree(e.metadata);h(t,e.metadata.id,I)}function R(e,t,r,o,i,s){function a(o){i&&n.auto_compaction&&T(e),l.seq=o.target.result,delete l.rev;var s=v(l,t,r),a=q.put(s);a.onsuccess=c}function u(e){e.preventDefault(),e.stopPropagation();var t=L.index("_doc_id_rev"),n=t.getKey(f._doc_id_rev);n.onsuccess=function(e){var t=L.put(f,e.target.result);t.onsuccess=a}}function c(){U[s]={ok:!0,id:l.id,rev:t},F.set(e.metadata.id,e.metadata),x(e,l.seq,o)}var f=e.data,l=e.metadata;f._doc_id_rev=l.id+"::"+l.rev,delete f._id,delete f._rev;var d=L.put(f);d.onsuccess=a,d.onerror=u}function k(e,t,n,r,o,i){function s(){c===f.length&&R(e,t,n,r,o,i)}function a(){c++,s()}var u=e.data,c=0,f=Object.keys(u._attachments);f.forEach(function(t){var n=e.data._attachments[t];if(n.stub)c++,s();else{var r=n.data;delete n.data;var o=n.digest;O(o,r,a)}})}function x(e,t,n){function r(){++i===s.length&&n()}function o(n){var o=e.data._attachments[n].digest,i=D.put({seq:t,digestSeq:o+"::"+t});i.onsuccess=r,i.onerror=function(e){e.preventDefault(),e.stopPropagation(),r()}}var i=0,s=Object.keys(e.data._attachments||{});if(!s.length)return n();for(var a=0;a<s.length;a++)o(s[a])}function O(e,t,n){var r=C.count(e);r.onsuccess=function(r){var o=r.target.result;if(o)return n();var i={digest:e,body:t},s=C.put(i);s.onsuccess=n}}for(var I,q,L,C,D,N,j=e.docs,B=0,P=j.length;P>B;B++){var M=j[B];M._id&&r.isLocalId(M._id)||(M=j[B]=r.parseDoc(M,t.new_edits),M.error&&!N&&(N=M))}if(N)return m(N);var U=new Array(j.length),F=new r.Map,J=!1,H=n._blobSupport?"blob":"base64";r.preprocessAttachments(j,H,function(e){return e?m(e):void _()})}var r=e("../../utils"),o=e("../../deps/errors"),i=e("./idb-utils"),s=e("./idb-constants"),a=s.ATTACH_AND_SEQ_STORE,u=s.ATTACH_STORE,c=s.BY_SEQ_STORE,f=s.DOC_STORE,l=s.LOCAL_STORE,d=s.META_STORE,h=i.compactRevs,p=i.decodeMetadata,v=i.encodeMetadata,g=i.idbError;t.exports=n},{"../../deps/errors":18,"../../utils":31,"./idb-constants":4,"./idb-utils":5}],4:[function(e,t,n){"use strict";n.ADAPTER_VERSION=5,n.DOC_STORE="document-store",n.BY_SEQ_STORE="by-sequence",n.ATTACH_STORE="attach-store",n.ATTACH_AND_SEQ_STORE="attach-seq-store",n.META_STORE="meta-store",n.LOCAL_STORE="local-store",n.DETECT_BLOB_SUPPORT_STORE="detect-blob-support"},{}],5:[function(e,t,n){(function(t){"use strict";function r(e,t,n){try{e.apply(t,n)}catch(r){"undefined"!=typeof PouchDB&&PouchDB.emit("error",r)}}var o=e("../../deps/errors"),i=e("../../utils"),s=e("./idb-constants");n.taskQueue={running:!1,queue:[]},n.applyNext=function(){if(!n.taskQueue.running&&n.taskQueue.queue.length){n.taskQueue.running=!0;var e=n.taskQueue.queue.shift();e.action(function(o,i){r(e.callback,this,[o,i]),n.taskQueue.running=!1,t.nextTick(n.applyNext)})}},n.idbError=function(e){return function(t){var n=t.target&&t.target.error&&t.target.error.name||t.target;e(o.error(o.IDB_ERROR,n,t.type))}},n.encodeMetadata=function(e,t,n){return{data:i.safeJsonStringify(e),winningRev:t,deletedOrLocal:n?"1":"0",seq:e.seq,id:e.id}},n.decodeMetadata=function(e){if(!e)return null;var t=i.safeJsonParse(e.data);return t.winningRev=e.winningRev,t.deletedOrLocal="1"===e.deletedOrLocal,t.seq=e.seq,t},n.decodeDoc=function(e){if(!e)return e;var t=i.lastIndexOf(e._doc_id_rev,":");return e._id=e._doc_id_rev.substring(0,t-1),e._rev=e._doc_id_rev.substring(t+1),delete e._doc_id_rev,e},n.readBlobData=function(e,t,n,r){n?e?"string"!=typeof e?i.readAsBinaryString(e,function(e){r(i.btoa(e))}):r(e):r(""):e?"string"!=typeof e?r(e):(e=i.fixBinary(atob(e)),r(i.createBlob([e],{type:t}))):r(i.createBlob([""],{type:t}))},n.fetchAttachmentsIfNecessary=function(e,t,n,r){function o(){++u===a.length&&r&&r()}function i(e,t){var r=e._attachments[t],i=r.digest,a=n.objectStore(s.ATTACH_STORE).get(i);a.onsuccess=function(e){r.body=e.target.result.body,o()}}var a=Object.keys(e._attachments||{});if(!a.length)return r&&r();var u=0;a.forEach(function(n){t.attachments&&t.include_docs?i(e,n):(e._attachments[n].stub=!0,o())})},n.postProcessAttachments=function(e){return i.Promise.all(e.map(function(e){if(e.doc&&e.doc._attachments){var t=Object.keys(e.doc._attachments);return i.Promise.all(t.map(function(t){var r=e.doc._attachments[t];if("body"in r){var o=r.body,s=r.content_type;return new i.Promise(function(a){n.readBlobData(o,s,!0,function(n){e.doc._attachments[t]=i.extend(i.pick(r,["digest","content_type"]),{data:n}),a()})})}}))}}))},n.compactRevs=function(e,t,n){function r(){f--,f||o()}function o(){i.length&&i.forEach(function(e){var t=c.index("digestSeq").count(IDBKeyRange.bound(e+"::",e+"::￿",!1,!1));t.onsuccess=function(t){var n=t.target.result;n||u["delete"](e)}})}var i=[],a=n.objectStore(s.BY_SEQ_STORE),u=n.objectStore(s.ATTACH_STORE),c=n.objectStore(s.ATTACH_AND_SEQ_STORE),f=e.length;e.forEach(function(e){var n=a.index("_doc_id_rev"),o=t+"::"+e;n.getKey(o).onsuccess=function(e){var t=e.target.result;if("number"!=typeof t)return r();a["delete"](t);var n=c.index("seq").openCursor(IDBKeyRange.only(t));n.onsuccess=function(e){var t=e.target.result;if(t){var n=t.value.digestSeq.split("::")[0];i.push(n),c["delete"](t.primaryKey),t["continue"]()}else r()}}})}}).call(this,e("_process"))},{"../../deps/errors":18,"../../utils":31,"./idb-constants":4,_process:40}],6:[function(e,t){(function(n){"use strict";function r(e,t){var n=this;I.queue.push({action:function(t){o(n,e,t)},callback:t}),w()}function o(e,t,o){function i(e){var t=e.createObjectStore(_,{keyPath:"id"});e.createObjectStore(g,{autoIncrement:!0}).createIndex("_doc_id_rev","_doc_id_rev",{unique:!0}),e.createObjectStore(v,{keyPath:"digest"}),e.createObjectStore(b,{keyPath:"id",autoIncrement:!1}),e.createObjectStore(m),t.createIndex("deletedOrLocal","deletedOrLocal",{unique:!1}),e.createObjectStore(y,{keyPath:"_id"});var n=e.createObjectStore(p,{autoIncrement:!0});n.createIndex("seq","seq"),n.createIndex("digestSeq","digestSeq",{unique:!0})}function f(e,t){var n=e.objectStore(_);n.createIndex("deletedOrLocal","deletedOrLocal",{unique:!1}),n.openCursor().onsuccess=function(e){var r=e.target.result;if(r){var o=r.value,i=a.isDeleted(o);o.deletedOrLocal=i?"1":"0",n.put(o),r["continue"]()}else t()}}function l(e){e.createObjectStore(y,{keyPath:"_id"}).createIndex("_doc_id_rev","_doc_id_rev",{unique:!0})}function w(e,t){var n=e.objectStore(y),r=e.objectStore(_),o=e.objectStore(g),i=r.openCursor();i.onsuccess=function(e){var i=e.target.result;if(i){var s=i.value,c=s.id,f=a.isLocalId(c),l=u.winningRev(s);if(f){var d=c+"::"+l,h=c+"::",p=c+"::~",v=o.index("_doc_id_rev"),g=IDBKeyRange.bound(h,p,!1,!1),m=v.openCursor(g);m.onsuccess=function(e){if(m=e.target.result){var t=m.value;t._doc_id_rev===d&&n.put(t),o["delete"](m.primaryKey),m["continue"]()}else r["delete"](i.primaryKey),i["continue"]()}}else i["continue"]()}else t&&t()}}function I(e){var t=e.createObjectStore(p,{autoIncrement:!0});t.createIndex("seq","seq"),t.createIndex("digestSeq","digestSeq",{unique:!0})}function L(e,t){var n=e.objectStore(g),r=e.objectStore(v),o=e.objectStore(p),i=r.count();i.onsuccess=function(e){var r=e.target.result;return r?void(n.openCursor().onsuccess=function(e){var n=e.target.result;if(!n)return t();for(var r=n.value,i=n.primaryKey,s=Object.keys(r._attachments||{}),a={},u=0;u<s.length;u++){var c=r._attachments[s[u]];a[c.digest]=!0}var f=Object.keys(a);for(u=0;u<f.length;u++){var l=f[u];o.put({seq:i,digestSeq:l+"::"+i})}n["continue"]()}):t()}}function C(e){function t(e){return e.data?A(e):(e.deletedOrLocal="1"===e.deletedOrLocal,e)}var n=e.objectStore(g),r=e.objectStore(_),o=r.openCursor();o.onsuccess=function(e){function o(){var e=a.id+"::",t=a.id+"::￿",r=n.index("_doc_id_rev").openCursor(IDBKeyRange.bound(e,t)),o=0;r.onsuccess=function(e){var t=e.target.result;if(!t)return a.seq=o,i();var n=t.primaryKey;n>o&&(o=n),t["continue"]()}}function i(){var e=T(a,a.winningRev,a.deletedOrLocal),t=r.put(e);t.onsuccess=function(){s["continue"]()}}var s=e.target.result;if(s){var a=t(s.value);return a.winningRev=a.winningRev||u.winningRev(a),a.seq?i():void o()}}}function D(e,t,n){function r(){n(null,{total_rows:e,offset:t.skip,rows:k})}var o="startkey"in t?t.startkey:!1,i="endkey"in t?t.endkey:!1,s="key"in t?t.key:!1,f=t.skip||0,l="number"==typeof t.limit?t.limit:-1,d=t.inclusive_end!==!1,h="descending"in t&&t.descending?"prev":null,p=!1;h&&o&&i&&(p=i,i=!1);var m=null;try{o&&i?m=IDBKeyRange.bound(o,i,!1,!d):o?m=h?IDBKeyRange.upperBound(o):IDBKeyRange.lowerBound(o):i?m=h?IDBKeyRange.lowerBound(i,!d):IDBKeyRange.upperBound(i,!d):s&&(m=IDBKeyRange.only(s))}catch(y){return"DataError"===y.name&&0===y.code?n(null,{total_rows:e,offset:t.skip,rows:[]}):n(c.error(c.IDB_ERROR,y.name,y.message))}var b=[_,g];t.attachments&&b.push(v);var w=M.transaction(b,"readonly");w.oncomplete=function(){t.attachments?x(k).then(r):r()};var E=w.objectStore(_),T=h?E.openCursor(m,h):E.openCursor(m),k=[];T.onsuccess=function(e){function n(e,n){var o={id:e.id,key:e.id,value:{rev:i}};t.include_docs&&(o.doc=n,t.conflicts&&(o.doc._conflicts=u.collectConflicts(e)),R(o.doc,t,w));var s=a.isDeleted(e,i);if("ok"===t.deleted)s&&(o.value.deleted=!0,o.doc=null),k.push(o);else if(!s&&f--<=0){if(p){if(d&&o.key<p)return;if(!d&&o.key<=p)return}if(k.push(o),0===--l)return}r["continue"]()}if(e.target.result){var r=e.target.result,o=A(r.value),i=o.winningRev;if(t.include_docs){var s=w.objectStore(g).index("_doc_id_rev"),c=o.id+"::"+i;s.get(c).onsuccess=function(e){n(A(r.value),S(e.target.result))}}else n(o)}}}function N(t){if(-1!==e._docCount)return t(null,e._docCount);var n,r=M.transaction([_],"readonly"),o=r.objectStore(_).index("deletedOrLocal");o.count(IDBKeyRange.only("0")).onsuccess=function(e){n=e.target.result},r.onerror=k(t),r.oncomplete=function(){e._docCount=n,t(null,e._docCount)}}var j=t.name,B=null,P=!1,M=null;e._docCount=-1,e._blobSupport=null,e._name=j,e.type=function(){return"idb"},e._id=a.toPromise(function(e){e(null,B)}),e._bulkDocs=function(t,n,o){d(t,n,e,M,r.Changes,o)},e._get=function(e,t,n){function r(){n(s,{doc:o,metadata:i,ctx:u})}var o,i,s,u;t=a.clone(t),u=t.ctx?t.ctx:M.transaction([_,g,v],"readonly"),u.objectStore(_).get(e).onsuccess=function(e){if(i=A(e.target.result),!i)return s=c.error(c.MISSING_DOC,"missing"),r(); if(a.isDeleted(i)&&!t.rev)return s=c.error(c.MISSING_DOC,"deleted"),r();var n=u.objectStore(g),f=t.rev||i.winningRev,l=i.id+"::"+f;n.index("_doc_id_rev").get(l).onsuccess=function(e){return o=e.target.result,o&&(o=S(o)),o?void r():(s=c.error(c.MISSING_DOC,"missing"),r())}}},e._getAttachment=function(e,t,n){var r;t=a.clone(t),r=t.ctx?t.ctx:M.transaction([_,g,v],"readonly");var o=e.digest,i=e.content_type;r.objectStore(v).get(o).onsuccess=function(e){var r=e.target.result.body;O(r,i,t.encode,function(e){n(null,e)})}},e._allDocs=function(e,t){N(function(n,r){return n?t(n):0===e.limit?t(null,{total_rows:r,offset:e.skip,rows:[]}):void D(r,e,t)})},e._info=function(e){N(function(t,n){if(t)return e(t);if(null===M){var r=new Error("db isn't open");return r.id="idbNull",e(r)}var o=0,i=M.transaction([g],"readonly");i.objectStore(g).openCursor(null,"prev").onsuccess=function(e){var t=e.target.result;o=t?t.key:0},i.oncomplete=function(){e(null,{doc_count:n,update_seq:o})}})},e._changes=function(t){function n(e){function n(){return a.seq!==s?e["continue"]():a.winningRev===i._rev?o(i):void r()}function r(){var e=i._id+"::"+a.winningRev,t=m.index("_doc_id_rev").openCursor(IDBKeyRange.bound(e,e+"￿"));t.onsuccess=function(e){o(S(e.target.result.value))}}function o(n){var r=t.processChange(n,a,t);r.seq=a.seq,E(r)&&(w++,h&&b.push(r),t.attachments&&t.include_docs?R(n,t,p,function(){x([r]).then(function(){t.onChange(r)})}):t.onChange(r)),w!==d&&e["continue"]()}var i=S(e.value),s=e.key;if(l=s,c&&!c.has(i._id))return e["continue"]();var a;return(a=T.get(i._id))?n():void(y.get(i._id).onsuccess=function(e){a=A(e.target.result),T.set(i._id,a),n()})}function o(e){var t=e.target.result;t&&n(t)}function i(){var e=[_,g];t.attachments&&e.push(v),p=M.transaction(e,"readonly"),p.onerror=k(t.complete),p.oncomplete=s,m=p.objectStore(g),y=p.objectStore(_);var n;n=f?m.openCursor(null,f):m.openCursor(IDBKeyRange.lowerBound(t.since,!0)),n.onsuccess=o}function s(){function e(){t.complete(null,{results:b,last_seq:l})}!t.continuous&&t.attachments?x(b).then(e):e()}if(t=a.clone(t),t.continuous){var u=j+":"+a.uuid();return r.Changes.addListener(j,u,e,t),r.Changes.notify(j),{cancel:function(){r.Changes.removeListener(j,u)}}}var c=t.doc_ids&&new a.Set(t.doc_ids),f=t.descending?"prev":null;t.since=t.since||0;var l=t.since,d="limit"in t?t.limit:-1;0===d&&(d=1);var h;h="returnDocs"in t?t.returnDocs:!0;var p,m,y,b=[],w=0,E=a.filterChange(t),T=new a.Map;i()},e._close=function(e){return null===M?e(c.error(c.NOT_OPEN)):(M.close(),delete q[j],M=null,void e())},e._getRevisionTree=function(e,t){var n=M.transaction([_],"readonly"),r=n.objectStore(_).get(e);r.onsuccess=function(e){var n=A(e.target.result);n?t(null,n.rev_tree):t(c.error(c.MISSING_DOC))}},e._doCompaction=function(e,t,n){var r=M.transaction([_,g,v,p],"readwrite"),o=r.objectStore(_);o.get(e).onsuccess=function(n){var o=A(n.target.result);u.traverseRevTree(o.rev_tree,function(e,n,r,o,i){var s=n+"-"+r;-1!==t.indexOf(s)&&(i.status="missing")}),E(t,e,r);var i=o.winningRev,s=o.deletedOrLocal;r.objectStore(_).put(T(o,i,s))},r.onerror=k(n),r.oncomplete=function(){a.call(n)}},e._getLocal=function(e,t){var n=M.transaction([y],"readonly"),r=n.objectStore(y).get(e);r.onerror=k(t),r.onsuccess=function(e){var n=e.target.result;n?(delete n._doc_id_rev,t(null,n)):t(c.error(c.MISSING_DOC))}},e._putLocal=function(e,t,n){"function"==typeof t&&(n=t,t={}),delete e._revisions;var r=e._rev,o=e._id;e._rev=r?"0-"+(parseInt(r.split("-")[1],10)+1):"0-1";var i,s=t.ctx;s||(s=M.transaction([y],"readwrite"),s.onerror=k(n),s.oncomplete=function(){i&&n(null,i)});var a,u=s.objectStore(y);r?(a=u.get(o),a.onsuccess=function(o){var s=o.target.result;if(s&&s._rev===r){var a=u.put(e);a.onsuccess=function(){i={ok:!0,id:e._id,rev:e._rev},t.ctx&&n(null,i)}}else n(c.error(c.REV_CONFLICT))}):(a=u.add(e),a.onerror=function(e){n(c.error(c.REV_CONFLICT)),e.preventDefault(),e.stopPropagation()},a.onsuccess=function(){i={ok:!0,id:e._id,rev:e._rev},t.ctx&&n(null,i)})},e._removeLocal=function(e,t){var n,r=M.transaction([y],"readwrite");r.oncomplete=function(){n&&t(null,n)};var o=e._id,i=r.objectStore(y),s=i.get(o);s.onerror=k(t),s.onsuccess=function(r){var s=r.target.result;s&&s._rev===e._rev?(i["delete"](o),n={ok:!0,id:o,rev:"0-0"}):t(c.error(c.MISSING_DOC))}};var U=q[j];if(U)return M=U.idb,B=U.instanceId,e._blobSupport=U.blobSupport,void n.nextTick(function(){o(null,e)});var F=indexedDB.open(j,h);"openReqList"in r||(r.openReqList={}),r.openReqList[j]=F,F.onupgradeneeded=function(e){function t(){var e=o[s-1];s++,e&&e(r,t)}var n=e.target.result;if(e.oldVersion<1)return i(n);var r=e.currentTarget.transaction;e.oldVersion<3&&l(n),e.oldVersion<4&&I(n);var o=[f,w,L,C],s=e.oldVersion;t()},F.onsuccess=function(t){M=t.target.result,M.onversionchange=function(){M.close(),delete q[j]},M.onabort=function(){M.close(),delete q[j]};var n=M.transaction([b,m],"readwrite"),r=n.objectStore(b).get(b);r.onsuccess=function(t){var r=function(){null!==e._blobSupport&&P&&(q[j]={idb:M,instanceId:B,blobSupport:e._blobSupport,loaded:!0},o(null,e))},i=t.target.result||{id:b};j+"_id"in i?(B=i[j+"_id"],P=!0,r()):(B=a.uuid(),i[j+"_id"]=B,n.objectStore(b).put(i).onsuccess=function(){P=!0,r()}),s||(s=new a.Promise(function(e,t){var r=a.createBlob([a.fixBinary(a.atob("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII="))],{type:"image/png"});n.objectStore(m).put(r,"key"),n.oncomplete=function(){var n=M.transaction([m],"readwrite"),r=n.objectStore(m).get("key");r.onerror=t,r.onsuccess=function(t){var n=t.target.result,r=URL.createObjectURL(n);a.ajax({url:r,cache:!0,binary:!0},function(t,n){e(t&&405===t.status?!0:!(!n||"image/png"!==n.type)),URL.revokeObjectURL(r)})}}})["catch"](function(){return!1})),s.then(function(t){e._blobSupport=t,r()})}},F.onerror=k(o)}function i(e,t,n){"openReqList"in r||(r.openReqList={}),r.Changes.removeAllListeners(e),r.openReqList[e]&&r.openReqList[e].result&&r.openReqList[e].result.close();var o=indexedDB.deleteDatabase(e);o.onsuccess=function(){r.openReqList[e]&&(r.openReqList[e]=null),a.hasLocalStorage()&&e in localStorage&&delete localStorage[e],delete q[e],n(null,{ok:!0})},o.onerror=k(n)}var s,a=e("../../utils"),u=e("../../merge"),c=e("../../deps/errors"),f=e("./idb-utils"),l=e("./idb-constants"),d=e("./idb-bulk-docs"),h=l.ADAPTER_VERSION,p=l.ATTACH_AND_SEQ_STORE,v=l.ATTACH_STORE,g=l.BY_SEQ_STORE,m=l.DETECT_BLOB_SUPPORT_STORE,_=l.DOC_STORE,y=l.LOCAL_STORE,b=l.META_STORE,w=f.applyNext,E=f.compactRevs,S=f.decodeDoc,A=f.decodeMetadata,T=f.encodeMetadata,R=f.fetchAttachmentsIfNecessary,k=f.idbError,x=f.postProcessAttachments,O=f.readBlobData,I=f.taskQueue,q={};r.valid=function(){var e="undefined"!=typeof openDatabase&&/Safari/.test(navigator.userAgent)&&!/Chrome/.test(navigator.userAgent);return!e&&"undefined"!=typeof indexedDB&&"undefined"!=typeof IDBKeyRange},r.destroy=a.toPromise(function(e,t,n){I.queue.push({action:function(n){i(e,t,n)},callback:n}),w()}),r.Changes=new a.Changes,t.exports=r}).call(this,e("_process"))},{"../../deps/errors":18,"../../merge":26,"../../utils":31,"./idb-bulk-docs":3,"./idb-constants":4,"./idb-utils":5,_process:40}],7:[function(e,t){t.exports=["idb","websql"]},{}],8:[function(e,t){"use strict";function n(e,t,n,s,v,g){function m(){return O?g(O):(v.notify(n._name),n._docCount=-1,void g(null,I))}function _(e,t){var n="SELECT count(*) as cnt FROM "+c+" WHERE digest=?";x.executeSql(n,[e],function(n,r){if(0===r.rows.item(0).cnt){var i=o.error(o.MISSING_STUB,"unknown stub attachment with digest "+e);t(i)}else t()})}function y(e){function t(){++o===n.length&&e(r)}var n=[];if(R.forEach(function(e){e.data&&e.data._attachments&&Object.keys(e.data._attachments).forEach(function(t){var r=e.data._attachments[t];r.stub&&n.push(r.digest)})}),!n.length)return e();var r,o=0;n.forEach(function(e){_(e,function(e){e&&!r&&(r=e),t()})})}function b(e,t,o,i,s,c,p){function v(){function t(e,t){function r(){return++i===s.length&&t(),!1}function o(t){var o="INSERT INTO "+f+" (digest, seq) VALUES (?,?)",i=[n._attachments[t].digest,e];x.executeSql(o,i,r,r)}var i=0,s=Object.keys(n._attachments||{});if(!s.length)return t();for(var a=0;a<s.length;a++)o(s[a])}var n=e.data,r=o?1:0,i=n._id,s=n._rev,a=d(n),c="INSERT INTO "+u+" (doc_id, rev, json, deleted) VALUES (?, ?, ?, ?);",h=[i,s,a,r];x.executeSql(c,h,function(e,n){var r=n.insertId;t(r,function(){y(e,r)})},function(){var e=l("seq",u,null,"doc_id=? AND rev=?");return x.executeSql(e,[i,s],function(e,n){var o=n.rows.item(0).seq,c="UPDATE "+u+" SET json=?, deleted=? WHERE doc_id=? AND rev=?;",f=[a,r,i,s];e.executeSql(c,f,function(e){t(o,function(){y(e,o)})})}),!1})}function g(e){b||(e?(b=e,i(b)):w===E.length&&v())}function m(e){w++,g(e)}function _(){if(s&&n.auto_compaction){var t=e.metadata.id,o=r.compactTree(e.metadata);h(o,t,x)}}function y(n,o){_(),e.metadata.seq=o,delete e.metadata.rev;var c=s?"UPDATE "+a+" SET json=?, max_seq=?, winningseq=(SELECT seq FROM "+u+" WHERE doc_id="+a+".id AND rev=?) WHERE id=?":"INSERT INTO "+a+" (id, winningseq, max_seq, json) VALUES (?,?,?,?);",f=r.safeJsonStringify(e.metadata),l=e.metadata.id,d=s?[f,o,t,l]:[l,o,o,f];n.executeSql(c,d,function(){I[p]={ok:!0,id:e.metadata.id,rev:t},q.set(l,e.metadata),i()})}var b=null,w=0;e.data._id=e.metadata.id,e.data._rev=e.metadata.rev;var E=Object.keys(e.data._attachments||{});o&&(e.data._deleted=!0),E.forEach(function(t){var n=e.data._attachments[t];if(n.stub)w++,g();else{var r=n.data;delete n.data;var o=n.digest;S(o,r,m)}}),E.length||v()}function w(){r.processDocs(R,n,q,x,I,b,t)}function E(e){function t(){++n===R.length&&e()}if(!R.length)return e();var n=0;R.forEach(function(e){if(e._id&&r.isLocalId(e._id))return t();var n=e.metadata.id;x.executeSql("SELECT json FROM "+a+" WHERE id = ?",[n],function(e,o){if(o.rows.length){var i=r.safeJsonParse(o.rows.item(0).json);q.set(n,i)}t()})})}function S(e,t,n){var r="SELECT digest FROM "+c+" WHERE digest=?";x.executeSql(r,[e],function(o,s){return s.rows.length?n():(r="INSERT INTO "+c+" (digest, body, escaped) VALUES (?,?,1)",void o.executeSql(r,[e,i.escapeBlob(t)],function(){n()},function(){return n(),!1}))})}var A=t.new_edits,T=e.docs,R=T.map(function(e){if(e._id&&r.isLocalId(e._id))return e;var t=r.parseDoc(e,A);return t}),k=R.filter(function(e){return e.error});if(k.length)return g(k[0]);var x,O,I=new Array(R.length),q=new r.Map;r.preprocessAttachments(R,"binary",function(e){return e?g(e):void s.transaction(function(e){x=e,y(function(e){e?O=e:E(w)})},p(g),m)})}var r=e("../../utils"),o=e("../../deps/errors"),i=e("./websql-utils"),s=e("./websql-constants"),a=s.DOC_STORE,u=s.BY_SEQ_STORE,c=s.ATTACH_STORE,f=s.ATTACH_AND_SEQ_STORE,l=i.select,d=i.stringifyDoc,h=i.compactRevs,p=i.unknownError;t.exports=n},{"../../deps/errors":18,"../../utils":31,"./websql-constants":9,"./websql-utils":10}],9:[function(e,t,n){"use strict";function r(e){return"'"+e+"'"}n.ADAPTER_VERSION=7,n.DOC_STORE=r("document-store"),n.BY_SEQ_STORE=r("by-sequence"),n.ATTACH_STORE=r("attach-store"),n.LOCAL_STORE=r("local-store"),n.META_STORE=r("metadata-store"),n.ATTACH_AND_SEQ_STORE=r("attach-seq-store")},{}],10:[function(e,t){"use strict";function n(e){return e.replace(/\u0002/g,"").replace(/\u0001/g,"").replace(/\u0000/g,"")}function r(e){return e.replace(/\u0001\u0001/g,"\x00").replace(/\u0001\u0002/g,"").replace(/\u0002\u0002/g,"")}function o(e){return delete e._id,delete e._rev,JSON.stringify(e)}function i(e,t,n){return e=JSON.parse(e),e._id=t,e._rev=n,e}function s(e){for(var t="(";e--;)t+="?",e&&(t+=",");return t+")"}function a(e,t,n,r,o){return"SELECT "+e+" FROM "+("string"==typeof t?t:t.join(" JOIN "))+(n?" ON "+n:"")+(r?" WHERE "+("string"==typeof r?r:r.join(" AND ")):"")+(o?" ORDER BY "+o:"")}function u(e,t,n){function r(){++i===e.length&&o()}function o(){if(a.length){var e="SELECT DISTINCT digest AS digest FROM "+g+" WHERE seq IN "+s(a.length);n.executeSql(e,a,function(e,t){for(var n=[],r=0;r<t.rows.length;r++)n.push(t.rows.item(r).digest);if(n.length){var o="DELETE FROM "+g+" WHERE seq IN ("+a.map(function(){return"?"}).join(",")+")";e.executeSql(o,a,function(e){var t="SELECT digest FROM "+g+" WHERE digest IN ("+n.map(function(){return"?"}).join(",")+")";e.executeSql(t,n,function(e,t){for(var r=new l.Set,o=0;o<t.rows.length;o++)r.add(t.rows.item(o).digest);n.forEach(function(t){r.has(t)||(e.executeSql("DELETE FROM "+g+" WHERE digest=?",[t]),e.executeSql("DELETE FROM "+v+" WHERE digest=?",[t]))})})})}})}}if(e.length){var i=0,a=[];e.forEach(function(e){var o="SELECT seq FROM "+p+" WHERE doc_id=? AND rev=?";n.executeSql(o,[t,e],function(e,t){if(!t.rows.length)return r();var n=t.rows.item(0).seq;a.push(n),e.executeSql("DELETE FROM "+p+" WHERE seq=?",[n],r)})})}}function c(e){return function(t){var n=t&&t.constructor.toString().match(/function ([^\(]+)/),r=n&&n[1]||t.type,o=t.target||t.message;e(d.error(d.WSQ_ERROR,o,r))}}function f(e){if("size"in e)return 1e6*e.size;var t=/Android/.test(window.navigator.userAgent);return t?5e6:1}var l=e("../../utils"),d=e("../../deps/errors"),h=e("./websql-constants"),p=h.BY_SEQ_STORE,v=h.ATTACH_STORE,g=h.ATTACH_AND_SEQ_STORE;t.exports={escapeBlob:n,unescapeBlob:r,stringifyDoc:o,unstringifyDoc:i,qMarks:s,select:a,compactRevs:u,unknownError:c,getSize:f}},{"../../deps/errors":18,"../../utils":31,"./websql-constants":9}],11:[function(e,t){"use strict";function n(e,t,n,r,o){function s(){++c===u.length&&o&&o()}function a(e,t){var o=e._attachments[t],a={encode:!0,ctx:r};n._getAttachment(o,a,function(n,r){e._attachments[t]=i.extend(i.pick(o,["digest","content_type"]),{data:r}),s()})}var u=Object.keys(e._attachments||{});if(!u.length)return o&&o();var c=0;u.forEach(function(n){t.attachments&&t.include_docs?a(e,n):(e._attachments[n].stub=!0,s())})}function r(e,t,n,r){var o=R[e];return o||(o=R[e]=k(e,t,n,r)),o}function o(e,t){function c(){i.hasLocalStorage()&&(window.localStorage["_pouch__websqldb_"+W._name]=!0),t(null,W)}function R(e,t){e.executeSql(q),e.executeSql("ALTER TABLE "+p+" ADD COLUMN deleted TINYINT(1) DEFAULT 0",[],function(){e.executeSql(O),e.executeSql("ALTER TABLE "+h+" ADD COLUMN local TINYINT(1) DEFAULT 0",[],function(){e.executeSql("CREATE INDEX IF NOT EXISTS 'doc-store-local-idx' ON "+h+" (local, id)");var n="SELECT "+h+".winningseq AS seq, "+h+".json AS metadata FROM "+p+" JOIN "+h+" ON "+p+".seq = "+h+".winningseq";e.executeSql(n,[],function(e,n){for(var r=[],o=[],s=0;s<n.rows.length;s++){var a=n.rows.item(s),u=a.seq,c=JSON.parse(a.metadata);i.isDeleted(c)&&r.push(u),i.isLocalId(c.id)&&o.push(c.id)}e.executeSql("UPDATE "+h+"SET local = 1 WHERE id IN "+y(o.length),o,function(){e.executeSql("UPDATE "+p+" SET deleted = 1 WHERE seq IN "+y(r.length),r,t)})})})})}function k(e,t){var n="CREATE TABLE IF NOT EXISTS "+g+" (id UNIQUE, rev, json)";e.executeSql(n,[],function(){var n="SELECT "+h+".id AS id, "+p+".json AS data FROM "+p+" JOIN "+h+" ON "+p+".seq = "+h+".winningseq WHERE local = 1";e.executeSql(n,[],function(e,n){function r(){if(!o.length)return t(e);var n=o.shift(),i=JSON.parse(n.data)._rev;e.executeSql("INSERT INTO "+g+" (id, rev, json) VALUES (?,?,?)",[n.id,i,n.data],function(e){e.executeSql("DELETE FROM "+h+" WHERE id=?",[n.id],function(e){e.executeSql("DELETE FROM "+p+" WHERE seq=?",[n.seq],function(){r()})})})}for(var o=[],i=0;i<n.rows.length;i++)o.push(n.rows.item(i));r()})})}function j(e,t){function n(n){function r(){if(!n.length)return t(e);var o=n.shift(),i=u(o.hex,G),s=i.lastIndexOf("::"),a=i.substring(0,s),c=i.substring(s+2),f="UPDATE "+p+" SET doc_id=?, rev=? WHERE doc_id_rev=?";e.executeSql(f,[a,c,i],function(){r()})}r()}var r="ALTER TABLE "+p+" ADD COLUMN doc_id";e.executeSql(r,[],function(e){var t="ALTER TABLE "+p+" ADD COLUMN rev";e.executeSql(t,[],function(e){e.executeSql(I,[],function(e){var t="SELECT hex(doc_id_rev) as hex FROM "+p;e.executeSql(t,[],function(e,t){for(var r=[],o=0;o<t.rows.length;o++)r.push(t.rows.item(o));n(r)})})})})}function B(e,t){function n(e){var n="SELECT COUNT(*) AS cnt FROM "+v;e.executeSql(n,[],function(e,n){function r(){var n=E(N+", "+h+".id AS id",[h,p],D,null,h+".id ");n+=" LIMIT "+s+" OFFSET "+i,i+=s,e.executeSql(n,[],function(e,n){function o(e,t){var n=i[e]=i[e]||[];-1===n.indexOf(t)&&n.push(t)}if(!n.rows.length)return t(e);for(var i={},s=0;s<n.rows.length;s++)for(var a=n.rows.item(s),u=w(a.data,a.id,a.rev),c=Object.keys(u._attachments||{}),f=0;f<c.length;f++){var l=u._attachments[c[f]];o(l.digest,a.seq)}var d=[];if(Object.keys(i).forEach(function(e){var t=i[e];t.forEach(function(t){d.push([e,t])})}),!d.length)return r();var h=0;d.forEach(function(t){var n="INSERT INTO "+_+" (digest, seq) VALUES (?,?)";e.executeSql(n,t,function(){++h===d.length&&r()})})})}var o=n.rows.item(0).cnt;if(!o)return t(e);var i=0,s=10;r()})}var r="CREATE TABLE IF NOT EXISTS "+_+" (digest, seq INTEGER)";e.executeSql(r,[],function(e){e.executeSql(C,[],function(e){e.executeSql(L,[],n)})})}function P(e,t){var n="ALTER TABLE "+v+" ADD COLUMN escaped TINYINT(1) DEFAULT 0";e.executeSql(n,[],t)}function M(e,t){var n="ALTER TABLE "+h+" ADD COLUMN max_seq INTEGER";e.executeSql(n,[],function(e){var n="UPDATE "+h+" SET max_seq=(SELECT MAX(seq) FROM "+p+" WHERE doc_id=id)";e.executeSql(n,[],function(e){var n="CREATE UNIQUE INDEX IF NOT EXISTS 'doc-max-seq-idx' ON "+h+" (max_seq)";e.executeSql(n,[],t)})})}function U(e,t){e.executeSql('SELECT HEX("a") AS hex',[],function(e,n){var r=n.rows.item(0).hex;G=2===r.length?"UTF-8":"UTF-16",t()})}function F(){for(;z.length>0;){var e=z.pop();e(null,Q)}}function J(e,t){if(0===t){var n="CREATE TABLE IF NOT EXISTS "+m+" (dbid, db_version INTEGER)",r="CREATE TABLE IF NOT EXISTS "+v+" (digest UNIQUE, escaped TINYINT(1), body BLOB)",o="CREATE TABLE IF NOT EXISTS "+_