From 715bdccdd3fa4132bb110897d64685f0e5e08e46 Mon Sep 17 00:00:00 2001 From: Ma Bingyao Date: Sat, 19 Nov 2016 13:33:53 +0800 Subject: [PATCH] Improved thunk & promisify --- bower.json | 2 +- dist/hprose-html5.js | 8 ++--- dist/hprose-html5.min.js | 2 +- dist/hprose-html5.src.js | 63 ++++++++++++++++++---------------------- package.json | 2 +- src/CopyRight.js | 2 +- src/Future.js | 61 ++++++++++++++++++-------------------- 7 files changed, 65 insertions(+), 75 deletions(-) diff --git a/bower.json b/bower.json index 07fb35c..79e1ca1 100644 --- a/bower.json +++ b/bower.json @@ -1,7 +1,7 @@ { "author": "Ma Bingyao ", "name": "hprose-html5", - "version": "2.0.27", + "version": "2.0.28", "description": "Hprose is a High Performance Remote Object Service Engine.", "keywords": [ "hprose", diff --git a/dist/hprose-html5.js b/dist/hprose-html5.js index 2e841d6..7994174 100644 --- a/dist/hprose-html5.js +++ b/dist/hprose-html5.js @@ -1,9 +1,9 @@ -// Hprose for HTML5 v2.0.27 +// Hprose for HTML5 v2.0.28 // Copyright (c) 2008-2016 http://hprose.com // Hprose is freely distributable under the MIT license. // For all details and documentation: // https://github.com/hprose/hprose-html5 -var hprose=Object.create(null);hprose.global="object"==typeof global?global:"object"==typeof window?window:"object"==typeof self?self:this,function(e,t){"use strict";function r(e){if("function"!=typeof e)throw new TypeError(e+" is not a function");return function(t){return e.apply(t,Array.prototype.slice.call(arguments,1))}}function n(e){for(var t=e.length,r=new Array(t),n=0;n>15,i=new Array(r?n+1:n),o=0;o=0?n=i:(n=r+i,n<0&&(n=0));for(var o;n>>0,o=arguments[1],a=0;a>>0,o=arguments[1],a=0;a>>0,i=arguments[1],o=i>>0,a=o<0?Math.max(n+o,0):Math.min(o,n),u=arguments[2],s=u===t?n:u>>0,c=s<0?Math.max(n+s,0):Math.min(s,n);a>>0,o=e>>0,a=o<0?Math.max(i+o,0):Math.min(o,i),u=r>>0,s=u<0?Math.max(i+u,0):Math.min(u,i),c=arguments[2],f=c===t?i:c>>0,l=f<0?Math.max(i+f,0):Math.min(f,i),h=Math.min(l-s,i-a),v=1;for(s0;)s in n?n[a]=n[s]:delete n[a],s+=v,a+=v,h--;return n}}),Array.from||Object.defineProperty(Array,"from",{value:function(){var e=Object.prototype.toString,r=function(t){return"function"==typeof t||"[object Function]"===e.call(t)},n=function(e){var t=Number(e);return isNaN(t)?0:0!==t&&isFinite(t)?(t>0?1:-1)*Math.floor(Math.abs(t)):t},i=Math.pow(2,53)-1,o=function(e){var t=n(e);return Math.min(Math.max(t,0),i)};return function(e){var n=this,i=Object(e);if(null===e||e===t)throw new TypeError("Array.from requires an array-like object - not null or undefined");var a,u=arguments.length>1?arguments[1]:void t;if("undefined"!=typeof u){if(!r(u))throw new TypeError("Array.from: when provided, the second argument must be a function");arguments.length>2&&(a=arguments[2])}for(var s,c=o(i.length),f=r(n)?Object(new n(c)):new Array(c),l=0;lr.length)&&(t=r.length),t-=e.length;var n=r.indexOf(e,t);return n!==-1&&n===t}}),String.prototype.includes||Object.defineProperty(String.prototype,"includes",{value:function(){return"number"==typeof arguments[1]?!(this.length=1<<28)throw new RangeError("repeat count must not overflow maximum string size");for(var r="";1===(1&e)&&(r+=t),e>>>=1,0!==e;)t+=t;return r}}),String.prototype.trim||Object.defineProperty(String.prototype,"trim",{value:function(){return this.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")}}),String.prototype.trimLeft||Object.defineProperty(String.prototype,"trimLeft",{value:function(){return this.toString().replace(/^[\s\xa0]+/,"")}}),String.prototype.trimRight||Object.defineProperty(String.prototype,"trimRight",{value:function(){return this.toString().replace(/[\s\xa0]+$/,"")}}),Object.keys||Object.defineProperty(Object,"keys",{value:function(){var e=Object.prototype.hasOwnProperty,t=!{toString:null}.propertyIsEnumerable("toString"),r=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],n=r.length;return function(i){if("object"!=typeof i&&"function"!=typeof i||null===i)throw new TypeError("Object.keys called on non-object");var o=[];for(var a in i)e.call(i,a)&&o.push(a);if(t)for(var u=0;u0&&Array.isArray(arguments[0]))for(var s=arguments[0],c=0,f=s.length;c0&&Array.isArray(arguments[0]))for(var o=arguments[0],a=0,f=o.length;a0&&Array.isArray(arguments[0]))for(var o=arguments[0],a=0,u=o.length;a0;)i(e.shift())});return r.observe(t,{characterData:!0}),function(){var r=o(arguments);return e.push(r),t.data=1&r,r}},s.messageChannel=function(){var t=new e.MessageChannel;return t.port1.onmessage=function(e){i(Number(e.data))},function(){var e=o(arguments);return t.port2.postMessage(e),e}},s.nextTick=function(){return function(){var t=o(arguments);return e.process.nextTick(r(i,t)),t}},s.postMessage=function(){var e=a.createElement("iframe");e.style.display="none",a.documentElement.appendChild(e);var t=e.contentWindow;t.document.write(''),t.document.close();var r=[];return window.addEventListener("message",function(){for(;r.length>0;)i(r.shift())}),function(){var e=o(arguments);return r.push(e),t.postMessage(1,"*"),e}},s.readyStateChange=function(){var e=a.documentElement;return function(){var t=o(arguments),r=a.createElement("script");return r.onreadystatechange=function(){i(t),r.onreadystatechange=null,e.removeChild(r),r=null},e.appendChild(r),t}};var l=Object.getPrototypeOf&&Object.getPrototypeOf(e);l=l&&l.setTimeout?l:e,s.setTimeout=function(){return function(){var e=o(arguments);return l.setTimeout(r(i,e),0),e}},"undefined"==typeof e.process||"[object process]"!==Object.prototype.toString.call(e.process)||e.process.browser?a&&"onreadystatechange"in a.createElement("script")?l.setImmediate=s.readyStateChange():a&&u?l.setImmediate=s.mutationObserver():e.MessageChannel?l.setImmediate=s.messageChannel():a&&"postMessage"in e&&"addEventListener"in e?l.setImmediate=s.postMessage():l.setImmediate=s.setTimeout():l.setImmediate=s.nextTick(),l.clearImmediate=n}}(hprose.global),function(e,t,r){"use strict";function n(e){Object.defineProperties(this,{_subscribers:{value:[]},resolve:{value:this.resolve.bind(this)},reject:{value:this.reject.bind(this)}});var t=this;"function"==typeof e&&J(function(){try{t.resolve(e())}catch(e){t.reject(e)}})}function i(e){return e instanceof n}function o(e){return"function"==typeof e.then}function a(e,t){var r="function"==typeof t?t:function(){return t},i=new n;return $(function(){try{i.resolve(r())}catch(e){i.reject(e)}},e),i}function u(e){var t=new n;return t.reject(e),t}function s(e){var t=new n;return t.resolve(e),t}function c(e){try{var t=e();return s(t)}catch(e){return u(e)}}function f(e){var t=new n;return e(t.resolve,t.reject),t}function l(e){var t=0;return Array.forEach(e,function(){++t}),t}function h(e){return e=o(e)?e:s(e),e.then(function(e){var t=e.length,r=l(e),i=new Array(t);if(0===r)return s(i);var o=new n;return Array.forEach(e,function(e,t){O(e).then(function(e){i[t]=e,0===--r&&o.resolve(i)},o.reject)}),o})}function v(){return h(arguments)}function p(e){return e=o(e)?e:s(e),e.then(function(e){var t=new n;return Array.forEach(e,function(e){O(e).fill(t)}),t})}function g(e){return e=o(e)?e:s(e),e.then(function(e){var t=e.length,r=l(e);if(0===r)throw new RangeError("any(): array must not be empty");var i=new Array(t),o=new n;return Array.forEach(e,function(e,t){O(e).then(o.resolve,function(e){i[t]=e,0===--r&&o.reject(i)})}),o})}function y(e){return e=o(e)?e:s(e),e.then(function(e){var t=e.length,r=l(e),i=new Array(t);if(0===r)return s(i);var o=new n;return Array.forEach(e,function(e,t){var n=O(e);n.whenComplete(function(){i[t]=n.inspect(),0===--r&&o.resolve(i)})}),o})}function d(e){var t=function(){return this}(),r=Array.slice(arguments,1);return h(r).then(function(r){return e.apply(t,r)})}function w(e,t){var r=Array.slice(arguments,2);return h(r).then(function(r){return e.apply(t,r)})}function m(e){return!!e&&("function"==typeof e.next&&"function"==typeof e.throw)}function b(e){if(!e)return!1;var t=e.constructor;return!!t&&("GeneratorFunction"===t.name||"GeneratorFunction"===t.displayName||m(t.prototype))}function T(e){if(b(e)||m(e))return S(e);var t=function(){return this}(),r=new n;return e.call(t,function(e,t){return arguments.length<2?e instanceof Error?r.reject(e):r.resolve(e):e?r.reject(e):(arguments.length>2&&(t=Array.slice(arguments,1)),void r.resolve(t))}),r}function _(e){return function(){var t=Array.slice(arguments,0),r=this,i=new n;t.push(function(){r=this,i.resolve(arguments)});try{e.apply(this,t)}catch(e){i.resolve([e])}return function(e){i.then(function(t){e.apply(r,t)})}}}function j(e){return function(){var t=Array.slice(arguments,0),r=new n;t.push(function(e,t){return arguments.length<2?e instanceof Error?r.reject(e):r.resolve(e):e?r.reject(e):(arguments.length>2&&(t=Array.slice(arguments,1)),void r.resolve(t))});try{e.apply(this,t)}catch(e){r.reject(e)}return r}}function O(e){return e?o(e)?e:b(e)||m(e)?S(e):s(e):s(e)}function S(e){function t(t){try{i(e.next(t))}catch(e){u.reject(e)}}function r(t){try{i(e.throw(t))}catch(e){return u.reject(e)}}function i(e){e.done?u.resolve(e.value):("function"==typeof e.value?T(e.value):O(e.value)).then(t,r)}var o=function(){return this}();if("function"==typeof e){var a=Array.slice(arguments,1);e=e.apply(o,a)}var u=new n;return e&&"function"==typeof e.next?(t(),u):u.resolve(e)}function E(e,t){return function(){return t=t||this,h(arguments).then(function(r){var n=e.apply(t,r);return b(n)||m(n)?S.call(t,n):n})}}function B(e,t,r){return r=r||function(){return this}(),h(e).then(function(e){return e.forEach(t,r)})}function A(e,t,r){return r=r||function(){return this}(),h(e).then(function(e){return e.every(t,r)})}function k(e,t,r){return r=r||function(){return this}(),h(e).then(function(e){return e.some(t,r)})}function C(e,t,r){return r=r||function(){return this}(),h(e).then(function(e){return e.filter(t,r)})}function I(e,t,r){return r=r||function(){return this}(),h(e).then(function(e){return e.map(t,r)})}function x(e,t,r){return arguments.length>2?h(e).then(function(e){return o(r)||(r=s(r)),r.then(function(r){return e.reduce(t,r)})}):h(e).then(function(e){return e.reduce(t)})}function R(e,t,r){return arguments.length>2?h(e).then(function(e){return o(r)||(r=s(r)),r.then(function(r){return e.reduceRight(t,r)})}):h(e).then(function(e){return e.reduceRight(t)})}function P(e,t,r){return h(e).then(function(e){return o(t)||(t=s(t)),t.then(function(t){return e.indexOf(t,r)})})}function M(e,t,n){return h(e).then(function(e){return o(t)||(t=s(t)),t.then(function(t){return n===r&&(n=e.length-1),e.lastIndexOf(t,n)})})}function U(e,t,r){return h(e).then(function(e){return o(t)||(t=s(t)),t.then(function(t){return e.includes(t,r)})})}function L(e,t,r){return r=r||function(){return this}(),h(e).then(function(e){return e.find(t,r)})}function N(e,t,r){return r=r||function(){return this}(),h(e).then(function(e){return e.findIndex(t,r)})}function F(e,t,r){J(function(){try{var n=e(r);t.resolve(n)}catch(e){t.reject(e)}})}function W(e,t,r){e?F(e,t,r):t.resolve(r)}function D(e,t,r){e?F(e,t,r):t.reject(r)}function z(){var e=new n;Object.defineProperties(this,{future:{value:e},complete:{value:e.resolve},completeError:{value:e.reject},isCompleted:{get:function(){return e._state!==H}}})}function q(e){n.call(this),e(this.resolve,this.reject)}var H=0,G=1,Q=2,Y="Promise"in t,J=t.setImmediate,$=t.setTimeout,K=t.clearTimeout,V=t.TimeoutError;Object.defineProperties(n,{delayed:{value:a},error:{value:u},sync:{value:c},value:{value:s},all:{value:h},race:{value:p},resolve:{value:s},reject:{value:u},promise:{value:f},isFuture:{value:i},isPromise:{value:o},toPromise:{value:O},join:{value:v},any:{value:g},settle:{value:y},attempt:{value:d},run:{value:w},thunkify:{value:_},promisify:{value:j},co:{value:S},wrap:{value:E},forEach:{value:B},every:{value:A},some:{value:k},filter:{value:C},map:{value:I},reduce:{value:x},reduceRight:{value:R},indexOf:{value:P},lastIndexOf:{value:M},includes:{value:U},find:{value:L},findIndex:{value:N}}),Object.defineProperties(n.prototype,{_value:{writable:!0},_reason:{writable:!0},_state:{value:H,writable:!0},resolve:{value:function(e){if(e===this)return void this.reject(new TypeError("Self resolution"));if(i(e))return void e.fill(this);if(null!==e&&"object"==typeof e||"function"==typeof e){var t;try{t=e.then}catch(e){return void this.reject(e)}if("function"==typeof t){var r=!0;try{var n=this;return void t.call(e,function(e){r&&(r=!1,n.resolve(e))},function(e){r&&(r=!1,n.reject(e))})}catch(e){r&&(r=!1,this.reject(e))}return}}if(this._state===H){this._state=G,this._value=e;for(var o=this._subscribers;o.length>0;){var a=o.shift();W(a.onfulfill,a.next,e)}}}},reject:{value:function(e){if(this._state===H){this._state=Q,this._reason=e;for(var t=this._subscribers;t.length>0;){var r=t.shift();D(r.onreject,r.next,e)}}}},then:{value:function(e,t){"function"!=typeof e&&(e=null),"function"!=typeof t&&(t=null);var r=new n;return this._state===G?W(e,r,this._value):this._state===Q?D(t,r,this._reason):this._subscribers.push({onfulfill:e,onreject:t,next:r}),r}},done:{value:function(e,t){this.then(e,t).then(null,function(e){J(function(){throw e})})}},inspect:{value:function(){switch(this._state){case H:return{state:"pending"};case G:return{state:"fulfilled",value:this._value};case Q:return{state:"rejected",reason:this._reason}}}},catchError:{value:function(e,t){if("function"==typeof t){var r=this;return this.catch(function(n){if(t(n))return r.catch(e);throw n})}return this.catch(e)}},catch:{value:function(e){return this.then(null,e)}},fail:{value:function(e){this.done(null,e)}},whenComplete:{value:function(e){return this.then(function(t){return e(),t},function(t){throw e(),t})}},complete:{value:function(e){return e=e||function(e){return e},this.then(e,e)}},always:{value:function(e){this.done(e,e)}},fill:{value:function(e){this.then(e.resolve,e.reject)}},timeout:{value:function(e,t){var r=new n,i=$(function(){r.reject(t||new V("timeout"))},e);return this.whenComplete(function(){K(i)}).fill(r),r}},delay:{value:function(e){var t=new n;return this.then(function(r){$(function(){t.resolve(r)},e)},t.reject),t}},tap:{value:function(e,t){return this.then(function(r){return e.call(t,r),r})}},spread:{value:function(e,t){return this.then(function(r){return e.apply(t,r)})}},get:{value:function(e){return this.then(function(t){return t[e]})}},set:{value:function(e,t){return this.then(function(r){return r[e]=t,r})}},apply:{value:function(e,t){return t=t||[],this.then(function(r){return h(t).then(function(t){return r[e].apply(r,t)})})}},call:{value:function(e){var t=Array.slice(arguments,1);return this.then(function(r){return h(t).then(function(t){return r[e].apply(r,t)})})}},bind:{value:function(e){var t=Array.slice(arguments);{if(!Array.isArray(e)){t.shift();var r=this;return Object.defineProperty(this,e,{value:function(){var n=Array.slice(arguments);return r.then(function(r){return h(t.concat(n)).then(function(t){return r[e].apply(r,t)})})}}),this}for(var n=0,i=e.length;n1?x(this,e,t):x(this,e)}},reduceRight:{value:function(e,t){return arguments.length>1?R(this,e,t):R(this,e)}},indexOf:{value:function(e,t){return P(this,e,t)}},lastIndexOf:{value:function(e,t){return M(this,e,t)}},includes:{value:function(e,t){return U(this,e,t)}},find:{value:function(e,t){return L(this,e,t)}},findIndex:{value:function(e,t){return N(this,e,t)}}}),e.Future=n,e.thunkify=_,e.promisify=j,e.co=S,e.co.wrap=e.wrap=E,e.Completer=z,e.resolved=s,e.rejected=u,e.deferred=function(){var e=new n;return Object.create(null,{promise:{value:e},resolve:{value:e.resolve},reject:{value:e.reject}})},Y||(q.prototype=Object.create(n.prototype),q.prototype.constructor=n,Object.defineProperties(q,{all:{value:h},race:{value:p},resolve:{value:s},reject:{value:u}}),t.Promise=q)}(hprose,hprose.global),function(e,t){"use strict";function r(e,t,r){return e[t++]=r>>>24&255,e[t++]=r>>>16&255,e[t++]=r>>>8&255,e[t++]=255&r,t}function n(e,t,r){return e[t++]=255&r,e[t++]=r>>>8&255,e[t++]=r>>>16&255,e[t++]=r>>>24&255,t}function i(e,t,r){for(var n=r.length,i=0;i>6,e[t++]=128|63&o;else{if(!(o<55296||o>57343)){if(i+1>18,e[t++]=128|u>>12&63,e[t++]=128|u>>6&63,e[t++]=128|63&u,++i;continue}}throw new Error("Malformed string")}e[t++]=224|o>>12,e[t++]=128|o>>6&63,e[t++]=128|63&o}}return t}function o(e,t){for(var r=new Array(t),n=0,i=0,o=e.length;n>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:r[n]=a;break;case 12:case 13:if(i>10&1023|55296,r[n]=1023&u|56320;break}throw new Error("Character outside valid Unicode range: 0x"+u.toString(16))}throw new Error("Unfinished UTF-8 octet sequence");default:throw new Error("Bad UTF-8 encoding 0x"+a.toString(16))}}return n>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:n[i]=u;break;case 12:case 13:if(o>10&1023|55296,n[i]=1023&s|56320;break}throw new Error("Character outside valid Unicode range: 0x"+s.toString(16))}throw new Error("Unfinished UTF-8 octet sequence");default:throw new Error("Bad UTF-8 encoding 0x"+u.toString(16))}if(i>=32766){var c=i+1;n.length=c,r.push(String.fromCharCode.apply(String,n)),t-=c,i=-1}}return i>0&&(n.length=i,r.push(String.fromCharCode.apply(String,n))),[r.join(""),o]}function u(e,r){return(r===t||null===r||r<0)&&(r=e.length),0===r?["",0]:r<65535?o(e,r):a(e,r)}function s(e,r){if(r===t&&(r=e.length),0===r)return[v,0];for(var n=0,i=0,o=e.length;n>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:break;case 12:case 13:if(i>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,e+1}function f(){var e=arguments;switch(e.length){case 1:switch(e[0].constructor){case Uint8Array:this._bytes=e[0],this._length=e[0].length;break;case f:this._bytes=e[0].toBytes(),this._length=e[0].length;break;case String:this.writeString(e[0]);break;case Number:this._bytes=new Uint8Array(e[0]);break;default:this._bytes=new Uint8Array(e[0]),this._length=this._bytes.length}break;case 2:this._bytes=new Uint8Array(e[0],e[1]),this._length=e[1];break;case 3:this._bytes=new Uint8Array(e[0],e[1],e[2]),this._length=e[2]}this.mark()}function l(e){if(0===e.length)return"";switch(e.constructor){case String:return e;case f:e=e.bytes;case ArrayBuffer:e=new Uint8Array(e);case Uint8Array:return u(e,e.length)[0];default:return String.fromCharCode.apply(String,e)}}var h=e.toBinaryString,v=new Uint8Array(0),p=1024;Object.defineProperties(f.prototype,{_bytes:{value:null,writable:!0},_length:{value:0,writable:!0},_wmark:{value:0,writable:!0},_off:{value:0,writable:!0},_rmark:{value:0,writable:!0},_grow:{value:function(e){var t=this._bytes,r=this._length+e,n=c(r);if(t){if(n*=2,n>t.length){var i=new Uint8Array(n);i.set(t),this._bytes=i}}else n=Math.max(n,p),this._bytes=new Uint8Array(n)}},length:{get:function(){return this._length}},capacity:{get:function(){return this._bytes?this._bytes.length:0}},position:{get:function(){return this._off}},bytes:{get:function(){return null===this._bytes?v:this._bytes.subarray(0,this._length)}},buffer:{get:function(){if(null===this._bytes)return v.buffer;if(this._bytes.buffer.slice)return this._bytes.buffer.slice(0,this._length);var e=new Uint8Array(this._length);return e.set(this._bytes.subarray(0,this._length)),e.buffer}},mark:{value:function(){this._wmark=this._length,this._rmark=this._off}},reset:{value:function(){this._length=this._wmark,this._off=this._rmark}},clear:{value:function(){this._bytes=null,this._length=0,this._wmark=0,this._off=0,this._rmark=0}},writeByte:{value:function(e){this._grow(1),this._bytes[this._length++]=e}},writeInt32BE:{value:function(e){if(e===(0|e)&&e<=2147483647)return this._grow(4),void(this._length=r(this._bytes,this._length,e));throw new TypeError("value is out of bounds")}},writeUInt32BE:{value:function(e){if((2147483647&e)+2147483648===e&&e>=0)return this._grow(4),void(this._length=r(this._bytes,this._length,0|e));throw new TypeError("value is out of bounds")}},writeInt32LE:{value:function(e){if(e===(0|e)&&e<=2147483647)return this._grow(4),void(this._length=n(this._bytes,this._length,e));throw new TypeError("value is out of bounds")}},writeUInt32LE:{value:function(e){if((2147483647&e)+2147483648===e&&e>=0)return this._grow(4),void(this._length=n(this._bytes,this._length,0|e));throw new TypeError("value is out of bounds")}},write:{value:function(e){var t=e.byteLength||e.length;if(0!==t){this._grow(t);var r=this._bytes,n=this._length;switch(e.constructor){case ArrayBuffer:r.set(new Uint8Array(e),n);break;case Uint8Array:r.set(e,n);break;case f:r.set(e.bytes,n);break;default:for(var i=0;ithis._length&&(e=this._length-this._off),0===e?v:this._bytes.subarray(this._off,this._off+=e)}},skip:{value:function(e){return this._off+e>this._length?(e=this._length-this._off,this._off=this._length):this._off+=e,e}},readBytes:{value:function(e){var t,r=Array.indexOf(this._bytes,e,this._off);return r===-1?(t=this._bytes.subarray(this._off,this._length),this._off=this._length):(t=this._bytes.subarray(this._off,r+1),this._off=r+1),t}},readUntil:{value:function(e){var t=Array.indexOf(this._bytes,e,this._off),r="";return t===this._off?this._off++:t===-1?(r=u(this._bytes.subarray(this._off,this._length))[0],this._off=this._length):(r=u(this._bytes.subarray(this._off,t))[0],this._off=t+1),r}},readAsciiString:{value:function(e){return this._off+e>this._length&&(e=this._length-this._off),0===e?"":h(this._bytes.subarray(this._off,this._off+=e))}},readStringAsBytes:{value:function(e){var t=s(this._bytes.subarray(this._off,this._length),e);return this._off+=t[1],t[0]}},readString:{value:function(e){var t=u(this._bytes.subarray(this._off,this._length),e);return this._off+=t[1],t[0]}},takeBytes:{value:function(){var e=this.bytes;return this.clear(),e}},toBytes:{value:function(){return new Uint8Array(this.bytes)}},toString:{value:function(){return u(this.bytes,this._length)[0]}},clone:{value:function(){return new f(this.toBytes())}},trunc:{value:function(){this._bytes=this._bytes.subarray(this._off,this._length), -this._length=this._bytes.length,this._off=0,this._wmark=0,this._rmark=0}}}),Object.defineProperty(f,"toString",{value:l}),e.BytesIO=f}(hprose),function(e){"use strict";e.Tags={TagInteger:105,TagLong:108,TagDouble:100,TagNull:110,TagEmpty:101,TagTrue:116,TagFalse:102,TagNaN:78,TagInfinity:73,TagDate:68,TagTime:84,TagUTC:90,TagBytes:98,TagUTF8Char:117,TagString:115,TagGuid:103,TagList:97,TagMap:109,TagClass:99,TagObject:111,TagRef:114,TagPos:43,TagNeg:45,TagSemicolon:59,TagOpenbrace:123,TagClosebrace:125,TagQuote:34,TagPoint:46,TagFunctions:70,TagCall:67,TagResult:82,TagArgument:65,TagError:69,TagEnd:122}}(hprose),function(e,t){"use strict";function r(e,t){u.set(e,t),a[t]=e}function n(e){return u.get(e)}function i(e){return a[e]}var o=t.WeakMap,a=Object.create(null),u=new o;e.ClassManager=Object.create(null,{register:{value:r},getClassAlias:{value:n},getClass:{value:i}}),e.register=r,r(Object,"Object")}(hprose,hprose.global),function(e,t,r){"use strict";function n(e){var t=e.constructor,r=B.getClassAlias(t);if(r)return r;if(t.name)r=t.name;else{var n=t.toString();if(r=n.substr(0,n.indexOf("(")).replace(/(^\s*function\s*)|(\s*$)/gi,""),""===r||"Object"===r)return"function"==typeof e.getClassName?e.getClassName():"Object"}return"Object"!==r&&B.register(t,r),r}function i(e){Object.defineProperties(this,{_stream:{value:e},_ref:{value:new O,writable:!0}})}function o(e){return new i(e)}function a(e,t){Object.defineProperties(this,{stream:{value:e},_classref:{value:Object.create(null),writable:!0},_fieldsref:{value:[],writable:!0},_refer:{value:t?A:o(e)}})}function u(e,t){var i=e.stream;if(t===r||null===t)return void i.writeByte(E.TagNull);switch(t.constructor){case Function:return void i.writeByte(E.TagNull);case Number:return void s(e,t);case Boolean:return void l(e,t);case String:switch(t.length){case 0:return void i.writeByte(E.TagEmpty);case 1:return i.writeByte(E.TagUTF8Char),void i.writeString(t)}return void e.writeStringWithRef(t);case Date:return void e.writeDateWithRef(t);case O:return void e.writeMapWithRef(t);case ArrayBuffer:case Uint8Array:case S:return void e.writeBytesWithRef(t);case Int8Array:case Int16Array:case Int32Array:case Uint16Array:case Uint32Array:return void w(e,t);case Float32Array:case Float64Array:return void m(e,t);default:if(Array.isArray(t))e.writeListWithRef(t);else{var o=n(t);"Object"===o?e.writeMapWithRef(t):e.writeObjectWithRef(t)}}}function s(e,t){var r=e.stream;t=t.valueOf(),t===(0|t)?0<=t&&t<=9?r.writeByte(t+48):(r.writeByte(E.TagInteger),r.writeAsciiString(""+t),r.writeByte(E.TagSemicolon)):isNaN(t)?r.writeByte(E.TagNaN):isFinite(t)?(r.writeByte(E.TagDouble),r.writeAsciiString(""+t),r.writeByte(E.TagSemicolon)):(r.writeByte(E.TagInfinity),r.writeByte(t>0?E.TagPos:E.TagNeg))}function c(e,t){var r=e.stream;0<=t&&t<=9?r.writeByte(t+48):(t<-2147483648||t>2147483647?r.writeByte(E.TagLong):r.writeByte(E.TagInteger),r.writeAsciiString(""+t),r.writeByte(E.TagSemicolon))}function f(e,t){var r=e.stream;isNaN(t)?r.writeByte(E.TagNaN):isFinite(t)?(r.writeByte(E.TagDouble),r.writeAsciiString(""+t),r.writeByte(E.TagSemicolon)):(r.writeByte(E.TagInfinity),r.writeByte(t>0?E.TagPos:E.TagNeg))}function l(e,t){e.stream.writeByte(t.valueOf()?E.TagTrue:E.TagFalse)}function h(e,t){e._refer.set(t);var r=e.stream,n=("0000"+t.getUTCFullYear()).slice(-4),i=("00"+(t.getUTCMonth()+1)).slice(-2),o=("00"+t.getUTCDate()).slice(-2),a=("00"+t.getUTCHours()).slice(-2),u=("00"+t.getUTCMinutes()).slice(-2),s=("00"+t.getUTCSeconds()).slice(-2),c=("000"+t.getUTCMilliseconds()).slice(-3);r.writeByte(E.TagDate),r.writeAsciiString(n+i+o),r.writeByte(E.TagTime),r.writeAsciiString(a+u+s),"000"!==c&&(r.writeByte(E.TagPoint),r.writeAsciiString(c)),r.writeByte(E.TagUTC)}function v(e,t){e._refer.set(t);var r=e.stream,n=("0000"+t.getFullYear()).slice(-4),i=("00"+(t.getMonth()+1)).slice(-2),o=("00"+t.getDate()).slice(-2),a=("00"+t.getHours()).slice(-2),u=("00"+t.getMinutes()).slice(-2),s=("00"+t.getSeconds()).slice(-2),c=("000"+t.getMilliseconds()).slice(-3);"00"===a&&"00"===u&&"00"===s&&"000"===c?(r.writeByte(E.TagDate),r.writeAsciiString(n+i+o)):"1970"===n&&"01"===i&&"01"===o?(r.writeByte(E.TagTime),r.writeAsciiString(a+u+s),"000"!==c&&(r.writeByte(E.TagPoint),r.writeAsciiString(c))):(r.writeByte(E.TagDate),r.writeAsciiString(n+i+o),r.writeByte(E.TagTime),r.writeAsciiString(a+u+s),"000"!==c&&(r.writeByte(E.TagPoint),r.writeAsciiString(c))),r.writeByte(E.TagSemicolon)}function p(e,t){e._refer.set(t);var r=e.stream,n=("00"+t.getHours()).slice(-2),i=("00"+t.getMinutes()).slice(-2),o=("00"+t.getSeconds()).slice(-2),a=("000"+t.getMilliseconds()).slice(-3);r.writeByte(E.TagTime),r.writeAsciiString(n+i+o),"000"!==a&&(r.writeByte(E.TagPoint),r.writeAsciiString(a)),r.writeByte(E.TagSemicolon)}function g(e,t){e._refer.set(t);var r=e.stream;r.writeByte(E.TagBytes);var n=t.byteLength||t.length;n>0?(r.writeAsciiString(""+n),r.writeByte(E.TagQuote),r.write(t)):r.writeByte(E.TagQuote),r.writeByte(E.TagQuote)}function y(e,t){e._refer.set(t);var r=e.stream,n=t.length;r.writeByte(E.TagString),n>0?(r.writeAsciiString(""+n),r.writeByte(E.TagQuote),r.writeString(t)):r.writeByte(E.TagQuote),r.writeByte(E.TagQuote)}function d(e,t,r){e._refer.set(t);var n=e.stream,i=t.length;if(n.writeByte(E.TagList),i>0){n.writeAsciiString(""+i),n.writeByte(E.TagOpenbrace);for(var o=0;o0){r.writeAsciiString(""+o),r.writeByte(E.TagOpenbrace);for(var a=0;a0?(r.writeAsciiString(""+n),r.writeByte(E.TagOpenbrace),t.forEach(function(t,r){u(e,r),u(e,t)})):r.writeByte(E.TagOpenbrace),r.writeByte(E.TagClosebrace)}function _(e,t){var r,i,o=e.stream,a=n(t);if(a in e._classref)i=e._classref[a],r=e._fieldsref[i];else{r=[];for(var s in t)t.hasOwnProperty(s)&&"function"!=typeof t[s]&&(r[r.length]=s.toString());i=j(e,a,r)}o.writeByte(E.TagObject),o.writeAsciiString(""+i),o.writeByte(E.TagOpenbrace),e._refer.set(t);for(var c=r.length,f=0;f0){n.writeAsciiString(""+i),n.writeByte(E.TagOpenbrace);for(var o=0;o=0;)r[r.length]=n,n=e.indexOf("_",n+1);if(r.length>0){var i=e.split("");if(t=w(i,r,0,"."),null===t&&(t=w(i,r,0,"_")),"function"==typeof t)return re.register(t,e),t}return t=function(){},Object.defineProperty(t.prototype,"getClassName",{value:function(){return e}}),re.register(t,e),t}function b(e,t){var r=e.readUntil(t);return 0===r.length?0:parseInt(r,10)}function T(e){var t=e.stream,r=t.readByte();switch(r){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return r-48;case te.TagInteger:return _(t);case te.TagLong:return O(t);case te.TagDouble:return E(t);case te.TagNull:return null;case te.TagEmpty:return"";case te.TagTrue:return!0;case te.TagFalse:return!1;case te.TagNaN:return NaN;case te.TagInfinity:return A(t);case te.TagDate:return C(e);case te.TagTime:return x(e);case te.TagBytes:return P(e);case te.TagUTF8Char:return U(e);case te.TagString:return N(e);case te.TagGuid:return W(e);case te.TagList:return z(e);case te.TagMap:return e.useHarmonyMap?Q(e):H(e);case te.TagClass:return K(e),$(e);case te.TagObject:return J(e);case te.TagRef:return V(e);case te.TagError:throw new Error(F(e));default:n(r)}}function _(e){return b(e,te.TagSemicolon)}function j(e){var t=e.readByte();switch(t){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return t-48;case te.TagInteger:return _(e);default:n(t)}}function O(e){var t=e.readUntil(te.TagSemicolon),r=parseInt(t,10);return r.toString()===t?r:t}function S(e){var t=e.readByte();switch(t){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return t-48;case te.TagInteger:case te.TagLong:return O(e);default:n(t)}}function E(e){return parseFloat(e.readUntil(te.TagSemicolon))}function B(e){var t=e.readByte();switch(t){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return t-48;case te.TagInteger:case te.TagLong:case te.TagDouble:return E(e);case te.TagNaN:return NaN;case te.TagInfinity:return A(e);default:n(t)}}function A(e){return e.readByte()===te.TagNeg?-(1/0):1/0}function k(e){var t=e.readByte();switch(t){case te.TagTrue:return!0;case te.TagFalse:return!1;default:n(t)}}function C(e){var t,r=e.stream,n=parseInt(r.readAsciiString(4),10),i=parseInt(r.readAsciiString(2),10)-1,o=parseInt(r.readAsciiString(2),10),a=r.readByte();if(a===te.TagTime){var u=parseInt(r.readAsciiString(2),10),s=parseInt(r.readAsciiString(2),10),c=parseInt(r.readAsciiString(2),10),f=0;a=r.readByte(),a===te.TagPoint&&(f=parseInt(r.readAsciiString(3),10),a=r.readByte(),a>=48&&a<=57&&(r.skip(2),a=r.readByte(),a>=48&&a<=57&&(r.skip(2),a=r.readByte()))),t=a===te.TagUTC?new Date(Date.UTC(n,i,o,u,s,c,f)):new Date(n,i,o,u,s,c,f)}else t=a===te.TagUTC?new Date(Date.UTC(n,i,o)):new Date(n,i,o);return e.refer.set(t),t}function I(e){var t=e.stream.readByte();switch(t){case te.TagNull:return null;case te.TagDate:return C(e);case te.TagRef:return V(e);default:n(t)}}function x(e){var t,r=e.stream,n=parseInt(r.readAsciiString(2),10),i=parseInt(r.readAsciiString(2),10),o=parseInt(r.readAsciiString(2),10),a=0,u=r.readByte();return u===te.TagPoint&&(a=parseInt(r.readAsciiString(3),10),u=r.readByte(),u>=48&&u<=57&&(r.skip(2),u=r.readByte(),u>=48&&u<=57&&(r.skip(2),u=r.readByte()))),t=u===te.TagUTC?new Date(Date.UTC(1970,0,1,n,i,o,a)):new Date(1970,0,1,n,i,o,a),e.refer.set(t),t}function R(e){var t=e.stream.readByte();switch(t){case te.TagNull:return null;case te.TagTime:return x(e);case te.TagRef:return V(e);default:n(t)}}function P(e){var t=e.stream,r=b(t,te.TagQuote),n=t.read(r);return t.skip(1),e.refer.set(n),n}function M(e){var t=e.stream.readByte();switch(t){case te.TagNull:return null;case te.TagEmpty:return new Uint8Array(0);case te.TagBytes:return P(e);case te.TagRef:return V(e);default:n(t)}}function U(e){return e.stream.readString(1)}function L(e){var t=e.stream,r=t.readString(b(t,te.TagQuote));return t.skip(1),r}function N(e){var t=L(e);return e.refer.set(t),t}function F(e){var t=e.stream.readByte();switch(t){case te.TagNull:return null;case te.TagEmpty:return"";case te.TagUTF8Char:return U(e);case te.TagString:return N(e);case te.TagRef:return V(e);default:n(t)}}function W(e){var t=e.stream;t.skip(1);var r=t.readAsciiString(36);return t.skip(1),e.refer.set(r),r}function D(e){var t=e.stream.readByte();switch(t){case te.TagNull:return null;case te.TagGuid:return W(e);case te.TagRef:return V(e);default:n(t)}}function z(e){var t=e.stream,r=[];e.refer.set(r);for(var n=b(t,te.TagOpenbrace),i=0;i=0?t:void n(t,e)}},unserialize:{value:function(){return T(this)}},readInteger:{value:function(){return j(this.stream)}},readLong:{value:function(){return S(this.stream)}},readDouble:{value:function(){return B(this.stream)}},readBoolean:{value:function(){return k(this.stream)}},readDateWithoutTag:{value:function(){return C(this)}},readDate:{value:function(){return I(this)}},readTimeWithoutTag:{value:function(){return x(this)}},readTime:{value:function(){return R(this)}},readBytesWithoutTag:{value:function(){return P(this)}},readBytes:{value:function(){return M(this)}},readStringWithoutTag:{value:function(){return N(this)}},readString:{value:function(){return F(this)}},readGuidWithoutTag:{value:function(){return W(this)}},readGuid:{value:function(){return D(this)}},readListWithoutTag:{value:function(){return z(this)}},readList:{value:function(){return q(this)}},readMapWithoutTag:{value:function(){return this.useHarmonyMap?Q(this):H(this)}},readMap:{value:function(){return this.useHarmonyMap?Y(this):G(this)}},readObjectWithoutTag:{value:function(){return J(this)}},readObject:{value:function(){return $(this)}},reset:{value:function(){this.classref.length=0,this.refer.reset()}}}),e.Reader=X}(hprose,hprose.global),function(e){"use strict";function t(e,t){var r=new n,o=new i(r,t);return o.serialize(e),r}function r(e,t,r){return e instanceof n||(e=new n(e)),new o(e,t,r).unserialize()}var n=e.BytesIO,i=e.Writer,o=e.Reader;e.Formatter={serialize:function(e,r){return t(e,r).bytes},unserialize:r},e.serialize=t,e.unserialize=r}(hprose),function(e){"use strict";e.ResultMode={Normal:0,Serialized:1,Raw:2,RawWithEndTag:3},e.Normal=e.ResultMode.Normal,e.Serialized=e.ResultMode.Serialized,e.Raw=e.ResultMode.Raw,e.RawWithEndTag=e.ResultMode.RawWithEndTag}(hprose),function(e,t,r){"use strict";function n(){}function i(e,t,i){function o(e,t){for(var r=0,n=Ve.length;r=0;r--)e=Ve[r].inputFilter(e,t);return e}function p(e,t){return e=o(e,t),ut(e,t).then(function(e){if(!t.oneway)return a(e,t)})}function _(e,t){return ht.sendAndReceive(e,t).catchError(function(r){var n=S(e,t);if(null!==n)return n;throw r})}function j(e,t,r,n){at(e,t).then(r,n)}function O(){var e=Le.length;if(e>1){var t=Ne+1;t>=e&&(t=0,Ge++),Ne=t,Ue=Le[Ne]}else Ge++;Ke(ht)}function S(e,t){if(t.failswitch&&O(),t.idempotent&&t.retried5e3&&(r=5e3),r>0?v.delayed(r,function(){return _(e,t)}):_(e,t)}return null}function E(e){var t={retry:ze,retried:0,idempotent:!0,failswitch:!0,timeout:De,client:ht,userdata:{}},r=function(t){var r=null;try{var n=new f(t),i=new h(n,(!0)),o=n.readByte();switch(o){case s.TagError:r=new Error(i.readString());break;case s.TagFunctions:var a=i.readList();i.checkTag(s.TagEnd),k(e,a);break;default:r=new Error("Wrong Response:\r\n"+f.toString(t))}}catch(e){r=e}null!==r?et.reject(r):et.resolve(e)};j(y,t,r,et.reject)}function B(e,t){return function(){return Xe?M(e,t,Array.slice(arguments),!0):v.all(arguments).then(function(r){return M(e,t,r,!1)})}}function A(e,t,n,i,o){if(t[i]===r&&(t[i]={},typeof o!==w&&o.constructor!==Object||(o=[o]),Array.isArray(o)))for(var a=0;a0||r.byref)&&(i.reset(),i.writeList(t),r.byref&&i.writeBoolean(!0)),n}function P(e,t,r,n){return Qe?v.promise(function(i,o){Ye.push({batch:n,name:e,args:t,context:r,resolve:i,reject:o})}):n?W(e,t,r):F(e,t,r)}function M(e,t,r,n){return P(t,r,x(e,t,r,n),n)}function U(e,t,r,n){try{r.onerror?r.onerror(e,t):$e(e,t),n(t)}catch(e){n(e)}}function L(e,t,r){var n=R(e,t,r);return n.writeByte(s.TagEnd),v.promise(function(e,i){j(n.bytes,r,function(n){if(r.oneway)return void e();var o=null,a=null;try{if(r.mode===c.RawWithEndTag)o=n;else if(r.mode===c.Raw)o=n.subarray(0,n.byteLength-1);else{var u=new f(n),l=new h(u,(!1),r.useHarmonyMap),v=u.readByte();if(v===s.TagResult){if(o=r.mode===c.Serialized?l.readRaw():l.unserialize(),v=u.readByte(),v===s.TagArgument){l.reset();var p=l.readList();C(p,t),v=u.readByte()}}else v===s.TagError&&(a=new Error(l.readString()),v=u.readByte());v!==s.TagEnd&&(a=new Error("Wrong Response:\r\n"+f.toString(n)))}}catch(e){a=e}a?i(a):e(o)},i)})}function N(e){return function(){e&&(Qe=!1,u(function(e){e.forEach(function(e){"settings"in e?H(e.settings).then(e.resolve,e.reject):P(e.name,e.args,e.context,e.batch).then(e.resolve,e.reject)})},Ye),Ye=[])}}function F(e,t,r){r.sync&&(Qe=!0);var n=v.promise(function(n,i){it(e,t,r).then(function(o){try{if(r.onsuccess)try{r.onsuccess(o,t)}catch(t){r.onerror&&r.onerror(e,t),i(t)}n(o)}catch(e){i(e)}},function(t){U(e,t,r,i)})});return n.whenComplete(N(r.sync)),n}function W(e,t,r){return v.promise(function(n,i){Ze.push({args:t,name:e,context:r,resolve:n,reject:i})})}function D(e){var t={timeout:De,retry:ze,retried:0,idempotent:qe,failswitch:He,oneway:!1,sync:!1,client:ht,userdata:{}};for(var r in e)r in t&&(t[r]=e[r]);return t}function z(e,t){var r=e.reduce(function(e,t){return e.write(R(t.name,t.args,t.context)),e},new f);return r.writeByte(s.TagEnd),v.promise(function(n,i){j(r.bytes,t,function(r){if(t.oneway)return void n(e);var o=-1,a=new f(r),u=new h(a,(!1)),l=a.readByte();try{for(;l!==s.TagEnd;){var v=null,p=null,g=e[++o].context.mode;if(g>=c.Raw&&(v=new f),l===s.TagResult){if(g===c.Serialized?v=u.readRaw():g>=c.Raw?(v.writeByte(s.TagResult),v.write(u.readRaw())):(u.useHarmonyMap=e[o].context.useHarmonyMap,u.reset(),v=u.unserialize()),l=a.readByte(),l===s.TagArgument){if(g>=c.Raw)v.writeByte(s.TagArgument),v.write(u.readRaw());else{u.reset();var y=u.readList();C(y,e[o].args)}l=a.readByte()}}else l===s.TagError&&(g>=c.Raw?(v.writeByte(s.TagError),v.write(u.readRaw())):(u.reset(),p=new Error(u.readString())),l=a.readByte());if([s.TagEnd,s.TagResult,s.TagError].indexOf(l)<0)return void i(new Error("Wrong Response:\r\n"+f.toString(r)));g>=c.Raw?(g===c.RawWithEndTag&&v.writeByte(s.TagEnd),e[o].result=v.bytes):e[o].result=v,e[o].error=p}}catch(e){return void i(e)}n(e)},i)})}function q(){Xe=!0}function H(e){if(e=e||{},Xe=!1,Qe)return v.promise(function(t,r){Ye.push({batch:!0,settings:e,resolve:t,reject:r})});var t=Ze.length;if(0===t)return v.value([]);var r=D(e);r.sync&&(Qe=!0);var n=Ze;Ze=[];var i=v.promise(function(e,t){ot(n,r).then(function(t){t.forEach(function(e){if(e.error)U(e.name,e.error,e.context,e.reject);else try{if(e.context.onsuccess)try{e.context.onsuccess(e.result,e.args)}catch(t){e.context.onerror&&e.context.onerror(e.name,t),e.reject(t)}e.resolve(e.result)}catch(t){e.reject(t)}delete e.context,delete e.resolve,delete e.reject}),e(t)},function(e){n.forEach(function(t){"reject"in t&&U(t.name,e,t.context,t.reject)}),t(e)})});return i.whenComplete(N(r.sync)),i}function G(){return $e}function Q(e){typeof e===b&&($e=e)}function Y(){return Ke}function J(e){typeof e===b&&(Ke=e)}function $(){return Ue}function K(){return Le}function V(e){if(typeof e===w)Le=[e];else{if(!Array.isArray(e))return;Le=e.slice(0),Le.sort(function(){return Math.random()-.5})}Ne=0,Ue=Le[Ne]}function X(){return He}function Z(e){He=!!e}function ee(){return Ge}function te(){return De}function re(e){De="number"==typeof e?0|e:0}function ne(){return ze}function ie(e){ze="number"==typeof e?0|e:0}function oe(){return qe}function ae(e){qe=!!e}function ue(e){nt=!!e}function se(){return nt}function ce(){return Fe}function fe(e){Fe=!!e}function le(){return We}function he(e){We=!!e}function ve(){return Je}function pe(e){Je=!!e}function ge(){return 0===Ve.length?null:1===Ve.length?Ve[0]:Ve.slice()}function ye(e){Ve.length=0,Array.isArray(e)?e.forEach(function(e){de(e)}):de(e)}function de(e){e&&"function"==typeof e.inputFilter&&"function"==typeof e.outputFilter&&Ve.push(e)}function we(e){var t=Ve.indexOf(e);return t!==-1&&(Ve.splice(t,1),!0)}function me(){return Ve}function be(e,t,n){n===r&&(typeof t===d&&(n=t,t=!1),t||(typeof e===d?(n=e,e=!1):(e&&e.constructor===Object||Array.isArray(e))&&(t=e,e=!1)));var i=ht;return n&&(i={}),e||Ue?(e&&(Ue=e),(typeof t===w||t&&t.constructor===Object)&&(t=[t]),Array.isArray(t)?(k(i,t),et.resolve(i),i):(u(E,i),et)):new Error("You should set server uri first!")}function Te(e,t,r){var i=arguments.length;if(i<1||typeof e!==w)throw new Error("name must be a string");if(1===i&&(t=[]),2===i&&!Array.isArray(t)){var o=[];typeof t!==b&&o.push(n),o.push(t),t=o}if(i>2){typeof r!==b&&t.push(n);for(var a=2;a=0&&(i[o]=i[i.length-1],i.length--),0===i.length&&delete e[t]}}else delete e[t]}function Ee(e,t,n){if(typeof e!==w)throw new TypeError("topic name must be a string.");if(t===r||null===t){if(typeof n!==b)return void delete tt[e];t=n}if(typeof t===b&&(n=t,t=null),null===t)if(null===rt){if(tt[e]){var i=tt[e];for(t in i)Se(i,t,n)}}else rt.then(function(t){Ee(e,t,n)});else v.isPromise(t)?t.then(function(t){Ee(e,t,n)}):Se(tt[e],t,n);g(tt[e])&&delete tt[e]}function Be(e){return!!tt[e]}function Ae(){var e=[];for(var t in tt)e.push(t);return e}function ke(){return rt}function Ce(){return null===rt&&(rt=M(ht,"#",[],!1)),rt}function Ie(e){st.push(e),it=st.reduceRight(function(e,t){return function(r,n,i){return v.sync(function(){return t(r,n,i,e)})}},L)}function xe(e){ct.push(e),ot=ct.reduceRight(function(e,t){return function(r,n){return v.sync(function(){return t(r,n,e)})}},z)}function Re(e){ft.push(e),at=ft.reduceRight(function(e,t){return function(r,n){return v.sync(function(){return t(r,n,e)})}},p)}function Pe(e){lt.push(e),ut=lt.reduceRight(function(e,t){return function(r,n){return v.sync(function(){return t(r,n,e)})}},_)}function Me(e){return Ie(e),ht}var Ue,Le=[],Ne=-1,Fe=!1,We=!1,De=3e4,ze=10,qe=!1,He=!1,Ge=0,Qe=!1,Ye=[],Je=!1,$e=n,Ke=n,Ve=[],Xe=!1,Ze=[],et=new v,tt=Object.create(null),rt=null,nt=!0,it=L,ot=z,at=p,ut=_,st=[],ct=[],ft=[],lt=[],ht=this;Ce.sync=!0,Ce.idempotent=!0,Ce.failswitch=!0;var vt=Object.create(null,{begin:{value:q},end:{value:H},use:{value:function(e){return xe(e),vt}}}),pt=Object.create(null,{use:{value:function(e){return Re(e),pt}}}),gt=Object.create(null,{use:{value:function(e){return Pe(e),gt}}});Object.defineProperties(this,{"#":{value:Ce},onerror:{get:G,set:Q},onfailswitch:{get:Y,set:J},uri:{get:$},uriList:{get:K,set:V},id:{get:ke},failswitch:{get:X,set:Z},failround:{get:ee},timeout:{get:te,set:re},retry:{get:ne,set:ie},idempotent:{get:oe,set:ae},keepAlive:{get:se,set:ue},byref:{get:ce,set:fe},simple:{get:le,set:he},useHarmonyMap:{get:ve,set:pe},filter:{get:ge,set:ye},addFilter:{value:de},removeFilter:{value:we},filters:{get:me},useService:{value:be},invoke:{value:Te},ready:{value:_e},subscribe:{value:Oe},unsubscribe:{value:Ee},isSubscribed:{value:Be},subscribedList:{value:Ae},use:{value:Me},batch:{value:vt},beforeFilter:{value:pt},afterFilter:{value:gt}}),i&&typeof i===T&&["failswitch","timeout","retry","idempotent","keepAlive","byref","simple","useHarmonyMap","filter"].forEach(function(e){e in i&&(ht[e]=i[e])}),e&&(V(e),be(t))}function o(e){var t=p(e),r=t.protocol;if("http:"!==r&&"https:"!==r&&"tcp:"!==r&&"tcp4:"!==r&&"tcp6:"!==r&&"tcps:"!==r&&"tcp4s:"!==r&&"tcp6s:"!==r&&"tls:"!==r&&"ws:"!==r&&"wss:"!==r)throw new Error("The "+r+" client isn't implemented.")}function a(t,r,n){try{return e.HttpClient.create(t,r,n)}catch(e){}try{return e.TcpClient.create(t,r,n)}catch(e){}try{return e.WebSocketClient.create(t,r,n)}catch(e){}if("string"==typeof t)o(t);else if(Array.isArray(t))throw t.forEach(function(e){o(e)}),new Error("Not support multiple protocol.");throw new Error("You should set server uri first!")}var u=t.setImmediate,s=e.Tags,c=e.ResultMode,f=e.BytesIO,l=e.Writer,h=e.Reader,v=e.Future,p=e.parseuri,g=e.isObjectEmpty,y=new Uint8Array(1);y[0]=s.TagEnd;var d="boolean",w="string",m="number",b="function",T="object";Object.defineProperty(i,"create",{value:a}),e.Client=i}(hprose,hprose.global),function(e,t,r){"use strict";function n(){}function i(e,o,a){function l(e,t){var i=new s,o=new h;o.open("POST",O.uri,!0),p&&(o.withCredentials="true"),o.responseType="arraybuffer";for(var a in T)o.setRequestHeader(a,T[a]);if(o.onload=function(){o.onload=n,o.status&&(200===o.status?i.resolve(new Uint8Array(o.response)):i.reject(new Error(o.status+":"+o.statusText)))},o.onerror=function(){i.reject(new Error("error"))},o.upload!==r&&(o.upload.onprogress=_),o.onprogress=j,t.timeout>0&&(i=i.timeout(t.timeout).catchError(function(e){ -throw o.onload=n,o.onerror=n,o.abort(),e},function(e){return e instanceof f})),e.constructor===String||ArrayBuffer.isView)o.send(e);else if(e.buffer.slice)o.send(e.buffer.slice(0,e.length));else{var u=new Uint8Array(e.length);u.set(e),o.send(u.buffer)}return i}function v(e,r){var n=new s;return t.api.ajax({url:O.uri(),method:"post",data:{body:c.toString(e)},timeout:r.timeout,dataType:"text",headers:T,certificate:O.certificate},function(e,t){e?n.resolve(new c(e).takeBytes()):n.reject(new Error(t.msg))}),n}function g(e,r){var n="undefined"!=typeof t.api&&"undefined"!=typeof t.api.ajax,i=n?v(e,r):l(e,r);return r.oneway&&i.resolve(),i}function y(e){"function"==typeof e&&(_=e)}function d(){return _}function w(e){"function"==typeof e&&(j=e)}function m(){return j}function b(e,t){"content-type"!==e.toLowerCase()&&"content-length"!==e.toLowerCase()&&(t?T[e]=t:delete T[e])}if(this.constructor!==i)return new i(e,o,a);u.call(this,e,o,a);var T=Object.create(null),_=n,j=n,O=this;Object.defineProperties(this,{onprogress:{get:d,set:y},onRequestProgress:{get:d,set:y},onResponseProgress:{get:m,set:w},setHeader:{value:b},sendAndReceive:{value:g}})}function o(e){var t=g(e);if("http:"!==t.protocol&&"https:"!==t.protocol)throw new Error("This client desn't support "+t.protocol+" scheme.")}function a(e,t,r){if("string"==typeof e)o(e);else{if(!Array.isArray(e))throw new Error("You should set server uri first!");e.forEach(function(e){o(e)})}return new i(e,t,r)}var u=e.Client,s=e.Future,c=e.BytesIO,f=t.TimeoutError,l=t.location!==r&&"file:"===t.location.protocol,h=t.XMLHttpRequest,v="undefined"!=typeof h,p=!l&&v&&"withCredentials"in new h,g=e.parseuri;Object.defineProperty(i,"create",{value:a}),e.HttpClient=i}(hprose,hprose.global),function(e,t,r){"use strict";function n(){}function i(e,t,o){function a(){return m<2147483647?++m:m=0}function l(e,t){var r=new u;r.writeInt32BE(e),t.constructor===String?r.writeString(t):r.write(t);var n=r.bytes;ArrayBuffer.isView?O.send(n):n.buffer.slice?O.send(n.buffer.slice(0,n.length)):O.send(n.buffer)}function v(e){j.resolve(e)}function p(e){var t=new u(e.data),n=t.readInt32BE(),i=T[n];if(delete T[n],i!==r&&(--b,i.resolve(t.read(t.length-4))),b<100&&_.length>0){++b;var o=_.pop();j.then(function(){l(o[0],o[1])})}0!==b||S.keepAlive||w()}function g(e){T.forEach(function(t,r){t.reject(new Error(e.code+":"+e.reason)),delete T[r]}),b=0,O=null}function y(){j=new c,O=new h(S.uri),O.binaryType="arraybuffer",O.onopen=v,O.onmessage=p,O.onerror=n,O.onclose=g}function d(e,t){var r=a(),n=new c;return T[r]=n,t.timeout>0&&(n=n.timeout(t.timeout).catchError(function(e){throw delete T[r],--b,e},function(e){return e instanceof f})),null!==O&&O.readyState!==h.CLOSING&&O.readyState!==h.CLOSED||y(),b<100?(++b,j.then(function(){l(r,e)})):_.push([r,e]),t.oneway&&n.resolve(),n}function w(){null!==O&&(O.onopen=n,O.onmessage=n,O.onclose=n,O.close())}if("undefined"==typeof h)throw new Error("WebSocket is not supported by this browser.");if(this.constructor!==i)return new i(e,t,o);s.call(this,e,t,o);var m=0,b=0,T=[],_=[],j=null,O=null,S=this;Object.defineProperties(this,{sendAndReceive:{value:d},close:{value:w}})}function o(e){var t=l(e);if("ws:"!==t.protocol&&"wss:"!==t.protocol)throw new Error("This client desn't support "+t.protocol+" scheme.")}function a(e,t,r){if("string"==typeof e)o(e);else{if(!Array.isArray(e))throw new Error("You should set server uri first!");e.forEach(function(e){o(e)})}return new i(e,t,r)}var u=e.BytesIO,s=e.Client,c=e.Future,f=t.TimeoutError,l=e.parseuri,h=t.WebSocket||t.MozWebSocket;Object.defineProperty(i,"create",{value:a}),e.WebSocketClient=i}(hprose,hprose.global),function(e,t,r){"use strict";function n(){}function i(e){var t=s[e.socketId];t.onreceive(e.data)}function o(e){var t=s[e.socketId];t.onerror(e.resultCode),t.destroy()}function a(){null===c&&(c=t.chrome.sockets.tcp,c.onReceive.addListener(i),c.onReceiveError.addListener(o)),this.socketId=new u,this.connected=!1,this.timeid=r,this.onclose=n,this.onconnect=n,this.onreceive=n,this.onerror=n}var u=e.Future,s={},c=null;Object.defineProperties(a.prototype,{connect:{value:function(e,t,r){var n=this;c.create({persistent:r&&r.persistent},function(i){r&&("noDelay"in r&&c.setNoDelay(i.socketId,r.noDelay,function(e){e<0&&(n.socketId.reject(e),c.disconnect(i.socketId),c.close(i.socketId),n.onclose())}),"keepAlive"in r&&c.setKeepAlive(i.socketId,r.keepAlive,function(e){e<0&&(n.socketId.reject(e),c.disconnect(i.socketId),c.close(i.socketId),n.onclose())})),r&&r.tls?c.setPaused(i.socketId,!0,function(){c.connect(i.socketId,e,t,function(e){e<0?(n.socketId.reject(e),c.disconnect(i.socketId),c.close(i.socketId),n.onclose()):c.secure(i.socketId,function(t){0!==t?(n.socketId.reject(e),c.disconnect(i.socketId),c.close(i.socketId),n.onclose()):c.setPaused(i.socketId,!1,function(){n.socketId.resolve(i.socketId)})})})}):c.connect(i.socketId,e,t,function(e){e<0?(n.socketId.reject(e),c.disconnect(i.socketId),c.close(i.socketId),n.onclose()):n.socketId.resolve(i.socketId)})}),this.socketId.then(function(e){s[e]=n,n.connected=!0,n.onconnect(e)},function(e){n.onerror(e)})}},send:{value:function(e){var t=this,r=new u;return this.socketId.then(function(n){c.send(n,e,function(e){e.resultCode<0?(t.onerror(e.resultCode),r.reject(e.resultCode),t.destroy()):r.resolve(e.bytesSent)})}),r}},destroy:{value:function(){var e=this;this.connected=!1,this.socketId.then(function(t){c.disconnect(t),c.close(t),delete s[t],e.onclose()})}},ref:{value:function(){this.socketId.then(function(e){c.setPaused(e,!1)})}},unref:{value:function(){this.socketId.then(function(e){c.setPaused(e,!0)})}},clearTimeout:{value:function(){this.timeid!==r&&t.clearTimeout(this.timeid)}},setTimeout:{value:function(e,r){this.clearTimeout(),this.timeid=t.setTimeout(r,e)}}}),e.ChromeTcpSocket=a}(hprose,hprose.global),function(e,t,r){"use strict";function n(){}function i(){null===l&&(l=t.api.require("socketManager")),this.socketId=new o,this.connected=!1,this.timeid=r,this.onclose=n,this.onconnect=n,this.onreceive=n,this.onerror=n}var o=e.Future,a=t.atob,u=t.btoa,s=e.toUint8Array,c=e.toBinaryString,f={},l=null;Object.defineProperties(i.prototype,{connect:{value:function(e,t,r){var n=this;l.createSocket({type:"tcp",host:e,port:t,timeout:r.timeout,returnBase64:!0},function(e){if(e)switch(e.state){case 101:break;case 102:n.socketId.resolve(e.sid);break;case 103:n.onreceive(s(a(e.data.replace(/\s+/g,""))));break;case 201:n.socketId.reject(new Error("Create TCP socket failed"));break;case 202:n.socketId.reject(new Error("TCP connection failed"));break;case 203:n.onclose(),n.onerror(new Error("Abnormal disconnect connection"));break;case 204:n.onclose();break;case 205:n.onclose(),n.onerror(new Error("Unknown error"))}}),this.socketId.then(function(e){f[e]=n,n.connected=!0,n.onconnect(e)},function(e){n.onerror(e)})}},send:{value:function(e){var t=this,r=new o;return this.socketId.then(function(n){l.write({sid:n,data:u(c(e)),base64:!0},function(e,n){e.status?r.resolve():(t.onerror(new Error(n.msg)),r.reject(n.msg),t.destroy())})}),r}},destroy:{value:function(){var e=this;this.connected=!1,this.socketId.then(function(t){l.closeSocket({sid:t},function(t,r){t.status||e.onerror(new Error(r.msg))}),delete f[t]})}},ref:{value:n},unref:{value:n},clearTimeout:{value:function(){this.timeid!==r&&t.clearTimeout(this.timeid)}},setTimeout:{value:function(e,r){this.clearTimeout(),this.timeid=t.setTimeout(r,e)}}}),e.APICloudTcpSocket=i}(hprose,hprose.global),function(e,t,r){"use strict";function n(){}function i(e,t){e.onreceive=function(r){"receiveEntry"in e||(e.receiveEntry={stream:new p,headerLength:4,dataLength:-1,id:null});var n=e.receiveEntry,i=n.stream,o=n.headerLength,a=n.dataLength,u=n.id;for(i.write(r);;){if(a<0&&i.length>=o&&(a=i.readInt32BE(),0!==(2147483648&a)&&(a&=2147483647,o=8)),8===o&&null===u&&i.length>=o&&(u=i.readInt32BE()),!(a>=0&&i.length-o>=a))break;t(i.read(a),u),o=4,u=null,i.trunc(),a=-1}n.stream=i,n.headerLength=o,n.dataLength=a,n.id=u}}function o(e){e&&(this.client=e,this.uri=this.client.uri,this.size=0,this.pool=[],this.requests=[])}function a(e){o.call(this,e)}function u(e){o.call(this,e)}function s(e,t,r){function n(){return w}function i(e){w=!!e}function o(){return m}function c(e){m=!!e}function f(){return b}function l(e){"number"==typeof e?(b=0|e,b<1&&(b=10)):b=10}function h(){return T}function p(e){T="number"==typeof e?0|e:0}function y(e,t){var r=new g;return m?(null!==_&&_.uri===d.uri||(_=new a(d)),_.sendAndReceive(e,r,t)):(null!==j&&j.uri===d.uri||(j=new u(d)),j.sendAndReceive(e,r,t)),t.oneway&&r.resolve(),r}if(this.constructor!==s)return new s(e,t,r);v.call(this,e,t,r);var d=this,w=!0,m=!1,b=10,T=3e4,_=null,j=null;Object.defineProperties(this,{noDelay:{get:n,set:i},fullDuplex:{get:o,set:c},maxPoolSize:{get:f,set:l},poolTimeout:{get:h,set:p},sendAndReceive:{value:y}})}function c(e){var t=d(e),r=t.protocol;if("tcp:"!==r&&"tcp4:"!==r&&"tcp6:"!==r&&"tcps:"!==r&&"tcp4s:"!==r&&"tcp6s:"!==r&&"tls:"!==r)throw new Error("This client desn't support "+r+" scheme.")}function f(e,t,r){if("string"==typeof e)c(e);else{if(!Array.isArray(e))throw new Error("You should set server uri first!");e.forEach(function(e){c(e)})}return new s(e,t,r)}var l=e.ChromeTcpSocket,h=e.APICloudTcpSocket,v=e.Client,p=e.BytesIO,g=e.Future,y=t.TimeoutError,d=e.parseuri;Object.defineProperties(o.prototype,{create:{value:function(){var e,r=d(this.uri),n=r.protocol,i=r.hostname,o=parseInt(r.port,10);if("tcp:"===n||"tcp4:"===n||"tcp6:"===n)e=!1;else{if("tcps:"!==n&&"tcp4s:"!==n&&"tcp6s:"!==n&&"tls:"!==n)throw new Error("Unsupported "+n+" protocol!");e=!0}var a;if(t.chrome&&t.chrome.sockets&&t.chrome.sockets.tcp)a=new l;else{if(!t.api||!t.api.require)throw new Error("TCP Socket is not supported by this browser or platform.");a=new h}var u=this;return a.connect(i,o,{persistent:!0,tls:e,timeout:this.client.timeout,noDelay:this.client.noDelay,keepAlive:this.client.keepAlive}),a.onclose=function(){--u.size},++this.size,a}}}),a.prototype=Object.create(o.prototype,{fetch:{value:function(){for(var e=this.pool;e.length>0;){var t=e.pop();if(t.connected)return 0===t.count&&(t.clearTimeout(),t.ref()),t}return null}},init:{value:function(e){var t=this;e.count=0,e.futures={},e.timeoutIds={},i(e,function(r,n){var i=e.futures[n];i&&(t.clean(e,n),0===e.count&&t.recycle(e),i.resolve(r))}),e.onerror=function(r){var n=e.futures;for(var i in n){var o=n[i];t.clean(e,i),o.reject(r)}}}},recycle:{value:function(e){e.unref(),e.setTimeout(this.client.poolTimeout,function(){e.destroy()})}},clean:{value:function(e,n){e.timeoutIds[n]!==r&&(t.clearTimeout(e.timeoutIds[n]),delete e.timeoutIds[n]),delete e.futures[n],--e.count,this.sendNext(e)}},sendNext:{value:function(e){if(e.count<10)if(this.requests.length>0){var t=this.requests.pop();t.push(e),this.send.apply(this,t)}else this.pool.lastIndexOf(e)<0&&this.pool.push(e)}},send:{value:function(e,r,n,i,o){var a=this,u=i.timeout;u>0&&(o.timeoutIds[n]=t.setTimeout(function(){a.clean(o,n),0===o.count&&a.recycle(o),r.reject(new y("timeout"))},u)),o.count++,o.futures[n]=r;var s=e.length,c=new p(8+s);c.writeInt32BE(2147483648|s),c.writeInt32BE(n),c.write(e),o.send(c.buffer).then(function(){a.sendNext(o)})}},getNextId:{value:function(){return this.nextid<2147483647?++this.nextid:this.nextid=0}},sendAndReceive:{value:function(e,t,r){var n=this.fetch(),i=this.getNextId();if(n)this.send(e,t,i,r,n);else if(this.size0;){var t=e.pop();if(t.connected)return t.clearTimeout(),t.ref(),t}return null}},recycle:{value:function(e){this.pool.lastIndexOf(e)<0&&(e.unref(),e.setTimeout(this.client.poolTimeout,function(){e.destroy()}),this.pool.push(e))}},clean:{value:function(e){e.onreceive=n,e.onerror=n,e.timeoutId!==r&&(t.clearTimeout(e.timeoutId),delete e.timeoutId)}},sendNext:{value:function(e){if(this.requests.length>0){var t=this.requests.pop();t.push(e),this.send.apply(this,t)}else this.recycle(e)}},send:{value:function(e,r,n,o){var a=this,u=n.timeout;u>0&&(o.timeoutId=t.setTimeout(function(){a.clean(o),o.destroy(),r.reject(new y("timeout"))},u)),i(o,function(e){a.clean(o),a.sendNext(o),r.resolve(e)}),o.onerror=function(e){a.clean(o),r.reject(e)};var s=e.length,c=new p(4+s);c.writeInt32BE(s),c.write(e),o.send(c.buffer)}},sendAndReceive:{value:function(e,t,r){var n=this.fetch();if(n)this.send(e,t,r,n);else if(this.size1?JSON.stringify(t):JSON.stringify(t[0])},e.JSONRPCClientFilter=t}(hprose),function(e){"use strict";e.common={Completer:e.Completer,Future:e.Future,ResultMode:e.ResultMode},e.io={BytesIO:e.BytesIO,ClassManager:e.ClassManager,Tags:e.Tags,RawReader:e.RawReader,Reader:e.Reader,Writer:e.Writer,Formatter:e.Formatter},e.client={Client:e.Client,HttpClient:e.HttpClient,TcpClient:e.TcpClient,WebSocketClient:e.WebSocketClient},e.filter={JSONRPCClientFilter:e.JSONRPCClientFilter},"function"==typeof define&&(define.cmd?define("hprose",[],e):define.amd&&define("hprose",[],function(){return e})),"object"==typeof module&&(module.exports=e)}(hprose),!function(e){"use strict";function t(e,t,r,i){var o=t&&t.prototype instanceof n?t:n,a=Object.create(o.prototype),u=new h(i||[]);return a._invoke=c(e,r,u),a}function r(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}function n(){}function i(){}function o(){}function a(e){["next","throw","return"].forEach(function(t){e[t]=function(e){return this._invoke(t,e)}})}function u(e){this.arg=e}function s(e){function t(n,i,o,a){var s=r(e[n],e,i);if("throw"!==s.type){var c=s.arg,f=c.value;return f instanceof u?Promise.resolve(f.arg).then(function(e){t("next",e,o,a)},function(e){t("throw",e,o,a)}):Promise.resolve(f).then(function(e){c.value=e,o(c)},a)}a(s.arg)}function n(e,r){function n(){return new Promise(function(n,i){t(e,r,n,i)})}return i=i?i.then(n,n):n()}"object"==typeof process&&process.domain&&(t=process.domain.bind(t));var i;this._invoke=n}function c(e,t,n){var i=_;return function(o,a){if(i===O)throw new Error("Generator is already running");if(i===S){if("throw"===o)throw a;return p()}for(;;){var u=n.delegate;if(u){if("return"===o||"throw"===o&&u.iterator[o]===g){n.delegate=null;var s=u.iterator.return;if(s){var c=r(s,u.iterator,a);if("throw"===c.type){o="throw",a=c.arg;continue}}if("return"===o)continue}var c=r(u.iterator[o],u.iterator,a);if("throw"===c.type){n.delegate=null,o="throw",a=c.arg;continue}o="next",a=g;var f=c.arg;if(!f.done)return i=j,f;n[u.resultName]=f.value,n.next=u.nextLoc,n.delegate=null}if("next"===o)n.sent=n._sent=a;else if("throw"===o){if(i===_)throw i=S,a;n.dispatchException(a)&&(o="next",a=g)}else"return"===o&&n.abrupt("return",a);i=O;var c=r(e,t,n);if("normal"===c.type){i=n.done?S:j;var f={value:c.arg,done:n.done};if(c.arg!==E)return f;n.delegate&&"next"===o&&(a=g)}else"throw"===c.type&&(i=S,o="throw",a=c.arg)}}}function f(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function l(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function h(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(f,this),this.reset(!0)}function v(e){if(e){var t=e[w];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,n=function t(){for(;++r=0;--n){var i=this.tryEntries[n],o=i.completion;if("root"===i.tryLoc)return t("end");if(i.tryLoc<=this.prev){var a=y.call(i,"catchLoc"),u=y.call(i,"finallyLoc");if(a&&u){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&y.call(n,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),l(r),E}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var i=n.arg;l(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:v(e),resultName:t,nextLoc:r},E}}}("object"==typeof global?global:"object"==typeof window?window:"object"==typeof self?self:this); \ No newline at end of file +var hprose=Object.create(null);hprose.global="object"==typeof global?global:"object"==typeof window?window:"object"==typeof self?self:this,function(e,t){"use strict";function r(e){if("function"!=typeof e)throw new TypeError(e+" is not a function");return function(t){return e.apply(t,Array.prototype.slice.call(arguments,1))}}function n(e){for(var t=e.length,r=new Array(t),n=0;n>15,i=new Array(r?n+1:n),o=0;o=0?n=i:(n=r+i,n<0&&(n=0));for(var o;n>>0,o=arguments[1],a=0;a>>0,o=arguments[1],a=0;a>>0,i=arguments[1],o=i>>0,a=o<0?Math.max(n+o,0):Math.min(o,n),u=arguments[2],s=u===t?n:u>>0,c=s<0?Math.max(n+s,0):Math.min(s,n);a>>0,o=e>>0,a=o<0?Math.max(i+o,0):Math.min(o,i),u=r>>0,s=u<0?Math.max(i+u,0):Math.min(u,i),c=arguments[2],f=c===t?i:c>>0,l=f<0?Math.max(i+f,0):Math.min(f,i),h=Math.min(l-s,i-a),v=1;for(s0;)s in n?n[a]=n[s]:delete n[a],s+=v,a+=v,h--;return n}}),Array.from||Object.defineProperty(Array,"from",{value:function(){var e=Object.prototype.toString,r=function(t){return"function"==typeof t||"[object Function]"===e.call(t)},n=function(e){var t=Number(e);return isNaN(t)?0:0!==t&&isFinite(t)?(t>0?1:-1)*Math.floor(Math.abs(t)):t},i=Math.pow(2,53)-1,o=function(e){var t=n(e);return Math.min(Math.max(t,0),i)};return function(e){var n=this,i=Object(e);if(null===e||e===t)throw new TypeError("Array.from requires an array-like object - not null or undefined");var a,u=arguments.length>1?arguments[1]:void t;if("undefined"!=typeof u){if(!r(u))throw new TypeError("Array.from: when provided, the second argument must be a function");arguments.length>2&&(a=arguments[2])}for(var s,c=o(i.length),f=r(n)?Object(new n(c)):new Array(c),l=0;lr.length)&&(t=r.length),t-=e.length;var n=r.indexOf(e,t);return n!==-1&&n===t}}),String.prototype.includes||Object.defineProperty(String.prototype,"includes",{value:function(){return"number"==typeof arguments[1]?!(this.length=1<<28)throw new RangeError("repeat count must not overflow maximum string size");for(var r="";1===(1&e)&&(r+=t),e>>>=1,0!==e;)t+=t;return r}}),String.prototype.trim||Object.defineProperty(String.prototype,"trim",{value:function(){return this.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")}}),String.prototype.trimLeft||Object.defineProperty(String.prototype,"trimLeft",{value:function(){return this.toString().replace(/^[\s\xa0]+/,"")}}),String.prototype.trimRight||Object.defineProperty(String.prototype,"trimRight",{value:function(){return this.toString().replace(/[\s\xa0]+$/,"")}}),Object.keys||Object.defineProperty(Object,"keys",{value:function(){var e=Object.prototype.hasOwnProperty,t=!{toString:null}.propertyIsEnumerable("toString"),r=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],n=r.length;return function(i){if("object"!=typeof i&&"function"!=typeof i||null===i)throw new TypeError("Object.keys called on non-object");var o=[];for(var a in i)e.call(i,a)&&o.push(a);if(t)for(var u=0;u0&&Array.isArray(arguments[0]))for(var s=arguments[0],c=0,f=s.length;c0&&Array.isArray(arguments[0]))for(var o=arguments[0],a=0,f=o.length;a0&&Array.isArray(arguments[0]))for(var o=arguments[0],a=0,u=o.length;a0;)i(e.shift())});return r.observe(t,{characterData:!0}),function(){var r=o(arguments);return e.push(r),t.data=1&r,r}},s.messageChannel=function(){var t=new e.MessageChannel;return t.port1.onmessage=function(e){i(Number(e.data))},function(){var e=o(arguments);return t.port2.postMessage(e),e}},s.nextTick=function(){return function(){var t=o(arguments);return e.process.nextTick(r(i,t)),t}},s.postMessage=function(){var e=a.createElement("iframe");e.style.display="none",a.documentElement.appendChild(e);var t=e.contentWindow;t.document.write(''),t.document.close();var r=[];return window.addEventListener("message",function(){for(;r.length>0;)i(r.shift())}),function(){var e=o(arguments);return r.push(e),t.postMessage(1,"*"),e}},s.readyStateChange=function(){var e=a.documentElement;return function(){var t=o(arguments),r=a.createElement("script");return r.onreadystatechange=function(){i(t),r.onreadystatechange=null,e.removeChild(r),r=null},e.appendChild(r),t}};var l=Object.getPrototypeOf&&Object.getPrototypeOf(e);l=l&&l.setTimeout?l:e,s.setTimeout=function(){return function(){var e=o(arguments);return l.setTimeout(r(i,e),0),e}},"undefined"==typeof e.process||"[object process]"!==Object.prototype.toString.call(e.process)||e.process.browser?a&&"onreadystatechange"in a.createElement("script")?l.setImmediate=s.readyStateChange():a&&u?l.setImmediate=s.mutationObserver():e.MessageChannel?l.setImmediate=s.messageChannel():a&&"postMessage"in e&&"addEventListener"in e?l.setImmediate=s.postMessage():l.setImmediate=s.setTimeout():l.setImmediate=s.nextTick(),l.clearImmediate=n}}(hprose.global),function(e,t,r){"use strict";function n(e){Object.defineProperties(this,{_subscribers:{value:[]},resolve:{value:this.resolve.bind(this)},reject:{value:this.reject.bind(this)}});var t=this;"function"==typeof e&&$(function(){try{t.resolve(e())}catch(e){t.reject(e)}})}function i(e){return e instanceof n}function o(e){return"function"==typeof e.then}function a(e,t){var r="function"==typeof t?t:function(){return t},i=new n;return K(function(){try{i.resolve(r())}catch(e){i.reject(e)}},e),i}function u(e){var t=new n;return t.reject(e),t}function s(e){var t=new n;return t.resolve(e),t}function c(e){try{var t=e();return s(t)}catch(e){return u(e)}}function f(e){var t=new n;return e(t.resolve,t.reject),t}function l(e){var t=0;return Array.forEach(e,function(){++t}),t}function h(e){return e=o(e)?e:s(e),e.then(function(e){var t=e.length,r=l(e),i=new Array(t);if(0===r)return s(i);var o=new n;return Array.forEach(e,function(e,t){S(e).then(function(e){i[t]=e,0===--r&&o.resolve(i)},o.reject)}),o})}function v(){return h(arguments)}function p(e){return e=o(e)?e:s(e),e.then(function(e){var t=new n;return Array.forEach(e,function(e){S(e).fill(t)}),t})}function g(e){return e=o(e)?e:s(e),e.then(function(e){var t=e.length,r=l(e);if(0===r)throw new RangeError("any(): array must not be empty");var i=new Array(t),o=new n;return Array.forEach(e,function(e,t){S(e).then(o.resolve,function(e){i[t]=e,0===--r&&o.reject(i)})}),o})}function y(e){return e=o(e)?e:s(e),e.then(function(e){var t=e.length,r=l(e),i=new Array(t);if(0===r)return s(i);var o=new n;return Array.forEach(e,function(e,t){var n=S(e);n.whenComplete(function(){i[t]=n.inspect(),0===--r&&o.resolve(i)})}),o})}function d(e){var t=function(){return this}(),r=Array.slice(arguments,1);return h(r).then(function(r){return e.apply(t,r)})}function w(e,t){var r=Array.slice(arguments,2);return h(r).then(function(r){return e.apply(t,r)})}function m(e){return!!e&&("function"==typeof e.next&&"function"==typeof e.throw)}function b(e){if(!e)return!1;var t=e.constructor;return!!t&&("GeneratorFunction"===t.name||"GeneratorFunction"===t.displayName||m(t.prototype))}function T(e){return function(t,n){return t instanceof Error?e.reject(t):arguments.length<2?e.resolve(t):(n=null===t||t===r?Array.slice(arguments,1):Array.slice(arguments,0),void(1==n.length?e.resolve(n[0]):e.resolve(n)))}}function _(e){if(b(e)||m(e))return E(e);var t=function(){return this}(),r=new n;return e.call(t,T(r)),r}function j(e){return function(){var t=Array.slice(arguments,0),r=this,i=new n;t.push(function(){r=this,i.resolve(arguments)});try{e.apply(this,t)}catch(e){i.resolve([e])}return function(e){i.then(function(t){e.apply(r,t)})}}}function O(e){return function(){var t=Array.slice(arguments,0),r=new n;t.push(T(r));try{e.apply(this,t)}catch(e){r.reject(e)}return r}}function S(e){return e?o(e)?e:b(e)||m(e)?E(e):s(e):s(e)}function E(e){function t(t){try{i(e.next(t))}catch(e){u.reject(e)}}function r(t){try{i(e.throw(t))}catch(e){return u.reject(e)}}function i(e){e.done?u.resolve(e.value):("function"==typeof e.value?_(e.value):S(e.value)).then(t,r)}var o=function(){return this}();if("function"==typeof e){var a=Array.slice(arguments,1);e=e.apply(o,a)}var u=new n;return e&&"function"==typeof e.next?(t(),u):u.resolve(e)}function B(e,t){return function(){return t=t||this,h(arguments).then(function(r){var n=e.apply(t,r);return b(n)||m(n)?E.call(t,n):n})}}function A(e,t,r){return r=r||function(){return this}(),h(e).then(function(e){return e.forEach(t,r)})}function k(e,t,r){return r=r||function(){return this}(),h(e).then(function(e){return e.every(t,r)})}function C(e,t,r){return r=r||function(){return this}(),h(e).then(function(e){return e.some(t,r)})}function I(e,t,r){return r=r||function(){return this}(),h(e).then(function(e){return e.filter(t,r)})}function x(e,t,r){return r=r||function(){return this}(),h(e).then(function(e){return e.map(t,r)})}function R(e,t,r){return arguments.length>2?h(e).then(function(e){return o(r)||(r=s(r)),r.then(function(r){return e.reduce(t,r)})}):h(e).then(function(e){return e.reduce(t)})}function P(e,t,r){return arguments.length>2?h(e).then(function(e){return o(r)||(r=s(r)),r.then(function(r){return e.reduceRight(t,r)})}):h(e).then(function(e){return e.reduceRight(t)})}function M(e,t,r){return h(e).then(function(e){return o(t)||(t=s(t)),t.then(function(t){return e.indexOf(t,r)})})}function U(e,t,n){return h(e).then(function(e){return o(t)||(t=s(t)),t.then(function(t){return n===r&&(n=e.length-1),e.lastIndexOf(t,n)})})}function L(e,t,r){return h(e).then(function(e){return o(t)||(t=s(t)),t.then(function(t){return e.includes(t,r)})})}function N(e,t,r){return r=r||function(){return this}(),h(e).then(function(e){return e.find(t,r)})}function F(e,t,r){return r=r||function(){return this}(),h(e).then(function(e){return e.findIndex(t,r)})}function W(e,t,r){$(function(){try{var n=e(r);t.resolve(n)}catch(e){t.reject(e)}})}function D(e,t,r){e?W(e,t,r):t.resolve(r)}function z(e,t,r){e?W(e,t,r):t.reject(r)}function q(){var e=new n;Object.defineProperties(this,{future:{value:e},complete:{value:e.resolve},completeError:{value:e.reject},isCompleted:{get:function(){return e._state!==G}}})}function H(e){n.call(this),e(this.resolve,this.reject)}var G=0,Q=1,Y=2,J="Promise"in t,$=t.setImmediate,K=t.setTimeout,V=t.clearTimeout,X=t.TimeoutError;Object.defineProperties(n,{delayed:{value:a},error:{value:u},sync:{value:c},value:{value:s},all:{value:h},race:{value:p},resolve:{value:s},reject:{value:u},promise:{value:f},isFuture:{value:i},isPromise:{value:o},toPromise:{value:S},join:{value:v},any:{value:g},settle:{value:y},attempt:{value:d},run:{value:w},thunkify:{value:j},promisify:{value:O},co:{value:E},wrap:{value:B},forEach:{value:A},every:{value:k},some:{value:C},filter:{value:I},map:{value:x},reduce:{value:R},reduceRight:{value:P},indexOf:{value:M},lastIndexOf:{value:U},includes:{value:L},find:{value:N},findIndex:{value:F}}),Object.defineProperties(n.prototype,{_value:{writable:!0},_reason:{writable:!0},_state:{value:G,writable:!0},resolve:{value:function(e){if(e===this)return void this.reject(new TypeError("Self resolution"));if(i(e))return void e.fill(this);if(null!==e&&"object"==typeof e||"function"==typeof e){var t;try{t=e.then}catch(e){return void this.reject(e)}if("function"==typeof t){var r=!0;try{var n=this;return void t.call(e,function(e){r&&(r=!1,n.resolve(e))},function(e){r&&(r=!1,n.reject(e))})}catch(e){r&&(r=!1,this.reject(e))}return}}if(this._state===G){this._state=Q,this._value=e;for(var o=this._subscribers;o.length>0;){var a=o.shift();D(a.onfulfill,a.next,e)}}}},reject:{value:function(e){if(this._state===G){this._state=Y,this._reason=e;for(var t=this._subscribers;t.length>0;){var r=t.shift();z(r.onreject,r.next,e)}}}},then:{value:function(e,t){"function"!=typeof e&&(e=null),"function"!=typeof t&&(t=null);var r=new n;return this._state===Q?D(e,r,this._value):this._state===Y?z(t,r,this._reason):this._subscribers.push({onfulfill:e,onreject:t,next:r}),r}},done:{value:function(e,t){this.then(e,t).then(null,function(e){$(function(){throw e})})}},inspect:{value:function(){switch(this._state){case G:return{state:"pending"};case Q:return{state:"fulfilled",value:this._value};case Y:return{state:"rejected",reason:this._reason}}}},catchError:{value:function(e,t){if("function"==typeof t){var r=this;return this.catch(function(n){if(t(n))return r.catch(e);throw n})}return this.catch(e)}},catch:{value:function(e){return this.then(null,e)}},fail:{value:function(e){this.done(null,e)}},whenComplete:{value:function(e){return this.then(function(t){return e(),t},function(t){throw e(),t})}},complete:{value:function(e){return e=e||function(e){return e},this.then(e,e)}},always:{value:function(e){this.done(e,e)}},fill:{value:function(e){this.then(e.resolve,e.reject)}},timeout:{value:function(e,t){var r=new n,i=K(function(){r.reject(t||new X("timeout"))},e);return this.whenComplete(function(){V(i)}).fill(r),r}},delay:{value:function(e){var t=new n;return this.then(function(r){K(function(){t.resolve(r)},e)},t.reject),t}},tap:{value:function(e,t){return this.then(function(r){return e.call(t,r),r})}},spread:{value:function(e,t){return this.then(function(r){return e.apply(t,r)})}},get:{value:function(e){return this.then(function(t){return t[e]})}},set:{value:function(e,t){return this.then(function(r){return r[e]=t,r})}},apply:{value:function(e,t){return t=t||[],this.then(function(r){return h(t).then(function(t){return r[e].apply(r,t)})})}},call:{value:function(e){var t=Array.slice(arguments,1);return this.then(function(r){return h(t).then(function(t){return r[e].apply(r,t)})})}},bind:{value:function(e){var t=Array.slice(arguments);{if(!Array.isArray(e)){t.shift();var r=this;return Object.defineProperty(this,e,{value:function(){var n=Array.slice(arguments);return r.then(function(r){return h(t.concat(n)).then(function(t){return r[e].apply(r,t)})})}}),this}for(var n=0,i=e.length;n1?R(this,e,t):R(this,e)}},reduceRight:{value:function(e,t){return arguments.length>1?P(this,e,t):P(this,e)}},indexOf:{value:function(e,t){return M(this,e,t)}},lastIndexOf:{value:function(e,t){return U(this,e,t)}},includes:{value:function(e,t){return L(this,e,t)}},find:{value:function(e,t){return N(this,e,t)}},findIndex:{value:function(e,t){return F(this,e,t)}}}),e.Future=n,e.thunkify=j,e.promisify=O,e.co=E,e.co.wrap=e.wrap=B,e.Completer=q,e.resolved=s,e.rejected=u,e.deferred=function(){var e=new n;return Object.create(null,{promise:{value:e},resolve:{value:e.resolve},reject:{value:e.reject}})},J||(H.prototype=Object.create(n.prototype),H.prototype.constructor=n,Object.defineProperties(H,{all:{value:h},race:{value:p},resolve:{value:s},reject:{value:u}}),t.Promise=H)}(hprose,hprose.global),function(e,t){"use strict";function r(e,t,r){return e[t++]=r>>>24&255,e[t++]=r>>>16&255,e[t++]=r>>>8&255,e[t++]=255&r,t}function n(e,t,r){return e[t++]=255&r,e[t++]=r>>>8&255,e[t++]=r>>>16&255,e[t++]=r>>>24&255,t}function i(e,t,r){for(var n=r.length,i=0;i>6,e[t++]=128|63&o;else{if(!(o<55296||o>57343)){if(i+1>18,e[t++]=128|u>>12&63,e[t++]=128|u>>6&63,e[t++]=128|63&u,++i;continue}}throw new Error("Malformed string")}e[t++]=224|o>>12,e[t++]=128|o>>6&63,e[t++]=128|63&o}}return t}function o(e,t){for(var r=new Array(t),n=0,i=0,o=e.length;n>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:r[n]=a;break;case 12:case 13:if(i>10&1023|55296,r[n]=1023&u|56320;break}throw new Error("Character outside valid Unicode range: 0x"+u.toString(16))}throw new Error("Unfinished UTF-8 octet sequence");default:throw new Error("Bad UTF-8 encoding 0x"+a.toString(16))}}return n>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:n[i]=u;break;case 12:case 13:if(o>10&1023|55296,n[i]=1023&s|56320;break}throw new Error("Character outside valid Unicode range: 0x"+s.toString(16))}throw new Error("Unfinished UTF-8 octet sequence");default:throw new Error("Bad UTF-8 encoding 0x"+u.toString(16))}if(i>=32766){var c=i+1;n.length=c,r.push(String.fromCharCode.apply(String,n)),t-=c,i=-1}}return i>0&&(n.length=i,r.push(String.fromCharCode.apply(String,n))),[r.join(""),o]}function u(e,r){return(r===t||null===r||r<0)&&(r=e.length),0===r?["",0]:r<65535?o(e,r):a(e,r)}function s(e,r){if(r===t&&(r=e.length),0===r)return[v,0];for(var n=0,i=0,o=e.length;n>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:break;case 12:case 13:if(i>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,e+1}function f(){var e=arguments;switch(e.length){case 1:switch(e[0].constructor){case Uint8Array:this._bytes=e[0],this._length=e[0].length;break;case f:this._bytes=e[0].toBytes(),this._length=e[0].length;break;case String:this.writeString(e[0]);break;case Number:this._bytes=new Uint8Array(e[0]);break;default:this._bytes=new Uint8Array(e[0]),this._length=this._bytes.length}break;case 2:this._bytes=new Uint8Array(e[0],e[1]),this._length=e[1];break;case 3:this._bytes=new Uint8Array(e[0],e[1],e[2]),this._length=e[2]}this.mark()}function l(e){if(0===e.length)return"";switch(e.constructor){case String:return e;case f:e=e.bytes;case ArrayBuffer:e=new Uint8Array(e);case Uint8Array:return u(e,e.length)[0];default:return String.fromCharCode.apply(String,e)}}var h=e.toBinaryString,v=new Uint8Array(0),p=1024;Object.defineProperties(f.prototype,{_bytes:{value:null,writable:!0},_length:{value:0,writable:!0},_wmark:{value:0,writable:!0},_off:{value:0,writable:!0},_rmark:{value:0,writable:!0},_grow:{value:function(e){var t=this._bytes,r=this._length+e,n=c(r);if(t){if(n*=2,n>t.length){var i=new Uint8Array(n);i.set(t),this._bytes=i}}else n=Math.max(n,p),this._bytes=new Uint8Array(n)}},length:{get:function(){return this._length}},capacity:{get:function(){return this._bytes?this._bytes.length:0}},position:{get:function(){return this._off}},bytes:{get:function(){return null===this._bytes?v:this._bytes.subarray(0,this._length)}},buffer:{get:function(){if(null===this._bytes)return v.buffer;if(this._bytes.buffer.slice)return this._bytes.buffer.slice(0,this._length);var e=new Uint8Array(this._length);return e.set(this._bytes.subarray(0,this._length)),e.buffer}},mark:{value:function(){this._wmark=this._length,this._rmark=this._off}},reset:{value:function(){this._length=this._wmark,this._off=this._rmark}},clear:{value:function(){this._bytes=null,this._length=0,this._wmark=0,this._off=0,this._rmark=0}},writeByte:{value:function(e){this._grow(1),this._bytes[this._length++]=e}},writeInt32BE:{value:function(e){if(e===(0|e)&&e<=2147483647)return this._grow(4),void(this._length=r(this._bytes,this._length,e));throw new TypeError("value is out of bounds")}},writeUInt32BE:{value:function(e){if((2147483647&e)+2147483648===e&&e>=0)return this._grow(4),void(this._length=r(this._bytes,this._length,0|e));throw new TypeError("value is out of bounds")}},writeInt32LE:{value:function(e){if(e===(0|e)&&e<=2147483647)return this._grow(4),void(this._length=n(this._bytes,this._length,e));throw new TypeError("value is out of bounds")}},writeUInt32LE:{value:function(e){if((2147483647&e)+2147483648===e&&e>=0)return this._grow(4),void(this._length=n(this._bytes,this._length,0|e));throw new TypeError("value is out of bounds")}},write:{value:function(e){var t=e.byteLength||e.length;if(0!==t){this._grow(t);var r=this._bytes,n=this._length;switch(e.constructor){case ArrayBuffer:r.set(new Uint8Array(e),n);break;case Uint8Array:r.set(e,n);break;case f:r.set(e.bytes,n);break;default:for(var i=0;ithis._length&&(e=this._length-this._off),0===e?v:this._bytes.subarray(this._off,this._off+=e)}},skip:{value:function(e){return this._off+e>this._length?(e=this._length-this._off,this._off=this._length):this._off+=e,e}},readBytes:{value:function(e){var t,r=Array.indexOf(this._bytes,e,this._off);return r===-1?(t=this._bytes.subarray(this._off,this._length),this._off=this._length):(t=this._bytes.subarray(this._off,r+1),this._off=r+1),t}},readUntil:{value:function(e){var t=Array.indexOf(this._bytes,e,this._off),r="";return t===this._off?this._off++:t===-1?(r=u(this._bytes.subarray(this._off,this._length))[0],this._off=this._length):(r=u(this._bytes.subarray(this._off,t))[0],this._off=t+1),r}},readAsciiString:{value:function(e){return this._off+e>this._length&&(e=this._length-this._off),0===e?"":h(this._bytes.subarray(this._off,this._off+=e))}},readStringAsBytes:{value:function(e){var t=s(this._bytes.subarray(this._off,this._length),e);return this._off+=t[1],t[0]}},readString:{value:function(e){var t=u(this._bytes.subarray(this._off,this._length),e);return this._off+=t[1],t[0]}},takeBytes:{value:function(){var e=this.bytes;return this.clear(),e}},toBytes:{value:function(){return new Uint8Array(this.bytes)}},toString:{value:function(){return u(this.bytes,this._length)[0]}},clone:{value:function(){return new f(this.toBytes())}},trunc:{value:function(){this._bytes=this._bytes.subarray(this._off,this._length),this._length=this._bytes.length,this._off=0,this._wmark=0,this._rmark=0}}}),Object.defineProperty(f,"toString",{ +value:l}),e.BytesIO=f}(hprose),function(e){"use strict";e.Tags={TagInteger:105,TagLong:108,TagDouble:100,TagNull:110,TagEmpty:101,TagTrue:116,TagFalse:102,TagNaN:78,TagInfinity:73,TagDate:68,TagTime:84,TagUTC:90,TagBytes:98,TagUTF8Char:117,TagString:115,TagGuid:103,TagList:97,TagMap:109,TagClass:99,TagObject:111,TagRef:114,TagPos:43,TagNeg:45,TagSemicolon:59,TagOpenbrace:123,TagClosebrace:125,TagQuote:34,TagPoint:46,TagFunctions:70,TagCall:67,TagResult:82,TagArgument:65,TagError:69,TagEnd:122}}(hprose),function(e,t){"use strict";function r(e,t){u.set(e,t),a[t]=e}function n(e){return u.get(e)}function i(e){return a[e]}var o=t.WeakMap,a=Object.create(null),u=new o;e.ClassManager=Object.create(null,{register:{value:r},getClassAlias:{value:n},getClass:{value:i}}),e.register=r,r(Object,"Object")}(hprose,hprose.global),function(e,t,r){"use strict";function n(e){var t=e.constructor,r=B.getClassAlias(t);if(r)return r;if(t.name)r=t.name;else{var n=t.toString();if(r=n.substr(0,n.indexOf("(")).replace(/(^\s*function\s*)|(\s*$)/gi,""),""===r||"Object"===r)return"function"==typeof e.getClassName?e.getClassName():"Object"}return"Object"!==r&&B.register(t,r),r}function i(e){Object.defineProperties(this,{_stream:{value:e},_ref:{value:new O,writable:!0}})}function o(e){return new i(e)}function a(e,t){Object.defineProperties(this,{stream:{value:e},_classref:{value:Object.create(null),writable:!0},_fieldsref:{value:[],writable:!0},_refer:{value:t?A:o(e)}})}function u(e,t){var i=e.stream;if(t===r||null===t)return void i.writeByte(E.TagNull);switch(t.constructor){case Function:return void i.writeByte(E.TagNull);case Number:return void s(e,t);case Boolean:return void l(e,t);case String:switch(t.length){case 0:return void i.writeByte(E.TagEmpty);case 1:return i.writeByte(E.TagUTF8Char),void i.writeString(t)}return void e.writeStringWithRef(t);case Date:return void e.writeDateWithRef(t);case O:return void e.writeMapWithRef(t);case ArrayBuffer:case Uint8Array:case S:return void e.writeBytesWithRef(t);case Int8Array:case Int16Array:case Int32Array:case Uint16Array:case Uint32Array:return void w(e,t);case Float32Array:case Float64Array:return void m(e,t);default:if(Array.isArray(t))e.writeListWithRef(t);else{var o=n(t);"Object"===o?e.writeMapWithRef(t):e.writeObjectWithRef(t)}}}function s(e,t){var r=e.stream;t=t.valueOf(),t===(0|t)?0<=t&&t<=9?r.writeByte(t+48):(r.writeByte(E.TagInteger),r.writeAsciiString(""+t),r.writeByte(E.TagSemicolon)):isNaN(t)?r.writeByte(E.TagNaN):isFinite(t)?(r.writeByte(E.TagDouble),r.writeAsciiString(""+t),r.writeByte(E.TagSemicolon)):(r.writeByte(E.TagInfinity),r.writeByte(t>0?E.TagPos:E.TagNeg))}function c(e,t){var r=e.stream;0<=t&&t<=9?r.writeByte(t+48):(t<-2147483648||t>2147483647?r.writeByte(E.TagLong):r.writeByte(E.TagInteger),r.writeAsciiString(""+t),r.writeByte(E.TagSemicolon))}function f(e,t){var r=e.stream;isNaN(t)?r.writeByte(E.TagNaN):isFinite(t)?(r.writeByte(E.TagDouble),r.writeAsciiString(""+t),r.writeByte(E.TagSemicolon)):(r.writeByte(E.TagInfinity),r.writeByte(t>0?E.TagPos:E.TagNeg))}function l(e,t){e.stream.writeByte(t.valueOf()?E.TagTrue:E.TagFalse)}function h(e,t){e._refer.set(t);var r=e.stream,n=("0000"+t.getUTCFullYear()).slice(-4),i=("00"+(t.getUTCMonth()+1)).slice(-2),o=("00"+t.getUTCDate()).slice(-2),a=("00"+t.getUTCHours()).slice(-2),u=("00"+t.getUTCMinutes()).slice(-2),s=("00"+t.getUTCSeconds()).slice(-2),c=("000"+t.getUTCMilliseconds()).slice(-3);r.writeByte(E.TagDate),r.writeAsciiString(n+i+o),r.writeByte(E.TagTime),r.writeAsciiString(a+u+s),"000"!==c&&(r.writeByte(E.TagPoint),r.writeAsciiString(c)),r.writeByte(E.TagUTC)}function v(e,t){e._refer.set(t);var r=e.stream,n=("0000"+t.getFullYear()).slice(-4),i=("00"+(t.getMonth()+1)).slice(-2),o=("00"+t.getDate()).slice(-2),a=("00"+t.getHours()).slice(-2),u=("00"+t.getMinutes()).slice(-2),s=("00"+t.getSeconds()).slice(-2),c=("000"+t.getMilliseconds()).slice(-3);"00"===a&&"00"===u&&"00"===s&&"000"===c?(r.writeByte(E.TagDate),r.writeAsciiString(n+i+o)):"1970"===n&&"01"===i&&"01"===o?(r.writeByte(E.TagTime),r.writeAsciiString(a+u+s),"000"!==c&&(r.writeByte(E.TagPoint),r.writeAsciiString(c))):(r.writeByte(E.TagDate),r.writeAsciiString(n+i+o),r.writeByte(E.TagTime),r.writeAsciiString(a+u+s),"000"!==c&&(r.writeByte(E.TagPoint),r.writeAsciiString(c))),r.writeByte(E.TagSemicolon)}function p(e,t){e._refer.set(t);var r=e.stream,n=("00"+t.getHours()).slice(-2),i=("00"+t.getMinutes()).slice(-2),o=("00"+t.getSeconds()).slice(-2),a=("000"+t.getMilliseconds()).slice(-3);r.writeByte(E.TagTime),r.writeAsciiString(n+i+o),"000"!==a&&(r.writeByte(E.TagPoint),r.writeAsciiString(a)),r.writeByte(E.TagSemicolon)}function g(e,t){e._refer.set(t);var r=e.stream;r.writeByte(E.TagBytes);var n=t.byteLength||t.length;n>0?(r.writeAsciiString(""+n),r.writeByte(E.TagQuote),r.write(t)):r.writeByte(E.TagQuote),r.writeByte(E.TagQuote)}function y(e,t){e._refer.set(t);var r=e.stream,n=t.length;r.writeByte(E.TagString),n>0?(r.writeAsciiString(""+n),r.writeByte(E.TagQuote),r.writeString(t)):r.writeByte(E.TagQuote),r.writeByte(E.TagQuote)}function d(e,t,r){e._refer.set(t);var n=e.stream,i=t.length;if(n.writeByte(E.TagList),i>0){n.writeAsciiString(""+i),n.writeByte(E.TagOpenbrace);for(var o=0;o0){r.writeAsciiString(""+o),r.writeByte(E.TagOpenbrace);for(var a=0;a0?(r.writeAsciiString(""+n),r.writeByte(E.TagOpenbrace),t.forEach(function(t,r){u(e,r),u(e,t)})):r.writeByte(E.TagOpenbrace),r.writeByte(E.TagClosebrace)}function _(e,t){var r,i,o=e.stream,a=n(t);if(a in e._classref)i=e._classref[a],r=e._fieldsref[i];else{r=[];for(var s in t)t.hasOwnProperty(s)&&"function"!=typeof t[s]&&(r[r.length]=s.toString());i=j(e,a,r)}o.writeByte(E.TagObject),o.writeAsciiString(""+i),o.writeByte(E.TagOpenbrace),e._refer.set(t);for(var c=r.length,f=0;f0){n.writeAsciiString(""+i),n.writeByte(E.TagOpenbrace);for(var o=0;o=0;)r[r.length]=n,n=e.indexOf("_",n+1);if(r.length>0){var i=e.split("");if(t=w(i,r,0,"."),null===t&&(t=w(i,r,0,"_")),"function"==typeof t)return re.register(t,e),t}return t=function(){},Object.defineProperty(t.prototype,"getClassName",{value:function(){return e}}),re.register(t,e),t}function b(e,t){var r=e.readUntil(t);return 0===r.length?0:parseInt(r,10)}function T(e){var t=e.stream,r=t.readByte();switch(r){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return r-48;case te.TagInteger:return _(t);case te.TagLong:return O(t);case te.TagDouble:return E(t);case te.TagNull:return null;case te.TagEmpty:return"";case te.TagTrue:return!0;case te.TagFalse:return!1;case te.TagNaN:return NaN;case te.TagInfinity:return A(t);case te.TagDate:return C(e);case te.TagTime:return x(e);case te.TagBytes:return P(e);case te.TagUTF8Char:return U(e);case te.TagString:return N(e);case te.TagGuid:return W(e);case te.TagList:return z(e);case te.TagMap:return e.useHarmonyMap?Q(e):H(e);case te.TagClass:return K(e),$(e);case te.TagObject:return J(e);case te.TagRef:return V(e);case te.TagError:throw new Error(F(e));default:n(r)}}function _(e){return b(e,te.TagSemicolon)}function j(e){var t=e.readByte();switch(t){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return t-48;case te.TagInteger:return _(e);default:n(t)}}function O(e){var t=e.readUntil(te.TagSemicolon),r=parseInt(t,10);return r.toString()===t?r:t}function S(e){var t=e.readByte();switch(t){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return t-48;case te.TagInteger:case te.TagLong:return O(e);default:n(t)}}function E(e){return parseFloat(e.readUntil(te.TagSemicolon))}function B(e){var t=e.readByte();switch(t){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return t-48;case te.TagInteger:case te.TagLong:case te.TagDouble:return E(e);case te.TagNaN:return NaN;case te.TagInfinity:return A(e);default:n(t)}}function A(e){return e.readByte()===te.TagNeg?-(1/0):1/0}function k(e){var t=e.readByte();switch(t){case te.TagTrue:return!0;case te.TagFalse:return!1;default:n(t)}}function C(e){var t,r=e.stream,n=parseInt(r.readAsciiString(4),10),i=parseInt(r.readAsciiString(2),10)-1,o=parseInt(r.readAsciiString(2),10),a=r.readByte();if(a===te.TagTime){var u=parseInt(r.readAsciiString(2),10),s=parseInt(r.readAsciiString(2),10),c=parseInt(r.readAsciiString(2),10),f=0;a=r.readByte(),a===te.TagPoint&&(f=parseInt(r.readAsciiString(3),10),a=r.readByte(),a>=48&&a<=57&&(r.skip(2),a=r.readByte(),a>=48&&a<=57&&(r.skip(2),a=r.readByte()))),t=a===te.TagUTC?new Date(Date.UTC(n,i,o,u,s,c,f)):new Date(n,i,o,u,s,c,f)}else t=a===te.TagUTC?new Date(Date.UTC(n,i,o)):new Date(n,i,o);return e.refer.set(t),t}function I(e){var t=e.stream.readByte();switch(t){case te.TagNull:return null;case te.TagDate:return C(e);case te.TagRef:return V(e);default:n(t)}}function x(e){var t,r=e.stream,n=parseInt(r.readAsciiString(2),10),i=parseInt(r.readAsciiString(2),10),o=parseInt(r.readAsciiString(2),10),a=0,u=r.readByte();return u===te.TagPoint&&(a=parseInt(r.readAsciiString(3),10),u=r.readByte(),u>=48&&u<=57&&(r.skip(2),u=r.readByte(),u>=48&&u<=57&&(r.skip(2),u=r.readByte()))),t=u===te.TagUTC?new Date(Date.UTC(1970,0,1,n,i,o,a)):new Date(1970,0,1,n,i,o,a),e.refer.set(t),t}function R(e){var t=e.stream.readByte();switch(t){case te.TagNull:return null;case te.TagTime:return x(e);case te.TagRef:return V(e);default:n(t)}}function P(e){var t=e.stream,r=b(t,te.TagQuote),n=t.read(r);return t.skip(1),e.refer.set(n),n}function M(e){var t=e.stream.readByte();switch(t){case te.TagNull:return null;case te.TagEmpty:return new Uint8Array(0);case te.TagBytes:return P(e);case te.TagRef:return V(e);default:n(t)}}function U(e){return e.stream.readString(1)}function L(e){var t=e.stream,r=t.readString(b(t,te.TagQuote));return t.skip(1),r}function N(e){var t=L(e);return e.refer.set(t),t}function F(e){var t=e.stream.readByte();switch(t){case te.TagNull:return null;case te.TagEmpty:return"";case te.TagUTF8Char:return U(e);case te.TagString:return N(e);case te.TagRef:return V(e);default:n(t)}}function W(e){var t=e.stream;t.skip(1);var r=t.readAsciiString(36);return t.skip(1),e.refer.set(r),r}function D(e){var t=e.stream.readByte();switch(t){case te.TagNull:return null;case te.TagGuid:return W(e);case te.TagRef:return V(e);default:n(t)}}function z(e){var t=e.stream,r=[];e.refer.set(r);for(var n=b(t,te.TagOpenbrace),i=0;i=0?t:void n(t,e)}},unserialize:{value:function(){return T(this)}},readInteger:{value:function(){return j(this.stream)}},readLong:{value:function(){return S(this.stream)}},readDouble:{value:function(){return B(this.stream)}},readBoolean:{value:function(){return k(this.stream)}},readDateWithoutTag:{value:function(){return C(this)}},readDate:{value:function(){return I(this)}},readTimeWithoutTag:{value:function(){return x(this)}},readTime:{value:function(){return R(this)}},readBytesWithoutTag:{value:function(){return P(this)}},readBytes:{value:function(){return M(this)}},readStringWithoutTag:{value:function(){return N(this)}},readString:{value:function(){return F(this)}},readGuidWithoutTag:{value:function(){return W(this)}},readGuid:{value:function(){return D(this)}},readListWithoutTag:{value:function(){return z(this)}},readList:{value:function(){return q(this)}},readMapWithoutTag:{value:function(){return this.useHarmonyMap?Q(this):H(this)}},readMap:{value:function(){return this.useHarmonyMap?Y(this):G(this)}},readObjectWithoutTag:{value:function(){return J(this)}},readObject:{value:function(){return $(this)}},reset:{value:function(){this.classref.length=0,this.refer.reset()}}}),e.Reader=X}(hprose,hprose.global),function(e){"use strict";function t(e,t){var r=new n,o=new i(r,t);return o.serialize(e),r}function r(e,t,r){return e instanceof n||(e=new n(e)),new o(e,t,r).unserialize()}var n=e.BytesIO,i=e.Writer,o=e.Reader;e.Formatter={serialize:function(e,r){return t(e,r).bytes},unserialize:r},e.serialize=t,e.unserialize=r}(hprose),function(e){"use strict";e.ResultMode={Normal:0,Serialized:1,Raw:2,RawWithEndTag:3},e.Normal=e.ResultMode.Normal,e.Serialized=e.ResultMode.Serialized,e.Raw=e.ResultMode.Raw,e.RawWithEndTag=e.ResultMode.RawWithEndTag}(hprose),function(e,t,r){"use strict";function n(){}function i(e,t,i){function o(e,t){for(var r=0,n=Ve.length;r=0;r--)e=Ve[r].inputFilter(e,t);return e}function p(e,t){return e=o(e,t),ut(e,t).then(function(e){if(!t.oneway)return a(e,t)})}function _(e,t){return ht.sendAndReceive(e,t).catchError(function(r){var n=S(e,t);if(null!==n)return n;throw r})}function j(e,t,r,n){at(e,t).then(r,n)}function O(){var e=Le.length;if(e>1){var t=Ne+1;t>=e&&(t=0,Ge++),Ne=t,Ue=Le[Ne]}else Ge++;Ke(ht)}function S(e,t){if(t.failswitch&&O(),t.idempotent&&t.retried5e3&&(r=5e3),r>0?v.delayed(r,function(){return _(e,t)}):_(e,t)}return null}function E(e){var t={retry:ze,retried:0,idempotent:!0,failswitch:!0,timeout:De,client:ht,userdata:{}},r=function(t){var r=null;try{var n=new f(t),i=new h(n,(!0)),o=n.readByte();switch(o){case s.TagError:r=new Error(i.readString());break;case s.TagFunctions:var a=i.readList();i.checkTag(s.TagEnd),k(e,a);break;default:r=new Error("Wrong Response:\r\n"+f.toString(t))}}catch(e){r=e}null!==r?et.reject(r):et.resolve(e)};j(y,t,r,et.reject)}function B(e,t){return function(){return Xe?M(e,t,Array.slice(arguments),!0):v.all(arguments).then(function(r){return M(e,t,r,!1)})}}function A(e,t,n,i,o){if(t[i]===r&&(t[i]={},typeof o!==w&&o.constructor!==Object||(o=[o]),Array.isArray(o)))for(var a=0;a0||r.byref)&&(i.reset(),i.writeList(t),r.byref&&i.writeBoolean(!0)),n}function P(e,t,r,n){return Qe?v.promise(function(i,o){Ye.push({batch:n,name:e,args:t,context:r,resolve:i,reject:o})}):n?W(e,t,r):F(e,t,r)}function M(e,t,r,n){return P(t,r,x(e,t,r,n),n)}function U(e,t,r,n){try{r.onerror?r.onerror(e,t):$e(e,t),n(t)}catch(e){n(e)}}function L(e,t,r){var n=R(e,t,r);return n.writeByte(s.TagEnd),v.promise(function(e,i){j(n.bytes,r,function(n){if(r.oneway)return void e();var o=null,a=null;try{if(r.mode===c.RawWithEndTag)o=n;else if(r.mode===c.Raw)o=n.subarray(0,n.byteLength-1);else{var u=new f(n),l=new h(u,(!1),r.useHarmonyMap),v=u.readByte();if(v===s.TagResult){if(o=r.mode===c.Serialized?l.readRaw():l.unserialize(),v=u.readByte(),v===s.TagArgument){l.reset();var p=l.readList();C(p,t),v=u.readByte()}}else v===s.TagError&&(a=new Error(l.readString()),v=u.readByte());v!==s.TagEnd&&(a=new Error("Wrong Response:\r\n"+f.toString(n)))}}catch(e){a=e}a?i(a):e(o)},i)})}function N(e){return function(){e&&(Qe=!1,u(function(e){e.forEach(function(e){"settings"in e?H(e.settings).then(e.resolve,e.reject):P(e.name,e.args,e.context,e.batch).then(e.resolve,e.reject)})},Ye),Ye=[])}}function F(e,t,r){r.sync&&(Qe=!0);var n=v.promise(function(n,i){it(e,t,r).then(function(o){try{if(r.onsuccess)try{r.onsuccess(o,t)}catch(t){r.onerror&&r.onerror(e,t),i(t)}n(o)}catch(e){i(e)}},function(t){U(e,t,r,i)})});return n.whenComplete(N(r.sync)),n}function W(e,t,r){return v.promise(function(n,i){Ze.push({args:t,name:e,context:r,resolve:n,reject:i})})}function D(e){var t={timeout:De,retry:ze,retried:0,idempotent:qe,failswitch:He,oneway:!1,sync:!1,client:ht,userdata:{}};for(var r in e)r in t&&(t[r]=e[r]);return t}function z(e,t){var r=e.reduce(function(e,t){return e.write(R(t.name,t.args,t.context)),e},new f);return r.writeByte(s.TagEnd),v.promise(function(n,i){j(r.bytes,t,function(r){if(t.oneway)return void n(e);var o=-1,a=new f(r),u=new h(a,(!1)),l=a.readByte();try{for(;l!==s.TagEnd;){var v=null,p=null,g=e[++o].context.mode;if(g>=c.Raw&&(v=new f),l===s.TagResult){if(g===c.Serialized?v=u.readRaw():g>=c.Raw?(v.writeByte(s.TagResult),v.write(u.readRaw())):(u.useHarmonyMap=e[o].context.useHarmonyMap,u.reset(),v=u.unserialize()),l=a.readByte(),l===s.TagArgument){if(g>=c.Raw)v.writeByte(s.TagArgument),v.write(u.readRaw());else{u.reset();var y=u.readList();C(y,e[o].args)}l=a.readByte()}}else l===s.TagError&&(g>=c.Raw?(v.writeByte(s.TagError),v.write(u.readRaw())):(u.reset(),p=new Error(u.readString())),l=a.readByte());if([s.TagEnd,s.TagResult,s.TagError].indexOf(l)<0)return void i(new Error("Wrong Response:\r\n"+f.toString(r)));g>=c.Raw?(g===c.RawWithEndTag&&v.writeByte(s.TagEnd),e[o].result=v.bytes):e[o].result=v,e[o].error=p}}catch(e){return void i(e)}n(e)},i)})}function q(){Xe=!0}function H(e){if(e=e||{},Xe=!1,Qe)return v.promise(function(t,r){Ye.push({batch:!0,settings:e,resolve:t,reject:r})});var t=Ze.length;if(0===t)return v.value([]);var r=D(e);r.sync&&(Qe=!0);var n=Ze;Ze=[];var i=v.promise(function(e,t){ot(n,r).then(function(t){t.forEach(function(e){if(e.error)U(e.name,e.error,e.context,e.reject);else try{if(e.context.onsuccess)try{e.context.onsuccess(e.result,e.args)}catch(t){e.context.onerror&&e.context.onerror(e.name,t),e.reject(t)}e.resolve(e.result)}catch(t){e.reject(t)}delete e.context,delete e.resolve,delete e.reject}),e(t)},function(e){n.forEach(function(t){"reject"in t&&U(t.name,e,t.context,t.reject)}),t(e)})});return i.whenComplete(N(r.sync)),i}function G(){return $e}function Q(e){typeof e===b&&($e=e)}function Y(){return Ke}function J(e){typeof e===b&&(Ke=e)}function $(){return Ue}function K(){return Le}function V(e){if(typeof e===w)Le=[e];else{if(!Array.isArray(e))return;Le=e.slice(0),Le.sort(function(){return Math.random()-.5})}Ne=0,Ue=Le[Ne]}function X(){return He}function Z(e){He=!!e}function ee(){return Ge}function te(){return De}function re(e){De="number"==typeof e?0|e:0}function ne(){return ze}function ie(e){ze="number"==typeof e?0|e:0}function oe(){return qe}function ae(e){qe=!!e}function ue(e){nt=!!e}function se(){return nt}function ce(){return Fe}function fe(e){Fe=!!e}function le(){return We}function he(e){We=!!e}function ve(){return Je}function pe(e){Je=!!e}function ge(){return 0===Ve.length?null:1===Ve.length?Ve[0]:Ve.slice()}function ye(e){Ve.length=0,Array.isArray(e)?e.forEach(function(e){de(e)}):de(e)}function de(e){e&&"function"==typeof e.inputFilter&&"function"==typeof e.outputFilter&&Ve.push(e)}function we(e){var t=Ve.indexOf(e);return t!==-1&&(Ve.splice(t,1),!0)}function me(){return Ve}function be(e,t,n){n===r&&(typeof t===d&&(n=t,t=!1),t||(typeof e===d?(n=e,e=!1):(e&&e.constructor===Object||Array.isArray(e))&&(t=e,e=!1)));var i=ht;return n&&(i={}),e||Ue?(e&&(Ue=e),(typeof t===w||t&&t.constructor===Object)&&(t=[t]),Array.isArray(t)?(k(i,t),et.resolve(i),i):(u(E,i),et)):new Error("You should set server uri first!")}function Te(e,t,r){var i=arguments.length;if(i<1||typeof e!==w)throw new Error("name must be a string");if(1===i&&(t=[]),2===i&&!Array.isArray(t)){var o=[];typeof t!==b&&o.push(n),o.push(t),t=o}if(i>2){typeof r!==b&&t.push(n);for(var a=2;a=0&&(i[o]=i[i.length-1],i.length--),0===i.length&&delete e[t]}}else delete e[t]}function Ee(e,t,n){if(typeof e!==w)throw new TypeError("topic name must be a string.");if(t===r||null===t){if(typeof n!==b)return void delete tt[e];t=n}if(typeof t===b&&(n=t,t=null),null===t)if(null===rt){if(tt[e]){var i=tt[e];for(t in i)Se(i,t,n)}}else rt.then(function(t){Ee(e,t,n)});else v.isPromise(t)?t.then(function(t){Ee(e,t,n)}):Se(tt[e],t,n);g(tt[e])&&delete tt[e]}function Be(e){return!!tt[e]}function Ae(){var e=[];for(var t in tt)e.push(t);return e}function ke(){return rt}function Ce(){return null===rt&&(rt=M(ht,"#",[],!1)),rt}function Ie(e){st.push(e),it=st.reduceRight(function(e,t){return function(r,n,i){return v.sync(function(){return t(r,n,i,e)})}},L)}function xe(e){ct.push(e),ot=ct.reduceRight(function(e,t){return function(r,n){return v.sync(function(){return t(r,n,e)})}},z)}function Re(e){ft.push(e),at=ft.reduceRight(function(e,t){return function(r,n){return v.sync(function(){return t(r,n,e)})}},p)}function Pe(e){lt.push(e),ut=lt.reduceRight(function(e,t){return function(r,n){return v.sync(function(){return t(r,n,e)})}},_)}function Me(e){return Ie(e),ht}var Ue,Le=[],Ne=-1,Fe=!1,We=!1,De=3e4,ze=10,qe=!1,He=!1,Ge=0,Qe=!1,Ye=[],Je=!1,$e=n,Ke=n,Ve=[],Xe=!1,Ze=[],et=new v,tt=Object.create(null),rt=null,nt=!0,it=L,ot=z,at=p,ut=_,st=[],ct=[],ft=[],lt=[],ht=this;Ce.sync=!0,Ce.idempotent=!0,Ce.failswitch=!0;var vt=Object.create(null,{begin:{value:q},end:{value:H},use:{value:function(e){return xe(e),vt}}}),pt=Object.create(null,{use:{value:function(e){return Re(e),pt}}}),gt=Object.create(null,{use:{value:function(e){return Pe(e),gt}}});Object.defineProperties(this,{"#":{value:Ce},onerror:{get:G,set:Q},onfailswitch:{get:Y,set:J},uri:{get:$},uriList:{get:K,set:V},id:{get:ke},failswitch:{get:X,set:Z},failround:{get:ee},timeout:{get:te,set:re},retry:{get:ne,set:ie},idempotent:{get:oe,set:ae},keepAlive:{get:se,set:ue},byref:{get:ce,set:fe},simple:{get:le,set:he},useHarmonyMap:{get:ve,set:pe},filter:{get:ge,set:ye},addFilter:{value:de},removeFilter:{value:we},filters:{get:me},useService:{value:be},invoke:{value:Te},ready:{value:_e},subscribe:{value:Oe},unsubscribe:{value:Ee},isSubscribed:{value:Be},subscribedList:{value:Ae},use:{value:Me},batch:{value:vt},beforeFilter:{value:pt},afterFilter:{value:gt}}),i&&typeof i===T&&["failswitch","timeout","retry","idempotent","keepAlive","byref","simple","useHarmonyMap","filter"].forEach(function(e){e in i&&(ht[e]=i[e])}),e&&(V(e),be(t))}function o(e){var t=p(e),r=t.protocol;if("http:"!==r&&"https:"!==r&&"tcp:"!==r&&"tcp4:"!==r&&"tcp6:"!==r&&"tcps:"!==r&&"tcp4s:"!==r&&"tcp6s:"!==r&&"tls:"!==r&&"ws:"!==r&&"wss:"!==r)throw new Error("The "+r+" client isn't implemented.")}function a(t,r,n){try{return e.HttpClient.create(t,r,n)}catch(e){}try{return e.TcpClient.create(t,r,n)}catch(e){}try{return e.WebSocketClient.create(t,r,n)}catch(e){}if("string"==typeof t)o(t);else if(Array.isArray(t))throw t.forEach(function(e){o(e)}),new Error("Not support multiple protocol.");throw new Error("You should set server uri first!")}var u=t.setImmediate,s=e.Tags,c=e.ResultMode,f=e.BytesIO,l=e.Writer,h=e.Reader,v=e.Future,p=e.parseuri,g=e.isObjectEmpty,y=new Uint8Array(1);y[0]=s.TagEnd;var d="boolean",w="string",m="number",b="function",T="object";Object.defineProperty(i,"create",{value:a}),e.Client=i}(hprose,hprose.global),function(e,t,r){"use strict";function n(){}function i(e,o,a){function l(e,t){var i=new s,o=new h;o.open("POST",O.uri,!0),p&&(o.withCredentials="true"),o.responseType="arraybuffer";for(var a in T)o.setRequestHeader(a,T[a]);if(o.onload=function(){o.onload=n,o.status&&(200===o.status?i.resolve(new Uint8Array(o.response)):i.reject(new Error(o.status+":"+o.statusText)))},o.onerror=function(){i.reject(new Error("error"))},o.upload!==r&&(o.upload.onprogress=_),o.onprogress=j,t.timeout>0&&(i=i.timeout(t.timeout).catchError(function(e){throw o.onload=n,o.onerror=n,o.abort(),e},function(e){return e instanceof f; +})),e.constructor===String||ArrayBuffer.isView)o.send(e);else if(e.buffer.slice)o.send(e.buffer.slice(0,e.length));else{var u=new Uint8Array(e.length);u.set(e),o.send(u.buffer)}return i}function v(e,r){var n=new s;return t.api.ajax({url:O.uri(),method:"post",data:{body:c.toString(e)},timeout:r.timeout,dataType:"text",headers:T,certificate:O.certificate},function(e,t){e?n.resolve(new c(e).takeBytes()):n.reject(new Error(t.msg))}),n}function g(e,r){var n="undefined"!=typeof t.api&&"undefined"!=typeof t.api.ajax,i=n?v(e,r):l(e,r);return r.oneway&&i.resolve(),i}function y(e){"function"==typeof e&&(_=e)}function d(){return _}function w(e){"function"==typeof e&&(j=e)}function m(){return j}function b(e,t){"content-type"!==e.toLowerCase()&&"content-length"!==e.toLowerCase()&&(t?T[e]=t:delete T[e])}if(this.constructor!==i)return new i(e,o,a);u.call(this,e,o,a);var T=Object.create(null),_=n,j=n,O=this;Object.defineProperties(this,{onprogress:{get:d,set:y},onRequestProgress:{get:d,set:y},onResponseProgress:{get:m,set:w},setHeader:{value:b},sendAndReceive:{value:g}})}function o(e){var t=g(e);if("http:"!==t.protocol&&"https:"!==t.protocol)throw new Error("This client desn't support "+t.protocol+" scheme.")}function a(e,t,r){if("string"==typeof e)o(e);else{if(!Array.isArray(e))throw new Error("You should set server uri first!");e.forEach(function(e){o(e)})}return new i(e,t,r)}var u=e.Client,s=e.Future,c=e.BytesIO,f=t.TimeoutError,l=t.location!==r&&"file:"===t.location.protocol,h=t.XMLHttpRequest,v="undefined"!=typeof h,p=!l&&v&&"withCredentials"in new h,g=e.parseuri;Object.defineProperty(i,"create",{value:a}),e.HttpClient=i}(hprose,hprose.global),function(e,t,r){"use strict";function n(){}function i(e,t,o){function a(){return m<2147483647?++m:m=0}function l(e,t){var r=new u;r.writeInt32BE(e),t.constructor===String?r.writeString(t):r.write(t);var n=r.bytes;ArrayBuffer.isView?O.send(n):n.buffer.slice?O.send(n.buffer.slice(0,n.length)):O.send(n.buffer)}function v(e){j.resolve(e)}function p(e){var t=new u(e.data),n=t.readInt32BE(),i=T[n];if(delete T[n],i!==r&&(--b,i.resolve(t.read(t.length-4))),b<100&&_.length>0){++b;var o=_.pop();j.then(function(){l(o[0],o[1])})}0!==b||S.keepAlive||w()}function g(e){T.forEach(function(t,r){t.reject(new Error(e.code+":"+e.reason)),delete T[r]}),b=0,O=null}function y(){j=new c,O=new h(S.uri),O.binaryType="arraybuffer",O.onopen=v,O.onmessage=p,O.onerror=n,O.onclose=g}function d(e,t){var r=a(),n=new c;return T[r]=n,t.timeout>0&&(n=n.timeout(t.timeout).catchError(function(e){throw delete T[r],--b,e},function(e){return e instanceof f})),null!==O&&O.readyState!==h.CLOSING&&O.readyState!==h.CLOSED||y(),b<100?(++b,j.then(function(){l(r,e)})):_.push([r,e]),t.oneway&&n.resolve(),n}function w(){null!==O&&(O.onopen=n,O.onmessage=n,O.onclose=n,O.close())}if("undefined"==typeof h)throw new Error("WebSocket is not supported by this browser.");if(this.constructor!==i)return new i(e,t,o);s.call(this,e,t,o);var m=0,b=0,T=[],_=[],j=null,O=null,S=this;Object.defineProperties(this,{sendAndReceive:{value:d},close:{value:w}})}function o(e){var t=l(e);if("ws:"!==t.protocol&&"wss:"!==t.protocol)throw new Error("This client desn't support "+t.protocol+" scheme.")}function a(e,t,r){if("string"==typeof e)o(e);else{if(!Array.isArray(e))throw new Error("You should set server uri first!");e.forEach(function(e){o(e)})}return new i(e,t,r)}var u=e.BytesIO,s=e.Client,c=e.Future,f=t.TimeoutError,l=e.parseuri,h=t.WebSocket||t.MozWebSocket;Object.defineProperty(i,"create",{value:a}),e.WebSocketClient=i}(hprose,hprose.global),function(e,t,r){"use strict";function n(){}function i(e){var t=s[e.socketId];t.onreceive(e.data)}function o(e){var t=s[e.socketId];t.onerror(e.resultCode),t.destroy()}function a(){null===c&&(c=t.chrome.sockets.tcp,c.onReceive.addListener(i),c.onReceiveError.addListener(o)),this.socketId=new u,this.connected=!1,this.timeid=r,this.onclose=n,this.onconnect=n,this.onreceive=n,this.onerror=n}var u=e.Future,s={},c=null;Object.defineProperties(a.prototype,{connect:{value:function(e,t,r){var n=this;c.create({persistent:r&&r.persistent},function(i){r&&("noDelay"in r&&c.setNoDelay(i.socketId,r.noDelay,function(e){e<0&&(n.socketId.reject(e),c.disconnect(i.socketId),c.close(i.socketId),n.onclose())}),"keepAlive"in r&&c.setKeepAlive(i.socketId,r.keepAlive,function(e){e<0&&(n.socketId.reject(e),c.disconnect(i.socketId),c.close(i.socketId),n.onclose())})),r&&r.tls?c.setPaused(i.socketId,!0,function(){c.connect(i.socketId,e,t,function(e){e<0?(n.socketId.reject(e),c.disconnect(i.socketId),c.close(i.socketId),n.onclose()):c.secure(i.socketId,function(t){0!==t?(n.socketId.reject(e),c.disconnect(i.socketId),c.close(i.socketId),n.onclose()):c.setPaused(i.socketId,!1,function(){n.socketId.resolve(i.socketId)})})})}):c.connect(i.socketId,e,t,function(e){e<0?(n.socketId.reject(e),c.disconnect(i.socketId),c.close(i.socketId),n.onclose()):n.socketId.resolve(i.socketId)})}),this.socketId.then(function(e){s[e]=n,n.connected=!0,n.onconnect(e)},function(e){n.onerror(e)})}},send:{value:function(e){var t=this,r=new u;return this.socketId.then(function(n){c.send(n,e,function(e){e.resultCode<0?(t.onerror(e.resultCode),r.reject(e.resultCode),t.destroy()):r.resolve(e.bytesSent)})}),r}},destroy:{value:function(){var e=this;this.connected=!1,this.socketId.then(function(t){c.disconnect(t),c.close(t),delete s[t],e.onclose()})}},ref:{value:function(){this.socketId.then(function(e){c.setPaused(e,!1)})}},unref:{value:function(){this.socketId.then(function(e){c.setPaused(e,!0)})}},clearTimeout:{value:function(){this.timeid!==r&&t.clearTimeout(this.timeid)}},setTimeout:{value:function(e,r){this.clearTimeout(),this.timeid=t.setTimeout(r,e)}}}),e.ChromeTcpSocket=a}(hprose,hprose.global),function(e,t,r){"use strict";function n(){}function i(){null===l&&(l=t.api.require("socketManager")),this.socketId=new o,this.connected=!1,this.timeid=r,this.onclose=n,this.onconnect=n,this.onreceive=n,this.onerror=n}var o=e.Future,a=t.atob,u=t.btoa,s=e.toUint8Array,c=e.toBinaryString,f={},l=null;Object.defineProperties(i.prototype,{connect:{value:function(e,t,r){var n=this;l.createSocket({type:"tcp",host:e,port:t,timeout:r.timeout,returnBase64:!0},function(e){if(e)switch(e.state){case 101:break;case 102:n.socketId.resolve(e.sid);break;case 103:n.onreceive(s(a(e.data.replace(/\s+/g,""))));break;case 201:n.socketId.reject(new Error("Create TCP socket failed"));break;case 202:n.socketId.reject(new Error("TCP connection failed"));break;case 203:n.onclose(),n.onerror(new Error("Abnormal disconnect connection"));break;case 204:n.onclose();break;case 205:n.onclose(),n.onerror(new Error("Unknown error"))}}),this.socketId.then(function(e){f[e]=n,n.connected=!0,n.onconnect(e)},function(e){n.onerror(e)})}},send:{value:function(e){var t=this,r=new o;return this.socketId.then(function(n){l.write({sid:n,data:u(c(e)),base64:!0},function(e,n){e.status?r.resolve():(t.onerror(new Error(n.msg)),r.reject(n.msg),t.destroy())})}),r}},destroy:{value:function(){var e=this;this.connected=!1,this.socketId.then(function(t){l.closeSocket({sid:t},function(t,r){t.status||e.onerror(new Error(r.msg))}),delete f[t]})}},ref:{value:n},unref:{value:n},clearTimeout:{value:function(){this.timeid!==r&&t.clearTimeout(this.timeid)}},setTimeout:{value:function(e,r){this.clearTimeout(),this.timeid=t.setTimeout(r,e)}}}),e.APICloudTcpSocket=i}(hprose,hprose.global),function(e,t,r){"use strict";function n(){}function i(e,t){e.onreceive=function(r){"receiveEntry"in e||(e.receiveEntry={stream:new p,headerLength:4,dataLength:-1,id:null});var n=e.receiveEntry,i=n.stream,o=n.headerLength,a=n.dataLength,u=n.id;for(i.write(r);;){if(a<0&&i.length>=o&&(a=i.readInt32BE(),0!==(2147483648&a)&&(a&=2147483647,o=8)),8===o&&null===u&&i.length>=o&&(u=i.readInt32BE()),!(a>=0&&i.length-o>=a))break;t(i.read(a),u),o=4,u=null,i.trunc(),a=-1}n.stream=i,n.headerLength=o,n.dataLength=a,n.id=u}}function o(e){e&&(this.client=e,this.uri=this.client.uri,this.size=0,this.pool=[],this.requests=[])}function a(e){o.call(this,e)}function u(e){o.call(this,e)}function s(e,t,r){function n(){return w}function i(e){w=!!e}function o(){return m}function c(e){m=!!e}function f(){return b}function l(e){"number"==typeof e?(b=0|e,b<1&&(b=10)):b=10}function h(){return T}function p(e){T="number"==typeof e?0|e:0}function y(e,t){var r=new g;return m?(null!==_&&_.uri===d.uri||(_=new a(d)),_.sendAndReceive(e,r,t)):(null!==j&&j.uri===d.uri||(j=new u(d)),j.sendAndReceive(e,r,t)),t.oneway&&r.resolve(),r}if(this.constructor!==s)return new s(e,t,r);v.call(this,e,t,r);var d=this,w=!0,m=!1,b=10,T=3e4,_=null,j=null;Object.defineProperties(this,{noDelay:{get:n,set:i},fullDuplex:{get:o,set:c},maxPoolSize:{get:f,set:l},poolTimeout:{get:h,set:p},sendAndReceive:{value:y}})}function c(e){var t=d(e),r=t.protocol;if("tcp:"!==r&&"tcp4:"!==r&&"tcp6:"!==r&&"tcps:"!==r&&"tcp4s:"!==r&&"tcp6s:"!==r&&"tls:"!==r)throw new Error("This client desn't support "+r+" scheme.")}function f(e,t,r){if("string"==typeof e)c(e);else{if(!Array.isArray(e))throw new Error("You should set server uri first!");e.forEach(function(e){c(e)})}return new s(e,t,r)}var l=e.ChromeTcpSocket,h=e.APICloudTcpSocket,v=e.Client,p=e.BytesIO,g=e.Future,y=t.TimeoutError,d=e.parseuri;Object.defineProperties(o.prototype,{create:{value:function(){var e,r=d(this.uri),n=r.protocol,i=r.hostname,o=parseInt(r.port,10);if("tcp:"===n||"tcp4:"===n||"tcp6:"===n)e=!1;else{if("tcps:"!==n&&"tcp4s:"!==n&&"tcp6s:"!==n&&"tls:"!==n)throw new Error("Unsupported "+n+" protocol!");e=!0}var a;if(t.chrome&&t.chrome.sockets&&t.chrome.sockets.tcp)a=new l;else{if(!t.api||!t.api.require)throw new Error("TCP Socket is not supported by this browser or platform.");a=new h}var u=this;return a.connect(i,o,{persistent:!0,tls:e,timeout:this.client.timeout,noDelay:this.client.noDelay,keepAlive:this.client.keepAlive}),a.onclose=function(){--u.size},++this.size,a}}}),a.prototype=Object.create(o.prototype,{fetch:{value:function(){for(var e=this.pool;e.length>0;){var t=e.pop();if(t.connected)return 0===t.count&&(t.clearTimeout(),t.ref()),t}return null}},init:{value:function(e){var t=this;e.count=0,e.futures={},e.timeoutIds={},i(e,function(r,n){var i=e.futures[n];i&&(t.clean(e,n),0===e.count&&t.recycle(e),i.resolve(r))}),e.onerror=function(r){var n=e.futures;for(var i in n){var o=n[i];t.clean(e,i),o.reject(r)}}}},recycle:{value:function(e){e.unref(),e.setTimeout(this.client.poolTimeout,function(){e.destroy()})}},clean:{value:function(e,n){e.timeoutIds[n]!==r&&(t.clearTimeout(e.timeoutIds[n]),delete e.timeoutIds[n]),delete e.futures[n],--e.count,this.sendNext(e)}},sendNext:{value:function(e){if(e.count<10)if(this.requests.length>0){var t=this.requests.pop();t.push(e),this.send.apply(this,t)}else this.pool.lastIndexOf(e)<0&&this.pool.push(e)}},send:{value:function(e,r,n,i,o){var a=this,u=i.timeout;u>0&&(o.timeoutIds[n]=t.setTimeout(function(){a.clean(o,n),0===o.count&&a.recycle(o),r.reject(new y("timeout"))},u)),o.count++,o.futures[n]=r;var s=e.length,c=new p(8+s);c.writeInt32BE(2147483648|s),c.writeInt32BE(n),c.write(e),o.send(c.buffer).then(function(){a.sendNext(o)})}},getNextId:{value:function(){return this.nextid<2147483647?++this.nextid:this.nextid=0}},sendAndReceive:{value:function(e,t,r){var n=this.fetch(),i=this.getNextId();if(n)this.send(e,t,i,r,n);else if(this.size0;){var t=e.pop();if(t.connected)return t.clearTimeout(),t.ref(),t}return null}},recycle:{value:function(e){this.pool.lastIndexOf(e)<0&&(e.unref(),e.setTimeout(this.client.poolTimeout,function(){e.destroy()}),this.pool.push(e))}},clean:{value:function(e){e.onreceive=n,e.onerror=n,e.timeoutId!==r&&(t.clearTimeout(e.timeoutId),delete e.timeoutId)}},sendNext:{value:function(e){if(this.requests.length>0){var t=this.requests.pop();t.push(e),this.send.apply(this,t)}else this.recycle(e)}},send:{value:function(e,r,n,o){var a=this,u=n.timeout;u>0&&(o.timeoutId=t.setTimeout(function(){a.clean(o),o.destroy(),r.reject(new y("timeout"))},u)),i(o,function(e){a.clean(o),a.sendNext(o),r.resolve(e)}),o.onerror=function(e){a.clean(o),r.reject(e)};var s=e.length,c=new p(4+s);c.writeInt32BE(s),c.write(e),o.send(c.buffer)}},sendAndReceive:{value:function(e,t,r){var n=this.fetch();if(n)this.send(e,t,r,n);else if(this.size1?JSON.stringify(t):JSON.stringify(t[0])},e.JSONRPCClientFilter=t}(hprose),function(e){"use strict";e.common={Completer:e.Completer,Future:e.Future,ResultMode:e.ResultMode},e.io={BytesIO:e.BytesIO,ClassManager:e.ClassManager,Tags:e.Tags,RawReader:e.RawReader,Reader:e.Reader,Writer:e.Writer,Formatter:e.Formatter},e.client={Client:e.Client,HttpClient:e.HttpClient,TcpClient:e.TcpClient,WebSocketClient:e.WebSocketClient},e.filter={JSONRPCClientFilter:e.JSONRPCClientFilter},"function"==typeof define&&(define.cmd?define("hprose",[],e):define.amd&&define("hprose",[],function(){return e})),"object"==typeof module&&(module.exports=e)}(hprose),!function(e){"use strict";function t(e,t,r,i){var o=t&&t.prototype instanceof n?t:n,a=Object.create(o.prototype),u=new h(i||[]);return a._invoke=c(e,r,u),a}function r(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}function n(){}function i(){}function o(){}function a(e){["next","throw","return"].forEach(function(t){e[t]=function(e){return this._invoke(t,e)}})}function u(e){this.arg=e}function s(e){function t(n,i,o,a){var s=r(e[n],e,i);if("throw"!==s.type){var c=s.arg,f=c.value;return f instanceof u?Promise.resolve(f.arg).then(function(e){t("next",e,o,a)},function(e){t("throw",e,o,a)}):Promise.resolve(f).then(function(e){c.value=e,o(c)},a)}a(s.arg)}function n(e,r){function n(){return new Promise(function(n,i){t(e,r,n,i)})}return i=i?i.then(n,n):n()}"object"==typeof process&&process.domain&&(t=process.domain.bind(t));var i;this._invoke=n}function c(e,t,n){var i=_;return function(o,a){if(i===O)throw new Error("Generator is already running");if(i===S){if("throw"===o)throw a;return p()}for(;;){var u=n.delegate;if(u){if("return"===o||"throw"===o&&u.iterator[o]===g){n.delegate=null;var s=u.iterator.return;if(s){var c=r(s,u.iterator,a);if("throw"===c.type){o="throw",a=c.arg;continue}}if("return"===o)continue}var c=r(u.iterator[o],u.iterator,a);if("throw"===c.type){n.delegate=null,o="throw",a=c.arg;continue}o="next",a=g;var f=c.arg;if(!f.done)return i=j,f;n[u.resultName]=f.value,n.next=u.nextLoc,n.delegate=null}if("next"===o)n.sent=n._sent=a;else if("throw"===o){if(i===_)throw i=S,a;n.dispatchException(a)&&(o="next",a=g)}else"return"===o&&n.abrupt("return",a);i=O;var c=r(e,t,n);if("normal"===c.type){i=n.done?S:j;var f={value:c.arg,done:n.done};if(c.arg!==E)return f;n.delegate&&"next"===o&&(a=g)}else"throw"===c.type&&(i=S,o="throw",a=c.arg)}}}function f(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function l(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function h(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(f,this),this.reset(!0)}function v(e){if(e){var t=e[w];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,n=function t(){for(;++r=0;--n){var i=this.tryEntries[n],o=i.completion;if("root"===i.tryLoc)return t("end");if(i.tryLoc<=this.prev){var a=y.call(i,"catchLoc"),u=y.call(i,"finallyLoc");if(a&&u){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&y.call(n,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),l(r),E}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var i=n.arg;l(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:v(e),resultName:t,nextLoc:r},E}}}("object"==typeof global?global:"object"==typeof window?window:"object"==typeof self?self:this); \ No newline at end of file diff --git a/dist/hprose-html5.min.js b/dist/hprose-html5.min.js index 9f0f809..e8823df 100644 --- a/dist/hprose-html5.min.js +++ b/dist/hprose-html5.min.js @@ -1 +1 @@ -eval(function(n){"use strict";function r(n){var r=[];return r[n-1]=void 0,r}function u(n,r){return f(n[0]+r[0],n[1]+r[1])}function t(n,r){var u,t;return n[0]==r[0]&&n[1]==r[1]?0:(u=0>n[1],t=0>r[1],u&&!t?-1:!u&&t?1:a(n,r)[1]<0?-1:1)}function f(n,r){var u,t;for(r%=0x10000000000000000,n%=0x10000000000000000,u=r%un,t=Math.floor(n/un)*un,r=r-u+t,n=n-t+u;0>n;)n+=un,r-=un;for(;n>4294967295;)n-=un,r+=un;for(r%=0x10000000000000000;r>0x7fffffff00000000;)r-=0x10000000000000000;for(;-0x8000000000000000>r;)r+=0x10000000000000000;return[n,r]}function i(n){return n>=0?[n,0]:[n+un,-un]}function c(n){return n[0]>=2147483648?~~Math.max(Math.min(n[0]-un,2147483647),-2147483648):~~Math.max(Math.min(n[0],2147483647),-2147483648)}function a(n,r){return f(n[0]-r[0],n[1]-r[1])}function o(n,r){return n.ab=r,n.cb=0,n.O=r.length,n}function e(n){return n.cb>=n.O?-1:255&n.ab[n.cb++]}function v(n){return n.ab=r(32),n.O=0,n}function s(n){var r=n.ab;return r.length=n.O,r}function g(n,r,u,t){l(r,u,n.ab,n.O,t),n.O+=t}function l(n,r,u,t,f){for(var i=0;f>i;++i)u[t+i]=n[r+i]}function C(n,r,u){var t,f,c,a,o="",v=[];for(f=0;5>f;++f){if(c=e(r),-1==c)throw Error("truncated input");v[f]=c<<24>>24}if(t=F({}),!V(t,v))throw Error("corrupted input");for(f=0;64>f;f+=8){if(c=e(r),-1==c)throw Error("truncated input");c=c.toString(16),1==c.length&&(c="0"+c),o=c+""+o}/^0+$|^f+$/i.test(o)?n.M=tn:(a=parseInt(o,16),n.M=a>4294967295?tn:i(a)),n.S=M(t,r,u,n.M)}function z(n,r){return n.Y=v({}),C(n,o({},r),n.Y),n}function p(n,r,u){var t=n.y-r-1;for(0>t&&(t+=n.c);0!=u;--u)t>=n.c&&(t=0),n.x[n.y++]=n.x[t++],n.y>=n.c&&N(n)}function x(n,u){(null==n.x||n.c!=u)&&(n.x=r(u)),n.c=u,n.y=0,n.w=0}function N(n){var r=n.y-n.w;r&&(g(n.T,n.x,n.w,r),n.y>=n.c&&(n.y=0),n.w=n.y)}function d(n,r){var u=n.y-r-1;return 0>u&&(u+=n.c),n.x[u]}function J(n,r){n.x[n.y++]=r,n.y>=n.c&&N(n)}function L(n){N(n),n.T=null}function j(n){return n-=2,4>n?n:3}function B(n){return 4>n?0:10>n?n-3:n-6}function b(n,r){return n.h=r,n.bb=null,n.V=1,n}function k(n){if(!n.V)throw Error("bad state");if(n.bb)throw Error("No encoding");return h(n),n.V}function h(n){var r=U(n.h);if(-1==r)throw Error("corrupted input");n.$=tn,n.Z=n.h.d,(r||t(n.h.U,fn)>=0&&t(n.h.d,n.h.U)>=0)&&(N(n.h.b),L(n.h.b),n.h.a.K=null,n.V=0)}function M(n,r,u,t){return n.a.K=r,L(n.b),n.b.T=u,A(n),n.f=0,n.l=0,n.Q=0,n.R=0,n._=0,n.U=t,n.d=fn,n.G=0,b({},n)}function U(n){var r,f,a,o,e,v;if(v=c(n.d)&n.P,Q(n.a,n.t,(n.f<<4)+v)){if(Q(n.a,n.E,n.f))a=0,Q(n.a,n.r,n.f)?(Q(n.a,n.u,n.f)?(Q(n.a,n.s,n.f)?(f=n._,n._=n.R):f=n.R,n.R=n.Q):f=n.Q,n.Q=n.l,n.l=f):Q(n.a,n.o,(n.f<<4)+v)||(n.f=7>n.f?9:11,a=1),a||(a=q(n.n,n.a,v)+2,n.f=7>n.f?8:11);else if(n._=n.R,n.R=n.Q,n.Q=n.l,a=2+q(n.D,n.a,v),n.f=7>n.f?7:10,e=S(n.k[j(a)],n.a),e>=4){if(o=(e>>1)-1,n.l=(2|1&e)<e)n.l+=X(n.J,n.l-e-1,n.a,o);else if(n.l+=T(n.a,o-4)<<4,n.l+=Y(n.q,n.a),0>n.l)return-1==n.l?1:-1}else n.l=e;if(t(i(n.l),n.d)>=0||n.l>=n.m)return-1;p(n.b,n.l,a),n.d=u(n.d,i(a)),n.G=d(n.b,0)}else r=D(n.j,c(n.d),n.G),n.G=7>n.f?E(r,n.a):R(r,n.a,d(n.b,n.l)),J(n.b,n.G),n.f=B(n.f),n.d=u(n.d,cn);return 0}function F(n){n.b={},n.a={},n.t=r(192),n.E=r(12),n.r=r(12),n.u=r(12),n.s=r(12),n.o=r(192),n.k=r(4),n.J=r(114),n.q=H({},4),n.D=m({}),n.n=m({}),n.j={};for(var u=0;4>u;++u)n.k[u]=H({},6);return n}function A(n){n.b.w=0,n.b.y=0,I(n.t),I(n.o),I(n.E),I(n.r),I(n.u),I(n.s),I(n.J),Z(n.j);for(var r=0;4>r;++r)I(n.k[r].z);w(n.D),w(n.n),I(n.q.z),K(n.a)}function V(n,r){var u,t,f,i,c,a,o;if(5>r.length)return 0;for(o=255&r[0],f=o%9,a=~~(o/9),i=a%5,c=~~(a/5),u=0,t=0;4>t;++t)u+=(255&r[1+t])<<8*t;return u>99999999||!W(n,f,i,c)?0:G(n,u)}function G(n,r){return 0>r?0:(n.A!=r&&(n.A=r,n.m=Math.max(n.A,1),x(n.b,Math.max(n.m,4096))),1)}function W(n,r,u,t){if(r>8||u>4||t>4)return 0;P(n.j,u,r);var f=1<n.e;++n.e)n.I[n.e]=H({},3),n.H[n.e]=H({},3)}function q(n,r,u){if(!Q(r,n.N,0))return S(n.I[u],r);var t=8;return t+=Q(r,n.N,1)?8+S(n.L,r):S(n.H[u],r)}function m(n){return n.N=r(2),n.I=r(16),n.H=r(16),n.L=H({},8),n.e=0,n}function w(n){I(n.N);for(var r=0;n.e>r;++r)I(n.I[r].z),I(n.H[r].z);I(n.L.z)}function P(n,u,t){var f,i;if(null==n.F||n.g!=t||n.B!=u)for(n.B=u,n.X=(1<f;++f)n.F[f]=y({})}function D(n,r,u){return n.F[((r&n.X)<>>8-n.g)]}function Z(n){var r,u;for(u=1<r;++r)I(n.F[r].v)}function E(n,r){var u=1;do u=u<<1|Q(r,n.v,u);while(256>u);return u<<24>>24}function R(n,r,u){var t,f,i=1;do if(f=u>>7&1,u<<=1,t=Q(r,n.v,(1+f<<8)+i),i=i<<1|t,f!=t){for(;256>i;)i=i<<1|Q(r,n.v,i);break}while(256>i);return i<<24>>24}function y(n){return n.v=r(768),n}function H(n,u){return n.C=u,n.z=r(1<t;++t)u=Q(r,n.z,f),f<<=1,f+=u,i|=u<i;++i)f=Q(u,n,r+c),c<<=1,c+=f,a|=f<>>11)*f,(-2147483648^t)>(-2147483648^n.p)?(n.i=t,r[u]=f+(2048-f>>>5)<<16>>16,-16777216&n.i||(n.p=n.p<<8|e(n.K),n.i<<=8),0):(n.i-=t,n.p-=t,r[u]=f-(f>>>5)<<16>>16,-16777216&n.i||(n.p=n.p<<8|e(n.K),n.i<<=8),1)}function T(n,r){var u,t,f=0;for(u=r;0!=u;--u)n.i>>>=1,t=n.p-n.i>>>31,n.p-=n.i&t-1,f=f<<1|1-t,-16777216&n.i||(n.p=n.p<<8|e(n.K),n.i<<=8);return f}function K(n){n.p=0,n.i=-1;for(var r=0;5>r;++r)n.p=n.p<<8|e(n.K)}function I(n){for(var r=n.length-1;r>=0;--r)n[r]=1024}function _(n){for(var r,u,t,f=0,i=0,c=n.length,a=[],o=[];c>f;++f,++i){if(r=255&n[f],128&r)if(192==(224&r)){if(f+1>=n.length)return n;if(u=255&n[++f],128!=(192&u))return n;o[i]=(31&r)<<6|63&u}else{if(224!=(240&r))return n;if(f+2>=n.length)return n;if(u=255&n[++f],128!=(192&u))return n;if(t=255&n[++f],128!=(192&t))return n;o[i]=(15&r)<<12|(63&u)<<6|63&t}else{if(!r)return n;o[i]=r}65535==i&&(a.push(String.fromCharCode.apply(String,o)),i=-1)}return i>0&&(o.length=i,a.push(String.fromCharCode.apply(String,o))),a.join("")}function $(n){return n>64&&91>n?n-65:n>96&&123>n?n-71:n>47&&58>n?n+4:43===n?62:47===n?63:0}function nn(r){for(var u,t,f=r.length,i=3*f+1>>>2,c=new Array(i),a=0,o=0,e=0;f>e;e++)if(t=3&e,a|=$(r.charCodeAt(e))<<18-6*t,3===t||f-e===1){for(u=0;3>u&&i>o;u++,o++)c[o]=a>>>(16>>>u&24)&255;a=0}return c}function rn(n){n=nn(n);var r={};for(r.d=z({},n);k(r.d.S););return _(s(r.d.Y))}var un=4294967296,tn=[4294967295,-un],fn=[0,0],cn=[1,0];return rn}(this)("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")); \ No newline at end of file +eval(function(n){"use strict";function r(n){var r=[];return r[n-1]=void 0,r}function u(n,r){return f(n[0]+r[0],n[1]+r[1])}function t(n,r){var u,t;return n[0]==r[0]&&n[1]==r[1]?0:(u=0>n[1],t=0>r[1],u&&!t?-1:!u&&t?1:a(n,r)[1]<0?-1:1)}function f(n,r){var u,t;for(r%=0x10000000000000000,n%=0x10000000000000000,u=r%un,t=Math.floor(n/un)*un,r=r-u+t,n=n-t+u;0>n;)n+=un,r-=un;for(;n>4294967295;)n-=un,r+=un;for(r%=0x10000000000000000;r>0x7fffffff00000000;)r-=0x10000000000000000;for(;-0x8000000000000000>r;)r+=0x10000000000000000;return[n,r]}function i(n){return n>=0?[n,0]:[n+un,-un]}function c(n){return n[0]>=2147483648?~~Math.max(Math.min(n[0]-un,2147483647),-2147483648):~~Math.max(Math.min(n[0],2147483647),-2147483648)}function a(n,r){return f(n[0]-r[0],n[1]-r[1])}function o(n,r){return n.ab=r,n.cb=0,n.O=r.length,n}function e(n){return n.cb>=n.O?-1:255&n.ab[n.cb++]}function v(n){return n.ab=r(32),n.O=0,n}function s(n){var r=n.ab;return r.length=n.O,r}function g(n,r,u,t){l(r,u,n.ab,n.O,t),n.O+=t}function l(n,r,u,t,f){for(var i=0;f>i;++i)u[t+i]=n[r+i]}function C(n,r,u){var t,f,c,a,o="",v=[];for(f=0;5>f;++f){if(c=e(r),-1==c)throw Error("truncated input");v[f]=c<<24>>24}if(t=F({}),!V(t,v))throw Error("corrupted input");for(f=0;64>f;f+=8){if(c=e(r),-1==c)throw Error("truncated input");c=c.toString(16),1==c.length&&(c="0"+c),o=c+""+o}/^0+$|^f+$/i.test(o)?n.M=tn:(a=parseInt(o,16),n.M=a>4294967295?tn:i(a)),n.S=M(t,r,u,n.M)}function z(n,r){return n.Y=v({}),C(n,o({},r),n.Y),n}function p(n,r,u){var t=n.y-r-1;for(0>t&&(t+=n.c);0!=u;--u)t>=n.c&&(t=0),n.x[n.y++]=n.x[t++],n.y>=n.c&&N(n)}function x(n,u){(null==n.x||n.c!=u)&&(n.x=r(u)),n.c=u,n.y=0,n.w=0}function N(n){var r=n.y-n.w;r&&(g(n.T,n.x,n.w,r),n.y>=n.c&&(n.y=0),n.w=n.y)}function d(n,r){var u=n.y-r-1;return 0>u&&(u+=n.c),n.x[u]}function J(n,r){n.x[n.y++]=r,n.y>=n.c&&N(n)}function L(n){N(n),n.T=null}function j(n){return n-=2,4>n?n:3}function B(n){return 4>n?0:10>n?n-3:n-6}function b(n,r){return n.h=r,n.bb=null,n.V=1,n}function k(n){if(!n.V)throw Error("bad state");if(n.bb)throw Error("No encoding");return h(n),n.V}function h(n){var r=U(n.h);if(-1==r)throw Error("corrupted input");n.$=tn,n.Z=n.h.d,(r||t(n.h.U,fn)>=0&&t(n.h.d,n.h.U)>=0)&&(N(n.h.b),L(n.h.b),n.h.a.K=null,n.V=0)}function M(n,r,u,t){return n.a.K=r,L(n.b),n.b.T=u,A(n),n.f=0,n.l=0,n.Q=0,n.R=0,n._=0,n.U=t,n.d=fn,n.G=0,b({},n)}function U(n){var r,f,a,o,e,v;if(v=c(n.d)&n.P,Q(n.a,n.t,(n.f<<4)+v)){if(Q(n.a,n.E,n.f))a=0,Q(n.a,n.r,n.f)?(Q(n.a,n.u,n.f)?(Q(n.a,n.s,n.f)?(f=n._,n._=n.R):f=n.R,n.R=n.Q):f=n.Q,n.Q=n.l,n.l=f):Q(n.a,n.o,(n.f<<4)+v)||(n.f=7>n.f?9:11,a=1),a||(a=q(n.n,n.a,v)+2,n.f=7>n.f?8:11);else if(n._=n.R,n.R=n.Q,n.Q=n.l,a=2+q(n.D,n.a,v),n.f=7>n.f?7:10,e=S(n.k[j(a)],n.a),e>=4){if(o=(e>>1)-1,n.l=(2|1&e)<e)n.l+=X(n.J,n.l-e-1,n.a,o);else if(n.l+=T(n.a,o-4)<<4,n.l+=Y(n.q,n.a),0>n.l)return-1==n.l?1:-1}else n.l=e;if(t(i(n.l),n.d)>=0||n.l>=n.m)return-1;p(n.b,n.l,a),n.d=u(n.d,i(a)),n.G=d(n.b,0)}else r=D(n.j,c(n.d),n.G),n.G=7>n.f?E(r,n.a):R(r,n.a,d(n.b,n.l)),J(n.b,n.G),n.f=B(n.f),n.d=u(n.d,cn);return 0}function F(n){n.b={},n.a={},n.t=r(192),n.E=r(12),n.r=r(12),n.u=r(12),n.s=r(12),n.o=r(192),n.k=r(4),n.J=r(114),n.q=H({},4),n.D=m({}),n.n=m({}),n.j={};for(var u=0;4>u;++u)n.k[u]=H({},6);return n}function A(n){n.b.w=0,n.b.y=0,I(n.t),I(n.o),I(n.E),I(n.r),I(n.u),I(n.s),I(n.J),Z(n.j);for(var r=0;4>r;++r)I(n.k[r].z);w(n.D),w(n.n),I(n.q.z),K(n.a)}function V(n,r){var u,t,f,i,c,a,o;if(5>r.length)return 0;for(o=255&r[0],f=o%9,a=~~(o/9),i=a%5,c=~~(a/5),u=0,t=0;4>t;++t)u+=(255&r[1+t])<<8*t;return u>99999999||!W(n,f,i,c)?0:G(n,u)}function G(n,r){return 0>r?0:(n.A!=r&&(n.A=r,n.m=Math.max(n.A,1),x(n.b,Math.max(n.m,4096))),1)}function W(n,r,u,t){if(r>8||u>4||t>4)return 0;P(n.j,u,r);var f=1<n.e;++n.e)n.I[n.e]=H({},3),n.H[n.e]=H({},3)}function q(n,r,u){if(!Q(r,n.N,0))return S(n.I[u],r);var t=8;return t+=Q(r,n.N,1)?8+S(n.L,r):S(n.H[u],r)}function m(n){return n.N=r(2),n.I=r(16),n.H=r(16),n.L=H({},8),n.e=0,n}function w(n){I(n.N);for(var r=0;n.e>r;++r)I(n.I[r].z),I(n.H[r].z);I(n.L.z)}function P(n,u,t){var f,i;if(null==n.F||n.g!=t||n.B!=u)for(n.B=u,n.X=(1<f;++f)n.F[f]=y({})}function D(n,r,u){return n.F[((r&n.X)<>>8-n.g)]}function Z(n){var r,u;for(u=1<r;++r)I(n.F[r].v)}function E(n,r){var u=1;do u=u<<1|Q(r,n.v,u);while(256>u);return u<<24>>24}function R(n,r,u){var t,f,i=1;do if(f=u>>7&1,u<<=1,t=Q(r,n.v,(1+f<<8)+i),i=i<<1|t,f!=t){for(;256>i;)i=i<<1|Q(r,n.v,i);break}while(256>i);return i<<24>>24}function y(n){return n.v=r(768),n}function H(n,u){return n.C=u,n.z=r(1<t;++t)u=Q(r,n.z,f),f<<=1,f+=u,i|=u<i;++i)f=Q(u,n,r+c),c<<=1,c+=f,a|=f<>>11)*f,(-2147483648^t)>(-2147483648^n.p)?(n.i=t,r[u]=f+(2048-f>>>5)<<16>>16,-16777216&n.i||(n.p=n.p<<8|e(n.K),n.i<<=8),0):(n.i-=t,n.p-=t,r[u]=f-(f>>>5)<<16>>16,-16777216&n.i||(n.p=n.p<<8|e(n.K),n.i<<=8),1)}function T(n,r){var u,t,f=0;for(u=r;0!=u;--u)n.i>>>=1,t=n.p-n.i>>>31,n.p-=n.i&t-1,f=f<<1|1-t,-16777216&n.i||(n.p=n.p<<8|e(n.K),n.i<<=8);return f}function K(n){n.p=0,n.i=-1;for(var r=0;5>r;++r)n.p=n.p<<8|e(n.K)}function I(n){for(var r=n.length-1;r>=0;--r)n[r]=1024}function _(n){for(var r,u,t,f=0,i=0,c=n.length,a=[],o=[];c>f;++f,++i){if(r=255&n[f],128&r)if(192==(224&r)){if(f+1>=n.length)return n;if(u=255&n[++f],128!=(192&u))return n;o[i]=(31&r)<<6|63&u}else{if(224!=(240&r))return n;if(f+2>=n.length)return n;if(u=255&n[++f],128!=(192&u))return n;if(t=255&n[++f],128!=(192&t))return n;o[i]=(15&r)<<12|(63&u)<<6|63&t}else{if(!r)return n;o[i]=r}65535==i&&(a.push(String.fromCharCode.apply(String,o)),i=-1)}return i>0&&(o.length=i,a.push(String.fromCharCode.apply(String,o))),a.join("")}function $(n){return n>64&&91>n?n-65:n>96&&123>n?n-71:n>47&&58>n?n+4:43===n?62:47===n?63:0}function nn(r){for(var u,t,f=r.length,i=3*f+1>>>2,c=new Array(i),a=0,o=0,e=0;f>e;e++)if(t=3&e,a|=$(r.charCodeAt(e))<<18-6*t,3===t||f-e===1){for(u=0;3>u&&i>o;u++,o++)c[o]=a>>>(16>>>u&24)&255;a=0}return c}function rn(n){n=nn(n);var r={};for(r.d=z({},n);k(r.d.S););return _(s(r.d.Y))}var un=4294967296,tn=[4294967295,-un],fn=[0,0],cn=[1,0];return rn}(this)("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")); \ No newline at end of file diff --git a/dist/hprose-html5.src.js b/dist/hprose-html5.src.js index fde8087..af26da4 100644 --- a/dist/hprose-html5.src.js +++ b/dist/hprose-html5.src.js @@ -1,4 +1,4 @@ -// Hprose for HTML5 v2.0.27 +// Hprose for HTML5 v2.0.28 // Copyright (c) 2008-2016 http://hprose.com // Hprose is freely distributable under the MIT license. // For all details and documentation: @@ -1309,27 +1309,36 @@ hprose.global = ( return isGenerator(constructor.prototype); } + function getThunkCallback(future) { + return function(err, res) { + if (err instanceof Error) { + return future.reject(err); + } + if (arguments.length < 2) { + return future.resolve(err); + } + if (err === null || err === undefined) { + res = Array.slice(arguments, 1); + } + else { + res = Array.slice(arguments, 0); + } + if (res.length == 1) { + future.resolve(res[0]); + } + else { + future.resolve(res); + } + }; + } + function thunkToPromise(fn) { if (isGeneratorFunction(fn) || isGenerator(fn)) { return co(fn); } var thisArg = (function() { return this; })(); var future = new Future(); - fn.call(thisArg, function(err, res) { - if (arguments.length < 2) { - if (err instanceof Error) { - return future.reject(err); - } - return future.resolve(err); - } - if (err) { - return future.reject(err); - } - if (arguments.length > 2) { - res = Array.slice(arguments, 1); - } - future.resolve(res); - }); + fn.call(thisArg, getThunkCallback(future)); return future; } @@ -1359,29 +1368,15 @@ hprose.global = ( function promisify(fn) { return function() { var args = Array.slice(arguments, 0); - var results = new Future(); - args.push(function(err, res) { - if (arguments.length < 2) { - if (err instanceof Error) { - return results.reject(err); - } - return results.resolve(err); - } - if (err) { - return results.reject(err); - } - if (arguments.length > 2) { - res = Array.slice(arguments, 1); - } - results.resolve(res); - }); + var future = new Future(); + args.push(getThunkCallback(future)); try { fn.apply(this, args); } catch (err) { - results.reject(err); + future.reject(err); } - return results; + return future; }; } diff --git a/package.json b/package.json index f17a401..ea7ce9c 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "hprose-html5", "filename": "hprose-html5.js", - "version": "2.0.27", + "version": "2.0.28", "description": "Hprose is a High Performance Remote Object Service Engine.", "homepage": "https://github.com/andot/hprose", "keywords": [ diff --git a/src/CopyRight.js b/src/CopyRight.js index 7a99400..7b5b395 100644 --- a/src/CopyRight.js +++ b/src/CopyRight.js @@ -1,4 +1,4 @@ -// Hprose for HTML5 v2.0.27 +// Hprose for HTML5 v2.0.28 // Copyright (c) 2008-2016 http://hprose.com // Hprose is freely distributable under the MIT license. // For all details and documentation: diff --git a/src/Future.js b/src/Future.js index fe1ae74..8b5754d 100644 --- a/src/Future.js +++ b/src/Future.js @@ -224,27 +224,36 @@ return isGenerator(constructor.prototype); } + function getThunkCallback(future) { + return function(err, res) { + if (err instanceof Error) { + return future.reject(err); + } + if (arguments.length < 2) { + return future.resolve(err); + } + if (err === null || err === undefined) { + res = Array.slice(arguments, 1); + } + else { + res = Array.slice(arguments, 0); + } + if (res.length == 1) { + future.resolve(res[0]); + } + else { + future.resolve(res); + } + }; + } + function thunkToPromise(fn) { if (isGeneratorFunction(fn) || isGenerator(fn)) { return co(fn); } var thisArg = (function() { return this; })(); var future = new Future(); - fn.call(thisArg, function(err, res) { - if (arguments.length < 2) { - if (err instanceof Error) { - return future.reject(err); - } - return future.resolve(err); - } - if (err) { - return future.reject(err); - } - if (arguments.length > 2) { - res = Array.slice(arguments, 1); - } - future.resolve(res); - }); + fn.call(thisArg, getThunkCallback(future)); return future; } @@ -274,29 +283,15 @@ function promisify(fn) { return function() { var args = Array.slice(arguments, 0); - var results = new Future(); - args.push(function(err, res) { - if (arguments.length < 2) { - if (err instanceof Error) { - return results.reject(err); - } - return results.resolve(err); - } - if (err) { - return results.reject(err); - } - if (arguments.length > 2) { - res = Array.slice(arguments, 1); - } - results.resolve(res); - }); + var future = new Future(); + args.push(getThunkCallback(future)); try { fn.apply(this, args); } catch (err) { - results.reject(err); + future.reject(err); } - return results; + return future; }; }