ydn.db
Version:
Javascript database library for IndexedDB, WebDatabase (WebSQL) and WebStorage (localStorage) storage mechanisms supporting version migration, advanced query and transaction workflow.
102 lines • 142 kB
JavaScript
(function(){var k,q=this;function r(a){return void 0!==a}
function ba(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";
else if("function"==b&&"undefined"==typeof a.call)return"object";return b}function t(a){return"array"==ba(a)}function w(a){var b=ba(a);return"array"==b||"object"==b&&"number"==typeof a.length}function x(a){return"string"==typeof a}function ca(a){return"boolean"==typeof a}function z(a){return"number"==typeof a}function da(a){return"function"==ba(a)}function A(a){var b=typeof a;return"object"==b&&null!=a||"function"==b}var ea="closure_uid_"+(1E9*Math.random()>>>0),fa=0;
function ga(a,b,c){return a.call.apply(a.bind,arguments)}function ha(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}}function C(a,b,c){C=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?ga:ha;return C.apply(null,arguments)}
function ia(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=c.slice();b.push.apply(b,arguments);return a.apply(this,b)}}var ja=Date.now||function(){return+new Date};function ka(a,b){var c=a.split("."),d=q;c[0]in d||!d.execScript||d.execScript("var "+c[0]);for(var e;c.length&&(e=c.shift());)!c.length&&r(b)?d[e]=b:d[e]?d=d[e]:d=d[e]={}}
function D(a,b){function c(){}c.prototype=b.prototype;a.C=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.Kc=function(a,c,f){for(var g=Array(arguments.length-2),h=2;h<arguments.length;h++)g[h-2]=arguments[h];return b.prototype[c].apply(a,g)}};function la(a){a.prototype.then=a.prototype.then;a.prototype.$goog_Thenable=!0}function ma(a){if(!a)return!1;try{return!!a.$goog_Thenable}catch(b){return!1}};function na(a){if(Error.captureStackTrace)Error.captureStackTrace(this,na);else{var b=Error().stack;b&&(this.stack=b)}a&&(this.message=String(a))}D(na,Error);na.prototype.name="CustomError";var oa=String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")};function pa(a,b){for(var c=b.length,d=0;d<c;d++){var e=1==c?b:b.charAt(d);if(a.charAt(0)==e&&a.charAt(a.length-1)==e)return a.substring(1,a.length-1)}return a}var qa={"\x00":"\\0","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\x0B",'"':'\\"',"\\":"\\\\"},ra={"'":"\\'"};
function sa(a){a=String(a);if(a.quote)return a.quote();for(var b=['"'],c=0;c<a.length;c++){var d=a.charAt(c),e=d.charCodeAt(0),f=c+1,g;if(!(g=qa[d])){if(!(31<e&&127>e))if(d in ra)d=ra[d];else if(d in qa)d=ra[d]=qa[d];else{e=d;g=d.charCodeAt(0);if(31<g&&127>g)e=d;else{if(256>g){if(e="\\x",16>g||256<g)e+="0"}else e="\\u",4096>g&&(e+="0");e+=g.toString(16).toUpperCase()}d=ra[d]=e}g=d}b[f]=g}b.push('"');return b.join("")}function ta(a,b){return a<b?-1:a>b?1:0};var ua=Array.prototype,va=ua.indexOf?function(a,b,c){return ua.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0>c?Math.max(0,a.length+c):c;if(x(a))return x(b)&&1==b.length?a.indexOf(b,c):-1;for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1},wa=ua.forEach?function(a,b,c){ua.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=x(a)?a.split(""):a,f=0;f<d;f++)f in e&&b.call(c,e[f],f,a)},xa=ua.map?function(a,b,c){return ua.map.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=Array(d),f=
x(a)?a.split(""):a,g=0;g<d;g++)g in f&&(e[g]=b.call(c,f[g],g,a));return e},za=ua.some?function(a,b,c){return ua.some.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=x(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return!0;return!1};function Aa(a,b){var c=Ba(a,b,void 0);return 0>c?null:x(a)?a.charAt(c):a[c]}function Ba(a,b,c){for(var d=a.length,e=x(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return f;return-1}
function Ca(a){if(!t(a))for(var b=a.length-1;0<=b;b--)delete a[b];a.length=0}function Da(a,b){var c=va(a,b),d;(d=0<=c)&&ua.splice.call(a,c,1);return d}function Ea(a){var b=a.length;if(0<b){for(var c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}return[]}function Fa(a,b,c){return 2>=arguments.length?ua.slice.call(a,b):ua.slice.call(a,b,c)}function Ga(a,b){if(!w(a)||!w(b)||a.length!=b.length)return!1;for(var c=a.length,d=Ha,e=0;e<c;e++)if(!d(a[e],b[e]))return!1;return!0}function Ha(a,b){return a===b};var Ia;a:{var Ja=q.navigator;if(Ja){var Ka=Ja.userAgent;if(Ka){Ia=Ka;break a}}Ia=""}function E(a){return-1!=Ia.indexOf(a)};function La(a,b){for(var c=w(b),d=c?b:arguments,c=c?0:1;c<d.length&&(a=a[d[c]],r(a));c++);return a}var Ma="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function Na(a,b){for(var c,d,e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(var f=0;f<Ma.length;f++)c=Ma[f],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}}
function Oa(a){var b=arguments.length;if(1==b&&t(arguments[0]))return Oa.apply(null,arguments[0]);for(var c={},d=0;d<b;d++)c[arguments[d]]=!0;return c};function Pa(a){q.setTimeout(function(){throw a;},0)}var Qa;
function Ra(){var a=q.MessageChannel;"undefined"===typeof a&&"undefined"!==typeof window&&window.postMessage&&window.addEventListener&&(a=function(){var a=document.createElement("iframe");a.style.display="none";a.src="";document.documentElement.appendChild(a);var b=a.contentWindow,a=b.document;a.open();a.write("");a.close();var c="callImmediate"+Math.random(),d="file:"==b.location.protocol?"*":b.location.protocol+"//"+b.location.host,a=C(function(a){if(("*"==d||a.origin==d)&&a.data==c)this.port1.onmessage()},
this);b.addEventListener("message",a,!1);this.port1={};this.port2={postMessage:function(){b.postMessage(c,d)}}});if("undefined"!==typeof a&&!E("Trident")&&!E("MSIE")){var b=new a,c={},d=c;b.port1.onmessage=function(){if(r(c.next)){c=c.next;var a=c.Pb;c.Pb=null;a()}};return function(a){d.next={Pb:a};d=d.next;b.port2.postMessage(0)}}return"undefined"!==typeof document&&"onreadystatechange"in document.createElement("script")?function(a){var b=document.createElement("script");b.onreadystatechange=function(){b.onreadystatechange=
null;b.parentNode.removeChild(b);b=null;a();a=null};document.documentElement.appendChild(b)}:function(a){q.setTimeout(a,0)}};function Sa(a,b){Ta||Ua();Va||(Ta(),Va=!0);Wa.push(new Xa(a,b))}var Ta;function Ua(){if(q.Promise&&q.Promise.resolve){var a=q.Promise.resolve();Ta=function(){a.then(Ya)}}else Ta=function(){var a=Ya;!da(q.setImmediate)||q.Window&&q.Window.prototype.setImmediate==q.setImmediate?(Qa||(Qa=Ra()),Qa(a)):q.setImmediate(a)}}var Va=!1,Wa=[];function Ya(){for(;Wa.length;){var a=Wa;Wa=[];for(var b=0;b<a.length;b++){var c=a[b];try{c.a.call(c.b)}catch(d){Pa(d)}}}Va=!1}function Xa(a,b){this.a=a;this.b=b};function Za(a,b){this.b=$a;this.h=void 0;this.a=this.c=null;this.f=this.g=!1;try{var c=this;a.call(b,function(a){ab(c,bb,a)},function(a){ab(c,cb,a)})}catch(d){ab(this,cb,d)}}var $a=0,bb=2,cb=3;Za.prototype.then=function(a,b,c){return db(this,da(a)?a:null,da(b)?b:null,c)};la(Za);function eb(a){a.b==$a&&Sa(function(){var a=new fb(void 0);gb(this,a)},a)}
function gb(a,b){if(a.b==$a)if(a.c){var c=a.c;if(c.a){for(var d=0,e=-1,f=0,g;g=c.a[f];f++)if(g=g.za)if(d++,g==a&&(e=f),0<=e&&1<d)break;0<=e&&(c.b==$a&&1==d?gb(c,b):(d=c.a.splice(e,1)[0],hb(c,d,cb,b)))}}else ab(a,cb,b)}function ib(a,b){a.a&&a.a.length||a.b!=bb&&a.b!=cb||jb(a);a.a||(a.a=[]);a.a.push(b)}
function db(a,b,c,d){var e={za:null,Yb:null,Zb:null};e.za=new Za(function(a,g){e.Yb=b?function(c){try{var e=b.call(d,c);a(e)}catch(m){g(m)}}:a;e.Zb=c?function(b){try{var e=c.call(d,b);!r(e)&&b instanceof fb?g(b):a(e)}catch(m){g(m)}}:g});e.za.c=a;ib(a,e);return e.za}Za.prototype.i=function(a){this.b=$a;ab(this,bb,a)};Za.prototype.j=function(a){this.b=$a;ab(this,cb,a)};
function ab(a,b,c){if(a.b==$a){if(a==c)b=cb,c=new TypeError("Promise cannot resolve to itself");else{if(ma(c)){a.b=1;c.then(a.i,a.j,a);return}if(A(c))try{var d=c.then;if(da(d)){kb(a,c,d);return}}catch(e){b=cb,c=e}}a.h=c;a.b=b;jb(a);b!=cb||c instanceof fb||lb(a,c)}}function kb(a,b,c){function d(b){f||(f=!0,a.j(b))}function e(b){f||(f=!0,a.i(b))}a.b=1;var f=!1;try{c.call(b,e,d)}catch(g){d(g)}}function jb(a){a.g||(a.g=!0,Sa(a.m,a))}
Za.prototype.m=function(){for(;this.a&&this.a.length;){var a=this.a;this.a=[];for(var b=0;b<a.length;b++)hb(this,a[b],this.b,this.h)}this.g=!1};function hb(a,b,c,d){if(c==bb)b.Yb(d);else{if(b.za)for(;a&&a.f;a=a.c)a.f=!1;b.Zb(d)}}function lb(a,b){a.f=!0;Sa(function(){a.f&&mb.call(null,b)})}var mb=Pa;function fb(a){na.call(this,a)}D(fb,na);fb.prototype.name="cancel";/*
Portions of this code are from MochiKit, received by
The Closure Authors under the MIT license. All other code is Copyright
2005-2009 The Closure Authors. All Rights Reserved.
*/
function F(a,b){this.j=[];this.fa=b||null;this.b=this.c=!1;this.g=void 0;this.ia=this.I=this.m=!1;this.i=0;this.f=null;this.F=0}k=F.prototype;k.Ta=function(a,b){this.m=!1;nb(this,a,b)};function nb(a,b,c){a.c=!0;a.g=c;a.b=!b;a.ub()}function ob(a){if(a.c){if(!a.ia)throw new pb;a.ia=!1}}k.callback=function(a){ob(this);nb(this,!0,a)};k.o=function(a){ob(this);nb(this,!1,a)};k.G=function(a,b){return qb(this,a,null,b)};k.Nb=function(a,b){return qb(this,null,a,b)};k.Mb=function(a,b){return qb(this,a,a,b)};
function qb(a,b,c,d){a.j.push([b,c,d]);a.c&&a.ub();return a}k.then=function(a,b,c){var d,e,f=new Za(function(a,b){d=a;e=b});qb(this,d,function(a){e(a)});return f.then(a,b,c)};la(F);F.prototype.qb=function(a){qb(this,a.callback,a.o,a);return this};function rb(a,b){b instanceof F?a.G(C(b.ha,b)):a.G(function(){return b})}F.prototype.ha=function(a){var b=new F;this.qb(b);a&&(b.f=this,this.F++);return b};function sb(a){return za(a.j,function(a){return da(a[1])})}
F.prototype.ub=function(){this.i&&this.c&&sb(this)&&(tb(this.i),this.i=0);this.f&&(this.f.F--,delete this.f);for(var a=this.g,b=!1,c=!1;this.j.length&&!this.m;){var d=this.j.shift(),e=d[0],f=d[1],d=d[2];if(e=this.b?f:e)try{var g=e.call(d||this.fa,a);r(g)&&(this.b=this.b&&(g==a||g instanceof Error),this.g=a=g);ma(a)&&(this.m=c=!0)}catch(h){a=h,this.b=!0,sb(this)||(b=!0)}}this.g=a;c&&(c=C(this.Ta,this,!0),g=C(this.Ta,this,!1),a instanceof F?(qb(a,c,g),a.I=!0):a.then(c,g));b&&(a=new ub(a),vb[a.bb]=a,
this.i=a.bb)};function wb(a){var b=new F;b.callback(a);return b}function pb(){na.call(this)}D(pb,na);pb.prototype.message="Deferred has already fired";pb.prototype.name="AlreadyCalledError";function ub(a){this.bb=q.setTimeout(C(this.b,this),0);this.a=a}ub.prototype.b=function(){delete vb[this.bb];window.console.error(this.a.stack);throw this.a;};var vb={};function tb(a){var b=vb[a];b&&(q.clearTimeout(b.bb),delete vb[a])};Oa("area base br col command embed hr img input keygen link meta param source track wbr".split(" "));var yb="StopIteration"in q?q.StopIteration:Error("StopIteration");function zb(){}zb.prototype.next=function(){throw yb;};zb.prototype.pb=function(){return this};function Ab(a){if(a instanceof zb)return a;if("function"==typeof a.pb)return a.pb(!1);if(w(a)){var b=0,c=new zb;c.next=function(){for(;;){if(b>=a.length)throw yb;if(b in a)return a[b++];b++}};return c}throw Error("Not implemented");}
function Bb(a,b){if(w(a))try{wa(a,b,void 0)}catch(c){if(c!==yb)throw c;}else{a=Ab(a);try{for(;;)b.call(void 0,a.next(),void 0,a)}catch(d){if(d!==yb)throw d;}}};function Cb(a,b){this.b={};this.a=[];this.f=this.c=0;var c=arguments.length;if(1<c){if(c%2)throw Error("Uneven number of arguments");for(var d=0;d<c;d+=2)this.set(arguments[d],arguments[d+1])}else if(a){var e;if(a instanceof Cb)e=a.ma(),d=a.Za();else{var c=[],f=0;for(e in a)c[f++]=e;e=c;c=[];f=0;for(d in a)c[f++]=a[d];d=c}for(c=0;c<e.length;c++)this.set(e[c],d[c])}}k=Cb.prototype;k.vb=function(){return this.c};
k.Za=function(){Db(this);for(var a=[],b=0;b<this.a.length;b++)a.push(this.b[this.a[b]]);return a};k.ma=function(){Db(this);return this.a.concat()};k.clear=function(){this.b={};this.f=this.c=this.a.length=0};
function Db(a){if(a.c!=a.a.length){for(var b=0,c=0;b<a.a.length;){var d=a.a[b];Object.prototype.hasOwnProperty.call(a.b,d)&&(a.a[c++]=d);b++}a.a.length=c}if(a.c!=a.a.length){for(var e={},c=b=0;b<a.a.length;)d=a.a[b],Object.prototype.hasOwnProperty.call(e,d)||(a.a[c++]=d,e[d]=1),b++;a.a.length=c}}k.get=function(a,b){return Object.prototype.hasOwnProperty.call(this.b,a)?this.b[a]:b};k.set=function(a,b){Object.prototype.hasOwnProperty.call(this.b,a)||(this.c++,this.a.push(a),this.f++);this.b[a]=b};
k.forEach=function(a,b){for(var c=this.ma(),d=0;d<c.length;d++){var e=c[d],f=this.get(e);a.call(b,f,e,this)}};k.clone=function(){return new Cb(this)};k.pb=function(a){Db(this);var b=0,c=this.a,d=this.b,e=this.f,f=this,g=new zb;g.next=function(){for(;;){if(e!=f.f)throw Error("The map has changed since the iterator was created");if(b>=c.length)throw yb;var g=c[b++];return a?g:d[g]}};return g};var Eb=E("Opera")||E("OPR"),Fb=E("Trident")||E("MSIE"),Gb=E("Gecko")&&-1==Ia.toLowerCase().indexOf("webkit")&&!(E("Trident")||E("MSIE")),Hb=-1!=Ia.toLowerCase().indexOf("webkit");Hb&&E("Mobile");E("Macintosh");E("Windows");E("Linux")||E("CrOS");var Ib=q.navigator||null;Ib&&(Ib.appVersion||"").indexOf("X11");E("Android");!E("iPhone")||E("iPod")||E("iPad");E("iPad");function Jb(){var a=q.document;return a?a.documentMode:void 0}
var Kb=function(){var a="",b;if(Eb&&q.opera)return a=q.opera.version,da(a)?a():a;Gb?b=/rv\:([^\);]+)(\)|;)/:Fb?b=/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/:Hb&&(b=/WebKit\/(\S+)/);b&&(a=(a=b.exec(Ia))?a[1]:"");return Fb&&(b=Jb(),b>parseFloat(a))?String(b):a}(),Lb={};
function Mb(a){var b;if(!(b=Lb[a])){b=0;for(var c=oa(String(Kb)).split("."),d=oa(String(a)).split("."),e=Math.max(c.length,d.length),f=0;0==b&&f<e;f++){var g=c[f]||"",h=d[f]||"",l=RegExp("(\\d*)(\\D*)","g"),m=RegExp("(\\d*)(\\D*)","g");do{var p=l.exec(g)||["","",""],n=m.exec(h)||["","",""];if(0==p[0].length&&0==n[0].length)break;b=ta(0==p[1].length?0:parseInt(p[1],10),0==n[1].length?0:parseInt(n[1],10))||ta(0==p[2].length,0==n[2].length)||ta(p[2],n[2])}while(0==b)}b=Lb[a]=0<=b}return b}
var Nb=q.document,Ob=Nb&&Fb?Jb()||("CSS1Compat"==Nb.compatMode?parseInt(Kb,10):5):void 0;function Pb(){}function Qb(){};function Ub(){}function Vb(){};function G(a){na.call(this,a);this.name="ydn.error.ArgumentException"}D(G,na);function Wb(a){na.call(this,a);this.name="ydn.error.NotSupportedException"}D(Wb,na);function Xb(a){na.call(this,a);this.name="ydn.error.NotImplementedException"}D(Xb,na);function Yb(a){na.call(this,a);this.name="ydn.error.InvalidOperationException"}D(Yb,na);
function Zb(a){Error.captureStackTrace?Error.captureStackTrace(this,Zb):this.stack=Error().stack||"";a&&(this.message=String(a));this.name="ydn.error.InternalError"}D(Zb,Error);Zb.prototype.name="ydn.error.InternalError";function $b(a,b){F.call(this,0,b);this.h=[]}D($b,F);k=$b.prototype;k.Ob=function(a,b){this.h.push([a,b]);return this};function ac(a,b){for(var c=0;c<a.h.length;c++)a.h[c][0].call(a.h[c][1],b)}k.callback=function(a){this.h.length=0;$b.C.callback.call(this,a)};k.o=function(a){this.h.length=0;$b.C.o.call(this,a)};k.qb=function(a){$b.C.qb.call(this,a);a instanceof $b&&a.Ob(function(a){ac(this,a)},this);return this};k.uc=function(){return this};F.prototype.done=F.prototype.G;F.prototype.fail=F.prototype.Nb;F.prototype.always=F.prototype.Mb;$b.prototype.then=$b.prototype.then;function H(a,b,c,d){a>b&&(b=a=void 0);null===a&&(a=void 0);null===b&&(b=void 0);this.lower=a;this.upper=b;this.lowerOpen=!!c;this.upperOpen=!!d}H.prototype.lower=void 0;H.prototype.upper=void 0;H.prototype.toJSON=function(){var a;a=this||{};return{lower:a.lower,upper:a.upper,lowerOpen:a.lowerOpen,upperOpen:a.upperOpen}};function bc(a){return cc(a)}function dc(a){return new H(a,a,!1,!1)}function ec(a,b,c,d){return new H(a,b,c,d)}function fc(a,b){return new H(void 0,a,void 0,!!b)}
function gc(a,b){return new H(a,void 0,!!b,void 0)}function hc(a){var b;if(t(a))b=Ea(a),b.push("\uffff");else if(x(a))b=a+"\uffff";else if(z(a))b=a+2.220460492503131E-16,a-=2.220460492503131E-16;else return dc(a);return ec(a,b,!1,!0)}function cc(a){return null!=a?null!=a.upper&&null!=a.lower?ic.bound(a.lower,a.upper,!!a.lowerOpen,!!a.upperOpen):null!=a.upper?ic.upperBound(a.upper,a.upperOpen):null!=a.lower?ic.lowerBound(a.lower,a.lowerOpen):null:null}
H.prototype.ja=function(a){var b=this.lower,c=this.upper,d=this.lowerOpen,e=this.upperOpen;null!=a.lower&&(null==this.lower||a.lower>=this.lower)&&(b=a.lower,d=a.lowerOpen||this.lowerOpen);null!=a.upper&&(null==this.upper||a.upper<=this.upper)&&(c=a.upper,e=a.upperOpen||this.upperOpen);return ec(b,c,d,e)};
function jc(a,b,c,d,e){if(c)if(c.lowerOpen||c.upperOpen||null==c.lower||null==c.upper||0!==I(c.lower,c.upper)){if(null!=c.lower){var f=c.lowerOpen?" > ":" >= ";d.push(a+f+"?");e.push(kc(c.lower,b))}null!=c.upper&&(f=c.upperOpen?" < ":" <= ",d.push(a+f+"?"),e.push(kc(c.upper,b)))}else d.push(a+" = ?"),e.push(kc(c.lower,b))}
function lc(a,b,c,d){var e,f,g,h;if("starts"==a||"^"==a)return hc(b);if("<"==a||"<="==a)e=b,g="<"==a;else if(">"==a||">="==a)f=b,h=">"==a;else if("="==a||"=="==a)e=f=b;else throw new G("invalid op: "+a);if("<"==c||"<="==c)e=d,g="<"==c;else if(">"==c||">="==c)f=d,h=">"==c;else if(r(c))throw new G("invalid op2: "+c);return ec(f,e,h,g)}var ic=q.IDBKeyRange||q.webkitIDBKeyRange||H;function mc(a,b){var c,d;2==arguments.length&&x(arguments[1])?(c=!0,d=arguments[1].split(".")):d=(c=w(b))?b:arguments;for(c=c?0:1;c<d.length&&(a=a[d[c]],r(a));c++);return a}function nc(a,b,c){if(a)if(-1==b.indexOf("."))a[b]=c;else{b=b.split(".");for(var d=b.pop(),e;e=b.shift();)A(a[e])||(a[e]={}),a=a[e];a[d]=c}}var oc={};
function pc(a){var b=[a];a=new qc;for(var c=0,d,e;void 0!==(e=b.pop());){0===c%4&&12<c+4&&(a.write(c),c=0);d=typeof e;if(e instanceof Array)if(c+=4,0<e.length){b.push(oc);for(d=e.length;d--;)b.push(e[d]);continue}else a.write(c);else if("number"===d)c+=1,a.write(c),rc(a,e);else if(e instanceof Date)c+=2,a.write(c),rc(a,e.valueOf());else if("string"===d){c+=3;a.write(c);c=a;for(d=0;d<e.length;d++){var f=e.charCodeAt(d);126>=f?c.write(f+1):16510>=f?(f-=127,c.write(128|f>>8,f&255)):c.write(192|f>>10,
f>>2|255,(f|3)<<6)}c.write(0)}else if(e===oc)a.write(0);else return"";c=0}for(b=a.a.length;"00"===a.a[--b];);a.a.length=++b;return a.toString()}function sc(a){for(var b=[],c=b,d=[],e,f,g=new tc(a);null!=uc(g);)if(0===g.a)c=d.pop();else{if(null===g.a)break;do{e=g.a/4|0;a=g.a%4;for(var h=0;h<e;h++)f=[],c.push(f),d.push(c),c=f;if(0===a&&12<g.a+4)uc(g);else break}while(1);1===a?c.push(vc(g)):2===a?c.push(new Date(vc(g))):3===a?c.push(wc(g)):0===a&&(c=d.pop())}return b[0]}
function rc(a,b){var c,d,e;c=b;var f=e=d=0;if(0!==c)if(isFinite(c)){0>c&&(d=1,c=-c);f=0;if(2.2250738585072014E-308<=c){for(e=c;1>e;)f--,e*=2;for(;2<=e;)f++,e/=2;e=f+1023}f=e?Math.floor(4503599627370496*(c/Math.pow(2,f)-1)):Math.floor(c/4.9E-324)}else e=2047,isNaN(c)?f=0x8000000000000:-Infinity===c&&(d=1);c=d;d=e;e=f;c&&(e=0xfffffffffffff-e,d=2047-d);a.write((c?0:128)|d>>4);a.write((d&15)<<4|0|e/281474976710656);e%=281474976710656;c=0|e/4294967296;a.write(c>>8,c&255);e%=4294967296;c=0|e/65536;a.write(c>>
8,c&255);c=e%65536;a.write(c>>8,c&255)}function vc(a){var b=uc(a)|0,c=b>>7?!1:!0,d=c?-1:1,e=(b&127)<<4,b=uc(a)|0,e=e+(b>>4);c&&(e=2047-e);for(var b=[c?15-(b&15):b&15],f=6;f--;)b.push(c?255-(uc(a)|0):uc(a)|0);a=0;for(f=7;f--;)a=a/256+b[f];a/=16;return 0===a&&0===e?0:(a+1)*Math.pow(2,e-1023)*d}
function wc(a){for(var b=[],c=0,d=0,e=0,f,g;;){f=uc(a);if(0===f||null==f)break;0===c?(g=f>>6,2>g&&!isNaN(f)?b.push(String.fromCharCode(f-1)):(c=g,d=f<<10,e++)):2===c?(b.push(String.fromCharCode(d+f+127)),c=d=e=0):2===e?(d+=f<<2,e++):(b.push(String.fromCharCode(d|f>>6)),c=d=e=0)}return b.join("")}function tc(a){this.a=null;this.b=a;this.c=this.b.length-1;this.index=-1}function uc(a){return a.a=a.index<a.c?parseInt(a.b.charAt(++a.index)+a.b.charAt(++a.index),16):null}
function qc(){this.a=[];this.b=void 0}qc.prototype.write=function(a){for(var b=0;b<arguments.length;b++)this.b=arguments[b].toString(16),this.a.push(2===this.b.length?this.b:this.b="0"+this.b)};qc.prototype.toString=function(){return this.a.length?this.a.join(""):""};function xc(a,b){var c=pc(a),d=pc(b);return c>d?1:c==d?0:-1};function yc(a,b,c,d,e){if(!(b instanceof H))if(x(b)&&r(c))b=lc(b,c,d,e);else if(null!=b){if(!(b instanceof H))if(A(b))b=new H(b.lower,b.upper,b.lowerOpen,b.upperOpen);else throw new G("Invalid key range: "+b+" of type "+typeof b);}else b=null;this.a=b;this.la=a}yc.prototype.la="";yc.prototype.ja=function(a){if(this.la!=a.la)return null;a=null!=this.a&&null!=a.a?this.a.ja(a.a):this.a||a.a;return new yc(this.la,a)};var zc={READ_ONLY:"readonly",READ_WRITE:"readwrite",VERSION_CHANGE:"versionchange"},Ac=zc.READ_ONLY,K=zc.READ_WRITE,Bc=zc.VERSION_CHANGE,Cc=q.indexedDB||q.mozIndexedDB||q.webkitIndexedDB||q.moz_indexedDB||q.msIndexedDB;function Dc(){0!=Ec&&(Fc[this[ea]||(this[ea]=++fa)]=this);this.ha=this.ha;this.ia=this.ia}var Ec=0,Fc={};Dc.prototype.ha=!1;Dc.prototype.Rb=function(){if(!this.ha&&(this.ha=!0,this.da(),0!=Ec)){var a=this[ea]||(this[ea]=++fa);delete Fc[a]}};Dc.prototype.da=function(){if(this.ia)for(;this.ia.length;)this.ia.shift()()};function Gc(a,b,c,d){Dc.call(this);this.b=c;this.s=c.getName();this.Z=void 0;this.h=!1;this.A=null;this.g=a;this.ra=0;this.u=this.m=!1;this.F=d||4;this.j=this.c=this.a=void 0;this.I=function(){throw new Zb;};this.fa=function(){throw new Zb;};this.Lb=function(){}}D(Gc,Dc);k=Gc.prototype;
k.Kb=function(a,b,c,d,e){r(b)&&(a=this.b,this.Z=(t(b)?Hc(a,b):Ic(a,b)).getName());this.h=x(this.Z);this.A=c||null;this.ra=0;this.u=this.m=!1;this.reverse="prev"==d||"prevunique"==d;this.unique="nextunique"==d||"prevunique"==d;this.W=d;this.Da=e;this.j=this.c=this.a=void 0};k.W="";k.A=null;k.unique=!1;k.reverse=!1;k.Da=!0;k.logger=null;function Jc(a,b){a.fa(b);Kc(a);a.m=!0}k.U=function(a,b,c){null==a&&(this.m=!0);this.a=a;this.c=b;this.j=c;this.ra++;this.m?(this.I(),Kc(this)):this.I(this.a)};
k.da=function(){this.g=null};function Kc(a){null!=a.c?a.c=Lc(a.c):a.c=void 0;null!=a.a?a.a=Lc(a.a):a.a=void 0;a.Lb(a.u,a.a,a.c)}k.open=function(a,b,c,d){this.g=a;this.m=this.u=!1;this.a=c;this.c=d;this.openCursor(this.a,this.c)};function Mc(a){a.u=!0;Kc(a)}k.vb=function(){return this.ra};k.Hc=function(){return this.a};k.R=function(){return this.h?this.c:this.a};k.xa=function(){return this.Da?this.R():this.j};k.Oa=function(){};k.pa=function(){};function Nc(){};function L(a,b,c,d,e,f,g){this.a=a;this.f=b;this.h=g;this.u=!!this.f;this.c=r(f)?f:!!x(this.f);a="next";d&&e?a="prevunique":d?a="prev":e&&(a="nextunique");this.m=a;this.b=cc(c);this.g=Oc;this.w=NaN}D(L,Nc);L.prototype.c=!0;function Pc(a,b,c){if(3<arguments.length)throw new G("too many argument");L.call(this,a,void 0,b,c,void 0,!0)}D(Pc,L);function Qc(a,b,c,d,e){if(!x(b))throw new G("index name must be string");L.call(this,a,b,c,d,e,!0)}D(Qc,L);
function Rc(a,b,c){if(3<arguments.length)throw new G("too many argument");L.call(this,a,void 0,b,c,void 0,!1)}D(Rc,L);function Sc(a,b,c,d,e){if(!x(b))throw new G("index name must be string");L.call(this,a,b,c,d,e,!1)}D(Sc,L);var Oc="init";k=L.prototype;k.logger=null;k.yc=function(){return this.a};k.vc=function(){return this.f};k.bc=function(){return this.b?this.b instanceof ic?this.b:ic.bound(this.b.lower,this.b.upper,this.b.lowerOpen,this.b.upperOpen):null};k.zc=function(){return this.c};k.lc=function(){return this.u};
k.clone=function(){var a=new L(this.a,this.f,this.b,this.ga(),this.wa(),this.c,this.h);a.w=this.w;return a};k.unique=function(a){return new L(this.a,this.f,this.b,this.ga(),a,this.c,this.h)};k.cc=function(a,b){var c=new L(this.a,this.f,this.b,this.ga(),this.wa(),this.c,this.h);c.i=a;c.j=b;c.g="rest";return c};k.reverse=function(){return new L(this.a,this.f,this.b,!this.ga(),this.wa(),this.c,this.h)};k.ga=function(){return"prev"===this.m||"prevunique"===this.m};
k.wa=function(){return"nextunique"===this.m||"prevunique"===this.m};k.kc=function(){return this.g};k.load=function(a){a=a[0];a.Kb(this.a,this.h||this.f,this.b,this.m,this.c);this.g="busy";var b=this;a.Lb=function(a,d,e){b.i=d;b.j=e;b.g=a?"rest":"done"};a.openCursor(this.i,this.j);return a};k.wc=function(){return this.i};k.xc=function(){return this.j};k.Eb=function(a,b,c){a=a||Oc;"busy"!=this.g&&(this.i=b,this.j=c,this.g=a)};k.stores=function(){return[this.a]};function Tc(a,b,c){$b.call(this,0,c);this.w=a;this.h=[];this.u=[];this.ra=[];this.a=null;this.va="";this.L=0}D(Tc,$b);k=Tc.prototype;k.va="";k.logger=null;function Uc(a,b,c){a.a=b;a.va=c;if(b){for(c=0;c<a.u.length;c++)a.u[c][0].call(a.u[c][1],b);a.u.length=0}}function Vc(a){var b=new Tc(a.w);a.L++;Uc(b,a.a,a.va+"C"+a.L);return b}k.gc=function(){return!!this.a};
k.abort=function(){if(this.a)if(da(this.a.abort))this.a.abort();else if(da(this.a.executeSql))this.a.executeSql("ABORT",[],function(){},function(){return!0});else throw new Wb;else throw new Wc("");};function M(a,b,c){var d=a.ra.shift();c=!!c;d?d[0].call(d[1],b,c,function(b,c){M(a,b,c)}):c?a.o(b):a.callback(b)}function Xc(a,b,c){a.ra.push([b,c])}function N(a,b,c){a.a?b.call(c,a.a):a.u.push([b,c])}k.callback=function(a){Tc.C.callback.call(this,a)};k.o=function(a){Tc.C.o.call(this,a)};
k.state=function(){return this.c?this.b?"rejected":"resolved":"pending"};function Yc(a){var b="";a.va&&(b=a.a?"*":"",b="["+a.va+b+"]");return a.w+b}function Zc(a,b){var c=new Tc(a);M(c,b);return c}k.toString=function(){return"Request:"+Yc(this)};
k.ub=function(){this.i&&this.c&&sb(this)&&(tb(this.i),this.i=0);this.f&&(this.f.F--,delete this.f);for(var a=this.g,b=!1;this.j.length&&!this.m;){var c=this.j.shift(),d=c[0],e=c[1],c=c[2];if(d=this.b?e:d)d=d.call(c||this.fa,a),r(d)&&(this.b=this.b&&(d==a||d instanceof Error),this.g=a=d),ma(a)&&(this.m=b=!0)}this.g=a;b&&(b=C(this.Ta,this,!0),d=C(this.Ta,this,!1),a instanceof F?(qb(a,b,d),a.I=!0):a.then(b,d))};
k.toJSON=function(){var a=(this.va||"").match(/B(\d+)T(\d+)(?:Q(\d+?))?(?:R(\d+))?/)||[];return{method:this.w?this.w.split(":"):[],branchNo:parseFloat(a[1]),transactionNo:parseFloat(a[2]),queueNo:parseFloat(a[3]),requestNo:parseFloat(a[4])}};var I=Cc&&Cc.cmp?C(Cc.cmp,Cc):xc,$c=[];function ad(a,b,c,d){if("transaction"in a)this.i=a,this.f=this.h=null;else if("objectStore"in a)this.i=null,this.h=a.db,this.f=a;else throw new bd("storage instance require.");this.j=b;this.m=c;this.u=d;this.b=[];this.a=0;this.c=!1}ad.prototype.logger=null;ad.prototype.c=!1;
function cd(a,b){a.a++;b.onsuccess=function(b){if(b=b.target.result){if(da(a.u)){var d=b.value;a.u(b.primaryKey,null!=a.m?d[a.m]:d)}if(b&&0<a.b.length)b["continue"](a.b.shift());else a.a--,0==a.a&&a.ca&&a.ca()}};b.onerror=function(){a.a--;0==a.a&&a.ca&&a.ca()}}function dd(a,b){0==a.b.length&&0==a.a?b():a.ca=b}
function ed(a){if(!a.c){var b=function(){a.f=null},c=function(b){var c=a.b.shift();b=b.objectStore(a.j);cd(a,b.openCursor(c))};if(a.f)c(a.f);else if(a.h)a.g=a.h.transaction([a.j],Ac),a.g.oncomplete=function(){b()},a.g.onerror=function(){b()},a.g.onabort=function(){b()};else if(a.i)a.c=!0,a.i.transaction(function(b){a.c=!1;c(b)},[a.j],Ac,b);else throw new fd("");}};function gd(a,b,c){a&&a instanceof O?this.Ka=a:a&&a.db&&(this.Ka=null,hd(this,a));if(!x(b))throw new G("a store name required.");this.c=b;if(r(c)&&!x(c))throw new G("projection index name must be a string.");this.kb=c;this.oa=null;this.b=[];this.a=[];this.Ca=!1}k=gd.prototype;k.logger=null;k.Ka=null;k.Gb=null;k.oa=null;k.sc=function(a){this.Gb=a};function hd(a,b){if(b.db)a.oa=new ad(b,a.c,a.kb,C(a.ca,a));else throw new G("Invalid IndexedDB Transaction.");}
function id(a){var b=0<a.a.length;if(b&&!a.Ca&&da(a.Gb)){var c=function(){id(a)},d=a.b.shift(),e=a.a.shift(),b=0<a.a.length,c=a.Gb(d,e,b?c:null);b&&!c&&id(a)}}k.Ca=!1;k.Ec=function(a){if(this.oa){this.Ca=!0;var b=this;dd(this.oa,function(){a(b.b,b.a);b.b=[];b.a=[];b.Ca=!1})}else a(this.b,this.a),this.b=[],this.a=[]};k.ca=function(a,b){this.b.push(a);this.a.push(b);id(this)};
k.push=function(a,b){if(this.Ca)throw new jd("");if(2<=arguments.length)this.ca(a,b);else{if(!this.oa){if(!this.Ka)throw new jd("Database connection is not setup.");var c=this.Ka.Na();if(c)if("indexeddb"===c)this.oa=new ad(this.Ka,this.c,this.kb,C(this.ca,this));else throw new kd(c);else throw new jd("Database is not connected.");}c=this.oa;c.b.push(a);ed(c)}};function ld(a,b){this.a=a||null;this.i=b;this.g=0;this.b=!1;this.f=a instanceof gd&&!!a.kb}ld.prototype.logger=null;ld.prototype.h=function(a,b){var c;this.b=b[0].ga();this.a instanceof gd&&hd(this.a,a);if(this.f&&(c=b[0].h)&&1<c.length&&c[c.length-1]!=this.a.kb)throw new jd("Output streamer projection field must be same as postfix field in the iterator");for(c=0;c<b.length;c++);return!1};
function md(a,b,c){var d,e=null!=d;if(!r(d)){d=c[0];for(var e=null!=d,f=1;e&&f<c.length;f++)null!=c[f]&&0==I(c[f],d)||(e=!1)}return e&&(a.g++,a.a&&(a.f?a.a.push(d,void 0):a.a.push(d)),r(a.i)&&a.g>=a.i)?[]:b}ld.prototype.c=function(){return[]};function nd(a){Error.captureStackTrace?Error.captureStackTrace(this,nd):this.stack=Error().stack||"";a&&(this.message=String(a));this.name="ConstraintError"}D(nd,Error);nd.prototype.name="ConstraintError";function od(a){Error.captureStackTrace?Error.captureStackTrace(this,od):this.stack=Error().stack||"";a&&(this.message=String(a));this.name="ydn.db.VersionError"}D(od,Error);od.prototype.name="ydn.db.VersionError";
function pd(a){Error.captureStackTrace?Error.captureStackTrace(this,pd):this.stack=Error().stack||"";a&&(this.message=String(a))}D(pd,Error);pd.prototype.name="ydn.db.InternalError";function Wc(a){Error.captureStackTrace?Error.captureStackTrace(this,Wc):this.stack=Error().stack||"";a&&(this.message=String(a));this.name="InvalidStateError"}D(Wc,Error);
function qd(a){Error.captureStackTrace?Error.captureStackTrace(this,qd):this.stack=Error().stack||"";a&&(this.message=String(a));this.name="InvalidAccessError"}D(qd,Error);function rd(a){Error.captureStackTrace?Error.captureStackTrace(this,rd):this.stack=Error().stack||"";a&&(this.message=String(a));this.name="NotFoundError"}D(rd,Error);rd.prototype.name="NotFoundError";
function sd(a,b){Error.captureStackTrace?Error.captureStackTrace(this,sd):this.stack=Error().stack||"";b&&(this.message=String(b));this.message+=" :"+a.message+" ["+a.code+"]";this.name="SQLError"}D(sd,Error);function td(a,b){Error.captureStackTrace?Error.captureStackTrace(this,td):this.stack=Error().stack||"";b&&(this.message=String(b));this.message+=" :"+a.message;this.name="SecurityError"}D(td,Error);
function ud(a){Error.captureStackTrace?Error.captureStackTrace(this,ud):this.stack=Error().stack||"";a&&(this.message=String(a));this.name="ydn.db.SqlParseError"}D(ud,Error);function vd(a){Error.captureStackTrace?Error.captureStackTrace(this,vd):this.stack=Error().stack||"";a&&(this.message=String(a));this.name="ydn.db.TimeoutError"}D(vd,Error);function wd(a,b,c){var d;if(A(a))d=a.store,b=a.id,null!=a.parent&&(c=new wd(a.parent));else if(r(b))d=a;else if(d=a.lastIndexOf("^|"),b=a,0<d&&(b=a.substr(d),c=new wd(a.substring(0,d))),b=b.split("^:"),d=b[0],b=b[1],!r(b))throw Error("Invalid key value: "+a);this.s=d;this.id=b;this.parent=c||null}k=wd.prototype;k.toJSON=function(){var a={store:this.s,id:this.id};this.parent&&(a.parent=this.parent.toJSON());return a};
k.valueOf=function(){return(this.parent?this.parent.valueOf()+"^|":"")+this.s+"^:"+this.id};k.toString=function(){return this.valueOf().replace("^|","|").replace("^:",":")};k.Bc=function(){return this.s};k.hc=function(){return this.id};function xd(a){return t(a.id)?a.id.join("^|"):a.id instanceof Date?+a.id:a.id}k.Ac=function(){return this.parent};function Lc(a){if(w(a)){for(var b=[],c=0,d=a.length;c<d;c++)b[c]=a[c];return b}return a};function yd(a,b){this.a=b}yd.prototype.logger=null;function zd(a){this.f=a;this.a=null;this.b=0}zd.prototype.logger=null;zd.prototype.O=null;function Ad(a){return!!a.a&&!a.c}zd.prototype.K=null;function Bd(a,b,c,d,e,f){this.I=a;this.L=b;this.a=this.f=0;this.F=d;this.w=e;this.h=c||Cd;this.j=f||0}Bd.prototype.logger=null;Bd.prototype.type=function(){return this.I.Na()};Bd.prototype.l=function(){return this.I};Bd.prototype.ba=function(){return"B"+this.L+"T"+this.f};var Cd="single";function Dd(a){if(a)if(da(a.abort))a.abort();else if(da(a.executeSql))a.executeSql("ABORT",[],null,function(){return!0});else throw new Wb;else throw new Wc("No active transaction");};function Ed(a,b,c,d,e,f){Bd.call(this,a,b,c,d,e,f);this.c=[];this.g=[];this.i=null;this.b=new zd(b);this.m=f||0;this.u=!1}D(Ed,Bd);k=Ed.prototype;k.logger=null;
function Fd(a,b,c){if("multi"==a.h)a:if(a=a.b,!a.O||!a.mode||c!=a.mode&&(a.mode!=K||c!=Ac)||b.length>a.O.length)b=!1;else{for(c=0;c<b.length;c++)if(-1==a.O.indexOf(b[c])){b=!1;break a}b=!0}else if("repeat"==a.h)a:if(a=a.b,a.O&&a.mode&&c==a.mode&&a.O.length==b.length){for(c=0;c<b.length;c++)if(-1==a.O.indexOf(b[c])){b=!1;break a}b=!0}else b=!1;else b="all"==a.h?!0:!1;return b}function Gd(a){var b=0<a.c.length?a.c[0].O:null,c=0<a.c.length?a.c[0].mode:null;return null!=b&&null!=c?Fd(a,b,c):!1}
k.abort=function(){Dd(this.i)};
k.na=function(a,b,c,d){var e=x(b)?[b]:b,f=r(c)?c:Ac,g=this;if(this.b.a||!Hd(this.l())&&this.u)this.c.push({Xa:a,O:b,mode:f,K:d});else{d&&this.g.push(d);if(this.m&&this.f>=this.m)throw new Yb("Exceed maximum number of transactions of "+this.m);this.u=!0;this.l().transaction(function(c){var d=g.b;d.a=c;d.c=!1;d.O=b;d.mode=f;d.b++;d.K=null;P(b);a(g);for(a=null;Gd(g);)c=g.c.shift(),c.K&&g.g.push(c.K),c.Xa()},e,f,function(a,b){var c=g.b;c.a&&(c.a=null,c.O=null,c.mode=null,da(c.K)&&c.K(a,b),c.K=null);for(c=
0;c<g.g.length;c++)(0,g.g[c])(a,b);g.g.length=0;(c=g.c.shift())&&g.na(c.Xa,c.O,c.mode,c.K);g.a=0})}};k.ba=function(){var a=this.b;return"B"+a.f+"T"+a.b};k.request=function(a,b,c,d){function e(a,b){f.a=null;d&&d(a,b)}var f=new Tc(a);a=c||Ac;var g=this;Ad(this.b)&&Fd(this,b,a)?(b=this.b.a,this.a++,Uc(f,b,this.ba()+"R"+this.a),this.g.push(e)):g.na(function(){var a=g.b.a;g.a++;Uc(f,a,g.ba()+"R"+g.a)},b,a,e);return f};
k.ya=function(a,b,c,d,e){d=d||Ac;var f=this,g;if(Ad(f.b)&&Fd(this,c,d)){var h=f.b.a;f.a++;g=f.ba()+"R"+f.a;b(h,g,function(b,c){f.i=h;c?a.o(b):a.callback(b);f.i=null});b=null}else f.na(function(){var c=f.b.a;f.a++;g=f.ba()+"R"+f.a;b(c,g,function(b,d){f.i=c;d?a.o(b):a.callback(b);f.i=null});b=null},c,d,e)};k.getName=function(){return this.l().getName()};function Id(a,b){Ed.call(this,a,b)}D(Id,Ed);Id.prototype.logger=null;Id.prototype.request=function(a,b,c){var d,e,f,g=Id.C.request.call(this,a,b,c,function(a,b){g.a=null;if(d)"complete"!=a&&(f=!0,e=b),d(e,f);else{var c=new vd;M(g,c,!0)}});Xc(g,function(a,b,c){f=b;e=a;d=c});return g};
Id.prototype.ya=function(a,b,c,d,e){var f,g,h=new F;qb(h,function(a){g=!1;f=a},function(a){g=!0;f=a});Id.C.ya.call(this,h,b,c,d,function(b,c){if("complete"!=b)a.o(c);else if(!0===g)a.o(f);else if(!1===g)a.callback(f);else{var d=new vd;a.o(d)}e&&(e(b,c),e=void 0)})};function Jd(a,b,c){this.f=a;this.b=b;this.a=c;this.c=null}Jd.prototype.logger=null;Jd.prototype.g=function(){return this.a.f};Jd.prototype.abort=function(){this.a.abort()};function S(a){a.c||(a.c=a.f.m());return a.c}Jd.prototype.l=function(){return this.f};
function Kd(a,b){var c=x(b)?b:A(b)?b.name:void 0;if(!x(c))throw new G("store name "+c+" must be a string, but "+typeof c);var d=U(a.b,c);if(!d){if(!a.b.a())throw new G('store name "'+c+'" not found.');var e=d=Ld(A(b)?b:{name:c});var f=a.l(),g=e instanceof Md?e:Ld(e),e=U(f.a,e.name);if(0==Nd(g,e).length)wb(!1);else if(f.a instanceof Od)Pd(f.a,g),f.c?(f.c.close(),f.c=null,Qd(f)):wb(!1);else throw new Rd("");}else if(a.b.a()&&A(b)&&(f=Ld(b),f=Nd(d,f)))throw new Wb(f);if(!d)throw new rd(c);return d};function V(a,b,c){Jd.call(this,a,b,c)}D(V,Jd);k=V.prototype;k.logger=null;
k.count=function(a,b,c,d){var e,f,g,h;if(null!=a)if(t(a)){if(r(c)||r(b))throw new G("too many arguments.");f=a;for(var l=0;l<f.length;l++)if(!Sd(this.b,f[l]))throw new G('store name "'+f[l]+'" at '+l+" not found.");Vb("countStores: "+P(f));e=this.a.request("d",f);N(e,function(){S(this).Ua(e,f)},this)}else if(x(a)){l=U(this.b,a);if(!l)throw new G('store name "'+a+'" not found.');f=[a];if(x(b))g=b,A(c)?h=cc(c):h=null;else if(A(b)||null==b)if(A(b))h=cc(b);else{if(null!=b)throw new G("key range must be an object but found "+
Td(b)+" of type "+typeof b);h=null}else throw new G('invalid second argument for count "'+Td(c)+'" of type '+typeof b);Vb("countKeyRange: "+a+" "+(g?g:"")+P(h));e=this.a.request("d",f);Ud(l,e,arguments);N(e,function(){S(this).Aa(e,f[0],h,g,!!d)},this)}else throw new G("Invalid store name or store names.");else l=Vd(this.b),e=this.a.request("d",l),Xc(e,function(a,b,c){if(b)c(a,!0);else{for(var d=b=0;d<a.length;d++)b+=a[d];c(b,!1)}},this),N(e,function(){S(this).Ua(e,f)},this);return e};
k.get=function(a,b){var c=this,d;if(a instanceof wd){var e=a,f=e.s,g=U(this.b,f);if(!g){if(this.b.a()){if(Hd(this.l()))return Zc("e",void 0);d=new Tc("e");this.l().eb(function(){qb(c.get(a,b),function(a){d.callback(a)},function(a){d.o(a)})});return d}throw new G("Store: "+f+" not found.");}var h=e.id;d=this.a.request("ek",[f]);Ud(g,d,arguments,void 0,this);N(d,function(){S(this).Ya(d,f,h)},this)}else if(x(a)&&r(b)){var l=a,g=U(this.b,l);if(!g){if(this.b.a()){if(Hd(this.l()))return Zc("e",void 0);
d=new Tc("e");this.l().eb(function(){qb(c.get(a,b),function(a){d.callback(a)},function(a){d.o(a)})});return d}throw new G('Store name "'+l+'" not found.');}var m=b;d=this.a.request("e",[l]);Ud(g,d,arguments,void 0,this);N(d,function(){S(this).Ya(d,l,m)},this)}else throw new G("get require valid input arguments.");return d};
k.mc=function(a,b,c,d,e){var f=U(this.b,a),g,h,l,m=null;A(b)&&(m=cc(b));if(r(c))if(z(c))g=c;else throw new G("limit must be a number, but "+c+" is "+typeof c);else g=100;if(r(d))if(z(d))h=d;else throw new G("offset must be a number, but "+d+" is "+typeof d);else h=0;if(r(e))if(ca(e))l=e;else throw new G("reverse must be a boolean, but "+e+" is "+typeof e);var p=this.a.request("g",[a]);Ud(f,p,arguments);N(p,function(){S(this).X(p,2,a,null,m,g,h,l,!1)},this);return p};
k.Ea=function(a,b,c,d,e,f,g){var h,l,m,p,n,u=U(this.b,a);h=cc(c);if(z(d))l=d;else{if(r(d))throw new G("limit must be a number");l=100}if(z(e))m=e;else{if(r(e))throw new G("offset must be a number");m=0}if(r(f))if(ca(f))p=f;else throw new G("reverse must be a boolean");if(r(g))if(ca(g))n=g;else throw new G("unique must be a boolean");var v=this.a.request("i",[a]);Ud(u,v,arguments);N(v,function(){S(this).X(v,2,a,b,h,l,m,p,n)},this);return v};
k.keys=function(a,b,c,d,e,f,g){var h=U(this.b,a);return this.b.a()&&!h?Zc("g",[]):x(b)?this.Ea(a,b,c,d,e,f,g):this.mc(a,b,c,d,e)};
k.values=function(a,b,c,d,e,f,g){var h=this,l;if(x(a)){var m=a,p=U(this.b,m);if(!p){if(this.b.a()){if(Hd(this.l()))return Zc("s",[]);l=new Tc("s");this.l().eb(function(){qb(h.values(a,b,c,d,e,f),function(a){l.callback(a)},function(a){l.o(a)})});return l}throw new rd(m);}if(t(b)){var n=b;l=this.a.request("v",[m]);Ud(p,l,arguments,void 0,this);N(l,function(){S(this).zb(l,m,n)},this)}else l=x(b)?this.Ha(m,b,c,d,e,f,g):this.tc(m,b,c,d,e)}else if(t(a))if(a[0]instanceof wd){for(var p=[],u=a,v=0;v<u.length;v++){var y=
u[v].s;if(!Sd(this.b,y)){if(this.b.a())return p=[],p[u.length-1]=void 0,Zc("e",p);throw new G("Store: "+y+" not found.");}0<=va(p,y)||p.push(y)}Vb("listByKeys: "+P(p)+" "+u.length+" keys");l=this.a.request("w",p);N(l,function(){S(this).Ab(l,u)},this)}else throw new G("first argumentmust be array of ydn.db.Key, but "+a[0]+" of "+typeof a[0]+" found.");else throw new G("first argument "+a+" is invalid.");return l};
k.tc=function(a,b,c,d,e){var f=U(this.b,a),g,h,l,m=null;A(b)&&(m=cc(b));if(r(c))if(z(c))g=c;else throw new G("limit must be a number, but "+c+" is "+typeof c);else g=100;if(r(d))if(z(d))h=d;else throw new G("offset must be a number, but "+d+" is "+typeof d);else h=0;if(r(e))if(ca(e))l=e;else throw new G("reverse must be a boolean, but "+e+" is "+typeof e);var p=this.a.request("s",[a]);Ud(f,p,arguments);N(p,function(){S(this).X(p,4,a,null,m,g,h,l,!1)},this);return p};
k.Ha=function(a,b,c,d,e,f,g){var h=U(this.b,a),l,m,p,n,u=cc(c);if(r(d))if(z(d))l=d;else throw new G("limit must be a number.");else l=100;if(r(e))if(z(e))m=e;else throw new G("offset must be a number.");else m=0;if(ca(f))p=f;else if(r(f))throw new G("reverse must be a boolean, but "+f);if(r(g))if(ca(g))n=g;else throw new G("unique must be a boolean");var v=this.a.request("u",[a]);Ud(h,v,arguments);N(v,function(){S(this).X(v,4,a,b,u,l,m,p,n)},this);return v};
k.add=function(a,b,c){if(t(b))return this.Pa(a,b,c);var d=Kd(this,a),e=d.getName(),f;if(x(d.keyPath)&&r(c))throw new G("key must not be provided while the store uses in-line key.");if(!d.keyPath&&!d.b&&!r(c))throw new G("out-of-line key must be provided for store: "+e);if(t(b)){for(a=0;a<b.length;a++)Wd(d,b[a]);f=this.a.request("b",[e],K);N(f,function(){S(this).M(f,!1,!1,e,b,c)},this);d.Y&&f.G(function(a){a=new Xd(Yd,this.l(),e,a,b);this.l().J(a)},this)}else if(A(b))Zd(d,b,c),Wd(d,b),f=this.a.request("a",
[e],K),N(f,function(){S(this).M(f,!1,!0,e,[b],[c])},this),d.Y&&f.G(function(a){a=new $d(Yd,this.l(),d.getName(),a,b);this.l().J(a)},this);else throw new G("record must be an object or array list of objects, but "+b+" of type "+typeof b+" found.");return f};
k.Pa=function(a,b,c){var d=Kd(this,a),e=d.getName(),f;if(x(d.keyPath)&&r(c))throw new G("key must not be provided while the store uses in-line key.");if(!d.keyPath&&!d.b&&!r(c))throw new G("out-of-line key must be provided for store: "+e);if(t(b)){for(a=0;a<b.length;a++)Wd(d,b[a]);f=this.a.request("b",[e],K);N(f,function(){S(this).M(f,!1,!1,e,b,c)},this);d.Y&&f.G(function(a){a=new Xd(Yd,this.l(),d.getName(),a,b);this.l().J(a)},this)}else throw new G("record must be an array list of objects, but "+
b+" of type "+typeof b+" found.");return f};
k.put=function(a,b,c){var d,e=this;if(a instanceof wd){var f=a,g=f.s,h=U(this.b,g);if(!h)throw new G('store "'+g+'" not found.');if(h.keyPath){var l=Zd(h,b);if(null!=l){if(0!=I(l,f.id))throw new G("Inline key must be "+f+" but "+l+" found.");}else ae(h,b,f.id);return this.put(g,b)}return this.put(g,b,f.id)}if(t(a)){for(var m=a,p=b,f=[],g=0,h=m.length;g<h;g++){l=m[g].s;-1==va(f,l)&&f.push(l);var n=U(this.b,l);if(!n)throw new G('store "'+l+'" not found.');n.keyPath&&ae(n,p[g],m[g].id)}Vb("putByKeys: to "+
P(f)+" "+p.length+" objects");for(g=0;g<p.length;g++)Wd(n,p[g]);d=this.a.request("l",f,K);Ud(n,d,arguments);N(d,function(){S(e).Bb(d,p,m)},this)}else if(x(a)||A(a)){var n=Kd(this,a),u=n.getName();if(n.keyPath&&r(c))throw new G("key must not be provided while the store uses in-line key.");if(!n.keyPath&&!n.b&&!r(c))throw new G("out-of-line key must be provided for store: "+u);if(t(b)){for(var v=b,y=c,g=0;g<v.length;g++)Wd(n,v[g]);d=this.a.request("k",[u],K);Ud(n,d,arguments);N(d,function(){S(this).M(d,
!0,!1,u,v,y)},this);n.Y&&d.G(function(a){a=new Xd(be,this.l(),u,a,v);this.l().J(a)},this)}else if(A(b)){var B=b,T=c;if(r(q.Blob)&&B instanceof Blob&&n.qa&&!n.keyPath&&0==n.a.length&&Hb)d=new Tc("j"),f=new FileReader,f.onload=function(a){var b=a.target.result,c=e.a.request("j",[u],K);Ud(n,c,[u,B,T]);N(c,function(){S(e).M(c,!0,!0,u,[b],[T])},this);qb(c,function(a){d.callback(a)},function(a){d.o(a)})},f.onerror=function(a){d.o(a)},f.onabort=function(a){d.o(a)},f.readAsDataURL(B);else{Wd(n,B);d=this.a.request("j",
[u],K);var Q=[u,B,T];Ud(n,d,Q);N(d,function(){var a=r(T)?[Q[2]]:void 0;S(e).M(d,!0,!0,u,[Q[1]],a)},this)}n.Y&&d.G(function(a){a=new $d(be,this.l(),u,a,B);this.l().J(a)},this)}else throw new G("put record value must be Object or array of Objects");}else throw new G("the first argument of put must be store name, store schema or array of keys.");return d};
k.gb=function(a,b,c){var d,e=Kd(this,a),f=e.getName();if(e.keyPath&&r(c))throw new G("key must not be provided while the store uses in-line key.");if(!e.keyPath&&!e.b&&!r(c))throw new G("out-of-line key must be provided for store: "+f);for(var g=b,h=c,l=0;l<g.length;l++)Wd(e,g[l]);d=this.a.request("k",[f],K);Ud(e,d,arguments);N(d,function(){S(this).M(d,!0,!1,f,g,h)},this);e.Y&&d.G(function(a){a=new Xd(be,this.l(),f,a,g);this.l().J(a)},this);return d};
k.clear=function(a,b){var c;if(x(a)){var d=U(this.b,a);if(!d)throw new G('store name "'+a+'" not found.');if(A(b)){var e=cc(b);if(null===e)throw new G("clear method requires a valid non-null KeyRange object.");Vb("clearByKeyRange: "+a+":"+P(e));c=this.a.request("c",[a],K);Ud(d,c,[a,e]);N(c,function(){S(this).rb(c,a,e)},this)}else{if(r(b))throw new G("clear method requires a valid KeyRange object as second argument, but found "+b+" of type "+typeof b);c=this.a.request("c",[a],K);N(c,function(){S(this).Sa(c,
[a])},this)}}else if(!r(a)||t(a)&&x(a[0])){var f=a||Vd(this.b);Vb("clearByStores: "+P(f));c=this.a.request("c",f,K);N(c,function(){S(this).Sa(c,f)},this)}else throw new G('first argument "'+a+'" is invalid.');return c};
k.ob=function(a,b,c){var d;if(x(a)){var e=U(this.b,a);if(!e)throw new G('store name "'+a+'" not found.');if(r(c))if(x(b)){var f=Ic(e,b);if(!f)throw new G("index: "+b+" not found in "+a);if(A(c)||null===c){var g=cc(c);Vb("removeByIndexKeyRange: "+a+":"+f.getName()+" "+a);d=this.a.request("p",[a],K);N(d,function(){S(this).Cb(d,a,f.getName(),g)},this)}else throw new G("key range "+c+' is invalid type "'+typeof c+'".');}else throw new G('index name "'+b+'" must be a string, but '+typeof b+" found.");
else if(x(b)||z(b)||w(b)||b instanceof Date){d=this.a.request("m",[a],K);var h=[a,b];Ud(e,d,h);N(d,function(){S(this).hb(d,a,h[1])},this);e.Y&&d.G(function(c){c=1==c?b:void 0;c=new $d(ce,this.l(),a,c,void 0);this.l().J(c)},this)}else if(A(b))g=cc(b),Vb("removeByKeyRange: "+a+":"+P(g)),d=this.a.request("n",[a],K),Ud(e,d,[a,g]),N(d,function(){S(this).ib(d,a,g)},this),e.Y&&d.G(function(b){var c=[];c.length=b;b=new Xd(ce,this.l(),a,c,void 0);this.l().J(b)},this);else throw new G('Invalid key or key range "'+
b+'" of type '+typeof b);}else if(a instanceof wd){var l=a.s,e=U(this.b,l);d=this.a.request("m",[l],K);var m=[l,a.id];Ud(e,d,m);N(d,function(){S(this).hb(d,l,m[1])},this)}else if(t(a)){c=[];for(var e=0,p=a.length;e<p;e++){var n=a[e].s;-1==va(c,n)&&c.push(n)}if(1>c.length)throw new G('at least one valid key required in key list "'+Td(a)+'"');d=this.a.request("o",c,K);N(d,function(){S(this).Db(d,a)},this)}else throw new G('first argument requires store name, key (ydn.db.Key) or list of keys (array) , but "'+
Td(a)+'" ('+ba(a)+") found.");return d};function W(a,b,c){Jd.call(this,a,b,c)}D(W,V);k=W.prototype;k.logger=null;k.get=function(a,b){if(a instanceof L){var c=a.a,d=U(this.b,c);if(!d)throw new G('store "'+c+'" not found.');var e=a.f;if(r(e)&&!de(d,e))throw new G('index "'+e+'" not found in store "'+c+'".');var f=this.a.request("f",[c]);N(f,function(){ee(this,5,f,a,1)},this);return f}return W.C.get.call(this,a,b)};
k.Fa=function(a,b){var c=100;if(z(b)){if(c=b,1>c)throw new G("limit must be a positive value, but "+b);}else if(r(b))throw new G("limit must be a number, but "+b);var d=this.a.request("h",[a.a]);N(d,function(){a.u?ee(this,1,d,a,c):ee(this,2,d,a,c)},this);return d};k.keys=function(a,b,c,d,e,f,g){return a instanceof L?this.Fa(a,b):W.C.keys.call(this,a,b,c,d,e,f,g)};k.Ba=function(a){var b=this.a.request("d",[a.a]);N(b,function(){ee(this,6,b,a)},this);return b};
k.count=function(a,b,c,d){if(a instanceof L){if(r(b)||r(c))throw new G("too many arguments.");return this.Ba(a)}return W.C.count.call(this,a,b,c,d)};k.Ia=function(a,b){var c;if(z(b)){if(c=b,1>c)throw new G("limit must be a positive value, but "+c);}else if(r(b))throw new G("limit must be a number, but "+b);var d=this.a.request("t",[a.a]);N(d,function(){a.c?ee(this,2,d,a,c):ee(this,4,d,a,c)},this);return d};
k.values=function(a,b,c,d,e,f){return a instanceof L?this.Ia(a,b):W.C.values.call(this,a,b,c,d,e,f)};
k.Jb=function(a,b,c){var d;c=c||Ac;var e=[];for(d=0;d<b.length;d++)for(var f=b[d].stores(),g=0;g<f.length;g++)0<=va(e,f[g])||e.push(f[g]);var h=this;d=this.a.request("qa",e);this.a.ya(d,function(c,d,e){function f(){for(var a=0,e=0;e<b.length;e++){var p=b[e],n=[S(h).b(c,d,p.a)],p=p.load(n);p.fa=g;p.I=ia(v,a);R[e]=p;T[a]=e;a++}B=b.length}function g(a){for(var b=0;b<R.length;b++)Mc(R[b]);Ca(R);e(a,!0)}function v(c,d){if(y)throw new fd;aa++;var f=aa===B,g=T[c],h=b[g],l=R[g],g=l.R(),l=l.xa();Q[c]=d;J[c]=
h.u?h.c?g:l:h.c?d:l;if(f){var m;a instanceof ld?m=a.c(Q,J):m=a(Q,J);f=[];h=[];g=[];l=[];if(t(m))for(var n=0;n<m.length;n++)!0===m[n]?g[n]=1:!1===m[n]?l[n]=!0:h[n]=m[n];else if(null===m)f=[];else if(r(m))if(A(m))f=m.continuePrimary||[],h=m["continue"]||[],g=m.advance||[],l=m.restart||[];else throw new Yb("scan callback output");else for(f=[],n=0;n<b.length;n++)r(T[n])&&(g[n]=1);for(n=aa=m=0;n<b.length;n++)null!=f[n]||r(h[n])||null!=l[n]||null!=g[n]||aa++;for(n=0;n<b.length;n++)if(null!=f[n]||r(h[n])||
null!=l[n]||null!=g[n]){var u=T[n];if(!r(u))throw new fe(n+" is not an iterator.");var u=b[u],v=R[n];Q[n]=void 0;J[n]=void 0;if(null!=l[n])u=v,u.m=!1,u.u=!1,u.openCursor(void 0,void 0);else if(r(h[n]))v.pa(h[n]);else if(null!=f[n])v.Oa(f[n]);else if(null!=g[n])v.advance(1);else throw new fd(u+": has no action");m++}if(0==m){for(m=0;m<R.length;m++)Mc(R[m]);y=!0;Ca(R);e(void 0)}}}var y=!1,B,T=[],Q=[],J=[],R=[],aa=0;a instanceof ld?a.h(c,b,function(){f()})||f():f()},e,c);return d};
k.open=function(a,b,c,d){c=c||Ac;var e=this,f=this.a.request("i5",b.stores(),c);N(f,function(c){for(var h=Yc(f),l=b.stores(),m=[],p=0;p<l.length;p++)m[p]=S(e).b(c,h,l[p]);var n=b.load(m);n.fa=function(a){M(f,a,!0)};n.I=function(b){if(null!=b){var c=a.call(d,n);!0===c?(n.m=!1,n.u=!1,n.openCursor(void 0,void 0)):A(c)?!0===c.r