-
Notifications
You must be signed in to change notification settings - Fork 191
/
Copy pathaliyun-sdk.min.js
1 lines (1 loc) · 408 KB
/
aliyun-sdk.min.js
1
require=function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r}()({1:[function(require,module,exports){"use strict";(function(T){function y(c,a,d){var b=0,f=[],k=0,g,e,n,h,m,u,r,p=!1,q=!1,t=[],v=[],x,w=!1;d=d||{};g=d.encoding||"UTF8";x=d.numRounds||1;n=J(a,g);if(x!==parseInt(x,10)||1>x)throw Error("numRounds must a integer >= 1");if("SHA-1"===c)m=512,u=K,r=U,h=160;else if(u=function(a,d){return L(a,d,c)},r=function(a,d,b,f){var k,e;if("SHA-224"===c||"SHA-256"===c)k=(d+65>>>9<<4)+15,e=16;else if("SHA-384"===c||"SHA-512"===c)k=(d+129>>>10<<5)+31,e=32;else throw Error("Unexpected error in SHA-2 implementation");for(;a.length<=k;)a.push(0);a[d>>>5]|=128<<24-d%32;a[k]=d+b;b=a.length;for(d=0;d<b;d+=e)f=L(a.slice(d,d+e),f,c);if("SHA-224"===c)a=[f[0],f[1],f[2],f[3],f[4],f[5],f[6]];else if("SHA-256"===c)a=f;else if("SHA-384"===c)a=[f[0].a,f[0].b,f[1].a,f[1].b,f[2].a,f[2].b,f[3].a,f[3].b,f[4].a,f[4].b,f[5].a,f[5].b];else if("SHA-512"===c)a=[f[0].a,f[0].b,f[1].a,f[1].b,f[2].a,f[2].b,f[3].a,f[3].b,f[4].a,f[4].b,f[5].a,f[5].b,f[6].a,f[6].b,f[7].a,f[7].b];else throw Error("Unexpected error in SHA-2 implementation");return a},"SHA-224"===c)m=512,h=224;else if("SHA-256"===c)m=512,h=256;else if("SHA-384"===c)m=1024,h=384;else if("SHA-512"===c)m=1024,h=512;else throw Error("Chosen SHA variant is not supported");e=z(c);this.setHMACKey=function(a,d,f){var k;if(!0===q)throw Error("HMAC key already set");if(!0===p)throw Error("Cannot set HMAC key after finalizing hash");if(!0===w)throw Error("Cannot set HMAC key after calling update");g=(f||{}).encoding||"UTF8";d=J(d,g)(a);a=d.binLen;d=d.value;k=m>>>3;f=k/4-1;if(k<a/8){for(d=r(d,a,0,z(c));d.length<=f;)d.push(0);d[f]&=4294967040}else if(k>a/8){for(;d.length<=f;)d.push(0);d[f]&=4294967040}for(a=0;a<=f;a+=1)t[a]=d[a]^909522486,v[a]=d[a]^1549556828;e=u(t,e);b=m;q=!0};this.update=function(a){var c,d,g,h=0,p=m>>>5;c=n(a,f,k);a=c.binLen;d=c.value;c=a>>>5;for(g=0;g<c;g+=p)h+m<=a&&(e=u(d.slice(g,g+p),e),h+=m);b+=h;f=d.slice(h>>>5);k=a%m;w=!0};this.getHash=function(a,d){var g,m,n;if(!0===q)throw Error("Cannot call getHash after setting HMAC key");n=M(d);switch(a){case"HEX":g=function(a){return N(a,n)};break;case"B64":g=function(a){return O(a,n)};break;case"BYTES":g=P;break;default:throw Error("format must be HEX, B64, or BYTES")}if(!1===p)for(e=r(f,k,b,e),m=1;m<x;m+=1)e=r(e,h,0,z(c));p=!0;return g(e)};this.getHMAC=function(a,d){var g,n,t;if(!1===q)throw Error("Cannot call getHMAC without first setting HMAC key");t=M(d);switch(a){case"HEX":g=function(a){return N(a,t)};break;case"B64":g=function(a){return O(a,t)};break;case"BYTES":g=P;break;default:throw Error("outputFormat must be HEX, B64, or BYTES")}!1===p&&(n=r(f,k,b,e),e=u(v,z(c)),e=r(n,h,m,e));p=!0;return g(e)}}function b(c,a){this.a=c;this.b=a}function V(c,a,d){var b=c.length,f,k,e,l,n;a=a||[0];d=d||0;n=d>>>3;if(0!==b%2)throw Error("String of HEX type must be in byte increments");for(f=0;f<b;f+=2){k=parseInt(c.substr(f,2),16);if(isNaN(k))throw Error("String of HEX type contains invalid characters");l=(f>>>1)+n;for(e=l>>>2;a.length<=e;)a.push(0);a[e]|=k<<8*(3-l%4)}return{value:a,binLen:4*b+d}}function W(c,a,d){var b=[],f,k,e,l,b=a||[0];d=d||0;k=d>>>3;for(f=0;f<c.length;f+=1)a=c.charCodeAt(f),l=f+k,e=l>>>2,b.length<=e&&b.push(0),b[e]|=a<<8*(3-l%4);return{value:b,binLen:8*c.length+d}}function X(c,a,d){var b=[],f=0,e,g,l,n,h,m,b=a||[0];d=d||0;a=d>>>3;if(-1===c.search(/^[a-zA-Z0-9=+\/]+$/))throw Error("Invalid character in base-64 string");g=c.indexOf("=");c=c.replace(/\=/g,"");if(-1!==g&&g<c.length)throw Error("Invalid '=' found in base-64 string");for(g=0;g<c.length;g+=4){h=c.substr(g,4);for(l=n=0;l<h.length;l+=1)e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(h[l]),n|=e<<18-6*l;for(l=0;l<h.length-1;l+=1){m=f+a;for(e=m>>>2;b.length<=e;)b.push(0);b[e]|=(n>>>16-8*l&255)<<8*(3-m%4);f+=1}}return{value:b,binLen:8*f+d}}function N(c,a){var d="",b=4*c.length,f,e;for(f=0;f<b;f+=1)e=c[f>>>2]>>>8*(3-f%4),d+="0123456789abcdef".charAt(e>>>4&15)+"0123456789abcdef".charAt(e&15);return a.outputUpper?d.toUpperCase():d}function O(c,a){var d="",b=4*c.length,f,e,g;for(f=0;f<b;f+=3)for(g=f+1>>>2,e=c.length<=g?0:c[g],g=f+2>>>2,g=c.length<=g?0:c[g],g=(c[f>>>2]>>>8*(3-f%4)&255)<<16|(e>>>8*(3-(f+1)%4)&255)<<8|g>>>8*(3-(f+2)%4)&255,e=0;4>e;e+=1)8*f+6*e<=32*c.length?d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(g>>>6*(3-e)&63):d+=a.b64Pad;return d}function P(c){var a="",d=4*c.length,b,f;for(b=0;b<d;b+=1)f=c[b>>>2]>>>8*(3-b%4)&255,a+=String.fromCharCode(f);return a}function M(c){var a={outputUpper:!1,b64Pad:"="};c=c||{};a.outputUpper=c.outputUpper||!1;!0===c.hasOwnProperty("b64Pad")&&(a.b64Pad=c.b64Pad);if("boolean"!==typeof a.outputUpper)throw Error("Invalid outputUpper formatting option");if("string"!==typeof a.b64Pad)throw Error("Invalid b64Pad formatting option");return a}function J(c,a){var d;switch(a){case"UTF8":case"UTF16BE":case"UTF16LE":break;default:throw Error("encoding must be UTF8, UTF16BE, or UTF16LE")}switch(c){case"HEX":d=V;break;case"TEXT":d=function(c,d,b){var e=[],l=[],n=0,h,m,u,r,p,e=d||[0];d=b||0;u=d>>>3;if("UTF8"===a)for(h=0;h<c.length;h+=1)for(b=c.charCodeAt(h),l=[],128>b?l.push(b):2048>b?(l.push(192|b>>>6),l.push(128|b&63)):55296>b||57344<=b?l.push(224|b>>>12,128|b>>>6&63,128|b&63):(h+=1,b=65536+((b&1023)<<10|c.charCodeAt(h)&1023),l.push(240|b>>>18,128|b>>>12&63,128|b>>>6&63,128|b&63)),m=0;m<l.length;m+=1){p=n+u;for(r=p>>>2;e.length<=r;)e.push(0);e[r]|=l[m]<<8*(3-p%4);n+=1}else if("UTF16BE"===a||"UTF16LE"===a)for(h=0;h<c.length;h+=1){b=c.charCodeAt(h);"UTF16LE"===a&&(m=b&255,b=m<<8|b>>>8);p=n+u;for(r=p>>>2;e.length<=r;)e.push(0);e[r]|=b<<8*(2-p%4);n+=2}return{value:e,binLen:8*n+d}};break;case"B64":d=X;break;case"BYTES":d=W;break;default:throw Error("format must be HEX, TEXT, B64, or BYTES")}return d}function w(c,a){return c<<a|c>>>32-a}function q(c,a){return c>>>a|c<<32-a}function v(c,a){var d=null,d=new b(c.a,c.b);return d=32>=a?new b(d.a>>>a|d.b<<32-a&4294967295,d.b>>>a|d.a<<32-a&4294967295):new b(d.b>>>a-32|d.a<<64-a&4294967295,d.a>>>a-32|d.b<<64-a&4294967295)}function Q(c,a){var d=null;return d=32>=a?new b(c.a>>>a,c.b>>>a|c.a<<32-a&4294967295):new b(0,c.a>>>a-32)}function Y(c,a,d){return c&a^~c&d}function Z(c,a,d){return new b(c.a&a.a^~c.a&d.a,c.b&a.b^~c.b&d.b)}function R(c,a,d){return c&a^c&d^a&d}function aa(c,a,d){return new b(c.a&a.a^c.a&d.a^a.a&d.a,c.b&a.b^c.b&d.b^a.b&d.b)}function ba(c){return q(c,2)^q(c,13)^q(c,22)}function ca(c){var a=v(c,28),d=v(c,34);c=v(c,39);return new b(a.a^d.a^c.a,a.b^d.b^c.b)}function da(c){return q(c,6)^q(c,11)^q(c,25)}function ea(c){var a=v(c,14),d=v(c,18);c=v(c,41);return new b(a.a^d.a^c.a,a.b^d.b^c.b)}function fa(c){return q(c,7)^q(c,18)^c>>>3}function ga(c){var a=v(c,1),d=v(c,8);c=Q(c,7);return new b(a.a^d.a^c.a,a.b^d.b^c.b)}function ha(c){return q(c,17)^q(c,19)^c>>>10}function ia(c){var a=v(c,19),d=v(c,61);c=Q(c,6);return new b(a.a^d.a^c.a,a.b^d.b^c.b)}function B(c,a){var d=(c&65535)+(a&65535);return((c>>>16)+(a>>>16)+(d>>>16)&65535)<<16|d&65535}function ja(c,a,d,b){var f=(c&65535)+(a&65535)+(d&65535)+(b&65535);return((c>>>16)+(a>>>16)+(d>>>16)+(b>>>16)+(f>>>16)&65535)<<16|f&65535}function C(c,a,d,b,f){var e=(c&65535)+(a&65535)+(d&65535)+(b&65535)+(f&65535);return((c>>>16)+(a>>>16)+(d>>>16)+(b>>>16)+(f>>>16)+(e>>>16)&65535)<<16|e&65535}function ka(c,a){var d,e,f;d=(c.b&65535)+(a.b&65535);e=(c.b>>>16)+(a.b>>>16)+(d>>>16);f=(e&65535)<<16|d&65535;d=(c.a&65535)+(a.a&65535)+(e>>>16);e=(c.a>>>16)+(a.a>>>16)+(d>>>16);return new b((e&65535)<<16|d&65535,f)}function la(c,a,d,e){var f,k,g;f=(c.b&65535)+(a.b&65535)+(d.b&65535)+(e.b&65535);k=(c.b>>>16)+(a.b>>>16)+(d.b>>>16)+(e.b>>>16)+(f>>>16);g=(k&65535)<<16|f&65535;f=(c.a&65535)+(a.a&65535)+(d.a&65535)+(e.a&65535)+(k>>>16);k=(c.a>>>16)+(a.a>>>16)+(d.a>>>16)+(e.a>>>16)+(f>>>16);return new b((k&65535)<<16|f&65535,g)}function ma(c,a,d,e,f){var k,g,l;k=(c.b&65535)+(a.b&65535)+(d.b&65535)+(e.b&65535)+(f.b&65535);g=(c.b>>>16)+(a.b>>>16)+(d.b>>>16)+(e.b>>>16)+(f.b>>>16)+(k>>>16);l=(g&65535)<<16|k&65535;k=(c.a&65535)+(a.a&65535)+(d.a&65535)+(e.a&65535)+(f.a&65535)+(g>>>16);g=(c.a>>>16)+(a.a>>>16)+(d.a>>>16)+(e.a>>>16)+(f.a>>>16)+(k>>>16);return new b((g&65535)<<16|k&65535,l)}function z(c){var a,d;if("SHA-1"===c)c=[1732584193,4023233417,2562383102,271733878,3285377520];else switch(a=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428],d=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],c){case"SHA-224":c=a;break;case"SHA-256":c=d;break;case"SHA-384":c=[new b(3418070365,a[0]),new b(1654270250,a[1]),new b(2438529370,a[2]),new b(355462360,a[3]),new b(1731405415,a[4]),new b(41048885895,a[5]),new b(3675008525,a[6]),new b(1203062813,a[7])];break;case"SHA-512":c=[new b(d[0],4089235720),new b(d[1],2227873595),new b(d[2],4271175723),new b(d[3],1595750129),new b(d[4],2917565137),new b(d[5],725511199),new b(d[6],4215389547),new b(d[7],327033209)];break;default:throw Error("Unknown SHA variant")}return c}function K(c,a){var d=[],b,e,k,g,l,n,h;b=a[0];e=a[1];k=a[2];g=a[3];l=a[4];for(h=0;80>h;h+=1)d[h]=16>h?c[h]:w(d[h-3]^d[h-8]^d[h-14]^d[h-16],1),n=20>h?C(w(b,5),e&k^~e&g,l,1518500249,d[h]):40>h?C(w(b,5),e^k^g,l,1859775393,d[h]):60>h?C(w(b,5),R(e,k,g),l,2400959708,d[h]):C(w(b,5),e^k^g,l,3395469782,d[h]),l=g,g=k,k=w(e,30),e=b,b=n;a[0]=B(b,a[0]);a[1]=B(e,a[1]);a[2]=B(k,a[2]);a[3]=B(g,a[3]);a[4]=B(l,a[4]);return a}function U(c,a,b,e){var f;for(f=(a+65>>>9<<4)+15;c.length<=f;)c.push(0);c[a>>>5]|=128<<24-a%32;c[f]=a+b;b=c.length;for(a=0;a<b;a+=16)e=K(c.slice(a,a+16),e);return e}function L(c,a,d){var q,f,k,g,l,n,h,m,u,r,p,v,t,w,x,y,z,D,E,F,G,H,A=[],I;if("SHA-224"===d||"SHA-256"===d)r=64,v=1,H=Number,t=B,w=ja,x=C,y=fa,z=ha,D=ba,E=da,G=R,F=Y,I=e;else if("SHA-384"===d||"SHA-512"===d)r=80,v=2,H=b,t=ka,w=la,x=ma,y=ga,z=ia,D=ca,E=ea,G=aa,F=Z,I=S;else throw Error("Unexpected error in SHA-2 implementation");d=a[0];q=a[1];f=a[2];k=a[3];g=a[4];l=a[5];n=a[6];h=a[7];for(p=0;p<r;p+=1)16>p?(u=p*v,m=c.length<=u?0:c[u],u=c.length<=u+1?0:c[u+1],A[p]=new H(m,u)):A[p]=w(z(A[p-2]),A[p-7],y(A[p-15]),A[p-16]),m=x(h,E(g),F(g,l,n),I[p],A[p]),u=t(D(d),G(d,q,f)),h=n,n=l,l=g,g=t(k,m),k=f,f=q,q=d,d=t(m,u);a[0]=t(d,a[0]);a[1]=t(q,a[1]);a[2]=t(f,a[2]);a[3]=t(k,a[3]);a[4]=t(g,a[4]);a[5]=t(l,a[5]);a[6]=t(n,a[6]);a[7]=t(h,a[7]);return a}var e,S;e=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];S=[new b(e[0],3609767458),new b(e[1],602891725),new b(e[2],3964484399),new b(e[3],2173295548),new b(e[4],4081628472),new b(e[5],3053834265),new b(e[6],2937671579),new b(e[7],3664609560),new b(e[8],2734883394),new b(e[9],1164996542),new b(e[10],1323610764),new b(e[11],3590304994),new b(e[12],4068182383),new b(e[13],991336113),new b(e[14],633803317),new b(e[15],3479774868),new b(e[16],2666613458),new b(e[17],944711139),new b(e[18],2341262773),new b(e[19],2007800933),new b(e[20],1495990901),new b(e[21],1856431235),new b(e[22],3175218132),new b(e[23],2198950837),new b(e[24],3999719339),new b(e[25],766784016),new b(e[26],2566594879),new b(e[27],3203337956),new b(e[28],1034457026),new b(e[29],2466948901),new b(e[30],3758326383),new b(e[31],168717936),new b(e[32],1188179964),new b(e[33],1546045734),new b(e[34],1522805485),new b(e[35],2643833823),new b(e[36],2343527390),new b(e[37],1014477480),new b(e[38],1206759142),new b(e[39],344077627),new b(e[40],1290863460),new b(e[41],3158454273),new b(e[42],3505952657),new b(e[43],106217008),new b(e[44],3606008344),new b(e[45],1432725776),new b(e[46],1467031594),new b(e[47],851169720),new b(e[48],3100823752),new b(e[49],1363258195),new b(e[50],3750685593),new b(e[51],3785050280),new b(e[52],3318307427),new b(e[53],3812723403),new b(e[54],2003034995),new b(e[55],3602036899),new b(e[56],1575990012),new b(e[57],1125592928),new b(e[58],2716904306),new b(e[59],442776044),new b(e[60],593698344),new b(e[61],3733110249),new b(e[62],2999351573),new b(e[63],3815920427),new b(3391569614,3928383900),new b(3515267271,566280711),new b(3940187606,3454069534),new b(4118630271,4000239992),new b(116418474,1914138554),new b(174292421,2731055270),new b(289380356,3203993006),new b(460393269,320620315),new b(685471733,587496836),new b(852142971,1086792851),new b(1017036298,365543100),new b(1126000580,2618297676),new b(1288033470,3409855158),new b(1501505948,4234509866),new b(1607167915,987167468),new b(1816402316,1246189591)];"function"===typeof define&&define.amd?define(function(){return y}):"undefined"!==typeof exports?"undefined"!==typeof module&&module.exports?module.exports=exports=y:exports=y:T.jsSHA=y})(this)},{}],2:[function(require,module,exports){(function(factory){if(typeof exports==="object"){module.exports=factory()}else if(typeof define==="function"&&define.amd){define(factory)}else{var glob;try{glob=window}catch(e){glob=self}glob.SparkMD5=factory()}})(function(undefined){"use strict";var add32=function(a,b){return a+b&4294967295},hex_chr=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];function cmn(q,a,b,x,s,t){a=add32(add32(a,q),add32(x,t));return add32(a<<s|a>>>32-s,b)}function ff(a,b,c,d,x,s,t){return cmn(b&c|~b&d,a,b,x,s,t)}function gg(a,b,c,d,x,s,t){return cmn(b&d|c&~d,a,b,x,s,t)}function hh(a,b,c,d,x,s,t){return cmn(b^c^d,a,b,x,s,t)}function ii(a,b,c,d,x,s,t){return cmn(c^(b|~d),a,b,x,s,t)}function md5cycle(x,k){var a=x[0],b=x[1],c=x[2],d=x[3];a=ff(a,b,c,d,k[0],7,-680876936);d=ff(d,a,b,c,k[1],12,-389564586);c=ff(c,d,a,b,k[2],17,606105819);b=ff(b,c,d,a,k[3],22,-1044525330);a=ff(a,b,c,d,k[4],7,-176418897);d=ff(d,a,b,c,k[5],12,1200080426);c=ff(c,d,a,b,k[6],17,-1473231341);b=ff(b,c,d,a,k[7],22,-45705983);a=ff(a,b,c,d,k[8],7,1770035416);d=ff(d,a,b,c,k[9],12,-1958414417);c=ff(c,d,a,b,k[10],17,-42063);b=ff(b,c,d,a,k[11],22,-1990404162);a=ff(a,b,c,d,k[12],7,1804603682);d=ff(d,a,b,c,k[13],12,-40341101);c=ff(c,d,a,b,k[14],17,-1502002290);b=ff(b,c,d,a,k[15],22,1236535329);a=gg(a,b,c,d,k[1],5,-165796510);d=gg(d,a,b,c,k[6],9,-1069501632);c=gg(c,d,a,b,k[11],14,643717713);b=gg(b,c,d,a,k[0],20,-373897302);a=gg(a,b,c,d,k[5],5,-701558691);d=gg(d,a,b,c,k[10],9,38016083);c=gg(c,d,a,b,k[15],14,-660478335);b=gg(b,c,d,a,k[4],20,-405537848);a=gg(a,b,c,d,k[9],5,568446438);d=gg(d,a,b,c,k[14],9,-1019803690);c=gg(c,d,a,b,k[3],14,-187363961);b=gg(b,c,d,a,k[8],20,1163531501);a=gg(a,b,c,d,k[13],5,-1444681467);d=gg(d,a,b,c,k[2],9,-51403784);c=gg(c,d,a,b,k[7],14,1735328473);b=gg(b,c,d,a,k[12],20,-1926607734);a=hh(a,b,c,d,k[5],4,-378558);d=hh(d,a,b,c,k[8],11,-2022574463);c=hh(c,d,a,b,k[11],16,1839030562);b=hh(b,c,d,a,k[14],23,-35309556);a=hh(a,b,c,d,k[1],4,-1530992060);d=hh(d,a,b,c,k[4],11,1272893353);c=hh(c,d,a,b,k[7],16,-155497632);b=hh(b,c,d,a,k[10],23,-1094730640);a=hh(a,b,c,d,k[13],4,681279174);d=hh(d,a,b,c,k[0],11,-358537222);c=hh(c,d,a,b,k[3],16,-722521979);b=hh(b,c,d,a,k[6],23,76029189);a=hh(a,b,c,d,k[9],4,-640364487);d=hh(d,a,b,c,k[12],11,-421815835);c=hh(c,d,a,b,k[15],16,530742520);b=hh(b,c,d,a,k[2],23,-995338651);a=ii(a,b,c,d,k[0],6,-198630844);d=ii(d,a,b,c,k[7],10,1126891415);c=ii(c,d,a,b,k[14],15,-1416354905);b=ii(b,c,d,a,k[5],21,-57434055);a=ii(a,b,c,d,k[12],6,1700485571);d=ii(d,a,b,c,k[3],10,-1894986606);c=ii(c,d,a,b,k[10],15,-1051523);b=ii(b,c,d,a,k[1],21,-2054922799);a=ii(a,b,c,d,k[8],6,1873313359);d=ii(d,a,b,c,k[15],10,-30611744);c=ii(c,d,a,b,k[6],15,-1560198380);b=ii(b,c,d,a,k[13],21,1309151649);a=ii(a,b,c,d,k[4],6,-145523070);d=ii(d,a,b,c,k[11],10,-1120210379);c=ii(c,d,a,b,k[2],15,718787259);b=ii(b,c,d,a,k[9],21,-343485551);x[0]=add32(a,x[0]);x[1]=add32(b,x[1]);x[2]=add32(c,x[2]);x[3]=add32(d,x[3])}function md5blk(s){var md5blks=[],i;for(i=0;i<64;i+=4){md5blks[i>>2]=s.charCodeAt(i)+(s.charCodeAt(i+1)<<8)+(s.charCodeAt(i+2)<<16)+(s.charCodeAt(i+3)<<24)}return md5blks}function md5blk_array(a){var md5blks=[],i;for(i=0;i<64;i+=4){md5blks[i>>2]=a[i]+(a[i+1]<<8)+(a[i+2]<<16)+(a[i+3]<<24)}return md5blks}function md51(s){var n=s.length,state=[1732584193,-271733879,-1732584194,271733878],i,length,tail,tmp,lo,hi;for(i=64;i<=n;i+=64){md5cycle(state,md5blk(s.substring(i-64,i)))}s=s.substring(i-64);length=s.length;tail=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(i=0;i<length;i+=1){tail[i>>2]|=s.charCodeAt(i)<<(i%4<<3)}tail[i>>2]|=128<<(i%4<<3);if(i>55){md5cycle(state,tail);for(i=0;i<16;i+=1){tail[i]=0}}tmp=n*8;tmp=tmp.toString(16).match(/(.*?)(.{0,8})$/);lo=parseInt(tmp[2],16);hi=parseInt(tmp[1],16)||0;tail[14]=lo;tail[15]=hi;md5cycle(state,tail);return state}function md51_array(a){var n=a.length,state=[1732584193,-271733879,-1732584194,271733878],i,length,tail,tmp,lo,hi;for(i=64;i<=n;i+=64){md5cycle(state,md5blk_array(a.subarray(i-64,i)))}a=i-64<n?a.subarray(i-64):new Uint8Array(0);length=a.length;tail=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(i=0;i<length;i+=1){tail[i>>2]|=a[i]<<(i%4<<3)}tail[i>>2]|=128<<(i%4<<3);if(i>55){md5cycle(state,tail);for(i=0;i<16;i+=1){tail[i]=0}}tmp=n*8;tmp=tmp.toString(16).match(/(.*?)(.{0,8})$/);lo=parseInt(tmp[2],16);hi=parseInt(tmp[1],16)||0;tail[14]=lo;tail[15]=hi;md5cycle(state,tail);return state}function rhex(n){var s="",j;for(j=0;j<4;j+=1){s+=hex_chr[n>>j*8+4&15]+hex_chr[n>>j*8&15]}return s}function hex(x){var i;for(i=0;i<x.length;i+=1){x[i]=rhex(x[i])}return x.join("")}if(hex(md51("hello"))!=="5d41402abc4b2a76b9719d911017c592"){add32=function(x,y){var lsw=(x&65535)+(y&65535),msw=(x>>16)+(y>>16)+(lsw>>16);return msw<<16|lsw&65535}}if(typeof ArrayBuffer!=="undefined"&&!ArrayBuffer.prototype.slice){(function(){function clamp(val,length){val=val|0||0;if(val<0){return Math.max(val+length,0)}return Math.min(val,length)}ArrayBuffer.prototype.slice=function(from,to){var length=this.byteLength,begin=clamp(from,length),end=length,num,target,targetArray,sourceArray;if(to!==undefined){end=clamp(to,length)}if(begin>end){return new ArrayBuffer(0)}num=end-begin;target=new ArrayBuffer(num);targetArray=new Uint8Array(target);sourceArray=new Uint8Array(this,begin,num);targetArray.set(sourceArray);return target}})()}function toUtf8(str){if(/[\u0080-\uFFFF]/.test(str)){str=unescape(encodeURIComponent(str))}return str}function utf8Str2ArrayBuffer(str,returnUInt8Array){var length=str.length,buff=new ArrayBuffer(length),arr=new Uint8Array(buff),i;for(i=0;i<length;i++){arr[i]=str.charCodeAt(i)}return returnUInt8Array?arr:buff}function arrayBuffer2Utf8Str(buff){return String.fromCharCode.apply(null,new Uint8Array(buff))}function concatenateArrayBuffers(first,second,returnUInt8Array){var result=new Uint8Array(first.byteLength+second.byteLength);result.set(new Uint8Array(first));result.set(new Uint8Array(second),first.byteLength);return returnUInt8Array?result:result.buffer}function SparkMD5(){this.reset()}SparkMD5.prototype.append=function(str){this.appendBinary(toUtf8(str));return this};SparkMD5.prototype.appendBinary=function(contents){this._buff+=contents;this._length+=contents.length;var length=this._buff.length,i;for(i=64;i<=length;i+=64){md5cycle(this._hash,md5blk(this._buff.substring(i-64,i)))}this._buff=this._buff.substring(i-64);return this};SparkMD5.prototype.end=function(raw){var buff=this._buff,length=buff.length,i,tail=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],ret;for(i=0;i<length;i+=1){tail[i>>2]|=buff.charCodeAt(i)<<(i%4<<3)}this._finish(tail,length);ret=!!raw?this._hash:hex(this._hash);this.reset();return ret};SparkMD5.prototype.reset=function(){this._buff="";this._length=0;this._hash=[1732584193,-271733879,-1732584194,271733878];return this};SparkMD5.prototype.getState=function(){return{buff:this._buff,length:this._length,hash:this._hash}};SparkMD5.prototype.setState=function(state){this._buff=state.buff;this._length=state.length;this._hash=state.hash;return this};SparkMD5.prototype.destroy=function(){delete this._hash;delete this._buff;delete this._length};SparkMD5.prototype._finish=function(tail,length){var i=length,tmp,lo,hi;tail[i>>2]|=128<<(i%4<<3);if(i>55){md5cycle(this._hash,tail);for(i=0;i<16;i+=1){tail[i]=0}}tmp=this._length*8;tmp=tmp.toString(16).match(/(.*?)(.{0,8})$/);lo=parseInt(tmp[2],16);hi=parseInt(tmp[1],16)||0;tail[14]=lo;tail[15]=hi;md5cycle(this._hash,tail)};SparkMD5.hash=function(str,raw){return SparkMD5.hashBinary(toUtf8(str),raw)};SparkMD5.hashBinary=function(content,raw){var hash=md51(content);return!!raw?hash:hex(hash)};SparkMD5.ArrayBuffer=function(){this.reset()};SparkMD5.ArrayBuffer.prototype.append=function(arr){var buff=concatenateArrayBuffers(this._buff.buffer,arr,true),length=buff.length,i;this._length+=arr.byteLength;for(i=64;i<=length;i+=64){md5cycle(this._hash,md5blk_array(buff.subarray(i-64,i)))}this._buff=i-64<length?new Uint8Array(buff.buffer.slice(i-64)):new Uint8Array(0);return this};SparkMD5.ArrayBuffer.prototype.end=function(raw){var buff=this._buff,length=buff.length,tail=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],i,ret;for(i=0;i<length;i+=1){tail[i>>2]|=buff[i]<<(i%4<<3)}this._finish(tail,length);ret=!!raw?this._hash:hex(this._hash);this.reset();return ret};SparkMD5.ArrayBuffer.prototype.reset=function(){this._buff=new Uint8Array(0);this._length=0;this._hash=[1732584193,-271733879,-1732584194,271733878];return this};SparkMD5.ArrayBuffer.prototype.getState=function(){var state=SparkMD5.prototype.getState.call(this);state.buff=arrayBuffer2Utf8Str(state.buff);return state};SparkMD5.ArrayBuffer.prototype.setState=function(state){state.buff=utf8Str2ArrayBuffer(state.buff,true);return SparkMD5.prototype.setState.call(this,state)};SparkMD5.ArrayBuffer.prototype.destroy=SparkMD5.prototype.destroy;SparkMD5.ArrayBuffer.prototype._finish=SparkMD5.prototype._finish;SparkMD5.ArrayBuffer.hash=function(arr,raw){var hash=md51_array(new Uint8Array(arr));return!!raw?hash:hex(hash)};return SparkMD5})},{}],3:[function(require,module,exports){window.ALY=module.exports=require("./lib/core");require("./lib/http/xhr");require("./lib/services/oss");require("./lib/services/opensearch");require("./lib/services/batchcompute");ALY.ECS=ALY.Service.defineService("ecs",["2014-05-26"]);ALY.RDS=ALY.Service.defineService("rds",["2014-08-15"]);ALY.SLB=ALY.Service.defineService("slb",["2014-05-15"]);ALY.CDN=ALY.Service.defineService("cdn",["2014-11-11"]);ALY.STS=ALY.Service.defineService("sts",["2015-04-01"]);ALY.ESS=ALY.Service.defineService("ess",["2014-08-28"])},{"./lib/core":5,"./lib/http/xhr":8,"./lib/services/batchcompute":21,"./lib/services/opensearch":22,"./lib/services/oss":23}],4:[function(require,module,exports){var ALY=require("./core");ALY.Config=ALY.util.inherit({constructor:function Config(options){if(options===undefined)options={};ALY.util.each.call(this,this.keys,function(key,value){this.set(key,options[key],value)})},clear:function clear(){ALY.util.each.call(this,this.keys,function(key){delete this[key]});this.set("credentials",undefined);this.set("credentialProvider",undefined)},getCredentials:function getCredentials(){return{accessKeyId:this.accessKeyId,secretAccessKey:this.secretAccessKey,securityToken:this.securityToken}},set:function set(property,value,defaultValue){if(value===undefined){if(defaultValue===undefined){defaultValue=this.keys[property]}if(typeof defaultValue==="function"){this[property]=defaultValue.call(this)}else{this[property]=defaultValue}}else{this[property]=value}},keys:{accessKeyId:null,secretAccessKey:null,region:null,logger:null,apiVersions:{},apiVersion:null,endpoint:undefined,endpointFixed:undefined,httpOptions:{},maxRetries:undefined,maxRedirects:10,paramValidation:true,sslEnabled:true,computeChecksums:true,securityToken:"",cname:false,isRequestPayer:false}})},{"./core":5}],5:[function(require,module,exports){var ALY={};module.exports=ALY;require("./util");ALY.util.update(ALY,{VERSION:"1.0.0",ServiceInterface:{},Signers:{},XML:{}});require("./service");require("./config");require("./http");require("./sequential_executor");require("./event_listeners");require("./request");require("./signers/request_signer");require("./param_validator");ALY.events=new ALY.SequentialExecutor},{"./config":4,"./event_listeners":6,"./http":7,"./param_validator":10,"./request":11,"./sequential_executor":12,"./service":13,"./signers/request_signer":31,"./util":34}],6:[function(require,module,exports){var ALY=require("./core");require("./sequential_executor");require("./service_interface/json");require("./service_interface/query");require("./service_interface/rest");require("./service_interface/rest_json");require("./service_interface/rest_xml");require("./service_interface/pop");require("./service_interface/top");ALY.EventListeners={Core:{}};ALY.EventListeners={Core:(new ALY.SequentialExecutor).addNamedListeners(function(add,addAsync){add("VALIDATE_PARAMETERS","validate",function VALIDATE_PARAMETERS(req){var rules=req.service.api.operations[req.operation].input;(new ALY.ParamValidator).validate(rules,req.params)});add("SET_CONTENT_LENGTH","afterBuild",function SET_CONTENT_LENGTH(req){if(req.httpRequest.headers["Content-Length"]===undefined){var length=ALY.util.string.byteLength(req.httpRequest.body);req.httpRequest.headers["Content-Length"]=length}});add("SET_HTTP_HOST","afterBuild",function SET_HTTP_HOST(req){req.httpRequest.headers["Host"]=req.httpRequest.endpoint.host});addAsync("SIGN","sign",function SIGN(req,done){if(!req.service.api.signatureVersion)return done();var credentials=req.service.config.getCredentials();try{var date=ALY.util.date.getDate();var SignerClass=req.service.getSignerClass(req);var signer=new SignerClass(req.httpRequest,req.service.api.signingName);var isRequestPayer=req.service.config.isRequestPayer;signer.addAuthorization(credentials,date,isRequestPayer)}catch(e){req.response.error=e}done()});add("VALIDATE_RESPONSE","validateResponse",function VALIDATE_RESPONSE(resp){if(this.service.successfulResponse(resp,this)){resp.data={};resp.error=null}else{resp.data=null;resp.error=ALY.util.error(new Error,{code:"UnknownError",message:"An unknown error occurred."})}});addAsync("SEND","send",function SEND(resp,done){function callback(httpResp){resp.httpResponse.stream=httpResp;resp.httpResponse._abortCallback=done;httpResp.on("headers",function onHeaders(statusCode,headers){resp.request.emit("httpHeaders",[statusCode,headers,resp]);if(!resp.request.httpRequest._streaming){if(ALY.HttpClient.streamsApiVersion===2){httpResp.on("readable",function onReadable(){var data=httpResp.read();if(data!==null){resp.request.emit("httpData",[data,resp])}})}else{httpResp.on("data",function onData(data){resp.request.emit("httpData",[data,resp])})}}});httpResp.on("end",function onEnd(){resp.request.emit("httpDone");done()})}function progress(httpResp){httpResp.on("sendProgress",function onSendProgress(progress){resp.request.emit("httpUploadProgress",[progress,resp])});httpResp.on("receiveProgress",function onReceiveProgress(progress){resp.request.emit("httpDownloadProgress",[progress,resp])})}function error(err){resp.error=ALY.util.error(err,{code:"NetworkingError",region:resp.request.httpRequest.region,hostname:resp.request.httpRequest.endpoint.hostname,retryable:true});resp.request.emit("httpError",[resp.error,resp],function(){done()})}resp.error=null;resp.data=null;var http=ALY.HttpClient.getInstance();var httpOptions=resp.request.service.config.httpOptions||{};this.httpRequest.debug();var s=http.handleRequest(this.httpRequest,httpOptions,callback,error);progress(s)});add("HTTP_HEADERS","httpHeaders",function HTTP_HEADERS(statusCode,headers,resp){resp.httpResponse.statusCode=statusCode;resp.httpResponse.headers=headers;resp.httpResponse.body=new ALY.util.Buffer("");resp.httpResponse.buffers=[];resp.httpResponse.numBytes=0});add("HTTP_DATA","httpData",function HTTP_DATA(chunk,resp){if(chunk){if(ALY.util.isNode()){resp.httpResponse.numBytes+=chunk.length;var total=resp.httpResponse.headers["content-length"];var progress={loaded:resp.httpResponse.numBytes,total:total};resp.request.emit("httpDownloadProgress",[progress,resp])}resp.httpResponse.buffers.push(new ALY.util.Buffer(chunk))}});add("HTTP_DONE","httpDone",function HTTP_DONE(resp){if(resp.httpResponse.buffers&&resp.httpResponse.buffers.length>0){var body=ALY.util.buffer.concat(resp.httpResponse.buffers);resp.httpResponse.body=body}delete resp.httpResponse.numBytes;delete resp.httpResponse.buffers});add("FINALIZE_ERROR","retry",function FINALIZE_ERROR(resp){if(resp.httpResponse.statusCode){resp.error.statusCode=resp.httpResponse.statusCode;if(resp.error.retryable===undefined){resp.error.retryable=this.service.retryableError(resp.error,this)}}})}),Logger:(new ALY.SequentialExecutor).addNamedListeners(function(add){add("LOG_REQUEST","complete",function LOG_REQUEST(resp){var req=resp.request;var logger=req.service.config.logger;if(!logger)return;function buildMessage(){var time=ALY.util.date.getDate().getTime();var delta=(time-req.startTime.getTime())/1e3;var ansi=logger.isTTY?true:false;var status=resp.httpResponse.statusCode;var params=require("util").inspect(req.params,true,true);var message="";if(ansi)message+="[33m";message+="[ALY "+req.service.serviceIdentifier+" "+status;message+=" "+delta.toString()+"s "+resp.retryCount+" retries]";if(ansi)message+="[0;1m";message+=" "+req.operation+"("+params+")";if(ansi)message+="[0m";return message}var message=buildMessage();if(typeof logger.log==="function"){logger.log(message)}else if(typeof logger.write==="function"){logger.write(message+"\n")}})}),Json:(new ALY.SequentialExecutor).addNamedListeners(function(add){var svc=ALY.ServiceInterface.Json;add("BUILD","build",svc.buildRequest);add("EXTRACT_DATA","extractData",svc.extractData);add("EXTRACT_ERROR","extractError",svc.extractError)}),Rest:(new ALY.SequentialExecutor).addNamedListeners(function(add){var svc=ALY.ServiceInterface.Rest;add("BUILD","build",svc.buildRequest);add("EXTRACT_DATA","extractData",svc.extractData);add("EXTRACT_ERROR","extractError",svc.extractError)}),RestJson:(new ALY.SequentialExecutor).addNamedListeners(function(add){var svc=ALY.ServiceInterface.RestJson;add("BUILD","build",svc.buildRequest);add("EXTRACT_DATA","extractData",svc.extractData);add("EXTRACT_ERROR","extractError",svc.extractError)}),Pop:(new ALY.SequentialExecutor).addNamedListeners(function(add){var svc=ALY.ServiceInterface.Pop;add("BUILD","build",svc.buildRequest);add("EXTRACT_DATA","extractData",svc.extractData);add("EXTRACT_ERROR","extractError",svc.extractError)}),Top:(new ALY.SequentialExecutor).addNamedListeners(function(add){var svc=ALY.ServiceInterface.Top;add("BUILD","build",svc.buildRequest);add("EXTRACT_DATA","extractData",svc.extractData);add("EXTRACT_ERROR","extractError",svc.extractError)}),RestXml:(new ALY.SequentialExecutor).addNamedListeners(function(add){var svc=ALY.ServiceInterface.RestXml;add("BUILD","build",svc.buildRequest);add("EXTRACT_DATA","extractData",svc.extractData);add("EXTRACT_ERROR","extractError",svc.extractError)}),Query:(new ALY.SequentialExecutor).addNamedListeners(function(add){var svc=ALY.ServiceInterface.Query;add("BUILD","build",svc.buildRequest);add("EXTRACT_DATA","extractData",svc.extractData);add("EXTRACT_ERROR","extractError",svc.extractError)})}},{"./core":5,"./sequential_executor":12,"./service_interface/json":14,"./service_interface/pop":15,"./service_interface/query":16,"./service_interface/rest":17,"./service_interface/rest_json":18,"./service_interface/rest_xml":19,"./service_interface/top":20,util:114}],7:[function(require,module,exports){(function(process){var ALY=require("./core");var inherit=ALY.util.inherit;ALY.Endpoint=inherit({constructor:function Endpoint(endpoint){ALY.util.hideProperties(this,["slashes","auth","hash","search","query"]);if(typeof endpoint==="undefined"||endpoint===null){throw new Error("Invalid endpoint: "+endpoint)}if(!endpoint.match(/^http/)){throw new Error("错误的 endpoint 格式, 需要以 http 或者 https 开头")}ALY.util.update(this,ALY.util.urlParse(endpoint));if(this.port){this.port=parseInt(this.port,10)}else{this.port=this.protocol==="https:"?443:80}}});ALY.HttpRequest=inherit({constructor:function HttpRequest(endpoint,region){this.method="POST";this.path=endpoint.path||"/";this.headers={};this.body="";this.endpoint=endpoint;this.region=region;this.setUserAgent()},setUserAgent:function setUserAgent(){this.headers["User-Agent"]=ALY.util.userAgent()},pathname:function pathname(){return this.path.split("?",1)[0]},search:function search(){return this.path.split("?",2)[1]||""},debug:function(){if(process.env.DEBUG=="aliyun"){console.log("-------- HttpRequest Start: --------");console.log("method:",this.method);console.log("path:",this.path);console.log("headers:");for(var i in this.headers){if(i=="constructor")continue;console.log(i,":",this.headers[i])}}}});ALY.HttpResponse=inherit({constructor:function HttpResponse(){this.statusCode=undefined;this.headers={};this.body=undefined}});ALY.HttpClient=inherit({});ALY.HttpClient.getInstance=function getInstance(){if(this.singleton===undefined){this.singleton=new this}return this.singleton}}).call(this,require("_process"))},{"./core":5,_process:85}],8:[function(require,module,exports){var ALY=require("../core");var EventEmitter=require("events").EventEmitter;require("../http");ALY.XHRClient=ALY.util.inherit({handleRequest:function handleRequest(httpRequest,httpOptions,callback,errCallback){var self=this;var endpoint=httpRequest.endpoint;var emitter=new EventEmitter;var href=endpoint.protocol+"//"+endpoint.hostname;if(endpoint.port!=80&&endpoint.port!=443){href+=":"+endpoint.port}href+=httpRequest.path;var xhr=new XMLHttpRequest;httpRequest.stream=xhr;if(httpOptions.timeout){xhr.timeout=httpOptions.timeout}xhr.addEventListener("readystatechange",function(){try{if(xhr.status===0)return}catch(e){return}if(this.readyState===this.HEADERS_RECEIVED){try{xhr.responseType="arraybuffer"}catch(e){}emitter.statusCode=xhr.status;emitter.headers=self.parseHeaders(xhr.getAllResponseHeaders());emitter.emit("headers",emitter.statusCode,emitter.headers)}else if(this.readyState===this.DONE){self.finishRequest(xhr,emitter)}},false);xhr.upload.addEventListener("progress",function(evt){emitter.emit("sendProgress",evt)});xhr.addEventListener("progress",function(evt){emitter.emit("receiveProgress",evt)},false);xhr.addEventListener("timeout",function(){errCallback(ALY.util.error(new Error("Timeout"),{code:"TimeoutError"}))},false);xhr.addEventListener("error",function(){errCallback(ALY.util.error(new Error("Network Failure"),{code:"NetworkingError"}))},false);callback(emitter);xhr.open(httpRequest.method,href,true);ALY.util.each(httpRequest.headers,function(key,value){if(key!=="Content-Length"&&key!=="User-Agent"&&key!=="Host"&&key!=="Date"){xhr.setRequestHeader(key,value)}});if(httpRequest.body&&typeof httpRequest.body.buffer==="object"){xhr.send(httpRequest.body.buffer)}else{xhr.send(httpRequest.body)}return emitter},parseHeaders:function parseHeaders(rawHeaders){var headers={};ALY.util.arrayEach(rawHeaders.split(/\r?\n/),function(line){var key=line.split(":",1)[0];var value=line.substring(key.length+2);if(key.length>0)headers[key]=value});return headers},finishRequest:function finishRequest(xhr,emitter){var buffer;if(xhr.responseType==="arraybuffer"&&xhr.response){var ab=xhr.response;buffer=new ALY.util.Buffer(ab.byteLength);var view=new Uint8Array(ab);for(var i=0;i<buffer.length;++i){buffer[i]=view[i]}}try{if(!buffer&&typeof xhr.responseText==="string"){buffer=new ALY.util.Buffer(xhr.responseText)}}catch(e){}if(buffer)emitter.emit("data",buffer);emitter.emit("end")}});ALY.HttpClient.prototype=ALY.XHRClient.prototype;ALY.HttpClient.streamsApiVersion=1},{"../core":5,"../http":7,events:79}],9:[function(require,module,exports){var ALY=require("../core");var inherit=ALY.util.inherit;ALY.JSON={};ALY.JSON.Builder=inherit({constructor:function JSONBuilder(rules,options){this.rules=rules;this.timestampFormat=options.timestampFormat},build:function build(params){return JSON.stringify(this.translate(this.rules,params))},translate:function translate(rules,value){if(value===null||value===undefined)return undefined;if(rules.type=="structure"){var struct={};ALY.util.each.call(this,value,function(memberName,memberValue){var memberRules=rules.members[memberName]||{};var result=this.translate(memberRules,memberValue);if(result!==undefined)struct[memberName]=result});return struct}else if(rules.type=="list"){var list=[];ALY.util.arrayEach.call(this,value,function(memberValue){var memberRules=rules.members||{};var result=this.translate(memberRules,memberValue);if(result!==undefined)list.push(result)});return list}else if(rules.type=="map"){var map={};ALY.util.each.call(this,value,function(memberName,memberValue){var memberRules=rules.members||{};var result=this.translate(memberRules,memberValue);if(result!==undefined)map[memberName]=result});return map}else if(rules.type=="timestamp"){var timestampFormat=rules.format||this.timestampFormat;return ALY.util.date.format(value,timestampFormat)}else if(rules.type=="integer"){return parseInt(value,10)}else if(rules.type=="float"){return parseFloat(value)}else{return value}}})},{"../core":5}],10:[function(require,module,exports){var ALY=require("./core");ALY.ParamValidator=ALY.util.inherit({validate:function validate(rules,params,context){var cRules=(rules||{}).members||{};var payload=rules?rules.xml:null;if(payload){cRules=ALY.util.merge(cRules,(cRules[payload]||{}).members||{});delete cRules[payload]}return this.validateStructure(cRules,params||{},context||"params")},validateStructure:function validateStructure(rules,params,context){this.validateType(context,params,["object"],"structure");for(var paramName in rules){if(!rules.hasOwnProperty(paramName))continue;var value=params[paramName];var notSet=value===undefined||value===null;if(notSet){if(rules[paramName].default){params[paramName]=rules[paramName].default}else if(rules[paramName].required){this.fail("MissingRequiredParameter","Missing required key '"+paramName+"' in "+context)}}}for(paramName in params){if(!params.hasOwnProperty(paramName))continue;var paramValue=params[paramName],paramRules=rules[paramName];if(paramRules!==undefined){var memberContext=[context,paramName].join(".");this.validateMember(paramRules,paramValue,memberContext)}else{this.fail("UnexpectedParameter","Unexpected key '"+paramName+"' found in "+context)}}return true},validateMember:function validateMember(rules,param,context){var memberRules=rules.members||{};switch(rules.type){case"structure":return this.validateStructure(memberRules,param,context);case"list":return this.validateList(memberRules,param,context);case"map":return this.validateMap(memberRules,param,context);default:return this.validateScalar(rules,param,context)}},validateList:function validateList(rules,params,context){this.validateType(context,params,[Array]);for(var i=0;i<params.length;i++){this.validateMember(rules,params[i],context+"["+i+"]")}},validateMap:function validateMap(rules,params,context){this.validateType(context,params,["object"],"map");for(var param in params){if(!params.hasOwnProperty(param))continue;this.validateMember(rules,params[param],context+"['"+param+"']")}},validateScalar:function validateScalar(rules,value,context){switch(rules.type){case null:case undefined:case"string":return this.validateType(context,value,["string"]);case"base64":case"binary":return this.validatePayload(context,value);case"integer":case"float":return this.validateNumber(context,value);case"boolean":return this.validateType(context,value,["boolean"]);case"timestamp":return this.validateType(context,value,[Date,/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?Z$/,"number"],"Date object, ISO-8601 string, or a UNIX timestamp");case"any":return;default:return this.fail("UnkownType","Unhandled type "+rules.type+" for "+context)}},fail:function fail(code,message){throw ALY.util.error(new Error(message),{code:code})},validateType:function validateType(context,value,acceptedTypes,type){if(value===null||value===undefined)return;var foundInvalidType=false;for(var i=0;i<acceptedTypes.length;i++){if(typeof acceptedTypes[i]==="string"){if(typeof value===acceptedTypes[i])return}else if(acceptedTypes[i]instanceof RegExp){if((value||"").toString().match(acceptedTypes[i]))return}else{if(value instanceof acceptedTypes[i])return;if(ALY.util.isType(value,acceptedTypes[i]))return;if(!type&&!foundInvalidType)acceptedTypes=acceptedTypes.slice();acceptedTypes[i]=ALY.util.typeName(acceptedTypes[i])}foundInvalidType=true}var acceptedType=type;if(!acceptedType){acceptedType=acceptedTypes.join(", ").replace(/,([^,]+)$/,", or$1")}var vowel=acceptedType.match(/^[aeiou]/i)?"n":"";this.fail("InvalidParameterType","Expected "+context+" to be a"+vowel+" "+acceptedType)},validateNumber:function validateNumber(context,value){if(value===null||value===undefined)return;if(typeof value==="string"){var castedValue=parseFloat(value);if(castedValue.toString()===value)value=castedValue}return this.validateType(context,value,["number"])},validatePayload:function validatePayload(context,value){if(value===null||value===undefined)return;if(typeof value==="string")return;if(value&&typeof value.byteLength==="number")return;if(ALY.util.isNode()){var Stream=require("stream").Stream;if(ALY.util.Buffer.isBuffer(value)||value instanceof Stream)return}var types=["Buffer","Stream","File","Blob","ArrayBuffer","DataView"];if(value){for(var i=0;i<types.length;i++){if(ALY.util.isType(value,types[i]))return;if(ALY.util.typeName(value.constructor)===types[i])return}}this.fail("InvalidParameterType","Expected "+context+" to be a "+"string, Buffer, Stream, Blob, or typed array object")}})},{"./core":5,stream:106}],11:[function(require,module,exports){(function(process){var ALY=require("./core");var inherit=ALY.util.inherit;function AcceptorStateMachine(states,state){this.currentState=state||null;this.states=states||{}}AcceptorStateMachine.prototype.runTo=function runTo(finalState,done,bindObject,inputError){if(typeof finalState==="function"){inputError=bindObject;bindObject=done;done=finalState;finalState=null}var self=this;var state=self.states[self.currentState];state.fn.call(bindObject||self,inputError,function(err){if(err){if(bindObject.logger)bindObject.logger.log(self.currentState,"->",state.fail,err);if(state.fail)self.currentState=state.fail;else return done?done(err):null}else{if(bindObject.logger)bindObject.logger.log(self.currentState,"->",state.accept);if(state.accept)self.currentState=state.accept;else return done?done():null}if(self.currentState===finalState)return done?done(err):null;self.runTo(finalState,done,bindObject,err)})};AcceptorStateMachine.prototype.addState=function addState(name,acceptState,failState,fn){if(typeof acceptState==="function"){fn=acceptState;acceptState=null;failState=null}else if(typeof failState==="function"){fn=failState;failState=null}if(!this.currentState)this.currentState=name;this.states[name]={accept:acceptState,fail:failState,fn:fn};return this};var fsm=new AcceptorStateMachine;fsm.setupStates=function(){var hardErrorStates=["success","error","complete"];var transition=function transition(err,done){try{var self=this;var origError=self.response.error;self.emit(self._asm.currentState,function(){if(self.response.error&&origError!=self.response.error){if(hardErrorStates.indexOf(this._asm.currentState)>=0){this._hardError=true}}done(self.response.error)})}catch(e){this.response.error=e;if(hardErrorStates.indexOf(this._asm.currentState)>=0){this._hardError=true}done(e)}};this.addState("validate","build","error",transition);this.addState("restart","build","error",function(err,done){err=this.response.error;if(!err)return done();if(!err.retryable)return done(err);if(this.response.retryCount<this.service.config.maxRetries){this.response.retryCount++;done()}else{done(err)}});this.addState("build","afterBuild","restart",transition);this.addState("afterBuild","sign","restart",transition);this.addState("sign","send","retry",transition);this.addState("retry","afterRetry","afterRetry",transition);this.addState("afterRetry","sign","error",transition);this.addState("send","validateResponse","retry",transition);this.addState("validateResponse","extractData","extractError",transition);this.addState("extractError","extractData","retry",transition);this.addState("extractData","success","retry",transition);this.addState("success","complete","complete",transition);this.addState("error","complete","complete",transition);this.addState("complete",null,"uncaughtException",transition);this.addState("uncaughtException",function(err,done){try{ALY.SequentialExecutor.prototype.unhandledErrorCallback.call(this,err)}catch(e){if(this._hardError)throw err}done(err)})};fsm.setupStates();ALY.Request=inherit({constructor:function Request(service,operation,params){var endpoint=new ALY.Endpoint(service.config.endpoint);var region=service.config.region;this.service=service;this.operation=operation;this.params=params||{};this.httpRequest=new ALY.HttpRequest(endpoint,region);this.startTime=ALY.util.date.getDate();this.response=new ALY.Response(this);this.restartCount=0;this._asm=new AcceptorStateMachine(fsm.states,"validate");ALY.SequentialExecutor.call(this);this.emit=this.emitEvent},send:function send(callback){if(callback){this.on("complete",function(resp){try{callback.call(resp,resp.error,resp.data)}catch(e){resp.request._hardError=true;throw e}})}this.runTo();return this.response},build:function build(callback){this._hardError=callback?false:true;return this.runTo("send",callback)},runTo:function runTo(state,done){this._asm.runTo(state,done,this);return this},abort:function abort(){this.removeAllListeners("validateResponse");this.removeAllListeners("extractError");this.on("validateResponse",function addAbortedError(resp){resp.error=ALY.util.error(new Error("Request aborted by user"),{code:"RequestAbortedError",retryable:false})});if(this.httpRequest.stream){this.httpRequest.stream.abort();this.httpRequest._abortCallback()}return this},eachPage:function eachPage(callback){function wrappedCallback(response){var result=callback.call(response,response.error,response.data);if(result===false)return;if(response.hasNextPage()){response.nextPage().on("complete",wrappedCallback).send()}else{callback.call(response,null,null)}}this.on("complete",wrappedCallback).send()},eachItem:function eachItem(callback){function wrappedCallback(err,data){if(err)return callback(err,null);if(data===null)return callback(null,null);var config=this.request.service.paginationConfig(this.request.operation);var resultKey=config.resultKey;if(Array.isArray(resultKey))resultKey=resultKey[0];var results=ALY.util.jamespath.query(resultKey,data);ALY.util.arrayEach(results,function(result){ALY.util.arrayEach(result,function(item){callback(null,item)})})}this.eachPage(wrappedCallback)},isPageable:function isPageable(){return this.service.paginationConfig(this.operation)?true:false},createReadStream:function createReadStream(){var streams=require("stream");var req=this;var stream=null;var legacyStreams=false;if(ALY.HttpClient.streamsApiVersion===2){stream=new streams.Readable;stream._read=function(){stream.push("")}}else{stream=new streams.Stream;stream.readable=true}stream.sent=false;stream.on("newListener",function(event){if(!stream.sent&&(event==="data"||event==="readable")){if(event==="data")legacyStreams=true;stream.sent=true;process.nextTick(function(){req.send(function(){})})}});this.on("httpHeaders",function streamHeaders(statusCode,headers,resp){if(statusCode<300){this.httpRequest._streaming=true;req.removeListener("httpData",ALY.EventListeners.Core.HTTP_DATA);req.removeListener("httpError",ALY.EventListeners.Core.HTTP_ERROR);req.on("httpError",function streamHttpError(error,resp){resp.error=error;resp.error.retryable=false});var httpStream=resp.httpResponse.stream;stream.response=resp;stream._read=function(){var data;while(data=httpStream.read()){stream.push(data)}stream.push("")};var events=["end","error",legacyStreams?"data":"readable"];ALY.util.arrayEach(events,function(event){httpStream.on(event,function(arg){stream.emit(event,arg)})})}});this.on("error",function(err){stream.emit("error",err)});return stream},emitEvent:function emit(eventName,args,done){if(typeof args==="function"){done=args;args=null}if(!done)done=this.unhandledErrorCallback;if(!args)args=this.eventParameters(eventName,this.response);var origEmit=ALY.SequentialExecutor.prototype.emit;origEmit.call(this,eventName,args,function(err){if(err)this.response.error=err;done.call(this,err)})},eventParameters:function eventParameters(eventName){switch(eventName){case"validate":case"sign":case"build":case"afterBuild":return[this];case"error":return[this.response.error,this.response];default:return[this.response]}}});ALY.util.mixin(ALY.Request,ALY.SequentialExecutor);ALY.Response=inherit({constructor:function Response(request){this.request=request;this.data=null;this.error=null;this.retryCount=0;this.redirectCount=0;this.httpResponse=new ALY.HttpResponse},nextPage:function nextPage(callback){var config;var service=this.request.service;var operation=this.request.operation;try{config=service.paginationConfig(operation,true)}catch(e){this.error=e}if(!this.hasNextPage()){if(callback)callback(this.error,null);else if(this.error)throw this.error;return null}var params=ALY.util.copy(this.request.params);if(!this.nextPageTokens){return callback?callback(null,null):null}else{var inputTokens=config.inputToken;if(typeof inputTokens==="string")inputTokens=[inputTokens];for(var i=0;i<inputTokens.length;i++){params[inputTokens[i]]=this.nextPageTokens[i]}return service.makeRequest(this.request.operation,params,callback)}},hasNextPage:function hasNextPage(){this.cacheNextPageTokens();if(this.nextPageTokens)return true;if(this.nextPageTokens===undefined)return undefined;else return false},cacheNextPageTokens:function cacheNextPageTokens(){if(this.hasOwnProperty("nextPageTokens"))return this.nextPageTokens;this.nextPageTokens=undefined;var config=this.request.service.paginationConfig(this.request.operation);if(!config)return this.nextPageTokens;this.nextPageTokens=null;if(config.moreResults){if(!ALY.util.jamespath.find(config.moreResults,this.data)){return this.nextPageTokens}}var exprs=config.outputToken;if(typeof exprs==="string")exprs=[exprs];ALY.util.arrayEach.call(this,exprs,function(expr){var output=ALY.util.jamespath.find(expr,this.data);if(output){this.nextPageTokens=this.nextPageTokens||[];this.nextPageTokens.push(output)}});return this.nextPageTokens}})}).call(this,require("_process"))},{"./core":5,_process:85,stream:106}],12:[function(require,module,exports){(function(process){var ALY=require("./core");var domain=ALY.util.nodeRequire("domain");ALY.SequentialExecutor=ALY.util.inherit({constructor:function SequentialExecutor(){this.domain=domain&&domain.active;this._events={}},listeners:function listeners(eventName){return this._events[eventName]?this._events[eventName].slice(0):[]},on:function on(eventName,listener){if(this._events[eventName]){this._events[eventName].push(listener)}else{this._events[eventName]=[listener]}return this},onAsync:function onAsync(eventName,listener){listener._isAsync=true;return this.on(eventName,listener)},removeListener:function removeListener(eventName,listener){var listeners=this._events[eventName];if(listeners){var length=listeners.length;var position=-1;for(var i=0;i<length;++i){if(listeners[i]===listener){position=i}}if(position>-1){listeners.splice(position,1)}}return this},removeAllListeners:function removeAllListeners(eventName){if(eventName){delete this._events[eventName]}else{this._events={}}return this},emit:function emit(eventName,eventArgs,doneCallback){if(!doneCallback)doneCallback=this.unhandledErrorCallback;if(domain&&this.domain instanceof domain.Domain)this.domain.enter();if(process.env.DEBUG=="aliyun"){console.log("emit",eventName)}var listeners=this.listeners(eventName);var count=listeners.length;this.callListeners(listeners,eventArgs,doneCallback);return count>0},callListeners:function callListeners(listeners,args,doneCallback){if(listeners.length===0){doneCallback.call(this);if(domain&&this.domain instanceof domain.Domain)this.domain.exit()}else{var listener=listeners.shift();if(listener._isAsync){var callNextListener=function(err){if(err){doneCallback.call(this,err);if(domain&&this.domain instanceof domain.Domain)this.domain.exit()}else{this.callListeners(listeners,args,doneCallback)}}.bind(this);listener.apply(this,args.concat([callNextListener]))}else{try{listener.apply(this,args);this.callListeners(listeners,args,doneCallback)}catch(err){doneCallback.call(this,err);if(domain&&this.domain instanceof domain.Domain)this.domain.exit()}}}},addListeners:function addListeners(listeners){var self=this;if(listeners._events)listeners=listeners._events;ALY.util.each(listeners,function(event,callbacks){if(typeof callbacks==="function")callbacks=[callbacks];ALY.util.arrayEach(callbacks,function(callback){self.on(event,callback)})});return self},addNamedListener:function addNamedListener(name,eventName,callback){this[name]=callback;this.addListener(eventName,callback);return this},addNamedAsyncListener:function addNamedAsyncListener(name,eventName,callback){callback._isAsync=true;return this.addNamedListener(name,eventName,callback)},addNamedListeners:function addNamedListeners(callback){var self=this;callback(function(){self.addNamedListener.apply(self,arguments)},function(){self.addNamedAsyncListener.apply(self,arguments)});return this},unhandledErrorCallback:function unhandledErrorCallback(err){if(err){if(domain&&this.domain instanceof domain.Domain){err.domainEmitter=this;err.domain=this.domain;err.domainThrown=false;this.domain.emit("error",err)}else{throw err}}}});ALY.SequentialExecutor.prototype.addListener=ALY.SequentialExecutor.prototype.on;ALY.SequentialExecutor.prototype.addAsyncListener=ALY.SequentialExecutor.prototype.onAsync}).call(this,require("_process"))},{"./core":5,_process:85}],13:[function(require,module,exports){(function(__dirname){var ALY=require("./core");var inherit=ALY.util.inherit;ALY.Service=inherit({constructor:function Service(config){if(!this.loadServiceClass){throw ALY.util.error(new Error,"Service must be constructed with `new' operator")}var ServiceClass=this.loadServiceClass(config||{});if(ServiceClass)return new ServiceClass(config);this.initialize(config)},initialize:function initialize(config){this.config=new ALY.Config(config)},loadServiceClass:function loadServiceClass(serviceConfig){if(!ALY.util.isEmpty(this.api)){return}else if(!this.constructor.services){return}else{return this.getLatestServiceClass(serviceConfig.apiVersion)}},getLatestServiceClass:function getLatestServiceClass(version){if(this.constructor.services[version]===null){ALY.Service.defineServiceApi(this.constructor,version)}return this.constructor.services[version]},api:{},defaultRetryCount:3,makeRequest:function makeRequest(operation,params,callback){if(typeof params==="function"){callback=params;params=null}params=params||{};if(this.config.params){var rules=this.api.operations[operation];if(rules){params=ALY.util.copy(params);ALY.util.each(this.config.params,function(key,value){if(rules.input.members[key]){if(params[key]===undefined||params[key]===null){params[key]=value}}})}}var request=new ALY.Request(this,operation,params);this.addAllRequestListeners(request);if(callback)request.send(callback);return request},makeUnauthenticatedRequest:function makeUnauthenticatedRequest(operation,params,callback){if(typeof params==="function"){callback=params;params={}}var request=this.makeRequest(operation,params);request.removeListener("sign",ALY.EventListeners.Core.SIGN);if(this.api.format==="query"){request.addListener("build",function convertToGET(request){request.httpRequest.method="GET";request.httpRequest.path="/?"+request.httpRequest.body;request.httpRequest.body="";delete request.httpRequest.headers["Content-Length"];delete request.httpRequest.headers["Content-Type"]})}return callback?request.send(callback):request},addAllRequestListeners:function addAllRequestListeners(request){var list=[ALY.events,ALY.EventListeners.Core,this.serviceInterface()];for(var i=0;i<list.length;i++){if(list[i])request.addListeners(list[i])}if(!this.config.paramValidation){request.removeListener("validate",ALY.EventListeners.Core.VALIDATE_PARAMETERS)}if(this.config.logger){request.addListeners(ALY.EventListeners.Logger)}this.setupRequestListeners(request)},setupRequestListeners:function setupRequestListeners(){},getSignerClass:function getSignerClass(){var version=this.api.signatureVersion;return ALY.Signers.RequestSigner.getVersion(version)},serviceInterface:function serviceInterface(){switch(this.api.format){case"query":return ALY.EventListeners.Query;case"json":return ALY.EventListeners.Json;case"rest":return ALY.EventListeners.Rest;case"rest-json":return ALY.EventListeners.RestJson;case"pop":return ALY.EventListeners.Pop;case"top":return ALY.EventListeners.Top;case"rest-xml":return ALY.EventListeners.RestXml}if(this.api.format){throw new Error("Invalid service `format' "+this.api.format+" in API config")}},successfulResponse:function successfulResponse(resp){return resp.httpResponse.statusCode<300},numRetries:function numRetries(){if(this.config.maxRetries!==undefined){return this.config.maxRetries}else{return this.defaultRetryCount}},retryDelays:function retryDelays(){var retryCount=this.numRetries();var delays=[];for(var i=0;i<retryCount;++i){delays[i]=Math.pow(2,i)*30}return delays},retryableError:function retryableError(error){if(this.networkingError(error))return true;if(this.throttledError(error))return true;if(error.statusCode>=500)return true;return false},networkingError:function networkingError(error){return error.code=="NetworkingError"},throttledError:function throttledError(error){return error.code=="ProvisionedThroughputExceededException"},isRegionCN:function isRegionCN(){if(!this.config.region)return false;return this.config.region.match(/^cn-/)?true:false},isRegionV4:function isRegionV4(){return this.isRegionCN()},paginationConfig:function paginationConfig(operation,throwException){function fail(name){if(throwException){var e=new Error;throw ALY.util.error(e,"No pagination configuration for "+name)}return null}if(!this.api.pagination)return fail("service");if(!this.api.pagination[operation])return fail(operation);return this.api.pagination[operation]}});ALY.util.update(ALY.Service,{defineMethods:function defineMethods(svc){ALY.util.each(svc.prototype.api.operations,function iterator(method){if(svc.prototype[method])return;svc.prototype[method]=function(params,callback){return this.makeRequest(method,params,callback)}})},defineService:function defineService(serviceIdentifier,versions,features){if(!Array.isArray(versions)){features=versions;versions=[]}var svc=inherit(ALY.Service,features||{});if(typeof serviceIdentifier==="string"){var services={};for(var i=0;i<versions.length;i++){services[versions[i]]=null}svc.services=svc.services||services;svc.apiVersions=Object.keys(svc.services).sort();svc.serviceIdentifier=svc.serviceIdentifier||serviceIdentifier}else{svc.prototype.api=serviceIdentifier;ALY.Service.defineMethods(svc)}return svc},defineServiceApi:function defineServiceApi(superclass,version){var svc=inherit(superclass,{serviceIdentifier:superclass.serviceIdentifier});if(typeof version==="string"){var file=superclass.serviceIdentifier+"-"+version;var path=__dirname+"/../apis/"+file+".json";try{if(ALY.util.isBrowser()){svc.prototype.api=require(file+".json")}else{var fs=require("fs");svc.prototype.api=JSON.parse(fs.readFileSync(path))}}catch(err){throw ALY.util.error(err,{message:"Could not find API configuration "+file})}if(!superclass.services.hasOwnProperty(version)){superclass.apiVersions.push(version)}superclass.services[version]=svc}else{setApi(version)}ALY.Service.defineMethods(svc);return svc}})}).call(this,"/lib")},{"./core":5,fs:74}],14:[function(require,module,exports){var ALY=require("../core");require("../json/builder");ALY.ServiceInterface.Json={buildRequest:function buildRequest(req){var httpRequest=req.httpRequest;var api=req.service.api;var target=api.targetPrefix+"."+api.operations[req.operation].name;var version=api.jsonVersion||"1.0";var rules=api.operations[req.operation].input;var builder=new ALY.JSON.Builder(rules,api);httpRequest.path="/";httpRequest.body=builder.build(req.params||{})},extractError:function extractError(resp){var error={};var httpResponse=resp.httpResponse;if(httpResponse.body.length>0){var e=JSON.parse(httpResponse.body.toString());if(e.__type||e.code||e.Code){error.code=(e.__type||e.code||e.Code).split("#").pop()}else{error.code="UnknownError"}if(error.code==="RequestEntityTooLarge"){error.message="Request body must be less than 1 MB"}else{error.message=e.message||e.Message||null}}else{error.code=httpResponse.statusCode;error.message=null}resp.error=ALY.util.error(new Error,error)},extractData:function extractData(resp){resp.data=JSON.parse(resp.httpResponse.body.toString()||"{}")}}},{"../core":5,"../json/builder":9}],15:[function(require,module,exports){var ALY=require("../core");require("./rest");require("./json");function randomNumbers(count){var num="";for(var i=0;i<count;i++){num+=Math.floor(Math.random()*10)}return num}ALY.ServiceInterface.Pop={buildRequest:function buildRequest(req){ALY.ServiceInterface.Rest.buildRequest(req);ALY.ServiceInterface.Pop.populateBody(req)},extractError:function extractError(resp){ALY.ServiceInterface.Json.extractError(resp)},extractData:function extractData(resp){resp.data=JSON.parse(resp.httpResponse.body.toString())},populateBody:function populateBody(req){req.httpRequest.headers["Content-Type"]="application/x-www-form-urlencoded;charset=UTF-8";var body=req.params;var date=ALY.util.date.getDate();body.Format="JSON";body.Version=req.service.api.apiVersion;body.AccessKeyId=req.service.config.accessKeyId;body.SignatureVersion="1.0";body.SignatureMethod="HMAC-SHA1";body.SignatureNonce=String(date.getTime())+randomNumbers(4);body.Timestamp=ALY.util.date.iso8601(date);var headers=[];ALY.util.each(body,function(name){headers.push(name)});headers.sort(function(a,b){return a<b?-1:1});var canonicalizedQueryString="";ALY.util.arrayEach.call(this,headers,function(name){canonicalizedQueryString+="&"+name+"="+ALY.util.popEscape(body[name])});var stringToSign="POST&%2F&"+ALY.util.popEscape(canonicalizedQueryString.substr(1));body.Signature=ALY.util.crypto.hmac(req.service.config.secretAccessKey+"&",stringToSign,"base64","sha1");var bodyString=ALY.util.queryParamsToString(body);req.httpRequest.body=bodyString},buildJSON:function buildJSON(params,rules,api){var builder=new ALY.JSON.Builder(rules,api);return builder.build(params)}}},{"../core":5,"./json":14,"./rest":17}],16:[function(require,module,exports){var ALY=require("../core");var inherit=ALY.util.inherit;ALY.ServiceInterface.Query={buildRequest:function buildRequest(req){var operation=req.service.api.operations[req.operation];var httpRequest=req.httpRequest;httpRequest.method="GET";httpRequest.headers["Content-Type"]="application/x-www-form-urlencoded; charset=utf-8";httpRequest.params={Action:operation.name,Version:req.service.api.apiVersion,Timestamp:ALY.util.date.iso8601(ALY.util.date.getDate()),Format:"json",AccessKeyId:req.service.config.accessKeyId,SignatureVersion:"1.0",SignatureMethod:"HMAC-SHA1",SignatureNonce:ALY.util.uuid()};var rules=operation.input;if(rules)rules=rules.members;var builder=new ALY.QueryParamSerializer(rules,req.service.api);builder.serialize(req.params,function(name,value){httpRequest.params[name]=value});httpRequest.path="/?"+ALY.util.queryParamsToString(httpRequest.params)},extractError:function extractError(resp){var data=JSON.parse(resp.httpResponse.body.toString());if(data.Code){resp.error=ALY.util.error(new Error,{code:data.Code,message:data.Message,RequestId:data.RequestId})}else{resp.error=ALY.util.error(new Error,{code:resp.httpResponse.statusCode,message:null,RequestId:data.RequestId})}},extractData:function extractData(resp){resp.data=resp.httpResponse.body.toString()}};ALY.QueryParamSerializer=inherit({constructor:function QueryParamSerializer(rules,options){this.rules=rules;this.timestampFormat=options?options.timestampFormat:"iso8601"},serialize:function serialize(params,fn){this.serializeStructure("",params,this.rules,fn)},serializeStructure:function serializeStructure(prefix,struct,rules,fn){var that=this;ALY.util.each(struct,function(name,member){var n=rules[name].name||name;var memberName=prefix?prefix+"."+n:n;that.serializeMember(memberName,member,rules[name],fn)})},serializeMap:function serialzeMap(name,map,rules,fn){var i=1;var that=this;ALY.util.each(map,function(key,value){var prefix=rules.flattened?".":".entry.";var position=prefix+i+++".";var keyName=position+(rules.keys.name||"key");var valueName=position+(rules.members.name||"value");that.serializeMember(name+keyName,key,rules.keys,fn);that.serializeMember(name+valueName,value,rules.members,fn)})},serializeList:function serializeList(name,list,rules,fn){var that=this;var memberRules=rules.members||{};ALY.util.arrayEach(list,function(v,n){var suffix="."+(n+1);if(rules.flattened){if(memberRules.name){var parts=name.split(".");parts.pop();parts.push(memberRules.name);name=parts.join(".")}}else{suffix=".member"+suffix}that.serializeMember(name+suffix,v,memberRules,fn)})},serializeMember:function serializeMember(name,value,rules,fn){if(value===null||value===undefined)return;if(rules.type==="structure"){this.serializeStructure(name,value,rules.members,fn)}else if(rules.type==="list"){this.serializeList(name,value,rules,fn)}else if(rules.type==="map"){this.serializeMap(name,value,rules,fn)}else if(rules.type==="timestamp"){var timestampFormat=rules.format||this.timestampFormat;fn.call(this,name,ALY.util.date.format(value,timestampFormat))}else{fn.call(this,name,String(value))}}})},{"../core":5}],17:[function(require,module,exports){var ALY=require("../core");ALY.ServiceInterface.Rest={buildRequest:function buildRequest(req){ALY.ServiceInterface.Rest.populateMethod(req);ALY.ServiceInterface.Rest.populateURI(req);ALY.ServiceInterface.Rest.populateHeaders(req)},extractError:function extractError(){},extractData:function extractData(resp){var req=resp.request;var data={};var r=resp.httpResponse;var operation=req.service.api.operations[req.operation];var rules=(operation.output||{}).members||{};var headers={};ALY.util.each(r.headers,function(k,v){headers[k.toLowerCase()]=v});ALY.util.each(rules,function(name,rule){if(rule.location==="header"){var header=(rule.name||name).toLowerCase();if(rule.type=="map"){data[name]={};ALY.util.each(r.headers,function(k,v){var result=k.match(new RegExp("^"+rule.name+"(.+)","i"));if(result!==null){data[name][result[1]]=v}})}if(headers[header]!==undefined){data[name]=headers[header]}}if(rule.location==="status"){data[name]=parseInt(r.statusCode,10)}});resp.data=data},populateMethod:function populateMethod(req){req.httpRequest.method=req.service.api.operations[req.operation].http.method},populateURI:function populateURI(req){var operation=req.service.api.operations[req.operation];var uri=operation.http.uri;var pathPattern=uri.split(/\?/)[0];var rules=(operation.input||{}).members||{};var escapePathParam=req.service.escapePathParam||ALY.ServiceInterface.Rest.escapePathParam;var escapeQuerystringParam=req.service.escapeQuerystringParam||ALY.ServiceInterface.Rest.escapeQuerystringParam;ALY.util.each.call(this,rules,function(name,rule){if(rule.location=="uri"&&req.params[name]!=null){var value=pathPattern.match("{"+name+"}")?escapePathParam(req.params[name]):escapeQuerystringParam(req.params[name]);uri=uri.replace("{"+name+"}",value)}});var path=uri.split("?")[0];var querystring=uri.split("?")[1];if(querystring){var parts=[];ALY.util.arrayEach(querystring.split("&"),function(part){if(!part.match("{\\w+}"))parts.push(part)});uri=parts.length>0?path+"?"+parts.join("&"):path}else{uri=path}req.httpRequest.path=uri},escapePathParam:function escapePathParam(value){return ALY.util.uriEscape(String(value))},escapeQuerystringParam:function escapeQuerystringParam(value){return ALY.util.uriEscape(String(value))},populateHeaders:function populateHeaders(req){var operation=req.service.api.operations[req.operation];var rules=(operation.input||{}).members||{};ALY.util.each.call(this,rules,function(name,rule){if(rule.location==="header"&&req.params[name]){if(rule.type==="map"){ALY.util.each(req.params[name],function(key,value){req.httpRequest.headers[rule.name+key]=value})}else{var value=req.params[name];if(rule.type==="timestamp"){var timestampFormat=rule.format||req.service.api.timestampFormat;value=ALY.util.date.format(value,timestampFormat)}req.httpRequest.headers[rule.name||name]=value}}});if(req.service.config.securityToken){req.httpRequest.headers["x-oss-security-token"]=req.service.config.securityToken}}}},{"../core":5}],18:[function(require,module,exports){var ALY=require("../core");require("./rest");require("./json");ALY.ServiceInterface.RestJson={buildRequest:function buildRequest(req){ALY.ServiceInterface.Rest.buildRequest(req);ALY.ServiceInterface.RestJson.populateBody(req)},extractError:function extractError(resp){ALY.ServiceInterface.Json.extractError(resp)},extractData:function extractData(resp){var req=resp.request;var rules=req.service.api.operations[req.operation].output||{};if(rules.payload&&rules.members[rules.payload]){if(rules.members[rules.payload].streaming){resp.data[rules.payload]=resp.httpResponse.body}else{resp.data[rules.payload]=resp.httpResponse.body.toString()}}else{var data=resp.data;ALY.ServiceInterface.Json.extractData(resp);resp.data=ALY.util.merge(data,resp.data)}},populateBody:function populateBody(req){var input=req.service.api.operations[req.operation].input;var payload=input.payload;var params={};if(typeof payload==="string"){var rules=input.members[payload];params=req.params[payload];if(params===undefined)return;if(rules.type==="structure"){req.httpRequest.body=this.buildJSON(params,input,req.service.api)}else{req.httpRequest.body=params}}else if(payload){ALY.util.arrayEach(payload,function(param){if(req.params[param]!==undefined){params[param]=req.params[param]}});req.httpRequest.body=this.buildJSON(params,input,req.service.api)}},buildJSON:function buildJSON(params,rules,api){var builder=new ALY.JSON.Builder(rules,api);return builder.build(params)}}},{"../core":5,"./json":14,"./rest":17}],19:[function(require,module,exports){var ALY=require("../core");require("../xml/builder");require("../xml/parser");require("./rest");ALY.ServiceInterface.RestXml={buildRequest:function buildRequest(req){ALY.ServiceInterface.Rest.buildRequest(req);ALY.ServiceInterface.RestXml.populateBody(req)},extractError:function extractError(resp){try{var data=new ALY.XML.Parser({}).parse(resp.httpResponse.body.toString());if(data.Errors)data=data.Errors;if(data.Error)data=data.Error;if(data.Code){resp.error=ALY.util.error(new Error,{code:data.Code,message:data.Message})}else{resp.error=ALY.util.error(new Error,{code:resp.httpResponse.statusCode,message:null})}}catch(err){resp.error=ALY.util.error(new Error,{code:resp.httpResponse.statusCode,message:resp.httpResponse.body.toString()})}},extractData:function extractData(resp){ALY.ServiceInterface.Rest.extractData(resp);var req=resp.request;var httpResponse=resp.httpResponse;var operation=req.service.api.operations[req.operation];var rules=operation.output.members;var output=operation.output;var payload=output.payload;if(payload){if(rules[payload].streaming){resp.data[payload]=httpResponse.body}else{resp.data[payload]=httpResponse.body.toString()}}else if(httpResponse.body.length>0){try{var parser=new ALY.XML.Parser(operation.output||{});ALY.util.update(resp.data,parser.parse(httpResponse.body.toString()))}catch(err){}}resp.data.RequestId=httpResponse.headers["x-oss-request-id"]||httpResponse.headers["x-oss-requestid"]},populateBody:function populateBody(req){var input=req.service.api.operations[req.operation].input;var payload=input.payload;var rules={};var builder=null;var params=req.params;if(typeof payload==="string"){rules=input.members[payload];params=params[payload];if(params===undefined)return;if(rules.type==="structure"){builder=new ALY.XML.Builder(payload,rules.members,req.service.api);req.httpRequest.body=builder.toXML(params)}else{req.httpRequest.body=params}}else if(payload){ALY.util.arrayEach(payload,function(member){rules[member]=input.members[member]});builder=new ALY.XML.Builder(input.wrapper,rules,req.service.api);req.httpRequest.body=builder.toXML(params)}}}},{"../core":5,"../xml/builder":35,"../xml/parser":36,"./rest":17}],20:[function(require,module,exports){var ALY=require("../core");require("./rest");require("./json");ALY.ServiceInterface.Top={buildRequest:function buildRequest(req){ALY.ServiceInterface.Top.populateMethod(req);ALY.ServiceInterface.Top.populateBodyAndURI(req)},extractError:function extractError(resp){ALY.ServiceInterface.Json.extractError(resp)},extractData:function extractData(resp){resp.data=JSON.parse(resp.httpResponse.body.toString())},populateMethod:function populateBodyAndURI(req){req.httpRequest.method=req.service.api.operations[req.operation].http.method},populateBodyAndURI:function populateBody(req){req.httpRequest.headers["Content-Type"]="application/x-www-form-urlencoded;charset=UTF-8";req.httpRequest.headers["Cache-Control"]="no-cache";req.httpRequest.headers["Connection"]="Keep-Alive";var application_parameter=req.params;ALY.util.each(application_parameter,function(name){var value=application_parameter[name];if(value!==null&&typeof value==="object"){application_parameter[name]=JSON.stringify(value)}});var sys_parameters={format:"json",app_key:req.service.config.accessKeyId,sign_method:"md5",v:"2.0",timestamp:ALY.util.date.unixMilliseconds(ALY.util.date.getDate()),partner_id:"taobao-sdk-python-20151223",method:application_parameter.method};delete application_parameter.method;var sign_parameter=[];ALY.util.each(sys_parameters,function(name){sign_parameter.push(name)});ALY.util.each(application_parameter,function(name){sign_parameter.push(name)});sign_parameter.sort(function(a,b){return a.toLowerCase()<b.toLowerCase()?-1:1});var canonicalizedQueryString="";ALY.util.arrayEach.call(this,sign_parameter,function(name){canonicalizedQueryString+=name+(sys_parameters[name]||application_parameter[name])});var stringToSign=req.service.config.secretAccessKey+canonicalizedQueryString+req.service.config.secretAccessKey;sys_parameters.sign=ALY.util.crypto.md5(stringToSign,"hex").toUpperCase();req.httpRequest.body=ALY.util.queryParamsToString(application_parameter);req.httpRequest.path="/router/rest?"+ALY.util.queryParamsToString(sys_parameters)},buildJSON:function buildJSON(params,rules,api){var builder=new ALY.JSON.Builder(rules,api);return builder.build(params)}}},{"../core":5,"./json":14,"./rest":17}],21:[function(require,module,exports){var ALY=require("../core");var parseURL=require("url").parse;ALY.BatchCompute=ALY.Service.defineService("batchcompute",["2015-06-30","2015-11-11"],{initialize:function initialize(options){ALY.Service.prototype.initialize.call(this,options)},setupRequestListeners:function setupRequestListeners(request){var that=this;var svc=ALY.ServiceInterface.RestJson;request.addListener("build",this.addContentType);request.removeListener("extractData",svc.extractData);request.addListener("extractError",this.extractError);request.addListener("extractData",function(response){that.extractData(response,request["operation"])})},addContentType:function(req){var httpRequest=req.httpRequest;var headers=httpRequest.headers;headers["x-acs-version"]=req.service.config.apiVersion;if(req.operation==="updateJobPriority"){httpRequest.body=JSON.parse(httpRequest.body).priority+"";headers["Content-Type"]="application/octet-stream"}},extractData:function extractData(resp,operation){resp.data=JSON.parse(resp.httpResponse.body.toString().trim()||"{}");var result=resp.data;delete result["RequestId"];var headers=resp.httpResponse.headers;var reqId=headers["x-acs-request-id"]||headers["request-id"];resp.data={code:resp.httpResponse.statusCode,message:headers.status,headers:headers,requestId:reqId||""};if(headers["x-acs-version"]==="2015-06-30"){switch(operation){case"listJobs":resp.data.data=this.getFormatters().formatJobList(result);break;case"getJob":resp.data.data=this.getFormatters().formatJob(result);break;case"getJobDescription":resp.data.data=this.getFormatters().formatJobDescription(result);break;case"listTasks":resp.data.data=this.getFormatters().formatTaskList(result);break;case"listImages":resp.data.data=this.getFormatters().formatImageList(result);break;case"createJob":resp.data.data=this.getFormatters().formatJob(result);break}}else{resp.data.data=result}},getFormatters:function(){function getState(state){switch(state){case 0:return"Init";case 1:return"Waiting";case 2:return"Running";case 3:return"Finished";case 4:return"Failed";case 5:return"Stopped";default:return"Unkowned"}}return{formatJob:function(v){v["JobId"]=v["ResourceId"];v["JobName"]=v["Name"];v["CreationTime"]=v["CreateTime"];delete v["Name"];delete v["ResourceId"];delete v["CreateTime"];if(v["State"]=="Terminated")v["State"]="Finished";return v},formatJobList:function(data){var that=this;var t=[];Object.keys(data).forEach(function(k){t.push(that.formatJob(data[k]))});t.sort(function(a,b){return a["JobId"]>b["JobId"]?1:-1});return t},formatTaskList:function(data){var t=[];Object.keys(data).forEach(function(k){var v=data[k];v["TaskName"]=k;v["State"]=getState(v["State"]);v["InstanceList"]=v["InstanceStatusVector"];delete v["InstanceStatusVector"];delete v["UnfinishedInstances"];if(v["InstanceList"]){v["InstanceList"].forEach(function(n){n.State=getState(n.State);delete n["WorkerStartTime"];delete n["WorkerEndTime"]})}t.push(data[k])});t.sort(function(a,b){if(a["StartTime"]==0){if(b["StartTime"]==0){return a["TaskName"]>b["TaskName"]?1:-1}else{return-1}}else{if(b["StartTime"]==0){return-1}else{return a["StartTime"]>b["StartTime"]?1:-1}}});return t},formatImageList:function(data){var t=[];Object.keys(data).forEach(function(k){var v=data[k];v["ImageId"]=k;v["ImageName"]=v["Name"];delete v["Name"];t.push(data[k])});t.sort(function(a,b){return a["ImageId"]>b["ImageId"]?1:-1});return t},formatJobDescription:function(data){var taskMap=data.TaskDag.TaskDescMap;Object.keys(taskMap).forEach(function(k){var v=taskMap[k];delete v["BlockDeviceMapping"];delete v["CreateSnapshotAfterTerminated"];delete v["LoadImage"];delete v["SaveImage"];delete v["LoadPreparedData"];delete v["MaxReplica"];delete v["MinReplica"]});return data}}},extractError:function extractError(resp){var headers=resp.httpResponse.headers;var body=resp.httpResponse.body;var error=body.toString();try{error=JSON.parse(error)}catch(e){error={}}resp.error=ALY.util.error(new Error(error.Message),{code:error.Code||error.ErrorCode,headers:headers,requestId:headers["x-acs-request-id"]||headers["request-id"]})}});module.exports=ALY.BatchCompute},{"../core":5,url:109}],22:[function(require,module,exports){var ALY=require("../core");var parseURL=require("url").parse;ALY.OpenSearch=ALY.Service.defineService("opensearch",["2015-01-01"],{initialize:function initialize(options){ALY.Service.prototype.initialize.call(this,options)},setupRequestListeners:function setupRequestListeners(request){request.addListener("build",this.addContentType);request.addListener("build",this.buildContent);request.removeListener("validate",ALY.EventListeners.Core.VALIDATE_REGION);request.addListener("extractError",this.extractError);request.addListener("extractData",this.extractData)},populateURI:function populateURI(req){var hostname=req.httpRequest.endpoint.hostname;var projectName=req.params["projectName"];var host=projectName+"."+hostname;if(!/^[0-9.]+$/.test(hostname)){var protocol=req.httpRequest.endpoint.protocol;var port=req.httpRequest.endpoint.port;var endpointObj=parseURL(protocol+"//"+host+":"+port);ALY.util.update(req.httpRequest,{endpoint:endpointObj})}req.httpRequest.headers["Host"]=host;delete req.httpRequest.headers["projectName"]},addContentType:function addContentType(req){var httpRequest=req.httpRequest;httpRequest.headers["Content-Type"]="application/x-www-form-urlencoded;charset=UTF-8"},buildContent:function buildContent(req){var input=req.service.api.operations[req.operation].input;var payload=input.payload;var params={};if(typeof payload==="string"){var rules=input.members[payload];params=req.params[payload];if(params===undefined)return;if(rules.type==="structure"){req.httpRequest.body=this.buildJSON(params,input,req.service.api)}else{req.httpRequest.body=params}}else if(payload){var arr=[];ALY.util.arrayEach(payload,function(param){if(req.params[param]!==undefined){params[param]=req.params[param];if(param=="items"){arr.push(param+"="+encodeURIComponent(JSON.stringify(req.params[param])))}else{arr.push(param+"="+req.params[param])}}});req.httpRequest.body=arr.join("&")}},willComputeChecksums:function willComputeChecksums(req){var rules=req.service.api.operations[req.operation].input;if(rules.ContentMD5)return true},computeContentMd5:function computeContentMd5(req){if(req.service.willComputeChecksums(req)){var md5=ALY.util.crypto.md5(req.httpRequest.body,"hex").toUpperCase();req.httpRequest.headers["Content-MD5"]=md5}},computeSha256:function computeSha256(req){if(req.service.getSignerClass(req)===ALY.Signers.V4){req.httpRequest.headers["X-Amz-Content-Sha256"]=ALY.util.crypto.sha256(req.httpRequest.body||"","hex")}},escapePathParam:function escapePathParam(value){return ALY.util.uriEscapePath(String(value))},successfulResponse:function successfulResponse(resp){var httpResponse=resp.httpResponse;return httpResponse.statusCode<300},retryableError:function retryableError(error,request){var _super=ALY.Service.prototype.retryableError;return _super.call(this,error,request)},extractData:function extractData(resp){ALY.ServiceInterface.Rest.extractData(resp);var req=resp.request;var rules=req.service.api.operations[req.operation].output||{};if(rules.payload&&rules.members[rules.payload]){if(rules.members[rules.payload].streaming){resp.data[rules.payload]=resp.httpResponse.body}else{resp.data[rules.payload]=resp.httpResponse.body.toString()}}else{var data=resp.data;ALY.ServiceInterface.Json.extractData(resp);resp.data=ALY.util.merge(data,resp.data)}},extractError:function extractError(resp){var error={};var httpResponse=resp.httpResponse;if(httpResponse.body.length>0){var e=JSON.parse(httpResponse.body.toString());if(e.__type||e.code){error.code=(e.__type||e.code).split("#").pop()}else{error.code="UnknownError"}if(error.code==="RequestEntityTooLarge"){error.message="Request body must be less than 1 MB"}else{error.message=e.message||e.Message||null}}else{error.code=httpResponse.statusCode;error.message=null}resp.error=ALY.util.error(new Error,error)}});module.exports=ALY.OpenSearch},{"../core":5,url:109}],23:[function(require,module,exports){var ALY=require("../core");var ipv4Regex=/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;var ipv6Regex=/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/;ALY.OSS=ALY.Service.defineService("oss",["2013-10-15"],{initialize:function initialize(options){ALY.Service.prototype.initialize.call(this,options)},hostIsIP:function hostIsIP(hostName){return ipv4Regex.test(hostName)||ipv6Regex.test(hostName)},setupRequestListeners:function setupRequestListeners(request){request.addListener("build",this.addContentType);request.addListener("build",this.populateURI);request.addListener("build",this.computeContentMd5);request.addListener("extractError",this.extractError);request.addListener("extractData",this.extractData)},populateURI:function populateURI(req){var httpRequest=req.httpRequest;var b=req.params.Bucket;if(b){var cname=req.service.config.cname||false;if(cname){httpRequest.endpoint.host=httpRequest.endpoint.hostname;httpRequest.virtualHostedBucket=b;httpRequest.path=httpRequest.path.replace(new RegExp("^/"+b),"");if(httpRequest.path[0]!=="/"){httpRequest.path="/"+httpRequest.path}return}if(!req.service.hostIsIP(httpRequest.endpoint.hostname)){httpRequest.endpoint.host=httpRequest.endpoint.hostname=b+"."+httpRequest.endpoint.hostname;httpRequest.virtualHostedBucket=b;httpRequest.path=httpRequest.path.replace(new RegExp("^/"+b),"")}if(httpRequest.path[0]!=="/"){httpRequest.path="/"+httpRequest.path}}},addContentType:function addContentType(req){var httpRequest=req.httpRequest;if(!httpRequest.headers["Content-Type"]){httpRequest.headers["Content-Type"]="application/octet-stream"}if(ALY.util.isBrowser()&&window.navigator.userAgent.match(/Firefox/)){if(!httpRequest.headers["Content-Type"].match(/;/)){var charset="; charset=UTF-8";httpRequest.headers["Content-Type"]+=charset}}},willComputeChecksums:function willComputeChecksums(req){var rules=req.service.api.operations[req.operation].input.members;if(rules.ContentMD5&&!req.params.ContentMD5)return true},computeContentMd5:function computeContentMd5(req){if(req.service.willComputeChecksums(req)){var md5=ALY.util.crypto.md5(req.httpRequest.body,"base64");req.httpRequest.headers["Content-MD5"]=md5}},escapePathParam:function escapePathParam(value){return ALY.util.uriEscapePath(String(value))},successfulResponse:function successfulResponse(resp){var req=resp.request;var httpResponse=resp.httpResponse;if(req.operation==="completeMultipartUpload"&&httpResponse.body.toString().match("<Error>"))return false;else return httpResponse.statusCode<300},retryableError:function retryableError(error,request){if(request.operation=="completeMultipartUpload"&&error.statusCode===200){return true}else{var _super=ALY.Service.prototype.retryableError;return _super.call(this,error,request)}},extractData:function extractData(resp){var req=resp.request;if(req.operation==="getBucketLocation"){var match=resp.httpResponse.body.toString().match(/>(.+)<\/Location/);if(match){delete resp.data["_"];resp.data.LocationConstraint=match[1]}}for(var k in resp.httpResponse.headers){if(k.indexOf("x-oss-")==0){var arr=k.substring("x-oss-".length).split("-");for(var i=0;i<arr.length;i++){arr[i]=arr[i][0].toUpperCase()+arr[i].substring(1)}resp.data[arr.join("")]=resp.httpResponse.headers[k]}else if(k=="content-md5"){resp.data["ContentMD5"]=resp.httpResponse.headers["content-md5"]}}resp.data.RequestId=resp.httpResponse.headers["x-oss-request-id"]||resp.httpResponse.headers["x-oss-requestid"]},extractError:function extractError(resp){var codes={304:"NotModified",403:"Forbidden",400:"BadRequest",404:"NotFound"};var code=resp.httpResponse.statusCode;var body=resp.httpResponse.body;if(codes[code]&&body.length===0){resp.error=ALY.util.error(new Error,{code:codes[resp.httpResponse.statusCode],message:null,headers:resp.httpResponse.headers})}else{var data;try{data=new ALY.XML.Parser({}).parse(body.toString());resp.error=ALY.util.error(new Error,{code:data.Code||code,message:data.Message||null,headers:resp.httpResponse.headers})}catch(e){data=body.toString();resp.error=ALY.util.error(new Error,{code:code,message:data,headers:resp.httpResponse.headers})}}},getSignedUrl:function getSignedUrl(operation,params,callback){params=ALY.util.copy(params||{});var expires=params.Expires||900;delete params.Expires;var request=this.makeRequest(operation,params);var expiresHeader="presigned-expires";function signedUrlBuilder(){delete request.httpRequest.headers["User-Agent"];if(request.service.getSignerClass()===ALY.Signers.V4){request.httpRequest.headers[expiresHeader]=expires}else{request.httpRequest.headers[expiresHeader]=parseInt(ALY.util.date.unixSeconds()+expires,10).toString()}}function signedUrlSigner(){var queryParams={};ALY.util.each(request.httpRequest.headers,function(key,value){if(key===expiresHeader)key="Expires";queryParams[key]=value});delete request.httpRequest.headers[expiresHeader];var auth=queryParams["Authorization"].split(" ");if(auth[0]==="OSS"){auth=auth[1].split(":");queryParams["OSSAccessKeyId"]=auth[0];queryParams["Signature"]=auth[1]}delete queryParams["Authorization"];delete queryParams["Host"];var endpoint=request.httpRequest.endpoint;var parsedUrl=ALY.util.urlParse(request.httpRequest.path);var querystring=ALY.util.queryParamsToString(queryParams);endpoint.pathname=parsedUrl.pathname;endpoint.search=!parsedUrl.search?querystring:parsedUrl.search+"&"+querystring}request.on("build",signedUrlBuilder);request.on("sign",signedUrlSigner);request.removeListener("build",this.addContentType);request.removeAllListeners("afterBuild");if(!params.Body){request.removeListener("build",this.computeContentMd5)}if(callback){request.build(function(){if(request.response.error)callback(request.response.error,null);else callback(null,ALY.util.urlFormat(request.httpRequest.endpoint))})}else{request.build();return ALY.util.urlFormat(request.httpRequest.endpoint)}}});module.exports=ALY.OSS},{"../core":5}],24:[function(require,module,exports){(function(process){var ALY=require("../core");var inherit=ALY.util.inherit;ALY.Signers.BatchCompute=inherit(ALY.Signers.RequestSigner,{addAuthorization:function addAuthorization(credentials,date){var headers=this.request.headers;headers["x-acs-date"]=ALY.util.date.rfc822(date);headers["x-acs-signature-method"]="HMAC-SHA1";headers["x-acs-signature-version"]="1.0";headers["x-sdk-client"]="node.js/1.0.0";headers["Accept"]="application/json";var signature=this.sign(credentials.secretAccessKey,this.stringToSign());var auth="acs "+credentials.accessKeyId+":"+signature;headers["Authorization"]=auth},stringToSign:function stringToSign(){var r=this.request;if(r.method!=="GET"&&r.method!=="HEAD"){r.headers["Content-Type"]=r.headers["Content-Type"]||"text/plain;charset=UTF-8"}var parts=[];parts.push(r.method);parts.push(r.headers["Accept"]||"");parts.push(r.headers["Content-MD5"]||"");parts.push(r.headers["Content-Type"]||"");parts.push(r.headers["x-acs-date"]||r.headers["Date"]||"");var headers=this.canonicalizedAmzHeaders();if(headers)parts.push(headers);parts.push(this.canonicalizedResource());return parts.join("\n")},canonicalizedAmzHeaders:function canonicalizedAmzHeaders(){var acsHeaders=[];ALY.util.each(this.request.headers,function(name){if(name.match(/^x-acs-/i))acsHeaders.push(name)});acsHeaders.sort(function(a,b){return a.toLowerCase()<b.toLowerCase()?-1:1});var parts=[];ALY.util.arrayEach.call(this,acsHeaders,function(name){parts.push(name.toLowerCase()+":"+String(this.request.headers[name]))});return parts.join("\n")},canonicalizedResource:function canonicalizedResource(){var r=this.request;var parts=r.path.split("?");var path=parts[0];var querystring=parts[1];var resource="";resource+=decodeURIComponent(path);if(querystring){var resources=[];var arr=querystring.replace(/(^&*)|(&*$)/g,"").split("&");ALY.util.arrayEach.call(this,arr,function(param){var kv=param.split("=");var name=kv[0];var value=kv.length>1?decodeURIComponent(kv[1]):"";var resource={name:name};if(value!==undefined){resource.value=value}resources.push(resource)});resources.sort(function(a,b){return a.name<b.name?-1:1});if(resources.length){querystring=[];ALY.util.arrayEach(resources,function(resource){if(resource.value===undefined)querystring.push(resource.name);else{if(resource.value!=null&&resource.value!=""){querystring.push(resource.name+"="+resource.value)}else{querystring.push(resource.name)}}});resource+="?"+querystring.join("&")}}return resource},sign:function sign(secret,string){if(process.env.DEBUG=="aliyun"){console.log("----------- sign string start -----------");console.log(string);console.log("----------- sign string end -----------")}return ALY.util.crypto.hmac(secret,string,"base64","sha1")}});module.exports=ALY.Signers.BatchCompute}).call(this,require("_process"))},{"../core":5,_process:85}],25:[function(require,module,exports){(function(process){var ALY=require("../core");var inherit=ALY.util.inherit;function randomNumbers(count){var num="";for(var i=0;i<count;i++){num+=Math.floor(Math.random()*10)}return num}ALY.Signers.CMS=inherit(ALY.Signers.RequestSigner,{addAuthorization:function addAuthorization(credentials,date){var date=new Date;var globalQuery={Format:"JSON",Version:"2015-10-20",AccessKeyId:credentials.accessKeyId,SignatureMethod:"HMAC-SHA1",SignatureVersion:"1.0",SignatureNonce:String(date.getTime())+randomNumbers(4),Timestamp:date.toISOString().replace(/\.\d{3}/,"")};var parts=[];Object.keys(globalQuery).forEach(function(key){parts.push(key+"="+encodeURIComponent(globalQuery[key]))});this.request.path+=(this.request.path.indexOf("?")==-1?"?":"&")+parts.join("&");var signature=this.sign(credentials.secretAccessKey,this.stringToSign());this.request.path+="&Signature="+encodeURIComponent(signature)},stringToSign:function stringToSign(){var r=this.request;var s=r.method+"&%2F&"+encodeURIComponent(this.canonicalizedQueryString());return s},canonicalizedQueryString:function canonicalizedQueryString(){var that=this;var r=this.request;var querystring=r.path.split("?")[1];var resource="";if(r.body){querystring+="&"+r.body}if(querystring){var resources=[];ALY.util.arrayEach.call(this,querystring.split("&"),function(param){var pos=param.indexOf("=");var name=param.slice(0,pos);var value=param.slice(pos+1);var resource={name:name};if(value!==undefined){resource.value=decodeURIComponent(value)}resources.push(resource)});resources.sort(function(a,b){return a.name<b.name?-1:1});if(resources.length){querystring=[];ALY.util.arrayEach(resources,function(resource){if(resource.value===undefined)querystring.push(that.cmsEscape(resource.name));else querystring.push(that.cmsEscape(resource.name)+"="+that.cmsEscape(resource.value))});resource+=querystring.join("&")}}return resource},cmsEscape:function(clearString){return encodeURIComponent(clearString).replace(/\!/gi,"%21").replace(/\'/gi,"%27").replace(/\(/gi,"%28").replace(/\)/gi,"%29").replace(/\*/gi,"%2A")},sign:function sign(secret,string){if(process.env.DEBUG=="aliyun"){console.log("----------- sign string start -----------");console.log(string);console.log("----------- sign string end -----------")}return ALY.util.crypto.hmac(secret+"&",string,"base64","sha1")}});module.exports=ALY.Signers.CMS}).call(this,require("_process"))},{"../core":5,_process:85}],26:[function(require,module,exports){(function(process){var ALY=require("../core");var inherit=ALY.util.inherit;function randomNumbers(count){var num="";for(var i=0;i<count;i++){num+=Math.floor(Math.random()*10)}return num}ALY.Signers.OpenSearch=inherit(ALY.Signers.RequestSigner,{addAuthorization:function addAuthorization(credentials,date){var date=new Date;var globalQuery={Version:"v2",AccessKeyId:credentials.accessKeyId,SignatureMethod:"HMAC-SHA1",SignatureVersion:"1.0",SignatureNonce:String(date.getTime())+randomNumbers(4),Timestamp:date.toISOString().replace(/\.\d{3}/,"")};var parts=[];Object.keys(globalQuery).forEach(function(key){parts.push(key+"="+encodeURIComponent(globalQuery[key]))});this.request.path+=(this.request.path.indexOf("?")==-1?"?":"&")+parts.join("&");var signature=this.sign(credentials.secretAccessKey,this.stringToSign());this.request.path+="&Signature="+encodeURIComponent(signature)},stringToSign:function stringToSign(){var r=this.request;var s=r.method+"&%2F&"+encodeURIComponent(this.canonicalizedQueryString());return s},canonicalizedQueryString:function canonicalizedQueryString(){var r=this.request;var querystring=r.path.split("?")[1];var resource="";if(r.body){querystring+="&"+r.body}if(querystring){var resources=[];ALY.util.arrayEach.call(this,querystring.split("&"),function(param){var pos=param.indexOf("=");var name=param.slice(0,pos);var value=param.slice(pos+1);var resource={name:name};if(value!==undefined){resource.value=decodeURIComponent(value)}resources.push(resource)});resources.sort(function(a,b){return a.name<b.name?-1:1});if(resources.length){querystring=[];ALY.util.arrayEach(resources,function(resource){if(resource.value===undefined)querystring.push(ALY.util.opensearchEscape(resource.name));else querystring.push(ALY.util.opensearchEscape(resource.name)+"="+ALY.util.opensearchEscape(resource.value))});resource+=querystring.join("&")}}return resource},sign:function sign(secret,string){if(process.env.DEBUG=="aliyun"){console.log("----------- sign string start -----------");console.log(string);console.log("----------- sign string end -----------")}return ALY.util.crypto.hmac(secret+"&",string,"base64","sha1")}});module.exports=ALY.Signers.OpenSearch}).call(this,require("_process"))},{"../core":5,_process:85}],27:[function(require,module,exports){(function(process){var ALY=require("../core");var inherit=ALY.util.inherit;ALY.Signers.OSS=inherit(ALY.Signers.RequestSigner,{subResources:{acl:1,uploads:1,location:1,cors:1,logging:1,website:1,referer:1,lifecycle:1,delete:1,append:1,tagging:1,objectMeta:1,uploadId:1,partNumber:1,"security-token":1,position:1,img:1,style:1,styleName:1,replication:1,replicationProgress:1,replicationLocation:1,restore:1,cname:1,bucketInfo:1,comp:1,qos:1,live:1,status:1,vod:1,startTime:1,endTime:1,symlink:1,"x-oss-process":1,"response-content-type":1,"response-content-language":1,"response-expires":1,"response-cache-control":1,"response-content-disposition":1,"response-content-encoding":1},responseHeaders:{"response-content-type":1,"response-content-language":1,"response-expires":1,"response-cache-control":1,"response-content-disposition":1,"response-content-encoding":1},addAuthorization:function addAuthorization(credentials,date,isRequestPayer){if(isRequestPayer){this.request.headers["x-oss-request-payer"]="requester"}if(!this.request.headers["presigned-expires"]){if(ALY.util.isBrowser()){this.request.headers["x-oss-date"]=ALY.util.date.rfc822(date)}else{this.request.headers["Date"]=ALY.util.date.rfc822(date)}}var signature=this.sign(credentials.secretAccessKey,this.stringToSign());var auth="OSS "+credentials.accessKeyId+":"+signature;this.request.headers["Authorization"]=auth},stringToSign:function stringToSign(){var r=this.request;var parts=[];parts.push(r.method);parts.push(r.headers["Content-MD5"]||"");parts.push(r.headers["Content-Type"]||"");parts.push(r.headers["presigned-expires"]||r.headers["x-oss-date"]||r.headers["Date"]||"");var headers=this.canonicalizedHeaders();if(headers)parts.push(headers);parts.push(this.canonicalizedResource());return parts.join("\n")},canonicalizedHeaders:function canonicalizedHeaders(){var headers=[];ALY.util.each(this.request.headers,function(name){if(name.match(/^x-oss-/i))headers.push(name)});headers.sort(function(a,b){return a.toLowerCase()<b.toLowerCase()?-1:1});var parts=[];ALY.util.arrayEach.call(this,headers,function(name){parts.push(name.toLowerCase()+":"+String(this.request.headers[name]))});return parts.join("\n")},canonicalizedResource:function canonicalizedResource(){var r=this.request;var parts=r.path.split("?");var path=parts[0];var querystring=parts[1];var resource="";if(r.virtualHostedBucket)resource+="/"+r.virtualHostedBucket;resource+=decodeURIComponent(path);if(querystring){var resources=[];ALY.util.arrayEach.call(this,querystring.split("&"),function(param){var name=param.split("=")[0];var value=param.split("=")[1];if(this.subResources[name]||this.responseHeaders[name]){var subresource={name:name};if(value!==undefined){if(this.subResources[name]){subresource.value=value}else{subresource.value=decodeURIComponent(value)}}resources.push(subresource)}});resources.sort(function(a,b){return a.name<b.name?-1:1});if(resources.length){querystring=[];ALY.util.arrayEach(resources,function(res){if(res.value===undefined)querystring.push(res.name);else querystring.push(res.name+"="+res.value)});resource+="?"+querystring.join("&")}}return resource},sign:function sign(secret,string){if(process.env.DEBUG=="aliyun"){console.log("----------- sign string start -----------");console.log(string);console.log("----------- sign string end -----------")}return ALY.util.crypto.hmac(secret,string,"base64","sha1")}});module.exports=ALY.Signers.OSS}).call(this,require("_process"))},{"../core":5,_process:85}],28:[function(require,module,exports){(function(process){var ALY=require("../core");var inherit=ALY.util.inherit;ALY.Signers.OTS=inherit(ALY.Signers.RequestSigner,{subResources:{acl:1,cors:1,lifecycle:1,delete:1,location:1,logging:1,notification:1,partNumber:1,policy:1,requestPayment:1,restore:1,tagging:1,torrent:1,uploadId:1,uploads:1,versionId:1,versioning:1,versions:1,website:1},responseHeaders:{"response-content-type":1,"response-content-language":1,"response-expires":1,"response-cache-control":1,"response-content-disposition":1,"response-content-encoding":1},addAuthorization:function addAuthorization(credentials,date){this.request.headers["x-ots-date"]=ALY.util.date.rfc822(date);this.request.headers["x-ots-accesskeyid"]=credentials.accessKeyId;var signature=this.sign(credentials.secretAccessKey,this.stringToSign());this.request.headers["x-ots-signature"]=signature},stringToSign:function stringToSign(){var r=this.request;var parts=[];parts.push(r.path);parts.push(r.method+"\n");var headers=this.canonicalizedHeaders();if(headers)parts.push(headers);return parts.join("\n")+"\n"},canonicalizedHeaders:function canonicalizedHeaders(){var headers=[];ALY.util.each(this.request.headers,function(name){if(name.match(/^x-ots-/i))headers.push(name)});headers.sort(function(a,b){return a.toLowerCase()<b.toLowerCase()?-1:1});var parts=[];ALY.util.arrayEach.call(this,headers,function(name){parts.push(name.toLowerCase()+":"+String(this.request.headers[name]))});return parts.join("\n")},canonicalizedResource:function canonicalizedResource(){var r=this.request;var parts=r.path.split("?");var path=parts[0];var querystring=parts[1];var resource="";if(r.virtualHostedBucket)resource+="/"+r.virtualHostedBucket;resource+=decodeURIComponent(path);if(querystring){var resources=[];ALY.util.arrayEach.call(this,querystring.split("&"),function(param){var name=param.split("=")[0];var value=param.split("=")[1];if(this.subResources[name]||this.responseHeaders[name]){var subresource={name:name};if(value!==undefined){if(this.subResources[name]){subresource.value=value}else{subresource.value=decodeURIComponent(value)}}resources.push(subresource)}});resources.sort(function(a,b){return a.name<b.name?-1:1});if(resources.length){querystring=[];ALY.util.arrayEach(resources,function(res){if(res.value===undefined)querystring.push(res.name);else querystring.push(res.name+"="+res.value)});resource+="?"+querystring.join("&")}}return resource},sign:function sign(secret,string){if(process.env.DEBUG=="aliyun"){console.log("----------- sign string start -----------");console.log(string);console.log("----------- sign string end -----------")}return ALY.util.crypto.hmac(secret,string,"base64","sha1")}});module.exports=ALY.Signers.OSS}).call(this,require("_process"))},{"../core":5,_process:85}],29:[function(require,module,exports){var ALY=require("../core");var inherit=ALY.util.inherit;ALY.Signers.POP=inherit(ALY.Signers.RequestSigner,{addAuthorization:function addAuthorization(credentials,date){}});module.exports=ALY.Signers.POP},{"../core":5}],30:[function(require,module,exports){(function(process){var ALY=require("../core");var inherit=ALY.util.inherit;ALY.Signers.PopJson=inherit(ALY.Signers.RequestSigner,{addAuthorization:function addAuthorization(credentials,date){var headers=this.request.headers;headers["x-acs-date"]=ALY.util.date.rfc822(date);headers["x-acs-signature-method"]="HMAC-SHA1";headers["x-acs-signature-version"]="1.0";headers["x-sdk-client"]="node.js/1.0.0";headers["Accept"]="application/json";var signature=this.sign(credentials.secretAccessKey,this.stringToSign());headers["Authorization"]="acs "+credentials.accessKeyId+":"+signature},stringToSign:function stringToSign(){var r=this.request;if(r.method!=="GET"&&r.method!=="HEAD"){r.headers["Content-Type"]="application/json;charset=utf-8"}var parts=[];parts.push(r.method);parts.push(r.headers["Accept"]||"");parts.push(r.headers["Content-MD5"]||"");parts.push(r.headers["Content-Type"]||"");parts.push(r.headers["x-acs-date"]||r.headers["Date"]||"");var headers=this.canonicalizedAcsHeaders();if(headers)parts.push(headers);parts.push(this.canonicalizedResource());return parts.join("\n")},canonicalizedAcsHeaders:function canonicalizedAcsHeaders(){var acsHeaders=[];ALY.util.each(this.request.headers,function(name){if(name.match(/^x-acs-/i))acsHeaders.push(name)});acsHeaders.sort(function(a,b){return a.toLowerCase()<b.toLowerCase()?-1:1});var parts=[];ALY.util.arrayEach.call(this,acsHeaders,function(name){parts.push(name.toLowerCase()+":"+String(this.request.headers[name]))});return parts.join("\n")},canonicalizedResource:function canonicalizedResource(){var r=this.request;var parts=r.path.split("?");var path=parts[0];var querystring=parts[1];var resource="";resource+=decodeURIComponent(path);if(querystring){var resources=[];var arr=querystring.replace(/(^&*)|(&*$)/g,"").split("&");ALY.util.arrayEach.call(this,arr,function(param){var kv=param.split("=");var name=kv[0];var value=kv.length>1?decodeURIComponent(kv[1]):"";var resource={name:name};if(value!==undefined){resource.value=value}resources.push(resource)});resources.sort(function(a,b){return a.name<b.name?-1:1});if(resources.length){querystring=[];ALY.util.arrayEach(resources,function(resource){if(resource.value===undefined)querystring.push(resource.name);else{if(resource.value!==null&&resource.value!==""){querystring.push(resource.name+"="+resource.value)}else{querystring.push(resource.name)}}});resource+="?"+querystring.join("&")}}return resource},sign:function sign(secret,string){if(process.env.DEBUG==="aliyun"){console.log("----------- sign string start -----------");console.log(string);console.log("----------- sign string end -----------")}return ALY.util.crypto.hmac(secret,string,"base64","sha1")}});module.exports=ALY.Signers.PopJson}).call(this,require("_process"))},{"../core":5,_process:85}],31:[function(require,module,exports){var ALY=require("../core");var inherit=ALY.util.inherit;ALY.Signers.RequestSigner=inherit({constructor:function RequestSigner(request){this.request=request}});ALY.Signers.RequestSigner.getVersion=function getVersion(version){switch(version){case"oss":return ALY.Signers.OSS;case"ots":return ALY.Signers.OTS;case"sls":return ALY.Signers.SLS;case"top":return ALY.Signers.TOP;case"pop":return ALY.Signers.POP;case"pop-json":return ALY.Signers.PopJson;case"opensearch":return ALY.Signers.OpenSearch;case"batchcompute":return ALY.Signers.BatchCompute;case"cms":return ALY.Signers.CMS}throw new Error("Unknown signing version "+version)};require("./oss");require("./ots");require("./sls");require("./opensearch");require("./top");require("./pop");require("./pop_json");require("./batchcompute");require("./cms")},{"../core":5,"./batchcompute":24,"./cms":25,"./opensearch":26,"./oss":27,"./ots":28,"./pop":29,"./pop_json":30,"./sls":32,"./top":33}],32:[function(require,module,exports){(function(process){var ALY=require("../core");var inherit=ALY.util.inherit;ALY.Signers.SLS=inherit(ALY.Signers.RequestSigner,{responseHeaders:{"response-content-type":1,"response-content-language":1,"response-expires":1,"response-cache-control":1,"response-content-disposition":1,"response-content-encoding":1},addAuthorization:function addAuthorization(credentials,date){this.request.headers["Date"]=ALY.util.date.rfc822(date);if(credentials.securityToken)this.request.headers["x-acs-security-token"]=credentials.securityToken;var signature=this.sign(credentials.secretAccessKey,this.stringToSign());var auth="LOG "+credentials.accessKeyId+":"+signature;this.request.headers["Authorization"]=auth},stringToSign:function stringToSign(){var r=this.request;var parts=[];parts.push(r.method);parts.push(r.headers["Content-MD5"]||"");parts.push(r.headers["Content-Type"]||"");parts.push(r.headers["Date"]||"");var headers=this.canonicalizedAmzHeaders();if(headers)parts.push(headers);parts.push(this.canonicalizedResource());return parts.join("\n")},canonicalizedAmzHeaders:function canonicalizedAmzHeaders(){var amzHeaders=[];ALY.util.each(this.request.headers,function(name){if(name.match(/^x-log-/i)||name=="x-acs-security-token")amzHeaders.push(name)});amzHeaders.sort(function(a,b){return a.toLowerCase()<b.toLowerCase()?-1:1});var parts=[];ALY.util.arrayEach.call(this,amzHeaders,function(name){parts.push(name.toLowerCase()+":"+String(this.request.headers[name]))});return parts.join("\n")},canonicalizedResource:function canonicalizedResource(){var r=this.request;var parts=r.path.split("?");var path=parts[0];var querystring=parts[1];var resource="";resource+=decodeURIComponent(path);if(querystring){var resources=[];var arr=querystring.replace(/(^&*)|(&*$)/g,"").split("&");ALY.util.arrayEach.call(this,arr,function(param){var kv=param.split("=");var name=kv[0];var value=kv.length>1?decodeURIComponent(kv[1]):"";var resource={name:name};if(value!==undefined){resource.value=value}resources.push(resource)});resources.sort(function(a,b){return a.name<b.name?-1:1});if(resources.length){querystring=[];ALY.util.arrayEach(resources,function(resource){if(resource.value===undefined)querystring.push(resource.name);else querystring.push(resource.name+"="+resource.value)});resource+="?"+querystring.join("&")}}return resource},sign:function sign(secret,string){if(process.env.DEBUG=="aliyun"){console.log("----------- sign string start -----------");console.log(string);console.log("----------- sign string end -----------")}return ALY.util.crypto.hmac(secret,string,"base64","sha1")}});module.exports=ALY.Signers.SLS}).call(this,require("_process"))},{"../core":5,_process:85}],33:[function(require,module,exports){var ALY=require("../core");var inherit=ALY.util.inherit;ALY.Signers.TOP=inherit(ALY.Signers.RequestSigner,{addAuthorization:function addAuthorization(credentials,date){}});module.exports=ALY.Signers.TOP},{"../core":5}],34:[function(require,module,exports){(function(process){var ALY=require("./core");var jsSHA=require("../bower_components/jsSHA/src/sha.js");var SparkMD5=require("../bower_components/spark-md5/spark-md5.js");var Buffer=require("buffer").Buffer;ALY.util={engine:function engine(){if(ALY.util.isBrowser()&&typeof navigator!=="undefined"){return navigator.userAgent}else{return process.platform+"/"+process.version}},userAgent:function userAgent(){return""},isBrowser:function isBrowser(){return typeof window!=="undefined"},isNode:function isNode(){return!ALY.util.isBrowser()},nodeRequire:function nodeRequire(module){if(ALY.util.isNode())return require(module)},hexToBase64:function(str){return btoa(String.fromCharCode.apply(null,str.replace(/\r|\n/g,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")))},topEscape:function(clearString){var output="";var x=0;clearString=clearString.toString();var regex=/(^[a-zA-Z0-9-_.~]*)/;while(x<clearString.length){var match=regex.exec(clearString.substr(x));if(match!=null&&match.length>1&&match[1]!=""){output+=match[1];x+=match[1].length}else{if(clearString[x]==" ")output+="%20";else{var charCode=clearString.charCodeAt(x);var hexVal=charCode.toString(16);output+="%"+(hexVal.length<2?"0":"")+hexVal.toUpperCase()}x++}}return output},popEscape:function(clearString){clearString=clearString.toString();clearString=encodeURIComponent(clearString).replace(/\!/gi,"%21").replace(/\'/gi,"%27").replace(/\(/gi,"%28").replace(/\)/gi,"%29").replace(/\*/gi,"%2A");return clearString},opensearchEscape:function(clearString){return encodeURIComponent(clearString).replace(/\!/gi,"%21").replace(/\'/gi,"%27").replace(/\(/gi,"%28").replace(/\)/gi,"%29").replace(/\*/gi,"%2A")},uriEscape:function uriEscape(string){var output=encodeURIComponent(string);output=output.replace(/[^A-Za-z0-9_.~\-%]+/g,escape);output=output.replace(/[*]/g,function(ch){return"%"+ch.charCodeAt(0).toString(16).toUpperCase()});return output},uriEscapePath:function uriEscapePath(string){var parts=[];ALY.util.arrayEach(string.split("/"),function(part){parts.push(ALY.util.uriEscape(part))});return parts.join("/")},urlParse:function urlParse(url){return require("url").parse(url)},urlFormat:function urlFormat(url){return require("url").format(url)},uuid:function generateUUID(){var d=(new Date).getTime();if(window.performance&&typeof window.performance.now==="function"){d+=performance.now()}var uuid="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(c){var r=(d+Math.random()*16)%16|0;d=Math.floor(d/16);return(c=="x"?r:r&3|8).toString(16)});return uuid},queryParamsToString:function queryParamsToString(params){var items=[];var escape=ALY.util.uriEscape;var sortedKeys=Object.keys(params).sort();ALY.util.arrayEach(sortedKeys,function(name){var value=params[name];var ename=escape(name);var result=ename;if(Array.isArray(value)){var vals=[];ALY.util.arrayEach(value,function(item){vals.push(escape(item))});result=ename+"="+vals.sort().join("&"+ename+"=")}else if(value!==undefined&&value!==null){result=ename+"="+escape(value)}items.push(result)});return items.join("&")},readFileSync:function readFileSync(path){if(typeof window!=="undefined")return null;return require("fs").readFileSync(path,"utf-8")},base64:{encode:function encode64(string){return new Buffer(string).toString("base64")},decode:function decode64(string){return new Buffer(string,"base64").toString()}},Buffer:Buffer,buffer:{concat:function(buffers){var length=0,offset=0,buffer=null,i;for(i=0;i<buffers.length;i++){length+=buffers[i].length}buffer=new Buffer(length);for(i=0;i<buffers.length;i++){buffers[i].copy(buffer,offset);offset+=buffers[i].length}return buffer}},string:{byteLength:function byteLength(string){if(string===null||string===undefined)return 0;if(typeof string==="string")string=new Buffer(string);if(typeof string.byteLength==="number"){return string.byteLength}else if(typeof string.length==="number"){return string.length}else if(typeof string.size==="number"){return string.size}else if(typeof string.path==="string"){return require("fs").lstatSync(string.path).size}else{throw ALY.util.error(new Error("Cannot determine length of "+string),{object:string})}}},jamespath:{query:function query(expression,data){if(!data)return[];var results=[];var expressions=expression.split(/\s+or\s+/);ALY.util.arrayEach.call(this,expressions,function(expr){var objects=[data];var tokens=expr.split(".");ALY.util.arrayEach.call(this,tokens,function(token){var match=token.match("^(.+?)(?:\\[(-?\\d+|\\*)\\])?$");var newObjects=[];ALY.util.arrayEach.call(this,objects,function(obj){if(match[1]==="*"){ALY.util.arrayEach.call(this,obj,function(value){newObjects.push(value)})}else if(obj.hasOwnProperty(match[1])){newObjects.push(obj[match[1]])}});objects=newObjects;if(match[2]){newObjects=[];ALY.util.arrayEach.call(this,objects,function(obj){if(Array.isArray(obj)){if(match[2]==="*"){newObjects=newObjects.concat(obj)}else{var idx=parseInt(match[2],10);if(idx<0)idx=obj.length+idx;newObjects.push(obj[idx])}}});objects=newObjects}if(objects.length===0)return ALY.util.abort});if(objects.length>0){results=objects;return ALY.util.abort}});return results},find:function find(expression,data){return ALY.util.jamespath.query(expression,data)[0]}},date:{getDate:function getDate(){return new Date},top:function top(date,fmt){fmt=fmt||"%Y-%M-%dT%H:%m:%sZ";function pad(value){return value.toString().length<2?"0"+value:value}return fmt.replace(/%([a-zA-Z])/g,function(_,fmtCode){switch(fmtCode){case"Y":return date.getUTCFullYear();case"M":return pad(date.getUTCMonth()+1);case"d":return pad(date.getUTCDate());case"H":return pad(date.getUTCHours());case"m":return pad(date.getUTCMinutes());case"s":return pad(date.getUTCSeconds());default:throw new Error("Unsupported format code: "+fmtCode)}})},iso8601:function iso8601(date){if(date===undefined){date=ALY.util.date.getDate()}return date.toISOString()},rfc822:function rfc822(date){if(date===undefined){date=ALY.util.date.getDate()}return date.toUTCString()},unixSeconds:function unixSeconds(date){if(date===undefined){date=ALY.util.date.getDate()}return Math.floor(date.getTime()/1e3)},unixMilliseconds:function unixMilliseconds(date){if(date===undefined){date=ALY.util.date.getDate()}return date.getTime()},from:function format(date){if(typeof date==="number"){if(date.toString().length==10){return new Date(date*1e3)}return new Date(date)}else if(Object.prototype.toString.call(date)==="[object Date]"){return date}else{return new Date(date)}},format:function format(date,formatter){if(!formatter)formatter="unixSeconds";return ALY.util.date[formatter](ALY.util.date.from(date))}},crypto:{crc32Table:[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117],crc32:function crc32(data){var tbl=ALY.util.crypto.crc32Table;var crc=0^-1;if(typeof data==="string"){data=new Buffer(data)}for(var i=0;i<data.length;i++){var code=data.readUInt8(i);crc=crc>>>8^tbl[(crc^code)&255]}return(crc^-1)>>>0},hmac:function hmac(key,string,digest,fn){if(!digest)digest="binary";if(digest==="buffer"){digest=undefined;return""}if(!fn)fn="sha256";if(typeof string!="string"){return""}var shaObj;switch(fn){case"md5":return"";case"sha1":shaObj=new jsSHA("SHA-1","TEXT");break;case"sha256":shaObj=new jsSHA("SHA-256","TEXT");break;case"sha512":shaObj=new jsSHA("SHA-512","TEXT");break;default:return""}shaObj.setHMACKey(key,"TEXT");shaObj.update(string);switch(digest){case"binary":return shaObj.getHMAC("BYTES");case"hex":return shaObj.getHMAC("HEX");case"base64":return shaObj.getHMAC("B64");default:return""}},md5:function md5(data,digest){var hash="";if(!digest){digest="binary"}if(digest==="buffer"){digest=undefined;return""}if(typeof data==="string"){switch(digest){case"binary":return SparkMD5.hash(data,true);case"hex":return SparkMD5.hash(data);case"base64":return ALY.util.hexToBase64(SparkMD5.hash(data));default:return""}}else{switch(digest){case"binary":return SparkMD5.ArrayBuffer.hash(data,true);case"hex":return SparkMD5.ArrayBuffer.hash(data);case"base64":return ALY.util.hexToBase64(SparkMD5.ArrayBuffer.hash(data));default:return""}}},sha256:function sha256(string,digest){return""},toHex:function toHex(data){var out=[];for(var i=0;i<data.length;i++){out.push(("0"+data.charCodeAt(i).toString(16)).substr(-2,2))}return out.join("")}},abort:{},each:function each(object,iterFunction){for(var key in object){if(object.hasOwnProperty(key)){var ret=iterFunction.call(this,key,object[key]);if(ret===ALY.util.abort)break}}},arrayEach:function arrayEach(array,iterFunction){for(var idx in array){if(array.hasOwnProperty(idx)){var ret=iterFunction.call(this,array[idx],parseInt(idx,10));if(ret===ALY.util.abort)break}}},update:function update(obj1,obj2){ALY.util.each(obj2,function iterator(key,item){obj1[key]=item});return obj1},merge:function merge(obj1,obj2){return ALY.util.update(ALY.util.copy(obj1),obj2)},copy:function copy(object){if(object===null||object===undefined)return object;var dupe={};for(var key in object){dupe[key]=object[key]}return dupe},isEmpty:function isEmpty(obj){for(var prop in obj){if(obj.hasOwnProperty(prop)){return false}}return true},isType:function isType(obj,type){if(typeof type==="function")type=ALY.util.typeName(type);return Object.prototype.toString.call(obj)==="[object "+type+"]"},typeName:function typeName(type){if(type.hasOwnProperty("name"))return type.name;var str=type.toString();var match=str.match(/^\s*function (.+)\(/);return match?match[1]:str},error:function error(err,options){var originalError=null;if(typeof err.message==="string"&&err.message!==""){if(typeof options==="string"||options&&options.message){originalError=ALY.util.copy(err);originalError.message=err.message}}err.message=err.message||null;if(typeof options==="string"){err.message=options}else{ALY.util.update(err,options)}if(typeof Object.defineProperty==="function"){Object.defineProperty(err,"name",{writable:true,enumerable:false});Object.defineProperty(err,"message",{enumerable:true})}err.name=err.name||err.code||"Error";err.time=new Date;if(originalError)err.originalError=originalError;return err},inherit:function inherit(klass,features){var newObject=null;if(features===undefined){features=klass;klass=Object;newObject={}}else{var ctor=function __ctor_wrapper__(){};ctor.prototype=klass.prototype;newObject=new ctor}if(features.constructor===Object){features.constructor=function(){if(klass!==Object){return klass.apply(this,arguments)}}}features.constructor.prototype=newObject;ALY.util.update(features.constructor.prototype,features);features.constructor.__super__=klass;return features.constructor},mixin:function mixin(){var klass=arguments[0];for(var i=1;i<arguments.length;i++){for(var prop in arguments[i].prototype){var fn=arguments[i].prototype[prop];if(prop!="constructor"){klass.prototype[prop]=fn}}}return klass},hideProperties:function hideProperties(obj,props){if(typeof Object.defineProperty!=="function")return;ALY.util.arrayEach(props,function(key){Object.defineProperty(obj,key,{enumerable:false,writable:true,configurable:true})})}};module.exports=ALY.util}).call(this,require("_process"))},{"../bower_components/jsSHA/src/sha.js":1,"../bower_components/spark-md5/spark-md5.js":2,"./core":5,_process:85,buffer:77,fs:74,url:109}],35:[function(require,module,exports){var ALY=require("../core");var builder=require("xmlbuilder");var inherit=ALY.util.inherit;ALY.XML.Builder=inherit({constructor:function XMLBuilder(root,rules,options){this.root=root;this.rules=rules;this.xmlns=options.xmlnamespace;this.timestampFormat=options.timestampFormat},toXML:function toXML(params){var xml=builder.create(this.root);if(this.xmlns)xml.att("xmlns",this.xmlns);this.serializeStructure(this.rules,params,xml);return xml.root().toString()},serializeStructure:function serializeStructure(rules,params,xml){ALY.util.each.call(this,rules||{},function(memberName,memberRules){var value=params[memberName];if(value!==undefined){if(memberRules.attribute){xml.att(memberRules.name,value)}else{this.serializeMember(memberName,memberRules,value,xml)}}})},serializeList:function serializeList(name,rules,list,xml){if(rules.flattened){ALY.util.arrayEach.call(this,list,function(value){this.serializeMember(rules.name||name,rules.members,value,xml)})}else{xml=xml.ele(rules.name||name);ALY.util.arrayEach.call(this,list,function(value){var memberName=rules.members.name||"member";this.serializeMember(memberName,rules.members,value,xml)})}},serializeMember:function serializeMember(memberName,rules,params,xml){if(params===null||params===undefined)return;var name=memberName;if(rules.type==="structure"){xml=xml.ele(name);this.serializeStructure(rules.members,params,xml)}else if(rules.type==="list"){this.serializeList(name,rules,params,xml)}else if(rules.type==="timestamp"){var timestampFormat=rules.format||this.timestampFormat;var date=ALY.util.date.format(params,timestampFormat);xml=xml.ele(name,String(date))}else{xml=xml.ele(name,String(params))}this.applyNamespaces(xml,rules)},applyNamespaces:function applyNamespaces(xml,rules){if(rules.xmlns){var attr="xmlns";if(rules.xmlns.prefix)attr+=":"+rules.xmlns.prefix;xml.att(attr,rules.xmlns.uri)}}})},{"../core":5,xmlbuilder:73}],36:[function(require,module,exports){var ALY=require("../core");var inherit=ALY.util.inherit;var xml2js=require("xml2js");ALY.XML.Parser=inherit({constructor:function XMLParser(rules){this.rules=(rules||{}).members||{}},options:{explicitCharkey:false,trim:false,normalize:false,explicitRoot:false,emptyTag:null,explicitArray:true,ignoreAttrs:false,mergeAttrs:false,validator:null},parse:function parse(xml){var result=null;var error=null;var parser=new xml2js.Parser(this.options);parser.parseString(xml,function(e,r){error=e;result=r});if(result){delete result.xmlns;return this.parseStructure(result,this.rules)}else if(error){throw ALY.util.error(error,{code:"XMLParserError"})}else{return this.parseStructure({},this.rules)}},parseStructure:function parseStructure(structure,rules){var data={};ALY.util.each.call(this,rules,function(memberName,memberRules){if(memberRules.type=="list"){data[memberRules.name||memberName]=[]}});ALY.util.each.call(this,structure,function(xmlName,value){if(xmlName=="$"){ALY.util.each.call(this,value,function(attrName,attrValue){if(rules[attrName]){var rule=rules[attrName];data[rule.name||xmlName]=this.parseMember([attrValue],rule)}})}else{var rule=rules[xmlName]||{};data[rule.name||xmlName]=this.parseMember(value,rule)}});return data},parseMap:function parseMap(map,rules){var data={};var keyRules=rules.keys||{};var valueRules=rules.members||{};var keyName=keyRules.name||"key";var valueName=valueRules.name||"value";if(!rules.flattened){map=map[0].entry}ALY.util.arrayEach.call(this,map,function(entry){var value=this.parseMember(entry[valueName],valueRules);data[entry[keyName][0]]=value});return data},parseList:function parseList(list,rules){var data=[];var memberRules=rules.members||{};var memberName=memberRules.name||"member";if(rules.flattened){ALY.util.arrayEach.call(this,list,function(value){data.push(this.parseMember([value],memberRules))})}else{ALY.util.arrayEach.call(this,list,function(member){ALY.util.arrayEach.call(this,member[memberName],function(value){data.push(this.parseMember([value],memberRules))})})}return data},parseMember:function parseMember(values,rules){if(values[0]===null){if(rules.type==="structure")return{};if(rules.type==="list")return[];if(rules.type==="map")return{};return null}if(values[0]["$"]&&values[0]["$"].encoding=="base64"){return ALY.util.base64.decode(values[0]["_"])}if(!rules.type){if(typeof values[0]==="string"){rules.type="string"}else if(values[0]["_"]){rules.type="string";values=[values[0]["_"]]}else{rules.type="structure"}}if(rules.type==="string"){return values[0]}else if(rules.type==="structure"){return this.parseStructure(values[0],rules.members||{})}else if(rules.type==="list"){return this.parseList(values,rules)}else if(rules.type==="map"){return this.parseMap(values,rules)}else if(rules.type==="integer"){return parseInt(values[0],10)}else if(rules.type==="float"){return parseFloat(values[0])}else if(rules.type==="timestamp"){return this.parseTimestamp(values[0])}else if(rules.type==="boolean"){return values[0]==="true"}else{var msg="unhandled type: "+rules.type;throw ALY.util.error(new Error(msg),{code:"XMLParserError"})}},parseTimestamp:function parseTimestamp(value){if(value.match(/^\d+$/)){return new Date(value*1e3)}else if(value.match(/^\d{4}/)){return new Date(value)}else if(value.match(/^\w{3},/)){return new Date(value)}else{throw ALY.util.error(new Error("unhandled timestamp format: "+value),{code:"TimestampParserError"})}}})},{"../core":5,xml2js:40}],37:[function(require,module,exports){(function(Buffer){(function(sax){sax.parser=function(strict,opt){return new SAXParser(strict,opt)};sax.SAXParser=SAXParser;sax.SAXStream=SAXStream;sax.createStream=createStream;sax.MAX_BUFFER_LENGTH=64*1024;var buffers=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];sax.EVENTS=["text","processinginstruction","sgmldeclaration","doctype","comment","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"];function SAXParser(strict,opt){if(!(this instanceof SAXParser))return new SAXParser(strict,opt);var parser=this;clearBuffers(parser);parser.q=parser.c="";parser.bufferCheckPosition=sax.MAX_BUFFER_LENGTH;parser.opt=opt||{};parser.opt.lowercase=parser.opt.lowercase||parser.opt.lowercasetags;parser.looseCase=parser.opt.lowercase?"toLowerCase":"toUpperCase";parser.tags=[];parser.closed=parser.closedRoot=parser.sawRoot=false;parser.tag=parser.error=null;parser.strict=!!strict;parser.noscript=!!(strict||parser.opt.noscript);parser.state=S.BEGIN;parser.ENTITIES=Object.create(sax.ENTITIES);parser.attribList=[];if(parser.opt.xmlns)parser.ns=Object.create(rootNS);parser.trackPosition=parser.opt.position!==false;if(parser.trackPosition){parser.position=parser.line=parser.column=0}emit(parser,"onready")}if(!Object.create)Object.create=function(o){function f(){this.__proto__=o}f.prototype=o;return new f};if(!Object.getPrototypeOf)Object.getPrototypeOf=function(o){return o.__proto__};if(!Object.keys)Object.keys=function(o){var a=[];for(var i in o)if(o.hasOwnProperty(i))a.push(i);return a};function checkBufferLength(parser){var maxAllowed=Math.max(sax.MAX_BUFFER_LENGTH,10),maxActual=0;for(var i=0,l=buffers.length;i<l;i++){var len=parser[buffers[i]].length;if(len>maxAllowed){switch(buffers[i]){case"textNode":closeText(parser);break;case"cdata":emitNode(parser,"oncdata",parser.cdata);parser.cdata="";break;case"script":emitNode(parser,"onscript",parser.script);parser.script="";break;default:error(parser,"Max buffer length exceeded: "+buffers[i])}}maxActual=Math.max(maxActual,len)}parser.bufferCheckPosition=sax.MAX_BUFFER_LENGTH-maxActual+parser.position}function clearBuffers(parser){for(var i=0,l=buffers.length;i<l;i++){parser[buffers[i]]=""}}function flushBuffers(parser){closeText(parser);if(parser.cdata!==""){emitNode(parser,"oncdata",parser.cdata);parser.cdata=""}if(parser.script!==""){emitNode(parser,"onscript",parser.script);parser.script=""}}SAXParser.prototype={end:function(){end(this)},write:write,resume:function(){this.error=null;return this},close:function(){return this.write(null)},flush:function(){flushBuffers(this)}};try{var Stream=require("stream").Stream}catch(ex){var Stream=function(){}}var streamWraps=sax.EVENTS.filter(function(ev){return ev!=="error"&&ev!=="end"});function createStream(strict,opt){return new SAXStream(strict,opt)}function SAXStream(strict,opt){if(!(this instanceof SAXStream))return new SAXStream(strict,opt);Stream.apply(this);this._parser=new SAXParser(strict,opt);this.writable=true;this.readable=true;var me=this;this._parser.onend=function(){me.emit("end")};this._parser.onerror=function(er){me.emit("error",er);me._parser.error=null};this._decoder=null;streamWraps.forEach(function(ev){Object.defineProperty(me,"on"+ev,{get:function(){return me._parser["on"+ev]},set:function(h){if(!h){me.removeAllListeners(ev);return me._parser["on"+ev]=h}me.on(ev,h)},enumerable:true,configurable:false})})}SAXStream.prototype=Object.create(Stream.prototype,{constructor:{value:SAXStream}});SAXStream.prototype.write=function(data){if(typeof Buffer==="function"&&typeof Buffer.isBuffer==="function"&&Buffer.isBuffer(data)){if(!this._decoder){var SD=require("string_decoder").StringDecoder;this._decoder=new SD("utf8")}data=this._decoder.write(data)}this._parser.write(data.toString());this.emit("data",data);return true};SAXStream.prototype.end=function(chunk){if(chunk&&chunk.length)this.write(chunk);this._parser.end();return true};SAXStream.prototype.on=function(ev,handler){var me=this;if(!me._parser["on"+ev]&&streamWraps.indexOf(ev)!==-1){me._parser["on"+ev]=function(){var args=arguments.length===1?[arguments[0]]:Array.apply(null,arguments);args.splice(0,0,ev);me.emit.apply(me,args)}}return Stream.prototype.on.call(me,ev,handler)};var whitespace="\r\n\t ",number="0124356789",letter="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",quote="'\"",entity=number+letter+"#",attribEnd=whitespace+">",CDATA="[CDATA[",DOCTYPE="DOCTYPE",XML_NAMESPACE="http://www.w3.org/XML/1998/namespace",XMLNS_NAMESPACE="http://www.w3.org/2000/xmlns/",rootNS={xml:XML_NAMESPACE,xmlns:XMLNS_NAMESPACE};whitespace=charClass(whitespace);number=charClass(number);letter=charClass(letter);var nameStart=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/;var nameBody=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040\.\d-]/;quote=charClass(quote);entity=charClass(entity);attribEnd=charClass(attribEnd);function charClass(str){return str.split("").reduce(function(s,c){s[c]=true;return s},{})}function isRegExp(c){return Object.prototype.toString.call(c)==="[object RegExp]"}function is(charclass,c){return isRegExp(charclass)?!!c.match(charclass):charclass[c]}function not(charclass,c){return!is(charclass,c)}var S=0;sax.STATE={BEGIN:S++,TEXT:S++,TEXT_ENTITY:S++,OPEN_WAKA:S++,SGML_DECL:S++,SGML_DECL_QUOTED:S++,DOCTYPE:S++,DOCTYPE_QUOTED:S++,DOCTYPE_DTD:S++,DOCTYPE_DTD_QUOTED:S++,COMMENT_STARTING:S++,COMMENT:S++,COMMENT_ENDING:S++,COMMENT_ENDED:S++,CDATA:S++,CDATA_ENDING:S++,CDATA_ENDING_2:S++,PROC_INST:S++,PROC_INST_BODY:S++,PROC_INST_ENDING:S++,OPEN_TAG:S++,OPEN_TAG_SLASH:S++,ATTRIB:S++,ATTRIB_NAME:S++,ATTRIB_NAME_SAW_WHITE:S++,ATTRIB_VALUE:S++,ATTRIB_VALUE_QUOTED:S++,ATTRIB_VALUE_CLOSED:S++,ATTRIB_VALUE_UNQUOTED:S++,ATTRIB_VALUE_ENTITY_Q:S++,ATTRIB_VALUE_ENTITY_U:S++,CLOSE_TAG:S++,CLOSE_TAG_SAW_WHITE:S++,SCRIPT:S++,SCRIPT_ENDING:S++};sax.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830};Object.keys(sax.ENTITIES).forEach(function(key){var e=sax.ENTITIES[key];var s=typeof e==="number"?String.fromCharCode(e):e;sax.ENTITIES[key]=s});for(var S in sax.STATE)sax.STATE[sax.STATE[S]]=S;S=sax.STATE;function emit(parser,event,data){parser[event]&&parser[event](data)}function emitNode(parser,nodeType,data){if(parser.textNode)closeText(parser);emit(parser,nodeType,data)}function closeText(parser){parser.textNode=textopts(parser.opt,parser.textNode);if(parser.textNode)emit(parser,"ontext",parser.textNode);parser.textNode=""}function textopts(opt,text){if(opt.trim)text=text.trim();if(opt.normalize)text=text.replace(/\s+/g," ");return text}function error(parser,er){closeText(parser);if(parser.trackPosition){er+="\nLine: "+parser.line+"\nColumn: "+parser.column+"\nChar: "+parser.c}er=new Error(er);parser.error=er;emit(parser,"onerror",er);return parser}function end(parser){if(!parser.closedRoot)strictFail(parser,"Unclosed root tag");if(parser.state!==S.BEGIN&&parser.state!==S.TEXT)error(parser,"Unexpected end");closeText(parser);parser.c="";parser.closed=true;emit(parser,"onend");SAXParser.call(parser,parser.strict,parser.opt);return parser}function strictFail(parser,message){if(typeof parser!=="object"||!(parser instanceof SAXParser))throw new Error("bad call to strictFail");if(parser.strict)error(parser,message)}function newTag(parser){if(!parser.strict)parser.tagName=parser.tagName[parser.looseCase]();var parent=parser.tags[parser.tags.length-1]||parser,tag=parser.tag={name:parser.tagName,attributes:{}};if(parser.opt.xmlns)tag.ns=parent.ns;parser.attribList.length=0}function qname(name,attribute){var i=name.indexOf(":"),qualName=i<0?["",name]:name.split(":"),prefix=qualName[0],local=qualName[1];if(attribute&&name==="xmlns"){prefix="xmlns";local=""}return{prefix:prefix,local:local}}function attrib(parser){if(!parser.strict)parser.attribName=parser.attribName[parser.looseCase]();if(parser.attribList.indexOf(parser.attribName)!==-1||parser.tag.attributes.hasOwnProperty(parser.attribName)){return parser.attribName=parser.attribValue=""}if(parser.opt.xmlns){var qn=qname(parser.attribName,true),prefix=qn.prefix,local=qn.local;if(prefix==="xmlns"){if(local==="xml"&&parser.attribValue!==XML_NAMESPACE){strictFail(parser,"xml: prefix must be bound to "+XML_NAMESPACE+"\n"+"Actual: "+parser.attribValue)}else if(local==="xmlns"&&parser.attribValue!==XMLNS_NAMESPACE){strictFail(parser,"xmlns: prefix must be bound to "+XMLNS_NAMESPACE+"\n"+"Actual: "+parser.attribValue)}else{var tag=parser.tag,parent=parser.tags[parser.tags.length-1]||parser;if(tag.ns===parent.ns){tag.ns=Object.create(parent.ns)}tag.ns[local]=parser.attribValue}}parser.attribList.push([parser.attribName,parser.attribValue])}else{parser.tag.attributes[parser.attribName]=parser.attribValue;emitNode(parser,"onattribute",{name:parser.attribName,value:parser.attribValue})}parser.attribName=parser.attribValue=""}function openTag(parser,selfClosing){if(parser.opt.xmlns){var tag=parser.tag;var qn=qname(parser.tagName);tag.prefix=qn.prefix;tag.local=qn.local;tag.uri=tag.ns[qn.prefix]||"";if(tag.prefix&&!tag.uri){strictFail(parser,"Unbound namespace prefix: "+JSON.stringify(parser.tagName));tag.uri=qn.prefix}var parent=parser.tags[parser.tags.length-1]||parser;if(tag.ns&&parent.ns!==tag.ns){Object.keys(tag.ns).forEach(function(p){emitNode(parser,"onopennamespace",{prefix:p,uri:tag.ns[p]})})}for(var i=0,l=parser.attribList.length;i<l;i++){var nv=parser.attribList[i];var name=nv[0],value=nv[1],qualName=qname(name,true),prefix=qualName.prefix,local=qualName.local,uri=prefix==""?"":tag.ns[prefix]||"",a={name:name,value:value,prefix:prefix,local:local,uri:uri};if(prefix&&prefix!="xmlns"&&!uri){strictFail(parser,"Unbound namespace prefix: "+JSON.stringify(prefix));a.uri=prefix}parser.tag.attributes[name]=a;emitNode(parser,"onattribute",a)}parser.attribList.length=0}parser.tag.isSelfClosing=!!selfClosing;parser.sawRoot=true;parser.tags.push(parser.tag);emitNode(parser,"onopentag",parser.tag);if(!selfClosing){if(!parser.noscript&&parser.tagName.toLowerCase()==="script"){parser.state=S.SCRIPT}else{parser.state=S.TEXT}parser.tag=null;parser.tagName=""}parser.attribName=parser.attribValue="";parser.attribList.length=0}function closeTag(parser){if(!parser.tagName){strictFail(parser,"Weird empty close tag.");parser.textNode+="</>";parser.state=S.TEXT;return}if(parser.script){if(parser.tagName!=="script"){parser.script+="</"+parser.tagName+">";parser.tagName="";parser.state=S.SCRIPT;return}emitNode(parser,"onscript",parser.script);parser.script=""}var t=parser.tags.length;var tagName=parser.tagName;if(!parser.strict)tagName=tagName[parser.looseCase]();var closeTo=tagName;while(t--){var close=parser.tags[t];if(close.name!==closeTo){strictFail(parser,"Unexpected close tag")}else break}if(t<0){strictFail(parser,"Unmatched closing tag: "+parser.tagName);parser.textNode+="</"+parser.tagName+">";parser.state=S.TEXT;return}parser.tagName=tagName;var s=parser.tags.length;while(s-- >t){var tag=parser.tag=parser.tags.pop();parser.tagName=parser.tag.name;emitNode(parser,"onclosetag",parser.tagName);var x={};for(var i in tag.ns)x[i]=tag.ns[i];var parent=parser.tags[parser.tags.length-1]||parser;if(parser.opt.xmlns&&tag.ns!==parent.ns){Object.keys(tag.ns).forEach(function(p){var n=tag.ns[p];emitNode(parser,"onclosenamespace",{prefix:p,uri:n})})}}if(t===0)parser.closedRoot=true;parser.tagName=parser.attribValue=parser.attribName="";parser.attribList.length=0;parser.state=S.TEXT}function parseEntity(parser){var entity=parser.entity,entityLC=entity.toLowerCase(),num,numStr="";if(parser.ENTITIES[entity])return parser.ENTITIES[entity];if(parser.ENTITIES[entityLC])return parser.ENTITIES[entityLC];entity=entityLC;if(entity.charAt(0)==="#"){if(entity.charAt(1)==="x"){entity=entity.slice(2);num=parseInt(entity,16);numStr=num.toString(16)}else{entity=entity.slice(1);num=parseInt(entity,10);numStr=num.toString(10)}}entity=entity.replace(/^0+/,"");if(numStr.toLowerCase()!==entity){strictFail(parser,"Invalid character entity");return"&"+parser.entity+";"}return String.fromCodePoint(num)}function write(chunk){var parser=this;if(this.error)throw this.error;if(parser.closed)return error(parser,"Cannot write after close. Assign an onready handler.");if(chunk===null)return end(parser);var i=0,c="";while(parser.c=c=chunk.charAt(i++)){if(parser.trackPosition){parser.position++;if(c==="\n"){parser.line++;parser.column=0}else parser.column++}switch(parser.state){case S.BEGIN:if(c==="<"){parser.state=S.OPEN_WAKA;parser.startTagPosition=parser.position}else if(not(whitespace,c)){strictFail(parser,"Non-whitespace before first tag.");parser.textNode=c;parser.state=S.TEXT}continue;case S.TEXT:if(parser.sawRoot&&!parser.closedRoot){var starti=i-1;while(c&&c!=="<"&&c!=="&"){c=chunk.charAt(i++);if(c&&parser.trackPosition){parser.position++;if(c==="\n"){parser.line++;parser.column=0}else parser.column++}}parser.textNode+=chunk.substring(starti,i-1)}if(c==="<"){parser.state=S.OPEN_WAKA;parser.startTagPosition=parser.position}else{if(not(whitespace,c)&&(!parser.sawRoot||parser.closedRoot))strictFail(parser,"Text data outside of root node.");if(c==="&")parser.state=S.TEXT_ENTITY;else parser.textNode+=c}continue;case S.SCRIPT:if(c==="<"){parser.state=S.SCRIPT_ENDING}else parser.script+=c;continue;case S.SCRIPT_ENDING:if(c==="/"){parser.state=S.CLOSE_TAG}else{parser.script+="<"+c;parser.state=S.SCRIPT}continue;case S.OPEN_WAKA:if(c==="!"){parser.state=S.SGML_DECL;parser.sgmlDecl=""}else if(is(whitespace,c)){}else if(is(nameStart,c)){parser.state=S.OPEN_TAG;parser.tagName=c}else if(c==="/"){parser.state=S.CLOSE_TAG;parser.tagName=""}else if(c==="?"){parser.state=S.PROC_INST;parser.procInstName=parser.procInstBody=""}else{strictFail(parser,"Unencoded <");if(parser.startTagPosition+1<parser.position){var pad=parser.position-parser.startTagPosition;c=new Array(pad).join(" ")+c}parser.textNode+="<"+c;parser.state=S.TEXT}continue;case S.SGML_DECL:if((parser.sgmlDecl+c).toUpperCase()===CDATA){emitNode(parser,"onopencdata");parser.state=S.CDATA;parser.sgmlDecl="";parser.cdata=""}else if(parser.sgmlDecl+c==="--"){parser.state=S.COMMENT;parser.comment="";parser.sgmlDecl=""}else if((parser.sgmlDecl+c).toUpperCase()===DOCTYPE){parser.state=S.DOCTYPE;if(parser.doctype||parser.sawRoot)strictFail(parser,"Inappropriately located doctype declaration");parser.doctype="";parser.sgmlDecl=""}else if(c===">"){emitNode(parser,"onsgmldeclaration",parser.sgmlDecl);parser.sgmlDecl="";parser.state=S.TEXT}else if(is(quote,c)){parser.state=S.SGML_DECL_QUOTED;parser.sgmlDecl+=c}else parser.sgmlDecl+=c;continue;case S.SGML_DECL_QUOTED:if(c===parser.q){parser.state=S.SGML_DECL;parser.q=""}parser.sgmlDecl+=c;continue;case S.DOCTYPE:if(c===">"){parser.state=S.TEXT;emitNode(parser,"ondoctype",parser.doctype);parser.doctype=true}else{parser.doctype+=c;if(c==="[")parser.state=S.DOCTYPE_DTD;else if(is(quote,c)){parser.state=S.DOCTYPE_QUOTED;parser.q=c}}continue;case S.DOCTYPE_QUOTED:parser.doctype+=c;if(c===parser.q){parser.q="";parser.state=S.DOCTYPE}continue;case S.DOCTYPE_DTD:parser.doctype+=c;if(c==="]")parser.state=S.DOCTYPE;else if(is(quote,c)){parser.state=S.DOCTYPE_DTD_QUOTED;parser.q=c}continue;case S.DOCTYPE_DTD_QUOTED:parser.doctype+=c;if(c===parser.q){parser.state=S.DOCTYPE_DTD;parser.q=""}continue;case S.COMMENT:if(c==="-")parser.state=S.COMMENT_ENDING;else parser.comment+=c;continue;case S.COMMENT_ENDING:if(c==="-"){parser.state=S.COMMENT_ENDED;parser.comment=textopts(parser.opt,parser.comment);if(parser.comment)emitNode(parser,"oncomment",parser.comment);parser.comment=""}else{parser.comment+="-"+c;parser.state=S.COMMENT}continue;case S.COMMENT_ENDED:if(c!==">"){strictFail(parser,"Malformed comment");parser.comment+="--"+c;parser.state=S.COMMENT}else parser.state=S.TEXT;continue;case S.CDATA:if(c==="]")parser.state=S.CDATA_ENDING;else parser.cdata+=c;continue;case S.CDATA_ENDING:if(c==="]")parser.state=S.CDATA_ENDING_2;else{parser.cdata+="]"+c;parser.state=S.CDATA}continue;case S.CDATA_ENDING_2:if(c===">"){if(parser.cdata)emitNode(parser,"oncdata",parser.cdata);emitNode(parser,"onclosecdata");parser.cdata="";parser.state=S.TEXT}else if(c==="]"){parser.cdata+="]"}else{parser.cdata+="]]"+c;parser.state=S.CDATA}continue;case S.PROC_INST:if(c==="?")parser.state=S.PROC_INST_ENDING;else if(is(whitespace,c))parser.state=S.PROC_INST_BODY;else parser.procInstName+=c;continue;case S.PROC_INST_BODY:if(!parser.procInstBody&&is(whitespace,c))continue;else if(c==="?")parser.state=S.PROC_INST_ENDING;else parser.procInstBody+=c;continue;case S.PROC_INST_ENDING:if(c===">"){emitNode(parser,"onprocessinginstruction",{name:parser.procInstName,body:parser.procInstBody});parser.procInstName=parser.procInstBody="";parser.state=S.TEXT}else{parser.procInstBody+="?"+c;parser.state=S.PROC_INST_BODY}continue;case S.OPEN_TAG:if(is(nameBody,c))parser.tagName+=c;else{newTag(parser);if(c===">")openTag(parser);else if(c==="/")parser.state=S.OPEN_TAG_SLASH;else{if(not(whitespace,c))strictFail(parser,"Invalid character in tag name");parser.state=S.ATTRIB}}continue;case S.OPEN_TAG_SLASH:if(c===">"){openTag(parser,true);closeTag(parser)}else{strictFail(parser,"Forward-slash in opening tag not followed by >");parser.state=S.ATTRIB}continue;case S.ATTRIB:if(is(whitespace,c))continue;else if(c===">")openTag(parser);else if(c==="/")parser.state=S.OPEN_TAG_SLASH;else if(is(nameStart,c)){parser.attribName=c;parser.attribValue="";parser.state=S.ATTRIB_NAME}else strictFail(parser,"Invalid attribute name");continue;case S.ATTRIB_NAME:if(c==="=")parser.state=S.ATTRIB_VALUE;else if(c===">"){strictFail(parser,"Attribute without value");parser.attribValue=parser.attribName;attrib(parser);openTag(parser)}else if(is(whitespace,c))parser.state=S.ATTRIB_NAME_SAW_WHITE;else if(is(nameBody,c))parser.attribName+=c;else strictFail(parser,"Invalid attribute name");continue;case S.ATTRIB_NAME_SAW_WHITE:if(c==="=")parser.state=S.ATTRIB_VALUE;else if(is(whitespace,c))continue;else{strictFail(parser,"Attribute without value");parser.tag.attributes[parser.attribName]="";parser.attribValue="";emitNode(parser,"onattribute",{name:parser.attribName,value:""});parser.attribName="";if(c===">")openTag(parser);else if(is(nameStart,c)){parser.attribName=c;parser.state=S.ATTRIB_NAME}else{strictFail(parser,"Invalid attribute name");parser.state=S.ATTRIB}}continue;case S.ATTRIB_VALUE:if(is(whitespace,c))continue;else if(is(quote,c)){parser.q=c;parser.state=S.ATTRIB_VALUE_QUOTED}else{strictFail(parser,"Unquoted attribute value");parser.state=S.ATTRIB_VALUE_UNQUOTED;parser.attribValue=c}continue;case S.ATTRIB_VALUE_QUOTED:if(c!==parser.q){if(c==="&")parser.state=S.ATTRIB_VALUE_ENTITY_Q;else parser.attribValue+=c;continue}attrib(parser);parser.q="";parser.state=S.ATTRIB_VALUE_CLOSED;continue;case S.ATTRIB_VALUE_CLOSED:if(is(whitespace,c)){parser.state=S.ATTRIB}else if(c===">")openTag(parser);else if(c==="/")parser.state=S.OPEN_TAG_SLASH;else if(is(nameStart,c)){strictFail(parser,"No whitespace between attributes");parser.attribName=c;parser.attribValue="";parser.state=S.ATTRIB_NAME}else strictFail(parser,"Invalid attribute name");continue;case S.ATTRIB_VALUE_UNQUOTED:if(not(attribEnd,c)){if(c==="&")parser.state=S.ATTRIB_VALUE_ENTITY_U;else parser.attribValue+=c;continue}attrib(parser);if(c===">")openTag(parser);else parser.state=S.ATTRIB;continue;case S.CLOSE_TAG:if(!parser.tagName){if(is(whitespace,c))continue;else if(not(nameStart,c)){if(parser.script){parser.script+="</"+c;parser.state=S.SCRIPT}else{strictFail(parser,"Invalid tagname in closing tag.")}}else parser.tagName=c}else if(c===">")closeTag(parser);else if(is(nameBody,c))parser.tagName+=c;else if(parser.script){parser.script+="</"+parser.tagName;parser.tagName="";parser.state=S.SCRIPT}else{if(not(whitespace,c))strictFail(parser,"Invalid tagname in closing tag");parser.state=S.CLOSE_TAG_SAW_WHITE}continue;case S.CLOSE_TAG_SAW_WHITE:if(is(whitespace,c))continue;if(c===">")closeTag(parser);else strictFail(parser,"Invalid characters in closing tag");continue;case S.TEXT_ENTITY:case S.ATTRIB_VALUE_ENTITY_Q:case S.ATTRIB_VALUE_ENTITY_U:switch(parser.state){case S.TEXT_ENTITY:var returnState=S.TEXT,buffer="textNode";break;case S.ATTRIB_VALUE_ENTITY_Q:var returnState=S.ATTRIB_VALUE_QUOTED,buffer="attribValue";break;case S.ATTRIB_VALUE_ENTITY_U:var returnState=S.ATTRIB_VALUE_UNQUOTED,buffer="attribValue";break}if(c===";"){parser[buffer]+=parseEntity(parser);parser.entity="";parser.state=returnState}else if(is(entity,c))parser.entity+=c;else{strictFail(parser,"Invalid character entity");parser[buffer]+="&"+parser.entity+c;parser.entity="";parser.state=returnState}continue;default:throw new Error(parser,"Unknown state: "+parser.state)}}if(parser.position>=parser.bufferCheckPosition)checkBufferLength(parser);return parser}if(!String.fromCodePoint){(function(){var stringFromCharCode=String.fromCharCode;var floor=Math.floor;var fromCodePoint=function(){var MAX_SIZE=16384;var codeUnits=[];var highSurrogate;var lowSurrogate;var index=-1;var length=arguments.length;if(!length){return""}var result="";while(++index<length){var codePoint=Number(arguments[index]);if(!isFinite(codePoint)||codePoint<0||codePoint>1114111||floor(codePoint)!=codePoint){throw RangeError("Invalid code point: "+codePoint)}if(codePoint<=65535){codeUnits.push(codePoint)}else{codePoint-=65536;highSurrogate=(codePoint>>10)+55296;lowSurrogate=codePoint%1024+56320;codeUnits.push(highSurrogate,lowSurrogate)}if(index+1==length||codeUnits.length>MAX_SIZE){result+=stringFromCharCode.apply(null,codeUnits);codeUnits.length=0}}return result};if(Object.defineProperty){Object.defineProperty(String,"fromCodePoint",{value:fromCodePoint,configurable:true,writable:true})}else{String.fromCodePoint=fromCodePoint}})()}})(typeof exports==="undefined"?sax={}:exports)}).call(this,require("buffer").Buffer)},{buffer:77,stream:106,string_decoder:107}],38:[function(require,module,exports){(function(){var xml2js;xml2js=require("../lib/xml2js");exports.stripBOM=function(str){if(str[0]==="\ufeff"){return str.substring(1)}else{return str}}}).call(this)},{"../lib/xml2js":40}],39:[function(require,module,exports){(function(){var prefixMatch;prefixMatch=new RegExp(/(?!xmlns)^.*:/);exports.normalize=function(str){return str.toLowerCase()};exports.firstCharLowerCase=function(str){return str.charAt(0).toLowerCase()+str.slice(1)};exports.stripPrefix=function(str){return str.replace(prefixMatch,"")}}).call(this)},{}],40:[function(require,module,exports){(function(process){(function(){var bom,builder,events,isEmpty,processName,processors,sax,__hasProp={}.hasOwnProperty,__extends=function(child,parent){for(var key in parent){if(__hasProp.call(parent,key))child[key]=parent[key]}function ctor(){this.constructor=child}ctor.prototype=parent.prototype;child.prototype=new ctor;child.__super__=parent.prototype;return child},__bind=function(fn,me){return function(){return fn.apply(me,arguments)}};sax=require("sax");events=require("events");builder=require("xmlbuilder");bom=require("./bom");processors=require("./processors");isEmpty=function(thing){return typeof thing==="object"&&thing!=null&&Object.keys(thing).length===0};processName=function(processors,processedName){var process,_i,_len;for(_i=0,_len=processors.length;_i<_len;_i++){process=processors[_i];processedName=process(processedName)}return processedName};exports.processors=processors;exports.defaults={.1:{explicitCharkey:false,trim:true,normalize:true,normalizeTags:false,attrkey:"@",charkey:"#",explicitArray:false,ignoreAttrs:false,mergeAttrs:false,explicitRoot:false,validator:null,xmlns:false,explicitChildren:false,childkey:"@@",charsAsChildren:false,async:false,strict:true,attrNameProcessors:null,tagNameProcessors:null},.2:{explicitCharkey:false,trim:false,normalize:false,normalizeTags:false,attrkey:"$",charkey:"_",explicitArray:true,ignoreAttrs:false,mergeAttrs:false,explicitRoot:true,validator:null,xmlns:false,explicitChildren:false,childkey:"$$",charsAsChildren:false,async:false,strict:true,attrNameProcessors:null,tagNameProcessors:null,rootName:"root",xmldec:{version:"1.0",encoding:"UTF-8",standalone:true},doctype:null,renderOpts:{pretty:true,indent:" ",newline:"\n"},headless:false}};exports.ValidationError=function(_super){__extends(ValidationError,_super);function ValidationError(message){this.message=message}return ValidationError}(Error);exports.Builder=function(){function Builder(opts){var key,value,_ref;this.options={};_ref=exports.defaults["0.2"];for(key in _ref){if(!__hasProp.call(_ref,key))continue;value=_ref[key];this.options[key]=value}for(key in opts){if(!__hasProp.call(opts,key))continue;value=opts[key];this.options[key]=value}}Builder.prototype.buildObject=function(rootObj){var attrkey,charkey,render,rootElement,rootName;attrkey=this.options.attrkey;charkey=this.options.charkey;if(Object.keys(rootObj).length===1&&this.options.rootName===exports.defaults["0.2"].rootName){rootName=Object.keys(rootObj)[0];rootObj=rootObj[rootName]}else{rootName=this.options.rootName}render=function(element,obj){var attr,child,entry,index,key,value,_ref,_ref1;if(typeof obj!=="object"){element.txt(obj)}else{for(key in obj){if(!__hasProp.call(obj,key))continue;child=obj[key];if(key===attrkey){if(typeof child==="object"){for(attr in child){value=child[attr];element=element.att(attr,value)}}}else if(key===charkey){element=element.txt(child)}else if(typeof child==="object"&&(child!=null?child.constructor:void 0)!=null&&(child!=null?(_ref=child.constructor)!=null?_ref.name:void 0:void 0)!=null&&(child!=null?(_ref1=child.constructor)!=null?_ref1.name:void 0:void 0)==="Array"){for(index in child){if(!__hasProp.call(child,index))continue;entry=child[index];if(typeof entry==="string"){element=element.ele(key,entry).up()}else{element=arguments.callee(element.ele(key),entry).up()}}}else if(typeof child==="object"){element=arguments.callee(element.ele(key),child).up()}else{element=element.ele(key,child.toString()).up()}}}return element};rootElement=builder.create(rootName,this.options.xmldec,this.options.doctype,{headless:this.options.headless});return render(rootElement,rootObj).end(this.options.renderOpts)};return Builder}();exports.Parser=function(_super){__extends(Parser,_super);function Parser(opts){this.parseString=__bind(this.parseString,this);this.reset=__bind(this.reset,this);this.assignOrPush=__bind(this.assignOrPush,this);var key,value,_ref;if(!(this instanceof exports.Parser)){return new exports.Parser(opts)}this.options={};_ref=exports.defaults["0.2"];for(key in _ref){if(!__hasProp.call(_ref,key))continue;value=_ref[key];this.options[key]=value}for(key in opts){if(!__hasProp.call(opts,key))continue;value=opts[key];this.options[key]=value}if(this.options.xmlns){this.options.xmlnskey=this.options.attrkey+"ns"}if(this.options.normalizeTags){if(!this.options.tagNameProcessors){this.options.tagNameProcessors=[]}this.options.tagNameProcessors.unshift(processors.normalize)}this.reset()}Parser.prototype.assignOrPush=function(obj,key,newValue){if(!(key in obj)){if(!this.options.explicitArray){return obj[key]=newValue}else{return obj[key]=[newValue]}}else{if(!(obj[key]instanceof Array)){obj[key]=[obj[key]]}return obj[key].push(newValue)}};Parser.prototype.reset=function(){var attrkey,charkey,ontext,stack;this.removeAllListeners();this.saxParser=sax.parser(this.options.strict,{trim:false,normalize:false,xmlns:this.options.xmlns});this.saxParser.errThrown=false;this.saxParser.onerror=function(_this){return function(error){_this.saxParser.resume();if(!_this.saxParser.errThrown){_this.saxParser.errThrown=true;return _this.emit("error",error)}}}(this);this.saxParser.ended=false;this.EXPLICIT_CHARKEY=this.options.explicitCharkey;this.resultObject=null;stack=[];attrkey=this.options.attrkey;charkey=this.options.charkey;this.saxParser.onopentag=function(_this){return function(node){var key,newValue,obj,processedKey,_ref;obj={};obj[charkey]="";if(!_this.options.ignoreAttrs){_ref=node.attributes;for(key in _ref){if(!__hasProp.call(_ref,key))continue;if(!(attrkey in obj)&&!_this.options.mergeAttrs){obj[attrkey]={}}newValue=node.attributes[key];processedKey=_this.options.attrNameProcessors?processName(_this.options.attrNameProcessors,key):key;if(_this.options.mergeAttrs){_this.assignOrPush(obj,processedKey,newValue)}else{obj[attrkey][processedKey]=newValue}}}obj["#name"]=_this.options.tagNameProcessors?processName(_this.options.tagNameProcessors,node.name):node.name;if(_this.options.xmlns){obj[_this.options.xmlnskey]={uri:node.uri,local:node.local}}return stack.push(obj)}}(this);this.saxParser.onclosetag=function(_this){return function(){var cdata,emptyStr,err,node,nodeName,obj,old,s,xpath;obj=stack.pop();nodeName=obj["#name"];delete obj["#name"];cdata=obj.cdata;delete obj.cdata;s=stack[stack.length-1];if(obj[charkey].match(/^\s*$/)&&!cdata){emptyStr=obj[charkey];delete obj[charkey]}else{if(_this.options.trim){obj[charkey]=obj[charkey].trim()}if(_this.options.normalize){obj[charkey]=obj[charkey].replace(/\s{2,}/g," ").trim()}if(Object.keys(obj).length===1&&charkey in obj&&!_this.EXPLICIT_CHARKEY){obj=obj[charkey]}}if(isEmpty(obj)){obj=_this.options.emptyTag!==void 0?_this.options.emptyTag:emptyStr}if(_this.options.validator!=null){xpath="/"+function(){var _i,_len,_results;_results=[];for(_i=0,_len=stack.length;_i<_len;_i++){node=stack[_i];_results.push(node["#name"])}return _results}().concat(nodeName).join("/");try{obj=_this.options.validator(xpath,s&&s[nodeName],obj)}catch(_error){err=_error;_this.emit("error",err)}}if(_this.options.explicitChildren&&!_this.options.mergeAttrs&&typeof obj==="object"){node={};if(_this.options.attrkey in obj){node[_this.options.attrkey]=obj[_this.options.attrkey];delete obj[_this.options.attrkey]}if(!_this.options.charsAsChildren&&_this.options.charkey in obj){node[_this.options.charkey]=obj[_this.options.charkey];delete obj[_this.options.charkey]}if(Object.getOwnPropertyNames(obj).length>0){node[_this.options.childkey]=obj}obj=node}if(stack.length>0){return _this.assignOrPush(s,nodeName,obj)}else{if(_this.options.explicitRoot){old=obj;obj={};obj[nodeName]=old}_this.resultObject=obj;_this.saxParser.ended=true;return _this.emit("end",_this.resultObject)}}}(this);ontext=function(_this){return function(text){var s;s=stack[stack.length-1];if(s){s[charkey]+=text;return s}}}(this);this.saxParser.ontext=ontext;return this.saxParser.oncdata=function(_this){return function(text){var s;s=ontext(text);if(s){return s.cdata=true}}}(this)};Parser.prototype.parseString=function(str,cb){var err;if(cb!=null&&typeof cb==="function"){this.on("end",function(result){this.reset();if(this.options.async){return process.nextTick(function(){return cb(null,result)})}else{return cb(null,result)}});this.on("error",function(err){this.reset();if(this.options.async){return process.nextTick(function(){return cb(err)})}else{return cb(err)}})}if(str.toString().trim()===""){this.emit("end",null);return true}try{return this.saxParser.write(bom.stripBOM(str.toString())).close()}catch(_error){err=_error;if(!(this.saxParser.errThrown||this.saxParser.ended)){this.emit("error",err);return this.saxParser.errThrown=true}}};return Parser}(events.EventEmitter);exports.parseString=function(str,a,b){var cb,options,parser;if(b!=null){if(typeof b==="function"){cb=b}if(typeof a==="object"){options=a}}else{if(typeof a==="function"){cb=a}options={}}parser=new exports.Parser(options);return parser.parseString(str,cb)}}).call(this)}).call(this,require("_process"))},{"./bom":38,"./processors":39,_process:85,events:79,sax:37,xmlbuilder:73}],41:[function(require,module,exports){(function(){module.exports={Disconnected:1,Preceding:2,Following:4,Contains:8,ContainedBy:16,ImplementationSpecific:32}}).call(this)},{}],42:[function(require,module,exports){(function(){module.exports={Element:1,Attribute:2,Text:3,CData:4,EntityReference:5,EntityDeclaration:6,ProcessingInstruction:7,Comment:8,Document:9,DocType:10,DocumentFragment:11,NotationDeclaration:12,Declaration:201,Raw:202,AttributeDeclaration:203,ElementDeclaration:204,Dummy:205}}).call(this)},{}],43:[function(require,module,exports){(function(){var assign,getValue,isArray,isEmpty,isFunction,isObject,isPlainObject,hasProp={}.hasOwnProperty;assign=function(target,...sources){var i,key,len,source;if(isFunction(Object.assign)){Object.assign.apply(null,arguments)}else{for(i=0,len=sources.length;i<len;i++){source=sources[i];if(source!=null){for(key in source){if(!hasProp.call(source,key))continue;target[key]=source[key]}}}}return target};isFunction=function(val){return!!val&&Object.prototype.toString.call(val)==="[object Function]"};isObject=function(val){var ref;return!!val&&((ref=typeof val)==="function"||ref==="object")};isArray=function(val){if(isFunction(Array.isArray)){return Array.isArray(val)}else{return Object.prototype.toString.call(val)==="[object Array]"}};isEmpty=function(val){var key;if(isArray(val)){return!val.length}else{for(key in val){if(!hasProp.call(val,key))continue;return false}return true}};isPlainObject=function(val){var ctor,proto;return isObject(val)&&(proto=Object.getPrototypeOf(val))&&(ctor=proto.constructor)&&typeof ctor==="function"&&ctor instanceof ctor&&Function.prototype.toString.call(ctor)===Function.prototype.toString.call(Object)};getValue=function(obj){if(isFunction(obj.valueOf)){return obj.valueOf()}else{return obj}};module.exports.assign=assign;module.exports.isFunction=isFunction;module.exports.isObject=isObject;module.exports.isArray=isArray;module.exports.isEmpty=isEmpty;module.exports.isPlainObject=isPlainObject;module.exports.getValue=getValue}).call(this)},{}],44:[function(require,module,exports){(function(){module.exports={None:0,OpenTag:1,InsideTag:2,CloseTag:3}}).call(this)},{}],45:[function(require,module,exports){(function(){var NodeType,XMLAttribute,XMLNode;NodeType=require("./NodeType");XMLNode=require("./XMLNode");module.exports=XMLAttribute=function(){class XMLAttribute{constructor(parent,name,value){this.parent=parent;if(this.parent){this.options=this.parent.options;this.stringify=this.parent.stringify}if(name==null){throw new Error("Missing attribute name. "+this.debugInfo(name))}this.name=this.stringify.name(name);this.value=this.stringify.attValue(value);this.type=NodeType.Attribute;this.isId=false;this.schemaTypeInfo=null}clone(){return Object.create(this)}toString(options){return this.options.writer.attribute(this,this.options.writer.filterOptions(options))}debugInfo(name){name=name||this.name;if(name==null){return"parent: <"+this.parent.name+">"}else{return"attribute: {"+name+"}, parent: <"+this.parent.name+">"}}isEqualNode(node){if(node.namespaceURI!==this.namespaceURI){return false}if(node.prefix!==this.prefix){return false}if(node.localName!==this.localName){return false}if(node.value!==this.value){return false}return true}}Object.defineProperty(XMLAttribute.prototype,"nodeType",{get:function(){return this.type}});Object.defineProperty(XMLAttribute.prototype,"ownerElement",{get:function(){return this.parent}});Object.defineProperty(XMLAttribute.prototype,"textContent",{get:function(){return this.value},set:function(value){return this.value=value||""}});Object.defineProperty(XMLAttribute.prototype,"namespaceURI",{get:function(){return""}});Object.defineProperty(XMLAttribute.prototype,"prefix",{get:function(){return""}});Object.defineProperty(XMLAttribute.prototype,"localName",{get:function(){return this.name}});Object.defineProperty(XMLAttribute.prototype,"specified",{get:function(){return true}});return XMLAttribute}.call(this)}).call(this)},{"./NodeType":42,"./XMLNode":64}],46:[function(require,module,exports){(function(){var NodeType,XMLCData,XMLCharacterData;NodeType=require("./NodeType");XMLCharacterData=require("./XMLCharacterData");module.exports=XMLCData=class XMLCData extends XMLCharacterData{constructor(parent,text){super(parent);if(text==null){throw new Error("Missing CDATA text. "+this.debugInfo())}this.name="#cdata-section";this.type=NodeType.CData;this.value=this.stringify.cdata(text)}clone(){return Object.create(this)}toString(options){return this.options.writer.cdata(this,this.options.writer.filterOptions(options))}}}).call(this)},{"./NodeType":42,"./XMLCharacterData":47}],47:[function(require,module,exports){(function(){var XMLCharacterData,XMLNode;XMLNode=require("./XMLNode");module.exports=XMLCharacterData=function(){class XMLCharacterData extends XMLNode{constructor(parent){super(parent);this.value=""}clone(){return Object.create(this)}substringData(offset,count){throw new Error("This DOM method is not implemented."+this.debugInfo())}appendData(arg){throw new Error("This DOM method is not implemented."+this.debugInfo())}insertData(offset,arg){throw new Error("This DOM method is not implemented."+this.debugInfo())}deleteData(offset,count){throw new Error("This DOM method is not implemented."+this.debugInfo())}replaceData(offset,count,arg){throw new Error("This DOM method is not implemented."+this.debugInfo())}isEqualNode(node){if(!super.isEqualNode(node)){return false}if(node.data!==this.data){return false}return true}}Object.defineProperty(XMLCharacterData.prototype,"data",{get:function(){return this.value},set:function(value){return this.value=value||""}});Object.defineProperty(XMLCharacterData.prototype,"length",{get:function(){return this.value.length}});Object.defineProperty(XMLCharacterData.prototype,"textContent",{get:function(){return this.value},set:function(value){return this.value=value||""}});return XMLCharacterData}.call(this)}).call(this)},{"./XMLNode":64}],48:[function(require,module,exports){(function(){var NodeType,XMLCharacterData,XMLComment;NodeType=require("./NodeType");XMLCharacterData=require("./XMLCharacterData");module.exports=XMLComment=class XMLComment extends XMLCharacterData{constructor(parent,text){super(parent);if(text==null){throw new Error("Missing comment text. "+this.debugInfo())}this.name="#comment";this.type=NodeType.Comment;this.value=this.stringify.comment(text)}clone(){return Object.create(this)}toString(options){return this.options.writer.comment(this,this.options.writer.filterOptions(options))}}}).call(this)},{"./NodeType":42,"./XMLCharacterData":47}],49:[function(require,module,exports){(function(){var XMLDOMConfiguration,XMLDOMErrorHandler,XMLDOMStringList;XMLDOMErrorHandler=require("./XMLDOMErrorHandler");XMLDOMStringList=require("./XMLDOMStringList");module.exports=XMLDOMConfiguration=function(){class XMLDOMConfiguration{constructor(){var clonedSelf;this.defaultParams={"canonical-form":false,"cdata-sections":false,comments:false,"datatype-normalization":false,"element-content-whitespace":true,entities:true,"error-handler":new XMLDOMErrorHandler,infoset:true,"validate-if-schema":false,namespaces:true,"namespace-declarations":true,"normalize-characters":false,"schema-location":"","schema-type":"","split-cdata-sections":true,validate:false,"well-formed":true};this.params=clonedSelf=Object.create(this.defaultParams)}getParameter(name){if(this.params.hasOwnProperty(name)){return this.params[name]}else{return null}}canSetParameter(name,value){return true}setParameter(name,value){if(value!=null){return this.params[name]=value}else{return delete this.params[name]}}}Object.defineProperty(XMLDOMConfiguration.prototype,"parameterNames",{get:function(){return new XMLDOMStringList(Object.keys(this.defaultParams))}});return XMLDOMConfiguration}.call(this)}).call(this)},{"./XMLDOMErrorHandler":50,"./XMLDOMStringList":52}],50:[function(require,module,exports){(function(){var XMLDOMErrorHandler;module.exports=XMLDOMErrorHandler=class XMLDOMErrorHandler{constructor(){}handleError(error){throw new Error(error)}}}).call(this)},{}],51:[function(require,module,exports){(function(){var XMLDOMImplementation;module.exports=XMLDOMImplementation=class XMLDOMImplementation{hasFeature(feature,version){return true}createDocumentType(qualifiedName,publicId,systemId){throw new Error("This DOM method is not implemented.")}createDocument(namespaceURI,qualifiedName,doctype){throw new Error("This DOM method is not implemented.")}createHTMLDocument(title){throw new Error("This DOM method is not implemented.")}getFeature(feature,version){throw new Error("This DOM method is not implemented.")}}}).call(this)},{}],52:[function(require,module,exports){(function(){var XMLDOMStringList;module.exports=XMLDOMStringList=function(){class XMLDOMStringList{constructor(arr){this.arr=arr||[]}item(index){return this.arr[index]||null}contains(str){return this.arr.indexOf(str)!==-1}}Object.defineProperty(XMLDOMStringList.prototype,"length",{get:function(){return this.arr.length}});return XMLDOMStringList}.call(this)}).call(this)},{}],53:[function(require,module,exports){(function(){var NodeType,XMLDTDAttList,XMLNode;XMLNode=require("./XMLNode");NodeType=require("./NodeType");module.exports=XMLDTDAttList=class XMLDTDAttList extends XMLNode{constructor(parent,elementName,attributeName,attributeType,defaultValueType,defaultValue){super(parent);if(elementName==null){throw new Error("Missing DTD element name. "+this.debugInfo())}if(attributeName==null){throw new Error("Missing DTD attribute name. "+this.debugInfo(elementName))}if(!attributeType){throw new Error("Missing DTD attribute type. "+this.debugInfo(elementName))}if(!defaultValueType){throw new Error("Missing DTD attribute default. "+this.debugInfo(elementName))}if(defaultValueType.indexOf("#")!==0){defaultValueType="#"+defaultValueType}if(!defaultValueType.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/)){throw new Error("Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT. "+this.debugInfo(elementName))}if(defaultValue&&!defaultValueType.match(/^(#FIXED|#DEFAULT)$/)){throw new Error("Default value only applies to #FIXED or #DEFAULT. "+this.debugInfo(elementName))}this.elementName=this.stringify.name(elementName);this.type=NodeType.AttributeDeclaration;this.attributeName=this.stringify.name(attributeName);this.attributeType=this.stringify.dtdAttType(attributeType);if(defaultValue){this.defaultValue=this.stringify.dtdAttDefault(defaultValue)}this.defaultValueType=defaultValueType}toString(options){return this.options.writer.dtdAttList(this,this.options.writer.filterOptions(options))}}}).call(this)},{"./NodeType":42,"./XMLNode":64}],54:[function(require,module,exports){(function(){var NodeType,XMLDTDElement,XMLNode;XMLNode=require("./XMLNode");NodeType=require("./NodeType");module.exports=XMLDTDElement=class XMLDTDElement extends XMLNode{constructor(parent,name,value){super(parent);if(name==null){throw new Error("Missing DTD element name. "+this.debugInfo())}if(!value){value="(#PCDATA)"}if(Array.isArray(value)){value="("+value.join(",")+")"}this.name=this.stringify.name(name);this.type=NodeType.ElementDeclaration;this.value=this.stringify.dtdElementValue(value)}toString(options){return this.options.writer.dtdElement(this,this.options.writer.filterOptions(options))}}}).call(this)},{"./NodeType":42,"./XMLNode":64}],55:[function(require,module,exports){(function(){var NodeType,XMLDTDEntity,XMLNode,isObject;({isObject:isObject}=require("./Utility"));XMLNode=require("./XMLNode");NodeType=require("./NodeType");module.exports=XMLDTDEntity=function(){class XMLDTDEntity extends XMLNode{constructor(parent,pe,name,value){super(parent);if(name==null){throw new Error("Missing DTD entity name. "+this.debugInfo(name))}if(value==null){throw new Error("Missing DTD entity value. "+this.debugInfo(name))}this.pe=!!pe;this.name=this.stringify.name(name);this.type=NodeType.EntityDeclaration;if(!isObject(value)){this.value=this.stringify.dtdEntityValue(value);this.internal=true}else{if(!value.pubID&&!value.sysID){throw new Error("Public and/or system identifiers are required for an external entity. "+this.debugInfo(name))}if(value.pubID&&!value.sysID){throw new Error("System identifier is required for a public external entity. "+this.debugInfo(name))}this.internal=false;if(value.pubID!=null){this.pubID=this.stringify.dtdPubID(value.pubID)}if(value.sysID!=null){this.sysID=this.stringify.dtdSysID(value.sysID)}if(value.nData!=null){this.nData=this.stringify.dtdNData(value.nData)}if(this.pe&&this.nData){throw new Error("Notation declaration is not allowed in a parameter entity. "+this.debugInfo(name))}}}toString(options){return this.options.writer.dtdEntity(this,this.options.writer.filterOptions(options))}}Object.defineProperty(XMLDTDEntity.prototype,"publicId",{get:function(){return this.pubID}});Object.defineProperty(XMLDTDEntity.prototype,"systemId",{get:function(){return this.sysID}});Object.defineProperty(XMLDTDEntity.prototype,"notationName",{get:function(){return this.nData||null}});Object.defineProperty(XMLDTDEntity.prototype,"inputEncoding",{get:function(){return null}});Object.defineProperty(XMLDTDEntity.prototype,"xmlEncoding",{get:function(){return null}});Object.defineProperty(XMLDTDEntity.prototype,"xmlVersion",{get:function(){return null}});return XMLDTDEntity}.call(this)}).call(this)},{"./NodeType":42,"./Utility":43,"./XMLNode":64}],56:[function(require,module,exports){(function(){var NodeType,XMLDTDNotation,XMLNode;XMLNode=require("./XMLNode");NodeType=require("./NodeType");module.exports=XMLDTDNotation=function(){class XMLDTDNotation extends XMLNode{constructor(parent,name,value){super(parent);if(name==null){throw new Error("Missing DTD notation name. "+this.debugInfo(name))}if(!value.pubID&&!value.sysID){throw new Error("Public or system identifiers are required for an external entity. "+this.debugInfo(name))}this.name=this.stringify.name(name);this.type=NodeType.NotationDeclaration;if(value.pubID!=null){this.pubID=this.stringify.dtdPubID(value.pubID)}if(value.sysID!=null){this.sysID=this.stringify.dtdSysID(value.sysID)}}toString(options){return this.options.writer.dtdNotation(this,this.options.writer.filterOptions(options))}}Object.defineProperty(XMLDTDNotation.prototype,"publicId",{get:function(){return this.pubID}});Object.defineProperty(XMLDTDNotation.prototype,"systemId",{get:function(){return this.sysID}});return XMLDTDNotation}.call(this)}).call(this)},{"./NodeType":42,"./XMLNode":64}],57:[function(require,module,exports){(function(){var NodeType,XMLDeclaration,XMLNode,isObject;({isObject:isObject}=require("./Utility"));XMLNode=require("./XMLNode");NodeType=require("./NodeType");module.exports=XMLDeclaration=class XMLDeclaration extends XMLNode{constructor(parent,version,encoding,standalone){super(parent);if(isObject(version)){({version:version,encoding:encoding,standalone:standalone}=version)}if(!version){version="1.0"}this.type=NodeType.Declaration;this.version=this.stringify.xmlVersion(version);if(encoding!=null){this.encoding=this.stringify.xmlEncoding(encoding)}if(standalone!=null){this.standalone=this.stringify.xmlStandalone(standalone)}}toString(options){return this.options.writer.declaration(this,this.options.writer.filterOptions(options))}}}).call(this)},{"./NodeType":42,"./Utility":43,"./XMLNode":64}],58:[function(require,module,exports){(function(){var NodeType,XMLDTDAttList,XMLDTDElement,XMLDTDEntity,XMLDTDNotation,XMLDocType,XMLNamedNodeMap,XMLNode,isObject;({isObject:isObject}=require("./Utility"));XMLNode=require("./XMLNode");NodeType=require("./NodeType");XMLDTDAttList=require("./XMLDTDAttList");XMLDTDEntity=require("./XMLDTDEntity");XMLDTDElement=require("./XMLDTDElement");XMLDTDNotation=require("./XMLDTDNotation");XMLNamedNodeMap=require("./XMLNamedNodeMap");module.exports=XMLDocType=function(){class XMLDocType extends XMLNode{constructor(parent,pubID,sysID){var child,i,len,ref;super(parent);this.type=NodeType.DocType;if(parent.children){ref=parent.children;for(i=0,len=ref.length;i<len;i++){child=ref[i];if(child.type===NodeType.Element){this.name=child.name;break}}}this.documentObject=parent;if(isObject(pubID)){({pubID:pubID,sysID:sysID}=pubID)}if(sysID==null){[sysID,pubID]=[pubID,sysID]}if(pubID!=null){this.pubID=this.stringify.dtdPubID(pubID)}if(sysID!=null){this.sysID=this.stringify.dtdSysID(sysID)}}element(name,value){var child;child=new XMLDTDElement(this,name,value);this.children.push(child);return this}attList(elementName,attributeName,attributeType,defaultValueType,defaultValue){var child;child=new XMLDTDAttList(this,elementName,attributeName,attributeType,defaultValueType,defaultValue);this.children.push(child);return this}entity(name,value){var child;child=new XMLDTDEntity(this,false,name,value);this.children.push(child);return this}pEntity(name,value){var child;child=new XMLDTDEntity(this,true,name,value);this.children.push(child);return this}notation(name,value){var child;child=new XMLDTDNotation(this,name,value);this.children.push(child);return this}toString(options){return this.options.writer.docType(this,this.options.writer.filterOptions(options))}ele(name,value){return this.element(name,value)}att(elementName,attributeName,attributeType,defaultValueType,defaultValue){return this.attList(elementName,attributeName,attributeType,defaultValueType,defaultValue)}ent(name,value){return this.entity(name,value)}pent(name,value){return this.pEntity(name,value)}not(name,value){return this.notation(name,value)}up(){return this.root()||this.documentObject}isEqualNode(node){if(!super.isEqualNode(node)){return false}if(node.name!==this.name){return false}if(node.publicId!==this.publicId){return false}if(node.systemId!==this.systemId){return false}return true}}Object.defineProperty(XMLDocType.prototype,"entities",{get:function(){var child,i,len,nodes,ref;nodes={};ref=this.children;for(i=0,len=ref.length;i<len;i++){child=ref[i];if(child.type===NodeType.EntityDeclaration&&!child.pe){nodes[child.name]=child}}return new XMLNamedNodeMap(nodes)}});Object.defineProperty(XMLDocType.prototype,"notations",{get:function(){var child,i,len,nodes,ref;nodes={};ref=this.children;for(i=0,len=ref.length;i<len;i++){child=ref[i];if(child.type===NodeType.NotationDeclaration){nodes[child.name]=child}}return new XMLNamedNodeMap(nodes)}});Object.defineProperty(XMLDocType.prototype,"publicId",{get:function(){return this.pubID}});Object.defineProperty(XMLDocType.prototype,"systemId",{get:function(){return this.sysID}});Object.defineProperty(XMLDocType.prototype,"internalSubset",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}});return XMLDocType}.call(this)}).call(this)},{"./NodeType":42,"./Utility":43,"./XMLDTDAttList":53,"./XMLDTDElement":54,"./XMLDTDEntity":55,"./XMLDTDNotation":56,"./XMLNamedNodeMap":63,"./XMLNode":64}],59:[function(require,module,exports){(function(){var NodeType,XMLDOMConfiguration,XMLDOMImplementation,XMLDocument,XMLNode,XMLStringWriter,XMLStringifier,isPlainObject;({isPlainObject:isPlainObject}=require("./Utility"));XMLDOMImplementation=require("./XMLDOMImplementation");XMLDOMConfiguration=require("./XMLDOMConfiguration");XMLNode=require("./XMLNode");NodeType=require("./NodeType");XMLStringifier=require("./XMLStringifier");XMLStringWriter=require("./XMLStringWriter");module.exports=XMLDocument=function(){class XMLDocument extends XMLNode{constructor(options){super(null);this.name="#document";this.type=NodeType.Document;this.documentURI=null;this.domConfig=new XMLDOMConfiguration;options||(options={});if(!options.writer){options.writer=new XMLStringWriter}this.options=options;this.stringify=new XMLStringifier(options)}end(writer){var writerOptions;writerOptions={};if(!writer){writer=this.options.writer}else if(isPlainObject(writer)){writerOptions=writer;writer=this.options.writer}return writer.document(this,writer.filterOptions(writerOptions))}toString(options){return this.options.writer.document(this,this.options.writer.filterOptions(options))}createElement(tagName){throw new Error("This DOM method is not implemented."+this.debugInfo())}createDocumentFragment(){throw new Error("This DOM method is not implemented."+this.debugInfo())}createTextNode(data){throw new Error("This DOM method is not implemented."+this.debugInfo())}createComment(data){throw new Error("This DOM method is not implemented."+this.debugInfo())}createCDATASection(data){throw new Error("This DOM method is not implemented."+this.debugInfo())}createProcessingInstruction(target,data){throw new Error("This DOM method is not implemented."+this.debugInfo())}createAttribute(name){throw new Error("This DOM method is not implemented."+this.debugInfo())}createEntityReference(name){throw new Error("This DOM method is not implemented."+this.debugInfo())}getElementsByTagName(tagname){throw new Error("This DOM method is not implemented."+this.debugInfo())}importNode(importedNode,deep){throw new Error("This DOM method is not implemented."+this.debugInfo())}createElementNS(namespaceURI,qualifiedName){throw new Error("This DOM method is not implemented."+this.debugInfo())}createAttributeNS(namespaceURI,qualifiedName){throw new Error("This DOM method is not implemented."+this.debugInfo())}getElementsByTagNameNS(namespaceURI,localName){throw new Error("This DOM method is not implemented."+this.debugInfo())}getElementById(elementId){throw new Error("This DOM method is not implemented."+this.debugInfo())}adoptNode(source){throw new Error("This DOM method is not implemented."+this.debugInfo())}normalizeDocument(){throw new Error("This DOM method is not implemented."+this.debugInfo())}renameNode(node,namespaceURI,qualifiedName){throw new Error("This DOM method is not implemented."+this.debugInfo())}getElementsByClassName(classNames){throw new Error("This DOM method is not implemented."+this.debugInfo())}createEvent(eventInterface){throw new Error("This DOM method is not implemented."+this.debugInfo())}createRange(){throw new Error("This DOM method is not implemented."+this.debugInfo())}createNodeIterator(root,whatToShow,filter){throw new Error("This DOM method is not implemented."+this.debugInfo())}createTreeWalker(root,whatToShow,filter){throw new Error("This DOM method is not implemented."+this.debugInfo())}}Object.defineProperty(XMLDocument.prototype,"implementation",{value:new XMLDOMImplementation});Object.defineProperty(XMLDocument.prototype,"doctype",{get:function(){var child,i,len,ref;ref=this.children;for(i=0,len=ref.length;i<len;i++){child=ref[i];if(child.type===NodeType.DocType){return child}}return null}});Object.defineProperty(XMLDocument.prototype,"documentElement",{get:function(){return this.rootObject||null}});Object.defineProperty(XMLDocument.prototype,"inputEncoding",{get:function(){return null}});Object.defineProperty(XMLDocument.prototype,"strictErrorChecking",{get:function(){return false}});Object.defineProperty(XMLDocument.prototype,"xmlEncoding",{get:function(){if(this.children.length!==0&&this.children[0].type===NodeType.Declaration){return this.children[0].encoding}else{return null}}});Object.defineProperty(XMLDocument.prototype,"xmlStandalone",{get:function(){if(this.children.length!==0&&this.children[0].type===NodeType.Declaration){return this.children[0].standalone==="yes"}else{return false}}});Object.defineProperty(XMLDocument.prototype,"xmlVersion",{get:function(){if(this.children.length!==0&&this.children[0].type===NodeType.Declaration){return this.children[0].version}else{return"1.0"}}});Object.defineProperty(XMLDocument.prototype,"URL",{get:function(){return this.documentURI}});Object.defineProperty(XMLDocument.prototype,"origin",{get:function(){return null}});Object.defineProperty(XMLDocument.prototype,"compatMode",{get:function(){return null}});Object.defineProperty(XMLDocument.prototype,"characterSet",{get:function(){return null}});Object.defineProperty(XMLDocument.prototype,"contentType",{get:function(){return null}});return XMLDocument}.call(this)}).call(this)},{"./NodeType":42,"./Utility":43,"./XMLDOMConfiguration":49,"./XMLDOMImplementation":51,"./XMLNode":64,"./XMLStringWriter":69,"./XMLStringifier":70}],60:[function(require,module,exports){(function(){var NodeType,WriterState,XMLAttribute,XMLCData,XMLComment,XMLDTDAttList,XMLDTDElement,XMLDTDEntity,XMLDTDNotation,XMLDeclaration,XMLDocType,XMLDocument,XMLDocumentCB,XMLElement,XMLProcessingInstruction,XMLRaw,XMLStringWriter,XMLStringifier,XMLText,getValue,isFunction,isObject,isPlainObject,hasProp={}.hasOwnProperty;({isObject:isObject,isFunction:isFunction,isPlainObject:isPlainObject,getValue:getValue}=require("./Utility"));NodeType=require("./NodeType");XMLDocument=require("./XMLDocument");XMLElement=require("./XMLElement");XMLCData=require("./XMLCData");XMLComment=require("./XMLComment");XMLRaw=require("./XMLRaw");XMLText=require("./XMLText");XMLProcessingInstruction=require("./XMLProcessingInstruction");XMLDeclaration=require("./XMLDeclaration");XMLDocType=require("./XMLDocType");XMLDTDAttList=require("./XMLDTDAttList");XMLDTDEntity=require("./XMLDTDEntity");XMLDTDElement=require("./XMLDTDElement");XMLDTDNotation=require("./XMLDTDNotation");XMLAttribute=require("./XMLAttribute");XMLStringifier=require("./XMLStringifier");XMLStringWriter=require("./XMLStringWriter");WriterState=require("./WriterState");module.exports=XMLDocumentCB=class XMLDocumentCB{constructor(options,onData,onEnd){var writerOptions;this.name="?xml";this.type=NodeType.Document;options||(options={});writerOptions={};if(!options.writer){options.writer=new XMLStringWriter}else if(isPlainObject(options.writer)){writerOptions=options.writer;options.writer=new XMLStringWriter}this.options=options;this.writer=options.writer;this.writerOptions=this.writer.filterOptions(writerOptions);this.stringify=new XMLStringifier(options);this.onDataCallback=onData||function(){};this.onEndCallback=onEnd||function(){};this.currentNode=null;this.currentLevel=-1;this.openTags={};this.documentStarted=false;this.documentCompleted=false;this.root=null}createChildNode(node){var att,attName,attributes,child,i,len,ref,ref1;switch(node.type){case NodeType.CData:this.cdata(node.value);break;case NodeType.Comment:this.comment(node.value);break;case NodeType.Element:attributes={};ref=node.attribs;for(attName in ref){if(!hasProp.call(ref,attName))continue;att=ref[attName];attributes[attName]=att.value}this.node(node.name,attributes);break;case NodeType.Dummy:this.dummy();break;case NodeType.Raw:this.raw(node.value);break;case NodeType.Text:this.text(node.value);break;case NodeType.ProcessingInstruction:this.instruction(node.target,node.value);break;default:throw new Error("This XML node type is not supported in a JS object: "+node.constructor.name)}ref1=node.children;for(i=0,len=ref1.length;i<len;i++){child=ref1[i];this.createChildNode(child);if(child.type===NodeType.Element){this.up()}}return this}dummy(){return this}node(name,attributes,text){if(name==null){throw new Error("Missing node name.")}if(this.root&&this.currentLevel===-1){throw new Error("Document can only have one root node. "+this.debugInfo(name))}this.openCurrent();name=getValue(name);if(attributes==null){attributes={}}attributes=getValue(attributes);if(!isObject(attributes)){[text,attributes]=[attributes,text]}this.currentNode=new XMLElement(this,name,attributes);this.currentNode.children=false;this.currentLevel++;this.openTags[this.currentLevel]=this.currentNode;if(text!=null){this.text(text)}return this}element(name,attributes,text){var child,i,len,oldValidationFlag,ref,root;if(this.currentNode&&this.currentNode.type===NodeType.DocType){this.dtdElement(...arguments)}else{if(Array.isArray(name)||isObject(name)||isFunction(name)){oldValidationFlag=this.options.noValidation;this.options.noValidation=true;root=new XMLDocument(this.options).element("TEMP_ROOT");root.element(name);this.options.noValidation=oldValidationFlag;ref=root.children;for(i=0,len=ref.length;i<len;i++){child=ref[i];this.createChildNode(child);if(child.type===NodeType.Element){this.up()}}}else{this.node(name,attributes,text)}}return this}attribute(name,value){var attName,attValue;if(!this.currentNode||this.currentNode.children){throw new Error("att() can only be used immediately after an ele() call in callback mode. "+this.debugInfo(name))}if(name!=null){name=getValue(name)}if(isObject(name)){for(attName in name){if(!hasProp.call(name,attName))continue;attValue=name[attName];this.attribute(attName,attValue)}}else{if(isFunction(value)){value=value.apply()}if(this.options.keepNullAttributes&&value==null){this.currentNode.attribs[name]=new XMLAttribute(this,name,"")}else if(value!=null){this.currentNode.attribs[name]=new XMLAttribute(this,name,value)}}return this}text(value){var node;this.openCurrent();node=new XMLText(this,value);this.onData(this.writer.text(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1);return this}cdata(value){var node;this.openCurrent();node=new XMLCData(this,value);this.onData(this.writer.cdata(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1);return this}comment(value){var node;this.openCurrent();node=new XMLComment(this,value);this.onData(this.writer.comment(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1);return this}raw(value){var node;this.openCurrent();node=new XMLRaw(this,value);this.onData(this.writer.raw(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1);return this}instruction(target,value){var i,insTarget,insValue,len,node;this.openCurrent();if(target!=null){target=getValue(target)}if(value!=null){value=getValue(value)}if(Array.isArray(target)){for(i=0,len=target.length;i<len;i++){insTarget=target[i];this.instruction(insTarget)}}else if(isObject(target)){for(insTarget in target){if(!hasProp.call(target,insTarget))continue;insValue=target[insTarget];this.instruction(insTarget,insValue)}}else{if(isFunction(value)){value=value.apply()}node=new XMLProcessingInstruction(this,target,value);this.onData(this.writer.processingInstruction(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1)}return this}declaration(version,encoding,standalone){var node;this.openCurrent();if(this.documentStarted){throw new Error("declaration() must be the first node.")}node=new XMLDeclaration(this,version,encoding,standalone);this.onData(this.writer.declaration(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1);return this}doctype(root,pubID,sysID){this.openCurrent();if(root==null){throw new Error("Missing root node name.")}if(this.root){throw new Error("dtd() must come before the root node.")}this.currentNode=new XMLDocType(this,pubID,sysID);this.currentNode.rootNodeName=root;this.currentNode.children=false;this.currentLevel++;this.openTags[this.currentLevel]=this.currentNode;return this}dtdElement(name,value){var node;this.openCurrent();node=new XMLDTDElement(this,name,value);this.onData(this.writer.dtdElement(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1);return this}attList(elementName,attributeName,attributeType,defaultValueType,defaultValue){var node;this.openCurrent();node=new XMLDTDAttList(this,elementName,attributeName,attributeType,defaultValueType,defaultValue);this.onData(this.writer.dtdAttList(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1);return this}entity(name,value){var node;this.openCurrent();node=new XMLDTDEntity(this,false,name,value);this.onData(this.writer.dtdEntity(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1);return this}pEntity(name,value){var node;this.openCurrent();node=new XMLDTDEntity(this,true,name,value);this.onData(this.writer.dtdEntity(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1);return this}notation(name,value){var node;this.openCurrent();node=new XMLDTDNotation(this,name,value);this.onData(this.writer.dtdNotation(node,this.writerOptions,this.currentLevel+1),this.currentLevel+1);return this}up(){if(this.currentLevel<0){throw new Error("The document node has no parent.")}if(this.currentNode){if(this.currentNode.children){this.closeNode(this.currentNode)}else{this.openNode(this.currentNode)}this.currentNode=null}else{this.closeNode(this.openTags[this.currentLevel])}delete this.openTags[this.currentLevel];this.currentLevel--;return this}end(){while(this.currentLevel>=0){this.up()}return this.onEnd()}openCurrent(){if(this.currentNode){this.currentNode.children=true;return this.openNode(this.currentNode)}}openNode(node){var att,chunk,name,ref;if(!node.isOpen){if(!this.root&&this.currentLevel===0&&node.type===NodeType.Element){this.root=node}chunk="";if(node.type===NodeType.Element){this.writerOptions.state=WriterState.OpenTag;chunk=this.writer.indent(node,this.writerOptions,this.currentLevel)+"<"+node.name;ref=node.attribs;for(name in ref){if(!hasProp.call(ref,name))continue;att=ref[name];chunk+=this.writer.attribute(att,this.writerOptions,this.currentLevel)}chunk+=(node.children?">":"/>")+this.writer.endline(node,this.writerOptions,this.currentLevel);this.writerOptions.state=WriterState.InsideTag}else{this.writerOptions.state=WriterState.OpenTag;chunk=this.writer.indent(node,this.writerOptions,this.currentLevel)+"<!DOCTYPE "+node.rootNodeName;if(node.pubID&&node.sysID){chunk+=' PUBLIC "'+node.pubID+'" "'+node.sysID+'"'}else if(node.sysID){chunk+=' SYSTEM "'+node.sysID+'"'}if(node.children){chunk+=" [";this.writerOptions.state=WriterState.InsideTag}else{this.writerOptions.state=WriterState.CloseTag;chunk+=">"}chunk+=this.writer.endline(node,this.writerOptions,this.currentLevel)}this.onData(chunk,this.currentLevel);return node.isOpen=true}}closeNode(node){var chunk;if(!node.isClosed){chunk="";this.writerOptions.state=WriterState.CloseTag;if(node.type===NodeType.Element){chunk=this.writer.indent(node,this.writerOptions,this.currentLevel)+"</"+node.name+">"+this.writer.endline(node,this.writerOptions,this.currentLevel)}else{chunk=this.writer.indent(node,this.writerOptions,this.currentLevel)+"]>"+this.writer.endline(node,this.writerOptions,this.currentLevel)}this.writerOptions.state=WriterState.None;this.onData(chunk,this.currentLevel);return node.isClosed=true}}onData(chunk,level){this.documentStarted=true;return this.onDataCallback(chunk,level+1)}onEnd(){this.documentCompleted=true;return this.onEndCallback()}debugInfo(name){if(name==null){return""}else{return"node: <"+name+">"}}ele(){return this.element(...arguments)}nod(name,attributes,text){return this.node(name,attributes,text)}txt(value){return this.text(value)}dat(value){return this.cdata(value)}com(value){return this.comment(value)}ins(target,value){return this.instruction(target,value)}dec(version,encoding,standalone){return this.declaration(version,encoding,standalone)}dtd(root,pubID,sysID){return this.doctype(root,pubID,sysID)}e(name,attributes,text){return this.element(name,attributes,text)}n(name,attributes,text){return this.node(name,attributes,text)}t(value){return this.text(value)}d(value){return this.cdata(value)}c(value){return this.comment(value)}r(value){return this.raw(value)}i(target,value){return this.instruction(target,value)}att(){if(this.currentNode&&this.currentNode.type===NodeType.DocType){return this.attList(...arguments)}else{return this.attribute(...arguments)}}a(){if(this.currentNode&&this.currentNode.type===NodeType.DocType){return this.attList(...arguments)}else{return this.attribute(...arguments)}}ent(name,value){return this.entity(name,value)}pent(name,value){return this.pEntity(name,value)}not(name,value){return this.notation(name,value)}}}).call(this)},{"./NodeType":42,"./Utility":43,"./WriterState":44,"./XMLAttribute":45,"./XMLCData":46,"./XMLComment":48,"./XMLDTDAttList":53,"./XMLDTDElement":54,"./XMLDTDEntity":55,"./XMLDTDNotation":56,"./XMLDeclaration":57,"./XMLDocType":58,"./XMLDocument":59,"./XMLElement":62,"./XMLProcessingInstruction":66,"./XMLRaw":67,"./XMLStringWriter":69,"./XMLStringifier":70,"./XMLText":71}],61:[function(require,module,exports){(function(){var NodeType,XMLDummy,XMLNode;XMLNode=require("./XMLNode");NodeType=require("./NodeType");module.exports=XMLDummy=class XMLDummy extends XMLNode{constructor(parent){super(parent);this.type=NodeType.Dummy}clone(){return Object.create(this)}toString(options){return""}}}).call(this)},{"./NodeType":42,"./XMLNode":64}],62:[function(require,module,exports){(function(){var NodeType,XMLAttribute,XMLElement,XMLNamedNodeMap,XMLNode,getValue,isFunction,isObject,hasProp={}.hasOwnProperty;({isObject:isObject,isFunction:isFunction,getValue:getValue}=require("./Utility"));XMLNode=require("./XMLNode");NodeType=require("./NodeType");XMLAttribute=require("./XMLAttribute");XMLNamedNodeMap=require("./XMLNamedNodeMap");module.exports=XMLElement=function(){class XMLElement extends XMLNode{constructor(parent,name,attributes){var child,j,len,ref;super(parent);if(name==null){throw new Error("Missing element name. "+this.debugInfo())}this.name=this.stringify.name(name);this.type=NodeType.Element;this.attribs={};this.schemaTypeInfo=null;if(attributes!=null){this.attribute(attributes)}if(parent.type===NodeType.Document){this.isRoot=true;this.documentObject=parent;parent.rootObject=this;if(parent.children){ref=parent.children;for(j=0,len=ref.length;j<len;j++){child=ref[j];if(child.type===NodeType.DocType){child.name=this.name;break}}}}}clone(){var att,attName,clonedSelf,ref;clonedSelf=Object.create(this);if(clonedSelf.isRoot){clonedSelf.documentObject=null}clonedSelf.attribs={};ref=this.attribs;for(attName in ref){if(!hasProp.call(ref,attName))continue;att=ref[attName];clonedSelf.attribs[attName]=att.clone()}clonedSelf.children=[];this.children.forEach(function(child){var clonedChild;clonedChild=child.clone();clonedChild.parent=clonedSelf;return clonedSelf.children.push(clonedChild)});return clonedSelf}attribute(name,value){var attName,attValue;if(name!=null){name=getValue(name)}if(isObject(name)){for(attName in name){if(!hasProp.call(name,attName))continue;attValue=name[attName];this.attribute(attName,attValue)}}else{if(isFunction(value)){value=value.apply()}if(this.options.keepNullAttributes&&value==null){this.attribs[name]=new XMLAttribute(this,name,"")}else if(value!=null){this.attribs[name]=new XMLAttribute(this,name,value)}}return this}removeAttribute(name){var attName,j,len;if(name==null){throw new Error("Missing attribute name. "+this.debugInfo())}name=getValue(name);if(Array.isArray(name)){for(j=0,len=name.length;j<len;j++){attName=name[j];delete this.attribs[attName]}}else{delete this.attribs[name]}return this}toString(options){return this.options.writer.element(this,this.options.writer.filterOptions(options))}att(name,value){return this.attribute(name,value)}a(name,value){return this.attribute(name,value)}getAttribute(name){if(this.attribs.hasOwnProperty(name)){return this.attribs[name].value}else{return null}}setAttribute(name,value){throw new Error("This DOM method is not implemented."+this.debugInfo())}getAttributeNode(name){if(this.attribs.hasOwnProperty(name)){return this.attribs[name]}else{return null}}setAttributeNode(newAttr){throw new Error("This DOM method is not implemented."+this.debugInfo())}removeAttributeNode(oldAttr){throw new Error("This DOM method is not implemented."+this.debugInfo())}getElementsByTagName(name){throw new Error("This DOM method is not implemented."+this.debugInfo())}getAttributeNS(namespaceURI,localName){throw new Error("This DOM method is not implemented."+this.debugInfo())}setAttributeNS(namespaceURI,qualifiedName,value){throw new Error("This DOM method is not implemented."+this.debugInfo())}removeAttributeNS(namespaceURI,localName){throw new Error("This DOM method is not implemented."+this.debugInfo())}getAttributeNodeNS(namespaceURI,localName){throw new Error("This DOM method is not implemented."+this.debugInfo())}setAttributeNodeNS(newAttr){throw new Error("This DOM method is not implemented."+this.debugInfo())}getElementsByTagNameNS(namespaceURI,localName){throw new Error("This DOM method is not implemented."+this.debugInfo())}hasAttribute(name){return this.attribs.hasOwnProperty(name)}hasAttributeNS(namespaceURI,localName){throw new Error("This DOM method is not implemented."+this.debugInfo())}setIdAttribute(name,isId){if(this.attribs.hasOwnProperty(name)){return this.attribs[name].isId}else{return isId}}setIdAttributeNS(namespaceURI,localName,isId){throw new Error("This DOM method is not implemented."+this.debugInfo())}setIdAttributeNode(idAttr,isId){throw new Error("This DOM method is not implemented."+this.debugInfo())}getElementsByTagName(tagname){throw new Error("This DOM method is not implemented."+this.debugInfo())}getElementsByTagNameNS(namespaceURI,localName){throw new Error("This DOM method is not implemented."+this.debugInfo())}getElementsByClassName(classNames){throw new Error("This DOM method is not implemented."+this.debugInfo())}isEqualNode(node){var i,j,ref;if(!super.isEqualNode(node)){return false}if(node.namespaceURI!==this.namespaceURI){return false}if(node.prefix!==this.prefix){return false}if(node.localName!==this.localName){return false}if(node.attribs.length!==this.attribs.length){return false}for(i=j=0,ref=this.attribs.length-1;0<=ref?j<=ref:j>=ref;i=0<=ref?++j:--j){if(!this.attribs[i].isEqualNode(node.attribs[i])){return false}}return true}}Object.defineProperty(XMLElement.prototype,"tagName",{get:function(){return this.name}});Object.defineProperty(XMLElement.prototype,"namespaceURI",{get:function(){return""}});Object.defineProperty(XMLElement.prototype,"prefix",{get:function(){return""}});Object.defineProperty(XMLElement.prototype,"localName",{get:function(){return this.name}});Object.defineProperty(XMLElement.prototype,"id",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}});Object.defineProperty(XMLElement.prototype,"className",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}});Object.defineProperty(XMLElement.prototype,"classList",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}});Object.defineProperty(XMLElement.prototype,"attributes",{get:function(){if(!this.attributeMap||!this.attributeMap.nodes){this.attributeMap=new XMLNamedNodeMap(this.attribs)}return this.attributeMap}});return XMLElement}.call(this)}).call(this)},{"./NodeType":42,"./Utility":43,"./XMLAttribute":45,"./XMLNamedNodeMap":63,"./XMLNode":64}],63:[function(require,module,exports){(function(){var XMLNamedNodeMap;module.exports=XMLNamedNodeMap=function(){class XMLNamedNodeMap{constructor(nodes){this.nodes=nodes}clone(){return this.nodes=null}getNamedItem(name){return this.nodes[name]}setNamedItem(node){var oldNode;oldNode=this.nodes[node.nodeName];this.nodes[node.nodeName]=node;return oldNode||null}removeNamedItem(name){var oldNode;oldNode=this.nodes[name];delete this.nodes[name];return oldNode||null}item(index){return this.nodes[Object.keys(this.nodes)[index]]||null}getNamedItemNS(namespaceURI,localName){throw new Error("This DOM method is not implemented.")}setNamedItemNS(node){throw new Error("This DOM method is not implemented.")}removeNamedItemNS(namespaceURI,localName){throw new Error("This DOM method is not implemented.")}}Object.defineProperty(XMLNamedNodeMap.prototype,"length",{get:function(){return Object.keys(this.nodes).length||0}});return XMLNamedNodeMap}.call(this)}).call(this)},{}],64:[function(require,module,exports){(function(){var DocumentPosition,NodeType,XMLCData,XMLComment,XMLDeclaration,XMLDocType,XMLDummy,XMLElement,XMLNamedNodeMap,XMLNode,XMLNodeList,XMLProcessingInstruction,XMLRaw,XMLText,getValue,isEmpty,isFunction,isObject,hasProp={}.hasOwnProperty,splice=[].splice;({isObject:isObject,isFunction:isFunction,isEmpty:isEmpty,getValue:getValue}=require("./Utility"));XMLElement=null;XMLCData=null;XMLComment=null;XMLDeclaration=null;XMLDocType=null;XMLRaw=null;XMLText=null;XMLProcessingInstruction=null;XMLDummy=null;NodeType=null;XMLNodeList=null;XMLNamedNodeMap=null;DocumentPosition=null;module.exports=XMLNode=function(){class XMLNode{constructor(parent1){this.parent=parent1;if(this.parent){this.options=this.parent.options;this.stringify=this.parent.stringify}this.value=null;this.children=[];this.baseURI=null;if(!XMLElement){XMLElement=require("./XMLElement");XMLCData=require("./XMLCData");XMLComment=require("./XMLComment");XMLDeclaration=require("./XMLDeclaration");XMLDocType=require("./XMLDocType");XMLRaw=require("./XMLRaw");XMLText=require("./XMLText");XMLProcessingInstruction=require("./XMLProcessingInstruction");XMLDummy=require("./XMLDummy");NodeType=require("./NodeType");XMLNodeList=require("./XMLNodeList");XMLNamedNodeMap=require("./XMLNamedNodeMap");DocumentPosition=require("./DocumentPosition")}}setParent(parent){var child,j,len,ref1,results;this.parent=parent;if(parent){this.options=parent.options;this.stringify=parent.stringify}ref1=this.children;results=[];for(j=0,len=ref1.length;j<len;j++){child=ref1[j];results.push(child.setParent(this))}return results}element(name,attributes,text){var childNode,item,j,k,key,lastChild,len,len1,val;lastChild=null;if(attributes===null&&text==null){[attributes,text]=[{},null]}if(attributes==null){attributes={}}attributes=getValue(attributes);if(!isObject(attributes)){[text,attributes]=[attributes,text]}if(name!=null){name=getValue(name)}if(Array.isArray(name)){for(j=0,len=name.length;j<len;j++){item=name[j];lastChild=this.element(item)}}else if(isFunction(name)){lastChild=this.element(name.apply())}else if(isObject(name)){for(key in name){if(!hasProp.call(name,key))continue;val=name[key];if(isFunction(val)){val=val.apply()}if(!this.options.ignoreDecorators&&this.stringify.convertAttKey&&key.indexOf(this.stringify.convertAttKey)===0){lastChild=this.attribute(key.substr(this.stringify.convertAttKey.length),val)}else if(!this.options.separateArrayItems&&Array.isArray(val)&&isEmpty(val)){lastChild=this.dummy()}else if(isObject(val)&&isEmpty(val)){lastChild=this.element(key)}else if(!this.options.keepNullNodes&&val==null){lastChild=this.dummy()}else if(!this.options.separateArrayItems&&Array.isArray(val)){for(k=0,len1=val.length;k<len1;k++){item=val[k];childNode={};childNode[key]=item;lastChild=this.element(childNode)}}else if(isObject(val)){if(!this.options.ignoreDecorators&&this.stringify.convertTextKey&&key.indexOf(this.stringify.convertTextKey)===0){lastChild=this.element(val)}else{lastChild=this.element(key);lastChild.element(val)}}else{lastChild=this.element(key,val)}}}else if(!this.options.keepNullNodes&&text===null){lastChild=this.dummy()}else{if(!this.options.ignoreDecorators&&this.stringify.convertTextKey&&name.indexOf(this.stringify.convertTextKey)===0){lastChild=this.text(text)}else if(!this.options.ignoreDecorators&&this.stringify.convertCDataKey&&name.indexOf(this.stringify.convertCDataKey)===0){lastChild=this.cdata(text)}else if(!this.options.ignoreDecorators&&this.stringify.convertCommentKey&&name.indexOf(this.stringify.convertCommentKey)===0){lastChild=this.comment(text)}else if(!this.options.ignoreDecorators&&this.stringify.convertRawKey&&name.indexOf(this.stringify.convertRawKey)===0){lastChild=this.raw(text)}else if(!this.options.ignoreDecorators&&this.stringify.convertPIKey&&name.indexOf(this.stringify.convertPIKey)===0){lastChild=this.instruction(name.substr(this.stringify.convertPIKey.length),text)}else{lastChild=this.node(name,attributes,text)}}if(lastChild==null){throw new Error("Could not create any elements with: "+name+". "+this.debugInfo())}return lastChild}insertBefore(name,attributes,text){var child,i,newChild,refChild,removed;if(name!=null?name.type:void 0){newChild=name;refChild=attributes;newChild.setParent(this);if(refChild){i=children.indexOf(refChild);removed=children.splice(i);children.push(newChild);Array.prototype.push.apply(children,removed)}else{children.push(newChild)}return newChild}else{if(this.isRoot){throw new Error("Cannot insert elements at root level. "+this.debugInfo(name))}i=this.parent.children.indexOf(this);removed=this.parent.children.splice(i);child=this.parent.element(name,attributes,text);Array.prototype.push.apply(this.parent.children,removed);return child}}insertAfter(name,attributes,text){var child,i,removed;if(this.isRoot){throw new Error("Cannot insert elements at root level. "+this.debugInfo(name))}i=this.parent.children.indexOf(this);removed=this.parent.children.splice(i+1);child=this.parent.element(name,attributes,text);Array.prototype.push.apply(this.parent.children,removed);return child}remove(){var i,ref1;if(this.isRoot){throw new Error("Cannot remove the root element. "+this.debugInfo())}i=this.parent.children.indexOf(this);splice.apply(this.parent.children,[i,i-i+1].concat(ref1=[])),ref1;return this.parent}node(name,attributes,text){var child;if(name!=null){name=getValue(name)}attributes||(attributes={});attributes=getValue(attributes);if(!isObject(attributes)){[text,attributes]=[attributes,text]}child=new XMLElement(this,name,attributes);if(text!=null){child.text(text)}this.children.push(child);return child}text(value){var child;if(isObject(value)){this.element(value)}child=new XMLText(this,value);this.children.push(child);return this}cdata(value){var child;child=new XMLCData(this,value);this.children.push(child);return this}comment(value){var child;child=new XMLComment(this,value);this.children.push(child);return this}commentBefore(value){var child,i,removed;i=this.parent.children.indexOf(this);removed=this.parent.children.splice(i);child=this.parent.comment(value);Array.prototype.push.apply(this.parent.children,removed);return this}commentAfter(value){var child,i,removed;i=this.parent.children.indexOf(this);removed=this.parent.children.splice(i+1);child=this.parent.comment(value);Array.prototype.push.apply(this.parent.children,removed);return this}raw(value){var child;child=new XMLRaw(this,value);this.children.push(child);return this}dummy(){var child;child=new XMLDummy(this);return child}instruction(target,value){var insTarget,insValue,instruction,j,len;if(target!=null){target=getValue(target)}if(value!=null){value=getValue(value)}if(Array.isArray(target)){for(j=0,len=target.length;j<len;j++){insTarget=target[j];this.instruction(insTarget)}}else if(isObject(target)){for(insTarget in target){if(!hasProp.call(target,insTarget))continue;insValue=target[insTarget];this.instruction(insTarget,insValue)}}else{if(isFunction(value)){value=value.apply()}instruction=new XMLProcessingInstruction(this,target,value);this.children.push(instruction)}return this}instructionBefore(target,value){var child,i,removed;i=this.parent.children.indexOf(this);removed=this.parent.children.splice(i);child=this.parent.instruction(target,value);Array.prototype.push.apply(this.parent.children,removed);return this}instructionAfter(target,value){var child,i,removed;i=this.parent.children.indexOf(this);removed=this.parent.children.splice(i+1);child=this.parent.instruction(target,value);Array.prototype.push.apply(this.parent.children,removed);return this}declaration(version,encoding,standalone){var doc,xmldec;doc=this.document();xmldec=new XMLDeclaration(doc,version,encoding,standalone);if(doc.children.length===0){doc.children.unshift(xmldec)}else if(doc.children[0].type===NodeType.Declaration){doc.children[0]=xmldec}else{doc.children.unshift(xmldec)}return doc.root()||doc}dtd(pubID,sysID){var child,doc,doctype,i,j,k,len,len1,ref1,ref2;doc=this.document();doctype=new XMLDocType(doc,pubID,sysID);ref1=doc.children;for(i=j=0,len=ref1.length;j<len;i=++j){child=ref1[i];if(child.type===NodeType.DocType){doc.children[i]=doctype;return doctype}}ref2=doc.children;for(i=k=0,len1=ref2.length;k<len1;i=++k){child=ref2[i];if(child.isRoot){doc.children.splice(i,0,doctype);return doctype}}doc.children.push(doctype);return doctype}up(){if(this.isRoot){throw new Error("The root node has no parent. Use doc() if you need to get the document object.")}return this.parent}root(){var node;node=this;while(node){if(node.type===NodeType.Document){return node.rootObject}else if(node.isRoot){return node}else{node=node.parent}}}document(){var node;node=this;while(node){if(node.type===NodeType.Document){return node}else{node=node.parent}}}end(options){return this.document().end(options)}prev(){var i;i=this.parent.children.indexOf(this);if(i<1){throw new Error("Already at the first node. "+this.debugInfo())}return this.parent.children[i-1]}next(){var i;i=this.parent.children.indexOf(this);if(i===-1||i===this.parent.children.length-1){throw new Error("Already at the last node. "+this.debugInfo())}return this.parent.children[i+1]}importDocument(doc){var child,clonedRoot,j,len,ref1;clonedRoot=doc.root().clone();clonedRoot.parent=this;clonedRoot.isRoot=false;this.children.push(clonedRoot);if(this.type===NodeType.Document){clonedRoot.isRoot=true;clonedRoot.documentObject=this;this.rootObject=clonedRoot;if(this.children){ref1=this.children;for(j=0,len=ref1.length;j<len;j++){child=ref1[j];if(child.type===NodeType.DocType){child.name=clonedRoot.name;break}}}}return this}debugInfo(name){var ref1,ref2;name=name||this.name;if(name==null&&!((ref1=this.parent)!=null?ref1.name:void 0)){return""}else if(name==null){return"parent: <"+this.parent.name+">"}else if(!((ref2=this.parent)!=null?ref2.name:void 0)){return"node: <"+name+">"}else{return"node: <"+name+">, parent: <"+this.parent.name+">"}}ele(name,attributes,text){return this.element(name,attributes,text)}nod(name,attributes,text){return this.node(name,attributes,text)}txt(value){return this.text(value)}dat(value){return this.cdata(value)}com(value){return this.comment(value)}ins(target,value){return this.instruction(target,value)}doc(){return this.document()}dec(version,encoding,standalone){return this.declaration(version,encoding,standalone)}e(name,attributes,text){return this.element(name,attributes,text)}n(name,attributes,text){return this.node(name,attributes,text)}t(value){return this.text(value)}d(value){return this.cdata(value)}c(value){return this.comment(value)}r(value){return this.raw(value)}i(target,value){return this.instruction(target,value)}u(){return this.up()}importXMLBuilder(doc){return this.importDocument(doc)}attribute(name,value){throw new Error("attribute() applies to element nodes only.")}att(name,value){return this.attribute(name,value)}a(name,value){return this.attribute(name,value)}removeAttribute(name){throw new Error("attribute() applies to element nodes only.")}replaceChild(newChild,oldChild){throw new Error("This DOM method is not implemented."+this.debugInfo())}removeChild(oldChild){throw new Error("This DOM method is not implemented."+this.debugInfo())}appendChild(newChild){throw new Error("This DOM method is not implemented."+this.debugInfo())}hasChildNodes(){return this.children.length!==0}cloneNode(deep){throw new Error("This DOM method is not implemented."+this.debugInfo())}normalize(){throw new Error("This DOM method is not implemented."+this.debugInfo())}isSupported(feature,version){return true}hasAttributes(){return this.attribs.length!==0}compareDocumentPosition(other){var ref,res;ref=this;if(ref===other){return 0}else if(this.document()!==other.document()){res=DocumentPosition.Disconnected|DocumentPosition.ImplementationSpecific;if(Math.random()<.5){res|=DocumentPosition.Preceding}else{res|=DocumentPosition.Following}return res}else if(ref.isAncestor(other)){return DocumentPosition.Contains|DocumentPosition.Preceding}else if(ref.isDescendant(other)){return DocumentPosition.Contains|DocumentPosition.Following}else if(ref.isPreceding(other)){return DocumentPosition.Preceding}else{return DocumentPosition.Following}}isSameNode(other){throw new Error("This DOM method is not implemented."+this.debugInfo())}lookupPrefix(namespaceURI){throw new Error("This DOM method is not implemented."+this.debugInfo())}isDefaultNamespace(namespaceURI){throw new Error("This DOM method is not implemented."+this.debugInfo())}lookupNamespaceURI(prefix){throw new Error("This DOM method is not implemented."+this.debugInfo())}isEqualNode(node){var i,j,ref1;if(node.nodeType!==this.nodeType){return false}if(node.children.length!==this.children.length){return false}for(i=j=0,ref1=this.children.length-1;0<=ref1?j<=ref1:j>=ref1;i=0<=ref1?++j:--j){if(!this.children[i].isEqualNode(node.children[i])){return false}}return true}getFeature(feature,version){throw new Error("This DOM method is not implemented."+this.debugInfo())}setUserData(key,data,handler){throw new Error("This DOM method is not implemented."+this.debugInfo())}getUserData(key){throw new Error("This DOM method is not implemented."+this.debugInfo())}contains(other){if(!other){return false}return other===this||this.isDescendant(other)}isDescendant(node){var child,isDescendantChild,j,len,ref1;ref1=this.children;for(j=0,len=ref1.length;j<len;j++){child=ref1[j];if(node===child){return true}isDescendantChild=child.isDescendant(node);if(isDescendantChild){return true}}return false}isAncestor(node){return node.isDescendant(this)}isPreceding(node){var nodePos,thisPos;nodePos=this.treePosition(node);thisPos=this.treePosition(this);if(nodePos===-1||thisPos===-1){return false}else{return nodePos<thisPos}}isFollowing(node){var nodePos,thisPos;nodePos=this.treePosition(node);thisPos=this.treePosition(this);if(nodePos===-1||thisPos===-1){return false}else{return nodePos>thisPos}}treePosition(node){var found,pos;pos=0;found=false;this.foreachTreeNode(this.document(),function(childNode){pos++;if(!found&&childNode===node){return found=true}});if(found){return pos}else{return-1}}foreachTreeNode(node,func){var child,j,len,ref1,res;node||(node=this.document());ref1=node.children;for(j=0,len=ref1.length;j<len;j++){child=ref1[j];if(res=func(child)){return res}else{res=this.foreachTreeNode(child,func);if(res){return res}}}}}Object.defineProperty(XMLNode.prototype,"nodeName",{get:function(){return this.name}});Object.defineProperty(XMLNode.prototype,"nodeType",{get:function(){return this.type}});Object.defineProperty(XMLNode.prototype,"nodeValue",{get:function(){return this.value}});Object.defineProperty(XMLNode.prototype,"parentNode",{get:function(){return this.parent}});Object.defineProperty(XMLNode.prototype,"childNodes",{get:function(){if(!this.childNodeList||!this.childNodeList.nodes){this.childNodeList=new XMLNodeList(this.children)}return this.childNodeList}});Object.defineProperty(XMLNode.prototype,"firstChild",{get:function(){return this.children[0]||null}});Object.defineProperty(XMLNode.prototype,"lastChild",{get:function(){return this.children[this.children.length-1]||null}});Object.defineProperty(XMLNode.prototype,"previousSibling",{get:function(){var i;i=this.parent.children.indexOf(this);return this.parent.children[i-1]||null}});Object.defineProperty(XMLNode.prototype,"nextSibling",{get:function(){var i;i=this.parent.children.indexOf(this);return this.parent.children[i+1]||null}});Object.defineProperty(XMLNode.prototype,"ownerDocument",{get:function(){return this.document()||null}});Object.defineProperty(XMLNode.prototype,"textContent",{get:function(){var child,j,len,ref1,str;if(this.nodeType===NodeType.Element||this.nodeType===NodeType.DocumentFragment){str="";ref1=this.children;for(j=0,len=ref1.length;j<len;j++){child=ref1[j];if(child.textContent){str+=child.textContent}}return str}else{return null}},set:function(value){throw new Error("This DOM method is not implemented."+this.debugInfo())}});return XMLNode}.call(this)}).call(this)},{"./DocumentPosition":41,"./NodeType":42,"./Utility":43,"./XMLCData":46,"./XMLComment":48,"./XMLDeclaration":57,"./XMLDocType":58,"./XMLDummy":61,"./XMLElement":62,"./XMLNamedNodeMap":63,"./XMLNodeList":65,"./XMLProcessingInstruction":66,"./XMLRaw":67,"./XMLText":71}],65:[function(require,module,exports){(function(){var XMLNodeList;module.exports=XMLNodeList=function(){class XMLNodeList{constructor(nodes){this.nodes=nodes}clone(){return this.nodes=null}item(index){return this.nodes[index]||null}}Object.defineProperty(XMLNodeList.prototype,"length",{get:function(){return this.nodes.length||0}});return XMLNodeList}.call(this)}).call(this)},{}],66:[function(require,module,exports){(function(){var NodeType,XMLCharacterData,XMLProcessingInstruction;NodeType=require("./NodeType");XMLCharacterData=require("./XMLCharacterData");module.exports=XMLProcessingInstruction=class XMLProcessingInstruction extends XMLCharacterData{constructor(parent,target,value){super(parent);if(target==null){throw new Error("Missing instruction target. "+this.debugInfo())}this.type=NodeType.ProcessingInstruction;this.target=this.stringify.insTarget(target);this.name=this.target;if(value){this.value=this.stringify.insValue(value)}}clone(){return Object.create(this)}toString(options){return this.options.writer.processingInstruction(this,this.options.writer.filterOptions(options))}isEqualNode(node){if(!super.isEqualNode(node)){return false}if(node.target!==this.target){return false}return true}}}).call(this)},{"./NodeType":42,"./XMLCharacterData":47}],67:[function(require,module,exports){(function(){var NodeType,XMLNode,XMLRaw;NodeType=require("./NodeType");XMLNode=require("./XMLNode");module.exports=XMLRaw=class XMLRaw extends XMLNode{constructor(parent,text){super(parent);if(text==null){throw new Error("Missing raw text. "+this.debugInfo())}this.type=NodeType.Raw;this.value=this.stringify.raw(text)}clone(){return Object.create(this)}toString(options){return this.options.writer.raw(this,this.options.writer.filterOptions(options))}}}).call(this)},{"./NodeType":42,"./XMLNode":64}],68:[function(require,module,exports){(function(){var NodeType,WriterState,XMLStreamWriter,XMLWriterBase,hasProp={}.hasOwnProperty;NodeType=require("./NodeType");XMLWriterBase=require("./XMLWriterBase");WriterState=require("./WriterState");module.exports=XMLStreamWriter=class XMLStreamWriter extends XMLWriterBase{constructor(stream,options){super(options);this.stream=stream}endline(node,options,level){if(node.isLastRootNode&&options.state===WriterState.CloseTag){return""}else{return super.endline(node,options,level)}}document(doc,options){var child,i,j,k,len1,len2,ref,ref1,results;ref=doc.children;for(i=j=0,len1=ref.length;j<len1;i=++j){child=ref[i];child.isLastRootNode=i===doc.children.length-1}options=this.filterOptions(options);ref1=doc.children;results=[];for(k=0,len2=ref1.length;k<len2;k++){child=ref1[k];results.push(this.writeChildNode(child,options,0))}return results}cdata(node,options,level){return this.stream.write(super.cdata(node,options,level))}comment(node,options,level){return this.stream.write(super.comment(node,options,level))}declaration(node,options,level){return this.stream.write(super.declaration(node,options,level))}docType(node,options,level){var child,j,len1,ref;level||(level=0);this.openNode(node,options,level);options.state=WriterState.OpenTag;this.stream.write(this.indent(node,options,level));this.stream.write("<!DOCTYPE "+node.root().name);if(node.pubID&&node.sysID){this.stream.write(' PUBLIC "'+node.pubID+'" "'+node.sysID+'"')}else if(node.sysID){this.stream.write(' SYSTEM "'+node.sysID+'"')}if(node.children.length>0){this.stream.write(" [");this.stream.write(this.endline(node,options,level));options.state=WriterState.InsideTag;ref=node.children;for(j=0,len1=ref.length;j<len1;j++){child=ref[j];this.writeChildNode(child,options,level+1)}options.state=WriterState.CloseTag;this.stream.write("]")}options.state=WriterState.CloseTag;this.stream.write(options.spaceBeforeSlash+">");this.stream.write(this.endline(node,options,level));options.state=WriterState.None;return this.closeNode(node,options,level)}element(node,options,level){var att,attLen,child,childNodeCount,firstChildNode,j,len,len1,name,prettySuppressed,r,ratt,ref,ref1,ref2,rline;level||(level=0);this.openNode(node,options,level);options.state=WriterState.OpenTag;r=this.indent(node,options,level)+"<"+node.name;if(options.pretty&&options.width>0){len=r.length;ref=node.attribs;for(name in ref){if(!hasProp.call(ref,name))continue;att=ref[name];ratt=this.attribute(att,options,level);attLen=ratt.length;if(len+attLen>options.width){rline=this.indent(node,options,level+1)+ratt;r+=this.endline(node,options,level)+rline;len=rline.length}else{rline=" "+ratt;r+=rline;len+=rline.length}}}else{ref1=node.attribs;for(name in ref1){if(!hasProp.call(ref1,name))continue;att=ref1[name];r+=this.attribute(att,options,level)}}this.stream.write(r);childNodeCount=node.children.length;firstChildNode=childNodeCount===0?null:node.children[0];if(childNodeCount===0||node.children.every(function(e){return(e.type===NodeType.Text||e.type===NodeType.Raw)&&e.value===""})){if(options.allowEmpty){this.stream.write(">");options.state=WriterState.CloseTag;this.stream.write("</"+node.name+">")}else{options.state=WriterState.CloseTag;this.stream.write(options.spaceBeforeSlash+"/>")}}else if(options.pretty&&childNodeCount===1&&(firstChildNode.type===NodeType.Text||firstChildNode.type===NodeType.Raw)&&firstChildNode.value!=null){this.stream.write(">");options.state=WriterState.InsideTag;options.suppressPrettyCount++;prettySuppressed=true;this.writeChildNode(firstChildNode,options,level+1);options.suppressPrettyCount--;prettySuppressed=false;options.state=WriterState.CloseTag;this.stream.write("</"+node.name+">")}else{this.stream.write(">"+this.endline(node,options,level));options.state=WriterState.InsideTag;ref2=node.children;for(j=0,len1=ref2.length;j<len1;j++){child=ref2[j];this.writeChildNode(child,options,level+1)}options.state=WriterState.CloseTag;this.stream.write(this.indent(node,options,level)+"</"+node.name+">")}this.stream.write(this.endline(node,options,level));options.state=WriterState.None;return this.closeNode(node,options,level)}processingInstruction(node,options,level){return this.stream.write(super.processingInstruction(node,options,level))}raw(node,options,level){return this.stream.write(super.raw(node,options,level))}text(node,options,level){return this.stream.write(super.text(node,options,level))}dtdAttList(node,options,level){return this.stream.write(super.dtdAttList(node,options,level))}dtdElement(node,options,level){return this.stream.write(super.dtdElement(node,options,level))}dtdEntity(node,options,level){return this.stream.write(super.dtdEntity(node,options,level))}dtdNotation(node,options,level){return this.stream.write(super.dtdNotation(node,options,level))}}}).call(this)},{"./NodeType":42,"./WriterState":44,"./XMLWriterBase":72}],69:[function(require,module,exports){(function(){var XMLStringWriter,XMLWriterBase;XMLWriterBase=require("./XMLWriterBase");module.exports=XMLStringWriter=class XMLStringWriter extends XMLWriterBase{constructor(options){super(options)}document(doc,options){var child,i,len,r,ref;options=this.filterOptions(options);r="";ref=doc.children;for(i=0,len=ref.length;i<len;i++){child=ref[i];r+=this.writeChildNode(child,options,0)}if(options.pretty&&r.slice(-options.newline.length)===options.newline){r=r.slice(0,-options.newline.length)}return r}}}).call(this)},{"./XMLWriterBase":72}],70:[function(require,module,exports){(function(){var XMLStringifier,hasProp={}.hasOwnProperty;module.exports=XMLStringifier=function(){class XMLStringifier{constructor(options){var key,ref,value;this.assertLegalChar=this.assertLegalChar.bind(this);this.assertLegalName=this.assertLegalName.bind(this);options||(options={});this.options=options;if(!this.options.version){this.options.version="1.0"}ref=options.stringify||{};for(key in ref){if(!hasProp.call(ref,key))continue;value=ref[key];this[key]=value}}name(val){if(this.options.noValidation){return val}return this.assertLegalName(""+val||"")}text(val){if(this.options.noValidation){return val}return this.assertLegalChar(this.textEscape(""+val||""))}cdata(val){if(this.options.noValidation){return val}val=""+val||"";val=val.replace("]]>","]]]]><![CDATA[>");return this.assertLegalChar(val)}comment(val){if(this.options.noValidation){return val}val=""+val||"";if(val.match(/--/)){throw new Error("Comment text cannot contain double-hypen: "+val)}return this.assertLegalChar(val)}raw(val){if(this.options.noValidation){return val}return""+val||""}attValue(val){if(this.options.noValidation){return val}return this.assertLegalChar(this.attEscape(val=""+val||""))}insTarget(val){if(this.options.noValidation){return val}return this.assertLegalChar(""+val||"")}insValue(val){if(this.options.noValidation){return val}val=""+val||"";if(val.match(/\?>/)){throw new Error("Invalid processing instruction value: "+val)}return this.assertLegalChar(val)}xmlVersion(val){if(this.options.noValidation){return val}val=""+val||"";if(!val.match(/1\.[0-9]+/)){throw new Error("Invalid version number: "+val)}return val}xmlEncoding(val){if(this.options.noValidation){return val}val=""+val||"";if(!val.match(/^[A-Za-z](?:[A-Za-z0-9._-])*$/)){throw new Error("Invalid encoding: "+val)}return this.assertLegalChar(val)}xmlStandalone(val){if(this.options.noValidation){return val}if(val){return"yes"}else{return"no"}}dtdPubID(val){if(this.options.noValidation){return val}return this.assertLegalChar(""+val||"")}dtdSysID(val){if(this.options.noValidation){return val}return this.assertLegalChar(""+val||"")}dtdElementValue(val){if(this.options.noValidation){return val}return this.assertLegalChar(""+val||"")}dtdAttType(val){if(this.options.noValidation){return val}return this.assertLegalChar(""+val||"")}dtdAttDefault(val){if(this.options.noValidation){return val}return this.assertLegalChar(""+val||"")}dtdEntityValue(val){if(this.options.noValidation){return val}return this.assertLegalChar(""+val||"")}dtdNData(val){if(this.options.noValidation){return val}return this.assertLegalChar(""+val||"")}assertLegalChar(str){var regex,res;if(this.options.noValidation){return str}regex="";if(this.options.version==="1.0"){regex=/[\0-\x08\x0B\f\x0E-\x1F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;if(res=str.match(regex)){throw new Error(`Invalid character in string: ${str} at index ${res.index}`)}}else if(this.options.version==="1.1"){regex=/[\0\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;if(res=str.match(regex)){throw new Error(`Invalid character in string: ${str} at index ${res.index}`)}}return str}assertLegalName(str){var regex;if(this.options.noValidation){return str}this.assertLegalChar(str);regex=/^([:A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])([\x2D\.0-:A-Z_a-z\xB7\xC0-\xD6\xD8-\xF6\xF8-\u037D\u037F-\u1FFF\u200C\u200D\u203F\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])*$/;if(!str.match(regex)){throw new Error("Invalid character in name")}return str}textEscape(str){var ampregex;if(this.options.noValidation){return str}ampregex=this.options.noDoubleEncoding?/(?!&\S+;)&/g:/&/g;return str.replace(ampregex,"&").replace(/</g,"<").replace(/>/g,">").replace(/\r/g,"
")}attEscape(str){var ampregex;if(this.options.noValidation){return str}ampregex=this.options.noDoubleEncoding?/(?!&\S+;)&/g:/&/g;return str.replace(ampregex,"&").replace(/</g,"<").replace(/"/g,""").replace(/\t/g,"	").replace(/\n/g,"
").replace(/\r/g,"
")}}XMLStringifier.prototype.convertAttKey="@";XMLStringifier.prototype.convertPIKey="?";XMLStringifier.prototype.convertTextKey="#text";XMLStringifier.prototype.convertCDataKey="#cdata";XMLStringifier.prototype.convertCommentKey="#comment";XMLStringifier.prototype.convertRawKey="#raw";return XMLStringifier}.call(this)}).call(this)},{}],71:[function(require,module,exports){(function(){var NodeType,XMLCharacterData,XMLText;NodeType=require("./NodeType");XMLCharacterData=require("./XMLCharacterData");module.exports=XMLText=function(){class XMLText extends XMLCharacterData{constructor(parent,text){super(parent);if(text==null){throw new Error("Missing element text. "+this.debugInfo())}this.name="#text";this.type=NodeType.Text;this.value=this.stringify.text(text)}clone(){return Object.create(this)}toString(options){return this.options.writer.text(this,this.options.writer.filterOptions(options))}splitText(offset){throw new Error("This DOM method is not implemented."+this.debugInfo())}replaceWholeText(content){throw new Error("This DOM method is not implemented."+this.debugInfo())}}Object.defineProperty(XMLText.prototype,"isElementContentWhitespace",{get:function(){throw new Error("This DOM method is not implemented."+this.debugInfo())}});Object.defineProperty(XMLText.prototype,"wholeText",{get:function(){var next,prev,str;str="";prev=this.previousSibling;while(prev){str=prev.data+str;prev=prev.previousSibling}str+=this.data;next=this.nextSibling;while(next){str=str+next.data;next=next.nextSibling}return str}});return XMLText}.call(this)}).call(this)},{"./NodeType":42,"./XMLCharacterData":47}],72:[function(require,module,exports){(function(){var NodeType,WriterState,XMLCData,XMLComment,XMLDTDAttList,XMLDTDElement,XMLDTDEntity,XMLDTDNotation,XMLDeclaration,XMLDocType,XMLDummy,XMLElement,XMLProcessingInstruction,XMLRaw,XMLText,XMLWriterBase,assign,hasProp={}.hasOwnProperty;({assign:assign}=require("./Utility"));NodeType=require("./NodeType");XMLDeclaration=require("./XMLDeclaration");XMLDocType=require("./XMLDocType");XMLCData=require("./XMLCData");XMLComment=require("./XMLComment");XMLElement=require("./XMLElement");XMLRaw=require("./XMLRaw");XMLText=require("./XMLText");XMLProcessingInstruction=require("./XMLProcessingInstruction");XMLDummy=require("./XMLDummy");XMLDTDAttList=require("./XMLDTDAttList");XMLDTDElement=require("./XMLDTDElement");XMLDTDEntity=require("./XMLDTDEntity");XMLDTDNotation=require("./XMLDTDNotation");WriterState=require("./WriterState");module.exports=XMLWriterBase=class XMLWriterBase{constructor(options){var key,ref,value;options||(options={});this.options=options;ref=options.writer||{};for(key in ref){if(!hasProp.call(ref,key))continue;value=ref[key];this["_"+key]=this[key];this[key]=value}}filterOptions(options){var filteredOptions,ref,ref1,ref2,ref3,ref4,ref5,ref6,ref7;options||(options={});options=assign({},this.options,options);filteredOptions={writer:this};filteredOptions.pretty=options.pretty||false;filteredOptions.allowEmpty=options.allowEmpty||false;filteredOptions.indent=(ref=options.indent)!=null?ref:" ";filteredOptions.newline=(ref1=options.newline)!=null?ref1:"\n";filteredOptions.offset=(ref2=options.offset)!=null?ref2:0;filteredOptions.width=(ref3=options.width)!=null?ref3:0;filteredOptions.dontPrettyTextNodes=(ref4=(ref5=options.dontPrettyTextNodes)!=null?ref5:options.dontprettytextnodes)!=null?ref4:0;filteredOptions.spaceBeforeSlash=(ref6=(ref7=options.spaceBeforeSlash)!=null?ref7:options.spacebeforeslash)!=null?ref6:"";if(filteredOptions.spaceBeforeSlash===true){filteredOptions.spaceBeforeSlash=" "}filteredOptions.suppressPrettyCount=0;filteredOptions.user={};filteredOptions.state=WriterState.None;return filteredOptions}indent(node,options,level){var indentLevel;if(!options.pretty||options.suppressPrettyCount){return""}else if(options.pretty){indentLevel=(level||0)+options.offset+1;if(indentLevel>0){return new Array(indentLevel).join(options.indent)}}return""}endline(node,options,level){if(!options.pretty||options.suppressPrettyCount){return""}else{return options.newline}}attribute(att,options,level){var r;this.openAttribute(att,options,level);if(options.pretty&&options.width>0){r=att.name+'="'+att.value+'"'}else{r=" "+att.name+'="'+att.value+'"'}this.closeAttribute(att,options,level);return r}cdata(node,options,level){var r;this.openNode(node,options,level);options.state=WriterState.OpenTag;r=this.indent(node,options,level)+"<![CDATA[";options.state=WriterState.InsideTag;r+=node.value;options.state=WriterState.CloseTag;r+="]]>"+this.endline(node,options,level);options.state=WriterState.None;this.closeNode(node,options,level);return r}comment(node,options,level){var r;this.openNode(node,options,level);options.state=WriterState.OpenTag;r=this.indent(node,options,level)+"\x3c!-- ";options.state=WriterState.InsideTag;r+=node.value;options.state=WriterState.CloseTag;r+=" --\x3e"+this.endline(node,options,level);options.state=WriterState.None;this.closeNode(node,options,level);return r}declaration(node,options,level){var r;this.openNode(node,options,level);options.state=WriterState.OpenTag;r=this.indent(node,options,level)+"<?xml";options.state=WriterState.InsideTag;r+=' version="'+node.version+'"';if(node.encoding!=null){r+=' encoding="'+node.encoding+'"'}if(node.standalone!=null){r+=' standalone="'+node.standalone+'"'}options.state=WriterState.CloseTag;r+=options.spaceBeforeSlash+"?>";r+=this.endline(node,options,level);options.state=WriterState.None;this.closeNode(node,options,level);return r}docType(node,options,level){var child,i,len1,r,ref;level||(level=0);this.openNode(node,options,level);options.state=WriterState.OpenTag;r=this.indent(node,options,level);r+="<!DOCTYPE "+node.root().name;if(node.pubID&&node.sysID){r+=' PUBLIC "'+node.pubID+'" "'+node.sysID+'"'}else if(node.sysID){r+=' SYSTEM "'+node.sysID+'"'}if(node.children.length>0){r+=" [";r+=this.endline(node,options,level);options.state=WriterState.InsideTag;ref=node.children;for(i=0,len1=ref.length;i<len1;i++){child=ref[i];r+=this.writeChildNode(child,options,level+1)}options.state=WriterState.CloseTag;r+="]"}options.state=WriterState.CloseTag;r+=options.spaceBeforeSlash+">";r+=this.endline(node,options,level);options.state=WriterState.None;this.closeNode(node,options,level);return r}element(node,options,level){var att,attLen,child,childNodeCount,firstChildNode,i,j,len,len1,len2,name,prettySuppressed,r,ratt,ref,ref1,ref2,ref3,rline;level||(level=0);prettySuppressed=false;this.openNode(node,options,level);options.state=WriterState.OpenTag;r=this.indent(node,options,level)+"<"+node.name;if(options.pretty&&options.width>0){len=r.length;ref=node.attribs;for(name in ref){if(!hasProp.call(ref,name))continue;att=ref[name];ratt=this.attribute(att,options,level);attLen=ratt.length;if(len+attLen>options.width){rline=this.indent(node,options,level+1)+ratt;r+=this.endline(node,options,level)+rline;len=rline.length}else{rline=" "+ratt;r+=rline;len+=rline.length}}}else{ref1=node.attribs;for(name in ref1){if(!hasProp.call(ref1,name))continue;att=ref1[name];r+=this.attribute(att,options,level)}}childNodeCount=node.children.length;firstChildNode=childNodeCount===0?null:node.children[0];if(childNodeCount===0||node.children.every(function(e){return(e.type===NodeType.Text||e.type===NodeType.Raw)&&e.value===""})){if(options.allowEmpty){r+=">";options.state=WriterState.CloseTag;r+="</"+node.name+">"+this.endline(node,options,level)}else{options.state=WriterState.CloseTag;r+=options.spaceBeforeSlash+"/>"+this.endline(node,options,level)}}else if(options.pretty&&childNodeCount===1&&(firstChildNode.type===NodeType.Text||firstChildNode.type===NodeType.Raw)&&firstChildNode.value!=null){r+=">";options.state=WriterState.InsideTag;options.suppressPrettyCount++;prettySuppressed=true;r+=this.writeChildNode(firstChildNode,options,level+1);options.suppressPrettyCount--;prettySuppressed=false;options.state=WriterState.CloseTag;r+="</"+node.name+">"+this.endline(node,options,level)}else{if(options.dontPrettyTextNodes){ref2=node.children;for(i=0,len1=ref2.length;i<len1;i++){child=ref2[i];if((child.type===NodeType.Text||child.type===NodeType.Raw)&&child.value!=null){options.suppressPrettyCount++;prettySuppressed=true;break}}}r+=">"+this.endline(node,options,level);options.state=WriterState.InsideTag;ref3=node.children;for(j=0,len2=ref3.length;j<len2;j++){child=ref3[j];r+=this.writeChildNode(child,options,level+1)}options.state=WriterState.CloseTag;r+=this.indent(node,options,level)+"</"+node.name+">";if(prettySuppressed){options.suppressPrettyCount--}r+=this.endline(node,options,level);options.state=WriterState.None}this.closeNode(node,options,level);return r}writeChildNode(node,options,level){switch(node.type){case NodeType.CData:return this.cdata(node,options,level);case NodeType.Comment:return this.comment(node,options,level);case NodeType.Element:return this.element(node,options,level);case NodeType.Raw:return this.raw(node,options,level);case NodeType.Text:return this.text(node,options,level);case NodeType.ProcessingInstruction:return this.processingInstruction(node,options,level);case NodeType.Dummy:return"";case NodeType.Declaration:return this.declaration(node,options,level);case NodeType.DocType:return this.docType(node,options,level);case NodeType.AttributeDeclaration:return this.dtdAttList(node,options,level);case NodeType.ElementDeclaration:return this.dtdElement(node,options,level);case NodeType.EntityDeclaration:return this.dtdEntity(node,options,level);case NodeType.NotationDeclaration:return this.dtdNotation(node,options,level);default:throw new Error("Unknown XML node type: "+node.constructor.name)}}processingInstruction(node,options,level){var r;this.openNode(node,options,level);options.state=WriterState.OpenTag;r=this.indent(node,options,level)+"<?";options.state=WriterState.InsideTag;r+=node.target;if(node.value){r+=" "+node.value}options.state=WriterState.CloseTag;r+=options.spaceBeforeSlash+"?>";r+=this.endline(node,options,level);options.state=WriterState.None;this.closeNode(node,options,level);return r}raw(node,options,level){var r;this.openNode(node,options,level);options.state=WriterState.OpenTag;r=this.indent(node,options,level);options.state=WriterState.InsideTag;r+=node.value;options.state=WriterState.CloseTag;r+=this.endline(node,options,level);options.state=WriterState.None;this.closeNode(node,options,level);return r}text(node,options,level){var r;this.openNode(node,options,level);options.state=WriterState.OpenTag;r=this.indent(node,options,level);options.state=WriterState.InsideTag;r+=node.value;options.state=WriterState.CloseTag;r+=this.endline(node,options,level);options.state=WriterState.None;this.closeNode(node,options,level);return r}dtdAttList(node,options,level){var r;this.openNode(node,options,level);options.state=WriterState.OpenTag;r=this.indent(node,options,level)+"<!ATTLIST";options.state=WriterState.InsideTag;r+=" "+node.elementName+" "+node.attributeName+" "+node.attributeType;if(node.defaultValueType!=="#DEFAULT"){r+=" "+node.defaultValueType}if(node.defaultValue){r+=' "'+node.defaultValue+'"'}options.state=WriterState.CloseTag;r+=options.spaceBeforeSlash+">"+this.endline(node,options,level);options.state=WriterState.None;this.closeNode(node,options,level);return r}dtdElement(node,options,level){var r;this.openNode(node,options,level);options.state=WriterState.OpenTag;r=this.indent(node,options,level)+"<!ELEMENT";options.state=WriterState.InsideTag;r+=" "+node.name+" "+node.value;options.state=WriterState.CloseTag;r+=options.spaceBeforeSlash+">"+this.endline(node,options,level);options.state=WriterState.None;this.closeNode(node,options,level);return r}dtdEntity(node,options,level){var r;this.openNode(node,options,level);options.state=WriterState.OpenTag;r=this.indent(node,options,level)+"<!ENTITY";options.state=WriterState.InsideTag;if(node.pe){r+=" %"}r+=" "+node.name;if(node.value){r+=' "'+node.value+'"'}else{if(node.pubID&&node.sysID){r+=' PUBLIC "'+node.pubID+'" "'+node.sysID+'"'}else if(node.sysID){r+=' SYSTEM "'+node.sysID+'"'}if(node.nData){r+=" NDATA "+node.nData}}options.state=WriterState.CloseTag;r+=options.spaceBeforeSlash+">"+this.endline(node,options,level);options.state=WriterState.None;this.closeNode(node,options,level);return r}dtdNotation(node,options,level){var r;this.openNode(node,options,level);options.state=WriterState.OpenTag;r=this.indent(node,options,level)+"<!NOTATION";options.state=WriterState.InsideTag;r+=" "+node.name;if(node.pubID&&node.sysID){r+=' PUBLIC "'+node.pubID+'" "'+node.sysID+'"'}else if(node.pubID){r+=' PUBLIC "'+node.pubID+'"'}else if(node.sysID){r+=' SYSTEM "'+node.sysID+'"'}options.state=WriterState.CloseTag;r+=options.spaceBeforeSlash+">"+this.endline(node,options,level);options.state=WriterState.None;this.closeNode(node,options,level);return r}openNode(node,options,level){}closeNode(node,options,level){}openAttribute(att,options,level){}closeAttribute(att,options,level){}}}).call(this)},{"./NodeType":42,"./Utility":43,"./WriterState":44,"./XMLCData":46,"./XMLComment":48,"./XMLDTDAttList":53,"./XMLDTDElement":54,"./XMLDTDEntity":55,"./XMLDTDNotation":56,"./XMLDeclaration":57,"./XMLDocType":58,"./XMLDummy":61,"./XMLElement":62,"./XMLProcessingInstruction":66,"./XMLRaw":67,"./XMLText":71}],73:[function(require,module,exports){(function(){var NodeType,WriterState,XMLDOMImplementation,XMLDocument,XMLDocumentCB,XMLStreamWriter,XMLStringWriter,assign,isFunction;({assign:assign,isFunction:isFunction}=require("./Utility"));XMLDOMImplementation=require("./XMLDOMImplementation");XMLDocument=require("./XMLDocument");XMLDocumentCB=require("./XMLDocumentCB");XMLStringWriter=require("./XMLStringWriter");XMLStreamWriter=require("./XMLStreamWriter");NodeType=require("./NodeType");WriterState=require("./WriterState");module.exports.create=function(name,xmldec,doctype,options){var doc,root;if(name==null){throw new Error("Root element needs a name.")}options=assign({},xmldec,doctype,options);doc=new XMLDocument(options);root=doc.element(name);if(!options.headless){doc.declaration(options);if(options.pubID!=null||options.sysID!=null){doc.dtd(options)}}return root};module.exports.begin=function(options,onData,onEnd){if(isFunction(options)){[onData,onEnd]=[options,onData];options={}}if(onData){return new XMLDocumentCB(options,onData,onEnd)}else{return new XMLDocument(options)}};module.exports.stringWriter=function(options){return new XMLStringWriter(options)};module.exports.streamWriter=function(stream,options){return new XMLStreamWriter(stream,options)};module.exports.implementation=new XMLDOMImplementation;module.exports.nodeType=NodeType;module.exports.writerState=WriterState}).call(this)},{"./NodeType":42,"./Utility":43,"./WriterState":44,"./XMLDOMImplementation":51,"./XMLDocument":59,"./XMLDocumentCB":60,"./XMLStreamWriter":68,"./XMLStringWriter":69}],74:[function(require,module,exports){},{}],75:[function(require,module,exports){"use strict";exports.byteLength=byteLength;exports.toByteArray=toByteArray;exports.fromByteArray=fromByteArray;var lookup=[];var revLookup=[];var Arr=typeof Uint8Array!=="undefined"?Uint8Array:Array;var code="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var i=0,len=code.length;i<len;++i){lookup[i]=code[i];revLookup[code.charCodeAt(i)]=i}revLookup["-".charCodeAt(0)]=62;revLookup["_".charCodeAt(0)]=63;function getLens(b64){var len=b64.length;if(len%4>0){throw new Error("Invalid string. Length must be a multiple of 4")}var validLen=b64.indexOf("=");if(validLen===-1)validLen=len;var placeHoldersLen=validLen===len?0:4-validLen%4;return[validLen,placeHoldersLen]}function byteLength(b64){var lens=getLens(b64);var validLen=lens[0];var placeHoldersLen=lens[1];return(validLen+placeHoldersLen)*3/4-placeHoldersLen}function _byteLength(b64,validLen,placeHoldersLen){return(validLen+placeHoldersLen)*3/4-placeHoldersLen}function toByteArray(b64){var tmp;var lens=getLens(b64);var validLen=lens[0];var placeHoldersLen=lens[1];var arr=new Arr(_byteLength(b64,validLen,placeHoldersLen));var curByte=0;var len=placeHoldersLen>0?validLen-4:validLen;var i;for(i=0;i<len;i+=4){tmp=revLookup[b64.charCodeAt(i)]<<18|revLookup[b64.charCodeAt(i+1)]<<12|revLookup[b64.charCodeAt(i+2)]<<6|revLookup[b64.charCodeAt(i+3)];arr[curByte++]=tmp>>16&255;arr[curByte++]=tmp>>8&255;arr[curByte++]=tmp&255}if(placeHoldersLen===2){tmp=revLookup[b64.charCodeAt(i)]<<2|revLookup[b64.charCodeAt(i+1)]>>4;arr[curByte++]=tmp&255}if(placeHoldersLen===1){tmp=revLookup[b64.charCodeAt(i)]<<10|revLookup[b64.charCodeAt(i+1)]<<4|revLookup[b64.charCodeAt(i+2)]>>2;arr[curByte++]=tmp>>8&255;arr[curByte++]=tmp&255}return arr}function tripletToBase64(num){return lookup[num>>18&63]+lookup[num>>12&63]+lookup[num>>6&63]+lookup[num&63]}function encodeChunk(uint8,start,end){var tmp;var output=[];for(var i=start;i<end;i+=3){tmp=(uint8[i]<<16&16711680)+(uint8[i+1]<<8&65280)+(uint8[i+2]&255);output.push(tripletToBase64(tmp))}return output.join("")}function fromByteArray(uint8){var tmp;var len=uint8.length;var extraBytes=len%3;var parts=[];var maxChunkLength=16383;for(var i=0,len2=len-extraBytes;i<len2;i+=maxChunkLength){parts.push(encodeChunk(uint8,i,i+maxChunkLength>len2?len2:i+maxChunkLength))}if(extraBytes===1){tmp=uint8[len-1];parts.push(lookup[tmp>>2]+lookup[tmp<<4&63]+"==")}else if(extraBytes===2){tmp=(uint8[len-2]<<8)+uint8[len-1];parts.push(lookup[tmp>>10]+lookup[tmp>>4&63]+lookup[tmp<<2&63]+"=")}return parts.join("")}},{}],76:[function(require,module,exports){arguments[4][74][0].apply(exports,arguments)},{dup:74}],77:[function(require,module,exports){(function(Buffer){"use strict";var base64=require("base64-js");var ieee754=require("ieee754");exports.Buffer=Buffer;exports.SlowBuffer=SlowBuffer;exports.INSPECT_MAX_BYTES=50;var K_MAX_LENGTH=2147483647;exports.kMaxLength=K_MAX_LENGTH;Buffer.TYPED_ARRAY_SUPPORT=typedArraySupport();if(!Buffer.TYPED_ARRAY_SUPPORT&&typeof console!=="undefined"&&typeof console.error==="function"){console.error("This browser lacks typed array (Uint8Array) support which is required by "+"`buffer` v5.x. Use `buffer` v4.x if you require old browser support.")}function typedArraySupport(){try{var arr=new Uint8Array(1);arr.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}};return arr.foo()===42}catch(e){return false}}Object.defineProperty(Buffer.prototype,"parent",{enumerable:true,get:function(){if(!Buffer.isBuffer(this))return undefined;return this.buffer}});Object.defineProperty(Buffer.prototype,"offset",{enumerable:true,get:function(){if(!Buffer.isBuffer(this))return undefined;return this.byteOffset}});function createBuffer(length){if(length>K_MAX_LENGTH){throw new RangeError('The value "'+length+'" is invalid for option "size"')}var buf=new Uint8Array(length);buf.__proto__=Buffer.prototype;return buf}function Buffer(arg,encodingOrOffset,length){if(typeof arg==="number"){if(typeof encodingOrOffset==="string"){throw new TypeError('The "string" argument must be of type string. Received type number')}return allocUnsafe(arg)}return from(arg,encodingOrOffset,length)}if(typeof Symbol!=="undefined"&&Symbol.species!=null&&Buffer[Symbol.species]===Buffer){Object.defineProperty(Buffer,Symbol.species,{value:null,configurable:true,enumerable:false,writable:false})}Buffer.poolSize=8192;function from(value,encodingOrOffset,length){if(typeof value==="string"){return fromString(value,encodingOrOffset)}if(ArrayBuffer.isView(value)){return fromArrayLike(value)}if(value==null){throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, "+"or Array-like Object. Received type "+typeof value)}if(isInstance(value,ArrayBuffer)||value&&isInstance(value.buffer,ArrayBuffer)){return fromArrayBuffer(value,encodingOrOffset,length)}if(typeof value==="number"){throw new TypeError('The "value" argument must not be of type number. Received type number')}var valueOf=value.valueOf&&value.valueOf();if(valueOf!=null&&valueOf!==value){return Buffer.from(valueOf,encodingOrOffset,length)}var b=fromObject(value);if(b)return b;if(typeof Symbol!=="undefined"&&Symbol.toPrimitive!=null&&typeof value[Symbol.toPrimitive]==="function"){return Buffer.from(value[Symbol.toPrimitive]("string"),encodingOrOffset,length)}throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, "+"or Array-like Object. Received type "+typeof value)}Buffer.from=function(value,encodingOrOffset,length){return from(value,encodingOrOffset,length)};Buffer.prototype.__proto__=Uint8Array.prototype;Buffer.__proto__=Uint8Array;function assertSize(size){if(typeof size!=="number"){throw new TypeError('"size" argument must be of type number')}else if(size<0){throw new RangeError('The value "'+size+'" is invalid for option "size"')}}function alloc(size,fill,encoding){assertSize(size);if(size<=0){return createBuffer(size)}if(fill!==undefined){return typeof encoding==="string"?createBuffer(size).fill(fill,encoding):createBuffer(size).fill(fill)}return createBuffer(size)}Buffer.alloc=function(size,fill,encoding){return alloc(size,fill,encoding)};function allocUnsafe(size){assertSize(size);return createBuffer(size<0?0:checked(size)|0)}Buffer.allocUnsafe=function(size){return allocUnsafe(size)};Buffer.allocUnsafeSlow=function(size){return allocUnsafe(size)};function fromString(string,encoding){if(typeof encoding!=="string"||encoding===""){encoding="utf8"}if(!Buffer.isEncoding(encoding)){throw new TypeError("Unknown encoding: "+encoding)}var length=byteLength(string,encoding)|0;var buf=createBuffer(length);var actual=buf.write(string,encoding);if(actual!==length){buf=buf.slice(0,actual)}return buf}function fromArrayLike(array){var length=array.length<0?0:checked(array.length)|0;var buf=createBuffer(length);for(var i=0;i<length;i+=1){buf[i]=array[i]&255}return buf}function fromArrayBuffer(array,byteOffset,length){if(byteOffset<0||array.byteLength<byteOffset){throw new RangeError('"offset" is outside of buffer bounds')}if(array.byteLength<byteOffset+(length||0)){throw new RangeError('"length" is outside of buffer bounds')}var buf;if(byteOffset===undefined&&length===undefined){buf=new Uint8Array(array)}else if(length===undefined){buf=new Uint8Array(array,byteOffset)}else{buf=new Uint8Array(array,byteOffset,length)}buf.__proto__=Buffer.prototype;return buf}function fromObject(obj){if(Buffer.isBuffer(obj)){var len=checked(obj.length)|0;var buf=createBuffer(len);if(buf.length===0){return buf}obj.copy(buf,0,0,len);return buf}if(obj.length!==undefined){if(typeof obj.length!=="number"||numberIsNaN(obj.length)){return createBuffer(0)}return fromArrayLike(obj)}if(obj.type==="Buffer"&&Array.isArray(obj.data)){return fromArrayLike(obj.data)}}function checked(length){if(length>=K_MAX_LENGTH){throw new RangeError("Attempt to allocate Buffer larger than maximum "+"size: 0x"+K_MAX_LENGTH.toString(16)+" bytes")}return length|0}function SlowBuffer(length){if(+length!=length){length=0}return Buffer.alloc(+length)}Buffer.isBuffer=function isBuffer(b){return b!=null&&b._isBuffer===true&&b!==Buffer.prototype};Buffer.compare=function compare(a,b){if(isInstance(a,Uint8Array))a=Buffer.from(a,a.offset,a.byteLength);if(isInstance(b,Uint8Array))b=Buffer.from(b,b.offset,b.byteLength);if(!Buffer.isBuffer(a)||!Buffer.isBuffer(b)){throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array')}if(a===b)return 0;var x=a.length;var y=b.length;for(var i=0,len=Math.min(x,y);i<len;++i){if(a[i]!==b[i]){x=a[i];y=b[i];break}}if(x<y)return-1;if(y<x)return 1;return 0};Buffer.isEncoding=function isEncoding(encoding){switch(String(encoding).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return true;default:return false}};Buffer.concat=function concat(list,length){if(!Array.isArray(list)){throw new TypeError('"list" argument must be an Array of Buffers')}if(list.length===0){return Buffer.alloc(0)}var i;if(length===undefined){length=0;for(i=0;i<list.length;++i){length+=list[i].length}}var buffer=Buffer.allocUnsafe(length);var pos=0;for(i=0;i<list.length;++i){var buf=list[i];if(isInstance(buf,Uint8Array)){buf=Buffer.from(buf)}if(!Buffer.isBuffer(buf)){throw new TypeError('"list" argument must be an Array of Buffers')}buf.copy(buffer,pos);pos+=buf.length}return buffer};function byteLength(string,encoding){if(Buffer.isBuffer(string)){return string.length}if(ArrayBuffer.isView(string)||isInstance(string,ArrayBuffer)){return string.byteLength}if(typeof string!=="string"){throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. '+"Received type "+typeof string)}var len=string.length;var mustMatch=arguments.length>2&&arguments[2]===true;if(!mustMatch&&len===0)return 0;var loweredCase=false;for(;;){switch(encoding){case"ascii":case"latin1":case"binary":return len;case"utf8":case"utf-8":return utf8ToBytes(string).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return len*2;case"hex":return len>>>1;case"base64":return base64ToBytes(string).length;default:if(loweredCase){return mustMatch?-1:utf8ToBytes(string).length}encoding=(""+encoding).toLowerCase();loweredCase=true}}}Buffer.byteLength=byteLength;function slowToString(encoding,start,end){var loweredCase=false;if(start===undefined||start<0){start=0}if(start>this.length){return""}if(end===undefined||end>this.length){end=this.length}if(end<=0){return""}end>>>=0;start>>>=0;if(end<=start){return""}if(!encoding)encoding="utf8";while(true){switch(encoding){case"hex":return hexSlice(this,start,end);case"utf8":case"utf-8":return utf8Slice(this,start,end);case"ascii":return asciiSlice(this,start,end);case"latin1":case"binary":return latin1Slice(this,start,end);case"base64":return base64Slice(this,start,end);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,start,end);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(encoding+"").toLowerCase();loweredCase=true}}}Buffer.prototype._isBuffer=true;function swap(b,n,m){var i=b[n];b[n]=b[m];b[m]=i}Buffer.prototype.swap16=function swap16(){var len=this.length;if(len%2!==0){throw new RangeError("Buffer size must be a multiple of 16-bits")}for(var i=0;i<len;i+=2){swap(this,i,i+1)}return this};Buffer.prototype.swap32=function swap32(){var len=this.length;if(len%4!==0){throw new RangeError("Buffer size must be a multiple of 32-bits")}for(var i=0;i<len;i+=4){swap(this,i,i+3);swap(this,i+1,i+2)}return this};Buffer.prototype.swap64=function swap64(){var len=this.length;if(len%8!==0){throw new RangeError("Buffer size must be a multiple of 64-bits")}for(var i=0;i<len;i+=8){swap(this,i,i+7);swap(this,i+1,i+6);swap(this,i+2,i+5);swap(this,i+3,i+4)}return this};Buffer.prototype.toString=function toString(){var length=this.length;if(length===0)return"";if(arguments.length===0)return utf8Slice(this,0,length);return slowToString.apply(this,arguments)};Buffer.prototype.toLocaleString=Buffer.prototype.toString;Buffer.prototype.equals=function equals(b){if(!Buffer.isBuffer(b))throw new TypeError("Argument must be a Buffer");if(this===b)return true;return Buffer.compare(this,b)===0};Buffer.prototype.inspect=function inspect(){var str="";var max=exports.INSPECT_MAX_BYTES;str=this.toString("hex",0,max).replace(/(.{2})/g,"$1 ").trim();if(this.length>max)str+=" ... ";return"<Buffer "+str+">"};Buffer.prototype.compare=function compare(target,start,end,thisStart,thisEnd){if(isInstance(target,Uint8Array)){target=Buffer.from(target,target.offset,target.byteLength)}if(!Buffer.isBuffer(target)){throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. '+"Received type "+typeof target)}if(start===undefined){start=0}if(end===undefined){end=target?target.length:0}if(thisStart===undefined){thisStart=0}if(thisEnd===undefined){thisEnd=this.length}if(start<0||end>target.length||thisStart<0||thisEnd>this.length){throw new RangeError("out of range index")}if(thisStart>=thisEnd&&start>=end){return 0}if(thisStart>=thisEnd){return-1}if(start>=end){return 1}start>>>=0;end>>>=0;thisStart>>>=0;thisEnd>>>=0;if(this===target)return 0;var x=thisEnd-thisStart;var y=end-start;var len=Math.min(x,y);var thisCopy=this.slice(thisStart,thisEnd);var targetCopy=target.slice(start,end);for(var i=0;i<len;++i){if(thisCopy[i]!==targetCopy[i]){x=thisCopy[i];y=targetCopy[i];break}}if(x<y)return-1;if(y<x)return 1;return 0};function bidirectionalIndexOf(buffer,val,byteOffset,encoding,dir){if(buffer.length===0)return-1;if(typeof byteOffset==="string"){encoding=byteOffset;byteOffset=0}else if(byteOffset>2147483647){byteOffset=2147483647}else if(byteOffset<-2147483648){byteOffset=-2147483648}byteOffset=+byteOffset;if(numberIsNaN(byteOffset)){byteOffset=dir?0:buffer.length-1}if(byteOffset<0)byteOffset=buffer.length+byteOffset;if(byteOffset>=buffer.length){if(dir)return-1;else byteOffset=buffer.length-1}else if(byteOffset<0){if(dir)byteOffset=0;else return-1}if(typeof val==="string"){val=Buffer.from(val,encoding)}if(Buffer.isBuffer(val)){if(val.length===0){return-1}return arrayIndexOf(buffer,val,byteOffset,encoding,dir)}else if(typeof val==="number"){val=val&255;if(typeof Uint8Array.prototype.indexOf==="function"){if(dir){return Uint8Array.prototype.indexOf.call(buffer,val,byteOffset)}else{return Uint8Array.prototype.lastIndexOf.call(buffer,val,byteOffset)}}return arrayIndexOf(buffer,[val],byteOffset,encoding,dir)}throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(arr,val,byteOffset,encoding,dir){var indexSize=1;var arrLength=arr.length;var valLength=val.length;if(encoding!==undefined){encoding=String(encoding).toLowerCase();if(encoding==="ucs2"||encoding==="ucs-2"||encoding==="utf16le"||encoding==="utf-16le"){if(arr.length<2||val.length<2){return-1}indexSize=2;arrLength/=2;valLength/=2;byteOffset/=2}}function read(buf,i){if(indexSize===1){return buf[i]}else{return buf.readUInt16BE(i*indexSize)}}var i;if(dir){var foundIndex=-1;for(i=byteOffset;i<arrLength;i++){if(read(arr,i)===read(val,foundIndex===-1?0:i-foundIndex)){if(foundIndex===-1)foundIndex=i;if(i-foundIndex+1===valLength)return foundIndex*indexSize}else{if(foundIndex!==-1)i-=i-foundIndex;foundIndex=-1}}}else{if(byteOffset+valLength>arrLength)byteOffset=arrLength-valLength;for(i=byteOffset;i>=0;i--){var found=true;for(var j=0;j<valLength;j++){if(read(arr,i+j)!==read(val,j)){found=false;break}}if(found)return i}}return-1}Buffer.prototype.includes=function includes(val,byteOffset,encoding){return this.indexOf(val,byteOffset,encoding)!==-1};Buffer.prototype.indexOf=function indexOf(val,byteOffset,encoding){return bidirectionalIndexOf(this,val,byteOffset,encoding,true)};Buffer.prototype.lastIndexOf=function lastIndexOf(val,byteOffset,encoding){return bidirectionalIndexOf(this,val,byteOffset,encoding,false)};function hexWrite(buf,string,offset,length){offset=Number(offset)||0;var remaining=buf.length-offset;if(!length){length=remaining}else{length=Number(length);if(length>remaining){length=remaining}}var strLen=string.length;if(length>strLen/2){length=strLen/2}for(var i=0;i<length;++i){var parsed=parseInt(string.substr(i*2,2),16);if(numberIsNaN(parsed))return i;buf[offset+i]=parsed}return i}function utf8Write(buf,string,offset,length){return blitBuffer(utf8ToBytes(string,buf.length-offset),buf,offset,length)}function asciiWrite(buf,string,offset,length){return blitBuffer(asciiToBytes(string),buf,offset,length)}function latin1Write(buf,string,offset,length){return asciiWrite(buf,string,offset,length)}function base64Write(buf,string,offset,length){return blitBuffer(base64ToBytes(string),buf,offset,length)}function ucs2Write(buf,string,offset,length){return blitBuffer(utf16leToBytes(string,buf.length-offset),buf,offset,length)}Buffer.prototype.write=function write(string,offset,length,encoding){if(offset===undefined){encoding="utf8";length=this.length;offset=0}else if(length===undefined&&typeof offset==="string"){encoding=offset;length=this.length;offset=0}else if(isFinite(offset)){offset=offset>>>0;if(isFinite(length)){length=length>>>0;if(encoding===undefined)encoding="utf8"}else{encoding=length;length=undefined}}else{throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported")}var remaining=this.length-offset;if(length===undefined||length>remaining)length=remaining;if(string.length>0&&(length<0||offset<0)||offset>this.length){throw new RangeError("Attempt to write outside buffer bounds")}if(!encoding)encoding="utf8";var loweredCase=false;for(;;){switch(encoding){case"hex":return hexWrite(this,string,offset,length);case"utf8":case"utf-8":return utf8Write(this,string,offset,length);case"ascii":return asciiWrite(this,string,offset,length);case"latin1":case"binary":return latin1Write(this,string,offset,length);case"base64":return base64Write(this,string,offset,length);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,string,offset,length);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(""+encoding).toLowerCase();loweredCase=true}}};Buffer.prototype.toJSON=function toJSON(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function base64Slice(buf,start,end){if(start===0&&end===buf.length){return base64.fromByteArray(buf)}else{return base64.fromByteArray(buf.slice(start,end))}}function utf8Slice(buf,start,end){end=Math.min(buf.length,end);var res=[];var i=start;while(i<end){var firstByte=buf[i];var codePoint=null;var bytesPerSequence=firstByte>239?4:firstByte>223?3:firstByte>191?2:1;if(i+bytesPerSequence<=end){var secondByte,thirdByte,fourthByte,tempCodePoint;switch(bytesPerSequence){case 1:if(firstByte<128){codePoint=firstByte}break;case 2:secondByte=buf[i+1];if((secondByte&192)===128){tempCodePoint=(firstByte&31)<<6|secondByte&63;if(tempCodePoint>127){codePoint=tempCodePoint}}break;case 3:secondByte=buf[i+1];thirdByte=buf[i+2];if((secondByte&192)===128&&(thirdByte&192)===128){tempCodePoint=(firstByte&15)<<12|(secondByte&63)<<6|thirdByte&63;if(tempCodePoint>2047&&(tempCodePoint<55296||tempCodePoint>57343)){codePoint=tempCodePoint}}break;case 4:secondByte=buf[i+1];thirdByte=buf[i+2];fourthByte=buf[i+3];if((secondByte&192)===128&&(thirdByte&192)===128&&(fourthByte&192)===128){tempCodePoint=(firstByte&15)<<18|(secondByte&63)<<12|(thirdByte&63)<<6|fourthByte&63;if(tempCodePoint>65535&&tempCodePoint<1114112){codePoint=tempCodePoint}}}}if(codePoint===null){codePoint=65533;bytesPerSequence=1}else if(codePoint>65535){codePoint-=65536;res.push(codePoint>>>10&1023|55296);codePoint=56320|codePoint&1023}res.push(codePoint);i+=bytesPerSequence}return decodeCodePointsArray(res)}var MAX_ARGUMENTS_LENGTH=4096;function decodeCodePointsArray(codePoints){var len=codePoints.length;if(len<=MAX_ARGUMENTS_LENGTH){return String.fromCharCode.apply(String,codePoints)}var res="";var i=0;while(i<len){res+=String.fromCharCode.apply(String,codePoints.slice(i,i+=MAX_ARGUMENTS_LENGTH))}return res}function asciiSlice(buf,start,end){var ret="";end=Math.min(buf.length,end);for(var i=start;i<end;++i){ret+=String.fromCharCode(buf[i]&127)}return ret}function latin1Slice(buf,start,end){var ret="";end=Math.min(buf.length,end);for(var i=start;i<end;++i){ret+=String.fromCharCode(buf[i])}return ret}function hexSlice(buf,start,end){var len=buf.length;if(!start||start<0)start=0;if(!end||end<0||end>len)end=len;var out="";for(var i=start;i<end;++i){out+=toHex(buf[i])}return out}function utf16leSlice(buf,start,end){var bytes=buf.slice(start,end);var res="";for(var i=0;i<bytes.length;i+=2){res+=String.fromCharCode(bytes[i]+bytes[i+1]*256)}return res}Buffer.prototype.slice=function slice(start,end){var len=this.length;start=~~start;end=end===undefined?len:~~end;if(start<0){start+=len;if(start<0)start=0}else if(start>len){start=len}if(end<0){end+=len;if(end<0)end=0}else if(end>len){end=len}if(end<start)end=start;var newBuf=this.subarray(start,end);newBuf.__proto__=Buffer.prototype;return newBuf};function checkOffset(offset,ext,length){if(offset%1!==0||offset<0)throw new RangeError("offset is not uint");if(offset+ext>length)throw new RangeError("Trying to access beyond buffer length")}Buffer.prototype.readUIntLE=function readUIntLE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i<byteLength&&(mul*=256)){val+=this[offset+i]*mul}return val};Buffer.prototype.readUIntBE=function readUIntBE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert){checkOffset(offset,byteLength,this.length)}var val=this[offset+--byteLength];var mul=1;while(byteLength>0&&(mul*=256)){val+=this[offset+--byteLength]*mul}return val};Buffer.prototype.readUInt8=function readUInt8(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,1,this.length);return this[offset]};Buffer.prototype.readUInt16LE=function readUInt16LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);return this[offset]|this[offset+1]<<8};Buffer.prototype.readUInt16BE=function readUInt16BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);return this[offset]<<8|this[offset+1]};Buffer.prototype.readUInt32LE=function readUInt32LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return(this[offset]|this[offset+1]<<8|this[offset+2]<<16)+this[offset+3]*16777216};Buffer.prototype.readUInt32BE=function readUInt32BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return this[offset]*16777216+(this[offset+1]<<16|this[offset+2]<<8|this[offset+3])};Buffer.prototype.readIntLE=function readIntLE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i<byteLength&&(mul*=256)){val+=this[offset+i]*mul}mul*=128;if(val>=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readIntBE=function readIntBE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert)checkOffset(offset,byteLength,this.length);var i=byteLength;var mul=1;var val=this[offset+--i];while(i>0&&(mul*=256)){val+=this[offset+--i]*mul}mul*=128;if(val>=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readInt8=function readInt8(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,1,this.length);if(!(this[offset]&128))return this[offset];return(255-this[offset]+1)*-1};Buffer.prototype.readInt16LE=function readInt16LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset]|this[offset+1]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt16BE=function readInt16BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset+1]|this[offset]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt32LE=function readInt32LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return this[offset]|this[offset+1]<<8|this[offset+2]<<16|this[offset+3]<<24};Buffer.prototype.readInt32BE=function readInt32BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return this[offset]<<24|this[offset+1]<<16|this[offset+2]<<8|this[offset+3]};Buffer.prototype.readFloatLE=function readFloatLE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,true,23,4)};Buffer.prototype.readFloatBE=function readFloatBE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,false,23,4)};Buffer.prototype.readDoubleLE=function readDoubleLE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,true,52,8)};Buffer.prototype.readDoubleBE=function readDoubleBE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,false,52,8)};function checkInt(buf,value,offset,ext,max,min){if(!Buffer.isBuffer(buf))throw new TypeError('"buffer" argument must be a Buffer instance');if(value>max||value<min)throw new RangeError('"value" argument is out of bounds');if(offset+ext>buf.length)throw new RangeError("Index out of range")}Buffer.prototype.writeUIntLE=function writeUIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0)}var mul=1;var i=0;this[offset]=value&255;while(++i<byteLength&&(mul*=256)){this[offset+i]=value/mul&255}return offset+byteLength};Buffer.prototype.writeUIntBE=function writeUIntBE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0)}var i=byteLength-1;var mul=1;this[offset+i]=value&255;while(--i>=0&&(mul*=256)){this[offset+i]=value/mul&255}return offset+byteLength};Buffer.prototype.writeUInt8=function writeUInt8(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,1,255,0);this[offset]=value&255;return offset+1};Buffer.prototype.writeUInt16LE=function writeUInt16LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,65535,0);this[offset]=value&255;this[offset+1]=value>>>8;return offset+2};Buffer.prototype.writeUInt16BE=function writeUInt16BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,65535,0);this[offset]=value>>>8;this[offset+1]=value&255;return offset+2};Buffer.prototype.writeUInt32LE=function writeUInt32LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);this[offset+3]=value>>>24;this[offset+2]=value>>>16;this[offset+1]=value>>>8;this[offset]=value&255;return offset+4};Buffer.prototype.writeUInt32BE=function writeUInt32BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255;return offset+4};Buffer.prototype.writeIntLE=function writeIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=0;var mul=1;var sub=0;this[offset]=value&255;while(++i<byteLength&&(mul*=256)){if(value<0&&sub===0&&this[offset+i-1]!==0){sub=1}this[offset+i]=(value/mul>>0)-sub&255}return offset+byteLength};Buffer.prototype.writeIntBE=function writeIntBE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=byteLength-1;var mul=1;var sub=0;this[offset+i]=value&255;while(--i>=0&&(mul*=256)){if(value<0&&sub===0&&this[offset+i+1]!==0){sub=1}this[offset+i]=(value/mul>>0)-sub&255}return offset+byteLength};Buffer.prototype.writeInt8=function writeInt8(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,1,127,-128);if(value<0)value=255+value+1;this[offset]=value&255;return offset+1};Buffer.prototype.writeInt16LE=function writeInt16LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);this[offset]=value&255;this[offset+1]=value>>>8;return offset+2};Buffer.prototype.writeInt16BE=function writeInt16BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);this[offset]=value>>>8;this[offset+1]=value&255;return offset+2};Buffer.prototype.writeInt32LE=function writeInt32LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);this[offset]=value&255;this[offset+1]=value>>>8;this[offset+2]=value>>>16;this[offset+3]=value>>>24;return offset+4};Buffer.prototype.writeInt32BE=function writeInt32BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);if(value<0)value=4294967295+value+1;this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255;return offset+4};function checkIEEE754(buf,value,offset,ext,max,min){if(offset+ext>buf.length)throw new RangeError("Index out of range");if(offset<0)throw new RangeError("Index out of range")}function writeFloat(buf,value,offset,littleEndian,noAssert){value=+value;offset=offset>>>0;if(!noAssert){checkIEEE754(buf,value,offset,4,3.4028234663852886e38,-3.4028234663852886e38)}ieee754.write(buf,value,offset,littleEndian,23,4);return offset+4}Buffer.prototype.writeFloatLE=function writeFloatLE(value,offset,noAssert){return writeFloat(this,value,offset,true,noAssert)};Buffer.prototype.writeFloatBE=function writeFloatBE(value,offset,noAssert){return writeFloat(this,value,offset,false,noAssert)};function writeDouble(buf,value,offset,littleEndian,noAssert){value=+value;offset=offset>>>0;if(!noAssert){checkIEEE754(buf,value,offset,8,1.7976931348623157e308,-1.7976931348623157e308)}ieee754.write(buf,value,offset,littleEndian,52,8);return offset+8}Buffer.prototype.writeDoubleLE=function writeDoubleLE(value,offset,noAssert){return writeDouble(this,value,offset,true,noAssert)};Buffer.prototype.writeDoubleBE=function writeDoubleBE(value,offset,noAssert){return writeDouble(this,value,offset,false,noAssert)};Buffer.prototype.copy=function copy(target,targetStart,start,end){if(!Buffer.isBuffer(target))throw new TypeError("argument should be a Buffer");if(!start)start=0;if(!end&&end!==0)end=this.length;if(targetStart>=target.length)targetStart=target.length;if(!targetStart)targetStart=0;if(end>0&&end<start)end=start;if(end===start)return 0;if(target.length===0||this.length===0)return 0;if(targetStart<0){throw new RangeError("targetStart out of bounds")}if(start<0||start>=this.length)throw new RangeError("Index out of range");if(end<0)throw new RangeError("sourceEnd out of bounds");if(end>this.length)end=this.length;if(target.length-targetStart<end-start){end=target.length-targetStart+start}var len=end-start;if(this===target&&typeof Uint8Array.prototype.copyWithin==="function"){this.copyWithin(targetStart,start,end)}else if(this===target&&start<targetStart&&targetStart<end){for(var i=len-1;i>=0;--i){target[i+targetStart]=this[i+start]}}else{Uint8Array.prototype.set.call(target,this.subarray(start,end),targetStart)}return len};Buffer.prototype.fill=function fill(val,start,end,encoding){if(typeof val==="string"){if(typeof start==="string"){encoding=start;start=0;end=this.length}else if(typeof end==="string"){encoding=end;end=this.length}if(encoding!==undefined&&typeof encoding!=="string"){throw new TypeError("encoding must be a string")}if(typeof encoding==="string"&&!Buffer.isEncoding(encoding)){throw new TypeError("Unknown encoding: "+encoding)}if(val.length===1){var code=val.charCodeAt(0);if(encoding==="utf8"&&code<128||encoding==="latin1"){val=code}}}else if(typeof val==="number"){val=val&255}if(start<0||this.length<start||this.length<end){throw new RangeError("Out of range index")}if(end<=start){return this}start=start>>>0;end=end===undefined?this.length:end>>>0;if(!val)val=0;var i;if(typeof val==="number"){for(i=start;i<end;++i){this[i]=val}}else{var bytes=Buffer.isBuffer(val)?val:Buffer.from(val,encoding);var len=bytes.length;if(len===0){throw new TypeError('The value "'+val+'" is invalid for argument "value"')}for(i=0;i<end-start;++i){this[i+start]=bytes[i%len]}}return this};var INVALID_BASE64_RE=/[^+/0-9A-Za-z-_]/g;function base64clean(str){str=str.split("=")[0];str=str.trim().replace(INVALID_BASE64_RE,"");if(str.length<2)return"";while(str.length%4!==0){str=str+"="}return str}function toHex(n){if(n<16)return"0"+n.toString(16);return n.toString(16)}function utf8ToBytes(string,units){units=units||Infinity;var codePoint;var length=string.length;var leadSurrogate=null;var bytes=[];for(var i=0;i<length;++i){codePoint=string.charCodeAt(i);if(codePoint>55295&&codePoint<57344){if(!leadSurrogate){if(codePoint>56319){if((units-=3)>-1)bytes.push(239,191,189);continue}else if(i+1===length){if((units-=3)>-1)bytes.push(239,191,189);continue}leadSurrogate=codePoint;continue}if(codePoint<56320){if((units-=3)>-1)bytes.push(239,191,189);leadSurrogate=codePoint;continue}codePoint=(leadSurrogate-55296<<10|codePoint-56320)+65536}else if(leadSurrogate){if((units-=3)>-1)bytes.push(239,191,189)}leadSurrogate=null;if(codePoint<128){if((units-=1)<0)break;bytes.push(codePoint)}else if(codePoint<2048){if((units-=2)<0)break;bytes.push(codePoint>>6|192,codePoint&63|128)}else if(codePoint<65536){if((units-=3)<0)break;bytes.push(codePoint>>12|224,codePoint>>6&63|128,codePoint&63|128)}else if(codePoint<1114112){if((units-=4)<0)break;bytes.push(codePoint>>18|240,codePoint>>12&63|128,codePoint>>6&63|128,codePoint&63|128)}else{throw new Error("Invalid code point")}}return bytes}function asciiToBytes(str){var byteArray=[];for(var i=0;i<str.length;++i){byteArray.push(str.charCodeAt(i)&255)}return byteArray}function utf16leToBytes(str,units){var c,hi,lo;var byteArray=[];for(var i=0;i<str.length;++i){if((units-=2)<0)break;c=str.charCodeAt(i);hi=c>>8;lo=c%256;byteArray.push(lo);byteArray.push(hi)}return byteArray}function base64ToBytes(str){return base64.toByteArray(base64clean(str))}function blitBuffer(src,dst,offset,length){for(var i=0;i<length;++i){if(i+offset>=dst.length||i>=src.length)break;dst[i+offset]=src[i]}return i}function isInstance(obj,type){return obj instanceof type||obj!=null&&obj.constructor!=null&&obj.constructor.name!=null&&obj.constructor.name===type.name}function numberIsNaN(obj){return obj!==obj}}).call(this,require("buffer").Buffer)},{"base64-js":75,buffer:77,ieee754:80}],78:[function(require,module,exports){(function(Buffer){function isArray(arg){if(Array.isArray){return Array.isArray(arg)}return objectToString(arg)==="[object Array]"}exports.isArray=isArray;function isBoolean(arg){return typeof arg==="boolean"}exports.isBoolean=isBoolean;function isNull(arg){return arg===null}exports.isNull=isNull;function isNullOrUndefined(arg){return arg==null}exports.isNullOrUndefined=isNullOrUndefined;function isNumber(arg){return typeof arg==="number"}exports.isNumber=isNumber;function isString(arg){return typeof arg==="string"}exports.isString=isString;function isSymbol(arg){return typeof arg==="symbol"}exports.isSymbol=isSymbol;function isUndefined(arg){return arg===void 0}exports.isUndefined=isUndefined;function isRegExp(re){return objectToString(re)==="[object RegExp]"}exports.isRegExp=isRegExp;function isObject(arg){return typeof arg==="object"&&arg!==null}exports.isObject=isObject;function isDate(d){return objectToString(d)==="[object Date]"}exports.isDate=isDate;function isError(e){return objectToString(e)==="[object Error]"||e instanceof Error}exports.isError=isError;function isFunction(arg){return typeof arg==="function"}exports.isFunction=isFunction;function isPrimitive(arg){return arg===null||typeof arg==="boolean"||typeof arg==="number"||typeof arg==="string"||typeof arg==="symbol"||typeof arg==="undefined"}exports.isPrimitive=isPrimitive;exports.isBuffer=Buffer.isBuffer;function objectToString(o){return Object.prototype.toString.call(o)}}).call(this,{isBuffer:require("../../is-buffer/index.js")})},{"../../is-buffer/index.js":82}],79:[function(require,module,exports){var objectCreate=Object.create||objectCreatePolyfill;var objectKeys=Object.keys||objectKeysPolyfill;var bind=Function.prototype.bind||functionBindPolyfill;function EventEmitter(){if(!this._events||!Object.prototype.hasOwnProperty.call(this,"_events")){this._events=objectCreate(null);this._eventsCount=0}this._maxListeners=this._maxListeners||undefined}module.exports=EventEmitter;EventEmitter.EventEmitter=EventEmitter;EventEmitter.prototype._events=undefined;EventEmitter.prototype._maxListeners=undefined;var defaultMaxListeners=10;var hasDefineProperty;try{var o={};if(Object.defineProperty)Object.defineProperty(o,"x",{value:0});hasDefineProperty=o.x===0}catch(err){hasDefineProperty=false}if(hasDefineProperty){Object.defineProperty(EventEmitter,"defaultMaxListeners",{enumerable:true,get:function(){return defaultMaxListeners},set:function(arg){if(typeof arg!=="number"||arg<0||arg!==arg)throw new TypeError('"defaultMaxListeners" must be a positive number');defaultMaxListeners=arg}})}else{EventEmitter.defaultMaxListeners=defaultMaxListeners}EventEmitter.prototype.setMaxListeners=function setMaxListeners(n){if(typeof n!=="number"||n<0||isNaN(n))throw new TypeError('"n" argument must be a positive number');this._maxListeners=n;return this};function $getMaxListeners(that){if(that._maxListeners===undefined)return EventEmitter.defaultMaxListeners;return that._maxListeners}EventEmitter.prototype.getMaxListeners=function getMaxListeners(){return $getMaxListeners(this)};function emitNone(handler,isFn,self){if(isFn)handler.call(self);else{var len=handler.length;var listeners=arrayClone(handler,len);for(var i=0;i<len;++i)listeners[i].call(self)}}function emitOne(handler,isFn,self,arg1){if(isFn)handler.call(self,arg1);else{var len=handler.length;var listeners=arrayClone(handler,len);for(var i=0;i<len;++i)listeners[i].call(self,arg1)}}function emitTwo(handler,isFn,self,arg1,arg2){if(isFn)handler.call(self,arg1,arg2);else{var len=handler.length;var listeners=arrayClone(handler,len);for(var i=0;i<len;++i)listeners[i].call(self,arg1,arg2)}}function emitThree(handler,isFn,self,arg1,arg2,arg3){if(isFn)handler.call(self,arg1,arg2,arg3);else{var len=handler.length;var listeners=arrayClone(handler,len);for(var i=0;i<len;++i)listeners[i].call(self,arg1,arg2,arg3)}}function emitMany(handler,isFn,self,args){if(isFn)handler.apply(self,args);else{var len=handler.length;var listeners=arrayClone(handler,len);for(var i=0;i<len;++i)listeners[i].apply(self,args)}}EventEmitter.prototype.emit=function emit(type){var er,handler,len,args,i,events;var doError=type==="error";events=this._events;if(events)doError=doError&&events.error==null;else if(!doError)return false;if(doError){if(arguments.length>1)er=arguments[1];if(er instanceof Error){throw er}else{var err=new Error('Unhandled "error" event. ('+er+")");err.context=er;throw err}return false}handler=events[type];if(!handler)return false;var isFn=typeof handler==="function";len=arguments.length;switch(len){case 1:emitNone(handler,isFn,this);break;case 2:emitOne(handler,isFn,this,arguments[1]);break;case 3:emitTwo(handler,isFn,this,arguments[1],arguments[2]);break;case 4:emitThree(handler,isFn,this,arguments[1],arguments[2],arguments[3]);break;default:args=new Array(len-1);for(i=1;i<len;i++)args[i-1]=arguments[i];emitMany(handler,isFn,this,args)}return true};function _addListener(target,type,listener,prepend){var m;var events;var existing;if(typeof listener!=="function")throw new TypeError('"listener" argument must be a function');events=target._events;if(!events){events=target._events=objectCreate(null);target._eventsCount=0}else{if(events.newListener){target.emit("newListener",type,listener.listener?listener.listener:listener);events=target._events}existing=events[type]}if(!existing){existing=events[type]=listener;++target._eventsCount}else{if(typeof existing==="function"){existing=events[type]=prepend?[listener,existing]:[existing,listener]}else{if(prepend){existing.unshift(listener)}else{existing.push(listener)}}if(!existing.warned){m=$getMaxListeners(target);if(m&&m>0&&existing.length>m){existing.warned=true;var w=new Error("Possible EventEmitter memory leak detected. "+existing.length+' "'+String(type)+'" listeners '+"added. Use emitter.setMaxListeners() to "+"increase limit.");w.name="MaxListenersExceededWarning";w.emitter=target;w.type=type;w.count=existing.length;if(typeof console==="object"&&console.warn){console.warn("%s: %s",w.name,w.message)}}}}return target}EventEmitter.prototype.addListener=function addListener(type,listener){return _addListener(this,type,listener,false)};EventEmitter.prototype.on=EventEmitter.prototype.addListener;EventEmitter.prototype.prependListener=function prependListener(type,listener){return _addListener(this,type,listener,true)};function onceWrapper(){if(!this.fired){this.target.removeListener(this.type,this.wrapFn);this.fired=true;switch(arguments.length){case 0:return this.listener.call(this.target);case 1:return this.listener.call(this.target,arguments[0]);case 2:return this.listener.call(this.target,arguments[0],arguments[1]);case 3:return this.listener.call(this.target,arguments[0],arguments[1],arguments[2]);default:var args=new Array(arguments.length);for(var i=0;i<args.length;++i)args[i]=arguments[i];this.listener.apply(this.target,args)}}}function _onceWrap(target,type,listener){var state={fired:false,wrapFn:undefined,target:target,type:type,listener:listener};var wrapped=bind.call(onceWrapper,state);wrapped.listener=listener;state.wrapFn=wrapped;return wrapped}EventEmitter.prototype.once=function once(type,listener){if(typeof listener!=="function")throw new TypeError('"listener" argument must be a function');this.on(type,_onceWrap(this,type,listener));return this};EventEmitter.prototype.prependOnceListener=function prependOnceListener(type,listener){if(typeof listener!=="function")throw new TypeError('"listener" argument must be a function');this.prependListener(type,_onceWrap(this,type,listener));return this};EventEmitter.prototype.removeListener=function removeListener(type,listener){var list,events,position,i,originalListener;if(typeof listener!=="function")throw new TypeError('"listener" argument must be a function');events=this._events;if(!events)return this;list=events[type];if(!list)return this;if(list===listener||list.listener===listener){if(--this._eventsCount===0)this._events=objectCreate(null);else{delete events[type];if(events.removeListener)this.emit("removeListener",type,list.listener||listener)}}else if(typeof list!=="function"){position=-1;for(i=list.length-1;i>=0;i--){if(list[i]===listener||list[i].listener===listener){originalListener=list[i].listener;position=i;break}}if(position<0)return this;if(position===0)list.shift();else spliceOne(list,position);if(list.length===1)events[type]=list[0];if(events.removeListener)this.emit("removeListener",type,originalListener||listener)}return this};EventEmitter.prototype.removeAllListeners=function removeAllListeners(type){var listeners,events,i;events=this._events;if(!events)return this;if(!events.removeListener){if(arguments.length===0){this._events=objectCreate(null);this._eventsCount=0}else if(events[type]){if(--this._eventsCount===0)this._events=objectCreate(null);else delete events[type]}return this}if(arguments.length===0){var keys=objectKeys(events);var key;for(i=0;i<keys.length;++i){key=keys[i];if(key==="removeListener")continue;this.removeAllListeners(key)}this.removeAllListeners("removeListener");this._events=objectCreate(null);this._eventsCount=0;return this}listeners=events[type];if(typeof listeners==="function"){this.removeListener(type,listeners)}else if(listeners){for(i=listeners.length-1;i>=0;i--){this.removeListener(type,listeners[i])}}return this};function _listeners(target,type,unwrap){var events=target._events;if(!events)return[];var evlistener=events[type];if(!evlistener)return[];if(typeof evlistener==="function")return unwrap?[evlistener.listener||evlistener]:[evlistener];return unwrap?unwrapListeners(evlistener):arrayClone(evlistener,evlistener.length)}EventEmitter.prototype.listeners=function listeners(type){return _listeners(this,type,true)};EventEmitter.prototype.rawListeners=function rawListeners(type){return _listeners(this,type,false)};EventEmitter.listenerCount=function(emitter,type){if(typeof emitter.listenerCount==="function"){return emitter.listenerCount(type)}else{return listenerCount.call(emitter,type)}};EventEmitter.prototype.listenerCount=listenerCount;function listenerCount(type){var events=this._events;if(events){var evlistener=events[type];if(typeof evlistener==="function"){return 1}else if(evlistener){return evlistener.length}}return 0}EventEmitter.prototype.eventNames=function eventNames(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};function spliceOne(list,index){for(var i=index,k=i+1,n=list.length;k<n;i+=1,k+=1)list[i]=list[k];list.pop()}function arrayClone(arr,n){var copy=new Array(n);for(var i=0;i<n;++i)copy[i]=arr[i];return copy}function unwrapListeners(arr){var ret=new Array(arr.length);for(var i=0;i<ret.length;++i){ret[i]=arr[i].listener||arr[i]}return ret}function objectCreatePolyfill(proto){var F=function(){};F.prototype=proto;return new F}function objectKeysPolyfill(obj){var keys=[];for(var k in obj)if(Object.prototype.hasOwnProperty.call(obj,k)){keys.push(k)}return k}function functionBindPolyfill(context){var fn=this;return function(){return fn.apply(context,arguments)}}},{}],80:[function(require,module,exports){exports.read=function(buffer,offset,isLE,mLen,nBytes){var e,m;var eLen=nBytes*8-mLen-1;var eMax=(1<<eLen)-1;var eBias=eMax>>1;var nBits=-7;var i=isLE?nBytes-1:0;var d=isLE?-1:1;var s=buffer[offset+i];i+=d;e=s&(1<<-nBits)-1;s>>=-nBits;nBits+=eLen;for(;nBits>0;e=e*256+buffer[offset+i],i+=d,nBits-=8){}m=e&(1<<-nBits)-1;e>>=-nBits;nBits+=mLen;for(;nBits>0;m=m*256+buffer[offset+i],i+=d,nBits-=8){}if(e===0){e=1-eBias}else if(e===eMax){return m?NaN:(s?-1:1)*Infinity}else{m=m+Math.pow(2,mLen);e=e-eBias}return(s?-1:1)*m*Math.pow(2,e-mLen)};exports.write=function(buffer,value,offset,isLE,mLen,nBytes){var e,m,c;var eLen=nBytes*8-mLen-1;var eMax=(1<<eLen)-1;var eBias=eMax>>1;var rt=mLen===23?Math.pow(2,-24)-Math.pow(2,-77):0;var i=isLE?0:nBytes-1;var d=isLE?1:-1;var s=value<0||value===0&&1/value<0?1:0;value=Math.abs(value);if(isNaN(value)||value===Infinity){m=isNaN(value)?1:0;e=eMax}else{e=Math.floor(Math.log(value)/Math.LN2);if(value*(c=Math.pow(2,-e))<1){e--;c*=2}if(e+eBias>=1){value+=rt/c}else{value+=rt*Math.pow(2,1-eBias)}if(value*c>=2){e++;c/=2}if(e+eBias>=eMax){m=0;e=eMax}else if(e+eBias>=1){m=(value*c-1)*Math.pow(2,mLen);e=e+eBias}else{m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen);e=0}}for(;mLen>=8;buffer[offset+i]=m&255,i+=d,m/=256,mLen-=8){}e=e<<mLen|m;eLen+=mLen;for(;eLen>0;buffer[offset+i]=e&255,i+=d,e/=256,eLen-=8){}buffer[offset+i-d]|=s*128}},{}],81:[function(require,module,exports){if(typeof Object.create==="function"){module.exports=function inherits(ctor,superCtor){if(superCtor){ctor.super_=superCtor;ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:false,writable:true,configurable:true}})}}}else{module.exports=function inherits(ctor,superCtor){if(superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype;ctor.prototype=new TempCtor;ctor.prototype.constructor=ctor}}}},{}],82:[function(require,module,exports){module.exports=function(obj){return obj!=null&&(isBuffer(obj)||isSlowBuffer(obj)||!!obj._isBuffer)};function isBuffer(obj){return!!obj.constructor&&typeof obj.constructor.isBuffer==="function"&&obj.constructor.isBuffer(obj)}function isSlowBuffer(obj){return typeof obj.readFloatLE==="function"&&typeof obj.slice==="function"&&isBuffer(obj.slice(0,0))}},{}],83:[function(require,module,exports){var toString={}.toString;module.exports=Array.isArray||function(arr){return toString.call(arr)=="[object Array]"}},{}],84:[function(require,module,exports){(function(process){"use strict";if(typeof process==="undefined"||!process.version||process.version.indexOf("v0.")===0||process.version.indexOf("v1.")===0&&process.version.indexOf("v1.8.")!==0){module.exports={nextTick:nextTick}}else{module.exports=process}function nextTick(fn,arg1,arg2,arg3){if(typeof fn!=="function"){throw new TypeError('"callback" argument must be a function')}var len=arguments.length;var args,i;switch(len){case 0:case 1:return process.nextTick(fn);case 2:return process.nextTick(function afterTickOne(){fn.call(null,arg1)});case 3:return process.nextTick(function afterTickTwo(){fn.call(null,arg1,arg2)});case 4:return process.nextTick(function afterTickThree(){fn.call(null,arg1,arg2,arg3)});default:args=new Array(len-1);i=0;while(i<args.length){args[i++]=arguments[i]}return process.nextTick(function afterTick(){fn.apply(null,args)})}}}).call(this,require("_process"))},{_process:85}],85:[function(require,module,exports){var process=module.exports={};var cachedSetTimeout;var cachedClearTimeout;function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}(function(){try{if(typeof setTimeout==="function"){cachedSetTimeout=setTimeout}else{cachedSetTimeout=defaultSetTimout}}catch(e){cachedSetTimeout=defaultSetTimout}try{if(typeof clearTimeout==="function"){cachedClearTimeout=clearTimeout}else{cachedClearTimeout=defaultClearTimeout}}catch(e){cachedClearTimeout=defaultClearTimeout}})();function runTimeout(fun){if(cachedSetTimeout===setTimeout){return setTimeout(fun,0)}if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout){cachedSetTimeout=setTimeout;return setTimeout(fun,0)}try{return cachedSetTimeout(fun,0)}catch(e){try{return cachedSetTimeout.call(null,fun,0)}catch(e){return cachedSetTimeout.call(this,fun,0)}}}function runClearTimeout(marker){if(cachedClearTimeout===clearTimeout){return clearTimeout(marker)}if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout){cachedClearTimeout=clearTimeout;return clearTimeout(marker)}try{return cachedClearTimeout(marker)}catch(e){try{return cachedClearTimeout.call(null,marker)}catch(e){return cachedClearTimeout.call(this,marker)}}}var queue=[];var draining=false;var currentQueue;var queueIndex=-1;function cleanUpNextTick(){if(!draining||!currentQueue){return}draining=false;if(currentQueue.length){queue=currentQueue.concat(queue)}else{queueIndex=-1}if(queue.length){drainQueue()}}function drainQueue(){if(draining){return}var timeout=runTimeout(cleanUpNextTick);draining=true;var len=queue.length;while(len){currentQueue=queue;queue=[];while(++queueIndex<len){if(currentQueue){currentQueue[queueIndex].run()}}queueIndex=-1;len=queue.length}currentQueue=null;draining=false;runClearTimeout(timeout)}process.nextTick=function(fun){var args=new Array(arguments.length-1);if(arguments.length>1){for(var i=1;i<arguments.length;i++){args[i-1]=arguments[i]}}queue.push(new Item(fun,args));if(queue.length===1&&!draining){runTimeout(drainQueue)}};function Item(fun,array){this.fun=fun;this.array=array}Item.prototype.run=function(){this.fun.apply(null,this.array)};process.title="browser";process.browser=true;process.env={};process.argv=[];process.version="";process.versions={};function noop(){}process.on=noop;process.addListener=noop;process.once=noop;process.off=noop;process.removeListener=noop;process.removeAllListeners=noop;process.emit=noop;process.prependListener=noop;process.prependOnceListener=noop;process.listeners=function(name){return[]};process.binding=function(name){throw new Error("process.binding is not supported")};process.cwd=function(){return"/"};process.chdir=function(dir){throw new Error("process.chdir is not supported")};process.umask=function(){return 0}},{}],86:[function(require,module,exports){(function(global){(function(root){var freeExports=typeof exports=="object"&&exports&&!exports.nodeType&&exports;var freeModule=typeof module=="object"&&module&&!module.nodeType&&module;var freeGlobal=typeof global=="object"&&global;if(freeGlobal.global===freeGlobal||freeGlobal.window===freeGlobal||freeGlobal.self===freeGlobal){root=freeGlobal}var punycode,maxInt=2147483647,base=36,tMin=1,tMax=26,skew=38,damp=700,initialBias=72,initialN=128,delimiter="-",regexPunycode=/^xn--/,regexNonASCII=/[^\x20-\x7E]/,regexSeparators=/[\x2E\u3002\uFF0E\uFF61]/g,errors={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},baseMinusTMin=base-tMin,floor=Math.floor,stringFromCharCode=String.fromCharCode,key;function error(type){throw new RangeError(errors[type])}function map(array,fn){var length=array.length;var result=[];while(length--){result[length]=fn(array[length])}return result}function mapDomain(string,fn){var parts=string.split("@");var result="";if(parts.length>1){result=parts[0]+"@";string=parts[1]}string=string.replace(regexSeparators,".");var labels=string.split(".");var encoded=map(labels,fn).join(".");return result+encoded}function ucs2decode(string){var output=[],counter=0,length=string.length,value,extra;while(counter<length){value=string.charCodeAt(counter++);if(value>=55296&&value<=56319&&counter<length){extra=string.charCodeAt(counter++);if((extra&64512)==56320){output.push(((value&1023)<<10)+(extra&1023)+65536)}else{output.push(value);counter--}}else{output.push(value)}}return output}function ucs2encode(array){return map(array,function(value){var output="";if(value>65535){value-=65536;output+=stringFromCharCode(value>>>10&1023|55296);value=56320|value&1023}output+=stringFromCharCode(value);return output}).join("")}function basicToDigit(codePoint){if(codePoint-48<10){return codePoint-22}if(codePoint-65<26){return codePoint-65}if(codePoint-97<26){return codePoint-97}return base}function digitToBasic(digit,flag){return digit+22+75*(digit<26)-((flag!=0)<<5)}function adapt(delta,numPoints,firstTime){var k=0;delta=firstTime?floor(delta/damp):delta>>1;delta+=floor(delta/numPoints);for(;delta>baseMinusTMin*tMax>>1;k+=base){delta=floor(delta/baseMinusTMin)}return floor(k+(baseMinusTMin+1)*delta/(delta+skew))}function decode(input){var output=[],inputLength=input.length,out,i=0,n=initialN,bias=initialBias,basic,j,index,oldi,w,k,digit,t,baseMinusT;basic=input.lastIndexOf(delimiter);if(basic<0){basic=0}for(j=0;j<basic;++j){if(input.charCodeAt(j)>=128){error("not-basic")}output.push(input.charCodeAt(j))}for(index=basic>0?basic+1:0;index<inputLength;){for(oldi=i,w=1,k=base;;k+=base){if(index>=inputLength){error("invalid-input")}digit=basicToDigit(input.charCodeAt(index++));if(digit>=base||digit>floor((maxInt-i)/w)){error("overflow")}i+=digit*w;t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias;if(digit<t){break}baseMinusT=base-t;if(w>floor(maxInt/baseMinusT)){error("overflow")}w*=baseMinusT}out=output.length+1;bias=adapt(i-oldi,out,oldi==0);if(floor(i/out)>maxInt-n){error("overflow")}n+=floor(i/out);i%=out;output.splice(i++,0,n)}return ucs2encode(output)}function encode(input){var n,delta,handledCPCount,basicLength,bias,j,m,q,k,t,currentValue,output=[],inputLength,handledCPCountPlusOne,baseMinusT,qMinusT;input=ucs2decode(input);inputLength=input.length;n=initialN;delta=0;bias=initialBias;for(j=0;j<inputLength;++j){currentValue=input[j];if(currentValue<128){output.push(stringFromCharCode(currentValue))}}handledCPCount=basicLength=output.length;if(basicLength){output.push(delimiter)}while(handledCPCount<inputLength){for(m=maxInt,j=0;j<inputLength;++j){currentValue=input[j];if(currentValue>=n&¤tValue<m){m=currentValue}}handledCPCountPlusOne=handledCPCount+1;if(m-n>floor((maxInt-delta)/handledCPCountPlusOne)){error("overflow")}delta+=(m-n)*handledCPCountPlusOne;n=m;for(j=0;j<inputLength;++j){currentValue=input[j];if(currentValue<n&&++delta>maxInt){error("overflow")}if(currentValue==n){for(q=delta,k=base;;k+=base){t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias;if(q<t){break}qMinusT=q-t;baseMinusT=base-t;output.push(stringFromCharCode(digitToBasic(t+qMinusT%baseMinusT,0)));q=floor(qMinusT/baseMinusT)}output.push(stringFromCharCode(digitToBasic(q,0)));bias=adapt(delta,handledCPCountPlusOne,handledCPCount==basicLength);delta=0;++handledCPCount}}++delta;++n}return output.join("")}function toUnicode(input){return mapDomain(input,function(string){return regexPunycode.test(string)?decode(string.slice(4).toLowerCase()):string})}function toASCII(input){return mapDomain(input,function(string){return regexNonASCII.test(string)?"xn--"+encode(string):string})}punycode={version:"1.4.1",ucs2:{decode:ucs2decode,encode:ucs2encode},decode:decode,encode:encode,toASCII:toASCII,toUnicode:toUnicode};if(typeof define=="function"&&typeof define.amd=="object"&&define.amd){define("punycode",function(){return punycode})}else if(freeExports&&freeModule){if(module.exports==freeExports){freeModule.exports=punycode}else{for(key in punycode){punycode.hasOwnProperty(key)&&(freeExports[key]=punycode[key])}}}else{root.punycode=punycode}})(this)}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],87:[function(require,module,exports){"use strict";function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}module.exports=function(qs,sep,eq,options){sep=sep||"&";eq=eq||"=";var obj={};if(typeof qs!=="string"||qs.length===0){return obj}var regexp=/\+/g;qs=qs.split(sep);var maxKeys=1e3;if(options&&typeof options.maxKeys==="number"){maxKeys=options.maxKeys}var len=qs.length;if(maxKeys>0&&len>maxKeys){len=maxKeys}for(var i=0;i<len;++i){var x=qs[i].replace(regexp,"%20"),idx=x.indexOf(eq),kstr,vstr,k,v;if(idx>=0){kstr=x.substr(0,idx);vstr=x.substr(idx+1)}else{kstr=x;vstr=""}k=decodeURIComponent(kstr);v=decodeURIComponent(vstr);if(!hasOwnProperty(obj,k)){obj[k]=v}else if(isArray(obj[k])){obj[k].push(v)}else{obj[k]=[obj[k],v]}}return obj};var isArray=Array.isArray||function(xs){return Object.prototype.toString.call(xs)==="[object Array]"}},{}],88:[function(require,module,exports){"use strict";var stringifyPrimitive=function(v){switch(typeof v){case"string":return v;case"boolean":return v?"true":"false";case"number":return isFinite(v)?v:"";default:return""}};module.exports=function(obj,sep,eq,name){sep=sep||"&";eq=eq||"=";if(obj===null){obj=undefined}if(typeof obj==="object"){return map(objectKeys(obj),function(k){var ks=encodeURIComponent(stringifyPrimitive(k))+eq;if(isArray(obj[k])){return map(obj[k],function(v){return ks+encodeURIComponent(stringifyPrimitive(v))}).join(sep)}else{return ks+encodeURIComponent(stringifyPrimitive(obj[k]))}}).join(sep)}if(!name)return"";return encodeURIComponent(stringifyPrimitive(name))+eq+encodeURIComponent(stringifyPrimitive(obj))};var isArray=Array.isArray||function(xs){return Object.prototype.toString.call(xs)==="[object Array]"};function map(xs,f){if(xs.map)return xs.map(f);var res=[];for(var i=0;i<xs.length;i++){res.push(f(xs[i],i))}return res}var objectKeys=Object.keys||function(obj){var res=[];for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key))res.push(key)}return res}},{}],89:[function(require,module,exports){"use strict";exports.decode=exports.parse=require("./decode");exports.encode=exports.stringify=require("./encode")},{"./decode":87,"./encode":88}],90:[function(require,module,exports){module.exports=require("./lib/_stream_duplex.js")},{"./lib/_stream_duplex.js":91}],91:[function(require,module,exports){"use strict";var pna=require("process-nextick-args");var objectKeys=Object.keys||function(obj){var keys=[];for(var key in obj){keys.push(key)}return keys};module.exports=Duplex;var util=require("core-util-is");util.inherits=require("inherits");var Readable=require("./_stream_readable");var Writable=require("./_stream_writable");util.inherits(Duplex,Readable);{var keys=objectKeys(Writable.prototype);for(var v=0;v<keys.length;v++){var method=keys[v];if(!Duplex.prototype[method])Duplex.prototype[method]=Writable.prototype[method]}}function Duplex(options){if(!(this instanceof Duplex))return new Duplex(options);Readable.call(this,options);Writable.call(this,options);if(options&&options.readable===false)this.readable=false;if(options&&options.writable===false)this.writable=false;this.allowHalfOpen=true;if(options&&options.allowHalfOpen===false)this.allowHalfOpen=false;this.once("end",onend)}Object.defineProperty(Duplex.prototype,"writableHighWaterMark",{enumerable:false,get:function(){return this._writableState.highWaterMark}});function onend(){if(this.allowHalfOpen||this._writableState.ended)return;pna.nextTick(onEndNT,this)}function onEndNT(self){self.end()}Object.defineProperty(Duplex.prototype,"destroyed",{get:function(){if(this._readableState===undefined||this._writableState===undefined){return false}return this._readableState.destroyed&&this._writableState.destroyed},set:function(value){if(this._readableState===undefined||this._writableState===undefined){return}this._readableState.destroyed=value;this._writableState.destroyed=value}});Duplex.prototype._destroy=function(err,cb){this.push(null);this.end();pna.nextTick(cb,err)}},{"./_stream_readable":93,"./_stream_writable":95,"core-util-is":78,inherits:81,"process-nextick-args":84}],92:[function(require,module,exports){"use strict";module.exports=PassThrough;var Transform=require("./_stream_transform");var util=require("core-util-is");util.inherits=require("inherits");util.inherits(PassThrough,Transform);function PassThrough(options){if(!(this instanceof PassThrough))return new PassThrough(options);Transform.call(this,options)}PassThrough.prototype._transform=function(chunk,encoding,cb){cb(null,chunk)}},{"./_stream_transform":94,"core-util-is":78,inherits:81}],93:[function(require,module,exports){(function(process,global){"use strict";var pna=require("process-nextick-args");module.exports=Readable;var isArray=require("isarray");var Duplex;Readable.ReadableState=ReadableState;var EE=require("events").EventEmitter;var EElistenerCount=function(emitter,type){return emitter.listeners(type).length};var Stream=require("./internal/streams/stream");var Buffer=require("safe-buffer").Buffer;var OurUint8Array=global.Uint8Array||function(){};function _uint8ArrayToBuffer(chunk){return Buffer.from(chunk)}function _isUint8Array(obj){return Buffer.isBuffer(obj)||obj instanceof OurUint8Array}var util=require("core-util-is");util.inherits=require("inherits");var debugUtil=require("util");var debug=void 0;if(debugUtil&&debugUtil.debuglog){debug=debugUtil.debuglog("stream")}else{debug=function(){}}var BufferList=require("./internal/streams/BufferList");var destroyImpl=require("./internal/streams/destroy");var StringDecoder;util.inherits(Readable,Stream);var kProxyEvents=["error","close","destroy","pause","resume"];function prependListener(emitter,event,fn){if(typeof emitter.prependListener==="function")return emitter.prependListener(event,fn);if(!emitter._events||!emitter._events[event])emitter.on(event,fn);else if(isArray(emitter._events[event]))emitter._events[event].unshift(fn);else emitter._events[event]=[fn,emitter._events[event]]}function ReadableState(options,stream){Duplex=Duplex||require("./_stream_duplex");options=options||{};var isDuplex=stream instanceof Duplex;this.objectMode=!!options.objectMode;if(isDuplex)this.objectMode=this.objectMode||!!options.readableObjectMode;var hwm=options.highWaterMark;var readableHwm=options.readableHighWaterMark;var defaultHwm=this.objectMode?16:16*1024;if(hwm||hwm===0)this.highWaterMark=hwm;else if(isDuplex&&(readableHwm||readableHwm===0))this.highWaterMark=readableHwm;else this.highWaterMark=defaultHwm;this.highWaterMark=Math.floor(this.highWaterMark);this.buffer=new BufferList;this.length=0;this.pipes=null;this.pipesCount=0;this.flowing=null;this.ended=false;this.endEmitted=false;this.reading=false;this.sync=true;this.needReadable=false;this.emittedReadable=false;this.readableListening=false;this.resumeScheduled=false;this.destroyed=false;this.defaultEncoding=options.defaultEncoding||"utf8";this.awaitDrain=0;this.readingMore=false;this.decoder=null;this.encoding=null;if(options.encoding){if(!StringDecoder)StringDecoder=require("string_decoder/").StringDecoder;this.decoder=new StringDecoder(options.encoding);this.encoding=options.encoding}}function Readable(options){Duplex=Duplex||require("./_stream_duplex");if(!(this instanceof Readable))return new Readable(options);this._readableState=new ReadableState(options,this);this.readable=true;if(options){if(typeof options.read==="function")this._read=options.read;if(typeof options.destroy==="function")this._destroy=options.destroy}Stream.call(this)}Object.defineProperty(Readable.prototype,"destroyed",{get:function(){if(this._readableState===undefined){return false}return this._readableState.destroyed},set:function(value){if(!this._readableState){return}this._readableState.destroyed=value}});Readable.prototype.destroy=destroyImpl.destroy;Readable.prototype._undestroy=destroyImpl.undestroy;Readable.prototype._destroy=function(err,cb){this.push(null);cb(err)};Readable.prototype.push=function(chunk,encoding){var state=this._readableState;var skipChunkCheck;if(!state.objectMode){if(typeof chunk==="string"){encoding=encoding||state.defaultEncoding;if(encoding!==state.encoding){chunk=Buffer.from(chunk,encoding);encoding=""}skipChunkCheck=true}}else{skipChunkCheck=true}return readableAddChunk(this,chunk,encoding,false,skipChunkCheck)};Readable.prototype.unshift=function(chunk){return readableAddChunk(this,chunk,null,true,false)};function readableAddChunk(stream,chunk,encoding,addToFront,skipChunkCheck){var state=stream._readableState;if(chunk===null){state.reading=false;onEofChunk(stream,state)}else{var er;if(!skipChunkCheck)er=chunkInvalid(state,chunk);if(er){stream.emit("error",er)}else if(state.objectMode||chunk&&chunk.length>0){if(typeof chunk!=="string"&&!state.objectMode&&Object.getPrototypeOf(chunk)!==Buffer.prototype){chunk=_uint8ArrayToBuffer(chunk)}if(addToFront){if(state.endEmitted)stream.emit("error",new Error("stream.unshift() after end event"));else addChunk(stream,state,chunk,true)}else if(state.ended){stream.emit("error",new Error("stream.push() after EOF"))}else{state.reading=false;if(state.decoder&&!encoding){chunk=state.decoder.write(chunk);if(state.objectMode||chunk.length!==0)addChunk(stream,state,chunk,false);else maybeReadMore(stream,state)}else{addChunk(stream,state,chunk,false)}}}else if(!addToFront){state.reading=false}}return needMoreData(state)}function addChunk(stream,state,chunk,addToFront){if(state.flowing&&state.length===0&&!state.sync){stream.emit("data",chunk);stream.read(0)}else{state.length+=state.objectMode?1:chunk.length;if(addToFront)state.buffer.unshift(chunk);else state.buffer.push(chunk);if(state.needReadable)emitReadable(stream)}maybeReadMore(stream,state)}function chunkInvalid(state,chunk){var er;if(!_isUint8Array(chunk)&&typeof chunk!=="string"&&chunk!==undefined&&!state.objectMode){er=new TypeError("Invalid non-string/buffer chunk")}return er}function needMoreData(state){return!state.ended&&(state.needReadable||state.length<state.highWaterMark||state.length===0)}Readable.prototype.isPaused=function(){return this._readableState.flowing===false};Readable.prototype.setEncoding=function(enc){if(!StringDecoder)StringDecoder=require("string_decoder/").StringDecoder;this._readableState.decoder=new StringDecoder(enc);this._readableState.encoding=enc;return this};var MAX_HWM=8388608;function computeNewHighWaterMark(n){if(n>=MAX_HWM){n=MAX_HWM}else{n--;n|=n>>>1;n|=n>>>2;n|=n>>>4;n|=n>>>8;n|=n>>>16;n++}return n}function howMuchToRead(n,state){if(n<=0||state.length===0&&state.ended)return 0;if(state.objectMode)return 1;if(n!==n){if(state.flowing&&state.length)return state.buffer.head.data.length;else return state.length}if(n>state.highWaterMark)state.highWaterMark=computeNewHighWaterMark(n);if(n<=state.length)return n;if(!state.ended){state.needReadable=true;return 0}return state.length}Readable.prototype.read=function(n){debug("read",n);n=parseInt(n,10);var state=this._readableState;var nOrig=n;if(n!==0)state.emittedReadable=false;if(n===0&&state.needReadable&&(state.length>=state.highWaterMark||state.ended)){debug("read: emitReadable",state.length,state.ended);if(state.length===0&&state.ended)endReadable(this);else emitReadable(this);return null}n=howMuchToRead(n,state);if(n===0&&state.ended){if(state.length===0)endReadable(this);return null}var doRead=state.needReadable;debug("need readable",doRead);if(state.length===0||state.length-n<state.highWaterMark){doRead=true;debug("length less than watermark",doRead)}if(state.ended||state.reading){doRead=false;debug("reading or ended",doRead)}else if(doRead){debug("do read");state.reading=true;state.sync=true;if(state.length===0)state.needReadable=true;this._read(state.highWaterMark);state.sync=false;if(!state.reading)n=howMuchToRead(nOrig,state)}var ret;if(n>0)ret=fromList(n,state);else ret=null;if(ret===null){state.needReadable=true;n=0}else{state.length-=n}if(state.length===0){if(!state.ended)state.needReadable=true;if(nOrig!==n&&state.ended)endReadable(this)}if(ret!==null)this.emit("data",ret);return ret};function onEofChunk(stream,state){if(state.ended)return;if(state.decoder){var chunk=state.decoder.end();if(chunk&&chunk.length){state.buffer.push(chunk);state.length+=state.objectMode?1:chunk.length}}state.ended=true;emitReadable(stream)}function emitReadable(stream){var state=stream._readableState;state.needReadable=false;if(!state.emittedReadable){debug("emitReadable",state.flowing);state.emittedReadable=true;if(state.sync)pna.nextTick(emitReadable_,stream);else emitReadable_(stream)}}function emitReadable_(stream){debug("emit readable");stream.emit("readable");flow(stream)}function maybeReadMore(stream,state){if(!state.readingMore){state.readingMore=true;pna.nextTick(maybeReadMore_,stream,state)}}function maybeReadMore_(stream,state){var len=state.length;while(!state.reading&&!state.flowing&&!state.ended&&state.length<state.highWaterMark){debug("maybeReadMore read 0");stream.read(0);if(len===state.length)break;else len=state.length}state.readingMore=false}Readable.prototype._read=function(n){this.emit("error",new Error("_read() is not implemented"))};Readable.prototype.pipe=function(dest,pipeOpts){var src=this;var state=this._readableState;switch(state.pipesCount){case 0:state.pipes=dest;break;case 1:state.pipes=[state.pipes,dest];break;default:state.pipes.push(dest);break}state.pipesCount+=1;debug("pipe count=%d opts=%j",state.pipesCount,pipeOpts);var doEnd=(!pipeOpts||pipeOpts.end!==false)&&dest!==process.stdout&&dest!==process.stderr;var endFn=doEnd?onend:unpipe;if(state.endEmitted)pna.nextTick(endFn);else src.once("end",endFn);dest.on("unpipe",onunpipe);function onunpipe(readable,unpipeInfo){debug("onunpipe");if(readable===src){if(unpipeInfo&&unpipeInfo.hasUnpiped===false){unpipeInfo.hasUnpiped=true;cleanup()}}}function onend(){debug("onend");dest.end()}var ondrain=pipeOnDrain(src);dest.on("drain",ondrain);var cleanedUp=false;function cleanup(){debug("cleanup");dest.removeListener("close",onclose);dest.removeListener("finish",onfinish);dest.removeListener("drain",ondrain);dest.removeListener("error",onerror);dest.removeListener("unpipe",onunpipe);src.removeListener("end",onend);src.removeListener("end",unpipe);src.removeListener("data",ondata);cleanedUp=true;if(state.awaitDrain&&(!dest._writableState||dest._writableState.needDrain))ondrain()}var increasedAwaitDrain=false;src.on("data",ondata);function ondata(chunk){debug("ondata");increasedAwaitDrain=false;var ret=dest.write(chunk);if(false===ret&&!increasedAwaitDrain){if((state.pipesCount===1&&state.pipes===dest||state.pipesCount>1&&indexOf(state.pipes,dest)!==-1)&&!cleanedUp){debug("false write response, pause",src._readableState.awaitDrain);src._readableState.awaitDrain++;increasedAwaitDrain=true}src.pause()}}function onerror(er){debug("onerror",er);unpipe();dest.removeListener("error",onerror);if(EElistenerCount(dest,"error")===0)dest.emit("error",er)}prependListener(dest,"error",onerror);function onclose(){dest.removeListener("finish",onfinish);unpipe()}dest.once("close",onclose);function onfinish(){debug("onfinish");dest.removeListener("close",onclose);unpipe()}dest.once("finish",onfinish);function unpipe(){debug("unpipe");src.unpipe(dest)}dest.emit("pipe",src);if(!state.flowing){debug("pipe resume");src.resume()}return dest};function pipeOnDrain(src){return function(){var state=src._readableState;debug("pipeOnDrain",state.awaitDrain);if(state.awaitDrain)state.awaitDrain--;if(state.awaitDrain===0&&EElistenerCount(src,"data")){state.flowing=true;flow(src)}}}Readable.prototype.unpipe=function(dest){var state=this._readableState;var unpipeInfo={hasUnpiped:false};if(state.pipesCount===0)return this;if(state.pipesCount===1){if(dest&&dest!==state.pipes)return this;if(!dest)dest=state.pipes;state.pipes=null;state.pipesCount=0;state.flowing=false;if(dest)dest.emit("unpipe",this,unpipeInfo);return this}if(!dest){var dests=state.pipes;var len=state.pipesCount;state.pipes=null;state.pipesCount=0;state.flowing=false;for(var i=0;i<len;i++){dests[i].emit("unpipe",this,unpipeInfo)}return this}var index=indexOf(state.pipes,dest);if(index===-1)return this;state.pipes.splice(index,1);state.pipesCount-=1;if(state.pipesCount===1)state.pipes=state.pipes[0];dest.emit("unpipe",this,unpipeInfo);return this};Readable.prototype.on=function(ev,fn){var res=Stream.prototype.on.call(this,ev,fn);if(ev==="data"){if(this._readableState.flowing!==false)this.resume()}else if(ev==="readable"){var state=this._readableState;if(!state.endEmitted&&!state.readableListening){state.readableListening=state.needReadable=true;state.emittedReadable=false;if(!state.reading){pna.nextTick(nReadingNextTick,this)}else if(state.length){emitReadable(this)}}}return res};Readable.prototype.addListener=Readable.prototype.on;function nReadingNextTick(self){debug("readable nexttick read 0");self.read(0)}Readable.prototype.resume=function(){var state=this._readableState;if(!state.flowing){debug("resume");state.flowing=true;resume(this,state)}return this};function resume(stream,state){if(!state.resumeScheduled){state.resumeScheduled=true;pna.nextTick(resume_,stream,state)}}function resume_(stream,state){if(!state.reading){debug("resume read 0");stream.read(0)}state.resumeScheduled=false;state.awaitDrain=0;stream.emit("resume");flow(stream);if(state.flowing&&!state.reading)stream.read(0)}Readable.prototype.pause=function(){debug("call pause flowing=%j",this._readableState.flowing);if(false!==this._readableState.flowing){debug("pause");this._readableState.flowing=false;this.emit("pause")}return this};function flow(stream){var state=stream._readableState;debug("flow",state.flowing);while(state.flowing&&stream.read()!==null){}}Readable.prototype.wrap=function(stream){var _this=this;var state=this._readableState;var paused=false;stream.on("end",function(){debug("wrapped end");if(state.decoder&&!state.ended){var chunk=state.decoder.end();if(chunk&&chunk.length)_this.push(chunk)}_this.push(null)});stream.on("data",function(chunk){debug("wrapped data");if(state.decoder)chunk=state.decoder.write(chunk);if(state.objectMode&&(chunk===null||chunk===undefined))return;else if(!state.objectMode&&(!chunk||!chunk.length))return;var ret=_this.push(chunk);if(!ret){paused=true;stream.pause()}});for(var i in stream){if(this[i]===undefined&&typeof stream[i]==="function"){this[i]=function(method){return function(){return stream[method].apply(stream,arguments)}}(i)}}for(var n=0;n<kProxyEvents.length;n++){stream.on(kProxyEvents[n],this.emit.bind(this,kProxyEvents[n]))}this._read=function(n){debug("wrapped _read",n);if(paused){paused=false;stream.resume()}};return this};Object.defineProperty(Readable.prototype,"readableHighWaterMark",{enumerable:false,get:function(){return this._readableState.highWaterMark}});Readable._fromList=fromList;function fromList(n,state){if(state.length===0)return null;var ret;if(state.objectMode)ret=state.buffer.shift();else if(!n||n>=state.length){if(state.decoder)ret=state.buffer.join("");else if(state.buffer.length===1)ret=state.buffer.head.data;else ret=state.buffer.concat(state.length);state.buffer.clear()}else{ret=fromListPartial(n,state.buffer,state.decoder)}return ret}function fromListPartial(n,list,hasStrings){var ret;if(n<list.head.data.length){ret=list.head.data.slice(0,n);list.head.data=list.head.data.slice(n)}else if(n===list.head.data.length){ret=list.shift()}else{ret=hasStrings?copyFromBufferString(n,list):copyFromBuffer(n,list)}return ret}function copyFromBufferString(n,list){var p=list.head;var c=1;var ret=p.data;n-=ret.length;while(p=p.next){var str=p.data;var nb=n>str.length?str.length:n;if(nb===str.length)ret+=str;else ret+=str.slice(0,n);n-=nb;if(n===0){if(nb===str.length){++c;if(p.next)list.head=p.next;else list.head=list.tail=null}else{list.head=p;p.data=str.slice(nb)}break}++c}list.length-=c;return ret}function copyFromBuffer(n,list){var ret=Buffer.allocUnsafe(n);var p=list.head;var c=1;p.data.copy(ret);n-=p.data.length;while(p=p.next){var buf=p.data;var nb=n>buf.length?buf.length:n;buf.copy(ret,ret.length-n,0,nb);n-=nb;if(n===0){if(nb===buf.length){++c;if(p.next)list.head=p.next;else list.head=list.tail=null}else{list.head=p;p.data=buf.slice(nb)}break}++c}list.length-=c;return ret}function endReadable(stream){var state=stream._readableState;if(state.length>0)throw new Error('"endReadable()" called on non-empty stream');if(!state.endEmitted){state.ended=true;pna.nextTick(endReadableNT,state,stream)}}function endReadableNT(state,stream){if(!state.endEmitted&&state.length===0){state.endEmitted=true;stream.readable=false;stream.emit("end")}}function indexOf(xs,x){for(var i=0,l=xs.length;i<l;i++){if(xs[i]===x)return i}return-1}}).call(this,require("_process"),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"./_stream_duplex":91,"./internal/streams/BufferList":96,"./internal/streams/destroy":97,"./internal/streams/stream":98,_process:85,"core-util-is":78,events:79,inherits:81,isarray:83,"process-nextick-args":84,"safe-buffer":99,"string_decoder/":100,util:76}],94:[function(require,module,exports){"use strict";module.exports=Transform;var Duplex=require("./_stream_duplex");var util=require("core-util-is");util.inherits=require("inherits");util.inherits(Transform,Duplex);function afterTransform(er,data){var ts=this._transformState;ts.transforming=false;var cb=ts.writecb;if(!cb){return this.emit("error",new Error("write callback called multiple times"))}ts.writechunk=null;ts.writecb=null;if(data!=null)this.push(data);cb(er);var rs=this._readableState;rs.reading=false;if(rs.needReadable||rs.length<rs.highWaterMark){this._read(rs.highWaterMark)}}function Transform(options){if(!(this instanceof Transform))return new Transform(options);Duplex.call(this,options);this._transformState={afterTransform:afterTransform.bind(this),needTransform:false,transforming:false,writecb:null,writechunk:null,writeencoding:null};this._readableState.needReadable=true;this._readableState.sync=false;if(options){if(typeof options.transform==="function")this._transform=options.transform;if(typeof options.flush==="function")this._flush=options.flush}this.on("prefinish",prefinish)}function prefinish(){var _this=this;if(typeof this._flush==="function"){this._flush(function(er,data){done(_this,er,data)})}else{done(this,null,null)}}Transform.prototype.push=function(chunk,encoding){this._transformState.needTransform=false;return Duplex.prototype.push.call(this,chunk,encoding)};Transform.prototype._transform=function(chunk,encoding,cb){throw new Error("_transform() is not implemented")};Transform.prototype._write=function(chunk,encoding,cb){var ts=this._transformState;ts.writecb=cb;ts.writechunk=chunk;ts.writeencoding=encoding;if(!ts.transforming){var rs=this._readableState;if(ts.needTransform||rs.needReadable||rs.length<rs.highWaterMark)this._read(rs.highWaterMark)}};Transform.prototype._read=function(n){var ts=this._transformState;if(ts.writechunk!==null&&ts.writecb&&!ts.transforming){ts.transforming=true;this._transform(ts.writechunk,ts.writeencoding,ts.afterTransform)}else{ts.needTransform=true}};Transform.prototype._destroy=function(err,cb){var _this2=this;Duplex.prototype._destroy.call(this,err,function(err2){cb(err2);_this2.emit("close")})};function done(stream,er,data){if(er)return stream.emit("error",er);if(data!=null)stream.push(data);if(stream._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(stream._transformState.transforming)throw new Error("Calling transform done when still transforming");return stream.push(null)}},{"./_stream_duplex":91,"core-util-is":78,inherits:81}],95:[function(require,module,exports){(function(process,global,setImmediate){"use strict";var pna=require("process-nextick-args");module.exports=Writable;function WriteReq(chunk,encoding,cb){this.chunk=chunk;this.encoding=encoding;this.callback=cb;this.next=null}function CorkedRequest(state){var _this=this;this.next=null;this.entry=null;this.finish=function(){onCorkedFinish(_this,state)}}var asyncWrite=!process.browser&&["v0.10","v0.9."].indexOf(process.version.slice(0,5))>-1?setImmediate:pna.nextTick;var Duplex;Writable.WritableState=WritableState;var util=require("core-util-is");util.inherits=require("inherits");var internalUtil={deprecate:require("util-deprecate")};var Stream=require("./internal/streams/stream");var Buffer=require("safe-buffer").Buffer;var OurUint8Array=global.Uint8Array||function(){};function _uint8ArrayToBuffer(chunk){return Buffer.from(chunk)}function _isUint8Array(obj){return Buffer.isBuffer(obj)||obj instanceof OurUint8Array}var destroyImpl=require("./internal/streams/destroy");util.inherits(Writable,Stream);function nop(){}function WritableState(options,stream){Duplex=Duplex||require("./_stream_duplex");options=options||{};var isDuplex=stream instanceof Duplex;this.objectMode=!!options.objectMode;if(isDuplex)this.objectMode=this.objectMode||!!options.writableObjectMode;var hwm=options.highWaterMark;var writableHwm=options.writableHighWaterMark;var defaultHwm=this.objectMode?16:16*1024;if(hwm||hwm===0)this.highWaterMark=hwm;else if(isDuplex&&(writableHwm||writableHwm===0))this.highWaterMark=writableHwm;else this.highWaterMark=defaultHwm;this.highWaterMark=Math.floor(this.highWaterMark);this.finalCalled=false;this.needDrain=false;this.ending=false;this.ended=false;this.finished=false;this.destroyed=false;var noDecode=options.decodeStrings===false;this.decodeStrings=!noDecode;this.defaultEncoding=options.defaultEncoding||"utf8";this.length=0;this.writing=false;this.corked=0;this.sync=true;this.bufferProcessing=false;this.onwrite=function(er){onwrite(stream,er)};this.writecb=null;this.writelen=0;this.bufferedRequest=null;this.lastBufferedRequest=null;this.pendingcb=0;this.prefinished=false;this.errorEmitted=false;this.bufferedRequestCount=0;this.corkedRequestsFree=new CorkedRequest(this)}WritableState.prototype.getBuffer=function getBuffer(){var current=this.bufferedRequest;var out=[];while(current){out.push(current);current=current.next}return out};(function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:internalUtil.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer "+"instead.","DEP0003")})}catch(_){}})();var realHasInstance;if(typeof Symbol==="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==="function"){realHasInstance=Function.prototype[Symbol.hasInstance];Object.defineProperty(Writable,Symbol.hasInstance,{value:function(object){if(realHasInstance.call(this,object))return true;if(this!==Writable)return false;return object&&object._writableState instanceof WritableState}})}else{realHasInstance=function(object){return object instanceof this}}function Writable(options){Duplex=Duplex||require("./_stream_duplex");if(!realHasInstance.call(Writable,this)&&!(this instanceof Duplex)){return new Writable(options)}this._writableState=new WritableState(options,this);this.writable=true;if(options){if(typeof options.write==="function")this._write=options.write;if(typeof options.writev==="function")this._writev=options.writev;if(typeof options.destroy==="function")this._destroy=options.destroy;if(typeof options.final==="function")this._final=options.final}Stream.call(this)}Writable.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))};function writeAfterEnd(stream,cb){var er=new Error("write after end");stream.emit("error",er);pna.nextTick(cb,er)}function validChunk(stream,state,chunk,cb){var valid=true;var er=false;if(chunk===null){er=new TypeError("May not write null values to stream")}else if(typeof chunk!=="string"&&chunk!==undefined&&!state.objectMode){er=new TypeError("Invalid non-string/buffer chunk")}if(er){stream.emit("error",er);pna.nextTick(cb,er);valid=false}return valid}Writable.prototype.write=function(chunk,encoding,cb){var state=this._writableState;var ret=false;var isBuf=!state.objectMode&&_isUint8Array(chunk);if(isBuf&&!Buffer.isBuffer(chunk)){chunk=_uint8ArrayToBuffer(chunk)}if(typeof encoding==="function"){cb=encoding;encoding=null}if(isBuf)encoding="buffer";else if(!encoding)encoding=state.defaultEncoding;if(typeof cb!=="function")cb=nop;if(state.ended)writeAfterEnd(this,cb);else if(isBuf||validChunk(this,state,chunk,cb)){state.pendingcb++;ret=writeOrBuffer(this,state,isBuf,chunk,encoding,cb)}return ret};Writable.prototype.cork=function(){var state=this._writableState;state.corked++};Writable.prototype.uncork=function(){var state=this._writableState;if(state.corked){state.corked--;if(!state.writing&&!state.corked&&!state.finished&&!state.bufferProcessing&&state.bufferedRequest)clearBuffer(this,state)}};Writable.prototype.setDefaultEncoding=function setDefaultEncoding(encoding){if(typeof encoding==="string")encoding=encoding.toLowerCase();if(!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((encoding+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+encoding);this._writableState.defaultEncoding=encoding;return this};function decodeChunk(state,chunk,encoding){if(!state.objectMode&&state.decodeStrings!==false&&typeof chunk==="string"){chunk=Buffer.from(chunk,encoding)}return chunk}Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:false,get:function(){return this._writableState.highWaterMark}});function writeOrBuffer(stream,state,isBuf,chunk,encoding,cb){if(!isBuf){var newChunk=decodeChunk(state,chunk,encoding);if(chunk!==newChunk){isBuf=true;encoding="buffer";chunk=newChunk}}var len=state.objectMode?1:chunk.length;state.length+=len;var ret=state.length<state.highWaterMark;if(!ret)state.needDrain=true;if(state.writing||state.corked){var last=state.lastBufferedRequest;state.lastBufferedRequest={chunk:chunk,encoding:encoding,isBuf:isBuf,callback:cb,next:null};if(last){last.next=state.lastBufferedRequest}else{state.bufferedRequest=state.lastBufferedRequest}state.bufferedRequestCount+=1}else{doWrite(stream,state,false,len,chunk,encoding,cb)}return ret}function doWrite(stream,state,writev,len,chunk,encoding,cb){state.writelen=len;state.writecb=cb;state.writing=true;state.sync=true;if(writev)stream._writev(chunk,state.onwrite);else stream._write(chunk,encoding,state.onwrite);state.sync=false}function onwriteError(stream,state,sync,er,cb){--state.pendingcb;if(sync){pna.nextTick(cb,er);pna.nextTick(finishMaybe,stream,state);stream._writableState.errorEmitted=true;stream.emit("error",er)}else{cb(er);stream._writableState.errorEmitted=true;stream.emit("error",er);finishMaybe(stream,state)}}function onwriteStateUpdate(state){state.writing=false;state.writecb=null;state.length-=state.writelen;state.writelen=0}function onwrite(stream,er){var state=stream._writableState;var sync=state.sync;var cb=state.writecb;onwriteStateUpdate(state);if(er)onwriteError(stream,state,sync,er,cb);else{var finished=needFinish(state);if(!finished&&!state.corked&&!state.bufferProcessing&&state.bufferedRequest){clearBuffer(stream,state)}if(sync){asyncWrite(afterWrite,stream,state,finished,cb)}else{afterWrite(stream,state,finished,cb)}}}function afterWrite(stream,state,finished,cb){if(!finished)onwriteDrain(stream,state);state.pendingcb--;cb();finishMaybe(stream,state)}function onwriteDrain(stream,state){if(state.length===0&&state.needDrain){state.needDrain=false;stream.emit("drain")}}function clearBuffer(stream,state){state.bufferProcessing=true;var entry=state.bufferedRequest;if(stream._writev&&entry&&entry.next){var l=state.bufferedRequestCount;var buffer=new Array(l);var holder=state.corkedRequestsFree;holder.entry=entry;var count=0;var allBuffers=true;while(entry){buffer[count]=entry;if(!entry.isBuf)allBuffers=false;entry=entry.next;count+=1}buffer.allBuffers=allBuffers;doWrite(stream,state,true,state.length,buffer,"",holder.finish);state.pendingcb++;state.lastBufferedRequest=null;if(holder.next){state.corkedRequestsFree=holder.next;holder.next=null}else{state.corkedRequestsFree=new CorkedRequest(state)}state.bufferedRequestCount=0}else{while(entry){var chunk=entry.chunk;var encoding=entry.encoding;var cb=entry.callback;var len=state.objectMode?1:chunk.length;doWrite(stream,state,false,len,chunk,encoding,cb);entry=entry.next;state.bufferedRequestCount--;if(state.writing){break}}if(entry===null)state.lastBufferedRequest=null}state.bufferedRequest=entry;state.bufferProcessing=false}Writable.prototype._write=function(chunk,encoding,cb){cb(new Error("_write() is not implemented"))};Writable.prototype._writev=null;Writable.prototype.end=function(chunk,encoding,cb){var state=this._writableState;if(typeof chunk==="function"){cb=chunk;chunk=null;encoding=null}else if(typeof encoding==="function"){cb=encoding;encoding=null}if(chunk!==null&&chunk!==undefined)this.write(chunk,encoding);if(state.corked){state.corked=1;this.uncork()}if(!state.ending&&!state.finished)endWritable(this,state,cb)};function needFinish(state){return state.ending&&state.length===0&&state.bufferedRequest===null&&!state.finished&&!state.writing}function callFinal(stream,state){stream._final(function(err){state.pendingcb--;if(err){stream.emit("error",err)}state.prefinished=true;stream.emit("prefinish");finishMaybe(stream,state)})}function prefinish(stream,state){if(!state.prefinished&&!state.finalCalled){if(typeof stream._final==="function"){state.pendingcb++;state.finalCalled=true;pna.nextTick(callFinal,stream,state)}else{state.prefinished=true;stream.emit("prefinish")}}}function finishMaybe(stream,state){var need=needFinish(state);if(need){prefinish(stream,state);if(state.pendingcb===0){state.finished=true;stream.emit("finish")}}return need}function endWritable(stream,state,cb){state.ending=true;finishMaybe(stream,state);if(cb){if(state.finished)pna.nextTick(cb);else stream.once("finish",cb)}state.ended=true;stream.writable=false}function onCorkedFinish(corkReq,state,err){var entry=corkReq.entry;corkReq.entry=null;while(entry){var cb=entry.callback;state.pendingcb--;cb(err);entry=entry.next}if(state.corkedRequestsFree){state.corkedRequestsFree.next=corkReq}else{state.corkedRequestsFree=corkReq}}Object.defineProperty(Writable.prototype,"destroyed",{get:function(){if(this._writableState===undefined){return false}return this._writableState.destroyed},set:function(value){if(!this._writableState){return}this._writableState.destroyed=value}});Writable.prototype.destroy=destroyImpl.destroy;Writable.prototype._undestroy=destroyImpl.undestroy;Writable.prototype._destroy=function(err,cb){this.end();cb(err)}}).call(this,require("_process"),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{},require("timers").setImmediate)},{"./_stream_duplex":91,"./internal/streams/destroy":97,"./internal/streams/stream":98,_process:85,"core-util-is":78,inherits:81,"process-nextick-args":84,"safe-buffer":99,timers:108,"util-deprecate":111}],96:[function(require,module,exports){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}var Buffer=require("safe-buffer").Buffer;var util=require("util");function copyBuffer(src,target,offset){src.copy(target,offset)}module.exports=function(){function BufferList(){_classCallCheck(this,BufferList);this.head=null;this.tail=null;this.length=0}BufferList.prototype.push=function push(v){var entry={data:v,next:null};if(this.length>0)this.tail.next=entry;else this.head=entry;this.tail=entry;++this.length};BufferList.prototype.unshift=function unshift(v){var entry={data:v,next:this.head};if(this.length===0)this.tail=entry;this.head=entry;++this.length};BufferList.prototype.shift=function shift(){if(this.length===0)return;var ret=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;--this.length;return ret};BufferList.prototype.clear=function clear(){this.head=this.tail=null;this.length=0};BufferList.prototype.join=function join(s){if(this.length===0)return"";var p=this.head;var ret=""+p.data;while(p=p.next){ret+=s+p.data}return ret};BufferList.prototype.concat=function concat(n){if(this.length===0)return Buffer.alloc(0);if(this.length===1)return this.head.data;var ret=Buffer.allocUnsafe(n>>>0);var p=this.head;var i=0;while(p){copyBuffer(p.data,ret,i);i+=p.data.length;p=p.next}return ret};return BufferList}();if(util&&util.inspect&&util.inspect.custom){module.exports.prototype[util.inspect.custom]=function(){var obj=util.inspect({length:this.length});return this.constructor.name+" "+obj}}},{"safe-buffer":99,util:76}],97:[function(require,module,exports){"use strict";var pna=require("process-nextick-args");function destroy(err,cb){var _this=this;var readableDestroyed=this._readableState&&this._readableState.destroyed;var writableDestroyed=this._writableState&&this._writableState.destroyed;if(readableDestroyed||writableDestroyed){if(cb){cb(err)}else if(err&&(!this._writableState||!this._writableState.errorEmitted)){pna.nextTick(emitErrorNT,this,err)}return this}if(this._readableState){this._readableState.destroyed=true}if(this._writableState){this._writableState.destroyed=true}this._destroy(err||null,function(err){if(!cb&&err){pna.nextTick(emitErrorNT,_this,err);if(_this._writableState){_this._writableState.errorEmitted=true}}else if(cb){cb(err)}});return this}function undestroy(){if(this._readableState){this._readableState.destroyed=false;this._readableState.reading=false;this._readableState.ended=false;this._readableState.endEmitted=false}if(this._writableState){this._writableState.destroyed=false;this._writableState.ended=false;this._writableState.ending=false;this._writableState.finished=false;this._writableState.errorEmitted=false}}function emitErrorNT(self,err){self.emit("error",err)}module.exports={destroy:destroy,undestroy:undestroy}},{"process-nextick-args":84}],98:[function(require,module,exports){module.exports=require("events").EventEmitter},{events:79}],99:[function(require,module,exports){var buffer=require("buffer");var Buffer=buffer.Buffer;function copyProps(src,dst){for(var key in src){dst[key]=src[key]}}if(Buffer.from&&Buffer.alloc&&Buffer.allocUnsafe&&Buffer.allocUnsafeSlow){module.exports=buffer}else{copyProps(buffer,exports);exports.Buffer=SafeBuffer}function SafeBuffer(arg,encodingOrOffset,length){return Buffer(arg,encodingOrOffset,length)}copyProps(Buffer,SafeBuffer);SafeBuffer.from=function(arg,encodingOrOffset,length){if(typeof arg==="number"){throw new TypeError("Argument must not be a number")}return Buffer(arg,encodingOrOffset,length)};SafeBuffer.alloc=function(size,fill,encoding){if(typeof size!=="number"){throw new TypeError("Argument must be a number")}var buf=Buffer(size);if(fill!==undefined){if(typeof encoding==="string"){buf.fill(fill,encoding)}else{buf.fill(fill)}}else{buf.fill(0)}return buf};SafeBuffer.allocUnsafe=function(size){if(typeof size!=="number"){throw new TypeError("Argument must be a number")}return Buffer(size)};SafeBuffer.allocUnsafeSlow=function(size){if(typeof size!=="number"){throw new TypeError("Argument must be a number")}return buffer.SlowBuffer(size)}},{buffer:77}],100:[function(require,module,exports){"use strict";var Buffer=require("safe-buffer").Buffer;var isEncoding=Buffer.isEncoding||function(encoding){encoding=""+encoding;switch(encoding&&encoding.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return true;default:return false}};function _normalizeEncoding(enc){if(!enc)return"utf8";var retried;while(true){switch(enc){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return enc;default:if(retried)return;enc=(""+enc).toLowerCase();retried=true}}}function normalizeEncoding(enc){var nenc=_normalizeEncoding(enc);if(typeof nenc!=="string"&&(Buffer.isEncoding===isEncoding||!isEncoding(enc)))throw new Error("Unknown encoding: "+enc);return nenc||enc}exports.StringDecoder=StringDecoder;function StringDecoder(encoding){this.encoding=normalizeEncoding(encoding);var nb;switch(this.encoding){case"utf16le":this.text=utf16Text;this.end=utf16End;nb=4;break;case"utf8":this.fillLast=utf8FillLast;nb=4;break;case"base64":this.text=base64Text;this.end=base64End;nb=3;break;default:this.write=simpleWrite;this.end=simpleEnd;return}this.lastNeed=0;this.lastTotal=0;this.lastChar=Buffer.allocUnsafe(nb)}StringDecoder.prototype.write=function(buf){if(buf.length===0)return"";var r;var i;if(this.lastNeed){r=this.fillLast(buf);if(r===undefined)return"";i=this.lastNeed;this.lastNeed=0}else{i=0}if(i<buf.length)return r?r+this.text(buf,i):this.text(buf,i);return r||""};StringDecoder.prototype.end=utf8End;StringDecoder.prototype.text=utf8Text;StringDecoder.prototype.fillLast=function(buf){if(this.lastNeed<=buf.length){buf.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed);return this.lastChar.toString(this.encoding,0,this.lastTotal)}buf.copy(this.lastChar,this.lastTotal-this.lastNeed,0,buf.length);this.lastNeed-=buf.length};function utf8CheckByte(byte){if(byte<=127)return 0;else if(byte>>5===6)return 2;else if(byte>>4===14)return 3;else if(byte>>3===30)return 4;return byte>>6===2?-1:-2}function utf8CheckIncomplete(self,buf,i){var j=buf.length-1;if(j<i)return 0;var nb=utf8CheckByte(buf[j]);if(nb>=0){if(nb>0)self.lastNeed=nb-1;return nb}if(--j<i||nb===-2)return 0;nb=utf8CheckByte(buf[j]);if(nb>=0){if(nb>0)self.lastNeed=nb-2;return nb}if(--j<i||nb===-2)return 0;nb=utf8CheckByte(buf[j]);if(nb>=0){if(nb>0){if(nb===2)nb=0;else self.lastNeed=nb-3}return nb}return 0}function utf8CheckExtraBytes(self,buf,p){if((buf[0]&192)!==128){self.lastNeed=0;return"�"}if(self.lastNeed>1&&buf.length>1){if((buf[1]&192)!==128){self.lastNeed=1;return"�"}if(self.lastNeed>2&&buf.length>2){if((buf[2]&192)!==128){self.lastNeed=2;return"�"}}}}function utf8FillLast(buf){var p=this.lastTotal-this.lastNeed;var r=utf8CheckExtraBytes(this,buf,p);if(r!==undefined)return r;if(this.lastNeed<=buf.length){buf.copy(this.lastChar,p,0,this.lastNeed);return this.lastChar.toString(this.encoding,0,this.lastTotal)}buf.copy(this.lastChar,p,0,buf.length);this.lastNeed-=buf.length}function utf8Text(buf,i){var total=utf8CheckIncomplete(this,buf,i);if(!this.lastNeed)return buf.toString("utf8",i);this.lastTotal=total;var end=buf.length-(total-this.lastNeed);buf.copy(this.lastChar,0,end);return buf.toString("utf8",i,end)}function utf8End(buf){var r=buf&&buf.length?this.write(buf):"";if(this.lastNeed)return r+"�";return r}function utf16Text(buf,i){if((buf.length-i)%2===0){var r=buf.toString("utf16le",i);if(r){var c=r.charCodeAt(r.length-1);if(c>=55296&&c<=56319){this.lastNeed=2;this.lastTotal=4;this.lastChar[0]=buf[buf.length-2];this.lastChar[1]=buf[buf.length-1];return r.slice(0,-1)}}return r}this.lastNeed=1;this.lastTotal=2;this.lastChar[0]=buf[buf.length-1];return buf.toString("utf16le",i,buf.length-1)}function utf16End(buf){var r=buf&&buf.length?this.write(buf):"";if(this.lastNeed){var end=this.lastTotal-this.lastNeed;return r+this.lastChar.toString("utf16le",0,end)}return r}function base64Text(buf,i){var n=(buf.length-i)%3;if(n===0)return buf.toString("base64",i);this.lastNeed=3-n;this.lastTotal=3;if(n===1){this.lastChar[0]=buf[buf.length-1]}else{this.lastChar[0]=buf[buf.length-2];this.lastChar[1]=buf[buf.length-1]}return buf.toString("base64",i,buf.length-n)}function base64End(buf){var r=buf&&buf.length?this.write(buf):"";if(this.lastNeed)return r+this.lastChar.toString("base64",0,3-this.lastNeed);return r}function simpleWrite(buf){return buf.toString(this.encoding)}function simpleEnd(buf){return buf&&buf.length?this.write(buf):""}},{"safe-buffer":99}],101:[function(require,module,exports){module.exports=require("./readable").PassThrough},{"./readable":102}],102:[function(require,module,exports){exports=module.exports=require("./lib/_stream_readable.js");exports.Stream=exports;exports.Readable=exports;exports.Writable=require("./lib/_stream_writable.js");exports.Duplex=require("./lib/_stream_duplex.js");exports.Transform=require("./lib/_stream_transform.js");exports.PassThrough=require("./lib/_stream_passthrough.js")},{"./lib/_stream_duplex.js":91,"./lib/_stream_passthrough.js":92,"./lib/_stream_readable.js":93,"./lib/_stream_transform.js":94,"./lib/_stream_writable.js":95}],103:[function(require,module,exports){module.exports=require("./readable").Transform},{"./readable":102}],104:[function(require,module,exports){module.exports=require("./lib/_stream_writable.js")},{"./lib/_stream_writable.js":95}],105:[function(require,module,exports){var buffer=require("buffer");var Buffer=buffer.Buffer;function copyProps(src,dst){for(var key in src){dst[key]=src[key]}}if(Buffer.from&&Buffer.alloc&&Buffer.allocUnsafe&&Buffer.allocUnsafeSlow){module.exports=buffer}else{copyProps(buffer,exports);exports.Buffer=SafeBuffer}function SafeBuffer(arg,encodingOrOffset,length){return Buffer(arg,encodingOrOffset,length)}SafeBuffer.prototype=Object.create(Buffer.prototype);copyProps(Buffer,SafeBuffer);SafeBuffer.from=function(arg,encodingOrOffset,length){if(typeof arg==="number"){throw new TypeError("Argument must not be a number")}return Buffer(arg,encodingOrOffset,length)};SafeBuffer.alloc=function(size,fill,encoding){if(typeof size!=="number"){throw new TypeError("Argument must be a number")}var buf=Buffer(size);if(fill!==undefined){if(typeof encoding==="string"){buf.fill(fill,encoding)}else{buf.fill(fill)}}else{buf.fill(0)}return buf};SafeBuffer.allocUnsafe=function(size){if(typeof size!=="number"){throw new TypeError("Argument must be a number")}return Buffer(size)};SafeBuffer.allocUnsafeSlow=function(size){if(typeof size!=="number"){throw new TypeError("Argument must be a number")}return buffer.SlowBuffer(size)}},{buffer:77}],106:[function(require,module,exports){module.exports=Stream;var EE=require("events").EventEmitter;var inherits=require("inherits");inherits(Stream,EE);Stream.Readable=require("readable-stream/readable.js");Stream.Writable=require("readable-stream/writable.js");Stream.Duplex=require("readable-stream/duplex.js");Stream.Transform=require("readable-stream/transform.js");Stream.PassThrough=require("readable-stream/passthrough.js");Stream.Stream=Stream;function Stream(){EE.call(this)}Stream.prototype.pipe=function(dest,options){var source=this;function ondata(chunk){if(dest.writable){if(false===dest.write(chunk)&&source.pause){source.pause()}}}source.on("data",ondata);function ondrain(){if(source.readable&&source.resume){source.resume()}}dest.on("drain",ondrain);if(!dest._isStdio&&(!options||options.end!==false)){source.on("end",onend);source.on("close",onclose)}var didOnEnd=false;function onend(){if(didOnEnd)return;didOnEnd=true;dest.end()}function onclose(){if(didOnEnd)return;didOnEnd=true;if(typeof dest.destroy==="function")dest.destroy()}function onerror(er){cleanup();if(EE.listenerCount(this,"error")===0){throw er}}source.on("error",onerror);dest.on("error",onerror);function cleanup(){source.removeListener("data",ondata);dest.removeListener("drain",ondrain);source.removeListener("end",onend);source.removeListener("close",onclose);source.removeListener("error",onerror);dest.removeListener("error",onerror);source.removeListener("end",cleanup);source.removeListener("close",cleanup);dest.removeListener("close",cleanup)}source.on("end",cleanup);source.on("close",cleanup);dest.on("close",cleanup);dest.emit("pipe",source);return dest}},{events:79,inherits:81,"readable-stream/duplex.js":90,"readable-stream/passthrough.js":101,"readable-stream/readable.js":102,"readable-stream/transform.js":103,"readable-stream/writable.js":104}],107:[function(require,module,exports){arguments[4][100][0].apply(exports,arguments)},{dup:100,"safe-buffer":105}],108:[function(require,module,exports){(function(setImmediate,clearImmediate){var nextTick=require("process/browser.js").nextTick;var apply=Function.prototype.apply;var slice=Array.prototype.slice;var immediateIds={};var nextImmediateId=0;exports.setTimeout=function(){return new Timeout(apply.call(setTimeout,window,arguments),clearTimeout)};exports.setInterval=function(){return new Timeout(apply.call(setInterval,window,arguments),clearInterval)};exports.clearTimeout=exports.clearInterval=function(timeout){timeout.close()};function Timeout(id,clearFn){this._id=id;this._clearFn=clearFn}Timeout.prototype.unref=Timeout.prototype.ref=function(){};Timeout.prototype.close=function(){this._clearFn.call(window,this._id)};exports.enroll=function(item,msecs){clearTimeout(item._idleTimeoutId);item._idleTimeout=msecs};exports.unenroll=function(item){clearTimeout(item._idleTimeoutId);item._idleTimeout=-1};exports._unrefActive=exports.active=function(item){clearTimeout(item._idleTimeoutId);var msecs=item._idleTimeout;if(msecs>=0){item._idleTimeoutId=setTimeout(function onTimeout(){if(item._onTimeout)item._onTimeout()},msecs)}};exports.setImmediate=typeof setImmediate==="function"?setImmediate:function(fn){var id=nextImmediateId++;var args=arguments.length<2?false:slice.call(arguments,1);immediateIds[id]=true;nextTick(function onNextTick(){if(immediateIds[id]){if(args){fn.apply(null,args)}else{fn.call(null)}exports.clearImmediate(id)}});return id};exports.clearImmediate=typeof clearImmediate==="function"?clearImmediate:function(id){delete immediateIds[id]}}).call(this,require("timers").setImmediate,require("timers").clearImmediate)},{"process/browser.js":85,timers:108}],109:[function(require,module,exports){"use strict";var punycode=require("punycode");var util=require("./util");exports.parse=urlParse;exports.resolve=urlResolve;exports.resolveObject=urlResolveObject;exports.format=urlFormat;exports.Url=Url;function Url(){this.protocol=null;this.slashes=null;this.auth=null;this.host=null;this.port=null;this.hostname=null;this.hash=null;this.search=null;this.query=null;this.pathname=null;this.path=null;this.href=null}var protocolPattern=/^([a-z0-9.+-]+:)/i,portPattern=/:[0-9]*$/,simplePathPattern=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,delims=["<",">",'"',"`"," ","\r","\n","\t"],unwise=["{","}","|","\\","^","`"].concat(delims),autoEscape=["'"].concat(unwise),nonHostChars=["%","/","?",";","#"].concat(autoEscape),hostEndingChars=["/","?","#"],hostnameMaxLen=255,hostnamePartPattern=/^[+a-z0-9A-Z_-]{0,63}$/,hostnamePartStart=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,unsafeProtocol={javascript:true,"javascript:":true},hostlessProtocol={javascript:true,"javascript:":true},slashedProtocol={http:true,https:true,ftp:true,gopher:true,file:true,"http:":true,"https:":true,"ftp:":true,"gopher:":true,"file:":true},querystring=require("querystring");function urlParse(url,parseQueryString,slashesDenoteHost){if(url&&util.isObject(url)&&url instanceof Url)return url;var u=new Url;u.parse(url,parseQueryString,slashesDenoteHost);return u}Url.prototype.parse=function(url,parseQueryString,slashesDenoteHost){if(!util.isString(url)){throw new TypeError("Parameter 'url' must be a string, not "+typeof url)}var queryIndex=url.indexOf("?"),splitter=queryIndex!==-1&&queryIndex<url.indexOf("#")?"?":"#",uSplit=url.split(splitter),slashRegex=/\\/g;uSplit[0]=uSplit[0].replace(slashRegex,"/");url=uSplit.join(splitter);var rest=url;rest=rest.trim();if(!slashesDenoteHost&&url.split("#").length===1){var simplePath=simplePathPattern.exec(rest);if(simplePath){this.path=rest;this.href=rest;this.pathname=simplePath[1];if(simplePath[2]){this.search=simplePath[2];if(parseQueryString){this.query=querystring.parse(this.search.substr(1))}else{this.query=this.search.substr(1)}}else if(parseQueryString){this.search="";this.query={}}return this}}var proto=protocolPattern.exec(rest);if(proto){proto=proto[0];var lowerProto=proto.toLowerCase();this.protocol=lowerProto;rest=rest.substr(proto.length)}if(slashesDenoteHost||proto||rest.match(/^\/\/[^@\/]+@[^@\/]+/)){var slashes=rest.substr(0,2)==="//";if(slashes&&!(proto&&hostlessProtocol[proto])){rest=rest.substr(2);this.slashes=true}}if(!hostlessProtocol[proto]&&(slashes||proto&&!slashedProtocol[proto])){var hostEnd=-1;for(var i=0;i<hostEndingChars.length;i++){var hec=rest.indexOf(hostEndingChars[i]);if(hec!==-1&&(hostEnd===-1||hec<hostEnd))hostEnd=hec}var auth,atSign;if(hostEnd===-1){atSign=rest.lastIndexOf("@")}else{atSign=rest.lastIndexOf("@",hostEnd)}if(atSign!==-1){auth=rest.slice(0,atSign);rest=rest.slice(atSign+1);this.auth=decodeURIComponent(auth)}hostEnd=-1;for(var i=0;i<nonHostChars.length;i++){var hec=rest.indexOf(nonHostChars[i]);if(hec!==-1&&(hostEnd===-1||hec<hostEnd))hostEnd=hec}if(hostEnd===-1)hostEnd=rest.length;this.host=rest.slice(0,hostEnd);rest=rest.slice(hostEnd);this.parseHost();this.hostname=this.hostname||"";var ipv6Hostname=this.hostname[0]==="["&&this.hostname[this.hostname.length-1]==="]";if(!ipv6Hostname){var hostparts=this.hostname.split(/\./);for(var i=0,l=hostparts.length;i<l;i++){var part=hostparts[i];if(!part)continue;if(!part.match(hostnamePartPattern)){var newpart="";for(var j=0,k=part.length;j<k;j++){if(part.charCodeAt(j)>127){newpart+="x"}else{newpart+=part[j]}}if(!newpart.match(hostnamePartPattern)){var validParts=hostparts.slice(0,i);var notHost=hostparts.slice(i+1);var bit=part.match(hostnamePartStart);if(bit){validParts.push(bit[1]);notHost.unshift(bit[2])}if(notHost.length){rest="/"+notHost.join(".")+rest}this.hostname=validParts.join(".");break}}}}if(this.hostname.length>hostnameMaxLen){this.hostname=""}else{this.hostname=this.hostname.toLowerCase()}if(!ipv6Hostname){this.hostname=punycode.toASCII(this.hostname)}var p=this.port?":"+this.port:"";var h=this.hostname||"";this.host=h+p;this.href+=this.host;if(ipv6Hostname){this.hostname=this.hostname.substr(1,this.hostname.length-2);if(rest[0]!=="/"){rest="/"+rest}}}if(!unsafeProtocol[lowerProto]){for(var i=0,l=autoEscape.length;i<l;i++){var ae=autoEscape[i];if(rest.indexOf(ae)===-1)continue;var esc=encodeURIComponent(ae);if(esc===ae){esc=escape(ae)}rest=rest.split(ae).join(esc)}}var hash=rest.indexOf("#");if(hash!==-1){this.hash=rest.substr(hash);rest=rest.slice(0,hash)}var qm=rest.indexOf("?");if(qm!==-1){this.search=rest.substr(qm);this.query=rest.substr(qm+1);if(parseQueryString){this.query=querystring.parse(this.query)}rest=rest.slice(0,qm)}else if(parseQueryString){this.search="";this.query={}}if(rest)this.pathname=rest;if(slashedProtocol[lowerProto]&&this.hostname&&!this.pathname){this.pathname="/"}if(this.pathname||this.search){var p=this.pathname||"";var s=this.search||"";this.path=p+s}this.href=this.format();return this};function urlFormat(obj){if(util.isString(obj))obj=urlParse(obj);if(!(obj instanceof Url))return Url.prototype.format.call(obj);return obj.format()}Url.prototype.format=function(){var auth=this.auth||"";if(auth){auth=encodeURIComponent(auth);auth=auth.replace(/%3A/i,":");auth+="@"}var protocol=this.protocol||"",pathname=this.pathname||"",hash=this.hash||"",host=false,query="";if(this.host){host=auth+this.host}else if(this.hostname){host=auth+(this.hostname.indexOf(":")===-1?this.hostname:"["+this.hostname+"]");if(this.port){host+=":"+this.port}}if(this.query&&util.isObject(this.query)&&Object.keys(this.query).length){query=querystring.stringify(this.query)}var search=this.search||query&&"?"+query||"";if(protocol&&protocol.substr(-1)!==":")protocol+=":";if(this.slashes||(!protocol||slashedProtocol[protocol])&&host!==false){host="//"+(host||"");if(pathname&&pathname.charAt(0)!=="/")pathname="/"+pathname}else if(!host){host=""}if(hash&&hash.charAt(0)!=="#")hash="#"+hash;if(search&&search.charAt(0)!=="?")search="?"+search;pathname=pathname.replace(/[?#]/g,function(match){return encodeURIComponent(match)});search=search.replace("#","%23");return protocol+host+pathname+search+hash};function urlResolve(source,relative){return urlParse(source,false,true).resolve(relative)}Url.prototype.resolve=function(relative){return this.resolveObject(urlParse(relative,false,true)).format()};function urlResolveObject(source,relative){if(!source)return relative;return urlParse(source,false,true).resolveObject(relative)}Url.prototype.resolveObject=function(relative){if(util.isString(relative)){var rel=new Url;rel.parse(relative,false,true);relative=rel}var result=new Url;var tkeys=Object.keys(this);for(var tk=0;tk<tkeys.length;tk++){var tkey=tkeys[tk];result[tkey]=this[tkey]}result.hash=relative.hash;if(relative.href===""){result.href=result.format();return result}if(relative.slashes&&!relative.protocol){var rkeys=Object.keys(relative);for(var rk=0;rk<rkeys.length;rk++){var rkey=rkeys[rk];if(rkey!=="protocol")result[rkey]=relative[rkey]}if(slashedProtocol[result.protocol]&&result.hostname&&!result.pathname){result.path=result.pathname="/"}result.href=result.format();return result}if(relative.protocol&&relative.protocol!==result.protocol){if(!slashedProtocol[relative.protocol]){var keys=Object.keys(relative);for(var v=0;v<keys.length;v++){var k=keys[v];result[k]=relative[k]}result.href=result.format();return result}result.protocol=relative.protocol;if(!relative.host&&!hostlessProtocol[relative.protocol]){var relPath=(relative.pathname||"").split("/");while(relPath.length&&!(relative.host=relPath.shift()));if(!relative.host)relative.host="";if(!relative.hostname)relative.hostname="";if(relPath[0]!=="")relPath.unshift("");if(relPath.length<2)relPath.unshift("");result.pathname=relPath.join("/")}else{result.pathname=relative.pathname}result.search=relative.search;result.query=relative.query;result.host=relative.host||"";result.auth=relative.auth;result.hostname=relative.hostname||relative.host;result.port=relative.port;if(result.pathname||result.search){var p=result.pathname||"";var s=result.search||"";result.path=p+s}result.slashes=result.slashes||relative.slashes;result.href=result.format();return result}var isSourceAbs=result.pathname&&result.pathname.charAt(0)==="/",isRelAbs=relative.host||relative.pathname&&relative.pathname.charAt(0)==="/",mustEndAbs=isRelAbs||isSourceAbs||result.host&&relative.pathname,removeAllDots=mustEndAbs,srcPath=result.pathname&&result.pathname.split("/")||[],relPath=relative.pathname&&relative.pathname.split("/")||[],psychotic=result.protocol&&!slashedProtocol[result.protocol];if(psychotic){result.hostname="";result.port=null;if(result.host){if(srcPath[0]==="")srcPath[0]=result.host;else srcPath.unshift(result.host)}result.host="";if(relative.protocol){relative.hostname=null;relative.port=null;if(relative.host){if(relPath[0]==="")relPath[0]=relative.host;else relPath.unshift(relative.host)}relative.host=null}mustEndAbs=mustEndAbs&&(relPath[0]===""||srcPath[0]==="")}if(isRelAbs){result.host=relative.host||relative.host===""?relative.host:result.host;result.hostname=relative.hostname||relative.hostname===""?relative.hostname:result.hostname;result.search=relative.search;result.query=relative.query;srcPath=relPath}else if(relPath.length){if(!srcPath)srcPath=[];srcPath.pop();srcPath=srcPath.concat(relPath);result.search=relative.search;result.query=relative.query}else if(!util.isNullOrUndefined(relative.search)){if(psychotic){result.hostname=result.host=srcPath.shift();var authInHost=result.host&&result.host.indexOf("@")>0?result.host.split("@"):false;if(authInHost){result.auth=authInHost.shift();result.host=result.hostname=authInHost.shift()}}result.search=relative.search;result.query=relative.query;if(!util.isNull(result.pathname)||!util.isNull(result.search)){result.path=(result.pathname?result.pathname:"")+(result.search?result.search:"")}result.href=result.format();return result}if(!srcPath.length){result.pathname=null;if(result.search){result.path="/"+result.search}else{result.path=null}result.href=result.format();return result}var last=srcPath.slice(-1)[0];var hasTrailingSlash=(result.host||relative.host||srcPath.length>1)&&(last==="."||last==="..")||last==="";var up=0;for(var i=srcPath.length;i>=0;i--){last=srcPath[i];if(last==="."){srcPath.splice(i,1)}else if(last===".."){srcPath.splice(i,1);up++}else if(up){srcPath.splice(i,1);up--}}if(!mustEndAbs&&!removeAllDots){for(;up--;up){srcPath.unshift("..")}}if(mustEndAbs&&srcPath[0]!==""&&(!srcPath[0]||srcPath[0].charAt(0)!=="/")){srcPath.unshift("")}if(hasTrailingSlash&&srcPath.join("/").substr(-1)!=="/"){srcPath.push("")}var isAbsolute=srcPath[0]===""||srcPath[0]&&srcPath[0].charAt(0)==="/";if(psychotic){result.hostname=result.host=isAbsolute?"":srcPath.length?srcPath.shift():"";var authInHost=result.host&&result.host.indexOf("@")>0?result.host.split("@"):false;if(authInHost){result.auth=authInHost.shift();result.host=result.hostname=authInHost.shift()}}mustEndAbs=mustEndAbs||result.host&&srcPath.length;if(mustEndAbs&&!isAbsolute){srcPath.unshift("")}if(!srcPath.length){result.pathname=null;result.path=null}else{result.pathname=srcPath.join("/")}if(!util.isNull(result.pathname)||!util.isNull(result.search)){result.path=(result.pathname?result.pathname:"")+(result.search?result.search:"")}result.auth=relative.auth||result.auth;result.slashes=result.slashes||relative.slashes;result.href=result.format();return result};Url.prototype.parseHost=function(){var host=this.host;var port=portPattern.exec(host);if(port){port=port[0];if(port!==":"){this.port=port.substr(1)}host=host.substr(0,host.length-port.length)}if(host)this.hostname=host}},{"./util":110,punycode:86,querystring:89}],110:[function(require,module,exports){"use strict";module.exports={isString:function(arg){return typeof arg==="string"},isObject:function(arg){return typeof arg==="object"&&arg!==null},isNull:function(arg){return arg===null},isNullOrUndefined:function(arg){return arg==null}}},{}],111:[function(require,module,exports){(function(global){module.exports=deprecate;function deprecate(fn,msg){if(config("noDeprecation")){return fn}var warned=false;function deprecated(){if(!warned){if(config("throwDeprecation")){throw new Error(msg)}else if(config("traceDeprecation")){console.trace(msg)}else{console.warn(msg)}warned=true}return fn.apply(this,arguments)}return deprecated}function config(name){try{if(!global.localStorage)return false}catch(_){return false}var val=global.localStorage[name];if(null==val)return false;return String(val).toLowerCase()==="true"}}).call(this,typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{}],112:[function(require,module,exports){if(typeof Object.create==="function"){module.exports=function inherits(ctor,superCtor){ctor.super_=superCtor;ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:false,writable:true,configurable:true}})}}else{module.exports=function inherits(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype;ctor.prototype=new TempCtor;ctor.prototype.constructor=ctor}}},{}],113:[function(require,module,exports){module.exports=function isBuffer(arg){return arg&&typeof arg==="object"&&typeof arg.copy==="function"&&typeof arg.fill==="function"&&typeof arg.readUInt8==="function"}},{}],114:[function(require,module,exports){(function(process,global){var formatRegExp=/%[sdj%]/g;exports.format=function(f){if(!isString(f)){var objects=[];for(var i=0;i<arguments.length;i++){objects.push(inspect(arguments[i]))}return objects.join(" ")}var i=1;var args=arguments;var len=args.length;var str=String(f).replace(formatRegExp,function(x){if(x==="%%")return"%";if(i>=len)return x;switch(x){case"%s":return String(args[i++]);case"%d":return Number(args[i++]);case"%j":try{return JSON.stringify(args[i++])}catch(_){return"[Circular]"}default:return x}});for(var x=args[i];i<len;x=args[++i]){if(isNull(x)||!isObject(x)){str+=" "+x}else{str+=" "+inspect(x)}}return str};exports.deprecate=function(fn,msg){if(isUndefined(global.process)){return function(){return exports.deprecate(fn,msg).apply(this,arguments)}}if(process.noDeprecation===true){return fn}var warned=false;function deprecated(){if(!warned){if(process.throwDeprecation){throw new Error(msg)}else if(process.traceDeprecation){console.trace(msg)}else{console.error(msg)}warned=true}return fn.apply(this,arguments)}return deprecated};var debugs={};var debugEnviron;exports.debuglog=function(set){if(isUndefined(debugEnviron))debugEnviron=process.env.NODE_DEBUG||"";set=set.toUpperCase();if(!debugs[set]){if(new RegExp("\\b"+set+"\\b","i").test(debugEnviron)){var pid=process.pid;debugs[set]=function(){var msg=exports.format.apply(exports,arguments);console.error("%s %d: %s",set,pid,msg)}}else{debugs[set]=function(){}}}return debugs[set]};function inspect(obj,opts){var ctx={seen:[],stylize:stylizeNoColor};if(arguments.length>=3)ctx.depth=arguments[2];if(arguments.length>=4)ctx.colors=arguments[3];if(isBoolean(opts)){ctx.showHidden=opts}else if(opts){exports._extend(ctx,opts)}if(isUndefined(ctx.showHidden))ctx.showHidden=false;if(isUndefined(ctx.depth))ctx.depth=2;if(isUndefined(ctx.colors))ctx.colors=false;if(isUndefined(ctx.customInspect))ctx.customInspect=true;if(ctx.colors)ctx.stylize=stylizeWithColor;return formatValue(ctx,obj,ctx.depth)}exports.inspect=inspect;inspect.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]};inspect.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function stylizeWithColor(str,styleType){var style=inspect.styles[styleType];if(style){return"["+inspect.colors[style][0]+"m"+str+"["+inspect.colors[style][1]+"m"}else{return str}}function stylizeNoColor(str,styleType){return str}function arrayToHash(array){var hash={};array.forEach(function(val,idx){hash[val]=true});return hash}function formatValue(ctx,value,recurseTimes){if(ctx.customInspect&&value&&isFunction(value.inspect)&&value.inspect!==exports.inspect&&!(value.constructor&&value.constructor.prototype===value)){var ret=value.inspect(recurseTimes,ctx);if(!isString(ret)){ret=formatValue(ctx,ret,recurseTimes)}return ret}var primitive=formatPrimitive(ctx,value);if(primitive){return primitive}var keys=Object.keys(value);var visibleKeys=arrayToHash(keys);if(ctx.showHidden){keys=Object.getOwnPropertyNames(value)}if(isError(value)&&(keys.indexOf("message")>=0||keys.indexOf("description")>=0)){return formatError(value)}if(keys.length===0){if(isFunction(value)){var name=value.name?": "+value.name:"";return ctx.stylize("[Function"+name+"]","special")}if(isRegExp(value)){return ctx.stylize(RegExp.prototype.toString.call(value),"regexp")}if(isDate(value)){return ctx.stylize(Date.prototype.toString.call(value),"date")}if(isError(value)){return formatError(value)}}var base="",array=false,braces=["{","}"];if(isArray(value)){array=true;braces=["[","]"]}if(isFunction(value)){var n=value.name?": "+value.name:"";base=" [Function"+n+"]"}if(isRegExp(value)){base=" "+RegExp.prototype.toString.call(value)}if(isDate(value)){base=" "+Date.prototype.toUTCString.call(value)}if(isError(value)){base=" "+formatError(value)}if(keys.length===0&&(!array||value.length==0)){return braces[0]+base+braces[1]}if(recurseTimes<0){if(isRegExp(value)){return ctx.stylize(RegExp.prototype.toString.call(value),"regexp")}else{return ctx.stylize("[Object]","special")}}ctx.seen.push(value);var output;if(array){output=formatArray(ctx,value,recurseTimes,visibleKeys,keys)}else{output=keys.map(function(key){return formatProperty(ctx,value,recurseTimes,visibleKeys,key,array)})}ctx.seen.pop();return reduceToSingleString(output,base,braces)}function formatPrimitive(ctx,value){if(isUndefined(value))return ctx.stylize("undefined","undefined");if(isString(value)){var simple="'"+JSON.stringify(value).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return ctx.stylize(simple,"string")}if(isNumber(value))return ctx.stylize(""+value,"number");if(isBoolean(value))return ctx.stylize(""+value,"boolean");if(isNull(value))return ctx.stylize("null","null")}function formatError(value){return"["+Error.prototype.toString.call(value)+"]"}function formatArray(ctx,value,recurseTimes,visibleKeys,keys){var output=[];for(var i=0,l=value.length;i<l;++i){if(hasOwnProperty(value,String(i))){output.push(formatProperty(ctx,value,recurseTimes,visibleKeys,String(i),true))}else{output.push("")}}keys.forEach(function(key){if(!key.match(/^\d+$/)){output.push(formatProperty(ctx,value,recurseTimes,visibleKeys,key,true))}});return output}function formatProperty(ctx,value,recurseTimes,visibleKeys,key,array){var name,str,desc;desc=Object.getOwnPropertyDescriptor(value,key)||{value:value[key]};if(desc.get){if(desc.set){str=ctx.stylize("[Getter/Setter]","special")}else{str=ctx.stylize("[Getter]","special")}}else{if(desc.set){str=ctx.stylize("[Setter]","special")}}if(!hasOwnProperty(visibleKeys,key)){name="["+key+"]"}if(!str){if(ctx.seen.indexOf(desc.value)<0){if(isNull(recurseTimes)){str=formatValue(ctx,desc.value,null)}else{str=formatValue(ctx,desc.value,recurseTimes-1)}if(str.indexOf("\n")>-1){if(array){str=str.split("\n").map(function(line){return" "+line}).join("\n").substr(2)}else{str="\n"+str.split("\n").map(function(line){return" "+line}).join("\n")}}}else{str=ctx.stylize("[Circular]","special")}}if(isUndefined(name)){if(array&&key.match(/^\d+$/)){return str}name=JSON.stringify(""+key);if(name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)){name=name.substr(1,name.length-2);name=ctx.stylize(name,"name")}else{name=name.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'");name=ctx.stylize(name,"string")}}return name+": "+str}function reduceToSingleString(output,base,braces){var numLinesEst=0;var length=output.reduce(function(prev,cur){numLinesEst++;if(cur.indexOf("\n")>=0)numLinesEst++;return prev+cur.replace(/\u001b\[\d\d?m/g,"").length+1},0);if(length>60){return braces[0]+(base===""?"":base+"\n ")+" "+output.join(",\n ")+" "+braces[1]}return braces[0]+base+" "+output.join(", ")+" "+braces[1]}function isArray(ar){return Array.isArray(ar)}exports.isArray=isArray;function isBoolean(arg){return typeof arg==="boolean"}exports.isBoolean=isBoolean;function isNull(arg){return arg===null}exports.isNull=isNull;function isNullOrUndefined(arg){return arg==null}exports.isNullOrUndefined=isNullOrUndefined;function isNumber(arg){return typeof arg==="number"}exports.isNumber=isNumber;function isString(arg){return typeof arg==="string"}exports.isString=isString;function isSymbol(arg){return typeof arg==="symbol"}exports.isSymbol=isSymbol;function isUndefined(arg){return arg===void 0}exports.isUndefined=isUndefined;function isRegExp(re){return isObject(re)&&objectToString(re)==="[object RegExp]"}exports.isRegExp=isRegExp;function isObject(arg){return typeof arg==="object"&&arg!==null}exports.isObject=isObject;function isDate(d){return isObject(d)&&objectToString(d)==="[object Date]"}exports.isDate=isDate;function isError(e){return isObject(e)&&(objectToString(e)==="[object Error]"||e instanceof Error)}exports.isError=isError;function isFunction(arg){return typeof arg==="function"}exports.isFunction=isFunction;function isPrimitive(arg){return arg===null||typeof arg==="boolean"||typeof arg==="number"||typeof arg==="string"||typeof arg==="symbol"||typeof arg==="undefined"}exports.isPrimitive=isPrimitive;exports.isBuffer=require("./support/isBuffer");function objectToString(o){return Object.prototype.toString.call(o)}function pad(n){return n<10?"0"+n.toString(10):n.toString(10)}var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function timestamp(){var d=new Date;var time=[pad(d.getHours()),pad(d.getMinutes()),pad(d.getSeconds())].join(":");return[d.getDate(),months[d.getMonth()],time].join(" ")}exports.log=function(){console.log("%s - %s",timestamp(),exports.format.apply(exports,arguments))};exports.inherits=require("inherits");exports._extend=function(origin,add){if(!add||!isObject(add))return origin;var keys=Object.keys(add);var i=keys.length;while(i--){origin[keys[i]]=add[keys[i]]}return origin};function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}}).call(this,require("_process"),typeof global!=="undefined"?global:typeof self!=="undefined"?self:typeof window!=="undefined"?window:{})},{"./support/isBuffer":113,_process:85,inherits:112}],"oss-2013-10-15.json":[function(require,module,exports){module.exports={format:"rest-xml",apiVersion:"2013-10-15",checksumFormat:"md5",endpointPrefix:"oss",serviceAbbreviation:"OSS",serviceFullName:"Aliyun Open Storage Service",signatureVersion:"oss",timestampFormat:"rfc822",xmlnamespace:"",operations:{abortMultipartUpload:{name:"AbortMultipartUpload",http:{method:"DELETE",uri:"/{Bucket}/{Key}?uploadId={UploadId}"},input:{type:"structure",members:{Bucket:{required:true,location:"uri"},Key:{required:true,location:"uri"},UploadId:{required:true,location:"uri"}}},output:{type:"structure",members:{}}},completeMultipartUpload:{name:"CompleteMultipartUpload",http:{method:"POST",uri:"/{Bucket}/{Key}?uploadId={UploadId}"},input:{payload:"CompleteMultipartUpload",type:"structure",members:{Bucket:{required:true,location:"uri"},Key:{required:true,location:"uri"},CompleteMultipartUpload:{type:"structure",name:"CompleteMultipartUpload",members:{Parts:{type:"list",name:"Part",members:{type:"structure",members:{PartNumber:{type:"integer"},ETag:{}}},flattened:true}}},UploadId:{required:true,location:"uri"}}},output:{type:"structure",members:{Bucket:{},ETag:{},Expiration:{type:"timestamp",location:"header",name:"x-oss-expiration"},Key:{},Location:{},ServerSideEncryption:{location:"header",name:"x-oss-server-side-encryption"},VersionId:{location:"header",name:"x-oss-version-id"}}}},copyObject:{name:"CopyObject",alias:"PutObjectCopy",http:{method:"PUT",uri:"/{Bucket}/{Key}"},input:{type:"structure",members:{ACL:{location:"header",name:"x-oss-acl"},Bucket:{required:true,location:"uri"},CacheControl:{location:"header",name:"Cache-Control"},ContentDisposition:{location:"header",name:"Content-Disposition"},ContentEncoding:{location:"header",name:"Content-Encoding"},ContentLanguage:{location:"header",name:"Content-Language"},ContentType:{location:"header",name:"Content-Type"},CopySource:{required:true,location:"header",name:"x-oss-copy-source"},CopySourceIfMatch:{type:"timestamp",location:"header",name:"x-oss-copy-source-if-match"},CopySourceIfModifiedSince:{type:"timestamp",location:"header",name:"x-oss-copy-source-if-modified-since"},CopySourceIfNoneMatch:{type:"timestamp",location:"header",name:"x-oss-copy-source-if-none-match"},CopySourceIfUnmodifiedSince:{type:"timestamp",location:"header",name:"x-oss-copy-source-if-unmodified-since"},Expires:{type:"timestamp",location:"header",name:"Expires"},GrantFullControl:{location:"header",name:"x-oss-grant-full-control"},GrantRead:{location:"header",name:"x-oss-grant-read"},GrantReadACP:{location:"header",name:"x-oss-grant-read-acp"},GrantWriteACP:{location:"header",name:"x-oss-grant-write-acp"},Key:{required:true,location:"uri"},Metadata:{type:"map",location:"header",name:"x-oss-meta-",members:{},keys:{}},MetadataDirective:{location:"header",name:"x-oss-metadata-directive"},ServerSideEncryption:{location:"header",name:"x-oss-server-side-encryption"},StorageClass:{location:"header",name:"x-oss-storage-class"},WebsiteRedirectLocation:{location:"header",name:"x-oss-website-redirect-location"}}},output:{type:"structure",members:{CopySourceVersionId:{location:"header",name:"x-oss-copy-source-version-id"},Expiration:{location:"header",name:"x-oss-expiration"},ServerSideEncryption:{location:"header",name:"x-oss-server-side-encryption"},ETag:{},LastModified:{}}}},createBucket:{name:"CreateBucket",alias:"PutBucket",http:{method:"PUT",uri:"/{Bucket}"},input:{payload:"CreateBucketConfiguration",type:"structure",members:{ACL:{location:"header",name:"x-oss-acl"},Bucket:{required:true,location:"uri"},GrantFullControl:{location:"header",name:"x-oss-grant-full-control"},GrantRead:{location:"header",name:"x-oss-grant-read"},GrantReadACP:{location:"header",name:"x-oss-grant-read-acp"},GrantWrite:{location:"header",name:"x-oss-grant-write"},GrantWriteACP:{location:"header",name:"x-oss-grant-write-acp"},CreateBucketConfiguration:{type:"structure",name:"CreateBucketConfiguration",members:{StorageClass:{type:"string",name:"StorageClass"}}}}},output:{type:"structure",members:{Location:{location:"header",name:"Location"}}}},createMultipartUpload:{name:"CreateMultipartUpload",alias:"InitiateMultipartUpload",http:{method:"POST",uri:"/{Bucket}/{Key}?uploads"},input:{type:"structure",members:{ACL:{location:"header",name:"x-oss-acl"},Bucket:{required:true,location:"uri"},CacheControl:{location:"header",name:"Cache-Control"},ContentDisposition:{location:"header",name:"Content-Disposition"},ContentEncoding:{location:"header",name:"Content-Encoding"},ContentLanguage:{location:"header",name:"Content-Language"},ContentType:{location:"header",name:"Content-Type"},Expires:{type:"timestamp",location:"header",name:"Expires"},GrantFullControl:{location:"header",name:"x-oss-grant-full-control"},GrantRead:{location:"header",name:"x-oss-grant-read"},GrantReadACP:{location:"header",name:"x-oss-grant-read-acp"},GrantWriteACP:{location:"header",name:"x-oss-grant-write-acp"},Key:{required:true,location:"uri"},Metadata:{type:"map",location:"header",name:"x-oss-meta-",members:{},keys:{}},ServerSideEncryption:{location:"header",name:"x-oss-server-side-encryption"},StorageClass:{location:"header",name:"x-oss-storage-class"},WebsiteRedirectLocation:{location:"header",name:"x-oss-website-redirect-location"}}},output:{type:"structure",members:{Bucket:{name:"Bucket"},Key:{},ServerSideEncryption:{location:"header",name:"x-oss-server-side-encryption"},UploadId:{}}}},deleteBucket:{name:"DeleteBucket",http:{method:"DELETE",uri:"/{Bucket}"},input:{type:"structure",members:{Bucket:{required:true,location:"uri"}}},output:{type:"structure",members:{}}},deleteBucketLogging:{name:"DeleteBucketLogging",http:{method:"DELETE",uri:"/{Bucket}?logging"},input:{type:"structure",members:{Bucket:{required:true,location:"uri"}}},output:{type:"structure",members:{}}},deleteBucketCors:{name:"DeleteBucketCors",http:{method:"DELETE",uri:"/{Bucket}?cors"},input:{type:"structure",members:{Bucket:{required:true,location:"uri"}}},output:{type:"structure",members:{}}},deleteBucketLifecycle:{name:"DeleteBucketLifecycle",http:{method:"DELETE",uri:"/{Bucket}?lifecycle"},input:{type:"structure",members:{Bucket:{required:true,location:"uri"}}},output:{type:"structure",members:{}}},deleteBucketPolicy:{name:"DeleteBucketPolicy",http:{method:"DELETE",uri:"/{Bucket}?policy"},input:{type:"structure",members:{Bucket:{required:true,location:"uri"}}},output:{type:"structure",members:{}}},deleteBucketTagging:{name:"DeleteBucketTagging",http:{method:"DELETE",uri:"/{Bucket}?tagging"},input:{type:"structure",members:{Bucket:{required:true,location:"uri"}}},output:{type:"structure",members:{}}},deleteBucketWebsite:{name:"DeleteBucketWebsite",http:{method:"DELETE",uri:"/{Bucket}?website"},input:{type:"structure",members:{Bucket:{required:true,location:"uri"}}},output:{type:"structure",members:{}}},deleteObject:{name:"DeleteObject",http:{method:"DELETE",uri:"/{Bucket}/{Key}?versionId={VersionId}"},input:{type:"structure",members:{Bucket:{required:true,location:"uri"},Key:{required:true,location:"uri"},MFA:{location:"header",name:"x-oss-mfa"},VersionId:{location:"uri"}}},output:{type:"structure",members:{DeleteMarker:{type:"boolean",location:"header",name:"x-oss-delete-marker"},VersionId:{location:"header",name:"x-oss-version-id"}}}},deleteObjects:{name:"DeleteObjects",alias:"DeleteMultipleObjects",http:{method:"POST",uri:"/{Bucket}?delete"},input:{payload:"Delete",type:"structure",members:{Bucket:{required:true,location:"uri"},ContentMD5:{location:"header",name:"Content-MD5"},Delete:{type:"structure",required:true,members:{Objects:{type:"list",required:true,name:"Object",members:{type:"structure",members:{Key:{required:true},VersionId:{}}},flattened:true},Quiet:{type:"boolean"}}},MFA:{location:"header",name:"x-oss-mfa"}}},output:{type:"structure",members:{Deleted:{type:"list",members:{type:"structure",members:{DeleteMarker:{type:"boolean"},DeleteMarkerVersionId:{},Key:{},VersionId:{}}},flattened:true},Error:{type:"list",name:"Errors",members:{type:"structure",members:{Code:{},Key:{},Message:{},VersionId:{}}},flattened:true}}}},getBucketAcl:{name:"GetBucketAcl",http:{method:"GET",uri:"/{Bucket}?acl"},input:{type:"structure",members:{Bucket:{required:true,location:"uri"}}},output:{type:"structure",members:{AccessControlList:{type:"list",name:"Grants",members:{type:"structure",name:"Grant",members:{Grantee:{type:"structure",xmlns:{uri:"http://www.w3.org/2001/XMLSchema-instance",prefix:"xsi"},members:{DisplayName:{},EmailAddress:{},ID:{},"xsi:type":{name:"Type",attribute:true},URI:{}}},Permission:{}}}},Owner:{type:"structure",members:{DisplayName:{},ID:{}}}}}},getBucketCors:{name:"GetBucketCors",http:{method:"GET",uri:"/{Bucket}?cors"},input:{type:"structure",members:{Bucket:{required:true,location:"uri"}}},output:{type:"structure",members:{CORSRule:{type:"list",name:"CORSRules",members:{type:"structure",members:{AllowedHeader:{type:"list",name:"AllowedHeaders",members:{},flattened:true},AllowedMethod:{type:"list",name:"AllowedMethods",members:{},flattened:true},AllowedOrigin:{type:"list",name:"AllowedOrigins",members:{},flattened:true},ExposeHeader:{type:"list",name:"ExposeHeaders",members:{},flattened:true},MaxAgeSeconds:{type:"integer"}}},flattened:true}}}},getBucketLifecycle:{name:"GetBucketLifecycle",http:{method:"GET",uri:"/{Bucket}?lifecycle"},input:{type:"structure",members:{Bucket:{required:true,location:"uri"}}},output:{type:"structure",members:{Rule:{type:"list",name:"Rules",members:{type:"structure",members:{Expiration:{type:"structure",members:{Date:{type:"timestamp",format:"iso8601"},Days:{type:"integer"}}},ID:{},Prefix:{},Status:{},Transition:{type:"structure",members:{Date:{type:"timestamp",format:"iso8601"},Days:{type:"integer"},StorageClass:{}}}}},flattened:true}}}},getBucketLocation:{name:"GetBucketLocation",http:{method:"GET",uri:"/{Bucket}?location"},input:{type:"structure",members:{Bucket:{required:true,location:"uri"}}},output:{type:"structure",members:{LocationConstraint:{}}}},getBucketLogging:{name:"GetBucketLogging",http:{method:"GET",uri:"/{Bucket}?logging"},input:{type:"structure",members:{Bucket:{required:true,location:"uri"}}},output:{type:"structure",members:{LoggingEnabled:{type:"structure",members:{TargetBucket:{},TargetGrants:{type:"list",members:{type:"structure",name:"Grant",members:{Grantee:{type:"structure",xmlns:{uri:"http://www.w3.org/2001/XMLSchema-instance",prefix:"xsi"},members:{DisplayName:{},EmailAddress:{},ID:{},"xsi:type":{name:"Type",attribute:true},URI:{}}},Permission:{}}}},TargetPrefix:{}}}}}},getBucketNotification:{name:"GetBucketNotification",http:{method:"GET",uri:"/{Bucket}?notification"},input:{type:"structure",members:{Bucket:{required:true,location:"uri"}}},output:{type:"structure",members:{TopicConfiguration:{type:"structure",members:{Event:{},Topic:{}}}}}},getBucketPolicy:{name:"GetBucketPolicy",http:{method:"GET",uri:"/{Bucket}?policy"},input:{type:"structure",members:{Bucket:{required:true,location:"uri"}}},output:{type:"structure",members:{Policy:{}},payload:"Policy"}},getBucketRequestPayment:{name:"GetBucketRequestPayment",http:{method:"GET",uri:"/{Bucket}?requestPayment"},input:{type:"structure",members:{Bucket:{required:true,location:"uri"}}},output:{type:"structure",members:{Payer:{}}}},getBucketTagging:{name:"GetBucketTagging",http:{method:"GET",uri:"/{Bucket}?tagging"},input:{type:"structure",members:{Bucket:{required:true,location:"uri"}}},output:{type:"structure",members:{TagSet:{type:"list",members:{type:"structure",name:"Tag",members:{Key:{},Value:{}}}}}}},getBucketVersioning:{name:"GetBucketVersioning",http:{method:"GET",uri:"/{Bucket}?versioning"},input:{type:"structure",members:{Bucket:{required:true,location:"uri"}}},output:{type:"structure",members:{MFADelete:{},Status:{}}}},getBucketWebsite:{name:"GetBucketWebsite",http:{method:"GET",uri:"/{Bucket}?website"},input:{type:"structure",members:{Bucket:{required:true,location:"uri"}}},output:{type:"structure",members:{ErrorDocument:{type:"structure",members:{Key:{}}},IndexDocument:{type:"structure",members:{Suffix:{}}},RedirectAllRequestsTo:{type:"structure",members:{HostName:{},Protocol:{}}},RoutingRules:{type:"list",members:{type:"structure",name:"RoutingRule",members:{Condition:{type:"structure",members:{HttpErrorCodeReturnedEquals:{},KeyPrefixEquals:{}}},Redirect:{type:"structure",members:{HostName:{},HttpRedirectCode:{},Protocol:{},ReplaceKeyPrefixWith:{},ReplaceKeyWith:{}}}}}}}}},getObject:{name:"GetObject",http:{method:"GET",uri:"/{Bucket}/{Key}?versionId={VersionId}&response-content-type={ResponseContentType}&response-content-language={ResponseContentLanguage}&response-expires={ResponseExpires}&response-cache-control={ResponseCacheControl}&response-content-disposition={ResponseContentDisposition}&response-content-encoding={ResponseContentEncoding}"},input:{type:"structure",members:{Bucket:{required:true,location:"uri"},IfMatch:{location:"header",name:"If-Match"},IfModifiedSince:{type:"timestamp",location:"header",name:"If-Modified-Since"},IfNoneMatch:{location:"header",name:"If-None-Match"},IfUnmodifiedSince:{type:"timestamp",location:"header",name:"If-Unmodified-Since"},Key:{required:true,location:"uri"},Range:{location:"header",name:"Range"},ResponseCacheControl:{location:"uri"},ResponseContentDisposition:{location:"uri"},ResponseContentEncoding:{location:"uri"},ResponseContentLanguage:{location:"uri"},ResponseContentType:{location:"uri"},ResponseExpires:{type:"timestamp",location:"uri"},VersionId:{location:"uri"}}},output:{type:"structure",members:{AcceptRanges:{location:"header",name:"accept-ranges"},Body:{type:"binary",streaming:true},CacheControl:{location:"header",name:"Cache-Control"},ContentDisposition:{location:"header",name:"Content-Disposition"},ContentEncoding:{location:"header",name:"Content-Encoding"},ContentLanguage:{location:"header",name:"Content-Language"},ContentLength:{type:"integer",location:"header",name:"Content-Length"},ContentType:{location:"header",name:"Content-Type"},DeleteMarker:{type:"boolean",location:"header",name:"x-oss-delete-marker"},ETag:{location:"header",name:"ETag"},Expiration:{location:"header",name:"x-oss-expiration"},Expires:{type:"timestamp",location:"header",name:"Expires"},LastModified:{type:"timestamp",location:"header",name:"Last-Modified"},Metadata:{type:"map",location:"header",name:"x-oss-meta-",members:{},keys:{}},MissingMeta:{type:"integer",location:"header",name:"x-oss-missing-meta"},Restore:{location:"header",name:"x-oss-restore"},ServerSideEncryption:{location:"header",name:"x-oss-server-side-encryption"},VersionId:{location:"header",name:"x-oss-version-id"},WebsiteRedirectLocation:{location:"header",name:"x-oss-website-redirect-location"}},payload:"Body"}},getObjectAcl:{name:"GetObjectAcl",http:{method:"GET",uri:"/{Bucket}/{Key}?acl&versionId={VersionId}"},input:{type:"structure",members:{Bucket:{required:true,location:"uri"},Key:{required:true,location:"uri"},VersionId:{location:"uri"}}},output:{type:"structure",members:{AccessControlList:{type:"list",name:"Grants",members:{type:"structure",name:"Grant",members:{Grantee:{type:"structure",xmlns:{uri:"http://www.w3.org/2001/XMLSchema-instance",prefix:"xsi"},members:{DisplayName:{},EmailAddress:{},ID:{},"xsi:type":{name:"Type",attribute:true},URI:{}}},Permission:{}}}},Owner:{type:"structure",members:{DisplayName:{},ID:{}}}}}},getObjectMeta:{name:"GetObjectMeta",http:{method:"GET",uri:"/{Bucket}/{Key}?objectMeta&versionId={VersionId}&response-content-type={ResponseContentType}&response-content-language={ResponseContentLanguage}&response-expires={ResponseExpires}&response-cache-control={ResponseCacheControl}&response-content-disposition={ResponseContentDisposition}&response-content-encoding={ResponseContentEncoding}"},input:{type:"structure",members:{Bucket:{required:true,location:"uri"},IfMatch:{location:"header",name:"If-Match"},IfModifiedSince:{type:"timestamp",location:"header",name:"If-Modified-Since"},IfNoneMatch:{location:"header",name:"If-None-Match"},IfUnmodifiedSince:{type:"timestamp",location:"header",name:"If-Unmodified-Since"},Key:{required:true,location:"uri"},Range:{location:"header",name:"Range"},ResponseCacheControl:{location:"uri"},ResponseContentDisposition:{location:"uri"},ResponseContentEncoding:{location:"uri"},ResponseContentLanguage:{location:"uri"},ResponseContentType:{location:"uri"},ResponseExpires:{type:"timestamp",location:"uri"},VersionId:{location:"uri"}}},output:{type:"structure",members:{Size:{type:"integer",location:"header",name:"Content-Length"},ETag:{location:"header",name:"ETag"},LastModified:{type:"timestamp",location:"header",name:"Last-Modified"}}}},getObjectTorrent:{name:"GetObjectTorrent",http:{method:"GET",uri:"/{Bucket}/{Key}?torrent"},input:{type:"structure",members:{Bucket:{required:true,location:"uri"},Key:{required:true,location:"uri"}}},output:{type:"structure",members:{Body:{type:"binary",streaming:true}},payload:"Body"}},headBucket:{name:"HeadBucket",http:{method:"HEAD",uri:"/{Bucket}"},input:{type:"structure",members:{Bucket:{required:true,location:"uri"}}},output:{type:"structure",members:{}}},headObject:{name:"HeadObject",http:{method:"HEAD",uri:"/{Bucket}/{Key}?versionId={VersionId}"},input:{type:"structure",members:{Bucket:{required:true,location:"uri"},IfMatch:{location:"header",name:"If-Match"},IfModifiedSince:{type:"timestamp",location:"header",name:"If-Modified-Since"},IfNoneMatch:{location:"header",name:"If-None-Match"},IfUnmodifiedSince:{type:"timestamp",location:"header",name:"If-Unmodified-Since"},Key:{required:true,location:"uri"},Range:{location:"header",name:"Range"},VersionId:{location:"uri"}}},output:{type:"structure",members:{AcceptRanges:{location:"header",name:"accept-ranges"},CacheControl:{location:"header",name:"Cache-Control"},ContentDisposition:{location:"header",name:"Content-Disposition"},ContentEncoding:{location:"header",name:"Content-Encoding"},ContentLanguage:{location:"header",name:"Content-Language"},ContentLength:{type:"integer",location:"header",name:"Content-Length"},ContentType:{location:"header",name:"Content-Type"},DeleteMarker:{type:"boolean",location:"header",name:"x-oss-delete-marker"},ETag:{location:"header",name:"ETag"},Expiration:{location:"header",name:"x-oss-expiration"},Expires:{type:"timestamp",location:"header",name:"Expires"},LastModified:{type:"timestamp",location:"header",name:"Last-Modified"},Metadata:{type:"map",location:"header",name:"x-oss-meta-",members:{},keys:{}},MissingMeta:{type:"integer",location:"header",name:"x-oss-missing-meta"},Restore:{location:"header",name:"x-oss-restore"},ServerSideEncryption:{location:"header",name:"x-oss-server-side-encryption"},VersionId:{location:"header",name:"x-oss-version-id"},WebsiteRedirectLocation:{location:"header",name:"x-oss-website-redirect-location"}}}},listBuckets:{name:"ListBuckets",alias:"GetService",http:{method:"GET",uri:"/?marker={Marker}&max-keys={MaxKeys}"},input:{type:"structure",members:{Marker:{location:"uri"},MaxKeys:{location:"uri",type:"integer"}}},output:{type:"structure",members:{Buckets:{type:"list",members:{type:"structure",name:"Bucket",members:{CreationDate:{type:"timestamp"},Name:{}}}},Owner:{type:"structure",members:{DisplayName:{},ID:{}}}}}},listMultipartUploads:{name:"ListMultipartUploads",http:{method:"GET",uri:"/{Bucket}?uploads&prefix={Prefix}&delimiter={Delimiter}&max-uploads={MaxUploads}&key-marker={KeyMarker}&upload-id-marker={UploadIdMarker}&encoding-type={EncodingType}"},input:{type:"structure",members:{Bucket:{required:true,location:"uri"},Delimiter:{location:"uri"},EncodingType:{location:"uri"},KeyMarker:{location:"uri"},MaxUploads:{type:"integer",location:"uri"},Prefix:{location:"uri"},UploadIdMarker:{location:"uri"}}},output:{type:"structure",members:{Bucket:{},CommonPrefixes:{type:"list",members:{type:"structure",members:{Prefix:{}}},flattened:true},EncodingType:{location:"header",name:"Encoding-Type"},IsTruncated:{type:"boolean"},KeyMarker:{},MaxUploads:{type:"integer"},NextKeyMarker:{},NextUploadIdMarker:{},Prefix:{},UploadIdMarker:{},Upload:{type:"list",name:"Uploads",members:{type:"structure",members:{Initiated:{type:"timestamp"},Initiator:{type:"structure",members:{DisplayName:{},ID:{}}},Key:{},Owner:{type:"structure",members:{DisplayName:{},ID:{}}},StorageClass:{},UploadId:{}}},flattened:true}}}},listObjectVersions:{name:"ListObjectVersions",alias:"GetBucketObjectVersions",http:{method:"GET",uri:"/{Bucket}?versions&delimiter={Delimiter}&key-marker={KeyMarker}&max-keys={MaxKeys}&prefix={Prefix}&version-id-marker={VersionIdMarker}&encoding-type={EncodingType}"},input:{type:"structure",members:{Bucket:{required:true,location:"uri"},Delimiter:{location:"uri"},EncodingType:{location:"uri"},KeyMarker:{location:"uri"},MaxKeys:{type:"integer",location:"uri"},Prefix:{location:"uri"},VersionIdMarker:{location:"uri"}}},output:{type:"structure",members:{CommonPrefixes:{type:"list",members:{type:"structure",members:{Prefix:{}}},flattened:true},DeleteMarker:{type:"list",name:"DeleteMarkers",members:{type:"structure",members:{IsLatest:{type:"boolean"},Key:{},LastModified:{type:"timestamp"},Owner:{type:"structure",members:{DisplayName:{},ID:{}}},VersionId:{}}},flattened:true},EncodingType:{location:"header",name:"Encoding-Type"},IsTruncated:{type:"boolean"},KeyMarker:{},MaxKeys:{type:"integer"},Name:{},NextKeyMarker:{},NextVersionIdMarker:{},Prefix:{},VersionIdMarker:{},Version:{type:"list",name:"Versions",members:{type:"structure",members:{ETag:{},IsLatest:{type:"boolean"},Key:{},LastModified:{type:"timestamp"},Owner:{type:"structure",members:{DisplayName:{},ID:{}}},Size:{},StorageClass:{},VersionId:{}}},flattened:true}}}},listObjects:{name:"ListObjects",alias:"GetBucket",http:{method:"GET",uri:"/{Bucket}?delimiter={Delimiter}&marker={Marker}&max-keys={MaxKeys}&prefix={Prefix}&encoding-type={EncodingType}"},input:{type:"structure",members:{Bucket:{required:true,location:"uri"},Delimiter:{location:"uri"},EncodingType:{location:"uri"},Marker:{location:"uri"},MaxKeys:{type:"integer",location:"uri"},Prefix:{location:"uri"}}},output:{type:"structure",members:{CommonPrefixes:{type:"list",members:{type:"structure",members:{Prefix:{}}},flattened:true},Contents:{type:"list",members:{type:"structure",members:{ETag:{},Key:{},LastModified:{type:"timestamp"},Owner:{type:"structure",members:{DisplayName:{},ID:{}}},Size:{type:"integer"},StorageClass:{}}},flattened:true},EncodingType:{location:"header",name:"Encoding-Type"},IsTruncated:{type:"boolean"},Marker:{},MaxKeys:{type:"integer"},Name:{},NextMarker:{},Prefix:{}}}},listParts:{name:"ListParts",http:{method:"GET",uri:"/{Bucket}/{Key}?uploadId={UploadId}&max-parts={MaxParts}&part-number-marker={PartNumberMarker}"},input:{type:"structure",members:{Bucket:{required:true,location:"uri"},Key:{required:true,location:"uri"},MaxParts:{type:"integer",location:"uri"},PartNumberMarker:{type:"integer",location:"uri"},UploadId:{required:true,location:"uri"}}},output:{type:"structure",members:{Bucket:{},Initiator:{type:"structure",members:{DisplayName:{},ID:{}}},IsTruncated:{type:"boolean"},Key:{},MaxParts:{type:"integer"},NextPartNumberMarker:{type:"integer"},Owner:{type:"structure",members:{DisplayName:{},ID:{}}},PartNumberMarker:{type:"integer"},Part:{type:"list",name:"Parts",members:{type:"structure",members:{ETag:{},LastModified:{type:"timestamp"},PartNumber:{type:"integer"},Size:{type:"integer"}}},flattened:true},StorageClass:{},UploadId:{}}}},putBucketAcl:{name:"PutBucketAcl",http:{method:"PUT",uri:"/{Bucket}?acl"},input:{payload:"AccessControlPolicy",type:"structure",members:{ACL:{location:"header",name:"x-oss-acl"},AccessControlPolicy:{type:"structure",members:{Grants:{type:"list",name:"AccessControlList",members:{type:"structure",name:"Grant",members:{Grantee:{type:"structure",xmlns:{uri:"http://www.w3.org/2001/XMLSchema-instance",prefix:"xsi"},members:{DisplayName:{},EmailAddress:{},ID:{},Type:{required:true,name:"xsi:type",attribute:true},URI:{}}},Permission:{}}}},Owner:{type:"structure",members:{DisplayName:{},ID:{}}}}},Bucket:{required:true,location:"uri"},ContentMD5:{location:"header",name:"Content-MD5"},GrantFullControl:{location:"header",name:"x-oss-grant-full-control"},GrantRead:{location:"header",name:"x-oss-grant-read"},GrantReadACP:{location:"header",name:"x-oss-grant-read-acp"},GrantWrite:{location:"header",name:"x-oss-grant-write"},GrantWriteACP:{location:"header",name:"x-oss-grant-write-acp"}}},output:{type:"structure",members:{}}},putBucketCors:{name:"PutBucketCors",http:{method:"PUT",uri:"/{Bucket}?cors"},input:{payload:"CORSConfiguration",type:"structure",members:{Bucket:{required:true,location:"uri"},CORSConfiguration:{type:"structure",members:{CORSRules:{type:"list",name:"CORSRule",members:{type:"structure",members:{AllowedHeaders:{type:"list",name:"AllowedHeader",members:{},flattened:true},AllowedMethods:{type:"list",name:"AllowedMethod",members:{},flattened:true},AllowedOrigins:{type:"list",name:"AllowedOrigin",members:{},flattened:true},ExposeHeaders:{type:"list",name:"ExposeHeader",members:{},flattened:true},MaxAgeSeconds:{type:"integer"}}},flattened:true}}},ContentMD5:{location:"header",name:"Content-MD5"}}},output:{type:"structure",members:{}}},putBucketLifecycle:{name:"PutBucketLifecycle",http:{method:"PUT",uri:"/{Bucket}?lifecycle"},input:{payload:"LifecycleConfiguration",type:"structure",members:{Bucket:{required:true,location:"uri"},ContentMD5:{location:"header",name:"Content-MD5"},LifecycleConfiguration:{type:"structure",members:{Rules:{type:"list",required:true,name:"Rule",members:{type:"structure",members:{Expiration:{type:"structure",members:{Date:{type:"timestamp",format:"iso8601"},Days:{type:"integer"}}},ID:{},Prefix:{required:true},Status:{required:true},Transition:{type:"structure",members:{Date:{type:"timestamp",format:"iso8601"},Days:{type:"integer"},StorageClass:{}}}}},flattened:true}}}}},output:{type:"structure",members:{}}},putBucketLogging:{name:"PutBucketLogging",http:{method:"PUT",uri:"/{Bucket}?logging"},input:{payload:"BucketLoggingStatus",type:"structure",members:{Bucket:{required:true,location:"uri"},BucketLoggingStatus:{type:"structure",required:true,members:{LoggingEnabled:{type:"structure",members:{TargetBucket:{},TargetGrants:{type:"list",members:{type:"structure",name:"Grant",members:{Grantee:{type:"structure",xmlns:{uri:"http://www.w3.org/2001/XMLSchema-instance",prefix:"xsi"},members:{DisplayName:{},EmailAddress:{},ID:{},Type:{required:true,name:"xsi:type",attribute:true},URI:{}}},Permission:{}}}},TargetPrefix:{}}}}},ContentMD5:{location:"header",name:"Content-MD5"}}},output:{type:"structure",members:{}}},putBucketNotification:{name:"PutBucketNotification",http:{method:"PUT",uri:"/{Bucket}?notification"},input:{payload:"NotificationConfiguration",type:"structure",members:{Bucket:{required:true,location:"uri"},ContentMD5:{location:"header",name:"Content-MD5"},NotificationConfiguration:{type:"structure",required:true,members:{TopicConfiguration:{type:"structure",required:true,members:{Event:{},Topic:{}}}}}}},output:{type:"structure",members:{}}},putBucketPolicy:{name:"PutBucketPolicy",http:{method:"PUT",uri:"/{Bucket}?policy"},input:{payload:"Policy",type:"structure",members:{Bucket:{required:true,location:"uri"},ContentMD5:{location:"header",name:"Content-MD5"},Policy:{required:true}}},output:{type:"structure",members:{}}},putBucketRequestPayment:{name:"PutBucketRequestPayment",http:{method:"PUT",uri:"/{Bucket}?requestPayment"},input:{payload:"RequestPaymentConfiguration",type:"structure",members:{Bucket:{required:true,location:"uri"},ContentMD5:{location:"header",name:"Content-MD5"},RequestPaymentConfiguration:{type:"structure",required:true,members:{Payer:{required:true}}}}},output:{type:"structure",members:{}}},putBucketTagging:{name:"PutBucketTagging",http:{method:"PUT",uri:"/{Bucket}?tagging"},input:{payload:"Tagging",type:"structure",members:{Bucket:{required:true,location:"uri"},ContentMD5:{location:"header",name:"Content-MD5"},Tagging:{type:"structure",required:true,members:{TagSet:{type:"list",required:true,members:{type:"structure",required:true,name:"Tag",members:{Key:{required:true},Value:{required:true}}}}}}}},output:{type:"structure",members:{}}},putBucketVersioning:{name:"PutBucketVersioning",http:{method:"PUT",uri:"/{Bucket}?versioning"},input:{payload:"VersioningConfiguration",type:"structure",members:{Bucket:{required:true,location:"uri"},ContentMD5:{location:"header",name:"Content-MD5"},MFA:{location:"header",name:"x-oss-mfa"},VersioningConfiguration:{type:"structure",required:true,members:{MFADelete:{},Status:{}}}}},output:{type:"structure",members:{}}},putBucketWebsite:{name:"PutBucketWebsite",http:{method:"PUT",uri:"/{Bucket}?website"},input:{payload:"WebsiteConfiguration",type:"structure",members:{Bucket:{required:true,location:"uri"},ContentMD5:{location:"header",name:"Content-MD5"},WebsiteConfiguration:{type:"structure",required:true,members:{ErrorDocument:{type:"structure",members:{Key:{required:true}}},IndexDocument:{type:"structure",members:{Suffix:{required:true}}},RedirectAllRequestsTo:{type:"structure",members:{HostName:{required:true},Protocol:{}}},RoutingRules:{type:"list",members:{type:"structure",name:"RoutingRule",members:{Condition:{type:"structure",members:{HttpErrorCodeReturnedEquals:{},KeyPrefixEquals:{}}},Redirect:{type:"structure",required:true,members:{HostName:{},HttpRedirectCode:{},Protocol:{},ReplaceKeyPrefixWith:{},ReplaceKeyWith:{}}}}}}}}}},output:{type:"structure",members:{}}},putObject:{name:"PutObject",http:{method:"PUT",uri:"/{Bucket}/{Key}"},input:{payload:"Body",type:"structure",members:{ACL:{location:"header",name:"x-oss-object-acl"},AccessControlAllowOrigin:{location:"header",name:"Access-Control-Allow-Origin"},Body:{type:"binary",streaming:true},Bucket:{required:true,location:"uri"},CacheControl:{location:"header",name:"Cache-Control"},ContentDisposition:{location:"header",name:"Content-Disposition"},ContentEncoding:{location:"header",name:"Content-Encoding"},ContentLanguage:{location:"header",name:"Content-Language"},ContentLength:{type:"integer",location:"header",name:"Content-Length"},ContentMD5:{location:"header",name:"Content-MD5"},ContentType:{location:"header",name:"Content-Type"},Expires:{type:"timestamp",location:"header",name:"Expires"},GrantFullControl:{location:"header",name:"x-oss-grant-full-control"},GrantRead:{location:"header",name:"x-oss-grant-read"},GrantReadACP:{location:"header",name:"x-oss-grant-read-acp"},GrantWriteACP:{location:"header",name:"x-oss-grant-write-acp"},Key:{required:true,location:"uri"},Metadata:{type:"map",location:"header",name:"x-oss-meta-",members:{},keys:{}},ServerSideEncryption:{location:"header",name:"x-oss-server-side-encryption"},StorageClass:{location:"header",name:"x-oss-storage-class"},WebsiteRedirectLocation:{location:"header",name:"x-oss-website-redirect-location"}}},output:{type:"structure",members:{ETag:{location:"header",name:"ETag"},Expiration:{type:"timestamp",location:"header",name:"x-oss-expiration"},ServerSideEncryption:{location:"header",name:"x-oss-server-side-encryption"},VersionId:{location:"header",name:"x-oss-version-id"}}}},putObjectAcl:{name:"PutObjectAcl",http:{method:"PUT",uri:"/{Bucket}/{Key}?acl"},input:{payload:"AccessControlPolicy",type:"structure",members:{ACL:{location:"header",name:"x-oss-object-acl"},AccessControlPolicy:{type:"structure",members:{Grants:{type:"list",name:"AccessControlList",members:{type:"structure",name:"Grant",members:{Grantee:{type:"structure",xmlns:{uri:"http://www.w3.org/2001/XMLSchema-instance",prefix:"xsi"},members:{DisplayName:{},EmailAddress:{},ID:{},Type:{required:true,name:"xsi:type",attribute:true},URI:{}}},Permission:{}}}},Owner:{type:"structure",members:{DisplayName:{},ID:{}}}}},Bucket:{required:true,location:"uri"},ContentMD5:{location:"header",name:"Content-MD5"},GrantFullControl:{location:"header",name:"x-oss-grant-full-control"},GrantRead:{location:"header",name:"x-oss-grant-read"},GrantReadACP:{location:"header",name:"x-oss-grant-read-acp"},GrantWrite:{location:"header",name:"x-oss-grant-write"},GrantWriteACP:{location:"header",name:"x-oss-grant-write-acp"},Key:{required:true,location:"uri"}}},output:{type:"structure",members:{}}},restoreObject:{name:"RestoreObject",alias:"PostObjectRestore",http:{method:"POST",uri:"/{Bucket}/{Key}?restore"},input:{payload:"RestoreRequest",type:"structure",members:{Bucket:{required:true,location:"uri"},Key:{required:true,location:"uri"},RestoreRequest:{type:"structure",members:{Days:{type:"integer",required:true}}}}},output:{type:"structure",members:{}}},uploadPart:{name:"UploadPart",http:{method:"PUT",uri:"/{Bucket}/{Key}?partNumber={PartNumber}&uploadId={UploadId}"},input:{payload:"Body",type:"structure",members:{Body:{type:"binary",streaming:true},Bucket:{required:true,location:"uri"},ContentLength:{type:"integer",location:"header",name:"Content-Length"},ContentMD5:{location:"header",name:"Content-MD5"},Key:{required:true,location:"uri"},PartNumber:{type:"integer",required:true,location:"uri"},UploadId:{required:true,location:"uri"}}},output:{type:"structure",members:{ETag:{location:"header",name:"ETag"},ServerSideEncryption:{location:"header",name:"x-oss-server-side-encryption"}}}},uploadPartCopy:{name:"UploadPartCopy",http:{method:"PUT",uri:"/{Bucket}/{Key}?partNumber={PartNumber}&uploadId={UploadId}"},input:{type:"structure",members:{Bucket:{required:true,location:"uri"},CopySource:{required:true,location:"header",name:"x-oss-copy-source"},CopySourceIfMatch:{type:"timestamp",location:"header",name:"x-oss-copy-source-if-match"},CopySourceIfModifiedSince:{type:"timestamp",location:"header",name:"x-oss-copy-source-if-modified-since"},CopySourceIfNoneMatch:{type:"timestamp",location:"header",name:"x-oss-copy-source-if-none-match"},CopySourceIfUnmodifiedSince:{type:"timestamp",location:"header",name:"x-oss-copy-source-if-unmodified-since"},CopySourceRange:{location:"header",name:"x-oss-copy-source-range"},Key:{required:true,location:"uri"},PartNumber:{type:"integer",required:true,location:"uri"},UploadId:{required:true,location:"uri"}}},output:{type:"structure",members:{CopySourceVersionId:{location:"header",name:"x-oss-copy-source-version-id"},ServerSideEncryption:{location:"header",name:"x-oss-server-side-encryption"},ETag:{},LastModified:{type:"timestamp"}}}},appendObject:{name:"AppendObject",http:{method:"POST",uri:"/{Key}?append&position={Position}"},input:{payload:"Body",type:"structure",members:{Body:{type:"binary",streaming:true},Bucket:{required:true,location:"uri"},CacheControl:{location:"header",name:"Cache-Control"},ContentDisposition:{location:"header",name:"Content-Disposition"},ContentEncoding:{location:"header",name:"Content-Encoding"},ContentLanguage:{location:"header",name:"Content-Language"},ContentLength:{type:"integer",location:"header",name:"Content-Length"},ContentMD5:{location:"header",name:"Content-MD5"},ContentType:{location:"header",name:"Content-Type"},Expires:{type:"timestamp",location:"header",name:"Expires"},GrantFullControl:{location:"header",name:"x-oss-grant-full-control"},GrantRead:{location:"header",name:"x-oss-grant-read"},GrantReadACP:{location:"header",name:"x-oss-grant-read-acp"},GrantWriteACP:{location:"header",name:"x-oss-grant-write-acp"},Key:{required:true,location:"uri"},Metadata:{type:"map",location:"header",name:"x-oss-meta-",members:{},keys:{}},Position:{required:true,location:"uri",type:"integer"},ServerSideEncryption:{location:"header",name:"x-oss-server-side-encryption"},StorageClass:{location:"header",name:"x-oss-storage-class"},WebsiteRedirectLocation:{location:"header",name:"x-oss-website-redirect-location"}}},output:{type:"structure",members:{NextAppendPosition:{location:"header",name:"x-oss-next-append-position"},HashCrc64Ecma:{location:"header",name:"x-oss-hash-crc64ecma"}}}}},pagination:{listMultipartUploads:{limitKey:"MaxUploads",moreResults:"IsTruncated",outputToken:["NextKeyMarker","NextUploadIdMarker"],inputToken:["KeyMarker","UploadIdMarker"],resultKey:"Uploads"},listObjectVersions:{moreResults:"IsTruncated",limitKey:"MaxKeys",outputToken:["NextKeyMarker","NextVersionIdMarker"],inputToken:["KeyMarker","VersionIdMarker"],resultKey:"Versions"},listObjects:{moreResults:"IsTruncated",limitKey:"MaxKeys",outputToken:"NextMarker or Contents[-1].Key",inputToken:"Marker",resultKey:["Contents","CommonPrefixes"]},listParts:{limitKey:"IsTruncated",outputToken:"NextPartNumberMarker",inputToken:"PartNumberMarker",resultKey:"Parts"}}}},{}]},{},[3]);