aliyun-sdk
Version:
Aliyun SDK for JavaScript
1 lines • 418 kB
JavaScript
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